История изменения версий


Версия

Дата

Примечание

1.

03.07.2015

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

2.

09.07.2015

Исправлено и дополнено в части описание авторизации

3.

11.10.2018

Исправлено и дополнено в части описания формата обмена

4.

13.06.2019

Добавлены новые операции сервиса.

Разделы:
  ●  Получение соответствий кодовых значений заданных справочников;
  ●  Пакетное выполнение операций;
  ●  Поиск значений в справочнике;
  ●  Обновление записей в справочнике;
  ●  Получение ресурса «Organization».

5.

13.06.2019

Дополнены описания операций сервиса.

Разделы:
  ●  Получение данных паспорта;
  ●  Получение версий справочника;
  ●  Получение справочных данных;
  ●  Получение информации о значении (записи справочника);
  ●  Проверка наличия значения в справочнике

6.

13.06.2019

Дополнено описание протокола взаимодействия.

Разделы:
  ●  Версия API;
  ●  Операции со справочниками

7.

13.06.2019

Дополнены примеры ответов и запросов на операции сервиса. Приложения 1 – 10

8.

23.08.2019

Дополнено описание метода поиска значений (search). Описан новый формат запроса – POST, введены параметры пагинации.

9.

23.08.2019

Дополнен пример поиска значений в справочнике, приложение 8.

10.

05.09.2019

Дополнено описание метода поиска значений (search). Описан новый вариант расширенного контекстного поиска.

11.

05.09.2019

Описан новый метод получения истории изменений справочника (versions_history).

12.

05.09.2019

Добавлены примеры запросов и ответов метода получения истории изменений справочника (versions_history), приложение 11.

13.

27.12.2019

Расширено описание параметров для методов в части параметров статуса справочника (status) и комментарий к версии (version_comment):
  ●  получение данных паспорта справочника (ValueSet?);
  ●  получение справочных данных ($expand).

14.

27.12.2019

Добавлен новый метод «Проверка доступности сервиса».

Добавлен пример вызова метода «Проверка доступности сервиса».

15.

27.12.2019

Реализована возможность поиска (search) по кодовым значениям атрибутов типа «Ссылка М:1»

16.

27.12.2019

Реализована возможность поиска (search) по заданному перечислению значений

17.

28.10.2020

Реализована возможность поиска (search) по кодовым значениям атрибутов типа «Ссылка М:М»

18.

11.02.2021

Реализован входной параметр "profile" с возможностью опционально иметь в результирующей структуре code и LastUpdated ($expand)

19.

15.11.2022

Добавлен пример операции получения версий справочника ($versions)

20.

30.12.2022

Изменена зависимость ответов от заголовка «api-version»:

  • Получение справочных данных ($expand)
  • Получение информации о значении (записи справочника) ($lookup)
  • Проверка наличия значения в справочнике ($validate-code)

21.

11.01.2023

Добавлена операция сервиса: «Получение списка справочников».

Описание решения

Назначение сервиса

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

Сценарии работы

Обмен данными между внешними системами и сервисом НСИ осуществляется в рамках следующих сценариев.

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

Сервис НСИ возвращает паспортные значения заданного справочника.

Получение версий справочника

Сервис НСИ возвращает массив версий, отсортированный в порядке убывания даты-времени версий, заданного справочника.

Получение справочных данных

Сервис НСИ возвращает содержательную часть справочника. Если в запросе указана версия справочника, то сервис возвращает справочные данные заданной версии справочника. Если версия не указана, то сервис возвращает справочные данные актуальной версии.

Получение дополнительной информации о значении (записи справочника)

Сервис НСИ возвращает дополнительную информацию записи заданного справочника с заданным кодом. Дополнительная информация – массив атрибутов и их значений расширенного атрибутного состава помимо обязательных атрибутов «код» и «наименование». Если в запросе указана версия справочника, то сервис возвращает значения заданной версии справочника. Если версия не указана, то сервис возвращает значения актуальной версии.

Проверка значения в справочнике

Сервис НСИ возвращает информацию о вхождении запрошенного значения в указанный справочник. Если в запросе указана версия справочника, то сервис осуществляет проверку наличия значения этой версии справочника. Если версия не задана, то сервис осуществляет проверку наличия значения в актуальной версии.

Поиск значения в справочнике

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

Выполнение пакетных операций

Сервис НСИ предоставляет возможность выполнения пакетных операций заданного набора определенных методов сервиса.

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

Сервис НСИ возвращает информацию о соответствии кодового значения одного справочника кодовым значениям другого справочника. 

Получение ресурса «Organization»

Сервис НСИ предоставляет возможность получения данных FHIR-ресурса «Organization». Ресурс «Organization» содержит данные о медицинских организациях. Ресурс «Organization» соответствует требованиям FHIR-спецификацией версии DSTU2 к ресурсу «Organization»: https://www.hl7.org/fhir/organization.html.

Получение истории изменений справочника

Сервис НСИ предоставляет возможность получения данных истории изменений запрашиваемых версий заданного справочника в виде детальной информации об изменениях – типе операции и измененных значениях атрибутов для каждой записи.

Получение номера версии сервиса

Сервис НСИ предоставляет возможность простой и быстрой проверки его технической доступности и состояния работоспособности.

Получение списка справочников

Сервис НСИ предоставляет возможность получения списка справочников.

Описание протокола взаимодействия

Общая информация

Информационный обмен осуществляется в соответствии со стандартом FHIR® (Fast Healthcare Interoperability Resources), разработанным организацией HL7. Подробное описание стандарта доступно по следующим ссылкам:

В качестве протокола взаимодействия используется REST (использование REST - протокола в FHIR® – см. http://fhir-ru.github.io/http.html).

Авторизация в сервисе

Для обращения к сервису Терминологии обязательно указывать в параметре секции HEADERS сообщения авторизационный ключ в формате:
Authorization: [GUID передающей системы]

Авторизационный ключ (токен) является обязательным к заполнению и выдается системе-клиенту сервиса администратором интеграционной платформы.

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

Формат обмена

В запросах к сервису НСИ возможно задать необходимый формат результата одним из способов:
  1. В секции HEADERS, например:
    Content-Type: application/json

    или

    Content-Type: application/xml
  2. В URL, например:

    _format=json

    или

    _format=xml

Если формат не задан явным образом, то по умолчанию сервис формирует ответы в формате xml.


URL _format

не задан

json

xml


HEADER
Content-Type

не задан

xml

json

xml

application/json

json

json

400 Bad Request

application/xml

xml

400 Bad Request

xml

Важно! сервис НСИ первоначально вычисляет и формирует результат в формате json. Затем, если в запросе явно задан формат xml, производится преобразование типа json в xml. Поэтому в запросах к сервису НСИ рекомендуется использовать формат json.

Версия API

При обращении к сервису Терминологии возможно указать в параметре секции HEADERS сообщения версию API:
api_version: [номер версии]

Параметр необязателен к указанию. Если параметр не заполнен, то используется дефолтная версия интерфейса взаимодействия.

Номер версии API в определенных сценариях определяет параметры ответа. Различия в параметрах ответа при использовании конкретной версии интерфейса взаимодействия указаны при описании конкретных операций сервиса.

Операции со справочниками

Сервис Терминологии поддерживает следующие операции:
  1. Получение данных паспорта справочника (ValueSet?)
  2. Получение версий справочника ($versions)
  3. Получение справочных данных ($expand)
  4. Получение информации о значении ($lookup)
  5. Проверка наличия значения в справочнике ($validate-code)
  6. Получение соответствия кодовых значений заданных справочников (translate)
  7. Пакетное выполнение операций (batch)
  8. Поиск значения в справочнике (search)
  9. Получение истории изменений справочника (versions_history)
  10. Получение данных ресурса «Organization»
  11. Получение номера версии сервиса  (version).
  12. Получение списка справочников (dictionaries).

Для выполнения операций со справочниками (пп.1 – 9) в запросе всегда указывается уникальный публичный идентификатор справочника (OID справочника). В качестве уникального публичного идентификатора справочника в равной степени может быть использован его основной OID, либо любой дополнительный OID. Информация по получению основных и дополнительных OID-ов справочника представлена в описании операции получения данных паспорта справочника.

Описание операций сервиса

Получение данных паспорта справочника (ValueSet?)

Получение информации о справочнике осуществляется с помощью GET-запроса. В качестве адреса должен быть указан URL в формате:
[base]/term/ValueSet?_format=[формат]&url=urn:oid:[OID справочника]

Параметры ответа приведены в таблице 1.1.

Таблица 1.1. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/entry


array

Массив параметров ответа

3.       

entry/resource


object

Паспорт справочника

4.       

resource

id

guid

Идентификатор справочника в сервисе терминологии

5.       

resource

url

string

Url-адрес справочника

6.       

resource

status

string

Статус справочника. Возможные значения:

  • draft – черновой;
  • active – активный;
  • retired – архивный.

7.       

resource

version

string

Значение актуальной версии справочника

8.       

resource

publisher

string

Издатель справочника

9.       

resource/meta



Метаданные справочника

10.   

meta

versionId

guid

Идентификатор версии справочника

11.   

meta

lastUpdated

datetime

Дата-время последнего обновления справочника

12.   

resource/expansion/parameter


array

Расширение справочника

13.   

parameter

name

string

Название параметра "version_comment" (комментарий к версии)

14.   

parameter

valueString

string

Текстовый комментарий к версии справочника

15.   

resource/extension


array

Расширенные параметры паспорта справочника

16.   

extension

url

string

Индикатор дополнительного OID справочника

17.   

extension

valueUri

string

OID справочника

18.   

resource/useContext/coding


array

Расширенные параметры описания справочника: тип справочника

19.   

coding

code

integer

Уникальный идентификатор типа справочника

20.   

coding

system

string

OID справочника, содержащего все доступные пары «код»-«значение» для типов справочников

21.   

coding

display

string

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

Примеры запросов и ответов на получение паспорта справочника представлен в приложении 1.

Получение версий справочника ($versions)

Получение версий справочника осуществляется с помощью GET-запроса по URL в формате:
[base]/term/ValueSet/[OID справочника]/$versions?_format=[формат]

Параметры ответа приведены в таблице 2.1.

Таблица 2.1. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/parameter


array

Параметры ответа

3.       

parameter

name

string

Наименование параметра (result)

4.       

parameter

valueString

string

Номера версий справочника и даты создания версий в формате «версия справочника (дата формирования), версия справочника (дата формирования)…»

Пример запроса и ответа на получение списка версий справочника представлен в приложении 2.

Получение справочных данных ($expand)

Получение справочных данных осуществляется с помощью POST-запроса по URL в формате:
[base]/term/ValueSet/$expand?_format=[формат]

Параметры запроса представлены в таблице 3.1.

Таблица 3.1. Параметры запроса

№ п/п

Контейнер

Параметр

Тип

Кратность

Описание

1.       

Root





2.       

/parameter


array

1..1

Параметры запроса

3.       

parameter

system

string

1..1

Значение кодовой системы (url-адрес справочника)

4.       

parameter

version

string

0..1

Номер версии справочника. Если номер версии не указан, то возвращаются значения из актуальной версии

5.       

parameter

date

datetime

0..1

Дата в формате ГГГГ-ММ-ДД

6.       

parameter

filter

string

0..1

Будут возвращены только те записи справочника, которые в коде и/или наименовании записи (атрибуты code и display) содержат указанное значение

7.       

parameter

count

integer

0..1

Количество выводимых элементов на странице результата

8.       

parameter

offset

integer

0..1

Смещение при выводе элементов

9.       

parameter

profile

string

1..1

Кодовое значение атрибута справочника

Параметры ответа приведены в таблице 3.2.

Таблица 3.2. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/parameter


array

Параметры ответа

3.       

parameter /resource


array

Найденный ресурс

4.       

resource

id

guid

Идентификатор справочника в сервисе терминологии

5.       

resource

url

string

url-адрес справочника

6.       

resource

status

string

Статус справочника. Возможные значения:

  • draft – черновой;
  • active – активный;
  • retired – архивный.

7.       

resource

name

string

Наименование справочника

8.       

resource

version

string

Значение актуальной версии справочника

9.       

resource

publisher

string

Издатель справочника

10.   

resource/expansion/parameter


array

Расширение справочника

11.   

parameter

name

string

Название параметра "version_comment" (комментарий к версии)

12.   

parameter

valueString

string

Текстовый комментарий к версии справочника

13.   

resource/useContext/coding


array

Расширенные параметры описания справочника: тип справочника

14.   

coding

code

integer

Уникальный идентификатор типа справочника

15.   

coding

system

string

OID справочника, содержащего все доступные пары «код»-«значение» для типов справочников

16.   

coding

display

string

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

17.   

resource/meta



Метаданные справочника

18.   

meta

versionId

guid

Идентификатор версии справочника

19.   

meta

lastUpdated

datetime

Дата-время последнего обновления справочника

20.   

resource/expansion/contains


array

Массив записей справочника

21.   

contains

code

string

Код записи

22.   

contains

display

string

Значение, соответствующее коду записи

23.   

contains

version

string

Номер версии справочника, соответствующий выведенной записи

24.   

contains/contains


array

Дополнительные атрибуты записи

25.   

contains

code

string

Код атрибута

26.   

contains

display

string

Значение атрибута

Зависимость кода статуса HTTP и структуры ответа от указания заголовка «api-version» представлена в таблице 3.3.

Таблица 3.3. Зависимость ответов от заголовка «api-version»

Сценарий

HEADER «api-version» не задан

HEADER «api-version» = 1


HEADER «api-version» = 2

Код статуса HTTP

BODY

Код статуса HTTP

BODY

Код статуса HTTP

BODY

Получение записей справочника

200 OK

Структура и параметры согласно таблице 3.3.2

200 OK

Структура и параметры согласно таблице 3.3.2

200 OK

Структура и параметры согласно таблице 3.3.2

Получение записей по несуществующему публичному уникальному идентификатору справочника (OID справочника)

404 Not Found

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

500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Получение записей несуществующей версии справочника

404 Not Found

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

500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Пример запроса и ответа на получение справочных данных представлен в приложении 3.

Получение информации о значении (записи справочника) ($lookup)

Получение информации о значении (поиск значения) осуществляется с помощью POST-запроса по URL в формате:
[base]/term/ValueSet/$lookup?_format=[формат]

Параметры запроса представлены в таблице 4.1.

Таблица 4.1. Параметры запроса

№ п/п

Контейнер

Параметр

Тип

Кратность

Описание

1.       

Root





2.       

/parameter


array

1..1

Параметры запроса

3.       

parameter

system

string

1..1

Значение кодовой системы (url-адрес справочника)

4.       

parameter

version

string

0..1

Номер версии справочника. Если номер версии не указан, то возвращаются значения из актуальной версии

5.       

parameter

code

string

1..1

Код значения в справочнике

Параметры ответа приведены в таблице 4.2.

Таблица 4.2. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/parameter


array

Параметры ответа

3.       

parameter

name

string

Наименование параметра для запрошенного значения справочника

4.       

parameter

valueString

string

Значение дополнительного параметра

Зависимость кода статуса HTTP и структуры ответа от указания заголовка
«api-version» представлена в таблице 4.3.

Таблица 4.3. Зависимость ответов от заголовка «api-version»

Сценарий

HEADER «api-version» не задан

HEADER «api-version» = 1

HEADER «api-version» = 2

Код статуса HTTP

BODY

Код статуса HTTP

BODY

Код статуса HTTP

BODY

Получение записи справочника

200 OK

Структура и параметры согласно таблице 3.4.2

200 OK

Структура и параметры согласно таблице 3.4.2

200 OK

Структура и параметры согласно таблице 3.4.2

Получение записи по несуществующему публичному уникальному идентификатору справочника (OID справочника)

404 Not Found

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

500 Internal Server 500 500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Получение записи несуществующей версии справочника

404 Not Found

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

500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Получение записи по несуществующему коду записи

404 Not Found

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

500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Пример запроса и ответа на получение записи справочника представлен в приложении 4.

Проверка наличия значения в справочнике ($validate-code)

Проверка наличия значений в справочнике осуществляется с помощью POST-запроса по URL в формате:
[base]/term/ValueSet/$validate-code?_format=[формат]

Параметры запроса представлены в таблице 5.1.

Таблица 5.1. Параметры запроса

№ п/п

Контейнер

Параметр

Тип

Кратность

Описание

1.       

Root





2.       

/parameter


array

1..1

Параметры запроса

3.       

parameter

system

string

1..1

Значение кодовой системы (url-адрес справочника)

4.       

parameter

version

string

0..1

Номер версии справочника. Если номер версии не указан, то возвращаются значения из актуальной версии

5.       

parameter

code

string

1..1

Код значения в справочнике

Параметры ответа приведены в таблице 5.2.

Таблица 5.2. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/parameter


array

Параметры ответа

3.       

parameter

name

string

Наименование параметра (result)

4.       

parameter

valueBoolean

string

Результат проверки (true / false)

Зависимость кода статуса HTTP и структуры ответа от указания заголовка «api-version» представлена в таблице 5.3.

Таблица 5.3. Зависимость ответов от заголовка «api-version»

Сценарий

HEADER «api-version» не задан

HEADER «api-version» = 1

HEADER «api-version» = 2

Код статуса HTTP

BODY

Код статуса HTTP

BODY

Код статуса HTTP

BODY

Получение записи справочника

200 OK

Структура и параметры согласно таблице 3.5.2

200 OK

Структура и параметры согласно таблице 3.5.2

200 OK

Структура и параметры согласно таблице 3.5.2

Получение записи по несуществующему публичному уникальному идентификатору справочника (OID справочника)

404 Not Found

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

500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Получение записи несуществующей версии справочника

404 Not Found

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

500 Internal Server Error

{"Message":"An error has occurred."}

404 Not Found

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

Пример запроса и ответа на проверку наличия значения в справочнике представлен в приложении 5.

Получение соответствия кодовых значений заданных справочников (translate)

Для перекодирования кодовых значений одного справочника в кодовые значения, соответствующие другому справочнику, возможно использование метода вычисления соответствия кодовых значений.  Получение соответствий кодовых значений заданных справочников происходит с помощью POST-запроса по URL в формате:
[base]/term/ConceptMap/translate?_format=[формат]

Перечень параметров для получения соответствия кодовых значений заданных справочников приведен в таблице 6.1.

Таблица 6.1. Параметры запроса

№ п/п

Контейнер

Параметр

Тип

Кратность

Описание

1.

Root





2.

Parameter


array

1..1

Параметры запроса

3.

Parameter

system

string

1..1

Публичные идентификатор справочника 1 (один из пары по поиску соответствий)

4.

Parameter

code

string

1..1

Кодовое значение из справочника 1

5.

Parameter

target

string

1..1

Публичные идентификатор справочника 2 (один из пары по поиску соответствий)

6.

Parameter

reverse

boolean

0..1

Признак поиска обратного соответствия:

  • False – поиск соответствия кодового значения из справочника 1 в справочнике 2;
  • True - поиск соответствия кодового значения из справочника 2 в справочнике 1;
  • По умолчанию значение «false».

7.

Parameter

date

datetime

0..1

Поиск соответствий на конкретную дату по историческим данным справочника соответствия кодовых значений  

8.

Parameter

coding

object

0..1

Описание справочника, содержащего данные соответствия. Обозначение справочника представляется в формате "system":"OID", где OID- публичный идентификатор справочника соответствия.

Указание публичного идентификатора справочника обязательно в том случае, если в системе имеется несколько справочников соответствия кодовых значений пары справочников*  

* Примечание: в общем случае в системе имеется однозначное соответствие кодовых значений пары справочников. Однако могут быть ситуации, когда в целях систем-потребителей составляется несколько справочников соответствия кодовых значений одной и той же пары справочников. В данном случае возможно управлять получением соответствия указанием публичного идентификатора справочника соответствия (OID справочника), по которому необходимо вычислить соответствие.   

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

Параметры ответа приведены в таблице 6.2 и таблице 6.3.

Таблица 6.2. Параметры ответа (однозначное соответствие)

№ п/п

Контейнер

Параметр

Тип

Описание

1.

Root




2.

/parameter


array

Параметры ответа

3.

parameter

name

sting

Название параметра:

  • «result»: параметр определяет успешность выполнения операции поиска соответствий кодовых значений;
  • «match»: параметр, определяющий найденное соответствие

4.

parameter

valueBoolean

boolean

Результат поиска:

  • true – соответствие найдено;
  • false – соответствие не найдено;

5.

parameter

valueString

sting

Найденное кодовой соответствие

Таблица 6.3. Параметры ответа (множественное соответствие)

№ п/п

Параметр

Контейнер

Тип

Описание

1.

Root




2.

/parameter


array

Параметры ответа

3.

parameter

name

sting

Название параметра:

  • «result»: параметр определяет успешность выполнения операции поиска соответствий кодовых значений

4.

parameter

valueBoolean

boolean

Результат поиска:

  • true – соответствие найдено;
  • false – соответствие не найдено;

5.

parameter


name

sting

Название параметра: «match». Определяет найденные соответствия.

6.

parameter/ part


array

Массив из найденных пар «code»-«значение»

7.

part

name

string

Наименование параметра: «code»

8.

part

valueString

string

Значение параметра «code» - найденный код соответствующего значения

Пример запросов и ответов на получение соответствий кодовых значений двух заданных справочников представлен в приложении 6.

Пакетное выполнение операций (batch)

Для выполнения нескольких операций в одном запросе предусмотрен запрос пакетного выполнения операций. Запросы, поддерживающие пакетное выполнение:
  • получение информации о значении (lookup);
  • проверка наличия значения в справочнике (validate-code);
  • получение соответствий кодовых значений двух заданных справочников (translate).

Пакетное выполнение операций выполняется POST-запросом по URL в формате:

[base]/term/batch?_format=[формат]

Перечень параметров для выполнения пакетных операций приведен в таблице 7.1.

Таблица 7.1. Параметры запроса

№ п/п

Контейнер

Параметр

Тип

Кратность

Описание

1.       

Root





2.       


type

string

1..1

Название параметра выполняемой операции «batch»

3.       

/entry


array

1..1

Массив операций, объединяемых в пакет

4.       

entry/request


object

1..1

Описание выполняемого метода

5.       

request

method

string

1..1

Наименование типа запроса: «POST»

6.       

request

url

string

1..1

Выполняемая операция:

  • «ValueSet/$lookup» - получение информации о значении;
  • «ValueSet/$validate-code» - проверка наличия значения в справочнике;
  • «translate» - получение соответствий кодовых значений.

7.       

entry/resource


object

1..1

Объект дублирующий структуру и входные параметры выполняемого метода. Структуру и состав параметров см. в описании конкретного метода

Параметры ответа приведены в таблице 7.2.

Таблица 7.2. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       


type

string

Название выполненной операции: «batch-response»

3.       

entry


array

Массив объектов «resource». Каждый объект массива – ответ на одну операцию. Структура и состав полей соответствует описанию ответа конкретного метода.

Пример запроса и ответа пакетного выполнения операций представлен в приложении 7.

Поиск значений в справочнике (search)

Поиск значений в справочнике осуществляется с помощью GET-запроса по URL в формате:
[base]/term/ValueSet/oid/version/_search?attribute:operation=value&attribute:operation =value..&_format=[формат]

либо с помощью POST-запроса в формате:

[base]/term/ValueSet/_search?_format=[формат]

Параметры запросов представлены в таблице 8.1.

Таблица 8.1. Параметры запроса

№ п/п

Параметр

Тип

Кратность

Описание

1.       

system

string

1..1

OID справочника, по которому осуществляется поиск значений

2.       

version

string

0..1

Версия справочника, в рамках которой осуществляется поиск значений. Если версия не указана поиск по умолчанию осуществляется по актуальной версии

3.       

attribute

string

1..1

Код атрибута, по которому осуществляется поиск значения

4.       

operation

string

0..1

Варианты поиска значения:

Для текстовых атрибутов и атрибута типа «ссылка М:1» при поиске по display ссылочного справочника:

  • по вхождению подстроки без учета регистра – значение по умолчанию;
  • по вхождению подстроки с учетом регистра «cs»;
  • по точному вхождению строки с учетом регистра «eq»;
  • по точному вхождению строки без учета регистра «eqncs»;
  • расширенный контекстный поиск (поиск происходит по вхождению введенных букв и цифр*) «ext».

Для атрибутов типа «ссылка М:1» и «ссылка М:М» при поиске по кодовому значению ссылочного справочника:

  • по строгому соответствию с учетом регистра кодового значения из ссылочного справочника «eqpcode».

5.       

value

string

1..1

Может содержать:

  • Искомое значение;
  • Массив искомых значений. Поиск по указанным значениям будет происходить с учетом операции ИЛИ, то есть будут найдены записи справочника, которые содержат какое-либо значение из предложенного массива значений. Перечисление значений происходит через запятую**

6.       

_count

integer

0..1

Количество элементов (записей справочника), выводимых на одной странице результирующего ответа

7.       

_page

integer

0..1

Номер страницы результирующего ответа

* Введенное поисковое значение разбивается на массив букв и цифр. В результате выводится все записи, которые одновременно содержат все элементы полученного массива.

** При перечислении элементов поиска необходимо учитывать экранирование. Если в искомом значении присутствует запятая, то она экранируется двумя обратными слешами. Если в искомом значении присутствует обратный слеш, то он экранируется тремя обратными слешами.

Параметры ответа представлены в таблице 8.2.

Таблица 8.2. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/total


integer

Количество найденных записей

3.       

/entry


array

Массив найденных записей

4.       

entry/resource


object

Найденная запись

5.       

resource/parameter


array

Массив параметров записи

6.       

parameter

name

string

Код атрибута записи

7.       

parameter

valueString

string

Значение атрибута записи простого типа

8.       

parameter/valueCodeableConcept


object

Структура описания значения записи для ссылочных полей

9.       

valueCodeableConcept/coding


array

Массив параметров ссылочного поля

10.   

coding

code

string

Код записи

11.   

coding

system

string

OID справочника

12.   

coding

display

string

Наименование записи

13.   

coding

version

string

Версия справочника

Примеры запросов и ответов на поиск значений в справочнике представлен в приложении 8.

Получение данных ресурса «Organization»

Ресурс «Organization» описывает данные отдельной медицинской организации. Ресурс «Organization» соответствует требованиям FHIR-спецификацией версии DSTU2 к ресурсу «Organization»: https://www.hl7.org/fhir/organization.html

Получение ресурса Organization происходит с помощью GET-запроса по URL в формате:

[base]/term/Organization/GUID_организации?_format=[формат]

либо

[base]/term/Organization/_search?identifier=OID_организации&_format=[формат]

Запрос на получение всех доступных ресурсов «Organization» происходит с помощью GET-запроса по URL в формате:

[base]/term//Organization/_search?_count=[кол-во записей]&_format=[формат]

count – параметр, определяющий количество элементов в результирующей структуре. Если фактического количество ресурсов меньше, заданного в count, или параметр count не задан, то вернется массив со всеми имеющимися ресурсами «Organization»

Структура «Organization» должна содержать обязательный набор параметров, представленный в таблице 9.1. Набор отображаемых параметров может быть дополнен в соответствии с FHIR-спецификацией к ресурсу «Organization»: https://www.hl7.org/fhir/organization.html.

Таблица 9.1. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       


type

string

Название параметра: «searchset».

Параметр возвращается только при выполнении метода (search)

3.       


total

integer

Количество доступных ресурсов. Параметр возвращается только при выполнении метода (search)

4.       

/entry


array

Массив найденных ресурсов.

Контейнер возвращается только при выполнении метода (search)

5.       

entry/resource


object

Найденный ресурс.

Контейнер возвращается только при выполнении метода (search)

6.       

resource

id

string

Уникальный guid-идентификатор организации

7.       

resource

active

boolean

Признак активности полученного ресурса:

  • true – активен;
  • false – неактивен.

8.       

resource/address


array

Описание адреса организации

9.       

address

text

string

Адрес организации

10.   

resource/partOf


object

Описание родительской записи ресурса

11.   

partOf

display

string

Наименование родительской организаций

12.   

partOf

reference

string

Ссылка на родительскую организацию (ресурс)

13.   

resource/identifier


array

Описание дополнительных строковых параметров организации

14.   

identifier

system

string

Наименование параметра:

  • «orgid»: GUID головной организации, стоящей на первом уровне иерархии;
  • «oid»: OID медицинской организации.

15.   

identifier

value

string

Значение параметра

16.   

resource/type


object

Описание дополнительных ссылочных параметров организации

17.   

type/coding


array

Описание ссылочного параметра

18.   

coding

system

string

Ссылочный справочник: «medorgtype» (тип медицинского учреждения)

19.   

coding

code

string

Код записи

20.   

coding

display

string

Наименование записи

21.   

resource/extension


array

Массив дополнительной информации об организации

22.   

extension

url

string

Значение параметра: «http://hl7.org/fhir/StructureDefinition/organization-alias». Сокращенное наименование организации

23.   

extension

valueString

string

Краткое наименование организации

Пример запроса и ответа на получение ресурса «Organization» представлен в приложении 9.

Получение истории изменений справочника (versions_history)

Получение изменений справочника (дельты данных) двух заданных версий справочника происходит с помощью GET-запроса по URL в формате:
[base]/term/ValueSet/oid/_versions_history/?low_version=[младшая версия]&low_version_datetime=[дата:время]&high_version=[старшая версия]&high_version_datetime&count=[кол-во элементов]&page=[номер страниц]&_format=[формат]

либо с помощью POST-запроса по URL в формате:

[base]/term/ValueSet/_versions_history?_format=[формат]

Общие принципы работы метода:

  1. В результате вычисления дельты справочных данных выводятся все записи, которые были подвержены каким-либо изменениям относительно переданных версий.
  2. Для созданных записей в результате запроса передаются все пары код_атрибута:значение, которые заданы для записи.
  3. Для измененных записей в результате запроса передаются код записи и пары код_атрибута:знаечние измененных атрибутов.
  4. Для удаленных записей в результате запроса передаются все пары код_атрибута:значение, которые были заданы для записи.

Параметры запросов представлены в таблице 10.1.

Таблица 10.1. Параметры запроса

№ п/п

Параметр

Тип

Кратность

Описание

1.       

oid

string

1..1

OID справочника, по которому осуществляется вычисление истории изменений

2.       

low_version

string

0..1

Младшая версия справочника, относительно которой вычисляются изменения.

Если версия не задана, то изменения вычисляются относительно нулевой версии справочника.

3.       

low_version_datetime

datetime

0..1

Нижняя граница временного интервала, относительно которой вычисляются изменения.

Если дата:время не заданы, то изменения вычисляются относительно нулевой версии справочника.

4.       

high_version

string

0..1

Старшая версия справочника, относительно которой вычисляются изменения.

Если версия не задана, то изменения вычисляются относительно актуальной версии справочника.

5.       

high_version_datetime

datetime

0..1

Верхняя граница временного интервала, относительно которой вычисляются изменения.

Если дата:время не заданы, то изменения вычисляются относительно акутальной версии справочника.

6.       

count

integer

0..1

Количество элементов (записей справочника), выводимых на одной странице результирующего ответа

7.       

page

integer

0..1

Номер страницы результирующего ответа

Параметры ответа приведены в таблице 10.2.

Таблица 10.2. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root




2.       

/total


integer

Общее количество элементов ответа

3.       

/entry


array

Массив найденных записей

4.       

entry/resource


object

Описания изменений по одной записи

5.       

resource/parameter


array

Массив параметров записи

6.       

parameter

name

string

Код атрибута записи

7.       

parameter

valueString

string

Значение атрибута записи простого типа

8.       

parameter

name

string

Значение «operation». Операция произведенная с записью

9.       

parameter

valueString

string

Возможные значения:

created – запись создана;

updated – запись обновлена;

deleted – запись удалена.

Пример запросов и ответов на получение истории изменений справочника представлен в приложении 10.


Получение номера версии сервиса (version)

Получение номера версии сервиса происходит с помощью GET-запроса по URL в формате:
[base]/version

При успешном выполнении метода пользователю возвращается JSON, содержащий номер версии сервиса.

Пример ответа на проверку доступности сервиса представлен в приложении 11.

Получение списка справочников (dictionaries)

Получение списка справочников осуществляется с помощью GET-запроса по URL в формате:
[base]/term/dictionaries?_format=[формат]

Параметры ответа приведены в таблице 4.12.1.

Таблица 4.12.1. Параметры ответа

№ п/п

Контейнер

Параметр

Тип

Описание

1.       

Root

 

 

 

2.       

/parameter

 

array

Параметры ответа

3.       

parameter

name

string

Наименование параметра (result)

4.       

parameter

valueString

string

Массив справочников с данными:

  • id справочника;
  • Дата последнего обновления;
  • Наименование справочника;
  • OID, актуальная версия.

 

Пример запроса и ответа на получение списка справочников представлен в приложении 12.

Приложение 1. Получение данных паспорта справочника

Пример запроса №1:
GET: [base]/term/ValueSet?_format=json&url=urn:oid:1.2.643.5.1.13.2.1.1.181

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

Код статуса HTTP: 200 OK

BODY:

{
            "type": "searchset",
            "entry": [{
                        "resource": {
                                    "id": "c52c91e3-ffea-4665-83c8-5f429349e48c",
                                    "url": "urn:oid:1.2.643.5.1.13.2.1.1.181",
                                    "meta": {
                                               "versionId": "06d5c73b-d142-4c62-b87e-18f3cdc56ab7",
                                               "lastUpdated": "2019-05-27T14:10:40.973999+03:00"
                                    },
                                    "name": "Номенклатура специальностей специалистов с высшим и 
                                    послевузовским медицинским и фармацевтическим образованием в 
                                    сфере здравоохранения",
                                    "status": "active",
                                    "contact": [{
                                               "telecom": [{
                                                           "value": "netrika@yandex.ru",
                                                           "system": "email"
                                               }]
                                    }],
                                    "version": "39",
                                    "extension": [{
                                               "url": "http://hl7.org/fhir/StructureDefinition/valueset-oid",
                                               "valueUri": "1.2.643.5.1.13.2.1.1.181"
                                    }],
                                    "publisher": "Netrika",
                                    "useContext": {
                                               "coding": [{
                                                           "code": 4,
                                                           "system": "1.2.643.2.69.1.1.1.333.1",
                                                           "display": "Классификатор"
                                               }]
                                    },
                                    "experimental": true,
                                    "resourceType": "ValueSet"
                        }
            }],
            "resourceType": "Bundle"
}


 

Пример запроса №2 (Справочник не существует):

GET: [base]/term/ValueSet?_format=json&url=urn:oid:несущOID

Пример ответа №2 (Справочник не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №3 (Нет доступа к приватным данным):

GET: [base]/term/ValueSet?_format=json&url=urn:oid:OID

Пример ответа №3 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "issue": [
        {
            "code": "suppressed",
            "severity": "error",
            "diagnostics": "Для получения данных, необходимы соответствующие права!"
        }
    ],
    "resourceType": "OperationOutcome"
}

Приложение 2. Получение версий справочника

Пример запроса №1:
GET: [base]/term/ValueSet/OID/$versions?_format=json

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

Код статуса HTTP: 200 OK

BODY:

{
            "parameter": [{
                        "name": "result",
                        "valueString": "3 (2018-11-21), 2 (2017-12-27), 1 (2017-03-18)"
            }],
            "resourceType": "Parameters"
}


Пример запроса №2 (Справочник не существует):

GET: [base]/term/ValueSet/НесущOID/$versions?_format=json

Пример ответа №2 (Справочник не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №3 (Нет доступа к приватным данным):

GET: [base]/term/ValueSet/ПриватныйOID/$versions?_format=json

Пример ответа №3 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "issue": [
        {
            "code": "suppressed",
            "severity": "error",
            "diagnostics": "Для получения данных, необходимы соответствующие права!"
        }
    ],
    "resourceType": "OperationOutcome"
}


Пример запроса №4 (Переключение версионирования):

GET: [base]/term/ValueSet/OID/$versions?_format=json

Пример ответа №4 (Переключение версионирования):

Код статуса HTTP: 200 OK

BODY:

{
    "parameter": [
        {
            "name": "result",
            "valueString": "4.1 (2022-12-12),1.4 (2021-01-15),4 (2021-01-15),1.3 (2021-01-15),3 (2021-01-15),1.2 (2019-10-02),2 (2019-10-02),1.1 (2019-02-07),1 (2019-02-07),1.0 (2019-02-07),0 (2019-02-07)"
        }
    ],
    "resourceType": "Parameters"
}

Приложение 3. Получение справочных данных

Пример запроса №1:

POST:

[base]/term/ValueSet/$expand?_format=json

BODY:

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

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

Код статуса HTTP: 200 OK

BODY:

{
            "parameter": [{
                        "name": "return",
                        "resource": {
                                    "id": "c52c91e3-ffea-4665-83c8-5f429349e48c",
                                    "url": "urn:oid:1.2.643.5.1.13.2.1.1.181",
                                    "meta": {
                                               "versionId": "06d5c73b-d142-4c62-b87e-18f3cdc56ab7",
                                               "lastUpdated": "2019-05-27T14:10:40.973999+03:00"
                                    },
                                    "name": "Номенклатура специальностей специалистов с высшим и 
                                    послевузовским медицинским и фармацевтическим образованием в сфере здравоохранения",
                                    "status": "active",
                                    "contact": [{
                                               "telecom": [{
                                                           "value": "netrika@yandex.ru",
                                                           "system": "email"
                                               }]
                                    }],
                                    "version": "39",
                                    "expansion": {
                                               "contains": [{
                                                           "code": "0",
                                                           "display": "Врачебные специальности",
                                                           "version": "1",
                                                           "contains": [{
                                                                       "code": "Okso",
                                                                       "display": "1"
                                                           }]
                                               },
                                               {
                                                           "code": "1",
                                                           "display": "Лечебное дело. Педиатрия",
                                                           "version": "1",
                                                           "contains": [{
                                                                       "code": "High",
                                                                       "display": "0"
                                                           },
                                                           {
                                                                       "code": "Okso",
                                                                       "display": "2"
                                                           }]
                                               }],
                                               "parameter": [{
                                                           "name": "total",
                                                           "valueString": "282"
                                               }],
                                               "timestamp": "2019-06-07T18:53:00.211764+03:00"
                                    },
                                    "publisher": "Netrika",
                                    "useContext": {
                                               "coding": [{
                                                           "code": 4,
                                                           "system": "1.2.643.2.69.1.1.1.333.1",
                                                           "display": "Классификатор"
                                               }]
                                    },
                                    "experimental": true,
                                    "resourceType": "ValueSet"
                        }
            }],
            "resourceType": "Parameters"
}

Пример запроса №2 (Справочник не существует):

POST:

[base]/term/ValueSet/$expand?_format=json

BODY:

{
	"resourceType": "Parameters",
	"parameter": [{
		"name": "system",
		"valueString": "НесущOID"
    }
]
}

Пример ответа №2 (Справочник не существует):

Код статуса HTTP: 500 Internal Server Error

BODY:

{
    "Message": "An error has occurred."
}


Пример запроса №3 api-version=2 (Справочник не существует):

POST:

[base]/term/ValueSet/$expand?_format=json

BODY:

{
	"resourceType": "Parameters",
	"parameter": [{
		"name": "system",
		"valueString": "НесущOID"
    }
]
}

Пример ответа №3 api-version=2 (Справочник не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №4 (Версия справочника не существует):

POST:

[base]/term/ValueSet/$expand?_format=json

BODY:

{
	"resourceType": "Parameters",
	"parameter": [
    {
		"name": "system",
		"valueString": "1.2.643.5.1.13.2.1.1.181"
    },
	{
		"name": "version",
		"valueString": "555"
    }
]
}

Пример ответа №4 (Версия справочника не существует):

Код статуса HTTP: 500 Internal Server Error

BODY:

{
    "Message": "An error has occurred."
}


Пример запроса №5 api-version=2 (Версия справочника не существует):

POST:

[base]/term/ValueSet/$expand?_format=json

BODY:

{
	"resourceType": "Parameters",
	"parameter": [
    {
		"name": "system",
		"valueString": "1.2.643.5.1.13.2.1.1.181"
    },
	{
		"name": "version",
		"valueString": "555"
    }
]
}

Пример ответа №5 api-version=2 (Версия справочника не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №6 (Нет доступа к приватным данным):

POST:

[base]/term/ValueSet/$expand?_format=json

BODY:

{
	"resourceType": "Parameters",
	"parameter": [{
		"name": "system",
		"valueString": "ПриватныйOID"
    }
]
}

Пример ответа №6 (Нет доступа к приватным данным):

Код статуса HTTP: 500 Internal Server Error

BODY:

{
    "Message": "An error has occurred."
}

Приложение 4. Получение записи справочника

Пример запроса №1:

URL:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "urn:oid:1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "20"
    },
    {
      "name": "version",
      "valueString": "1"
    }
  ]       
}


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

Код статуса HTTP: 200 OK

BODY:

{
            "parameter": [{
                        "name": "High",
                        "valueString": "1"
            },
            {
                        "name": "Okso",
                        "valueString": "40"
            },
            {
                        "name": "display",
                        "valueString": "Офтальмология"
            }],
            "resourceType": "Parameters"
}

Пример запроса №2 (Справочник не существует):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "НесущOID"
    },
    {
      "name": "code",
      "valueString": "4"
    }   
  ]        
}

Пример ответа №2 (Справочник не существует):

Код статуса HTTP: 500 Internal Server Error

BODY:

{
    "Message": "An error has occurred."
}


Пример запроса №3 api-version=2 (Справочник не существует):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "НесущOID"
    },
    {
      "name": "code",
      "valueString": "4"
    }   
  ]        
}

Пример ответа №3 api-version=2 (Справочник не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №4 (Версия справочника не существует):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "3"
    },
	{
		"name": "version",
		"valueString": "2222"
	}    
  ]        
}

Пример ответа №4 (Версия справочника не существует):

Код статуса HTTP: 500 Internal Server Error

BODY:

{
    "Message": "An error has occurred."
}


Пример запроса №5 api-version=2 (Версия справочника не существует):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "3"
    },
	{
		"name": "version",
		"valueString": "2222"
	}    
  ]        
}

