# Интеграция ЛИС - Порядок работы 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)*