Estándares

CDS Hooks explicado: cómo el soporte a la decisión se integra en un HCE en el momento de la atención

CDS Hooks: estándar HL7 para llamar a servicios de soporte a la decisión desde HCE (apertura historia, selección/firma orden). Explora descubrimiento, hooks, prefetch, tarjetas, capacidades del servicio, relación con SMART on FHIR y novedades v2.0.

por Publicado 6 min de lectura

Respuesta corta: CDS Hooks es un estándar de HL7 que permite a un sistema EHR (Registro Electrónico de Salud) llamar a un servicio de soporte de decisiones clínicas externo en momentos definidos (hooks) del flujo de trabajo de un médico: al abrir la historia clínica de un paciente (patient-view), al elegir una orden (order-select), al firmar órdenes (order-sign), al iniciar o finalizar un encuentro. El EHR envía el contexto y, opcionalmente, datos FHIR pre-cargados; el servicio responde en segundos con tarjetas: breves informaciones, advertencias o sugerencias, y enlaces que pueden iniciar una aplicación SMART on FHIR. El médico permanece en el EHR; la inteligencia vive fuera de él.

Los tres pasos

CDS Hooks funciona en tres pasos. Primero, descubrimiento: el EHR (registro electrónico de salud) consulta GET /cds-services y averigua a qué hook responde cada servicio y qué datos FHIR desea pre-recuperar. Segundo, la llamada al hook: en un evento del flujo de trabajo, como la firma de una orden, el EHR envía por POST el contexto y los recursos pre-recuperados al servicio. Tercero, la respuesta: el servicio devuelve tarjetas que el EHR muestra.

1. Descubrimiento. El EHR obtiene GET https://cds.example.org/cds-services y recibe la lista de servicios, cada uno con el hook al que responde y las consultas FHIR que le gustaría pre-cargar:

{
  "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. La llamada al hook. Cuando el médico firma las órdenes, el EHR envía una solicitud POST a /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"}}}]}
  }
}

Si algo que el servicio necesita no se pre-cargó, puede consultar el servidor FHIR del EHR con el token de corta duración en fhirAuthorization.

3. La respuesta. Tarjetas y, en la versión 2.0, también acciones del sistema:

{
  "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 está limitado a 140 caracteres; indicator puede ser info, warning o critical; source es obligatorio para que el médico sepa quién está hablando. suggestions puede proponer cambios concretos (crear, actualizar o eliminar un borrador de recurso) que el médico acepta con un clic; los links de tipo smart abren una aplicación SMART en contexto. El EHR muestra las tarjetas con su propio estilo; el servicio nunca dibuja su propia interfaz de usuario dentro del EHR.

Adiciones de la versión 2.0

CDS Hooks versión 2.0, publicada en 2022, añadió un punto final de retroalimentación a través del cual el EHR informa si una tarjeta fue aceptada, anulada con motivos o ignorada; systemActions, cambios que el EHR aplica sin preguntar, para tareas de mantenimiento de bajo riesgo; el campo fhirAuthorization.subject; y reglas más claras de selectionBehavior (at-most-one o any) para las sugerencias.

Publicado en 2022: un punto final de feedback (POST /cds-services/{id}/feedback) a través del cual el EHR informa si una tarjeta fue aceptada, anulada (con motivos) o ignorada; systemActions, cambios que el EHR aplica sin preguntar, destinados a tareas de mantenimiento de bajo riesgo como añadir una razón codificada; fhirAuthorization.subject; y reglas más claras sobre selectionBehavior (at-most-one o any) para las sugerencias.

Qué es y qué no es un servicio

Un servicio CDS Hooks es software que lee el contexto del flujo de trabajo y devuelve información en forma de tarjetas; no es automáticamente un dispositivo médico. Si las reglas de dispositivos médicos se aplican en la UE y en EE. UU. depende del contenido: recordar a un médico que existe un valor de laboratorio es información, mientras que una recomendación de dosis específica para el paciente es un soporte de decisiones regulado.

Un servicio CDS es software que lee el contexto y devuelve información. Si es un dispositivo médico depende de lo que digan las tarjetas: un recordatorio de que existe un valor de laboratorio es información; una recomendación de dosis para un paciente específico es soporte de decisiones que cae bajo las reglas de dispositivos médicos en la UE y EE. UU. Consulte ¿Es una aplicación de salud un dispositivo médico?. El estándar es neutral; el contenido no lo es.

Hooks definidos hoy: patient-view, order-select, order-sign, order-dispatch, encounter-start, encounter-discharge, appointment-book, con un catálogo público donde se proponen nuevos hooks.

Relación con SMART on FHIR

CDS Hooks y SMART on FHIR son complementarios. SMART on FHIR lanza una aplicación que se apodera de una parte de la pantalla y consulta el servidor FHIR con la autorización del usuario; CDS Hooks se ejecuta en segundo plano y devuelve tarjetas en la propia interfaz del EHR. Una tarjeta puede llevar un enlace de lanzamiento SMART cuando se necesita más que una tarjeta.

SMART on FHIR inicia una aplicación que se apodera de parte de la pantalla y se comunica con el servidor FHIR con la autorización del usuario. CDS Hooks se ejecuta en segundo plano y devuelve tarjetas; una tarjeta puede llevar un enlace de lanzamiento SMART cuando se necesita más que una tarjeta. La mayoría de los productos de soporte de decisiones utilizan ambos: hooks para el aviso, una aplicación SMART para los detalles.

Dónde encaja Anpheros

Anpheros no ofrece un servicio CDS Hooks ni produce recomendaciones clínicas. Su registro FHIR, con el consentimiento del paciente, puede ser los datos que el servicio de soporte de decisiones del hospital lea (medicamentos, alergias, resultados recientes), a través de la misma API FHIR que usaría un servicio de hook. Consulte Plataforma de consentimiento del paciente.

Páginas relacionadas

Fuentes

Preguntas frecuentes

¿Es CDS Hooks parte de FHIR?

Es una especificación HL7 separada que utiliza FHIR para sus datos: prefetch y contexto transportan recursos FHIR, y la autorización reutiliza tokens de SMART on FHIR. Es publicada por HL7 junto con FHIR, no dentro de la especificación FHIR.

¿Qué tan rápido debe responder un servicio CDS?

La especificación no fija un número, pero los EHR aplican tiempos de espera de unos pocos segundos y descartan las respuestas tardías, porque el médico está esperando. Prefetch existe precisamente para que el servicio no dedique ese tiempo a consultar.

¿Puede un servicio CDS cambiar la orden?

Solo proponiendo una sugerencia que el médico acepte, o, en la versión 2.0, a través de systemActions que el EHR haya acordado aplicar automáticamente para ese servicio. El servicio nunca escribe en el servidor FHIR del EHR por sí mismo durante un hook.

¿Utiliza una aplicación de paciente CDS Hooks?

No. CDS Hooks está diseñado para flujos de trabajo de EHR dirigidos a médicos. Las aplicaciones de pacientes utilizan la API FHIR directamente y SMART on FHIR para el inicio de sesión.

Anpheros Platform

Pruébalo gratis en el sandbox

Tu primera llamada FHIR en 5 minutos. Una API HL7 FHIR R4 con el consentimiento del paciente integrado: pruébala en el sandbox y luego conecta tu propia app o sistema de clínica.

Gratis · 30 pacientes sintéticos · sin tarjeta

Esta guía es informativa y no sustituye la consulta médica. Para decisiones sobre tu salud, habla con tu médico. En una emergencia, llama al número de emergencias local (112 en Europa).
Escrito por
El equipo de Anpheros

Anpheros crea un historial médico que el paciente controla y puede compartir con cualquier clínica, en una plataforma HL7 FHIR R4, con sede en la UE. Estas guías te ayudan a entender y organizar tu salud; no reemplazan a tu médico.

Sobre Anpheros →