Пример ответа №5 api-version=2 (Версия справочника не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №6 (Запись не существует):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "Error"
    }   
  ]        
}

Пример ответа №6 (Запись не существует):

Код статуса HTTP: 500 Internal Server Error

BODY:

{
    "Message": "An error has occurred."
}


Пример запроса №7 api-version=2 (Запись не существует):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "Error"
    }   
  ]        
}

Пример ответа №7 api-version=2 (Запись не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №8 (Нет доступа к приватным данным):

POST:

[base]/term/ValueSet/$lookup?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "ПриватныйOID"
    },
    {
      "name": "code",
      "valueString": "2"
    }   
  ]        
}

Пример ответа №8 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "issue": [
        {
            "code": "suppressed",
            "severity": "error",
            "diagnostics": "Для получения данных, необходимы соответствующие права!"
        }
    ],
    "resourceType": "OperationOutcome"
}

Приложение 5. Проверка наличия значения в справочнике

Пример запроса №1 (Положительный сценарий проверки):

URL:

[base]/term/ValueSet/$validate-code?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "urn:oid:1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "20"
    },
    {
      "name": "version",
      "valueString": "1"
    }
  ]       
}


Пример ответа №1 (Положительный сценарий проверки):  

Код статуса HTTP: 200 OK

BODY:

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


