Healthcare IT Glossary

What is CDS Hooks?
Clinical Decision Support Hooks

Clinical decision support has existed inside EHRs for years — drug interaction alerts, dosing calculators, order sets. But it was always internal, hardwired into the EHR by the vendor. CDS Hooks opened the door to external decision support — letting any authorized service deliver clinical recommendations directly into the EHR workflow at the exact moment a clinician is making a decision. It’s the difference between a closed system and a platform.

Definition of CDS Hooks

CDS Hooks is an HL7-published standard that defines a workflow-triggered, HTTP-based API for integrating external clinical decision support services into EHR systems. When a clinician performs a specific action in the EHR — opening a patient chart, signing an order, prescribing a medication — the EHR fires a “hook” event to registered CDS services, which respond with decision support recommendations displayed within the EHR interface.

The standard was developed by the SMART Health IT team (the same group behind SMART on FHIR) and is designed to work alongside FHIR — CDS Hooks services receive clinical context as FHIR resources and return recommendations that can link to SMART on FHIR apps for detailed interaction.

CDS Hooks is significant because it decouples clinical decision support from the EHR vendor. Previously, adding a new CDS rule meant working within the EHR’s proprietary CDS engine. With CDS Hooks, any external service — a payer’s coverage determination system, a pharmacogenomics advisory, a clinical guideline engine, an AI diagnostic tool — can deliver recommendations into the EHR workflow through a standardized API.

The Da Vinci Project uses CDS Hooks extensively for payer-provider workflows: Coverage Requirements Discovery (CRD) fires hooks during ordering to surface payer coverage rules, and Documentation Templates and Rules (DTR) uses hooks to deliver documentation requirements at the point of care.

In simple terms: CDS Hooks is the standard that lets external services whisper advice into the clinician’s ear at the exact moment they’re making a decision — all within the EHR workflow, without requiring the clinician to leave their screen.

How CDS Hooks Works in Healthcare

CDS Hooks operates through a request-response model triggered by specific clinical workflow events.

patient-view — Fires when a clinician opens a patient’s chart. Use case: surface care gaps, pending alerts, or population health recommendations when the provider first sees the patient record.

order-select — Fires when a clinician selects an order (medication, lab, imaging, referral). Use case: check formulary status, verify coverage, suggest alternatives, or flag potential interactions before the order is finalized.

order-sign — Fires when a clinician is about to sign/submit an order. Use case: final safety checks, prior authorization requirement alerts, or documentation reminders before the order is committed.

medication-prescribe — Fires when a medication is being prescribed. Use case: drug-drug interaction checks, pharmacogenomics advisories, formulary alternatives, and dosing guidance.

encounter-start and encounter-discharge — Fire at the beginning and end of clinical encounters. Use case: care protocol reminders, discharge checklist verification, and post-discharge care coordination triggers.

Hook events
The EHR defines specific workflow moments as “hooks” — events where external decision support is valuable. The standard defines several hook types:
Request payload
When a hook fires, the EHR sends an HTTP POST request to all registered CDS services for that hook. The request payload includes the hook type, the current user, the patient in context, and relevant clinical data as FHIR resources — the medication being ordered, the conditions on the problem list, relevant lab results. The service receives everything it needs to generate a recommendation without making additional API calls.
Response: CDS Cards
The CDS service processes the request and returns one or more CDS Cards — structured recommendation objects displayed to the clinician within the EHR. Each card includes an indicator (info, warning, critical), a summary (one-line headline), detail text (supporting explanation), source attribution (who generated the recommendation), and optionally suggested actions (auto-fill an order, launch a SMART on FHIR app for detailed interaction, provide a link to an external resource).
Clinician interaction
The clinician reviews the CDS Cards and decides whether to act on the recommendation — accept the suggested alternative medication, launch the linked SMART app to complete a prior auth form, or dismiss the card and proceed with the original action. The EHR tracks which cards were presented and what action the clinician took — critical data for measuring CDS effectiveness and managing alert fatigue.

Key CDS Hooks Standards and Specifications

