Skip to content

Commit 29ee0ab

Browse files
committed
#300: Added an overview section discussing CDS Hooks components.
1 parent 3322561 commit 29ee0ab

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

docs/specification/1.0.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
## Overview
77

8-
The CDS Hooks specification describes the RESTful APIs and interactions between EHRs and CDS Services. All data exchanged through the RESTful APIs MUST be sent and received as JSON structures, and MUST be transmitted over channels secured using the Hypertext Transfer Protocol (HTTP) over Transport Layer Security (TLS), also known as HTTPS and defined in [RFC2818](https://tools.ietf.org/html/rfc2818).
8+
The CDS Hooks specification describes the RESTful APIs and interactions to integrate Clinical Decision Support (CDS) between CDS Clients (typically Electronic Health Record Systems (EHRs) or other health information systems) and CDS Services. All data exchanged through the RESTful APIs MUST be sent and received as JSON structures, and MUST be transmitted over channels secured using the Hypertext Transfer Protocol (HTTP) over Transport Layer Security (TLS), also known as HTTPS and defined in [RFC2818](https://tools.ietf.org/html/rfc2818).
99

1010
### Conformance Language
1111
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this specification are to be interpreted as described in [RFC2119](https://tools.ietf.org/html/rfc2119).
@@ -23,6 +23,27 @@ An [Open API Specification](https://www.openapis.org/) (formally known as the Sw
2323

2424
CDS Hooks implementers are not required to use the Open API Specification interface of CDS Hooks. You can download the [API specification](/specification/1.0-api.yaml) and view it online via the [Swagger Editor](http://editor.swagger.io/?url=https://raw.githubusercontent.com/cds-hooks/docs/master/docs/specification/1.0-api.yaml).
2525

26+
## CDS Hooks Anatomy
27+
28+
This specification describes a ["hook"](http://en.wikipedia.org/wiki/Hooking)-based pattern for invoking
29+
decision support from within a clinician's EHR workflow. The API supports:
30+
31+
* Synchronous, workflow-triggered CDS calls returning information and suggestions
32+
* Launching a user-facing SMART app when CDS requires additional interaction
33+
34+
The basic components of CDS Hooks are:
35+
36+
* **CDS Service** A decision support service that accepts requests containing patient information, and provides responses
37+
* **CDS Client** or *EHR* An electronic health record, or other clinical information system that consumes decision support in the form of services
38+
* **Hook** A defined point within the client system's workflow with well-known contextual information provided as part of the request
39+
* **Card** Guidance from decision support services is returned in the form of cards representing discrete recommendations or suggestions that are presented to the user within the EHR
40+
41+
In CDS Hooks, a _CDS Service_ is a service that provides patient-specific recommendations and guidance through RESTful APIs as described by this specification. The primary APIs are [Discovery](#discovery), which allows a CDS Developer to publish the types of CDS Services it provides, and the [Service](#calling-a-cds-service) endpoint that EHRs use to request decision support.
42+
43+
A _CDS Client_ or _EHR_ is an electronic health record, or other clinical information system that consumes decision support by calling CDS Services at specific points in the application's workflow called [hooks](#hooks). Each hook defines the _hook context_, contextual information available within the client and specific to the workflow. Each service advertises which hooks it supports and what [_prefetch data_](#providing-fhir-resources-to-a-cds-service) (information needed by the CDS Service to determine what decision support should be presented) it requires.
44+
45+
Decision support is then returned to the CDS Client in the form of [cards](#cds-service-response), which the client displays to the end-user as part of their workflow. Cards may be informational, or they may provide suggestions that the user may accept or reject, or they may provide a [link](#link) to additional information or even launch a SMART-app when additional user interaction is required.
46+
2647
## Discovery
2748

2849
Developers of CDS Services SHALL provide a stable endpoint for allowing EHRs to discover available CDS Services, including information such as a description of the CDS Service, when it should be invoked, and any data that is requested to be prefetched.

0 commit comments

Comments
 (0)