Пример запроса №2 (Отрицательный сценарий проверки):

URL:

[base]/term/ValueSet/$validate-code?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "urn:oid:1.2.643.5.1.13.2.1.1.181"
    },
    {
      "name": "code",
      "valueString": "2011"
    },
    {
      "name": "version",
      "valueString": "1"
    }
  ]       
}


Пример ответа №2 (Отрицательный сценарий проверки): 

Код статуса HTTP: 200 OK

BODY:

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


Пример запроса №3 (Справочник не существует):

POST:

[base]/term/ValueSet/$validate-code?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "НесущOID"
    },
    {
      "name": "code",
      "valueString": "4"
    }   
  ]        
}

Пример ответа №3 (Справочник не существует):

Код статуса HTTP: 404 Not Found

BODY:

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


Пример запроса №4 (Нет доступа к приватным данным):

POST:

[base]/term/ValueSet/$validate-code?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "ПриватныйOID"
    },
    {
      "name": "code",
      "valueString": "2"
    }   
  ]        
}

Пример ответа №4 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "issue": [
        {
            "code": "suppressed",
            "severity": "error",
            "diagnostics": "Для получения данных, необходимы соответствующие права!"
        }
    ],
    "resourceType": "OperationOutcome"
}

Приложение 6. Получение соответствий кодовых значений заданных справочников

Пример запроса №1 (Однозначное соответствие):

URL:

[base]/term/ConceptMap/translate?_format=json

BODY:

{"resourceType":"Parameters" ,"parameter":[
    {"name":"system","valueString":"1.2.643.5.1.13.2.1.1.541"},
    {"name":"code","valueString":"2"},
    {"name":"target","valueString":"1.2.643.5.1.13.2.1.1.554"},
        {"name":"reverse","valueBoolean":false},
    {"name":"coding","valueCoding":{"system":"translate_DietforTypesofDiabets"}}
]
}


Пример ответа №1 (Однозначное соответствие):

Код статуса HTTP: 200 OK

BODY:

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


Пример запроса №2 (Множественное соответствие):

URL:

[base]/term/ConceptMap/translate?_format=json

BODY:

{"resourceType":"Parameters" ,"parameter":[
    {"name":"system","valueString":"1.2.643.5.1.13.2.1.1.541"},
    {"name":"code","valueString":"1"},
    {"name":"target","valueString":"1.2.643.5.1.13.2.1.1.554"},
        {"name":"reverse","valueBoolean":false},
    {"name":"coding","valueCoding":{"system":"translate_DietforTypesofDiabets"}}
]
}


Пример ответа №2 (Множественное соответствие):

Код статуса HTTP: 200 OK

BODY:

{
    "parameter": [
        {
            "name": "result",
            "valueBoolean": true
        },
        {
            "name": "match",
            "part": [
                {
                    "name": "code",
                    "valueString": "1"
                },
                {
                    "name": "code",
                    "valueString": "2"
                },
                {
                    "name": "code",
                    "valueString": "3"
                },
                {
                    "name": "code",
                    "valueString": "5"
                },
                {
                    "name": "code",
                    "valueString": "4"
                }
            ]
        }
    ],
    "resourceType": "Parameters"
}


Пример запроса №3 (Нет соответствия):

URL:

[base]/term/ConceptMap/translate?_format=json

BODY:

{"resourceType":"Parameters" ,"parameter":[
    {"name":"system","valueString":"1.2.643.5.1.13.2.1.1.541"},
    {"name":"code","valueString":"4"},
    {"name":"target","valueString":"1.2.643.5.1.13.2.1.1.554"},
        {"name":"reverse","valueBoolean":false},
    {"name":"coding","valueCoding":{"system":"translate_DietforTypesofDiabets"}}
]
}


Пример ответа №3 (Нет соответствия):

Код статуса HTTP: 200 OK

BODY:

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


Пример запроса №4 (Справочник не существует):

URL:

[base]/term/ConceptMap/translate?_format=json

BODY:

{"resourceType":"Parameters" ,"parameter":[
    {"name":"system","valueString":"НесущOID"},
    {"name":"code","valueString":"4"},
    {"name":"target","valueString":"1.2.643.5.1.13.2.1.1.554"},
        {"name":"reverse","valueBoolean":false},
    {"name":"coding","valueCoding":{"system":"translate_DietforTypesofDiabets"}}
]
}


Пример ответа №4 (Справочник не существует):

Код статуса HTTP: 200 OK

BODY:

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

 

Приложение 7. Пакетное выполнение операций

Пример запроса №1:

URL:

[base]/term/batch?_format=json

BODY:

