Using FHIR Clinical Reasoning with CDS Hooks
1.0.0-draft - International flag

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

Resource Profile: CDS Hooks Guidance Response

Official URL: http://hl7.org/fhir/uv/cds-hooks-clinical-reasoning/StructureDefinition/cdshooksguidanceresponse Version: 1.0.0-draft
Standards status: Trial-use Active as of 2025-11-04 Maturity Level: 2 Computable Name: CDSHooksGuidanceResponse

Defines a GuidanceResponse that represents the response container for a CDS Hooks response

Usages:

  • This Profile 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 Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. GuidanceResponse 1..1 GuidanceResponse The formal response to a guidance request
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:cdsHooksEndpoint 1..1 uri Service endpoint
URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier Business identifier
... Slices for module[x] Σ 1..1 uri What guidance was requested
Slice: Unordered, Closed by type:$this
.... module[x]:moduleUri Σ 1..1 uri What guidance was requested
... status ?!Σ 1..1 code success | data-requested | data-required | in-progress | failure | entered-in-error
Binding: GuidanceResponseStatus (required): The status of a guidance response.
... subject S 0..1 Reference(Patient | Group) Patient the request was performed for
... occurrenceDateTime S 0..1 dateTime When the guidance response was processed
... performer S 0..1 Reference(Device) Device returning the guidance
... result S 0..1 Reference(CarePlan | RequestGroup) Proposed actions, if any

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GuidanceResponse.status Base required GuidanceResponseStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GuidanceResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GuidanceResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GuidanceResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. GuidanceResponse 1..1 GuidanceResponse The formal response to a guidance request
... Slices for extension Content/Rules for all slices
.... extension:cdsHooksEndpoint 1..1 uri Service endpoint
URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint
... requestIdentifier 1..1 Identifier The identifier of the request associated with this response, if any
... identifier 1..1 Identifier Business identifier
... subject S 0..1 Reference(Patient | Group) Patient the request was performed for
... occurrenceDateTime S 0..1 dateTime When the guidance response was processed
... performer S 0..1 Reference(Device) Device returning the guidance
... result S 0..1 Reference(CarePlan | RequestGroup) Proposed actions, if any

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. GuidanceResponse 1..1 GuidanceResponse The formal response to a guidance request
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:cdsHooksEndpoint 1..1 uri Service endpoint
URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... requestIdentifier Σ 1..1 Identifier The identifier of the request associated with this response, if any
... identifier Σ 1..1 Identifier Business identifier
... Slices for module[x] Σ 1..1 uri What guidance was requested
Slice: Unordered, Closed by type:$this
.... module[x]:moduleUri Σ 1..1 uri What guidance was requested
... status ?!Σ 1..1 code success | data-requested | data-required | in-progress | failure | entered-in-error
Binding: GuidanceResponseStatus (required): The status of a guidance response.
... subject S 0..1 Reference(Patient | Group) Patient the request was performed for
... encounter 0..1 Reference(Encounter) Encounter during which the response was returned
... occurrenceDateTime S 0..1 dateTime When the guidance response was processed
... performer S 0..1 Reference(Device) Device returning the guidance
... reasonCode 0..* CodeableConcept Why guidance is needed
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why guidance is needed
... note 0..* Annotation Additional notes about the response
... evaluationMessage 0..* Reference(OperationOutcome) Messages resulting from the evaluation of the artifact or artifacts
... outputParameters 0..1 Reference(Parameters) The output parameters of the evaluation, if any
... result S 0..1 Reference(CarePlan | RequestGroup) Proposed actions, if any
... dataRequirement 0..* DataRequirement Additional required data

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GuidanceResponse.language Base preferred Common Languages 📍4.0.1 FHIR Std.
GuidanceResponse.status Base required GuidanceResponseStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GuidanceResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GuidanceResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GuidanceResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Extensions

This structure refers to these extensions:

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. GuidanceResponse 1..1 GuidanceResponse The formal response to a guidance request
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:cdsHooksEndpoint 1..1 uri Service endpoint
URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier Business identifier
... Slices for module[x] Σ 1..1 uri What guidance was requested
Slice: Unordered, Closed by type:$this
.... module[x]:moduleUri Σ 1..1 uri What guidance was requested
... status ?!Σ 1..1 code success | data-requested | data-required | in-progress | failure | entered-in-error
Binding: GuidanceResponseStatus (required): The status of a guidance response.
... subject S 0..1 Reference(Patient | Group) Patient the request was performed for
... occurrenceDateTime S 0..1 dateTime When the guidance response was processed
... performer S 0..1 Reference(Device) Device returning the guidance
... result S 0..1 Reference(CarePlan | RequestGroup) Proposed actions, if any

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GuidanceResponse.status Base required GuidanceResponseStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GuidanceResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GuidanceResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GuidanceResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. GuidanceResponse 1..1 GuidanceResponse The formal response to a guidance request
... Slices for extension Content/Rules for all slices
.... extension:cdsHooksEndpoint 1..1 uri Service endpoint
URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint
... requestIdentifier 1..1 Identifier The identifier of the request associated with this response, if any
... identifier 1..1 Identifier Business identifier
... subject S 0..1 Reference(Patient | Group) Patient the request was performed for
... occurrenceDateTime S 0..1 dateTime When the guidance response was processed
... performer S 0..1 Reference(Device) Device returning the guidance
... result S 0..1 Reference(CarePlan | RequestGroup) Proposed actions, if any

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. GuidanceResponse 1..1 GuidanceResponse The formal response to a guidance request
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:cdsHooksEndpoint 1..1 uri Service endpoint
URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... requestIdentifier Σ 1..1 Identifier The identifier of the request associated with this response, if any
... identifier Σ 1..1 Identifier Business identifier
... Slices for module[x] Σ 1..1 uri What guidance was requested
Slice: Unordered, Closed by type:$this
.... module[x]:moduleUri Σ 1..1 uri What guidance was requested
... status ?!Σ 1..1 code success | data-requested | data-required | in-progress | failure | entered-in-error
Binding: GuidanceResponseStatus (required): The status of a guidance response.
... subject S 0..1 Reference(Patient | Group) Patient the request was performed for
... encounter 0..1 Reference(Encounter) Encounter during which the response was returned
... occurrenceDateTime S 0..1 dateTime When the guidance response was processed
... performer S 0..1 Reference(Device) Device returning the guidance
... reasonCode 0..* CodeableConcept Why guidance is needed
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why guidance is needed
... note 0..* Annotation Additional notes about the response
... evaluationMessage 0..* Reference(OperationOutcome) Messages resulting from the evaluation of the artifact or artifacts
... outputParameters 0..1 Reference(Parameters) The output parameters of the evaluation, if any
... result S 0..1 Reference(CarePlan | RequestGroup) Proposed actions, if any
... dataRequirement 0..* DataRequirement Additional required data

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GuidanceResponse.language Base preferred Common Languages 📍4.0.1 FHIR Std.
GuidanceResponse.status Base required GuidanceResponseStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GuidanceResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GuidanceResponse If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error GuidanceResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GuidanceResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Extensions

This structure refers to these extensions:

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron