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

Сервис терминологии

Реестр Справочников предназначен для централизованного хранения медицинской нормативно-справочной информации, необходимой для функционирования ЦИСЗ.

Структурированная медицинская информация, которая передается из иных информационных систем (ресурсов) в здравоохранении и хранится в ЦИСЗ, должна соответствовать содержимому регистров, справочников и классификаторов модуля Сервиса терминологии.

Для взаимодействия с реестром справочников клиентам доступны следующие методы:

  • метод получения метаинформации справочника
  • метод поиска метаинформации справочника, по заданным параметрам
  • метод проверки наличия значения в справочнике($validate-code)
  • метод получения списка значений/атрибутов справочника($expand)

Все методы по взаимодействию с реестром справочников доступны клиентам без аутентификации

Способы взаимодействия МИС-ИЭМК-НСИ

Медицинский работник вносит в МИС набор медицинских данных о пациенте, включая сведения о медицинском наблюдении за пациентом и оказанных услугах. На основе данной информации МИС формирует пакет медицинских данных в виде ресурса Bundle.

После формирования пакета медицинских данных о пациенте выполняется его передача в ЦИСЗ с помощью метода импорта пакета медицинской информации о пациенте. Пакет медицинских данных о пациенте передается в подсистему интегрированной электронной медицинской карты пациента (ИЭМК), где выполняется валидация на соответствие профилям ЦИСЗ, включая проверку на соответствие переданных из МИС значений справочников подсистеме нормативно-справочной информации (НСИ).

При успешной валидации информация сохраняется в подсистеме ИЭМК и используется другими подсистемами ЦИСЗ.

Если в процессе валидации были обнаружены ошибки при проверке соответствия переданных из МИС значений справочников подсистеме НСИ, то пакет медицинской информации о пациенте отклоняется и передача информации из МИС в ЦИСЗ считается неуспешной.

img


Подсистема НСИ хранит эталонные и актуальные справочники, необходимые для функционирования всех подсистем ЦИСЗ.МИСы могут получать необходимую справочную информацию из подсистемы НСИ.

img

Синтаксис метода получения справочника

Получить описание справочника можно с помощью HTTP команды GET и может быть выполнено двумя способами:

• по идентификатору: GET [TERM_BASE]/ValueSet/<id>?_format=<format>

• по url-адресу справочника: GET [TERM_BASE]/ValueSet/<url>?_format=<format>

Метод возвращает один экземпляр ресурса.

При попытке доступа к несуществующему ресурсу будет возвращен HTTP статус код - 404 (Not Found).

Синтаксис метода поиска справочников

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

GET [TERM_BASE]/ValueSet/_search?{parameter}=[value]&...

Простой пример запроса поиска в RESTful с использованием HTTP GET команды:

GET [TERM_BASE]/ValueSet/_search?_format=[format]&identifier=value&...

Поддерживаемые параметры поиска ресурса

Параметр поиска Тип Описание Пример
_content content Модификатор поиска по совокупному текстовому содержимому ресурса (url, identifier, name, description, publisher). GET [TERM_BASE]/ValueSet/_search?_content=Тип документа, удостоверяющего личность
_count count Число элементов на странице. GET [TERM_BASE]/ValueSet/_search?_count=5&status=active
_format string Формат результата. json/xml (Обязательный). GET [TERM_BASE]/ValueSet/_search?_format=json
_id token Системный идентификатор ресурса. GET [TERM_BASE]/ValueSet/_search?_id=f9b65c9e-7358-473e-a07e-bdb68505cc78
_page number Номер страницы. GET [TERM_BASE]/ValueSet/_search?_page=5&_count=5&status=active
_text text Модификатор поиска по совокупному текстовому описательному содержимому ресурса (name, description, publisher). GET [TERM_BASE]/ValueSet/_search?_text=Тип документа, удостоверяющего личность
description string Описание ресурса. GET [TERM_BASE]/ValueSet/_search?description=testDict3
identifier token Публичный код ресурса. GET [TERM_BASE]/ValueSet/_search?identifier=VSTypeOfHealthCare
name string Наименование ресурса. GET [TERM_BASE]/ValueSet/_search?name=Виды медицинской помощи
publisher string Автор ресурса. GET [TERM_BASE]/ValueSet/_search?publisher=Министерство здравоохранения
status token Статус справочника. Возможные значения: draft – черновой, active – активный, retired – архивный. GET [TERM_BASE]/ValueSet/_search?status=active
url uri Uri-идентификатор ресурса. GET [TERM_BASE]/ValueSet/_search?url=urn:oid:VSTypeOfHealthCare
version string Версия ресурса. GET [TERM_BASE]/ValueSet/_search?version=1

Поиск по названию

Параметр поиска name определяется как параметр типа string.

Примеры поиска по name:

GET [TERM_BASE]/ValueSet/_search?name=Виды медицинской помощи&_format=json - возвращает справочник с названием Виды медицинской помощи

Поиск по автору ресурса

Параметр поиска publisher определяется как параметр типа string.

Примеры поиска по publisher:

GET [TERM_BASE]/ValueSet/_search?publisher=Министерство здравоохранения&_format=json - возвращает справочники, в которых автором указано «Министерство здравоохранения».

Поиск по статусу

Параметр поиска status определяется как параметр типа token.

Примеры поиска по status:

GET [TERM_BASE]/ValueSet/_search?status=active&_format=json - возвращает справочники со статусом active