{
  "resourceType": "Bundle",
  "type": "batch",
  "entry": [
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString": "translate_MedRouteType"
          },
          {
            "name": "code",
            "valueString": "7-2"
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "ValueSet/$lookup"
      }
    },
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString": "translate_MedRouteType"
          },
          {
            "name": "code",
            "valueString": "7-2"
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "ValueSet/$validate-code"
      }
    },
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString":"1.2.643.2.69.1.1.1.55"
          },
          {
            "name": "code",
            "valueString": "2"
          },
          {
            "name": "target",
            "valueString":"1.2.643.5.1.13.13.11.1009"
          }, 
          {
            "name":"coding",
            "valueCoding":
            {
               "system":"translate_MedRouteType"
            }
          } 
        ]
      },
      "request": {
        "method": "POST",
        "url": "translate"
      }
    }
  ]
}


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

Код статуса HTTP: 200 OK

BODY:

{
    "type": "batch-response",
    "entry": [
        {
            "resource": {
                "parameter": [
                    {
                        "name": "display",
                        "valueString": "7-2"
                    },
                    {
                        "name": "1.2.643.2.69.1.1.1.55",
                        "valueString": "На восстановительное лечение"
                    },
                    {
                        "name": "1.2.643.5.1.13.13.11.1009",
                        "valueString": "На санаторно-курортное лечение"
                    }
                ],
                "resourceType": "Parameters"
            }
        },
        {
            "resource": {
                "parameter": [
                    {
                        "name": "result",
                        "valueBoolean": true
                    }
                ],
                "resourceType": "Parameters"
            }
        },
        {
            "resource": {
                "parameter": [
                    {
                        "name": "result",
                        "valueBoolean": true
                    },
                    {
                        "name": "match",
                        "part": [
                            {
                                "name": "code",
                                "valueString": "4"
                            },
                            {
                                "name": "code",
                                "valueString": "7"
                            }
                        ]
                    }
                ],
                "resourceType": "Parameters"
            }
        }
    ],
    "resourceType": "Bundle"
}


Пример запроса №2 (Справочник не существует):

URL:

[base]/term/batch?_format=json

BODY:

{
  "resourceType": "Bundle",
  "type": "batch",
  "entry": [
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString": "НесущOID"
          },
          {
            "name": "code",
            "valueString": "7-2"
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "ValueSet/$lookup"
      }
    },
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString": "translate_MedRouteType"
          },
          {
            "name": "code",
            "valueString": "7-2"
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "ValueSet/$validate-code"
      }
    },
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString":"НесущOID"
          },
          {
            "name": "code",
            "valueString": "2"
          },
          {
            "name": "target",
            "valueString":"1.2.643.5.1.13.13.11.1009"
          }, 
          {
            "name":"coding",
            "valueCoding":
            {
               "system":"translate_MedRouteType"
            }
          } 
        ]
      },
      "request": {
        "method": "POST",
        "url": "translate"
      }
    }
  ]
}


 Пример ответа №2 (Справочник не существует):

Код статуса HTTP: 200 OK

BODY:

{
    "type": "batch-response",
    "entry": [
        {
            "response": {
                "status": "An error has occurred"
            }
        },
        {
            "resource": {
                "parameter": [
                    {
                        "name": "result",
                        "valueBoolean": true
                    }
                ],
                "resourceType": "Parameters"
            }
        },
        {
            "resource": {
                "issue": [
                    {
                        "code": "not-found",
                        "severity": "error",
                        "diagnostics": "No resource was found"
                    }
                ],
                "resourceType": "OperationOutcome"
            }
        }
    ],
    "resourceType": "Bundle"
}

Пример запроса №3 (Нет доступа к приватным данным):

POST:

[base]/term/batch?_format=json

BODY:

{
  "resourceType": "Bundle",
  "type": "batch",
  "entry": [
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString": "ПриватныйOID"
          },
          {
            "name": "code",
            "valueString": "7-2"
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "ValueSet/$lookup"
      }
    },
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString": "ПриватныйOID"
          },
          {
            "name": "code",
            "valueString": "7-2"
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "ValueSet/$validate-code"
      }
    },
    {
      "resource": {
        "resourceType": "Parameters",
        "parameter": [
          {
            "name": "system",
            "valueString":"ПриватныйOID"
          },
          {
            "name": "code",
            "valueString": "2"
          },
          {
            "name": "target",
            "valueString":"ПриватныйOID"
          }, 
          {
            "name":"coding",
            "valueCoding":
            {
               "system":"ПриватныйOID"
            }
          } 
        ]
      },
      "request": {
        "method": "POST",
        "url": "translate"
      }
    }
  ]
}

Пример ответа №3 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "type": "batch-response",
    "entry": [
        {
            "resource": {
                "issue": [
                    {
                        "code": "suppressed",
                        "severity": "error",
                        "diagnostics": "Для получения данных, необходимы соответствующие права!"
                    }
                ],
                "resourceType": "OperationOutcome"
            }
        },
        {
            "resource": {
                "issue": [
                    {
                        "code": "suppressed",
                        "severity": "error",
                        "diagnostics": "Для получения данных, необходимы соответствующие права!"
                    }
                ],
                "resourceType": "OperationOutcome"
            }
        },
        {
            "resource": {
                "issue": [
                    {
                        "code": "suppressed",
                        "severity": "error",
                        "diagnostics": "Для получения данных, необходимы соответствующие права!"
                    }
                ],
                "resourceType": "OperationOutcome"
            }
        }
    ],
    "resourceType": "Bundle"
}

Приложение 8. Поиск значения в справочнике

Пример запроса №1:

Поиск записей справочника 1.2.643.5.1.13.13.11.1124, у которых атрибут «region» имеет значения 78 или 89, а атрибут «display» содержит подстроку «АМН СССР им. Д.О. Отта», учитывая введенный регистр.

URL GET:

[base]/term/ValueSet/1.2.643.5.1.13.13.11.1124/7/_search?region=78,89&display:cs=АМН СССР им. Д.О. Отта&_count=1&_page=1&_format=json

URL POST:

[base]/ term/ValueSet/_search?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "urn:oid:1.2.643.5.1.13.13.11.1124"
    },
    {
      "name": "version",
      "valueString": "7"
    },
    {
      "name": "region",
      "valueString": "78,79"
    },
    {
      "name": "display:cs",
      "valueString": "АМН СССР им. Д.О. Отта"
    },
    {
      "name": "_count",
      "valueString": "1"
    },
    {
      "name": "_page",
      "valueString": "1"
    }
  ]
}


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

Код статуса HTTP: 200 OK

BODY:

{
"type": "searchset",
"entry": [{
            "resource": {
                        "parameter": [{
                                    "name": "id",
                                    "valueString": "4464"
                        },
                        {
                                    "name": "code",
                                    "valueString": "4464"
                        },
                        {
                                    "name": "eoOid",
                                    "valueString": "1.2.643.5.1.13.13.12.4.78.584"
                        },
                        {
                                    "name": "region",
                                    "valueString": "78"
                        },
                        {
                                    "name": "display",
                                    "valueString": "Институт акушерства и гинекологии  АМН СССР им. Д.О. Отта"
                        },
                        {
                                    "name": "endDate",
                                    "valueString": "1992-01-04"
                        },
                        {
                                    "name": "nameFull",
                                    "valueString": "Институт акушерства и гинекологии  АМН СССР им. Д.О. Отта"
                        },
                        {
                                    "name": "beginDate",
                                    "valueString": "1989-09-15"
                        },
                        {
                                    "name": "nameShort",
                                    "valueString": "Институт акушерства и гинекологии  АМН СССР им. Д.О. Отта"
                                    }],
                                    "resourceType": "Parameters"
                        }
            }],
            "resourceType": "Bundle",
            "total": "1"
}


Пример ответа №2 (ни одна запись не найдена не подходит под условия поиска):

{
    "type": "searchset",
    "entry": [],
    "resourceType": "Bundle",
    "total": "0"
}

Пример запроса №3:

Справочник 1.2.643.2.69.1.1.1.64, имеет в своем атрибутном составе атрибут medobjtype типа “Ссылка М:М“. Производится поиск всех записей, у которых атрибут “Код” по справочнику medobjtype равен 99.

URL GET:

[base]/term/ValueSet/1.2.643.2.69.1.1.1.64/_search?medobjtype:eqpcode=99&_format=json


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