Modern
CDS Hooks Specification
The CDS Hooks specification (currently version 2.0) defines the hook catalog, request/response format, CDS Card structure, and service registration protocol. It is published by HL7 International and designed for use alongside the FHIR standard.
Legacy
FHIR Integration
CDS Hooks requests include clinical data as FHIR resources — the Patient, MedicationRequest, Condition, Observation, and ServiceRequest resources relevant to the triggering event. CDS services that need additional patient data beyond what’s included in the hook payload can make FHIR API calls using a prefetch token provided in the request — though well-designed hooks minimize these additional calls for performance.
Legacy
SMART on FHIR App Links
CDS Cards can include links that launch SMART on FHIR applications directly from the card interface. This creates a seamless workflow: the CDS service detects a clinical situation → returns a card with a recommendation → the clinician clicks the card → a SMART app launches in the EHR with full patient context → the clinician completes the recommended action within the app.
Legacy
Da Vinci CRD and DTR
The Da Vinci Project’s Coverage Requirements Discovery (CRD) implementation guide is the highest-profile production use of CDS Hooks. When a clinician orders a service, the EHR fires a CDS Hook to the payer’s CRD service, which returns cards indicating whether the service requires prior authorization, whether documentation is needed, and whether the service is covered under the patient’s plan. This transforms prior auth from a post-order administrative process into a real-time workflow-integrated check.
Building an CDS Hooks integration? Let’s talk.
Book a free call

Implementation Considerations

CDS Hooks implementation involves service development, EHR integration, performance optimization, and alert fatigue management.

HIPAA compliance for CDS services. CDS services receive clinical data — patient demographics, diagnoses, medications, lab results — as part of every hook request. The service must protect this PHI according to HIPAA requirements. If the CDS service is operated by a third party (a payer, a clinical guideline vendor, a pharmacogenomics service), a Business Associate Agreement is required.

Alert fatigue is the biggest risk
If CDS services fire too many cards, present irrelevant recommendations, or generate low-value alerts, clinicians will dismiss everything — including genuinely critical recommendations. Design CDS services to return cards only when the recommendation is clinically significant and actionable. Track card acceptance/dismissal rates and refine logic continuously.
Performance requirements are strict
CDS Hooks fire synchronously within the clinical workflow — the clinician is waiting for the EHR screen to render. CDS services must respond within 500 milliseconds for an acceptable user experience. Services that exceed response time limits may have their cards suppressed by the EHR or cause clinician frustration. Optimize service latency through caching, efficient data access, and minimal external API dependencies.
EHR vendor support varies
Epic, Oracle Health, and other major EHRs support CDS Hooks, but the depth of integration varies — which hooks are supported, how cards are displayed, how clinician actions are captured, and how services are registered. Test your CDS service against each target EHR platform.
Prefetch vs. real-time data access
CDS Hooks supports a prefetch mechanism where the EHR sends relevant FHIR resources with the hook request — avoiding the need for the CDS service to make additional API calls. Design your service to use prefetch data whenever possible. If additional data is needed, the FHIR API call adds latency and may push response times beyond acceptable thresholds.
Measuring CDS effectiveness
Implement analytics that track which cards are presented, acceptance rates by card type, override rates for critical alerts, and downstream clinical outcomes. This data drives continuous improvement — retiring ineffective cards, refining targeting logic, and demonstrating CDS value to clinical leadership.

How Taction Helps with CDS Hooks

At Taction, our team builds CDS Hooks services, integrates them with EHR platforms, and helps organizations design decision support that clinicians actually use.

What we do:

Whether you’re building a CDS service, integrating with Da Vinci CRD, or optimizing an existing decision support program, our healthcare engineering team delivers the clinical workflow design and FHIR expertise effective CDS demands.

CDS Hooks service development
We build external CDS services that respond to hook events with clinically relevant, actionable recommendations — from drug interaction checking and formulary guidance to population health care gap alerts and payer coverage checks.
Da Vinci CRD implementation
We implement Coverage Requirements Discovery services conforming to the Da Vinci CRD IG — surfacing prior auth requirements, documentation needs, and coverage information within the EHR ordering workflow.
EHR integration
We register and configure CDS Hooks services across EHR platforms — handling service discovery, hook subscription, prefetch configuration, and card display optimization.
SMART app launch from CDS Cards
We build SMART on FHIR applications that launch from CDS Card links — enabling clinicians to act on recommendations within the EHR context with full patient data available.
CDS analytics and optimization
We build dashboards tracking card presentation rates, acceptance rates, override patterns, and response time metrics — enabling continuous refinement of CDS logic and alert targeting.

Explore Related Terms

Ready to discuss your CDS Hooks project?

Schedule a free call

Ready to Discuss Your Project With Us?

Your email address will not be published. Required fields are marked *

What is 1 + 1 ?

What's Next?

Our expert reaches out shortly after receiving your request and analyzing your requirements.

If needed, we sign an NDA to protect your privacy.

We request additional information to better understand and analyze your project.

We schedule a call to discuss your project, goals. and priorities, and provide preliminary feedback.

If you're satisfied, we finalize the agreement and start your project.