Примеры запросов

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

Пример запроса №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"}