CDS Hooks
3.0.0-ballot - R3 Normative Ballot International flag

CDS Hooks, published by Clinical Decision Support WG. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cds-hooks/ and changes regularly. See the Directory of published versions

Logical Model: CDSHooks Discovery Response (Logical Definition) - Detailed Descriptions

Page standards status: Informative

Definitions for the CDSHooksServices logical model

Guidance on how to interpret the contents of this table can be foundhere

0. CDSHooksServices
Definition

The response to the discovery endpoint SHALL be an object containing a list of CDS Services

ShortThe response to the discovery endpoint
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. CDSHooksServices.extension
Definition

A JSON object that has properties where the names are defined by the extension definitions

ShortObject that has Named Extension Properties
Comments

Extension structures SHOULD use a strategy for naming that ensures global uniqueness, such as reverse-domain-name notation, e.g. com.cds-hooks.sandbox.myextension-practitionerspecialty. How to handle complex extensions (objects) is not defined

Control0..1
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
4. CDSHooksServices.services
Definition

An array of CDS Services

ShortAn array of CDS Services
Comments

If the CDS server hosts no CDS Services, the discovery endpoint should return a 200 HTTP response with an empty array of services. Note that a CDS server can host multiple entries of CDS service with the same id for different hooks. This allows a service to update its advice based on changes in workflow.

Control0..*
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
JSON FormatThe JSON Array for this property is present even when there are no items in the instance (e.g. as an empty array)
6. CDSHooksServices.services.extension
Definition

A JSON object that has properties where the names are defined by the extension definitions

ShortObject that has Named Extension Properties
Comments

Extension structures SHOULD use a strategy for naming that ensures global uniqueness, such as reverse-domain-name notation, e.g. com.cds-hooks.sandbox.myextension-practitionerspecialty. How to handle complex extensions (objects) is not defined

Control0..1
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
8. CDSHooksServices.services.hook
Definition

The hook this service should be invoked on

ShortThe hook this service should be invoked on
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. CDSHooksServices.services.title
Definition

The human-friendly name of this service

ShortThe human-friendly name of this service
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. CDSHooksServices.services.description
Definition

The description of this service

ShortThe description of this service
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. CDSHooksServices.services.id
Definition

The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}

ShortThe {id} portion of the URL to this service
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
16. CDSHooksServices.services.prefetch
Definition

An object containing key/value pairs of FHIR queries that this service is requesting the CDS Client to perform and provide on each service call. The key is a string that describes the type of data being requested and the value is a string representing the FHIR query

ShortKey/value pairs of FHIR queries to provide when calling
Control0..*
TypeBase
JSON FormatThis repeating object is represented as a single JSON object with named properties. The name of the property (key) is the value of thekey child
18. CDSHooksServices.services.prefetch.key
Definition

Key of FHIR query - name for client to use when sending prefetched data to the service

ShortKey of FHIR query
Control1..1
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
20. CDSHooksServices.services.prefetch.value
Definition

A FHIR query for the CDS Client to perform, which may include prefetch tokens

ShortFHIR query template
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
22. CDSHooksServices.services.usageRequirements
Definition

Human-friendly description of any preconditions for the use of this CDS Service

ShortHuman-friendly preconditions for the use of this CDS Service
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
24. CDSHooksServices.services.version
Definition

The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)

ShortCDS Hooks specification version implemented
NoteThis is a business version Id, not a resource version Id (see discussion)
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

Guidance on how to interpret the contents of this table can be foundhere

0. CDSHooksServices
Definition

The response to the discovery endpoint SHALL be an object containing a list of CDS Services

ShortThe response to the discovery endpoint
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. CDSHooksServices.services
Definition

An array of CDS Services

ShortAn array of CDS Services
Comments

If the CDS server hosts no CDS Services, the discovery endpoint should return a 200 HTTP response with an empty array of services. Note that a CDS server can host multiple entries of CDS service with the same id for different hooks. This allows a service to update its advice based on changes in workflow.

Control0..*
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
JSON FormatThe JSON Array for this property is present even when there are no items in the instance (e.g. as an empty array)
4. CDSHooksServices.services.hook
Definition

The hook this service should be invoked on

ShortThe hook this service should be invoked on
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
6. CDSHooksServices.services.title
Definition

The human-friendly name of this service

ShortThe human-friendly name of this service
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
8. CDSHooksServices.services.description
Definition

