CDS Hooks
3.0.0-ballot - R3 Normative Ballot
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
| 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 |
| Short | The response to the discovery endpoint |
| Control | 0..* |
| Is Modifier | false |
| Logical Model | Instances 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 |
| Short | Object 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 4. CDSHooksServices.services | |
| Definition | An array of CDS Services |
| Short | An 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. |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| JSON Format | The 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 |
| Short | Object 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 8. CDSHooksServices.services.hook | |
| Definition | The hook this service should be invoked on |
| Short | The hook this service should be invoked on |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 10. CDSHooksServices.services.title | |
| Definition | The human-friendly name of this service |
| Short | The human-friendly name of this service |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. CDSHooksServices.services.description | |
| Definition | The description of this service |
| Short | The description of this service |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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} |
| Short | The {id} portion of the URL to this service |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | Key/value pairs of FHIR queries to provide when calling |
| Control | 0..* |
| Type | Base |
| JSON Format | This 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 |
| Short | Key of FHIR query |
| Control | 1..1 |
| Type | code |
| Primitive Value | This 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 |
| Short | FHIR query template |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | Human-friendly preconditions for the use of this CDS Service |
| Control | 0..1 |
| Type | string |
| Primitive Value | This 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) |
| Short | CDS Hooks specification version implemented |
| Note | This is a business version Id, not a resource version Id (see discussion) |
| Control | 0..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | The response to the discovery endpoint |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. CDSHooksServices.services | |
| Definition | An array of CDS Services |
| Short | An 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. |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| JSON Format | The 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 |
| Short | The hook this service should be invoked on |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 6. CDSHooksServices.services.title | |
| Definition | The human-friendly name of this service |
| Short | The human-friendly name of this service |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 8. CDSHooksServices.services.description | |
| Definition | The description of this service |
| Short | The description of this service |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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} |
| Short | The {id} portion of the URL to this service |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | Key/value pairs of FHIR queries to provide when calling |
| Control | 0..* |
| Type | Base |
| JSON Format | This 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 |
| Short | Key of FHIR query |
| Control | 1..1 |
| Type | code |
| Primitive Value | This 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 |
| Short | FHIR query template |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | Human-friendly preconditions for the use of this CDS Service |
| Control | 0..1 |
| Type | string |
| Primitive Value | This 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) |
| Short | CDS Hooks specification version implemented |
| Note | This is a business version Id, not a resource version Id (see discussion) |
| Control | 0..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | The response to the discovery endpoint |
| Control | 0..* |
| Is Modifier | false |
| Logical Model | Instances 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 |
| Short | Object 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 4. CDSHooksServices.services | |
| Definition | An array of CDS Services |
| Short | An 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. |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| JSON Format | The 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 |
| Short | Object 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 8. CDSHooksServices.services.hook | |
| Definition | The hook this service should be invoked on |
| Short | The hook this service should be invoked on |
| Control | 1..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 10. CDSHooksServices.services.title | |
| Definition | The human-friendly name of this service |
| Short | The human-friendly name of this service |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. CDSHooksServices.services.description | |
| Definition | The description of this service |
| Short | The description of this service |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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} |
| Short | The {id} portion of the URL to this service |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | Key/value pairs of FHIR queries to provide when calling |
| Control | 0..* |
| Type | Base |
| JSON Format | This 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 |
| Short | Key of FHIR query |
| Control | 1..1 |
| Type | code |
| Primitive Value | This 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 |
| Short | FHIR query template |
| Control | 1..1 |
| Type | string |
| Primitive Value | This 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 |
| Short | Human-friendly preconditions for the use of this CDS Service |
| Control | 0..1 |
| Type | string |
| Primitive Value | This 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) |
| Short | CDS Hooks specification version implemented |
| Note | This is a business version Id, not a resource version Id (see discussion) |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |