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

Создание, редактирование и удаление конечных точек организации

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

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

Организация может создавать/редактировать/удалять только ресурс Endpoint имеющие в элементе managingOrganization свой токен.

Статусы ресурсов Endpoint:

  • active – конечная точка является действующей;
  • off – конечная точка больше не используется.

Создание ресурса Endpoint

Последовательность действий для использования метода:

  1. Клиент формирует ресурс Endpoint на основе одного из профилей (EndpointServiceRequest, EndpointSlots, EndpointHealthCheck) со статусом active;

  2. Клиент формирует ресурс Bundle профиля Пакет информации в контексте организации в котором размещает ранее созданный/ые ресурс/ы Endpoint с указанием в элементе Bundle.entry.request метода POST.

  3. Клиент вызывает метод импорта пакета данных организации здравоохранения в ЦИСЗ и в теле запроса передает сформированный ресурс Bundle, а в заголовках запроса устанавливается тип передаваемого контента (content-type) в application/json.

Подробное описание на странице метода импорта пакета данных организации здравоохранения.

Правила для ресурсов Endpoint:

  • Для организации может быть задан только один активный ресурс для одного профиля в Endpoint. Если клиент пытается отправить еще одни ресурс Endpoint, по профилю которого уже существует активный ресурс, вернется ошибка: “Невозможно создание еще одной конечной точки по профилю {Название_ресурса_по_профилю}. Для организации уже существует активный ресурс {Название_ресурса_по_профилю}. Перед созданием новой конечной точки отключите действующую или используйте редактирование действующего ресурса.”
  • Не возможно отправить ресурс Endpoint со статусом status = off и методом Bundle.entry.request = POST.

Пример запроса на создание Endpoint организации в ЦИСЗ:

{ "resourceType": "Bundle", "id": "BundleSchedule", "meta": { "profile": [ "https://fhir.by/AbstractArea/StructureDefinition/Bundle/OrganizationBundle" ] }, "type": "transaction", "timestamp": "2024-08-01T11:12:21Z", "entry": [{ "fullUrl" : "Endpoint/ExampleEndpointSlots", "resource" : { "resourceType": "Endpoint", "id": "ExampleEndpointSlots", "meta": { "profile": [ "https://fhir.by/StructureDefinition/EndpointSlots" ] }, "status": "active", "connectionType": [ { "coding": [ { "system": "https://fhir.by/ValueSet/EndpointConnectionTypeCode", "code": "hl7-fhir-rest" } ] } ], "managingOrganization": { "reference": "Organization/9ad86c36-0f29-428d-b476-c8603a7cdd1f" }, "address": "https://api/fhir/slot" }, "request": { "method": "POST", "url" : "https://Organization-by/endpoint-url" } }]}

Примеры ответов описаны на странице метод импорта пакета данных организации здравоохранения

Метод получения ресурса Endpoint

Описан на страницах профилей Endpoint.

Редактирование (изменение url) ресурса Endpoint

Последовательность действий для использования метода:

  1. Клиент получает ресурс Endpoint для свой организации;

  2. Клиент формирует ресурс Bundle профиля Пакет информации в контексте организации в котором размещает отредактированный/ые ресурс/ы Endpoint с указанием в элементе Bundle.entry.request метода PUT.

  3. Клиент вызывает метод импорта пакета данных организации здравоохранения в ЦИСЗ и в теле запроса передает сформированный ресурс Bundle, а в заголовках запроса устанавливается тип передаваемого контента (content-type) в application/json.

Правила редактирования для ресурсов Endpoint:

  • Возможно изменение значения в элементе url. Редактирование других элементов не допускается.

Пример запроса на редактирование Endpoint организации в ЦИСЗ:

{ "resourceType": "Bundle", "id": "BundleSchedule", "meta": { "profile": [ "https://fhir.by/AbstractArea/StructureDefinition/Bundle/OrganizationBundle" ] }, "type": "transaction", "timestamp": "2024-08-01T11:12:21Z", "entry": [{ "fullUrl" : "Endpoint/ExampleEndpointSlots", "resource" : { "resourceType": "Endpoint", "id": "ExampleEndpointSlots", "meta": { "profile": [ "https://fhir.by/StructureDefinition/EndpointSlots" ] }, "status": "active", "connectionType": [ { "coding": [ { "system": "https://fhir.by/ValueSet/EndpointConnectionTypeCode", "code": "hl7-fhir-rest" } ] } ], "managingOrganization": { "reference": "Organization/9ad86c36-0f29-428d-b476-c8603a7cdd1f" }, "address": "https://api/fhir/UPDATED_endpoint-url" }, "request": { "method": "PUT", "url" : "https://Organization-by/endpoint-url" } }]}

Удаление (отключение) ресурса Endpoint

Для удаления ресурсов Endpoint

Последовательность действий для использования метода:

  1. Клиент получает ресурс Endpoint для свой организации;

  2. Клиент формирует ресурс Bundle профиля Пакет информации в контексте организации в котором размещает отредактированный/ые ресурс/ы Endpoint с указанием в элементе Bundle.entry.request метода PUT и изменяет статус на off.

  3. Клиент вызывает метод импорта пакета данных организации здравоохранения в ЦИСЗ и в теле запроса передает сформированный ресурс Bundle, а в заголовках запроса устанавливается тип передаваемого контента (content-type) в application/json.

Правила удаления (отключения) для ресурсов Endpoint:

  • Возможно отключение любого активного ресурса Endpoint.

Пример запроса на удаление (отключение) Endpoint организации в ЦИСЗ:

{ "resourceType": "Bundle", "id": "BundleSchedule", "meta": { "profile": [ "https://fhir.by/AbstractArea/StructureDefinition/Bundle/OrganizationBundle" ] }, "type": "transaction", "timestamp": "2024-08-01T11:12:21Z", "entry": [{ "fullUrl" : "Endpoint/ExampleEndpointSlots", "resource" : { "resourceType": "Endpoint", "id": "ExampleEndpointSlots", "meta": { "profile": [ "https://fhir.by/StructureDefinition/EndpointSlots" ] }, "status": "off", "connectionType": [ { "coding": [ { "system": "https://fhir.by/ValueSet/EndpointConnectionTypeCode", "code": "hl7-fhir-rest" } ] } ], "managingOrganization": { "reference": "Organization/9ad86c36-0f29-428d-b476-c8603a7cdd1f" }, "address": "https://api/fhir/endpoint-url" }, "request": { "method": "PUT", "url" : "https://Organization-by/endpoint-url" } }]}

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

код HTTP OperationOutcome.issue.diagnostics Примечания
200 - Успешное создание, редактирование или отключение ресурса
400 Не возможно создание еще одной конечной точки по профилю {Название_ресурса_по_профилю}. Для организации уже существует активный ресурс с таким профилем. Перед созданием новой конечной точки отключите действующую или используйте редактирование действующего ресурса.  
400 Невозможно обновить поле managingOrganization. Изменение Organization_Id недопустимо  
▲ Вверх