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-ballot 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
Page standards status: Trial-use | Maturity Level: 4 |
Definitions for the CRDHooksRequest logical model.
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 nameaccess_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 nametoken_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 nameexpires_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 CDSHookAppointmentBookContextIf %resource.hook = 'encounter-start' then the type is CDSHookEncounterStartContextIf %resource.hook = 'encounter-discharge' then the type is CDSHookEncounterDischargeContextIf %resource.hook = 'patient-view' then the type is CDSHookPatientViewContextIf %resource.hook = 'order-dispatch' then the type is CDSHookOrderDispatchContextIf %resource.hook = 'order-sign' then the type is CDSHookOrderSignContextIf %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 service. |
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 thekey 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 service. |
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 nameaccess_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 nametoken_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 nameexpires_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 CDSHookAppointmentBookContextIf %resource.hook = 'encounter-start' then the type is CDSHookEncounterStartContextIf %resource.hook = 'encounter-discharge' then the type is CDSHookEncounterDischargeContextIf %resource.hook = 'patient-view' then the type is CDSHookPatientViewContextIf %resource.hook = 'order-dispatch' then the type is CDSHookOrderDispatchContextIf %resource.hook = 'order-sign' then the type is CDSHookOrderSignContextIf %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 service. |
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 thekey 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) |