Руководство к использованию стандарта FHIR в ЦИСЗ
0.2.6803 - ci-build
Метод предназначен для получения сводной информации о медицинских данных пациента из ЦИСЗ.
Получение медицинских данных всегда выполняется в контексте заданного пациента. Для успешного поиска необходимо указание периода, за который необходимо вернуть сводную информацию о пациенте. Параметры запроса start и end являются обязательными. Временной интервал, за который возможно получить сводную информацию, не должен превышать 3 месяца.
Отличие этой операции от поиска информации о пациенте и поиска заданного типа медицинской информации о пациенте состоит в том, что в запросе не нужно определять тип медицинской информации. Операция возвращает ссылки на все связанные с пациентом ресурсы, которые были добавлены в ЦИСЗ за указанный промежуток времени.
Программные интерфейсы ЦИСЗ защищены сервером авторизации с использованием технологии OAuth 2.0 (см. вкладку “Авторизация в ЦИСЗ”). При каждом вызове метода клиентское приложение (МИС) должно передавать токен доступа (токен медицинского работника) в заголовке запроса.
Вызов метода получения сводной информации о медицинских данных пациента выполняется с помощью HTTP GET команды:
GET [FHIR_BASE]/Patient/[patientId]/$everything?start=[startDate]&end=[endDate]&{_type=[resourceType]}]
Входные данные метода:
| Название | Тип | Описание |
|---|---|---|
| patientId | ID Пациента | Идентификатор пациента |
| startDate | Дата | Дата начала. Указание даты начала приведет к извлечению ресурсов, в которых клинически значимая дата находится после указанной даты начала |
| endDate | Дата | Дата окончания. Указание даты окончания приведет к извлечению ресурсов, в которых клинически значимая дата находится до указанной даты окончания |
| _type | Код | Тип ресурса, который должен быть включён в ответ. Например, _type=Encounter вернет только Encounter ресурсы, связанные с пациентом |
Выходные данные метода:
| Название | Профиль | Описание |
|---|---|---|
| Bundle | Bundle | В случае успешного нахождения ресурса возвращается ответ в виде Bundle типа searchset, содержащий список ресурсов, удовлетворяющих условиям поиска. В случае, если ресурс не был найден, список будет пустой |
Метод возвращает:
HTTP статус 200 ОК;
HTTP статус серии 4xx или 5xx: операция получения ресурса не выполнена.
К сбою операции могут привести ошибки в контенте (например, неверный набор символов, неверный JSON и т. д.).
При успешном выполнении запроса ответ будет содержать список, начинающийся с информации о пациенте. Также в списке будут указаны ссылки на связанные с пациентом ресурсы.
В полученном ответе так же будут указаны ссылки на электронные документы пациента (ЭД). Они будут представлены в отдельных списках (Lists), которые возможно отфильтровать по пути List.identifier.value.
Значение в value представлено url позволяющем выполнить запрос на получение электронного документа по его идентификатору - [FHIR_BASE]/Bundle?identifier=[document_id] (более подробно см. в операции получение ЭД).
Для каждого вида электронного документа по пути List.identifier.system будет представлен свой url соответствующий профилю, по которому этот документ был собран.
Например, для электронных листков нетрудоспособности, следует обратиться в List.identifier.system со значением https://fhir.by/AbstractArea/StructureDefinition/Bundle/BundleTD.
Если документов определенного вида у пациента не было за запрашиваемый период, то ответ системы на операцию не будет содержать ресурсов List для этого вида документов.
Подбор документов для ответа происходит по времени, когда документ был создан и импортирован в ЦИСЗ.
Пример запроса на получение сводной информации о медицинских данных пациента:
GET [FHIR_BASE]/Patient/pa-8c993aab-4ddb-11f0-a990-7bfa228de4df/$everything?start=2025-12-25&end=2026-02-26
Пример ответа на запрос получения сводной информации о медицинских данных пациента: