Руководство к использованию стандарта FHIR в ЦИСЗ
0.2.6803 - ci-build
Реестр Справочников предназначен для централизованного хранения медицинской нормативно-справочной информации, необходимой для функционирования ЦИСЗ.
Структурированная медицинская информация, которая передается из иных информационных систем (ресурсов) в здравоохранении и хранится в ЦИСЗ, должна соответствовать содержимому регистров, справочников и классификаторов модуля Сервиса терминологии.
Для взаимодействия с реестром справочников клиентам доступны следующие методы:
Все методы по взаимодействию с реестром справочников доступны клиентам без аутентификации
Медицинский работник вносит в МИС набор медицинских данных о пациенте, включая сведения о медицинском наблюдении за пациентом и оказанных услугах. На основе данной информации МИС формирует пакет медицинских данных в виде ресурса Bundle.
После формирования пакета медицинских данных о пациенте выполняется его передача в ЦИСЗ с помощью метода импорта пакета медицинской информации о пациенте. Пакет медицинских данных о пациенте передается в подсистему интегрированной электронной медицинской карты пациента (ИЭМК), где выполняется валидация на соответствие профилям ЦИСЗ, включая проверку на соответствие переданных из МИС значений справочников подсистеме нормативно-справочной информации (НСИ).
При успешной валидации информация сохраняется в подсистеме ИЭМК и используется другими подсистемами ЦИСЗ.
Если в процессе валидации были обнаружены ошибки при проверке соответствия переданных из МИС значений справочников подсистеме НСИ, то пакет медицинской информации о пациенте отклоняется и передача информации из МИС в ЦИСЗ считается неуспешной.
Подсистема НСИ хранит эталонные и актуальные справочники, необходимые для функционирования всех подсистем ЦИСЗ.МИСы могут получать необходимую справочную информацию из подсистемы НСИ.
Получить описание справочника можно с помощью 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
Параметр поиска 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 предназначена для проверки наличия значения в справочнике.
Операция возвращает результат (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:
Пример ответа в случае успешной валидации:
Пример ответа в случае неуспешной валидации:
Пример ответа в случае, если переданное названия справочника (параметр system), отсутствует в системе:
Операция $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:
Пример ответа:
Пример ответа в случае, если переданное названия справочника (параметр system), отсутствует в системе: