This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Clinical Decision Support Work Group | Maturity Level: 2 | Trial Use | Compartments: Not linked to any defined compartments |
A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.
The GuidanceResponse resource is used to represent the result of invoking a decision support service. It provides a container for the status of the response, any warnings or messages returned by the service, as well as the output data of the module and any suggested actions to be performed.
For a detailed discussion of the evaluation process, refer to the Guidance Request topic in the Clinical Reasoning module.
Note to implementers: The user-facing external clinical decision support use case supported by the ServiceDefinition/$evaluate operation of the Clinical Reasoning module has significant overlap with the functionality provided by the CDS Hooks specification. As part of FHIR Release 4, it is the intention to unify the CDS Hooks specification with the Clinical Reasoning module, ensuring that implementers have a single consistent mechanism to support this use case that meets the requirements of both the Clinical Quality Framework and CDS Hooks communities. Although the functionality in both specifications is conceptually aligned, this unification will likely result in changes to both specifications. The CQF and CDS Hooks project teams are committed to this unification and will work to ensure that the resulting changes have as little impact as possible on current and ongoing implementation efforts, while meeting the needs of both communities. The project team is planning on a workable implementation tested at the connectathon in May of 2017, with a trial ballot following in September 2017, targeting publication as part of the FHIR Release 4 specification.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
GuidanceResponse | TU | DomainResource | The formal response to a guidance request Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
requestId | Σ | 0..1 | id | The id of the request associated with this response, if any |
identifier | Σ | 0..1 | Identifier | Business identifier |
module | Σ | 1..1 | Reference(ServiceDefinition) | A reference to a knowledge module |
status | ?!Σ | 1..1 | code | success | data-requested | data-required | in-progress | failure | entered-in-error GuidanceResponseStatus (Required) |
subject | 0..1 | Reference(Patient | Group) | Patient the request was performed for | |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or Episode during which the response was returned | |
occurrenceDateTime | 0..1 | dateTime | When the guidance response was processed | |
performer | 0..1 | Reference(Device) | Device returning the guidance | |
reason[x] | 0..1 | Reason for the response | ||
reasonCodeableConcept | CodeableConcept | |||
reasonReference | Reference(Any) | |||
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 | 0..1 | Reference(CarePlan | RequestGroup) | Proposed actions, if any | |
dataRequirement | 0..* | DataRequirement | Additional required data | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<GuidanceResponse xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <requestId value="[id]"/><!-- 0..1 The id of the request associated with this response, if any --> <identifier><!-- 0..1 Identifier Business identifier --></identifier> <module><!-- 1..1 Reference(ServiceDefinition) A reference to a knowledge module --></module> <status value="[code]"/><!-- 1..1 success | data-requested | data-required | in-progress | failure | entered-in-error --> <subject><!-- 0..1 Reference(Patient|Group) Patient the request was performed for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode during which the response was returned --></context> <occurrenceDateTime value="[dateTime]"/><!-- 0..1 When the guidance response was processed --> <performer><!-- 0..1 Reference(Device) Device returning the guidance --></performer> <reason[x]><!-- 0..1 CodeableConcept|Reference(Any) Reason for the response --></reason[x]> <note><!-- 0..* Annotation Additional notes about the response --></note> <evaluationMessage><!-- 0..* Reference(OperationOutcome) Messages resulting from the evaluation of the artifact or artifacts --></evaluationMessage> <outputParameters><!-- 0..1 Reference(Parameters) The output parameters of the evaluation, if any --></outputParameters> <result><!-- 0..1 Reference(CarePlan|RequestGroup) Proposed actions, if any --></result> <dataRequirement><!-- 0..* DataRequirement Additional required data --></dataRequirement> </GuidanceResponse>
JSON Template
{ "resourceType" : "GuidanceResponse", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "requestId" : "<id>", // The id of the request associated with this response, if any "identifier" : { Identifier }, // Business identifier "module" : { Reference(ServiceDefinition) }, // R! A reference to a knowledge module "status" : "<code>", // R! success | data-requested | data-required | in-progress | failure | entered-in-error "subject" : { Reference(Patient|Group) }, // Patient the request was performed for "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode during which the response was returned "occurrenceDateTime" : "<dateTime>", // When the guidance response was processed "performer" : { Reference(Device) }, // Device returning the guidance // reason[x]: Reason for the response. One of these 2: "reasonCodeableConcept" : { CodeableConcept }, "reasonReference" : { Reference(Any) }, "note" : [{ Annotation }], // Additional notes about the response "evaluationMessage" : [{ Reference(OperationOutcome) }], // Messages resulting from the evaluation of the artifact or artifacts "outputParameters" : { Reference(Parameters) }, // The output parameters of the evaluation, if any "result" : { Reference(CarePlan|RequestGroup) }, // Proposed actions, if any "dataRequirement" : [{ DataRequirement }] // Additional required data }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:GuidanceResponse; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:GuidanceResponse.requestId [ id ]; # 0..1 The id of the request associated with this response, if any fhir:GuidanceResponse.identifier [ Identifier ]; # 0..1 Business identifier fhir:GuidanceResponse.module [ Reference(ServiceDefinition) ]; # 1..1 A reference to a knowledge module fhir:GuidanceResponse.status [ code ]; # 1..1 success | data-requested | data-required | in-progress | failure | entered-in-error fhir:GuidanceResponse.subject [ Reference(Patient|Group) ]; # 0..1 Patient the request was performed for fhir:GuidanceResponse.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode during which the response was returned fhir:GuidanceResponse.occurrenceDateTime [ dateTime ]; # 0..1 When the guidance response was processed fhir:GuidanceResponse.performer [ Reference(Device) ]; # 0..1 Device returning the guidance # GuidanceResponse.reason[x] : 0..1 Reason for the response. One of these 2 fhir:GuidanceResponse.reasonCodeableConcept [ CodeableConcept ] fhir:GuidanceResponse.reasonReference [ Reference(Any) ] fhir:GuidanceResponse.note [ Annotation ], ... ; # 0..* Additional notes about the response fhir:GuidanceResponse.evaluationMessage [ Reference(OperationOutcome) ], ... ; # 0..* Messages resulting from the evaluation of the artifact or artifacts fhir:GuidanceResponse.outputParameters [ Reference(Parameters) ]; # 0..1 The output parameters of the evaluation, if any fhir:GuidanceResponse.result [ Reference(CarePlan|RequestGroup) ]; # 0..1 Proposed actions, if any fhir:GuidanceResponse.dataRequirement [ DataRequirement ], ... ; # 0..* Additional required data ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
GuidanceResponse | TU | DomainResource | The formal response to a guidance request Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
requestId | Σ | 0..1 | id | The id of the request associated with this response, if any |
identifier | Σ | 0..1 | Identifier | Business identifier |
module | Σ | 1..1 | Reference(ServiceDefinition) | A reference to a knowledge module |
status | ?!Σ | 1..1 | code | success | data-requested | data-required | in-progress | failure | entered-in-error GuidanceResponseStatus (Required) |
subject | 0..1 | Reference(Patient | Group) | Patient the request was performed for | |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or Episode during which the response was returned | |
occurrenceDateTime | 0..1 | dateTime | When the guidance response was processed | |
performer | 0..1 | Reference(Device) | Device returning the guidance | |
reason[x] | 0..1 | Reason for the response | ||
reasonCodeableConcept | CodeableConcept | |||
reasonReference | Reference(Any) | |||
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 | 0..1 | Reference(CarePlan | RequestGroup) | Proposed actions, if any | |
dataRequirement | 0..* | DataRequirement | Additional required data | |
Documentation for this format |
XML Template
<GuidanceResponse xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <requestId value="[id]"/><!-- 0..1 The id of the request associated with this response, if any --> <identifier><!-- 0..1 Identifier Business identifier --></identifier> <module><!-- 1..1 Reference(ServiceDefinition) A reference to a knowledge module --></module> <status value="[code]"/><!-- 1..1 success | data-requested | data-required | in-progress | failure | entered-in-error --> <subject><!-- 0..1 Reference(Patient|Group) Patient the request was performed for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode during which the response was returned --></context> <occurrenceDateTime value="[dateTime]"/><!-- 0..1 When the guidance response was processed --> <performer><!-- 0..1 Reference(Device) Device returning the guidance --></performer> <reason[x]><!-- 0..1 CodeableConcept|Reference(Any) Reason for the response --></reason[x]> <note><!-- 0..* Annotation Additional notes about the response --></note> <evaluationMessage><!-- 0..* Reference(OperationOutcome) Messages resulting from the evaluation of the artifact or artifacts --></evaluationMessage> <outputParameters><!-- 0..1 Reference(Parameters) The output parameters of the evaluation, if any --></outputParameters> <result><!-- 0..1 Reference(CarePlan|RequestGroup) Proposed actions, if any --></result> <dataRequirement><!-- 0..* DataRequirement Additional required data --></dataRequirement> </GuidanceResponse>
JSON Template
{ "resourceType" : "GuidanceResponse", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "requestId" : "<id>", // The id of the request associated with this response, if any "identifier" : { Identifier }, // Business identifier "module" : { Reference(ServiceDefinition) }, // R! A reference to a knowledge module "status" : "<code>", // R! success | data-requested | data-required | in-progress | failure | entered-in-error "subject" : { Reference(Patient|Group) }, // Patient the request was performed for "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode during which the response was returned "occurrenceDateTime" : "<dateTime>", // When the guidance response was processed "performer" : { Reference(Device) }, // Device returning the guidance // reason[x]: Reason for the response. One of these 2: "reasonCodeableConcept" : { CodeableConcept }, "reasonReference" : { Reference(Any) }, "note" : [{ Annotation }], // Additional notes about the response "evaluationMessage" : [{ Reference(OperationOutcome) }], // Messages resulting from the evaluation of the artifact or artifacts "outputParameters" : { Reference(Parameters) }, // The output parameters of the evaluation, if any "result" : { Reference(CarePlan|RequestGroup) }, // Proposed actions, if any "dataRequirement" : [{ DataRequirement }] // Additional required data }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:GuidanceResponse; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:GuidanceResponse.requestId [ id ]; # 0..1 The id of the request associated with this response, if any fhir:GuidanceResponse.identifier [ Identifier ]; # 0..1 Business identifier fhir:GuidanceResponse.module [ Reference(ServiceDefinition) ]; # 1..1 A reference to a knowledge module fhir:GuidanceResponse.status [ code ]; # 1..1 success | data-requested | data-required | in-progress | failure | entered-in-error fhir:GuidanceResponse.subject [ Reference(Patient|Group) ]; # 0..1 Patient the request was performed for fhir:GuidanceResponse.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode during which the response was returned fhir:GuidanceResponse.occurrenceDateTime [ dateTime ]; # 0..1 When the guidance response was processed fhir:GuidanceResponse.performer [ Reference(Device) ]; # 0..1 Device returning the guidance # GuidanceResponse.reason[x] : 0..1 Reason for the response. One of these 2 fhir:GuidanceResponse.reasonCodeableConcept [ CodeableConcept ] fhir:GuidanceResponse.reasonReference [ Reference(Any) ] fhir:GuidanceResponse.note [ Annotation ], ... ; # 0..* Additional notes about the response fhir:GuidanceResponse.evaluationMessage [ Reference(OperationOutcome) ], ... ; # 0..* Messages resulting from the evaluation of the artifact or artifacts fhir:GuidanceResponse.outputParameters [ Reference(Parameters) ]; # 0..1 The output parameters of the evaluation, if any fhir:GuidanceResponse.result [ Reference(CarePlan|RequestGroup) ]; # 0..1 Proposed actions, if any fhir:GuidanceResponse.dataRequirement [ DataRequirement ], ... ; # 0..* Additional required data ]
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
GuidanceResponse.status | The status of a guidance response | Required | GuidanceResponseStatus |
Although the GuidanceResponse resource does define search parameters, it is up to the individual decision support service whether or not historical records of guidance requests are preserved. A service might not support searching on GuidanceResponses at all, or it may support searching only for a pre-defined expiration period. The search parameters are defined to provide consumers with a consistent interface to searching if it is available for a specific service implementation. In any case, services should detail the support they do provide using a CapabilityStatement.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
identifier | token | The identifier of the guidance response | GuidanceResponse.identifier | |
patient | reference | The identity of a patient to search for guidance response results | GuidanceResponse.subject (Patient) | |
request | token | The identifier of the request associated with the response | GuidanceResponse.requestId | |
subject | reference | The subject that the guidance response is about | GuidanceResponse.subject (Group, Patient) |