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!

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 pre-fetch-template parameter).

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.