FHIR Tooling Extensions IG
0.8.0 - Release 0.2.0 International flag

This page is part of the HL7 Tools Extension IG (v0.8.0: Release - Informative) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions

Logical Model: CDSHooks Request (Logical Definition) ( Experimental )

Official URL: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest Version: 0.8.0
Standards status: Informative Maturity Level: 1 Computable Name: CDSHooksRequest
Other Identifiers: OID:2.16.840.1.113883.4.642.40.1.42.6

This structure is defined to allow the FHIR Validator to validate a CDSHooks Request Body. TODO: This content will be moved to the CDS Hooks specification in the future

Usages:

  • This Logical Model is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksRequest C 0..* CDSHooksElement
Elements defined in Ancestors:extension
A request for decision support
Constraints: cds-r-1
... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
... hook 1..1 code The hook that triggered this CDS Service call
... hookInstance 1..1 uuid A UUID for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirAuthorization C 0..1 CDSHooksElement Authorization info for service to use when querying
Constraints: cds-r-2
.... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
.... accessToken 1..1 string OAuth 2.0 access token giving access to FHIR server
JSON Property Name: access_token
.... tokenType 1..1 code Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1 integer The lifetime in seconds of the access token
JSON Property Name: expires_in
.... scope 1..1 string Scopes granted by access token
.... subject 1..1 string OAuth 2.0 client identifier of the CDS Service
.... patient 0..1 id OAuth 2.0 client identifier of the CDS Service
... context 1..1 CDSHookContext Contextual data always needed for this hook type
JSON: If%resource.hook = 'appointment-book'then the type is CDSHookAppointmentBookContext
JSON: If%resource.hook = 'encounter-start'then the type is CDSHookEncounterStartContext
JSON: If%resource.hook = 'encounter-discharge'then the type is CDSHookEncounterDischargeContext
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-dispatch'then the type is CDSHookOrderDispatchContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..* Base Additional information requested by service for this hook type
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1 code Key of FHIR query
.... value 1..1 Resource Results of query/read
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cds-r-1errorCDSHooksRequestif fhirAuthorization details are provided, a fhirServer SHALL be specified
: fhirAuthorization.exists() implies fhirServer.exists()
cds-r-2errorCDSHooksRequest.fhirAuthorizationIf 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()

This structure is derived from CDSHooksElement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksRequest C 0..* CDSHooksElement
Elements defined in Ancestors:extension
A request for decision support
Constraints: cds-r-1
... hook 1..1 code The hook that triggered this CDS Service call
... hookInstance 1..1 uuid A UUID for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirServer 0..1 url The base URL of the CDS Client's FHIR server
.... accessToken 1..1 string OAuth 2.0 access token giving access to FHIR server
JSON Property Name: access_token
.... tokenType 1..1 code Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1 integer The lifetime in seconds of the access token
JSON Property Name: expires_in
.... scope 1..1 string Scopes granted by access token
.... subject 1..1 string OAuth 2.0 client identifier of the CDS Service
.... patient 0..1 id OAuth 2.0 client identifier of the CDS Service
... context 1..1 CDSHookContext Contextual data always needed for this hook type
JSON: If%resource.hook = 'appointment-book'then the type is CDSHookAppointmentBookContext
JSON: If%resource.hook = 'encounter-start'then the type is CDSHookEncounterStartContext
JSON: If%resource.hook = 'encounter-discharge'then the type is CDSHookEncounterDischargeContext
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-dispatch'then the type is CDSHookOrderDispatchContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..* Base Additional information requested by service for this hook type
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1 code Key of FHIR query
.... value 1..1 Resource Results of query/read
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cds-r-1errorCDSHooksRequestif fhirAuthorization details are provided, a fhirServer SHALL be specified
: fhirAuthorization.exists() implies fhirServer.exists()
cds-r-2errorCDSHooksRequest.fhirAuthorizationIf 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()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksRequest C 0..* CDSHooksElement
Elements defined in Ancestors:extension
A request for decision support
Constraints: cds-r-1
... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
... hook 1..1 code The hook that triggered this CDS Service call
... hookInstance 1..1 uuid A UUID for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirAuthorization C 0..1 CDSHooksElement Authorization info for service to use when querying
Constraints: cds-r-2
.... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
.... accessToken 1..1 string OAuth 2.0 access token giving access to FHIR server
JSON Property Name: access_token
.... tokenType 1..1 code Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1 integer The lifetime in seconds of the access token
JSON Property Name: expires_in
.... scope 1..1 string Scopes granted by access token
.... subject 1..1 string OAuth 2.0 client identifier of the CDS Service
.... patient 0..1 id OAuth 2.0 client identifier of the CDS Service
... context 1..1 CDSHookContext Contextual data always needed for this hook type
JSON: If%resource.hook = 'appointment-book'then the type is CDSHookAppointmentBookContext
JSON: If%resource.hook = 'encounter-start'then the type is CDSHookEncounterStartContext
JSON: If%resource.hook = 'encounter-discharge'then the type is CDSHookEncounterDischargeContext
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-dispatch'then the type is CDSHookOrderDispatchContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..* Base Additional information requested by service for this hook type
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1 code Key of FHIR query
.... value 1..1 Resource Results of query/read
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cds-r-1errorCDSHooksRequestif fhirAuthorization details are provided, a fhirServer SHALL be specified
: fhirAuthorization.exists() implies fhirServer.exists()
cds-r-2errorCDSHooksRequest.fhirAuthorizationIf 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()

