STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). 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

4.20 Resource GuidanceResponse - Content

Clinical Decision Support Work GroupMaturity Level: 0Compartments: 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.

4.20.1 Scope and Usage

This resource is a draft proposal for use as part of an approach to Clinical Quality within FHIR, and is documented as part of the Clinical Quality Improvement Framework Implementation Guide.

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 Evaluation topic in the CQIF IG.

4.20.2 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. GuidanceResponse DomainResourceThe formal response to a guidance request
... requestId 0..1stringThe id of the request associated with this response, if any
... module ?! Σ1..1Reference(DecisionSupportServiceModule | DecisionSupportRule)A reference to a knowledge module
... status ?! Σ1..1codesuccess | data-requested | data-required | in-progress | failure
GuidanceResponseStatus (Required)
... evaluationMessage 0..*Reference(OperationOutcome)Messages resulting from the evaluation of the artifact or artifacts
... outputParameters 0..1Reference(Parameters)The output parameters of the evaluation, if any
... action 0..*BackboneElementProposed actions, if any
.... actionIdentifier 0..1IdentifierUnique identifier
.... label 0..1stringUser-visible label for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1stringShort description of the action
.... textEquivalent 0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... concept 0..*CodeableConceptThe meaning of the action or its sub-actions
.... supportingEvidence 0..*AttachmentEvidence that supports taking the action
.... relatedAction 0..1BackboneElementRelationship to another action
..... actionIdentifier 1..1IdentifierIdentifier of the related action
..... relationship 1..1codebefore | after
ActionRelationshipType (Required)
..... offset[x] 0..1Time offset for the relationship
...... offsetQuantityDuration
...... offsetRangeRange
..... anchor 0..1codestart | end
ActionRelationshipAnchor (Required)
.... documentation 0..*AttachmentSupporting documentation for the intended performer of the action
.... participant 0..*Reference(Patient | Person | Practitioner | RelatedPerson)Participant
.... type 0..1codecreate | update | remove | fire-event
ActionType (Required)
.... behavior 0..*BackboneElementDefines behaviors such as selection and grouping
..... type 1..1CodingThe type of behavior (grouping, precheck, selection, cardinality, etc)
ActionBehaviorType (Required)
..... value 1..1CodingSpecific behavior (e.g. required, at-most-one, single, etc)
.... resource 0..1Reference(Any)The target of the action
.... action 0..*see actionSub action
... dataRequirement 0..*DataRequirementAdditional required data

doco Documentation for this format

UML Diagram

GuidanceResponse (DomainResource)The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenariorequestId : string [0..1]A reference to the knowledge module that was invoked (this element modifies the meaning of other elements)module : Reference [1..1] « DecisionSupportServiceModule| DecisionSupportRule »The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information (this element modifies the meaning of other elements)status : code [1..1] « The status of a guidance response (Strength=Required)GuidanceResponseStatus! »Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this elementevaluationMessage : Reference [0..*] « OperationOutcome »The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this elementoutputParameters : Reference [0..1] « Parameters »If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this datadataRequirement : DataRequirement [0..*]ActionA unique identifier for the action. The identifier SHALL be unique within the container in which it appears, and MAY be universally uniqueactionIdentifier : Identifier [0..1]A user-visible label for the actionlabel : string [0..1]The title of the action displayed to a usertitle : string [0..1]A short description of the action used to provide a summary to display to the userdescription : string [0..1]A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that may not be capable of interpreting it dynamicallytextEquivalent : string [0..1]The concept represented by this action or its sub-actionsconcept : CodeableConcept [0..*]The evidence grade and the sources of evidence for this actionsupportingEvidence : Attachment [0..*]Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resourcesdocumentation : Attachment [0..*]The participant in the actionparticipant : Reference [0..*] « Patient|Person|Practitioner| RelatedPerson »The type of action to perform (create, update, remove)type : code [0..1] « The type of action to be performed (Strength=Required)ActionType! »The resource that is the target of the action (e.g. CommunicationRequest)resource : Reference [0..1] « Any »RelatedActionThe unique identifier of the related actionactionIdentifier : Identifier [1..1]The relationship of this action to the related actionrelationship : code [1..1] « Defines the types of relationships between actions (Strength=Required)ActionRelationshipType! »A duration or range of durations to apply to the relationship. For example, 30-60 minutes beforeoffset[x] : Type [0..1] « Quantity(Duration)|Range »An optional indicator for how the relationship is anchored to the related action. For example "before the start" or "before the end" of the related actionanchor : code [0..1] « Defines possible anchors for the relationship between actions (Strength=Required)ActionRelationshipAnchor! »BehaviorThe type of the behavior to be described, such as grouping, visual, or selection behaviorstype : Coding [1..1] « The type of behavior to be defined (Strength=Required)ActionBehaviorType! »The specific behavior. The code used here is determined by the type of behavior being described. For example, the grouping behavior uses the grouping-behavior-type valuesetvalue : Coding [1..1]A relationship to another action such as "before" or "30-60 minutes after start of"relatedAction[0..1]A behavior associated with the action. Behaviors define how the action is to be presented and/or executed within the receiving environmentbehavior[0..*]Sub actionsaction[0..*]The actions, if any, produced by the evaluation of the artifactaction[0..*]

XML Template

<GuidanceResponse xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <requestId value="[string]"/><!-- 0..1 The id of the request associated with this response, if any -->
 <module><!-- 1..1 Reference(DecisionSupportServiceModule|DecisionSupportRule) A reference to a knowledge module --></module>
 <status value="[code]"/><!-- 1..1 success | data-requested | data-required | in-progress | failure -->
 <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>
 <action>  <!-- 0..* Proposed actions, if any -->
  <actionIdentifier><!-- 0..1 Identifier Unique identifier --></actionIdentifier>
  <label value="[string]"/><!-- 0..1 User-visible label for the action (e.g. 1. or A.) -->
  <title value="[string]"/><!-- 0..1 User-visible title -->
  <description value="[string]"/><!-- 0..1 Short description of the action -->
  <textEquivalent value="[string]"/><!-- 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system -->
  <concept><!-- 0..* CodeableConcept The meaning of the action or its sub-actions --></concept>
  <supportingEvidence><!-- 0..* Attachment Evidence that supports taking the action --></supportingEvidence>
  <relatedAction>  <!-- 0..1 Relationship to another action -->
   <actionIdentifier><!-- 1..1 Identifier Identifier of the related action --></actionIdentifier>
   <relationship value="[code]"/><!-- 1..1 before | after -->
   <offset[x]><!-- 0..1 Quantity(Duration)|Range Time offset for the relationship --></offset[x]>
   <anchor value="[code]"/><!-- 0..1 start | end -->
  </relatedAction>
  <documentation><!-- 0..* Attachment Supporting documentation for the intended performer of the action --></documentation>
  <participant><!-- 0..* Reference(Patient|Person|Practitioner|RelatedPerson) Participant --></participant>
  <type value="[code]"/><!-- 0..1 create | update | remove | fire-event -->
  <behavior>  <!-- 0..* Defines behaviors such as selection and grouping -->
   <type><!-- 1..1 Coding The type of behavior (grouping, precheck, selection, cardinality, etc) --></type>
   <value><!-- 1..1 Coding Specific behavior (e.g. required, at-most-one, single, etc) --></value>
  </behavior>
  <resource><!-- 0..1 Reference(Any) The target of the action --></resource>
  <action><!-- 0..* Content as for GuidanceResponse.action Sub action --></action>
 </action>
 <dataRequirement><!-- 0..* DataRequirement Additional required data --></dataRequirement>
</GuidanceResponse>

JSON Template

