Стандарты

CDS Hooks: как поддержка принятия решений подключается к медицинской информационной системе в момент оказания помощи

CDS Hooks: стандарт HL7 для вызова служб поддержки принятия решений из МИС. Как работают обнаружение, хуки, предзагрузка, карточки, что возвращает служба, связь с SMART on FHIR и дополнения к v2.0.

автор Опубликовано 5 мин чтения

Краткий ответ: CDS Hooks — это стандарт HL7, который позволяет медицинской информационной системе (МИС) вызывать внешнюю службу поддержки принятия клинических решений в определенные моменты (хуки) рабочего процесса врача: при открытии карты пациента (patient-view), выборе назначения (order-select), подписании назначений (order-sign), начале или завершении приема. МИС отправляет контекст и, при необходимости, предварительно загруженные данные FHIR; служба отвечает за несколько секунд карточками: краткими сведениями, предупреждениями или предложениями, а также ссылками, которые могут запустить приложение SMART on FHIR. Врач остается в МИС; интеллектуальные функции находятся вне ее.

Три шага

CDS Hooks работает в три шага. Первый — обнаружение: медицинская информационная система (МИС) запрашивает GET /cds-services и узнает, на какой хук отвечает каждая служба и какие данные FHIR ей нужны предварительно. Второй — вызов хука: при событии рабочего процесса, таком как подписание заказа, МИС отправляет контекст и предварительно загруженные ресурсы службе методом POST. Третий — ответ: служба возвращает карточки, которые МИС отображает.

1. Обнаружение. МИС получает GET https://cds.example.org/cds-services и список служб, каждая из которых указывает, на какой хук она реагирует, и какие запросы FHIR она хотела бы предварительно загрузить:

{
  "services": [{
    "id": "renal-dosing",
    "hook": "order-sign",
    "title": "Renal dosing check",
    "description": "Flags drug orders whose dose needs review against the latest eGFR.",
    "prefetch": {
      "patient": "Patient/{{context.patientId}}",
      "egfr": "Observation?patient={{context.patientId}}&code=http://loinc.org|98979-8&_sort=-date&_count=1"
    }
  }]
}

2. Вызов хука. Когда врач подписывает назначения, МИС отправляет POST-запрос на /cds-services/renal-dosing:

{
  "hookInstance": "d1577c69-dfbe-44ad-ba6d-3e05e953b2ea",
  "hook": "order-sign",
  "fhirServer": "https://ehr.example.org/fhir",
  "fhirAuthorization": {"access_token": "…", "token_type": "Bearer", "expires_in": 300, "scope": "patient/*.read", "subject": "renal-dosing"},
  "context": {
    "userId": "Practitioner/42",
    "patientId": "123",
    "draftOrders": {"resourceType": "Bundle", "entry": [{"resource": {"resourceType": "MedicationRequest", "id": "draft-1", "status": "draft"}}]}
  },
  "prefetch": {
    "patient": {"resourceType": "Patient", "id": "123"},
    "egfr": {"resourceType": "Bundle", "type": "searchset", "entry": [{"resource": {"resourceType": "Observation", "id": "obs-9", "status": "final", "code": {"coding": [{"system": "http://loinc.org", "code": "98979-8"}]}, "valueQuantity": {"value": 38, "unit": "mL/min/1.73m2"}}}]}
  }
}

Если что-то, необходимое службе, не было предварительно загружено, она может самостоятельно запросить FHIR-сервер МИС с помощью краткосрочного токена в fhirAuthorization.

3. Ответ. Карточки, а в версии 2.0 также системные действия:

{
  "cards": [{
    "uuid": "9a1d2f3e-…",
    "summary": "eGFR 38: dose review suggested",
    "indicator": "warning",
    "detail": "The most recent eGFR (38 mL/min/1.73m², 2026-03-10) is below the threshold in the local renal dosing guidance for this drug.",
    "source": {"label": "Hospital renal dosing guidance", "url": "https://intranet.example.org/renal"},
    "suggestions": [{"label": "Open renal dosing table", "uuid": "…", "actions": []}],
    "links": [{"label": "Dosing calculator", "url": "https://apps.example.org/renal/launch", "type": "smart"}]
  }]
}

summary ограничен 140 символами; indicator может быть info, warning или critical; source обязателен, чтобы врач знал, кто предоставляет информацию. suggestions могут предлагать конкретные изменения (создание, обновление или удаление черновика ресурса), которые врач принимает одним кликом; links типа smart открывают приложение SMART в контексте. МИС отображает карточки в своем стиле; служба никогда не рисует собственный пользовательский интерфейс внутри МИС.

Дополнения версии 2.0