This structure is derived from CDSHooksElement

Summary

Mandatory: 0 element(10 nested mandatory elements)
Fixed: 1 element

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksRequest C 0..* CDSHooksElement
Elements defined in Ancestors:extension
A request for decision support
Constraints: cds-r-1
... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
... hook 1..1 code The hook that triggered this CDS Service call
... hookInstance 1..1 uuid A UUID for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirAuthorization C 0..1 CDSHooksElement Authorization info for service to use when querying
Constraints: cds-r-2
.... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
.... accessToken 1..1 string OAuth 2.0 access token giving access to FHIR server
JSON Property Name: access_token
.... tokenType 1..1 code Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1 integer The lifetime in seconds of the access token
JSON Property Name: expires_in
.... scope 1..1 string Scopes granted by access token
.... subject 1..1 string OAuth 2.0 client identifier of the CDS Service
.... patient 0..1 id OAuth 2.0 client identifier of the CDS Service
... context 1..1 CDSHookContext Contextual data always needed for this hook type
JSON: If%resource.hook = 'appointment-book'then the type is CDSHookAppointmentBookContext
JSON: If%resource.hook = 'encounter-start'then the type is CDSHookEncounterStartContext
JSON: If%resource.hook = 'encounter-discharge'then the type is CDSHookEncounterDischargeContext
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-dispatch'then the type is CDSHookOrderDispatchContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..* Base Additional information requested by service for this hook type
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1 code Key of FHIR query
.... value 1..1 Resource Results of query/read
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cds-r-1errorCDSHooksRequestif fhirAuthorization details are provided, a fhirServer SHALL be specified
: fhirAuthorization.exists() implies fhirServer.exists()
cds-r-2errorCDSHooksRequest.fhirAuthorizationIf 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()

Differential View

This structure is derived from CDSHooksElement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksRequest C 0..* CDSHooksElement
Elements defined in Ancestors:extension
A request for decision support
Constraints: cds-r-1
... hook 1..1 code The hook that triggered this CDS Service call
... hookInstance 1..1 uuid A UUID for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirServer 0..1 url The base URL of the CDS Client's FHIR server
.... accessToken 1..1 string OAuth 2.0 access token giving access to FHIR server
JSON Property Name: access_token
.... tokenType 1..1 code Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1 integer The lifetime in seconds of the access token
JSON Property Name: expires_in
.... scope 1..1 string Scopes granted by access token
.... subject 1..1 string OAuth 2.0 client identifier of the CDS Service
.... patient 0..1 id OAuth 2.0 client identifier of the CDS Service
... context 1..1 CDSHookContext Contextual data always needed for this hook type
JSON: If%resource.hook = 'appointment-book'then the type is CDSHookAppointmentBookContext
JSON: If%resource.hook = 'encounter-start'then the type is CDSHookEncounterStartContext
JSON: If%resource.hook = 'encounter-discharge'then the type is CDSHookEncounterDischargeContext
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-dispatch'then the type is CDSHookOrderDispatchContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..* Base Additional information requested by service for this hook type
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1 code Key of FHIR query
.... value 1..1 Resource Results of query/read
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cds-r-1errorCDSHooksRequestif fhirAuthorization details are provided, a fhirServer SHALL be specified
: fhirAuthorization.exists() implies fhirServer.exists()
cds-r-2errorCDSHooksRequest.fhirAuthorizationIf 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()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksRequest C 0..* CDSHooksElement
Elements defined in Ancestors:extension
A request for decision support
Constraints: cds-r-1
... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
... hook 1..1 code The hook that triggered this CDS Service call
... hookInstance 1..1 uuid A UUID for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirAuthorization C 0..1 CDSHooksElement Authorization info for service to use when querying
Constraints: cds-r-2
.... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
.... accessToken 1..1 string OAuth 2.0 access token giving access to FHIR server
JSON Property Name: access_token
.... tokenType 1..1 code Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1 integer The lifetime in seconds of the access token
JSON Property Name: expires_in
.... scope 1..1 string Scopes granted by access token
.... subject 1..1 string OAuth 2.0 client identifier of the CDS Service
.... patient 0..1 id OAuth 2.0 client identifier of the CDS Service
... context 1..1 CDSHookContext Contextual data always needed for this hook type
JSON: If%resource.hook = 'appointment-book'then the type is CDSHookAppointmentBookContext
JSON: If%resource.hook = 'encounter-start'then the type is CDSHookEncounterStartContext
JSON: If%resource.hook = 'encounter-discharge'then the type is CDSHookEncounterDischargeContext
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-dispatch'then the type is CDSHookOrderDispatchContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..* Base Additional information requested by service for this hook type
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1 code Key of FHIR query
.... value 1..1 Resource Results of query/read
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
cds-r-1errorCDSHooksRequestif fhirAuthorization details are provided, a fhirServer SHALL be specified
: fhirAuthorization.exists() implies fhirServer.exists()
cds-r-2errorCDSHooksRequest.fhirAuthorizationIf 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()

This structure is derived from CDSHooksElement

Summary

Mandatory: 0 element(10 nested mandatory elements)
Fixed: 1 element

Maturity: 1

 

Other representations of profile: CSV, Excel