This specification describes a "hook"-based pattern for invoking decision support from within a clinician's 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 clinician's workflow 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 CDS Client 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 clinical workflow
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 workflow, 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 CDS Client renders a button that the user can click to accept. Clicking automatically populates the suggested change into the clinician'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
An OpenAPI Specification (formally known as the Swagger Specification) interface of CDS Hooks is available. Using the CDS Hooks OpenAPI specification, you can generate client or server code to help you get started with your implementation. You can download the API specification and view it online via the Swagger Editor.
CDS Hooks implementers are not required to use the OpenAPI Specification interface of CDS Hooks.