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

1.25.0 Action Definition

Clinical Decision Support Work GroupMaturity Level: N/ABallot Status: DSTU 2

The ActionDefinition structure is used to define an action to be taken as part of some context such as the result of evaluating a decision support rule, or completing an order set for a patient. The structure is definitional in that it does not define a concrete action, but rather a template for some action that will be filled out in context.

For example, as part of a Suicide Risk Assessment OrderSet, a provider may choose to refer the patient to a Mental Health specialist. The OrderSet includes a definition of the action as a ProcedureRequest, but without contextual information such as the specific patient involved. As part of placing the OrderSet, the context is used to provide the additional information and complete the ProcedureRequest resource.

Each action definition may be a single action, or a group of actions, each specified as a sub-action using the same ActionDefinition structure. This hierarchical structure allows the ActionDefinition to be used in describing simple recommendations, all the way up through complex multi-level order sets.

The behavior element allows intended behavior of the actions to be described. For each behavior, a type specifies the kind of behavior being described, such as grouping or selection behavior. Each behavior type is then specified using a different value set as defined by the table below:

Behavior TypeType CodePossible Behaviors
Grouping BehaviorgroupingAction Grouping Behavior Value Set
Selection BehaviorselectionAction Selection Behavior Value Set
Required BehaviorrequiredAction Required Behavior Value Set
Precheck BehaviorprecheckAction Precheck Behavior Value Set
Cardinality BehaviorcardinalityAction Cardinality Behavior Value Set

1.25.0.1 Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ActionDefinition ΣElementThe definition of an action to be performed
... 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
... documentation Σ0..*AttachmentSupporting documentation for the intended performer of the action
... relatedAction Σ0..1ElementRelationship 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)
... participantType Σ0..*codepatient | practitioner | related-person
ParticipantType (Required)
... type Σ0..1codecreate | update | remove | fire-event
ActionType (Extensible)
... behavior Σ0..*ElementDefines behaviors such as selection and grouping
.... type Σ1..1CodingThe type of behavior (grouping, precheck, selection, cardinality, etc)
ActionBehaviorType (Extensible)
.... value Σ1..1CodingSpecific behavior (e.g. required, at-most-one, single, etc)
... resource Σ0..1Reference(Any)Static portion of the action definition
... customization Σ0..*ElementDynamic aspects of the definition
.... path Σ1..1stringThe path to the element to be set dynamically
.... expression Σ1..1stringAn expression that provides the dynamic value for the customization
... action Σ0..*ActionDefinitionA sub-action

doco Documentation for this format

UML Diagram

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*ActionDefinitionA 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 type of participant in the actionparticipantType : code [0..*] « The type of participant for the action (Strength=Required)ParticipantType! »The type of action to perform (create, update, remove)type : code [0..1] « The type of action to be performed (Strength=Extensible)ActionType+ »The resource that is the target of the action (e.g. CommunicationRequest). The resource described here defines any aspects of the action that can be specified statically (i.e. are known at the time of definition)resource : Reference [0..1] « Any »Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definitionaction : ActionDefinition [0..*]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=Extensible)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]CustomizationThe path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expressionpath : string [1..1]An expression specifying the value of the customized elementexpression : string [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..*]Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the resultcustomization[0..*]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <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>
 <documentation><!-- 0..* Attachment Supporting documentation for the intended performer of the action --></documentation>
 <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>
 <participantType value="[code]"/><!-- 0..* patient | practitioner | related-person -->
 <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) Static portion of the action definition --></resource>
 <customization>  <!-- 0..* Dynamic aspects of the definition -->
  <path value="[string]"/><!-- 1..1 The path to the element to be set dynamically -->
  <expression value="[string]"/><!-- 1..1 An expression that provides the dynamic value for the customization -->
 </customization>
 <action><!-- 0..* ActionDefinition A sub-action --></action>
</[name]>

JSON Template


{doco
  // from Element: extension
  "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
  "documentation" : [{ Attachment }], // Supporting documentation for the intended performer of 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
  },
  "participantType" : ["<code>"], // patient | practitioner | related-person
  "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) }, // Static portion of the action definition
  "customization" : [{ // Dynamic aspects of the definition
    "path" : "<string>", // R!  The path to the element to be set dynamically
    "expression" : "<string>" // R!  An expression that provides the dynamic value for the customization
  }],
  "action" : [{ ActionDefinition }] // A sub-action
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ActionDefinition ΣElementThe definition of an action to be performed
... 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
... documentation Σ0..*AttachmentSupporting documentation for the intended performer of the action
... relatedAction Σ0..1ElementRelationship 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)
... participantType Σ0..*codepatient | practitioner | related-person
ParticipantType (Required)
... type Σ0..1codecreate | update | remove | fire-event
ActionType (Extensible)
... behavior Σ0..*ElementDefines behaviors such as selection and grouping
.... type Σ1..1CodingThe type of behavior (grouping, precheck, selection, cardinality, etc)
ActionBehaviorType (Extensible)
.... value Σ1..1CodingSpecific behavior (e.g. required, at-most-one, single, etc)
... resource Σ0..1Reference(Any)Static portion of the action definition
... customization Σ0..*ElementDynamic aspects of the definition
.... path Σ1..1stringThe path to the element to be set dynamically
.... expression Σ1..1stringAn expression that provides the dynamic value for the customization
... action Σ0..*ActionDefinitionA sub-action

doco Documentation for this format

UML Diagram

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*ActionDefinitionA 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 type of participant in the actionparticipantType : code [0..*] « The type of participant for the action (Strength=Required)ParticipantType! »The type of action to perform (create, update, remove)type : code [0..1] « The type of action to be performed (Strength=Extensible)ActionType+ »The resource that is the target of the action (e.g. CommunicationRequest). The resource described here defines any aspects of the action that can be specified statically (i.e. are known at the time of definition)resource : Reference [0..1] « Any »Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definitionaction : ActionDefinition [0..*]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=Extensible)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]CustomizationThe path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expressionpath : string [1..1]An expression specifying the value of the customized elementexpression : string [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..*]Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the resultcustomization[0..*]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <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>
 <documentation><!-- 0..* Attachment Supporting documentation for the intended performer of the action --></documentation>
 <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>
 <participantType value="[code]"/><!-- 0..* patient | practitioner | related-person -->
 <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) Static portion of the action definition --></resource>
 <customization>  <!-- 0..* Dynamic aspects of the definition -->
  <path value="[string]"/><!-- 1..1 The path to the element to be set dynamically -->
  <expression value="[string]"/><!-- 1..1 An expression that provides the dynamic value for the customization -->
 </customization>
 <action><!-- 0..* ActionDefinition A sub-action --></action>
</[name]>

JSON Template

{doco
  // from Element: extension
  "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
  "documentation" : [{ Attachment }], // Supporting documentation for the intended performer of 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
  },
  "participantType" : ["<code>"], // patient | practitioner | related-person
  "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) }, // Static portion of the action definition
  "customization" : [{ // Dynamic aspects of the definition
    "path" : "<string>", // R!  The path to the element to be set dynamically
    "expression" : "<string>" // R!  An expression that provides the dynamic value for the customization
  }],
  "action" : [{ ActionDefinition }] // A sub-action
}

Constraints