This specification describes a "hook"-based pattern for invoking decision support from within a clinician's EHR workflow. The API supports:
- Synchronous, workflow-triggered CDS calls returning information and suggestions
- Launching a user-facing SMART app when CDS requires additional interaction
The CDS Hooks API is still in active development and thus subject to change. We're currently working towards a 1.0 release and would love your feedback and proposed changes. Look at our current issue list and get involved!
How it works¶
User activity inside the EHR triggers CDS hooks in real-time. For example:
patient-viewwhen opening a new patient record
medication-prescribeon authoring a new prescription
order-reviewon viewing pending orders for approval
When a triggering activity occurs, the EHR notifies each CDS service registered for the activity. These services must then provide near-real-time feedback about the triggering event. Each service gets basic details about the EHR
context (via the
context parameter of the hook) plus whatever
service-specific data are required (via the
Each CDS service can return any number of cards in response to the hook. Cards convey some combination of text (information card), alternative suggestions (suggestion card), and links to apps or reference materials (app link card). A user sees these cards — one or more of each type — embedded in the EHR, and can interact with them as follows:
information card: provides text for the user to read.
suggestion card: provides a specific suggestion for which the EHR renders a button that the user can click to accept. Clicking automatically populates the suggested change into the EHR's UI.
app link card: provides a link to an app (often a SMART app) where the user can supply details, step through a flowchart, or do anything else required to help reach an informed decision.
You can try CDS Hooks in our Sandbox at http://sandbox.cds-hooks.org