The description of this service

ShortThe description of this service
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. CDSHooksServices.services.id
Definition

The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}

ShortThe {id} portion of the URL to this service
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. CDSHooksServices.services.prefetch
Definition

An object containing key/value pairs of FHIR queries that this service is requesting the CDS Client to perform and provide on each service call. The key is a string that describes the type of data being requested and the value is a string representing the FHIR query

ShortKey/value pairs of FHIR queries to provide when calling
Control0..*
TypeBase
JSON FormatThis repeating object is represented as a single JSON object with named properties. The name of the property (key) is the value of thekey child
14. CDSHooksServices.services.prefetch.key
Definition

Key of FHIR query - name for client to use when sending prefetched data to the service

ShortKey of FHIR query
Control1..1
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
16. CDSHooksServices.services.prefetch.value
Definition

A FHIR query for the CDS Client to perform, which may include prefetch tokens

ShortFHIR query template
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
18. CDSHooksServices.services.usageRequirements
Definition

Human-friendly description of any preconditions for the use of this CDS Service

ShortHuman-friendly preconditions for the use of this CDS Service
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
20. CDSHooksServices.services.version
Definition

The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)

ShortCDS Hooks specification version implemented
NoteThis is a business version Id, not a resource version Id (see discussion)
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

Guidance on how to interpret the contents of this table can be foundhere

0. CDSHooksServices
Definition

The response to the discovery endpoint SHALL be an object containing a list of CDS Services

ShortThe response to the discovery endpoint
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. CDSHooksServices.extension
Definition

A JSON object that has properties where the names are defined by the extension definitions

ShortObject that has Named Extension Properties
Comments

Extension structures SHOULD use a strategy for naming that ensures global uniqueness, such as reverse-domain-name notation, e.g. com.cds-hooks.sandbox.myextension-practitionerspecialty. How to handle complex extensions (objects) is not defined

Control0..1
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
4. CDSHooksServices.services
Definition

An array of CDS Services

ShortAn array of CDS Services
Comments

If the CDS server hosts no CDS Services, the discovery endpoint should return a 200 HTTP response with an empty array of services. Note that a CDS server can host multiple entries of CDS service with the same id for different hooks. This allows a service to update its advice based on changes in workflow.

Control0..*
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
JSON FormatThe JSON Array for this property is present even when there are no items in the instance (e.g. as an empty array)
6. CDSHooksServices.services.extension
Definition

A JSON object that has properties where the names are defined by the extension definitions

ShortObject that has Named Extension Properties
Comments

Extension structures SHOULD use a strategy for naming that ensures global uniqueness, such as reverse-domain-name notation, e.g. com.cds-hooks.sandbox.myextension-practitionerspecialty. How to handle complex extensions (objects) is not defined

Control0..1
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
8. CDSHooksServices.services.hook
Definition

The hook this service should be invoked on

ShortThe hook this service should be invoked on
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. CDSHooksServices.services.title
Definition

The human-friendly name of this service

ShortThe human-friendly name of this service
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. CDSHooksServices.services.description
Definition

The description of this service

ShortThe description of this service
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. CDSHooksServices.services.id
Definition

The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}

ShortThe {id} portion of the URL to this service
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
16. CDSHooksServices.services.prefetch
Definition

An object containing key/value pairs of FHIR queries that this service is requesting the CDS Client to perform and provide on each service call. The key is a string that describes the type of data being requested and the value is a string representing the FHIR query

ShortKey/value pairs of FHIR queries to provide when calling
Control0..*
TypeBase
JSON FormatThis repeating object is represented as a single JSON object with named properties. The name of the property (key) is the value of thekey child
18. CDSHooksServices.services.prefetch.key
Definition

Key of FHIR query - name for client to use when sending prefetched data to the service

ShortKey of FHIR query
Control1..1
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
20. CDSHooksServices.services.prefetch.value
Definition

A FHIR query for the CDS Client to perform, which may include prefetch tokens

ShortFHIR query template
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
22. CDSHooksServices.services.usageRequirements
Definition

Human-friendly description of any preconditions for the use of this CDS Service

ShortHuman-friendly preconditions for the use of this CDS Service
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
24. CDSHooksServices.services.version
Definition

The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)

ShortCDS Hooks specification version implemented
NoteThis is a business version Id, not a resource version Id (see discussion)
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension