# Интеграция ЛИС - Порядок работы
1. Получение каталога ЛМИ
2. Запрос направлений.
1. Запрос списка направлений.
2. Получение информации о пациенте.
3. Запрос направления по ID со штрих кода.
3. Создание ресурсов.
1. Создание результатов для тестов
2. Создание результатов для услуг
3. Создание результатов для тестов и услуг одним запросом
4. Изменение статуса направления;
5. Просмотр справочников;
6. Сохранение печатной формы;
7. Простановка даты взятия материала.
*Примечание:*
baseUrl - адрес сервиса, авторизация [Basic](https://docs.aidbox.app/auth-betta/basic-auth#basic-auth) (Client.id - имя пользователя/системы, Client.secret - пароль)
## 1 Получение каталога ЛМИ
### 1.1. Запрос всех исследований
Получить `id` организации
`GET https://{baseUrl}/fhir/Organization?identifier=urn:identity:oid:Organization|{performer_oid}`
, где `performer_oid` - OID организации
Структура ответа:
```json
{
"resourceType": "Bundle",
"entry": [
{
"resource": {
"address": [
"address": [
{
"text": "428028, Чувашская Республика - Чувашия, Чебоксары г, Тракторостроителей пр-кт, дом № 46",
"type": "postal",
"extension": [
{
"url": "urn:extension:fias",
"valueString": "23453976-6192-4782-8bd5-205c3969648b"
},
{
"url": "urn:extension:regionId",
"valueString": "21"
}
]
},
{
"city": "г. Чебоксары",
"type": "physical",
"state": "Чувашская Республика",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/geolocation",
"extension": [
{
"url": "latitude",
"valueDecimal": 56.099089
},
{
"url": "longitude",
"valueDecimal": 47.300369
}
]
},
{
"url": "urn:extension:regionId",
"valueString": "21"
},
{
"url": "urn:extension:fias",
"valueString": "23453976-6192-4782-8bd5-205c3969648b"
},
{
"url": "urn:extension:fiasVersion",
"valueString": "335"
},
{
"url": "urn:extension:territoryCode",
"valueString": "97"
}
],
"line": [
"пр-кт. Тракторостроителей, дом 46"
],
"text": "Чувашская Республика - г. Чебоксары, пр-кт. Тракторостроителей, дом 46"
}
],
"meta": {
"lastUpdated": "2021-09-27T13:16:20.331493Z",
"createdAt": "2019-11-05T07:21:57.083458Z",
"versionId": "122656761"
},
"name": "Бюджетное учреждение Чувашской Республики \"Городская клиническая больница №1\" Министерства здравоохранения Чувашской Республики",
"resourceType": "Organization",
"alias": [
"БУ \"Городская клиническая больница №1\" Минздрава Чувашии",
"БУ ГКБ1"
],
"active": true,
"id": "ab241ca8-ff79-4330-9ca4-c80e6324b1ad",
"identifier": [
...
{
"value": "1.2.643.5.1.13.13.12.2.21.1525",
"system": "urn:identity:oid:Organization"
}
...
],
"telecom": [
{
"value": "(8352) 64-87-01",
"system": "phone"
},
{
"value": "(8352) 64-87-01",
"system": "fax"
}
],
"contact": [
...
]
},
"fullUrl": "/Organization/ab241ca8-ff79-4330-9ca4-c80e6324b1ad",
"link": [
{
"relation": "self",
"url": "/Organization/ab241ca8-ff79-4330-9ca4-c80e6324b1ad"
}
]
}
]
}
```
`GET https://{baseUrl}/fhir/PlanDefinition?type=KDL,BAK&status=active&mainOrganization={org-id}`
, где `org-id` - id организации.
Структура ответа:
```json
{
"resourceType": "Bundle",
"type": "searchset",
"meta": {
"versionId": "83974313"
},
"entry": [
{
"resource": {
"date": "2021-09-20T14:09:14",
"meta": {
"lastUpdated": "2021-10-01T11:15:42.095963Z",
"versionId": "123876269",
"extension": [
{
"url": "ex:createdAt",
"valueInstant": "2021-09-20T11:09:06.008267Z"
}
]
},
"name": "СОЭ-скорость оседания эритроцитов крови",
"type": {
"coding": [
{
"code": "subspeciesLi",
"system": "urn:CodeSystem:plandefinition-subspeciesLi"
},
{
"code": "ESLI.TYPE_LI.2",
"system": "urn:CodeSystem:plandefinition-li-type",
"display": "Гематологическое исследование"
},
{
"code": "KDL",
"system": "urn:Lab-catalog-type",
"display": "КДЛ"
},
{
"id": "LabResearchGroup.101",
"code": "101",
"system": "urn:CodeSystem:LabResearchGroup",
"display": "Гематологические исследования"
}
]
},
"resourceType": "PlanDefinition",
"title": "СОЭ-скорость оседания эритроцитов крови",
"extension": [
{
"url": "urn:extension:subscribers",
"valueReference": {
"reference": "List/8a13240d-77a8-42e2-86d7-ce8b0869c5af"
}
},
{
"url": "urn:extension:mainOrganization",
"valueReference": {
"display": "БУ \"Городская клиническая больница №1\" Минздрава Чувашии",
"reference": "Organization/ab241ca8-ff79-4330-9ca4-c80e6324b1ad"
}
}
],
"status": "active",
"id": "0b2c4df6-7de9-4006-87f9-42a47f92220f",
"action": [
{
"definitionCanonical": "PlanDefinition/ed2a4992-2e2c-4766-9879-1f60ace8a3d2"
},
{
"definitionCanonical": "ActivityDefinition/f60149e3-a511-4ed5-81e4-eed3c7ba4f08"
}
]
},
"fullUrl": "/PlanDefinition/0b2c4df6-7de9-4006-87f9-42a47f92220f",
"link": [
{
"relation": "self",
"url": "/PlanDefinition/0b2c4df6-7de9-4006-87f9-42a47f92220f"
}
]
}
]
}
```
### 1.2. Запрос услуг исследования
Каждое исследование содержит массив ссылок на услуги:
```json
{
...
"action": [
{
"definitionCanonical": "ActivityDefinition/f60149e3-a511-4ed5-81e4-eed3c7ba4f08"
}
]
...
}
```
Для каждого элемента массива направляется запрос услуги:
`GET https://{baseUrl}/fhir/{definitionCanonical}`
### 1.3. Запрос тестов
Каждая услуга содержит массив ссылок на тесты:
```json
{
...
"observationResultRequirement": [
{
"reference": "ObservationDefinition/b143c1ca-5f4d-4963-86b2-b9d8176bb09f"
},
{
"reference": "ObservationDefinition/efaa8bb5-a364-4495-a005-51f0e04b8338"
}
]
...
}
```
Для каждого элемента массива направляется запрос теста:
`GET https://{baseUrl}/fhir/{observationResultRequirement.*.reference}`
### 1.4. Получение идентификатора каталога
id каталога можно получить по запросу
`/$get-pd-by-mo?org-oid={org-oid}&service={research-code}&type={catalog-type}`
`org-oid` = oid организации
`research-code` = код услуги в соответствии со справочником 1.2.643.5.1.13.13.11.1070 )
`catalog-type` = KDL
пример:
`/$get-pd-by-mo?org-oid=1.2.643.5.1.13.13.12.2.21.1525&service=A26.08.008.001&type=KDL`
## 2. Запрос направлений
### 2.1. Запрос списка направлений
`GET https://{baseUrl}/fhir/ServiceRequest?_count=20&page=1&category=urn:CodeSystem:servicerequest-category%7CReferral-LMI&category:not=urn:CodeSystem:lab-group%7C501,urn:CodeSystem:lab-group%7C13&status=active&performer:identifier=urn:identity:oid:Organization|{performer_oid}`
, где `performer_oid` - OID организации
[Документация запроса](https://docs.aidbox.app/basic-concepts/search-1)
[Описание FHIR ресурса ServiceRequest](https://www.hl7.org/fhir/servicerequest.html)
Структура ответа:
```json
{
"resourceType": "Bundle",
"type": "searchset",
"meta": {
"versionId": "73272778"
},
"entry": [
{
"resource": {
"category": [
{
"text": "Направление на лабораторное исследование",
"coding": [
{
"code": "Referral-LMI",
"system": "urn:CodeSystem:servicerequest-category",
"display": "Направление на лабораторное исследование"
},
{
"code": "101",
"system": "urn:CodeSystem:lab-group",
"display": "Гематологические исследования"
}
]
}
],
"instantiatesCanonical": [
"PlanDefinition/122e1-1cf8-44d8-826e-03bea9397166_92"
],
"meta": {
"lastUpdated": "2021-10-06T06:44:17.118377Z",
"versionId": "124640259",
"extension": [
{
"url": "ex:createdAt",
"valueInstant": "2021-10-06T06:44:17.118377Z"
}
]
},
"encounter": {
"type": "Encounter",
"identifier": {
"value": "dda29190-5060-491b-8362-c63e5b5dd509",
"system": "urn:source:rmis:Encounter"
},
"display": "История болезни № 8"
},
"specimen": [
{
"type": "Specimen",
"identifier": {
"value": "57a9c3b0-be75-4c2d-96d8-ce3e0f3168c1",
"system": "urn:source:rmis:Specimen"
}
}
],
"reasonCode": [
{
"coding": [
{
"code": "B90.0",
"system": "urn:CodeSystem:icd-10",
"display": "Отдаленные последствия туберкулеза центр. нервной системы"
}
]
}
],
"authoredOn": "2021-10-06T09:44:00",
"resourceType": "ServiceRequest",
"extension": [
{
"url": "urn:extension:requestedOrganizationDepartment",
"valueReference": {
"type": "Organization",
"identifier": {
"value": "12",
"system": "urn:source:rmis:Organization"
},
"display": "Кардиологическое"
}
},
{
"url": "urn:extension:requestedOrganization",
"valueReference": {
"type": "Organization",
"identifier": {
"value": "1.2.643.5.1.13.13.12.2.21.1525",
"system": "urn:identity:oid:Organization"
},
"display": "БУ \"Городская клиническая больница №1\" Минздрава Чувашии"
}
},
{
"url": "urn:extension:paymentType",
"valueCoding": {
"code": "1",
"system": "urn:CodeSystem:paymentType",
"display": "ОМС"
}
},
{
"url": "urn:extension:performerInfo",
"extension": [
{
"url": "urn:extension:performerInfo.performedBy",
"valueReference": {
"type": "PractitionerRole",
"identifier": {
"system": "urn:source:rmis:PractitionerRole"
}
}
},
{
"url": "urn:extension:performerInfo.requestStatus",
"valueCode": "new"
},
{
"url": "urn:extension:performerInfo.requestActionHistory",
"extension": [
{
"url": "urn:extension:performerInfo.requestActionHistory.date",
"valueDateTime": "2021-10-06T09:44:25.677"
},
{
"url": "urn:extension:performerInfo.requestActionHistory.action",
"valueString": "new"
}
]
},
{
"url": "urn:extension:performerInfo.requestActionHistory",
"extension": [
{
"url": "urn:extension:performerInfo.requestActionHistory.date",
"valueDateTime": "2021-10-06T06:44:02.710"
},
{
"url": "urn:extension:performerInfo.requestActionHistory.action",
"valueString": "new"
}
]
}
]
}
],
"requester": {
"type": "PractitionerRole",
"identifier": {
"value": "112-901-495 23_1.2.643.5.1.13.13.12.2.21.1506.0.94504_2019-08-19_34",
"system": "urn:identity:mis-rmis:PractitionerRole"
},
"display": "КАРДИОЛОГ ВРАЧ МИХАЙЛОВНА; Врач-кардиолог"
},
"priority": "routine",
"status": "active",
"id": "c02cf7f2-45fb-4588-a1c2-60c0486ba7d3",
"code": {
"coding": [
{
"code": "pak_87e122e1-1cf8-44d8-826e-03bea9397166_92",
"system": "urn:CodeSystem:rmis:ServiceRequest",
"display": "Исследования на Treponema pallidum"
},
{
"code": "A26.06.082.002",
"system": "urn:CodeSystem:Nomenclature-medical-services",
"display": "Исследования на Treponema pallidum",
"version": "1"
}
]
},
"identifier": [
{
"value": "57a9c3b0-be75-4c2d-96d8-ce3e0f3168c1",
"system": "urn:source:rmis:ServiceRequest"
},
{
"value": "0521000330",
"system": "urn:identity:Serial:ServiceRequest"
}
],
"intent": "original-order",
"orderDetail": [
{
"coding": [
{
"code": "A26.06.082.002",
"system": "urn:CodeSystem:Nomenclature-medical-services",
"display": "Определение антител к бледной трепонеме (Treponema pallidum) иммуноферментным методом (ИФА) в крови"
},
{
"code": "1048131",
"system": "urn:CodeSystem:Laboratory-Research-and-Test",
"display": "Антитела IgМ к Treponema pallidum, обнаружение в сыворотке крови"
}
]
}
],
"locationCode": [
{
"coding": [
{
"code": "1",
"system": "urn:CodeSystem:mis.medical-help-type",
"display": "Стационарная медицинская помощь"
}
]
}
],
"subject": {
"type": "Patient",
"identifier": {
"value": "2149330841000226",
"system": "urn:identity:enp:Patient"
},
"display": "УВАРОВ ВАЛЕНТИН ВАЛЕРЬЯНОВИЧ, 08.10.1966"
},
"performer": [
{
"type": "Organization",
"identifier": {
"value": "1.2.643.5.1.13.13.12.2.21.1521",
"system": "urn:identity:oid:Organization"
},
"display": "БУ \"Республиканский кожно-венерологический диспансер\" Минздрава Чувашии"
}
]
},
"fullUrl": "/ServiceRequest/c02cf7f2-45fb-4588-a1c2-60c0486ba7d3",
"link": [
{
"relation": "self",
"url": "/ServiceRequest/c02cf7f2-45fb-4588-a1c2-60c0486ba7d3"
}
]
}
]
}
```
### 2.2. Получение информации о пациенте
Для каждого полученного направления для получения подробной информации о пациенте направляется запрос:
`GET https://{baseUrl}/ServiceRequest?identifier={identifier-system}|{identifier-value}&_with=subject:logical`
, где `identifier-system` и `identifier-value` соответствующие значения `identifier` направления.
Например:
```json
{
"identifier": [
{
"value": "57a9c3b0-be75-4c2d-96d8-ce3e0f3168c1",
"system": "urn:source:rmis:ServiceRequest"
}
]
}
```
Структура ответа:
```json
{
"include-queries": [
[
"SELECT * FROM \"patient\" WHERE (knife_extract_text(resource,$$[[\"identifier\",\"value\"]]$$) && ARRAY['2150030845000133'] AND (knife_extract_text(resource,$$[[\"identifier\",{\"system\":\"urn:identity:insurance-gov:Patient\"},\"value\"]]$$) && ARRAY['2150030845000133'])) LIMIT ?",
1000
]
],
"type": "searchset",
"resourceType": "Bundle",
"total": 1,
"entry": [
{
"resource": {
"resourceType": "ServiceRequest",
"subject": {
"identifier": {
"system": "urn:identity:enp:Patient",
"value": "patient-enp"
}
}
...
}
},
{
"resource": {
"resourceType": "Patient",
"identifier": [
{
"system": "urn:identity:enp:Patient",
"value": "patient-enp"
}
...
]
...
}
}
]
}
```
### 2.3. Запрос направления по ID со штрих кода
`GET https://{baseUrl}/fhir/ServiceRequest?identifier=urn:identity:Serial:ServiceRequest|{serial}`
, где `serial` - ID в штрих коде, например `1226`
*Примечание: ответ аналогичен п.1.1, в котором будет одно направление*
## 3. Создание ресурсов
Создание ресурсов происходит через интеграционную очередь методом `POST https://{baseUrl}/IntegrationQueue`.
Структура запросов:
```json
{
"clientId": "{clientId}",
"method": "{POST, PUT}", // POST - создание, PUT - обновление
"format": "fhir",
"payload": {
... // содержимое ресурса описано ниже
}
}
```
[Документация запроса](https://docs.aidbox.app/api-1/api/crud-1/fhir-and-aidbox-crud)
Далее запрос помещается в очередь и ему устанавливается `status` и записывается сообщение о проведенной операции `message`.
Перечень статусов:
| статус | описание |
| ------------- | ------------------------------ |
| pending | в ожидании |
| synced | успешно обработан |
| errored | произошла ошибка |
| unprocessable | запрос не может быть обработан |
При создании ссылки на пациента можно использовать следующие идентификаторы:
| **urn:identity:<code>:Patient** | **Описание** |
| :------------------------------ | :-------------------------------------------- |
| passport-rf | Паспорт РФ |
| passport-ussr | Паспорт гражданина СССР |
| birth-certificate | Свидетельство о рождении |
| snils | СНИЛС |
| insurance-gov | Полис ОМС |
| insurance-gov-legacy | Полис ОМС старого образца |
| insurance-gov-temporary | Временно свидетельство ДПФС (временный полис) |
| enp | ЕНП (единый номер полиса) |
| mvd | Удостоверение личности офицера |
### 3.1. Создание материала
[Описание FHIR ресурса Specimen](https://www.hl7.org/fhir/specimen.html)
```json
{
"type": {
"coding": [
{
"system": "urn:oid:1.2.643.5.1.13.13.11.1081",
"version": "1" // значение в соответствии со справочником 1.2.643.5.1.13.13.11.1081
}
]
},
"subject": {
"type": "Patient",
"display": "Фамилия Имя Отчество, дд.мм.гггг",
"identifier": {
"value": "единый номер полиса",
"system": "urn:identity:enp:Patient"
}
},
"identifier": [
{
"value": "{external_id}", // уникальный идентификатор созданного ресурса в системе-источнике
"system": "urn:source:{clientId}:Specimen"
}
]
}
```
### 3.2. Создание результата для теста
[Описание FHIR ресурса Observation](https://www.hl7.org/fhir/observation.html)
Содержимое запроса:
```json
{
"identifier": [
{
"system": "urn:source:{clientId}:Observation",
"value": "{external_id}"
}
],
"code": {
"coding": [
{
"code": "1021518", // Код ФСЛИ
"system": "urn:CodeSystem:Laboratory-Research-and-Test",
"display": "Лейкоциты, количество в объёме в осадка мочи по методу Нечипоренко"
}
]
},
"status": "final",
"subject": {
"resourceType": "Patient",
"display": "ТЕСТОВ ТЕСТ ТЕСТОВИЧ 05.11.1966",
"id": "044e1ee9-a325-4cd1-b753-181da69c952f"
},
"interpretation": [
{
"coding": [
{
"code": "N",
"system": "urn:oid:1.2.643.5.1.13.13.11.1381",
"display": "Нормальный"
}
]
}
],
"valueQuantity": {
"code": "136",
"unit": "1/мл",
"value": 3,
"system": "urn:CodeSystem:Measure-Unit"
},
"referenceRange": [
{
"age": {
"low": {
"value": 19
},
"high": {
"value": 60
}
},
"low": {
"value": 2
},
"high": {
"value": 15
},
"extension": [
{
"url": "urn:extension:qualifiedInterval.month",
"valueRange": {
"low": {
"value": 1
},
"high": {
"value": 5
}
}
}
]
}
],
"resourceType": "Observation",
"effectiveDateTime": "2020-09-01T15:40:42"
}
```
, где `external_id` - уникальный идентификатор созданного ресурса в системе-источнике
### 3.3. Создание результата для услуги
[Описание FHIR ресурса DiagnosticReport](https://www.hl7.org/fhir/diagnosticreport.html)
#### 3.3.1. Создание успешного результата
Структура запроса:
```json
{
"identifier": [
{
"system": "urn:source:{clientId}:DiagnosticReport",
"value": "{external_id}"
}
],
"category": [
{
"text": "Направление на лабораторное исследование",
"coding": [
{
"code": "Referral-LMI",
"system": "urn:CodeSystem:servicerequest-category",
"display": "Направление на лабораторное исследование"
},
{
"code": "102",
"system": "urn:CodeSystem:lab-group",
"display": "Химико-микроскопические исследования"
}
]
}
],
"specimen": [
{
"type": "Specimen",
// Ссылка на материал из направления
"identifier": {
"value": "1e26f7e3-6ffa-4fd4-b162-6a8db520c5a3",
"system": "urn:source:{clientId}:Specimen"
}
}
],
"resourceType": "DiagnosticReport",
"status": "final",
"result": [
{
// Ссылка на результат теста
"id": "d30213f1-8d8f-436e-86d4-b9f75c782022",
"resourceType": "Observation"
},
],
"code": {
"coding": [
{
"code": "B03.016.014",
"system": "urn:CodeSystem:Nomenclature-medical-services",
"display": "Исследование мочи методом Нечипоренко"
}
]
},
"basedOn": [
{
// Допустимо указать один из вариантов ссылки на ServiceRequest
// Прямая ссылка
"resourceType": "ServiceRequest",
"id": "8ef08d35-129a-48e1-b3a2-929fcdb2f9ca",
// Лолгическая ссылка
"type": "ServiceRequest",
"identifier": { // Идентификатор полученного направления
"value": "1e26f7e3-6ffa-4fd4-b162-6a8db520c5a3",
"system": "urn:source:rmis:ServiceRequest"
}
}
],
"subject": {
"type": "Patient",
"identifier": {
"value": "<patient-enp>",
"system": "urn:identity:<code>:Patient"
}
},
"presentedForm": [ // Данные файла печатной формы (см. п.5)
{
"attachment": {
"url": "/storage/download/<filename>",
"size": "<filesize>",
"title": "Печатная форма для результата ...",
"contentType": "application/<type>"
}
}
],
"effective": {
"dateTime": "2021-09-29T10:18:34"
},
"performer": [
{
"type": "Organization",
"identifier": {
"value": "1.2.643.5.1.13.13.12.2.21.1521",
"system": "urn:identity:oid:Organization"
},
"display": "БУ \"Республиканский кожно-венерологический диспанМинздрава Чувашии"
},
{
"type": "Practitioner",
"display": "<Ф.И.О. врача>",
"identifier": {
"value": "<СНИЛС врача>",
"system": "urn:identity:snils:Doctor"
}
},
{
"type": "PractitionerRole",
"display": "<Наименование должности по ФРМР>",
"identifier": {
"value": "<Код должности>",
"system": "urn:CodeSystem:frmr.position"
}
}
]
}
```
, где `external_id` - уникальный идентификатор созданного ресурса в системе-источнике
#### 3.3.2 Создание результата с отказом
```json
{
"resourceType": "DiagnosticReport",
"conclusion": "причина отмены",
"status": "cancelled",
... // Остальное содержимое результата из п.3.3.1
]
}
```
, где `external_id` - уникальный идентификатор созданного ресурса в системе-источнике
### 3.4. Отправка результатов тестов и услуг одним запросом
`POST https://{baseUrl}/`
[Документация запроса](https://docs.aidbox.app/basic-concepts/transaction)
[Описание FHIR ресурса Bundle](https://www.hl7.org/fhir/bundle.html)
*Примечание: если ресурс ссылается на другой ресурс в `Bundle`, то он должен следовать после ресурса на который ссылается.*
```json
{
"entry": [
{
"request": {
"method": "POST",
"url": "/IntegrationQueue"
},
"resource": {
...
}
},
{
"request": {
"method": "POST",
"url": "/IntegrationQueue"
},
"resource": {
...
}
},
... // может быть множество
],
"resourceType": "Bundle",
"type": "transaction"
}
```
### 3.5. Отмена результатов
Поиск всех созданных результатов:
`GET https://{baseUrl}/fhir/{resourceType}?based-on={servicerequest_id}&identifier=urn:source:{clientId}:{resourceType}|`
Изменение отдельных полей в ресурсе:
`PATCH https://{baseUrl}/{resourceType}/{id}`
, где `resourceType` DiagnosticReport или Observation
[Документация запроса](https://docs.aidbox.app/basic-concepts/crud-1/patch)
Структура запроса:
```json
[
{
"op":"replace",
"path": "/status",
"value": "cancelled"
}
]
```
### 3.6. Изменение статуса направления
`PATCH https://{baseUrl}/ServiceRequest/{Id}`
[Документация запроса](https://docs.aidbox.app/basic-concepts/crud-1/patch)
#### 3.6.1. При взятии в работу направления
Структура запроса:
```json
[
{
"op":"replace",
"path": "/status",
"value": "on-hold"
}
]
```
#### 3.6.2. При выполнении направления
Структура запроса:
```json
[
{
"op":"replace",
"path": "/status",
"value": "completed"
}
]
```
## 4. Просмотр справочников
### 4.1 Просмотр данных справочника
`GET https://{baseUrl}/fhir/CodeSystem?url={system}`
[Документация запроса](https://docs.aidbox.app/terminology/codesystem-and-concept)
Структура ответа
`GET https://{baseUrl}/fhir/CodeSystem?url=urn:CodeSystem:Laboratory-Research-and-Test`
```json
{
"resourceType": "Bundle",
"type": "searchset",
"meta": {
"versionId": "74136549"
},
"entry": [
{
"resource": {
"url": "urn:CodeSystem:Laboratory-Research-and-Test",
"title": "Справочник лабораторных исследований и тестов",
"status": "active",
"content": "complete",
"id": "Laboratory-Research-and-Test",
"resourceType": "CodeSystem",
"meta": {
"lastUpdated": "2019-11-13T11:53:34.235172Z",
"versionId": "66938109",
"extension": [
{
"url": "ex:createdAt",
"valueInstant": "2019-11-13T11:53:34.235172Z"
}
]
}
},
"fullUrl": "/CodeSystem/Laboratory-Research-and-Test",
"link": [
{
"relation": "self",
"url": "/CodeSystem/Laboratory-Research-and-Test"
}
]
}
],
"total": 1,
"link": [
{
"relation": "first",
"url": "/CodeSystem?url=urn:CodeSystem:Laboratory-Research-and-Test&page=1"
},
{
"relation": "self",
"url": "/CodeSystem?url=urn:CodeSystem:Laboratory-Research-and-Test&page=1"
}
]
}
```
### 4.2 Просмотр значений справочника
`GET https://{baseUrl}/fhir/Concept?system={system}`
[Документация запроса](https://docs.aidbox.app/terminology/concept)
Структура ответа
`GET https://{baseUrl}/fhir/Concept?system=urn:CodeSystem:Laboratory-Research-and-Test`
```json
{
"resourceType": "Bundle",
"type": "searchset",
"meta": {
"versionId": "74143464"
},
"entry": [
{
"resource": {
"code": "1104520",
"system": "urn:CodeSystem:Laboratory-Research-and-Test",
"display": "Амфетамин и его производные, массовое содержание в потожировых выделениях предварительным методом",
"property": {
"Характеристика аналита": "Массовое содержание",
"Образец": {
"id": "labMaterial.186",
"code": "186",
"system": "urn:CodeSystem:labMaterial",
"display": "Потожировые выделения"
},
"Единица измерения": {
"display": "мкг/г; нг/г"
},
"Код LOINC": "0",
"Код НМУ": "",
"Английское наименование": "Amphetamine [Mass/mass] in Sweat by Screen method",
"Размерность": "Массовое содержание",
"Уникальный идентификатор": "1104520",
"Аналит": "Амфетамин и его производные",
"Тип метода": "Предварительный",
"Порядок сортировки": "1218231",
"Тип шкалы измерения": "Количественная",
"id": "1104520",
"Краткое наименование": "Амфетамин и его производные, предварительным методом",
"Статус": "Актуальный",
"Синонимы": "",
"Полное наименование": "Амфетамин и его производные, массовое содержание в потожировых выделениях предварительным методом",
"Группа тестов": {
"id": "LabResearchGroup.701",
"code": "701",
"system": "urn:CodeSystem:LabResearchGroup",
"display": "Химико-токсикологические исследования"
},
"Временная характеристика образца": "Одномоментный"
},
"deprecated": false,
"id": "Laboratory-Research-and-Test.1104520",
"resourceType": "Concept",
"meta": {
"lastUpdated": "2020-09-03T16:21:05.451923Z",
"createdAt": "2019-11-13T11:55:17.361650Z",
"versionId": "73523059"
}
},
"fullUrl": "/Concept/Laboratory-Research-and-Test.1104520",
"link": [
{
"relation": "self",
"url": "/Concept/Laboratory-Research-and-Test.1104520"
}
]
},
...
]
}
```
## 5. Сохранение печатной формы
### 5.1 Сохранение файла на файлохранилище
`POST https://{baseUrl}/storage/upload/`
Запрос:
`Content-Type = "application/octet-stream"`
Ответ:
```json
{
"url": "/storage/download/some-path"
}
```
### 5.2 Добавление данных о файле при создании результата
*`url` из ответа при сохранение файла п.5.1*
#### Фрагмент запроса создание результата для услуги
```json
...
"presentedForm": [
{
"attachment": {
"url": "/storage/download/<filename>",
"size": "<filesize>",
"title": "Печатная форма для результата ...",
"contentType": "application/<type>"
}
}
]
...
```
**см. полная структуру запроса создание результата для услуги (п. 3.3)*
## 6. Простановка даты взятия материала
### 6.1. Получение ИД ресурса материала
Для получения ИД ресурса материала необходимо найти в направлении поле `specimen`:
Если поле имеет вид [Literal References](https://www.hl7.org/fhir/references.html#literal):
```json
...
"specimen": [
{
"type": "Specimen",
"reference": "Specimen/b01fc51d-91ba-4ec0-a035-e5686c3024cd"
}
],
...
```
, то `Id` это `b01fc51d-91ba-4ec0-a035-e5686c3024cd`.
Если поле имеет вид [Logical References](https://www.hl7.org/fhir/references.html#logical):
```json
...
"specimen": [
{
"type": "Specimen",
"identifier": {
"value": "34900f48-7c6c-47b0-9433-3260d909387d",
"system": "urn:source:<clientId>:Specimen"
}
}
],
...
```
, то необходимо выполнить запрос поиска материала по идентификатору:
`GET https://{baseUrl}/fhir/Specimen?_elements=id&identifier={system}|{value}`
`GET https://{baseUrl}/fhir/Specimen?_elements=id&identifier=urn:source:<clientId>:Specimen|34900f48-7c6c-47b0-9433-3260d909387d`
[Документация запроса](https://docs.aidbox.app/basic-concepts/search-1)
Структура ответа
```json
{
"entry": [
{
"resource": {
"id": "b01fc51d-91ba-4ec0-a035-e5686c3024cd",
"resourceType": "Specimen"
}
}
]
}
```
, где `Id` это `b01fc51d-91ba-4ec0-a035-e5686c3024cd` по пути `entry.0.resource.id`
### 6.2. Простановка даты взятия материала по ИД
`PATCH https://{baseUrl}/fhir/Specimen/{Id}?_method=merge-patch`
[Документация запроса](https://docs.aidbox.app/basic-concepts/crud-1/patch)
Структура запроса:
```json
{
"receivedTime": "<Дата поступления материала в лабораторию>",
"collection": {
"collectedDateTime": "<Дата взятия материала>"
}
}
```
*, где значение даты в формате `YYYY-MM-DDThh:mm:ss`(ISO 8601)*