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

Получение статуса обработки пакета данных

Метод предназначен для получения статуса импорта пакета данных в ЦИСЗ.

Метод проверяет текущий статус операции импорта пакета данных и возвращает результат c соответствующим текущим статусом.

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

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

GET [FHIR_BASE]/Bundle/<bundle_id>/$status

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

Название Профиль Описание
bundle_id Логический идентификатор пакета данных Получить bundle_id можно из ответа метода импорта пакета медицинских данных о пациенте или импорта пакета данных организации здравоохранения

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

Название Профиль Описание
Parameters Parameters В случае, если пакет с переданным bundle_id существует, то возвращается ответ типа Parameters
Outcome Operation Outcome В случае, если произошла ошибка, будет возвращён ответ типа OperationOutcome, содержащий описание ошибки:
- описание ошибки для разработчика МИС ОЗ – в элементе OperationOutcome.issue.details.text;
- описание ошибки для медицинского работника, взаимодействующего с ЦИСЗ посредством МИС ОЗ – в элементе OperationOutcome.issue.diagnostics

Ресурс Parameters состоит из параметров, представленных в таблице:

Название Тип Описание
ProcessingStatus valueString Статус обработки импорта пакета данных
OperationStatusReference valueReference Ссылка на статус операции, по которой можно получить статус обработки пакета данных
ResourceId valueString Идентификатор ресурса, по которому можно получить статус операции, проводящейся с данным ресурсом
ResourceType valueString Тип ресурса
StatusDescription Operation Outcome Описание ошибки при обработке пакета данных

Поле ProcessingStatus может принимать одно из пяти значений:

Название Описание
Pending Система получила и сохранила пакет данных, но этот пакет ещё не находится в обработке
InProgress Произошла декомпозиция пакета данных и каждая декомпозированная часть отправилась на обработку в соответствующий обработчик
Successed Все обработчики успешно завершили обработку данных
Failed Как минимум один обработчик завершил обработку с ошибкой. В таком случае обработка всего пакета отменяется
Cancelled Сохранение пакета данных было отменено

Метод всегда возвращает HTTP статус 200 OK.

Пример запроса на получение статуса добавления данных:

GET [FHIR_BASE]/Bundle/ee15eb60-19a7-11ef-b17d-011110d4d242/$status

Пример ответа в случае успешной проверки статуса добавления данных:

{ "resourceType": "Parameters", "parameter": [ { "name": "ProcessingStatus", "valueString": "Pending" }, { "name": "OperationStatusReference", "valueReference": { "reference": "http://staging.cisz.by/fhir/Patient/ee15eb60-19a7-11ef-b17d-011110d4d242/status" } }, { "name": "ResourceId", "valueString": "ee15eb60-19a7-11ef-b17d-01dasdsd1110d4d242" }, { "name": "ResourceType", "valueString": "Bundle" } ] }

Пример ответа в случае успешного сохранения и полной обработки всего пакета данных:

{ "resourceType": "Parameters", "parameter": [ { "name": "ProcessingStatus", "valueString": "Successed" }, { "name": "OperationStatusReference", "valueReference": { "reference": "http://staging.cisz.by/fhir/Patient/ee15eb60-19a7-11ef-b17d-011110d4d242/status" } }, { "name": "ResourceId", "valueString": "214ae4b3-1f1f-11ef-8fe6-232a0e90dedd" }, { "name": "ResourceType", "valueString": "Bundle" } ] }

Пример ответа в случае, если сохранение не удалось:

{ "resourceType": "Parameters", "parameter": [ { "name": "ProcessingStatus", "valueString": "Failed" }, { "name": "OperationStatusReference", "valueReference": { "reference": "http://staging.cisz.by/fhir/Patient/4a151eea-1695-11ef-a35c-d3933a132af2/status" } }, { "name": "ResourceId", "valueString": "4a151eea-1695-11ef-a35c-d3933a132af2" }, { "name": "ResourceType", "valueString": "Bundle" }, { "name": "StatusDescription", "resource": { "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "exception", "details": { "text": "В Procedure.basedOn должна быть указана ссылка на направление со статусом active." }, "diagnostics": "В процедуре указана ссылка на неактивное направление." } ] } } ] }
▲ Вверх