Руководство к использованию стандарта FHIR в ЦИСЗ
0.2.6803 - ci-build

Поиск заданного типа медицинской информации о пациенте

Метод предназначен для поиска заданного типа медицинской информации о пациенте в ЦИСЗ.

Поиск ресурсов всегда осуществляется в контексте пациента.

Программные интерфейсы ЦИСЗ защищены сервером авторизации с использованием технологии OAuth 2.0 (см. вкладку “Авторизация в ЦИСЗ”). При каждом вызове метода клиентское приложение (МИС) должно передавать токен доступа (токен медицинского работника) в заголовке запроса.

Вызов метода для поиска ресурсов пациента осуществляется с помощью HTTP GET команды:

GET [FHIR_BASE]/Patient/[PatientID]/[ResourceType]?[queryParameters]

Примечание: Для корректной работы необходимо указать как минимум два поисковых параметра, один из которых должен быть _profile.

Входные данные метода:

Название Тип Описание
queryParameters Параметры поиска Для ознакомления с поддерживаемыми поисковыми параметрами необходимо обратиться к списку поддерживаемых профилей ресурсов
patientId ID Пациента Идентификатор пациента
ResourceType Код Тип ресурса, который должен быть включён в ответ

Выходные данные метода:

Название Профиль Описание
Bundle Bundle В случае успешного нахождения ресурса возвращается ответ типа Bundle, содержащий список ресурсов, удовлетворяющих условиям поиска. В случае, если ресурс не был найден, список будет пустой

Метод возвращает:

  • HTTP статус 200 ОК;

  • HTTP статус серии 4xx или 5xx: операция поиска не выполнена. К сбою операции могут привести ошибки в контенте (например, неверный набор символов, неверный JSON и т. д.).

При поиске ресурсов найденные данные возвращаются постранично. По умолчанию одна страница содержит 10 записей. Для получения следующей страницы необходимо выполнить запрос, который указан в списке link с ключом relation со значением next.

Пример запроса на поиск ресурсов пациента по идентификатору:

GET [FHIR_BASE]/Patient/c80c1777-27ed-11ef-b9e5-0b8748c6aeb4/Observation?_id=y50c1777-27ed-11ef-b9e5-0b8748c6irh2

Пример ответа на запрос поиска ресурсов пациента по идентификатору:

{ "resourceType": "Observation", "id": "y50c1777-27ed-11ef-b9e5-0b8748c6irh2", "meta": { "profile": [ "https://fhir.by/StructureDefinition/AnthropometricDataBy" ] }, "status": "registered", "category": [ { "coding": [ { "code": "exam", "userSelected": false } ] } ], "code": { "coding": [ { "system": "https://fhir.by/ValueSet/AnthropoMetricCodes", "code": "body-height" } ] }, "subject": { "reference": "Patient/PatientBundleForTest" }, "encounter": { "reference": "Encounter/EncounterBundleForTest" }, "effectiveDateTime": "2024-04-07T11:12:21Z", "performer": [ { "reference": "PractitionerRole/ExampleTherapist" } ], "valueQuantity": { "value": 180, "unit": "cm", "system": "http://unitsofmeasure.org", "code": "cm" } }
▲ Вверх