Получение данных паспорта справочника
Пример запроса №1:
GET: http://b2b-demo.n3health.ru/nsi/fhir/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 (несуществующий OID):
GET:http://b2b-demo.n3health.ru/nsi/fhir/term/ValueSet?_format=json&url=urn:oid:несущOID
Пример ответа №2 (несуществующий OID):
Код статуса HTTP: 200 OK
BODY:
{
"type": "searchset",
"resourceType": "Bundle"
}
Получение версий справочника ($versions)
Пример запроса №1:
GET:http://b2b-demo.n3health.ru/nsi/fhir/term/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:http://b2b-demo.n3health.ru/nsi/fhir/term/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: http://b2b-demo.n3health.ru/nsi/fhir/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"
}]
}
Пример ответа:
Код статуса 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: http://b2b-demo.n3health.ru/nsi/fhir/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"
}
]
}
Пример ответа:
Код статуса HTTP: 200 OK
BODY:
{
"parameter": [{
"name": "High",
"valueString": "1"
},
{
"name": "Okso",
"valueString": "40"
},
{
"name": "display",
"valueString": "Офтальмология"
}],
"resourceType": "Parameters"
}
Валидация значения в справочнике ($validate-code)
Пример запроса №1 (положительный сценарий проверки):
URL: http://b2b-demo.n3health.ru/nsi/fhir/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: http://b2b-demo.n3health.ru/nsi/fhir/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"
}
Получение соответствий кодовых значений заданных справочников
Пример запроса №1:
URL: POST http://b2b-demo.n3health.ru/nsi/fhir/term/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 http://b2b-demo.n3health.ru/nsi/fhir/term/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: http://b2b-demo.n3health.ru/nsi/fhir/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:http://b2b-demo.n3health.ru/nsi/fhir/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"
}
]
}
Пример ответа:
Код статуса 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:http://b2b-demo.n3health.ru/nsi/fhir/term/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:http://b2b-demo.n3health.ru/nsi/fhir/term/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:http://b2b-demo.n3health.ru/nsi/fhir/term/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: http://b2b-demo.n3health.ru/nsi/fhir/term/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: http://b2b-demo.n3health.ru/nsi/fhir/term/version
Пример ответа:
Код статуса HTTP: 200 OK
{"version":"0.1.0+1412"}