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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Получение ресурса «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).

Для выполнения операций со справочниками (пп.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

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

Получение версий справочника ($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

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

Получение справочных данных ($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» = 2

Код статуса HTTP

BODY

Код статуса HTTP

BODY

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

200 OK

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

200 OK

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

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

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"
        }]}

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

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"
        }]}

Получение информации о значении (записи справочника) ($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» = 2

Код статуса HTTP

BODY

Код статуса HTTP

BODY

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

200 OK

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

200 OK

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

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

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"
        }]}

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

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"
        }]}

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

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"
        }]}

Проверка наличия значения в справочнике ($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» = 2

Код статуса HTTP

BODY

Код статуса HTTP

BODY

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

200 OK

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

200 OK

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

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

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"
        }]}

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

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"
        }]}

Получение соответствия кодовых значений заданных справочников (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» - найденный код соответствующего значения

Пакетное выполнение операций (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». Каждый объект массива – ответ на одну операцию. Структура и состав полей соответствует описанию ответа конкретного метода.

Поиск значений в справочнике (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

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

Получение данных ресурса «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

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

Получение истории изменений справочника (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 – запись удалена.

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

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

[base]/version

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