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
- Suscripciones FHIR explicadas
- ¿Es una aplicación de salud un dispositivo médico? Regla 11 MDR de la UE
- Plataforma de consentimiento del paciente
- Búsqueda FHIR explicada
- Backend de SMART on FHIR (desarrolladores)
- Estándares de interoperabilidad sanitaria: el mapa
- SMART App Launch explicado
Fuentes
- Especificación HL7 CDS Hooks 2.0
- CDS Hooks: catálogo de hooks
- HL7 SMART App Launch
- HL7 FHIR R4: MedicationRequest
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.
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

