Medlinx

Medlinx

  • Интеграция
  • Интеграция ЛИС
  • Авторизация и права доступа
  • FAQ

›Интеграция

Интеграция

  • Описание базовой интеграции
  • Обязательные/рекомендуемые поля для исследований
  • Жизненный цикл статуса заказа
  • Создание предзаказа
  • Подписка на изменение ресурса

Альтернативные способы получения результатов

  • Поиск результатов по ФИО и дате рождения

Создание предзаказа

Работа со справочниками

Создание предзаказа имеет много общего с созданием заявки на лабораторное исследование. Для создания предзаказа на лабораторное исследование необходимо:

  1. Получить доступную номенклатуру для предзаказа
  2. Сформировать заявку на создание предзаказа
  3. Выдать права информационной системе, которая создает предзаказ
  4. Забрать результаты по предзаказу

Получение номенклатуры

Получение номенклатуры подробно описано в разделе создание заявки на лабораторное исследование

Формирование заявки на создание предзаказа

POST fhir/$CreateDiagnosticRequest
ИмяLocationОписание
AuthorizationHeaderсм. Авторизация
BundleobjectОбъект Bundle в спецификации FHIR. Тип Bundle должен быть "collection". Bundle содержит набор сущностей необходимых для создания предзаказа (описано ниже)

Bundle должен включать набор ресурсов необходимых для создания предзаказа в лаборатории, ресурсы задаются как массив Entity в Bundle

Обязательные ресурсы для создания предзаказа включают в себя:

  • ProcedureRequest (описывает каждое отдельное исследование в заказе)
  • Task (для управления жизненным циклом)
  • Specimen (для задания типа биоматериала) (некоторые лаборатории разрешают опускать этот ресурс)
  • Patient (информация о пациенте)
  • Contract (информация о контракте или ссылка на существующий контракт)

Для ресурса ProcedureRequest и Task действуют те же ограничения, что описаны в разделе создание заявки на лабораторное исследование.

Для ресурса Specimen должны быть заполнены поля type.coding, subject.reference и container.type.coding. Пример:

{
    "fullUrl": "urn:uuid:6ff6bb51-3706-4a0f-9bb8-d6669ff6c981",
    "resource": {
        "resourceType": "Specimen",
        "meta": {
            "security": [{
                    "system": "read",
                    "code": "9bce8a66-4d0d-4f85-b527-e8cd3e1f3739"
                }
            ]
        },
        "type": {
            "coding": [{
                    "system": "https://api.medlinx.online/terminology/specimen-type",
                    "code": "122555007"
                }
            ]
        },
        "subject": {
            "reference": "patient/77998442-34b2-4207-8616-3c685344bdd9"
        },
        "container": [{
                "type": {
                    "coding": [{
                            "system": "https://api.medlinx.online/terminology/specimen_type",
                            "code": "ВПЖЕЛТГЕЛЬ"
                        }
                    ]
                }
            }
        ],
        "collection": {
            "collectedDateTime": "2019-08-16T06:40:17Z"
        }
    }
}

У всех ProcedureRequest в поле SupportingInfo должна быть ссылка на контракт по которому создается заявка. Все ProcedureRequest в рамках одного предзаказа должны ссылаться на один и тот же Contract. Найти нужный контракт можно через поиск, например:

GET fhir/Contract?identifier=http://helix.ru/codes/contract|CXXXXXXXXX

Схема связей ProcedureRequest и Task

Task уровня заказа должен иметь поле code с указанием типа события вида:

{
    "system": "https://api.medlinx.online/terminology/task_type",
    "code": "DraftOrderProcessingTask"
}

Ответ

Код успешного ответа: 200

Код не успешного ответа: >=400, так же в теле ответа будет представлена расширенная информация

{
  "resourceType" : "OperationOutcome",
  "issue" : [{
    "severity" : "<code>", // fatal | error | warning | information
    "code" : "<code>", // Error or warning code
    "diagnostics" : "<string>", // Additional diagnostic information about the issue
  }]
}

Выставление прав

По умолчанию у контрагента нет доступа к созданным ресурсам. Права нужно явно выдать либо при создании ресурса, либо через механизм $meta-add. Подробнее смотри Права доступа. Для получения всех данных, кроме Task, контрагенту нужны права read. В ресурс Task записывается статус выполнения и ошибки, если они есть, поэтому ресурсу Task нужно выставить права уровня и read и updatebody.

Получить список guid контрагентов для выставления прав можно при подключении к платформе medlinx.online

Обработка предзаказа лабораторией

  1. В ресурс Task предзаказа выставляется номер (для некоторых потребителей - номер и префикс), предзаказа в поле identifier
  2. Статус Task изменяется на Accepted
  3. В момент создания заказа по предзаказу лаборатория выгружает заказ на сервер и выставляет создателю предзаказа права на чтение
  4. При выполнении заказа на него выгружаются результаты и создателю предзаказа проставляются права на чтение

В случае ошибки текст ошибки записывается в поле Output.

Забор результатов по предзаказам

Получение релультатов подробно описано в разделе создание заявки на лабораторное исследование

← Жизненный цикл статуса заказаПодписка на изменение ресурса →
  • Работа со справочниками
  • Получение номенклатуры
  • Формирование заявки на создание предзаказа
    • Схема связей ProcedureRequest и Task
    • Ответ
  • Выставление прав
  • Обработка предзаказа лабораторией
  • Забор результатов по предзаказам
Medlinx
Docs
ИнтеграцияАвторизацияFAQ
Copyright © 2025 Medlinx