Da Vinci - Coverage Requirements Discovery
2.2.0-snapshot - STU 2.2 Peer Review

Da Vinci - Coverage Requirements Discovery, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.2.0-snapshot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-crd/ and changes regularly. See the Directory of published versions

## Logical Model: CRD CDSHooks Request (Logical Definition) - Detailed Descriptions

Page standards status: Trial-use | Maturity Level: 4

Definitions for the CRDHooksRequest logical model

- Key Elements Table
- Differential Table
- Snapshot Table

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

0. CDSHooksRequest
Definition | The data structure that used when invoking a CDS Hook service
Short | Request for decision support
Control | 0..*
Is Modifier | false
Logical Model | Instances of this logical model are not marked to be the target of a Reference
Invariants | cds-r-1: if fhirAuthorization details are provided, a fhirServer SHALL be specified (`fhirAuthorization.exists() implies fhirServer.exists()`)
2. CDSHooksRequest.extension
Definition | An Extension
Short | Extension
Control | 0..1
Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
4. CDSHooksRequest.hook
Definition | The hook that triggered this CDS Service call
Short | Hook event triggering call
Control | 1..1
Binding | The codes SHALL be taken from CDS Hook Types Value Set (required to `http://hl7.org/fhir/us/davinci-crd/ValueSet/cdsHookType` )
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
6. CDSHooksRequest.hookInstance
Definition | While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation
Short | Unique id for hook invocation
Comments | Note: the hookInstance is globally unique and should contain enough entropy to be un-guessable.
Control | 1..1
Type | uuid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
String Format | When this element is read `urn:uuid:`is prefixed to the value before validation
8. CDSHooksRequest.fhirServer
Definition | The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged
Short | Location to query for data
Control | 1..1
Type | url
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
10. CDSHooksRequest.fhirAuthorization
Definition | A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token
Short | Auth to use in queries
Control | 1..1
Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
Must Support | true
Invariants | cds-r-2: If the granted SMART scopes include patient scopes (i.e. 'patient/'), the patient field SHOULD be populated to identify the FHIR id of that patient. (`scope.contains('Patient/') implies patient.exists()`)
12. CDSHooksRequest.fhirAuthorization.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
14. CDSHooksRequest.fhirAuthorization.accessToken
Definition | This is the OAuth 2.0 access token that provides access to the FHIR server
Short | Auth token for query header
Control | 1..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
JSON Format | This property appears in JSON with the property name`access_token`
16. CDSHooksRequest.fhirAuthorization.tokenType
Definition | The type of token provided. (Present to support future extensibility)
Short | Bearer
Control | 1..1
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
JSON Format | This property appears in JSON with the property name`token_type`
Fixed Value | `Bearer`
18. CDSHooksRequest.fhirAuthorization.expiresIn
Definition | The lifetime in seconds of the access token.
Short | Seconds token is valid
Control | 1..1
Type | integer
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
JSON Format | This property appears in JSON with the property name`expires_in`
20. CDSHooksRequest.fhirAuthorization.scope
Definition | The scopes the access token grants the CDS Service
Short | Granted access scopes
Control | 1..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
22. CDSHooksRequest.fhirAuthorization.subject
Definition | If the granted SMART scopes include patient scopes (i.e. 'patient/'), the access token is restricted to a specific patient. This field SHOULD be populated to identify the FHIR id of that patient.
Short | Patient id for access
Control | 1..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
24. CDSHooksRequest.fhirAuthorization.patient
Definition | The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server
Short | OAuth 2.0 client identifier of the CDS Service
Control | 0..1
Type | id
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
26. CDSHooksRequest.context
Definition | Hook-specific contextual data that the CDS service will need
Short | Context for decision support
Control | 1..1
Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext
Type Specifiers | If `%resource.hook = 'appointment-book'` then the type is CDSHookAppointmentBookContext If `%resource.hook = 'encounter-start'` then the type is CDSHookEncounterStartContext If `%resource.hook = 'encounter-discharge'` then the type is CDSHookEncounterDischargeContext If `%resource.hook = 'patient-view'` then the type is CDSHookPatientViewContext If `%resource.hook = 'order-dispatch'` then the type is CDSHookOrderDispatchContext If `%resource.hook = 'order-sign'` then the type is CDSHookOrderSignContext If `%resource.hook = 'order-select'` then the type is CDSHookOrderSelectContext
Must Support | true
28. CDSHooksRequest.prefetch
Definition | An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request 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 | Prefetch info requested by server
Comments | While this is mustSupport, CRD clients are not required to pass any or all prefetch data requested by the CRD server.
Control | 0..*
Type | Base
Must Support | true
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 the`key` child
30. CDSHooksRequest.prefetch.key
Definition | Name of the FHIR query/read from the CDS Hooks Services object provided by the server
Short | Key as specfied in server prefetch config
Control | 1..1
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
32. CDSHooksRequest.prefetch.value
Definition | What was found by executing the search or read requested by the CDS Hooks Service in the context of this particular hook invocation
Short | Resource(s) matching prefetch criteria
Control | 1..1
Type | Resource
Must Support | true
ID Expectation | Id may or not be present (this is the default for elements but not resources)
JSON Format | This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

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

0. CDSHooksRequest
Short | Request for decision support
Logical Model | Instances of this logical model are not marked to be the target of a Reference
2. CDSHooksRequest.extension
4. CDSHooksRequest.hook
Short | Hook event triggering call
Binding | The codes SHALL be taken from CDS Hook Types Value Set (required to `http://hl7.org/fhir/us/davinci-crd/ValueSet/cdsHookType` )
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
6. CDSHooksRequest.hookInstance
Short | Unique id for hook invocation
Must Support | true
8. CDSHooksRequest.fhirServer
Short | Location to query for data
Control | 1..?
Must Support | true
10. CDSHooksRequest.fhirAuthorization
Short | Auth to use in queries
Control | 1..?
Must Support | true
12. CDSHooksRequest.fhirAuthorization.accessToken
Short | Auth token for query header
Must Support | true
14. CDSHooksRequest.fhirAuthorization.tokenType
Must Support | true
16. CDSHooksRequest.fhirAuthorization.expiresIn
Short | Seconds token is valid
Must Support | true
18. CDSHooksRequest.fhirAuthorization.scope
Short | Granted access scopes
Must Support | true
20. CDSHooksRequest.fhirAuthorization.subject
Definition | If the granted SMART scopes include patient scopes (i.e. 'patient/'), the access token is restricted to a specific patient. This field SHOULD be populated to identify the FHIR id of that patient.
Short | Patient id for access
Must Support | true
22. CDSHooksRequest.context
Short | Context for decision support
Type Specifiers | If `%resource.hook = 'appointment-book'` then the type is `http://hl7.org/fhir/us/davnci-crd/StructureDefinition/CRDHookAppointmentBookContext` If `%resource.hook = 'encounter-start'` then the type is `http://hl7.org/fhir/tools/StructureDefinition/CDSEncounterStartContext` If `%resource.hook = 'encounter-discharge'` then the type is `http://hl7.org/fhir/tools/StructureDefinition/CDSEncounterDischargeContext` If `%resource.hook = 'order-dispatch'` then the type is `http://hl7.org/fhir/us/davnci-crd/StructureDefinition/CRDOrderDispatchContext` If `%resource.hook = 'order-select'` then the type is `http://hl7.org/fhir/us/davnci-crd/StructureDefinition/CRDHookOrderSignContext` If `%resource.hook = 'order-sign'` then the type is `http://hl7.org/fhir/us/davnci-crd/StructureDefinition/CRDHookOrderSignContext`
Must Support | true
24. CDSHooksRequest.prefetch
Short | Prefetch info requested by server
Comments | While this is mustSupport, CRD clients are not required to pass any or all prefetch data requested by the CRD server.
Must Support | true
26. CDSHooksRequest.prefetch.key
Short | Key as specfied in server prefetch config
Must Support | true
28. CDSHooksRequest.prefetch.value
Short | Resource(s) matching prefetch criteria
Must Support | true

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

0. CDSHooksRequest
Definition | The data structure that used when invoking a CDS Hook service
Short | Request for decision support
Control | 0..*
Is Modifier | false
Logical Model | Instances of this logical model are not marked to be the target of a Reference
Invariants | cds-r-1: if fhirAuthorization details are provided, a fhirServer SHALL be specified (`fhirAuthorization.exists() implies fhirServer.exists()`)
2. CDSHooksRequest.extension
Definition | An Extension
Short | Extension
Control | 0..1
Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
4. CDSHooksRequest.hook
Definition | The hook that triggered this CDS Service call
Short | Hook event triggering call
Control | 1..1
Binding | The codes SHALL be taken from CDS Hook Types Value Set (required to `http://hl7.org/fhir/us/davinci-crd/ValueSet/cdsHookType` )
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
6. CDSHooksRequest.hookInstance
Definition | While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation
Short | Unique id for hook invocation
Comments | Note: the hookInstance is globally unique and should contain enough entropy to be un-guessable.
Control | 1..1
Type | uuid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
String Format | When this element is read `urn:uuid:`is prefixed to the value before validation
8. CDSHooksRequest.fhirServer
Definition | The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged
Short | Location to query for data
Control | 1..1
Type | url
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
10. CDSHooksRequest.fhirAuthorization
Definition | A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token
Short | Auth to use in queries
Control | 1..1
Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
Must Support | true
Invariants | cds-r-2: If the granted SMART scopes include patient scopes (i.e. 'patient/'), the patient field SHOULD be populated to identify the FHIR id of that patient. (`scope.contains('Patient/') implies patient.exists()`)
12. CDSHooksRequest.fhirAuthorization.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
14. CDSHooksRequest.fhirAuthorization.accessToken
Definition | This is the OAuth 2.0 access token that provides access to the FHIR server
Short | Auth token for query header
Control | 1..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
JSON Format | This property appears in JSON with the property name`access_token`
16. CDSHooksRequest.fhirAuthorization.tokenType
Definition | The type of token provided. (Present to support future extensibility)
Short | Bearer
Control | 1..1
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
JSON Format | This property appears in JSON with the property name`token_type`
Fixed Value | `Bearer`
18. CDSHooksRequest.fhirAuthorization.expiresIn
Definition | The lifetime in seconds of the access token.
Short | Seconds token is valid
Control | 1..1
Type | integer
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
JSON Format | This property appears in JSON with the property name`expires_in`
20. CDSHooksRequest.fhirAuthorization.scope
Definition | The scopes the access token grants the CDS Service
Short | Granted access scopes
Control | 1..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
22. CDSHooksRequest.fhirAuthorization.subject
Definition | If the granted SMART scopes include patient scopes (i.e. 'patient/'), the access token is restricted to a specific patient. This field SHOULD be populated to identify the FHIR id of that patient.
Short | Patient id for access
Control | 1..1
Type | string
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
24. CDSHooksRequest.fhirAuthorization.patient
Definition | The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server
Short | OAuth 2.0 client identifier of the CDS Service
Control | 0..1
Type | id
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
26. CDSHooksRequest.context
Definition | Hook-specific contextual data that the CDS service will need
Short | Context for decision support
Control | 1..1
Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext
Type Specifiers | If `%resource.hook = 'appointment-book'` then the type is CDSHookAppointmentBookContext If `%resource.hook = 'encounter-start'` then the type is CDSHookEncounterStartContext If `%resource.hook = 'encounter-discharge'` then the type is CDSHookEncounterDischargeContext If `%resource.hook = 'patient-view'` then the type is CDSHookPatientViewContext If `%resource.hook = 'order-dispatch'` then the type is CDSHookOrderDispatchContext If `%resource.hook = 'order-sign'` then the type is CDSHookOrderSignContext If `%resource.hook = 'order-select'` then the type is CDSHookOrderSelectContext
Must Support | true
28. CDSHooksRequest.prefetch
Definition | An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request 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 | Prefetch info requested by server
Comments | While this is mustSupport, CRD clients are not required to pass any or all prefetch data requested by the CRD server.
Control | 0..*
Type | Base
Must Support | true
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 the`key` child
30. CDSHooksRequest.prefetch.key
Definition | Name of the FHIR query/read from the CDS Hooks Services object provided by the server
Short | Key as specfied in server prefetch config
Control | 1..1
Type | code
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
32. CDSHooksRequest.prefetch.value
Definition | What was found by executing the search or read requested by the CDS Hooks Service in the context of this particular hook invocation
Short | Resource(s) matching prefetch criteria
Control | 1..1
Type | Resource
Must Support | true
ID Expectation | Id may or not be present (this is the default for elements but not resources)
JSON Format | This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)