{doco
  "resourceType" : "GuidanceResponse",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "requestId" : "<string>", // The id of the request associated with this response, if any
  "module" : { Reference(DecisionSupportServiceModule|DecisionSupportRule) }, // R!  A reference to a knowledge module
  "status" : "<code>", // R!  success | data-requested | data-required | in-progress | failure
  "evaluationMessage" : [{ Reference(OperationOutcome) }], // Messages resulting from the evaluation of the artifact or artifacts
  "outputParameters" : { Reference(Parameters) }, // The output parameters of the evaluation, if any
  "action" : [{ // Proposed actions, if any
    "actionIdentifier" : { Identifier }, // Unique identifier
    "label" : "<string>", // User-visible label for the action (e.g. 1. or A.)
    "title" : "<string>", // User-visible title
    "description" : "<string>", // Short description of the action
    "textEquivalent" : "<string>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
    "concept" : [{ CodeableConcept }], // The meaning of the action or its sub-actions
    "supportingEvidence" : [{ Attachment }], // Evidence that supports taking the action
    "relatedAction" : { // Relationship to another action
      "actionIdentifier" : { Identifier }, // R!  Identifier of the related action
      "relationship" : "<code>", // R!  before | after
      // offset[x]: Time offset for the relationship. One of these 2:
      "offsetQuantity" : { Quantity(Duration) },
      "offsetRange" : { Range },
      "anchor" : "<code>" // start | end
    },
    "documentation" : [{ Attachment }], // Supporting documentation for the intended performer of the action
    "participant" : [{ Reference(Patient|Person|Practitioner|RelatedPerson) }], // Participant
    "type" : "<code>", // create | update | remove | fire-event
    "behavior" : [{ // Defines behaviors such as selection and grouping
      "type" : { Coding }, // R!  The type of behavior (grouping, precheck, selection, cardinality, etc)
      "value" : { Coding } // R!  Specific behavior (e.g. required, at-most-one, single, etc)
    }],
    "resource" : { Reference(Any) }, // The target of the action
    "action" : [{ Content as for GuidanceResponse.action }] // Sub action
  }],
  "dataRequirement" : [{ DataRequirement }] // Additional required data
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. GuidanceResponse DomainResourceThe formal response to a guidance request
... requestId 0..1stringThe id of the request associated with this response, if any
... module ?! Σ1..1Reference(DecisionSupportServiceModule | DecisionSupportRule)A reference to a knowledge module
... status ?! Σ1..1codesuccess | data-requested | data-required | in-progress | failure
GuidanceResponseStatus (Required)
... evaluationMessage 0..*Reference(OperationOutcome)Messages resulting from the evaluation of the artifact or artifacts
... outputParameters 0..1Reference(Parameters)The output parameters of the evaluation, if any
... action 0..*BackboneElementProposed actions, if any
.... actionIdentifier 0..1IdentifierUnique identifier
.... label 0..1stringUser-visible label for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1stringShort description of the action
.... textEquivalent 0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... concept 0..*CodeableConceptThe meaning of the action or its sub-actions
.... supportingEvidence 0..*AttachmentEvidence that supports taking the action
.... relatedAction 0..1BackboneElementRelationship to another action
..... actionIdentifier 1..1IdentifierIdentifier of the related action
..... relationship 1..1codebefore | after
ActionRelationshipType (Required)
..... offset[x] 0..1Time offset for the relationship
...... offsetQuantityDuration
...... offsetRangeRange
..... anchor 0..1codestart | end
ActionRelationshipAnchor (Required)
.... documentation 0..*AttachmentSupporting documentation for the intended performer of the action
.... participant 0..*Reference(Patient | Person | Practitioner | RelatedPerson)Participant
.... type 0..1codecreate | update | remove | fire-event
ActionType (Required)
.... behavior 0..*BackboneElementDefines behaviors such as selection and grouping
..... type 1..1CodingThe type of behavior (grouping, precheck, selection, cardinality, etc)
ActionBehaviorType (Required)
..... value 1..1CodingSpecific behavior (e.g. required, at-most-one, single, etc)
.... resource 0..1Reference(Any)The target of the action
.... action 0..*see actionSub action
... dataRequirement 0..*DataRequirementAdditional required data

doco Documentation for this format

UML Diagram

GuidanceResponse (DomainResource)The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenariorequestId : string [0..1]A reference to the knowledge module that was invoked (this element modifies the meaning of other elements)module : Reference [1..1] « DecisionSupportServiceModule| DecisionSupportRule »The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information (this element modifies the meaning of other elements)status : code [1..1] « The status of a guidance response (Strength=Required)GuidanceResponseStatus! »Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this elementevaluationMessage : Reference [0..*] « OperationOutcome »The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this elementoutputParameters : Reference [0..1] « Parameters »If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this datadataRequirement : DataRequirement [0..*]ActionA unique identifier for the action. The identifier SHALL be unique within the container in which it appears, and MAY be universally uniqueactionIdentifier : Identifier [0..1]A user-visible label for the actionlabel : string [0..1]The title of the action displayed to a usertitle : string [0..1]A short description of the action used to provide a summary to display to the userdescription : string [0..1]A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that may not be capable of interpreting it dynamicallytextEquivalent : string [0..1]The concept represented by this action or its sub-actionsconcept : CodeableConcept [0..*]The evidence grade and the sources of evidence for this actionsupportingEvidence : Attachment [0..*]Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resourcesdocumentation : Attachment [0..*]The participant in the actionparticipant : Reference [0..*] « Patient|Person|Practitioner| RelatedPerson »The type of action to perform (create, update, remove)type : code [0..1] « The type of action to be performed (Strength=Required)ActionType! »The resource that is the target of the action (e.g. CommunicationRequest)resource : Reference [0..1] « Any »RelatedActionThe unique identifier of the related actionactionIdentifier : Identifier [1..1]The relationship of this action to the related actionrelationship : code [1..1] « Defines the types of relationships between actions (Strength=Required)ActionRelationshipType! »A duration or range of durations to apply to the relationship. For example, 30-60 minutes beforeoffset[x] : Type [0..1] « Quantity(Duration)|Range »An optional indicator for how the relationship is anchored to the related action. For example "before the start" or "before the end" of the related actionanchor : code [0..1] « Defines possible anchors for the relationship between actions (Strength=Required)ActionRelationshipAnchor! »BehaviorThe type of the behavior to be described, such as grouping, visual, or selection behaviorstype : Coding [1..1] « The type of behavior to be defined (Strength=Required)ActionBehaviorType! »The specific behavior. The code used here is determined by the type of behavior being described. For example, the grouping behavior uses the grouping-behavior-type valuesetvalue : Coding [1..1]A relationship to another action such as "before" or "30-60 minutes after start of"relatedAction[0..1]A behavior associated with the action. Behaviors define how the action is to be presented and/or executed within the receiving environmentbehavior[0..*]Sub actionsaction[0..*]The actions, if any, produced by the evaluation of the artifactaction[0..*]

XML Template

<GuidanceResponse xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <requestId value="[string]"/><!-- 0..1 The id of the request associated with this response, if any -->
 <module><!-- 1..1 Reference(DecisionSupportServiceModule|DecisionSupportRule) A reference to a knowledge module --></module>
 <status value="[code]"/><!-- 1..1 success | data-requested | data-required | in-progress | failure -->
 <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>
 <action>  <!-- 0..* Proposed actions, if any -->
  <actionIdentifier><!-- 0..1 Identifier Unique identifier --></actionIdentifier>
  <label value="[string]"/><!-- 0..1 User-visible label for the action (e.g. 1. or A.) -->
  <title value="[string]"/><!-- 0..1 User-visible title -->
  <description value="[string]"/><!-- 0..1 Short description of the action -->
  <textEquivalent value="[string]"/><!-- 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system -->
  <concept><!-- 0..* CodeableConcept The meaning of the action or its sub-actions --></concept>
  <supportingEvidence><!-- 0..* Attachment Evidence that supports taking the action --></supportingEvidence>
  <relatedAction>  <!-- 0..1 Relationship to another action -->
   <actionIdentifier><!-- 1..1 Identifier Identifier of the related action --></actionIdentifier>
   <relationship value="[code]"/><!-- 1..1 before | after -->
   <offset[x]><!-- 0..1 Quantity(Duration)|Range Time offset for the relationship --></offset[x]>
   <anchor value="[code]"/><!-- 0..1 start | end -->
  </relatedAction>
  <documentation><!-- 0..* Attachment Supporting documentation for the intended performer of the action --></documentation>
  <participant><!-- 0..* Reference(Patient|Person|Practitioner|RelatedPerson) Participant --></participant>
  <type value="[code]"/><!-- 0..1 create | update | remove | fire-event -->
  <behavior>  <!-- 0..* Defines behaviors such as selection and grouping -->
   <type><!-- 1..1 Coding The type of behavior (grouping, precheck, selection, cardinality, etc) --></type>
   <value><!-- 1..1 Coding Specific behavior (e.g. required, at-most-one, single, etc) --></value>
  </behavior>
  <resource><!-- 0..1 Reference(Any) The target of the action --></resource>
  <action><!-- 0..* Content as for GuidanceResponse.action Sub action --></action>
 </action>
 <dataRequirement><!-- 0..* DataRequirement Additional required data --></dataRequirement>
</GuidanceResponse>

JSON Template

{doco
  "resourceType" : "GuidanceResponse",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "requestId" : "<string>", // The id of the request associated with this response, if any
  "module" : { Reference(DecisionSupportServiceModule|DecisionSupportRule) }, // R!  A reference to a knowledge module
  "status" : "<code>", // R!  success | data-requested | data-required | in-progress | failure
  "evaluationMessage" : [{ Reference(OperationOutcome) }], // Messages resulting from the evaluation of the artifact or artifacts
  "outputParameters" : { Reference(Parameters) }, // The output parameters of the evaluation, if any
  "action" : [{ // Proposed actions, if any
    "actionIdentifier" : { Identifier }, // Unique identifier
    "label" : "<string>", // User-visible label for the action (e.g. 1. or A.)
    "title" : "<string>", // User-visible title
    "description" : "<string>", // Short description of the action
    "textEquivalent" : "<string>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
    "concept" : [{ CodeableConcept }], // The meaning of the action or its sub-actions
    "supportingEvidence" : [{ Attachment }], // Evidence that supports taking the action
    "relatedAction" : { // Relationship to another action
      "actionIdentifier" : { Identifier }, // R!  Identifier of the related action
      "relationship" : "<code>", // R!  before | after
      // offset[x]: Time offset for the relationship. One of these 2:
      "offsetQuantity" : { Quantity(Duration) },
      "offsetRange" : { Range },
      "anchor" : "<code>" // start | end
    },
    "documentation" : [{ Attachment }], // Supporting documentation for the intended performer of the action
    "participant" : [{ Reference(Patient|Person|Practitioner|RelatedPerson) }], // Participant
    "type" : "<code>", // create | update | remove | fire-event
    "behavior" : [{ // Defines behaviors such as selection and grouping
      "type" : { Coding }, // R!  The type of behavior (grouping, precheck, selection, cardinality, etc)
      "value" : { Coding } // R!  Specific behavior (e.g. required, at-most-one, single, etc)
    }],
    "resource" : { Reference(Any) }, // The target of the action
    "action" : [{ Content as for GuidanceResponse.action }] // Sub action
  }],
  "dataRequirement" : [{ DataRequirement }] // Additional required data
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

4.20.2.1 Terminology Bindings

PathDefinitionTypeReference
GuidanceResponse.status The status of a guidance responseRequiredGuidanceResponseStatus
GuidanceResponse.action.relatedAction.relationship Defines the types of relationships between actionsRequiredActionRelationshipType
GuidanceResponse.action.relatedAction.anchor Defines possible anchors for the relationship between actionsRequiredActionRelationshipAnchor
GuidanceResponse.action.type The type of action to be performedRequiredActionType
GuidanceResponse.action.behavior.type The type of behavior to be definedRequiredActionBehaviorType