CDS Hooks версии 2.0, опубликованной в 2022 году, был добавлен конечный пункт обратной связи, через который МИС сообщает, была ли карточка принята, отклонена с указанием причин или проигнорирована; systemActions — действия, которые МИС выполняет без запроса для низкорисковой обработки; поле fhirAuthorization.subject; и более четкие правила selectionBehavior (at-most-one или any) для предложений.

Опубликовано в 2022 году: конечная точка обратной связи (POST /cds-services/{id}/feedback), через которую МИС сообщает, была ли карточка принята, отклонена (с указанием причин) или проигнорирована; systemActions — изменения, которые МИС применяет без запроса, предназначенные для низкорисковых задач, таких как добавление кодированной причины; fhirAuthorization.subject; и более четкие правила для selectionBehavior (at-most-one или any) для предложений.

Что такое служба и чем она не является

Служба CDS Hooks — это программное обеспечение, которое считывает контекст рабочего процесса и возвращает информацию в виде карточек; это не обязательно медицинское изделие. Применяются ли правила для медицинских изделий в ЕС и США, зависит от содержания: напоминание врачу о существовании лабораторного показателя является информацией, тогда как рекомендация дозировки для конкретного пациента регулируется как поддержка принятия решений.

Служба CDS — это программное обеспечение, которое читает контекст и возвращает информацию. Является ли она медицинским изделием, зависит от содержания карточек: напоминание о наличии лабораторного показателя — это информация; рекомендация дозировки для конкретного пациента — это поддержка принятия решений, подпадающая под правила медицинских изделий в ЕС и США. См. Является ли медицинское приложение медицинским изделием?. Стандарт нейтрален; содержание — нет.

Определенные сегодня хуки: patient-view, order-select, order-sign, order-dispatch, encounter-start, encounter-discharge, appointment-book, с публичным каталогом, где предлагаются новые хуки.

Связь с SMART on FHIR

CDS Hooks и SMART on FHIR дополняют друг друга. SMART on FHIR запускает приложение, которое берет на себя часть экрана и запрашивает данные с FHIR-сервера с разрешения пользователя; CDS Hooks работает в фоновом режиме и возвращает карточки в собственный интерфейс МИС. Карточка может содержать ссылку на запуск SMART, когда требуется нечто большее, чем просто карточка.

SMART on FHIR запускает приложение, которое берет на себя часть экрана и взаимодействует с FHIR-сервером с разрешения пользователя. CDS Hooks работает в фоновом режиме и возвращает карточки; карточка может содержать ссылку на запуск SMART, когда требуется нечто большее, чем просто карточка. Большинство продуктов поддержки принятия решений используют оба механизма: хуки для уведомлений, приложение SMART для деталей.

Место Anpheros

Anpheros не предлагает службу CDS Hooks и не выдает клинические рекомендации. Его FHIR-запись, с согласия пациента, может служить данными, которые читает собственная служба поддержки принятия решений больницы (лекарства, аллергии, последние результаты) через тот же API FHIR, который использует служба хуков. См. Платформа согласия пациента.

Связанные страницы

Источники

Частые вопросы

Является ли CDS Hooks частью FHIR?

Это отдельная спецификация HL7, которая использует FHIR для своих данных: предварительная загрузка и контекст содержат ресурсы FHIR, а авторизация повторно использует токены SMART on FHIR. Она публикуется HL7 отдельно от FHIR, а не внутри спецификации FHIR.

Насколько быстро должна отвечать служба CDS?

Спецификация не устанавливает конкретное число, но МИС применяют тайм-ауты в несколько секунд и отбрасывают поздние ответы, поскольку врач ждет. Предварительная загрузка существует именно для того, чтобы служба не тратила это время на запросы.

Может ли служба CDS изменить назначение?

Только предлагая предложение, которое принимает врач, или, в версии 2.0, через systemActions, которые МИС согласилась применять автоматически для данной службы. Служба никогда не записывает данные на FHIR-сервер МИС самостоятельно во время вызова хука.

Использует ли приложение для пациента CDS Hooks?

Нет. CDS Hooks разработан для рабочих процессов МИС, ориентированных на врача. Приложения для пациентов напрямую используют API FHIR и SMART on FHIR для входа.

Anpheros Platform

Попробуйте бесплатно в песочнице

Первый запрос FHIR за 5 минут. API HL7 FHIR R4 с встроенным согласием пациента: попробуйте в песочнице, затем подключите свое приложение или систему клиники.

Бесплатно · 30 синтетических пациентов · без карты

Это руководство носит информационный характер и не заменяет консультацию врача. Решения о своём здоровье принимайте вместе с врачом. В экстренной ситуации звоните по местному номеру экстренной помощи (112 в Европе).
Автор
Команда Anpheros

Anpheros создает медицинскую карту, которую пациент контролирует и может делиться с любой клиникой, на платформе HL7 FHIR R4, базирующейся в ЕС. Эти руководства помогут вам понять и организовать свое здоровье; они не заменяют вашего врача.

О Anpheros →