You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/specification/1.0.md
+22-1Lines changed: 22 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
6
6
## Overview
7
7
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).
9
9
10
10
### Conformance Language
11
11
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
23
23
24
24
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).
25
25
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
+
26
47
## Discovery
27
48
28
49
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