Получение данных паспорта справочника
Пример запроса №1:
GET: [base]/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 (несуществующий OID):
GET:[base]/ValueSet?_format=json&url=urn:oid:несущOID
Пример ответа №2 (несуществующий OID):
Код статуса HTTP: 200 OK BODY: { "type": "searchset", "resourceType": "Bundle" }
Получение версий справочника ($versions)
Пример запроса №1:
GET:[base]/ValueSet/1.2.643.5.1.13.2.1.1.181/$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 (несуществующий OID):
GET:[base]/ValueSet/1.2.643.5.1.13.2.1.1.181/$versions?_format=json
Пример ответа №2 (несуществующий OID):
Код статуса HTTP: 200 OK BODY: { "parameter": [{ "name": "result" }], "resourceType": "Parameters" }
POST-запрос значений справочника ($expand)
Пример запроса:
POST: [base]/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" }] }
Пример ответа:
Код статуса 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" }
Получение информации о значении (записи справочника) ($lookup)
Пример запроса:
URL: [base]/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" } ] }
Пример ответа:
Код статуса HTTP: 200 OK BODY: { "parameter": [{ "name": "High", "valueString": "1" }, { "name": "Okso", "valueString": "40" }, { "name": "display", "valueString": "Офтальмология" }], "resourceType": "Parameters" }
Валидация значения в справочнике ($validate-code)
Пример запроса №1 (положительный сценарий проверки):
URL: [base]/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]/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" }
Получение соответствий кодовых значений заданных справочников
Пример запроса №1:
URL: POST [base]/ConceptMap/translate?_format=json {"resourceType":"Parameters", "parameter":[ {"name":"system","valueString":"1.2.643.2.69.1.1.1.7"}, {"name":"code","valueString":"11"}, {"name":"target","valueString":"1.2.643.5.1.13.2.1.1.358"}, {"name":"reverse","valueBoolean":false}, {"name":"date","valueString":"2018-01-13 14:51:44.744241"}, {"name":"coding","valueCoding":{"system":"translate_test"}} ] }
Пример ответа №1 (однозначное соответствие):
Код статуса HTTP: 200 OK BODY: { "parameter": [{ "name": "result", "valueBoolean": true }, { "name": "match", "valueString": "3" }], "resourceType": "Parameters" }
Пример ответа №2 (множественное соответствие):
Код статуса HTTP: 200 OK BODY: { "parameter": [ { "name": "result","valueBoolean": true}, { "name": "match", "part": [ {"name": "code","valueString": "101"} {"name": "code","valueString": "121"}, {"name": "code","valueString": "122"}, ] } ], "resourceType": "Parameters" }
Пример ответа №3 (нет соответствия):
Код статуса HTTP: 200 OK BODY: { "parameter": [{ "name": "result", "valueBoolean": false }], "resourceType": "Parameters" }
Пример ответа №4 (в системе отсутствуют заданные справочники или заданный справочник соответствия):
Код статуса HTTP: 200 OK BODY: { "issue": [{ "code": "not-found", "severity": "error", "diagnostics": "No resource was found" }], "resourceType": "OperationOutcome" }
Пример ответа №5 (невозможно однозначно выявить соответствие кодовых значений, так как в системе присутствует несколько справочников соответствия указанной пары справочников):
Код статуса HTTP: 200 OK BODY: { "issue": [{ "severity": "error", "diagnostics": "Невозможно идентифицировать справочник маппинга" }], "resourceType": "OperationOutcome" }
Пакетное выполнение операций
Пример запроса №1:
URL: POST [base]/batch?_format=json { "ResourceType": "Bundle", "type": "batch", "entry": [ { "resource": { "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "1.2.643.5.1.13.2.1.1.716" }, { "name": "code", "valueString": "99" } ] }, "request": { "method": "POST", "url": "ValueSet/$lookup" } }, { "resource": { "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "1.2.643.5.1.13.2.1.1.716" }, { "name": "code", "valueString": "9900" } ] }, "request": { "method": "POST", "url": "ValueSet/$validate-code" } }, { "resource": { "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "1.2.643.2.69.1.1.1.7" }, { "name": "code", "valueString": "11" }, { "name": "target", "valueString": "1.2.643.5.1.13.2.1.1.358" } ] }, "request": { "method": "POST", "url": "translate" } } ] }
Пример ответа №1:
Код статуса HTTP: 200 OK BODY: { "type": "batch-response", "entry": [{ "resource": { "parameter": [{ "name": "REL", "valueString": "1" }, { "name": "PARENT", "valueString": "0" }, { "name": "display", "valueString": "Сексология" }], "resourceType": "Parameters" } }, { "resource": { "parameter": [{ "name": "result", "valueBoolean": false }], "resourceType": "Parameters" } }, { "resource": { "parameter": [{ "name": "result", "valueBoolean": true }, { "name": "match", "valueString": "3" }], "resourceType": "Parameters" } }], "resourceType": "Bundle" }
Поиск значения в справочнике
Пример запроса:
Поиск записей справочника 1.2.643.5.1.13.13.11.1124, у которых атрибут «region» имеет значения 78 или 89, а атрибут «display» содержит подстроку «АМН СССР им. Д.О. Отта», учитывая введенный регистр.
URL GET: [base]/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]/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" } ] }
Пример ответа:
Код статуса 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" }
Пример ответа (ни одна запись не найдена не подходит под условия поиска):
{ "type": "searchset", "entry": [], "resourceType": "Bundle", "total": "0" }
Получение истории изменений справочника
Пример запроса №1:
GET URL:[base]/ValueSet/1.2.643.2.69.1.1.1.2/_versions_history/?low_version=180&high_version=182&page=1&count=10&_format=json
Пример запроса №2:
GET URL:[base]/ValueSet/1.2.643.2.69.1.1.1.2/_versions_history/?low_version_datetime=2020-27-02 17:00:00&high_version_datetime=2020-09-04 18:00:00&_format=json
Пример запроса №3:
URL POST:[base]/ValueSet/_versions_history?_format=json
BODY: { "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "urn:oid:1.2.643.2.69.1.1.1.2" }, { "name": "low_version", "valueString": "180" }, { "name": "high_version", "valueString": "182" } ] }
Пример запроса №4:
URL POST: [base]/ValueSet/_versions_history?_format=json BODY: { "resourceType": "Parameters", "parameter": [ { "name": "system", "valueString": "urn:oid:1.2.643.2.69.1.1.1.31" }, { "name": "low_version_datetime", "valueString": "2020-02-27 17:00:00" }, { "name": "high_version_datetime", "valueString": "2020-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" }
Проверка доступности сервиса
Пример запроса:
URL GET: [base]/version
Пример ответа:
Код статуса HTTP: 200 OK {"version":"0.1.0+1412"}