Medlinx

Medlinx

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

›Интеграция

Интеграция

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

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

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

Подписка на изменение ресурса

Описание

Сервис поддерживает подмножество спецификации http://www.hl7.org/fhir/subscription.html по подписке на изменение ресурсов на сервере. Пользователь может создать одну или несколько подписок. В подписке указывается критерий срабатывания, например, изменение любого доступного ресурса Task и обратный адрес. При изменени ресурса пользователь получит обратный вызов с информацией о изминившемся ресурсе на обратный адрес.

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

Подписка создается как ресурс Subscription стандарта FHIR.


POST fhir/Subscription

ИмяLocationОписание
AuthorizationHeaderсм. Авторизация
SubscriptionobjectОбъект Subscription в спецификации FHIR

При создании ресурс Subscription должен удовлетворять следующий условиям:

ПолеОписаниеПример
criteriaТип ресурса, на который происходит подписка. При изменении ресурса, соответствующего типа, высылается оповещение"Observation"
channel.endpointUrl адрес, куда будет выполнен запрос при нотификации"https://yourdomain.com/on-task-change"
channel.typeПоддерживается только rest-hook"rest-hook"
channel.payload(Опционально) Задает формат в котором будет выслан измененный fhir ресурс. Если задан, то должен быть "application/fhir+json""application/fhir+json"
statusСтатус заявки, при создании должен быть requested"requested"

Критерий поиска (поле criteria) в текущей реализации может быть равен только типу ресурса. Нарпимер, можно подписаться на изменения всех доступных ресурсов Task, указав "criteria": "Task".

Пример:

{
    "resourceType": "Subscription",
    "criteria": "Task",
    "status": "requested",
    "channel": {
        "type": "rest-hook",
        "endpoint": "https://yourdomain.com/on-task-change",
        "header": [
            "Authorization: Bearer secret-token-abc-123"
        ]
    }
}

Обратный вызов

При обновлении или добавлении любых ресурсов, которые соответствуют критериям поиска в ресурсе Subscription, будет послан запрос POST.

Поддерживатеся два режима работы:

  • Получение id ресурса
  • Получение всего ресруса

Обратный вызов с id ресурса

Если при создании Subscription не заполнено поле payload, то обратный вызов будет содержать заголовок Location, где будет указана относительная ссылка на созданный или обновленный ресурс.

Обратный вызов с полным ресурсом

Если при создании Subscription поле payload заполнено значением "application/fhir+json", то обратный вызов будет содержать в теле обновленный ресурс.

Авторизация обратного вызова

При создании подписки можно указать произвольные заголовки в т.ч. Authorization, которые будут вставлены в обратный запрос. Сервис сам не перезапрашивает токен, а только вставляет заголовок, следовательно токен должен иметь достаточно долгое время жизни.

Жизненный статус подписки

Заявка должна создаваться со статусом requested. Сервис попытается послать запрос на указанный endpoint один или несколько раз. В случае успешного ответа от endpoint выставит статус подписки в active, в противном случае, в значение error и подписка будет считаться не активной.

Если при нотификации сервис не доступен или отвечает ошибочными статусами ответа 4XX или 5XX, то сервис повторяет попытку и переводит подписку в статус error.

Если подписка переводится в статус error, то поле error ресурса Subscription заполняется сообщением об ошибке.

Клиент может восстановить подписку из статуса error, для этого он должен создать новую версию подписки со статусом requested. Автоматической попытки восстановления подписки не производится.

Обновление (создание новой версии) ресурса:


PUT fhir/Subscription

ИмяLocationОписание
AuthorizationHeaderсм. Авторизация
If-MatchHeaderИз заголовка ETag при получении ресурса. Пример: If-Match: W/"1"
SubscriptionobjectОбъект Subscription в спецификации FHIR

Повторные отправки

Повторные отправки не поддерживаются. Данные, которые обновлялись при выключеной подписке, необходимо получать поиском.

Права доступа

Создатель подписки будет получать уведомление об изменениях ресурса, для которого он является владельцем или имеет права на чтение.

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