Skip to main content

Introduction to Building Synchronous CDS Hooks Services

Using the InterSystems® Healthcare Action Engine (HAE), you can develop and deploy services which deliver decision support notifications in real-time to client applications (such as electronic health records) without writing a single line of code.

These synchronous services implement the HL7® CDS Hooks specification (https://cds-hooks.hl7.org/2.0/Opens in a new tab); any CDS Hooks-compatible client application can invoke these services as described in Connect a Client Application to Receive Synchronous Notifications.

This page provides an overview of CDS Hooks services are constructed in the Healthcare Action Engine; subsequent pages describe the procedures in greater detail. Before proceeding, ensure that you have deployed and configured a Healthcare Action Engine instance. You may also wish to initialize a demo Healthcare Action Engine production, which provides several operational examples of synchronous services.

The Components of a Synchronous Service

The Healthcare Action Engine allows you to construct synchronous CDS Hooks services by defining and combining a series of components, as follows:

  1. Choose what initial condition within the client application will serve as a trigger event. Triggers are analogous to “hooks” within the CDS Hooks specification (see https://cds-hooks.hl7.org/2.0/#hooksOpens in a new tab).

  2. Define a rule (or rules) to be evaluated when the trigger event occurs. HAE exposes rules as CDS Hooks services (see https://cds-hooks.hl7.org/2.0/#cds-servicesOpens in a new tab). Rules apply conditional logic to data about the context—including FHIR resource data from the client application’s FHIR repository— in order to determine what response (if any) the service sends to the client application.

  3. Create a response object for each outcome where you want a rule to return a response. A rule can return one of two types of response objects:

Build a service out of these components in the HAE configuration application, as described in Define Combinations of Triggers, Rules, and Cards. Then, use the Healthcare Action Engine Rule Editor to construct the evaluation logic for your rules, as described in Create Rules to Evaluate Conditions in the Rule Editor.

For example: by combining a patient-view trigger with a rule that checks for indicators of uncontrolled diabetes and sends a card if these indicators are present, an EHR viewer client can use HAE to alert a physician that a patient may be in need of intervention in the moment when the physician checks the record for that patient.

FeedbackOpens in a new tab