Page tree
Skip to end of metadata
Go to start of metadata

Track overview

Short Description

Maturing open standards for clinical decision support services and the client systems that invoke them.

Long Description

CDS Hooks provides a powerful framework for remote decision support, leveraging the power of FHIR as well as the ability to suggest a SMART App launch. CDS Hooks has made its way into some DaVinci use-cases and as a launching point for SMART Web Messaging. As an HL7 standard with balloted enhancements for a 1.1 version, the connectathon will help solidify and advance the specification's maturity.

That being the case, the primary objectives for this track will be

  • CDS Hooks 1.0 integrations focused on returning information cards, suggestion cards, and SMART App link cards
  • Testing 1.1 balloted functionality


  • Test a FHIR-associated specification

Submitting Work Group/Project/Accelerator/Affiliate/Implementer Group


Proposed Track Lead

Dennis Patterson (

Related tracks

2020-09 Da Vinci CRD / DTR / PAS

FHIR Version

  • R4
  • STU3
  • DSTU2

Specification(s) this track uses

Artifacts of focus

Provide links to the resources, profiles or other key artifacts that will be a focus for the connectathon

Clinical input requested (if any)

Nothing specifically

Patient input requested (if any)


Expected participants

  • Cerner
  • Epic
  • Alphora

Participant Tracking

Zulip stream

Track Orientation

A webinar will be hosted over Microsoft Teams to share further participation information about this track.

Tuesday, September 1st, 2020  10:00 am | 1 hour | Central Time (US & Canada)

Join Microsoft Teams Meeting

+1 816-384-1534   United States, Kansas City (Toll)

Conference ID: 979 980 430#

Local numbers | Learn more about Teams


Track details

System Roles

CDS Service Provider - The CDS Service Provider role provides real-time clinical decision support as a remote service. The CDS Service is invoked on a desired hook and returns the decision support in the form of CDS cards.  Those cards can also include a link to a SMART App.

CDS Client / EHR - The CDS Client will allow for the registration of interested CDS services on various CDS hooks, triggering each appropriately. The EHR will also display the CDS cards (obtained from the CDS services) to the user and provide the ability to launch a SMART App.


Describe the different scenarios participating systems can engage in during the connectathon. Each scenario should provide sufficient description that participants can appropriately construct their software in advance to prepare to interoperate during the connectathon.

v1.0 Integrations

Information Card

Action: CDS Service returns info card, CDS Client (EHR) accepts display info card.

Precondition: Read the Quick Start Guide.  Explore the CDS Hooks sandbox.

Success Criteria: CDS Client (EHR) or sandbox displays info card.

Bonus point: CDS Service queries FHIR server while generating card.

App Link Card

Action: CDS Service returns app link card, CDS Client (EHR) accepts app link card.

Precondition: N/A

Success Criteria: CDS Client (EHR) or sandbox displays app link card.

Bonus point: CDS Client (EHR) generates SMART launch token, SMART app performs SMART handshake with OAuth2 server.

Suggestion Card

Action: CDS Service returns suggestion card, CDS Client (EHR) accepts suggestion card.

Precondition: N/A

Success Criteria: CDS Client (EHR) displays actionable suggestion card.

Bonus point: N/A

v1.1 Ballot

Card Interaction

Override Reasons

Action:  CDS Service returns an array of override reasons with a card.

Precondition: Read about card.overrideReasons and reasons for rejecting a card.

Success Criteria:  CDS Client gives ability to view override reasons on a card.

Bonus point 1: CDS Client allows selection of a service-provided reason when choosing not to follow the card's guidance.

Bonus point 2: CDS Client augments service-provided override reasons with any native override reasons.

Providing Feedback to CDS Services

Action: CDS Client displays a card from a CDS Service.  CDS Client reports any card interactions back to the CDS Service's feedback endpoint.

Precondition: Read about providing Feedback.

Success Criteria: CDS Service receives feedback on user interactions to a card.

Bonus point: CDS Service receives a service-supplied override reason that the user selected when a card's guidance is not followed.

Enhanced Suggestion Handling

Recommended Suggestions

Action: CDS Service returns a card with multiple suggestions.

Precondition: Read about suggestion.isRecommended.

Success Criteria: CDS Service indicates that one of the suggestions is recommended among the choices.  CDS Client renders it preselected for acceptance.

Modular Suggestions

Action: CDS Service returns a card with multiple suggestions, more than one of which are safe to be accepted in combination.

Precondition: Read about 'any' as a card.selectionBehavior.

Success Criteria: CDS Client allows multiple suggestions to be accepted rather than limiting to only one.

Bonus point:  CDS Service indicates that one or more of the suggestions is recommended among the choices.  CDS Client renders any recommendations preselected for acceptance.

Card Categorization

Action:  CDS Service returns a topic on a card to provide categorization denoting the nature of the guidance.

Precondition:  Read about card.source.topic.

Success Criteria:  CDS Client receives the topic successfully.

Bonus point: CDS Client uses topic in logic to process multiple cards with the same category of guidance.

System Actions

Action:  CDS Service returns one or more system actions that the CDS Client should auto-apply without user interaction.   Allowable system actions are up to the discretion of the CDS Client, but an example might be a score value, such as what was done in Argonaut's PAMA Guidance.

Precondition:  Read about card.systemActions.

Success Criteria:  CDS Client receives and applies the system action successfully.

SMART Web Messaging

Action:  CDS Service returns a SMART App Link card.  When user launches SMART App, the App obtains the smart_web_messaging_handle and smart_messaging_origin alongside the access token.  The App sends ui.* and/or scratchpad.* messages to the EHR.

Precondition:  Read about SMART Web Messaging.

Success Criteria:  EHR receives SMART Web Messages successfully and is able to apply them.

Bonus point: EHR enforces security based on smart_web_messaging_handle.



Security and Privacy Considerations

Track Report


In addition to welcoming newcomers and implementers of the 1.0 specification, we had scenarios around testing balloted content including:

  • CDS Service-supplied Override Reasons to communicate options why a user might dismiss a card
  • Feedback service - allow a CDS Client to inform a CDS Service about accepted suggestions or dismissed cards (optionally with an override reason)
  • Richer options around Suggestions
    • allowing multiple suggestions to be accepted within the same card
    • service indicating that suggestions are recommended above others
  • Card categorization - introduction of a topic to communicate metadata around the clinical guidance represented by a card
  • System actions - Allow a CDS Service to dictate that particular actions on FHIR resources should be applied without user interaction
  • SMART Web Messaging - Allow a SMART App to communicate actions to the EHR such as scratchpad interactions or ui changes.



Notable Achievements

1.0 Implementations

  • CDS Clients: Cerner, Epic
  • CDS Services: Alphora, First Databank, InterSystems, MaxMD, Wolters Kluwer

1.1 Ballot Implementations

Override Reasons & Feedback Service

  • CDS Clients: Cerner, Epic
  • CDS Services: First Databank, Wolters Kluwer

Enhanced Suggestion Handling

  • CDS Clients: Cerner (rendering isRecommended), Epic
  • CDS Services: None

Card Topic

  • CDS Clients: Cerner, Epic
  • CDS Services: Wolters Kluwer

Note: While System Actions and SMART Web Messaging received testing in 2019 as part of Argonaut testing for solving PAMA scenarios with CDS Hooks, there were no implementers at this instance of the conectathon.


Discovered Issues/Questions

General Discussions

Now What?

  • Work through ballot feedback for CDS Hooks 1.1 and SMART Web Messaging 1.0
  • Ballot order-select and order-sign hooks
  • Revisit advertising preconditions in discovery endpoint -
  • No labels