{
    "type": "searchset",
    "entry": [
        {
            "resource": {
                "parameter": [
                    {
                        "name": "code",
                        "valueString": "98d642c0-cdf6-4d76-ae1b-314fd08587e9"
                    },
                    {
                        "name": "text",
                        "valueString": "197022, СПб, ул. Льва Толстого, 6-8, Лит.Г, ,"
                    },
                    {
                        "name": "house",
                        "valueString": "6-8, Лит.Г"
                    },
                    {
                        "name": "orgid",
                        "valueString": "ce483c4c-3588-4521-b63f-eaabbbfda87e"
                    },
                    {
                        "name": "active",
                        "valueString": "true"
                    },
                    {
                        "name": "partOf",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "9e1e9540-14a3-41c9-b77b-59a41de85721",
                                    "system": "1.2.643.2.69.1.1.1.64",
                                    "display": "Клиника научно-исследовательского института хирургии и неотложной медицины",
                                    "version": "1669"
                                }
                            ]
                        }
                    },
                    {
                        "name": "display",
                        "valueString": "Эндоскопическое отделение №1"
                    },
                    {
                        "name": "latitude",
                        "valueString": "59.965309"
                    },
                    {
                        "name": "frmo_name",
                        "valueString": "Эндоскопическое отделение №1"
                    },
                    {
                        "name": "longitude",
                        "valueString": "59.965309"
                    },
                    {
                        "name": "versionId",
                        "valueString": "ae6451c4-106a-425f-8cba-646339266bde"
                    },
                    {
                        "name": "aoidStreet",
                        "valueString": "53cd356e-908e-463b-a9a3-07bc4b931852"
                    },
                    {
                        "name": "depart_oid",
                        "valueString": "1.2.643.5.1.13.13.12.2.78.8823.0.177052.58248"
                    },
                    {
                        "name": "medobjtype",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "1176",
                                    "system": "medobjtype",
                                    "display": "Хирургические",
                                    "version": "6"
                                },
                                {
                                    "code": "99",
                                    "system": "medobjtype",
                                    "display": "99",
                                    "version": "7"
                                },
                                {
                                    "code": "999",
                                    "system": "medobjtype",
                                    "display": "999",
                                    "version": "8"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streetName",
                        "valueString": "Льва Толстого"
                    },
                    {
                        "name": "lastUpdated",
                        "valueString": "2020-10-28T12:07:24.45063"
                    },
                    {
                        "name": "departTypeId",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "2",
                                    "system": "1.2.643.5.1.13.13.11.1098",
                                    "display": "Стационарный",
                                    "version": "1"
                                }
                            ]
                        }
                    },
                    {
                        "name": "prefixStreet",
                        "valueString": "ул"
                    },
                    {
                        "name": "Name_local_MO",
                        "valueString": "ФГБОУ ВО \"Первый Санкт-Петербургский государственный медицинский университет имени академика И.П. Павлова \" МЗ РФ"
                    },
                    {
                        "name": "subdivisionId",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "10013",
                                    "system": "1.2.643.5.1.13.13.99.2.228",
                                    "display": "Хирургические",
                                    "version": "1"
                                }
                            ]
                        }
                    },
                    {
                        "name": "ShortLegalName",
                        "valueString": "Эндоскопическое отделение №1"
                    },
                    {
                        "name": "name",
                        "valueString": "Эндоскопическое отделение №1"
                    },
                    {
                        "name": "id",
                        "valueString": "98d642c0-cdf6-4d76-ae1b-314fd08587e9"
                    },
                    {
                        "name": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                        "valueString": "99, 999, 1176"
                    }
                ],
                "resourceType": "Parameters"
            }
        },
        {
            "resource": {
                "parameter": [
                    {
                        "name": "code",
                        "valueString": "52846911-aace-4265-92f6-3607ba63378e"
                    },
                    {
                        "name": "text",
                        "valueString": "197022, СПб, ул. Льва Толстого, 6-8, Лит.Г, ,"

                    },
                    {
                        "name": "house",
                        "valueString": "6-8, Лит.Г"
                    },
                    {
                        "name": "orgid",
                        "valueString": "52846911-aace-4265-92f6-3607ba63378e"
                    },
                    {
                        "name": "active",
                        "valueString": "true"
                    },
                    {
                        "name": "display",
                        "valueString": "Эндоскопическое отделение №3"
                    },
                    {
                        "name": "latitude",
                        "valueString": "59.965309"
                    },
                    {
                        "name": "frmo_name",
                        "valueString": "Эндоскопическое отделение №3"
                    },
                    {
                        "name": "longitude",
                        "valueString": "59.965309"
                    },
                    {
                        "name": "versionId",
                        "valueString": "54619c66-e61a-44a7-a6fe-a6b835711bdd"
                    },
                    {
                        "name": "aoidStreet",
                        "valueString": "53cd356e-908e-463b-a9a3-07bc4b931852"
                    },
                    {
                        "name": "depart_oid",
                        "valueString": "1.2.643.5.1.13.13.12.2.78.8823.0.177052.58250"
                    },
                    {
                        "name": "medobjtype",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "1176",
                                    "system": "medobjtype",
                                    "display": "Хирургические",
                                    "version": "6"
                                },
                                {
                                    "code": "99",
                                    "system": "medobjtype",
                                    "display": "99",
                                    "version": "7"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streetName",
                        "valueString": "Льва Толстого"
                    },
                    {
                        "name": "lastUpdated",
                        "valueString": "2020-10-28T12:06:44.191298"
                    },
                    {
                        "name": "departTypeId",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "2",
                                    "system": "1.2.643.5.1.13.13.11.1098",
                                    "display": "Стационарный",
                                    "version": "1"
                                }
                            ]
                        }
                    },
                    {
                        "name": "prefixStreet",
                        "valueString": "ул"
                    },
                    {
                        "name": "Name_local_MO",
                        "valueString": "ФГБОУ ВО \"Первый Санкт-Петербургский государственный медицинский университет имени академика И.П. Павлова \" МЗ РФ"
                    },
                    {
                        "name": "subdivisionId",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "code": "10013",
                                    "system": "1.2.643.5.1.13.13.99.2.228",
                                    "display": "Хирургические",
                                    "version": "1"
                                }
                            ]
                        }
                    },
                    {
                        "name": "ShortLegalName",
                        "valueString": "Эндоскопическое отделение №3"
                    },
                    {
                        "name": "name",
                        "valueString": "Эндоскопическое отделение №3"
                    },
                    {
                        "name": "id",
                        "valueString": "52846911-aace-4265-92f6-3607ba63378e"
                    },
                    {
                        "name": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                        "valueString": "99, 1176"
                    }
                ],
                "resourceType": "Parameters"
            }
        }
    ],
    "total": 2,
    "resourceType": "Bundle"
}


Пример ответа №4 (Справочник не существует):

Код статуса HTTP: 404 Not Found

BODY:

{
    "issue": [
        {
            "severity": "error",
            "diagnostics": "No ValueSet resource with oid \"1.2.643.5.1.13.2\" was found."
        }
    ],
    "resourceType": "OperationOutcome"
}


Приложение 9. Получение данных ресурса «Organization»

Пример запроса №1:

GET URL:

[base]/term/Organization/6bae2bd4-eee0-4b47-8b62-cb7fda7b866e?_format=json

Код статуса HTTP: 200 OK

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

{
            "id": "6bae2bd4-eee0-4b47-8b62-cb7fda7b866e",
            "meta": {
                        "versionId": "6bae2bd4-eee0-4b47-8b62-cb7fda7b866e",
                        "lastUpdated": "2019-04-25T10:50:04.962487"
            },
            "name": "Тоурак ФАП, КГБУЗ \"Алтайская центральная районная больница\"",
            "active": true,
            ,
            "type": {
                        "coding": [{
                                    "code": "10070",
                                    "system": "medobjtype",
                                    "display": "Поликлинические отделения (кабинеты) / Женские консультации"
                        }]
            }"partOf": {
                        "display": "КГБУЗ \"Алтайская центральная районная больница\"",
                        "reference": "Organization/a3b3d262-c651-4ec1-81b4-9fc12f3e5d5e"
            },
            "address": [{
                        "text": "с Тоурак, ул Роднички, д 15"
            }],
            "extension": [{
                        "url": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                        "valueString": "Тоурак ФАП"
            }],
            "identifier": [{
                        "value": "a3b3d262-c651-4ec1-81b4-9fc12f3e5d5e",
                        "system": "orgid"
            }],
            "resourceType": "Organization"
}


Пример ответа №2 (ресурс не найден):

Код статуса HTTP: 404 Not Found

{
            "issue": [{
                        "severity": "error",
                        "diagnostics": "No Organization resource with id bca698f9-5320-47c5-9bab-d6dc4ba6fb2711 was found."
            }],
            "resourceType": "OperationOutcome"
}


Пример запроса №3 (метод search):

GET URL:

[base]/term/Organization/_search?_count=2&_format=json

Пример ответа №3 (метод search):

Код статуса HTTP: 200 OK

BODY:

{
            "type": "searchset",
            "entry": [{
                        "resource": {
                                    "id": "00e7dcbf-01f0-4b8c-805e-28eeead4217e",
                                    "meta": {
                                                "versionId": "00e7dcbf-01f0-4b8c-805e-28eeead4217e",
                                               "lastUpdated": "2018-12-10T15:47:26.113187"
                                    },
                                    "name": "краевое государственное бюджетное учреждение здравоохранения \"Краевой центр медицины катастроф\"",
                                    "type": {
                                               "coding": [{
                                                           "code": "98",
                                                           "system": "medorgtype",
                                                           "display": "медицины катастроф"
                                               }]
                                    },
                                    "active": true,
                                    "address": [{
                                               "text": "Алтайский Край"
                                    }],
                                    "extension": [{
                                               "url": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                                               "valueString": "КГБУЗ \"Краевой центр медицины катастроф\""
                                    },
                                    {
                                               "url": "http://zdravalt.ru/",
                                               "extension": [{
                                                           "url": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                                                           "valueString": "КГБУЗ \"Краевой центр медицины катастроф\""
                                               }]
                                    }],
                                    "identifier": [{
                                               "value": "1.2.643.5.1.13.13.12.2.22.1602",
                                               "system": "oid"
                                    },
                                    {
                                               "value": "00e7dcbf-01f0-4b8c-805e-28eeead4217e",
                                               "system": "orgid"
                                    }],
                                    "resourceType": "Organization"
                        }
            },
            {
                        "resource": {
                                    "id": "0130b0bb-d9c8-4318-b3e5-9dc12b34ca5b",
                                    "meta": {
                                               "versionId": "0130b0bb-d9c8-4318-b3e5-9dc12b34ca5b",
                                               "lastUpdated": "2018-12-10T15:47:26.113187"
                                    },
                                    "name": "краевое государственное бюджетное учреждение здравоохранения \"Наркологический диспансер г. Рубцовска\"",
                                    "type": {
                                               "coding": [{
                                                           "code": "29",
                                                           "system": "medorgtype",
                                                           "display": "наркологический"
                                               }]
                                    },
                                    "active": true,
                                    "address": [{
                                               "text": "Алтайский Край"
                                    }],
                                    "extension": [{
                                               "url": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                                               "valueString": "КГБУЗ \"Наркодиспансер Рубцовск\""
                                    },
                                    {
                                               "url": "http://zdravalt.ru/",
                                               "extension": [{
                                                           "url": "http://hl7.org/fhir/StructureDefinition/organization-alias",
                                                           "valueString": "КГБУЗ \"Наркодиспансер Рубцовск\""
                                               }]
                                    }],
                                    "identifier": [{
                                               "value": "1.2.643.5.1.13.13.12.2.22.1747",
                                               "system": "oid"
                                    },
                                    {
                                               "value": "0130b0bb-d9c8-4318-b3e5-9dc12b34ca5b",
                                               "system": "orgid"
                                    }],
                                    "resourceType": "Organization"
                        }
            }],
            "total": 1126,
            "resourceType": "Bundle"
}


