Сервис Терминологии предоставляет механизм управления процессом ведения нормативно-справочной информации и обеспечивает функции ее интеграции между различными учетными и информационными системами, являясь единым источником непротиворечивой информации о справочниках.
Описание решения
Назначение сервиса
Сервис НСИ предназначен для автоматизации процессов консолидации, первичной обработки и ведения нормативно-справочной информации. Данный программный компонент представляет собой механизм управления процессом ведения нормативно-справочной информации и обеспечивает функции ее интеграции между различными учетными и информационными системами, являясь единым источником непротиворечивой информации о справочниках.
Сценарии работы
Обмен данными между внешними системами и сервисом НСИ осуществляется в рамках следующих сценариев.
Получение данных паспорта справочника
Сервис НСИ возвращает паспортные значения заданного справочника.
Получение версий справочника
Сервис НСИ возвращает массив версий заданного справочника.
Получение справочных данных
Сервис НСИ возвращает содержательную часть справочника. Если в запросе указана версия справочника, то сервис возвращает справочные данные заданной версии справочника. Если версия не указана, то сервис возвращает справочные данные актуальной версии.
Получение дополнительной информации о значении (записи справочника)
Сервис НСИ возвращает дополнительную информацию записи заданного справочника с заданным кодом. Дополнительная информация – массив атрибутов и их значений расширенного атрибутного состава помимо обязательных атрибутов «код» и «наименование». Если в запросе указана версия справочника, то сервис возвращает значения заданной версии справочника. Если версия не указана, то сервис возвращает значения актуальной версии.
Проверка значения в справочнике
Сервис НСИ возвращает информацию о вхождении запрошенного значения в указанный справочник. Если в запросе указана версия справочника, то сервис осуществляет проверку наличия значения этой версии справочника. Если версия не задана, то сервис осуществляет проверку наличия значения в актуальной версии.
Поиск значения в справочнике
Сервис НСИ возвращает все записи справочника, удовлетворяющие заданным условиям поиска. Одно или несколько условий поиска может быть задано на конкретный атрибут справочника. Отобранные множества по каждому из атрибутов умножаются и формируют итоговый результат поиска.
Выполнение пакетных операций
Сервис НСИ предоставляет возможность выполнения пакетных операций заданного набора определенных методов сервиса.
Получение соответствий кодовых значений двух заданных справочников
Сервис НСИ возвращает информацию о соответствии кодового значения одного справочника кодовым значениям другого справочника.
Получение ресурса «Organization»
Сервис НСИ предоставляет возможность получения данных FHIR-ресурса «Organization». Ресурс «Organization» содержит данные о медицинских организациях. Ресурс «Organization» соответствует требованиям FHIR-спецификацией версии DSTU2 к ресурсу «Organization»: https://www.hl7.org/fhir/organization.html.
Получение истории изменений справочника
Сервис НСИ предоставляет возможность получения данных истории изменений запрашиваемых версий заданного справочника в виде детальной информации об изменениях – типе операции и измененных значениях атрибутов для каждой записи.
Получение номера версии сервиса
Сервис НСИ предоставляет возможность простой и быстрой проверки его технической доступности и состояния работоспособности.
Описание протокола взаимодействия
Общая информация
Информационный обмен осуществляется в соответствии со стандартом FHIR® (Fast Healthcare Interoperability Resources), разработанным организацией HL7. Подробное описание стандарта доступно по следующим ссылкам:
- http://hl7.org/fhir/summary.html
- http://fhir-ru.github.io/summary.html (перевод)
- http://fhir-ru.github.io/terminology-service.html (описание Терминологических сервисов).
В качестве протокола взаимодействия используется REST (использование REST - протокола в FHIR® – см. http://fhir-ru.github.io/http.html).
Авторизация в сервисе
Для обращения к сервису Терминологии обязательно указывать в параметре секции HEADERS сообщения авторизационный ключ в формате:
Authorization: [GUID передающей системы]
Авторизационный ключ (токен) является обязательным к заполнению и выдается системе-клиенту сервиса администратором интеграционной платформы.
По умолчанию для всех потребителей в подсистеме НСИ действуют полномочия на получения справочной информации публичных справочников. Для получения информации приватных справочников и операции модификации справочных данных необходимы расширенные полномочия, настраиваемые администратором подсистемы НСИ.
Формат обмена
В запросах к сервису НСИ возможно задать необходимый формат результата одним из способов:
- В секции HEADERS, например:
Content-Type: application/json
или
Content-Type: application/xml
-
В URL, например:
_format=json
или
_format=xml
Если формат не задан явным образом, то по умолчанию сервис формирует ответы в формате xml.
|
URL _format |
|||
не задан |
json |
xml |
||
HEADER |
не задан |
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 в определенных сценариях определяет параметры ответа. Различия в параметрах ответа при использовании конкретной версии интерфейса взаимодействия указаны при описании конкретных операций сервиса.
Операции со справочниками
Сервис Терминологии поддерживает следующие операции:
- Получение данных паспорта справочника (ValueSet?)
- Получение версий справочника ($versions)
- Получение справочных данных ($expand)
- Получение информации о значении ($lookup)
- Проверка наличия значения в справочнике ($validate-code)
- Получение соответствия кодовых значений заданных справочников (translate)
- Пакетное выполнение операций (batch)
- Поиск значения в справочнике (search)
- Получение истории изменений справочника (versions_history)
- Получение данных ресурса «Organization»
- Получение номера версии сервиса (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 |
Статус справочника. Возможные значения:
|
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 |
Статус справочника. Возможные значения:
|
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 |
Признак поиска обратного соответствия:
|
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 |
Название параметра:
|
4. |
parameter |
valueBoolean |
boolean |
Результат поиска:
|
5. |
parameter |
valueString |
sting |
Найденное кодовой соответствие |
Таблица 6.3. Параметры ответа (множественное соответствие)
№ п/п |
Параметр |
Контейнер |
Тип |
Описание |
1. |
Root |
|
|
|
2. |
/parameter |
|
array |
Параметры ответа |
3. |
parameter |
name |
sting |
Название параметра:
|
4. |
parameter |
valueBoolean |
boolean |
Результат поиска:
|
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 |
Выполняемая операция:
|
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 ссылочного справочника:
Для атрибутов типа «ссылка М:1» и «ссылка М:М» при поиске по кодовому значению ссылочного справочника:
|
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 |
Признак активности полученного ресурса:
|
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 |
Наименование параметра:
|
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=[формат]
Общие принципы работы метода:
- В результате вычисления дельты справочных данных выводятся все записи, которые были подвержены каким-либо изменениям относительно переданных версий.
- Для созданных записей в результате запроса передаются все пары код_атрибута:значение, которые заданы для записи.
- Для измененных записей в результате запроса передаются код записи и пары код_атрибута:знаечние измененных атрибутов.
- Для удаленных записей в результате запроса передаются все пары код_атрибута:значение, которые были заданы для записи.
Параметры запросов представлены в таблице 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, содержащий номер версии сервиса.