Поиск по uri-идентификатор ресурса

Параметр поиска url определяется как параметр типа uri.

Примеры поиска по url:

GET [TERM_BASE]/ValueSet/_search?url=urn:oid:VSTypeOfHealthCare&_format=json - возвращает справочник с указанным URL

Поиск по публичному коду ресурса

Параметр поиска identifier определяется как параметр типа token.

Примеры поиска по identifier:

GET [TERM_BASE]/ValueSet/_search?identifier=VSTypeOfHealthCare&_format=json - возвращает справочник с указанным публичным кодом ресурса

Операция $validate-code

Операция $validate-code предназначена для проверки наличия значения в справочнике.

Операция возвращает результат (true/false), а также HTTP-code 200 (OK).

В случае, если переданное названия справочника (параметр system), отсутствует в системе, метод возвращает ресурс OperationOutcome описанием ошибки и HTTP-code 404 (NotFound).

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

POST [TERM_BASE]/ValueSet/$validate-code?_format=<format>

Входящие параметры метода:

Контейнер Параметр Тип Описание
Root      
/parameter   array Параметры запроса.
parameter system string Значение кодовой системы (url-адрес справочника).
parameter version string Номер версии справочника. Если номер версии не указан, то возвращаются значения из актуальной версии.
parameter code string Код значения в справочнике.

Исходящие параметры метода:

Контейнер Параметр Тип Описание
Root      
/parameter   array Параметры ответа.
parameter name string Наименование параметра (result).
parameter valueBoolean string Результат проверки (true / false).

Пример запроса на выполенние операции $validate-code:

{ "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "ConditionOutcomeCodes" }, { "name": "code", "valueString": "remission" }, { "name": "version", "valueString": "2" } ] }

Пример ответа в случае успешной валидации:

{ "parameter": [ { "name": "result", "valueBoolean": true } ], "resourceType": "Parameters" }

Пример ответа в случае неуспешной валидации:

{ "parameter": [ { "name": "result", "valueBoolean": false } ], "resourceType": "Parameters" }

Пример ответа в случае, если переданное названия справочника (параметр system), отсутствует в системе:

{ "issue": [ { "code": "not-found", "severity": "error", "diagnostics": "No resource was found" } ], "resourceType": "OperationOutcome" }

Операция $expand

Операция $expand предназначена для получения состава справочника.

Операция возвращает все значения справочника, а также HTTP-code 200 (OK).

В случае, если переданное названия справочника (параметр system), отсутствует в системе, метод возвращает ресурс OperationOutcome описанием ошибки и HTTP-code 404 (NotFound).

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

POST [TERM_BASE]/ValueSet/$expand?_format=<format>

Входящие параметры метода:

Контейнер Параметр Тип Описание
Root      
/parameter   array Параметры запроса.
parameter system string Значение кодовой системы (url-адрес справочника) .
parameter version string Номер версии справочника. Если номер версии не указан, то возвращаются значения из актуальной версии.
parameter date dateTime Дата в формате ГГГГ-ММ-ДД.
parameter filter string Будут возвращены только те записи справочника, которые в коде и/или наименовании записи (атрибуты code и display) содержат указанное значение.
parameter leafNodesOnly boolean Используется одновременно с параметром filter при поиске по справочнику StreetGeoRegistry. При значении true будут возвращены только записи, которые содержат в атрибуте full_name полный адрес, который включает указанное значение
parameter level integer Будут возвращены только те записи, которые соответствуют указанному иерархическому уровню справочника с иерархической структурой
parameter partOf string Будут возвращены только те записи из справочника с иерархической структурой, у которых код родительской записи соответствует указанному
parameter count integer Количество выводимых элементов на странице результата.
parameter offset integer Смещение при выводе элементов.

Исходящие параметры метода:

Контейнер Параметр Тип Описание
Root      
resource id string Идентификатор справочника в сервисе терминологии.
resourceType ValueSet string Описание категории ресурса.
resource/expansion/contains   array Массив записей справочника.
contains code string Код записи.
contains display string Значение, соответствующее коду записи.
contains version string Номер версии справочника, соответствующий выведенной записи.
contains property string Дополнительные атрибуты записи.
property code string Код атрибута.
property valueString string Значение атрибута.

Пример запроса на выполенние операции $expand:

{ "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "ConditionOutcomeCodes" }, { "name": "version", "valueString": "2" }, { "name": "count", "valueString": "2" }, { "name": "offset", "valueString": "1" } ] }

Пример ответа:

{ "id": "31ad8839-bb3d-4f5d-9f36-93bc0eb36eff", "expansion": { "total": 7, "offset": 1, "contains": [ { "code": "complication", "display": "осложнение", "version": "2", "property": [ { "code": "Code", "valueString": "complication" }, { "code": "Display", "valueString": "осложнение" } ] }, { "code": "death", "display": "смерть", "version": "2", "property": [ { "code": "Code", "valueString": "death" }, { "code": "Display", "valueString": "смерть" } ] } ], "timestamp": "2025-03-26T11:45:01.674168+03:00" }, "resourceType": "ValueSet" }

Пример ответа в случае, если переданное названия справочника (параметр system), отсутствует в системе:

{ "issue": [ { "code": "not-found", "severity": "error", "diagnostics": "No resource was found" } ], "resourceType": "OperationOutcome" }
▲ Вверх