Пример запроса №4 (Нет доступа к приватным данным):

GET URL:

[base]/term/Organization/6bae2bd4-eee0-4b47-8b62-cb7fda7b866e?_format=json


Пример ответа №4 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "issue": [
        {
            "code": "suppressed",
            "severity": "error",
            "diagnostics": "Для получения данных, необходимы соответствующие права!"
        }
    ],
    "resourceType": "OperationOutcome"
}

Приложение 10. Получение истории изменений справочника

Пример запроса №1:

GET URL:

[base]/term/ValueSet/1.2.643.5.1.13.13.11.1124/_versions_history/?low_version=1.2&high_version=1.6&page=1&count=10&_format=json

Пример запроса №2:

GET URL:

[base]/term/ValueSet/1.2.643.5.1.13.13.11.1124/_versions_history/?low_version_datetime=2019-09-04 17:00:00&high_version_datetime=2019-09-04 18:00:00&_format=json

Пример запроса №3:

URL POST:

[base]/term/ValueSet/_versions_history?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "urn:oid:1.2.643.5.1.13.13.11.1124"
    },
    {
      "name": "low_version",
      "valueString": "1.2"
    },
    {
      "name": "high_version",
      "valueString": "1.6"
    }
  ]       
}

Пример запроса №4:

URL POST:

[base]/term/ValueSet/_versions_history?_format=json

BODY:

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueString": "urn:oid:1.2.643.5.1.13.13.11.1124"
    },
    {
      "name": "low_version_datetime",
      "valueString": "2019-09-04 17:00:00"
    },
    {
      "name": "high_version_datetime",
      "valueString": "2019-09-04 18:00:00"
    }
  ]       
}


Пример ответа №1 (созданная, измененная, удаленная запись):

Код статуса HTTP: 200 OK

{
            "type": "searchset",
            "entry": [{
                        "resource": {
                                    "parameter": [{
                                               "name": "operation",
                                               "valueString": "delete"
                                    },
                                    {
                                               "name": "id",
                                               "valueString": "3620"
                                    },
                                    {
                                               "name": "code",
                                               "valueString": "3620"
                                    },
                                    {
                                               "name": "eoOid",
                                               "valueString": "1.2.643.5.1.13.13.12.4.52.967"
                                    },
                                    {
                                               "name": "region",
                                               "valueString": "52"
                                    },
                                    {
                                               "name": "display",
                                               "valueString": "Горьковское республиканское фармацевтическое училище"
                                    },
                                    {
                                               "name": "endDate",
                                               "valueString": "1990-11-26"
                                    },
                                    {
                                               "name": "nameFull",
                                               "valueString": "Горьковское республиканское фармацевтическое училище"
                                    },
                                    {
                                               "name": "beginDate",
                                               "valueString": "1954-01-01"
                                    },
                                    {
                                               "name": "nameShort",
                                               "valueString": "Горьковское республиканское фармацевтическое училище"
                                    }],
                                    "resourceType": "Parameters"
                        }
            },
            {
                        "resource": {
                                    "parameter": [{
                                               "name": "operation",
                                               "valueString": "update"
                                    },
                                    {
                                               "name": "code",
                                               "valueString": "3633"
                                    },
                                    {
                                               "name": "beginDate",
                                               "valueString": "1995-01-01"
                                    }],
                                    "resourceType": "Parameters"
                        }
            },
            {
                        "resource": {
                                    "parameter": [{
                                               "name": "operation",
                                               "valueString": "create"
                                    },
                                    {
                                               "name": "code",
                                               "valueString": "6301"
                                    },
                                    {
                                               "name": "eoOid",
                                               "valueString": "1.2.643.5.1.13.13.12.4.66.2234"
                                    },
                                    {
                                               "name": "region",
                                               "valueString": "66"
                                    },
                                    {
                                               "name": "display",
                                               "valueString": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"ИНТЕЛЛЕКТ-ГРУПП\""
                                    },
                                    {
                                               "name": "nameShort",
                                               "valueString": "ООО \"ИНТЕЛЛЕКТ-ГРУПП\""
                                    }],
                                    "resourceType": "Parameters"
                        }
            }],
            "resourceType": "Bundle",
            "total":"3"
}


Пример ответа №2 (версии справочника заданы некорректно: старшая меньше младшей):

Код статуса HTTP: 400 Bad Request

{
    "issue": [
        {
            "severity": "error",
            "diagnostics": "Старшая и младшая версия справочника заданы некорректно!"
        }
    ],
    "resourceType": "OperationOutcome"
}


Пример ответа №3 (заданы несуществующие версии справочника, несуществующий справочник):

Код статуса HTTP: 404 Not Found

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

Пример ответа №4 (Нет доступа к приватным данным):

Код статуса HTTP: 200 OK

BODY:

{
    "issue": [
        {
            "code": "suppressed",
            "severity": "error",
            "diagnostics": "Для получения данных, необходимы соответствующие права!"
        }
    ],
    "resourceType": "OperationOutcome"
}

Приложение 11. Проверка доступности сервиса 

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

Код статуса HTTP: 200 OK

{"version":"0.1.0+1412"}

Приложение 12. Получение списка справочников 

Пример запроса:
GET: [base]/term/dictionaries?_format=json

 

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

Код статуса HTTP: 200 OK

BODY:

{
     "parameter": [
            {
                   "name": "result",
                   "valueString": "<ArrayOfDictionaryContract xmlns=\"http://schemas.datacontract.org/2004/07/Netrika.TS.Contracts.Contracts\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><DictionaryContract><Comment i:nil=\"true\"/><Id>1b97985e-5a97-4cb8-8696-64bce5e46aaa</Id><IsModify>true</IsModify><LastUpdate>2022-02-09</LastUpdate><Name>Номенклатура коечного фонда медицинской организации</Name><SystemName>1.2.643.5.1.13.13.11.1069</SystemName><Uri>1.2.643.5.1.13.13.11.1069</Uri><Version>\"6\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>793ed1ac-c521-4a04-a4f5-59966c137aae</Id><IsModify>true</IsModify><LastUpdate>2022-02-09</LastUpdate><Name>Лекарственные формы лекарственных препаратов, в том числе необходимых для льготного обеспечения граждан лекарственными средствами</Name><SystemName>1.2.643.5.1.13.13.11.1466</SystemName><Uri>1.2.643.5.1.13.13.11.1466</Uri><Version>\"3\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>88c20554-56d5-40d1-9266-315a9d48e0f0</Id><IsModify>true</IsModify><LastUpdate>2022-02-09</LastUpdate><Name>ВИМИС. Тип генетического материала, используемого при вспомогательных репродуктивных технологиях (ВРТ)</Name><SystemName>1.2.643.5.1.13.13.99.2.678</SystemName><Uri>1.2.643.5.1.13.13.99.2.678</Uri><Version>\"2\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>3e31e2d0-f63b-415c-b437-5762df62ed99</Id><IsModify>true</IsModify><LastUpdate>2022-02-09</LastUpdate><Name>Перечень вредных и (или) опасных производственных факторов и работ, при выполнении которых проводятся обязательные предварительные и периодические медицинские осмотры (обследования)</Name><SystemName>1.2.643.5.1.13.13.11.1060</SystemName><Uri>1.2.643.5.1.13.13.11.1060</Uri><Version>\"14\"</Version><ParentName/></DictionaryContract><DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>2119c880-5602-4628-9ec0-356fe6e125c8</Id><IsModify>true</IsModify><LastUpdate>2022-02-11</LastUpdate><Name>Источники оплаты медицинской помощи</Name><SystemName>1.2.643.5.1.13.13.11.1039</SystemName><Uri>1.2.643.5.1.13.13.11.1039</Uri><Version>\"14\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>b0d5e9f5-970b-48ae-b563-95679af88691</Id><IsModify>true</IsModify><LastUpdate>2022-02-14</LastUpdate><Name>МКБ10 ред.СПб КЗ</Name><SystemName>mkb10</SystemName><Uri>1.2.643.2.69.1.1.1.2</Uri><Version>\"30\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>e31b7a75-b050-453a-960d-e538c7f1fd88</Id><IsModify>true</IsModify><LastUpdate>2022-02-14</LastUpdate><Name>Маппинг МКБ</Name><SystemName>translate_MKB</SystemName><Uri>translate_MKB</Uri><Version>\"14\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>3415b358-b63f-4d76-a521-55c6e64b2a91</Id><IsModify>true</IsModify><LastUpdate>2022-02-17</LastUpdate><Name>Базовые группы диагнозов МКБ-10</Name><SystemName>1.2.643.2.69.1.1.1.150.160</SystemName><Uri>1.2.643.2.69.1.1.1.150.160</Uri><Version>\"1\"</Version><ParentName/></DictionaryContract><DictionaryContract><Comment i:nil=\"true\"/><Id>522ca6ee-e9cf-4359-8df4-60ebd7d24588</Id><IsModify>true</IsModify><LastUpdate>2022-03-01</LastUpdate><Name>Отеки при беременности</Name><SystemName>1.2.643.2.69.1.1.1.150.35</SystemName><Uri>1.2.643.2.69.1.1.1.150.35</Uri><Version>\"3\"</Version><ParentName/></DictionaryContract></ArrayOfDictionaryContract>"
            }
     ],
     "resourceType": "Parameters"
}


 

Наверх