FHIR Release 3 (STU)

This page is part of the FHIR Specification (v3.0.2: STU 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: R4B R4 R3

14.4 Resource RequestGroup - Content

Clinical Decision Support Work GroupMaturity Level: 2 DraftCompartments: Device, Encounter, Patient, Practitioner, RelatedPerson

A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one".

This resource is a request resource from a FHIR workflow perspective - see Workflow, specifically Request.

The RequestGroup resource is used to represent a group of optional activities that may be performed for a specific patient or context. This resource is often, but not always, the result of applying a specific PlanDefinition to a particular patient. Other than differences that tie the RequestGroup to a particular subject and setting, the actionDefinition element of PlanDefinition is identical to the action element of the RequestGroup, allowing the same features and functionality to be used in both places to describe optionality of and relationships between activities in a workflow.

RequestGroups can contain hierarchical groups of actions, where each specific action references the action to be performed (in terms of a Request resource), and each group describes additional behavior, relationships, and applicable conditions between the actions in the overall group.

This resource is referenced by CarePlan and GuidanceResponse

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup DomainResourceA group of related requests
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierBusiness identifier
... definition 0..*Reference(Any)Instantiates protocol or definition
... basedOn 0..*Reference(Any)Fulfills plan, proposal, or order
... replaces 0..*Reference(Any)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | suspended | cancelled | completed | entered-in-error | unknown
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order
RequestIntent (Required)
... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... subject 0..1Reference(Patient | Group)Who the request group is about
... context 0..1Reference(Encounter | EpisodeOfCare)Encounter or Episode for the request group
... authoredOn 0..1dateTimeWhen the request group was authored
... author 0..1Reference(Device | Practitioner)Device or practitioner that authored the request group
... reason[x] 0..1Reason for the request group
.... reasonCodeableConceptCodeableConcept
.... reasonReferenceReference(Any)
... note 0..*AnnotationAdditional notes about the response
... action I0..*BackboneElementProposed actions, if any
+ Must have resource or action but not both
.... 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
.... code 0..*CodeableConceptCode representing the meaning of the action or sub-actions
.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... condition 0..*BackboneElementWhether or not the action is applicable
..... kind 1..1codeapplicability | start | stop
ActionConditionKind (Required)
..... description 0..1stringNatural language description of the condition
..... language 0..1stringLanguage of the expression
..... expression 0..1stringBoolean-valued expression
.... relatedAction 0..*BackboneElementRelationship to another action
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
ActionRelationshipType (Required)
..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*Reference(Patient | Person | Practitioner | RelatedPerson)Who should perform the action
.... type 0..1Codingcreate | update | remove | fire-event
ActionType (Extensible)
.... groupingBehavior 0..1codevisual-group | logical-group | sentence-group
ActionGroupingBehavior (Required)
.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
ActionSelectionBehavior (Required)
.... requiredBehavior 0..1codemust | could | must-unless-documented
ActionRequiredBehavior (Required)
.... precheckBehavior 0..1codeyes | no
ActionPrecheckBehavior (Required)
.... cardinalityBehavior 0..1codesingle | multiple
ActionCardinalityBehavior (Required)
.... resource I0..1Reference(Any)The target of the action
.... action I0..*see actionSub action

doco Documentation for this format

UML Diagram (Legend)

RequestGroup (DomainResource)Allows a service to provide a unique, business identifier for the requestidentifier : Identifier [0..*]A protocol, guideline, orderset or other definition that is adhered to in whole or in part by this requestdefinition : Reference [0..*] Any A plan, proposal or order that is fulfilled in whole or in part by this requestbasedOn : Reference [0..*] Any Completed or terminated request(s) whose function is taken by this new requestreplaces : Reference [0..*] Any A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar formgroupIdentifier : Identifier [0..1]The current state of the request. For request groups, the status reflects the status of all the requests in the group (this element modifies the meaning of other elements)status : code [1..1] Codes identifying the stage lifecycle stage of a request (Strength=Required)RequestStatus! Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain (this element modifies the meaning of other elements)intent : code [1..1] Codes indicating the degree of authority/intentionality associated with a request (Strength=Required)RequestIntent! Indicates how quickly the request should be addressed with respect to other requestspriority : code [0..1] Identifies the level of importance to be assigned to actioning the request (Strength=Required)RequestPriority! The subject for which the request group was createdsubject : Reference [0..1] Patient|Group Describes the context of the request group, if anycontext : Reference [0..1] Encounter|EpisodeOfCare Indicates when the request group was createdauthoredOn : dateTime [0..1]Provides a reference to the author of the request groupauthor : Reference [0..1] Device|Practitioner Indicates the reason the request group was created. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the responsereason[x] : Type [0..1] CodeableConcept|Reference(Any) Provides a mechanism to communicate additional information about the responsenote : Annotation [0..*]ActionA 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]A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation templatecode : CodeableConcept [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 : RelatedArtifact [0..*]An optional value describing when the action should be performedtiming[x] : Type [0..1] dateTime|Period|Duration|Range|Timing The participant that should perform or be responsible for this actionparticipant : Reference [0..*] Patient|Person|Practitioner| RelatedPerson The type of action to perform (create, update, remove)type : Coding [0..1] The type of action to be performed (Strength=Extensible)ActionType+ Defines the grouping behavior for the action and its childrengroupingBehavior : code [0..1] Defines organization behavior of a group (Strength=Required)ActionGroupingBehavior! Defines the selection behavior for the action and its childrenselectionBehavior : code [0..1] Defines selection behavior of a group (Strength=Required)ActionSelectionBehavior! Defines the requiredness behavior for the actionrequiredBehavior : code [0..1] Defines requiredness behavior for selecting an action or an action group (Strength=Required)ActionRequiredBehavior! Defines whether the action should usually be preselectedprecheckBehavior : code [0..1] Defines selection frequency behavior for an action or group (Strength=Required)ActionPrecheckBehavior! Defines whether the action can be selected multiple timescardinalityBehavior : code [0..1] Defines behavior for an action or a group for how many times that item may be repeated (Strength=Required)ActionCardinalityBehavior! The resource that is the target of the action (e.g. CommunicationRequest)resource : Reference [0..1] Any ConditionThe kind of conditionkind : code [1..1] The kind of condition for the action (Strength=Required)ActionConditionKind! A brief, natural language description of the condition that effectively communicates the intended semanticsdescription : string [0..1]The media type of the language for the expressionlanguage : string [0..1]An expression that returns true or false, indicating whether or not the condition is satisfiedexpression : string [0..1]RelatedActionThe element id of the action this is related toactionId : id [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] Duration|Range An expression that describes applicability criteria, or start/stop conditions for the actioncondition[0..*]A relationship to another action such as "before" or "30-60 minutes after start of"relatedAction[0..*]Sub actionsaction[0..*]The actions, if any, produced by the evaluation of the artifactaction[0..*]

XML Template

<RequestGroup xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier --></identifier>
 <definition><!-- 0..* Reference(Any) Instantiates protocol or definition --></definition>
 <basedOn><!-- 0..* Reference(Any) Fulfills plan, proposal, or order --></basedOn>
 <replaces><!-- 0..* Reference(Any) Request(s) replaced by this request --></replaces>
 <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier>
 <status value="[code]"/><!-- 1..1 draft | active | suspended | cancelled | completed | entered-in-error | unknown -->
 <intent value="[code]"/><!-- 1..1 proposal | plan | order -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <subject><!-- 0..1 Reference(Patient|Group) Who the request group is about --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode for the request group --></context>
 <authoredOn value="[dateTime]"/><!-- 0..1 When the request group was authored -->
 <author><!-- 0..1 Reference(Device|Practitioner) Device or practitioner that authored the request group --></author>
 <reason[x]><!-- 0..1 CodeableConcept|Reference(Any) Reason for the request group --></reason[x]>
 <note><!-- 0..* Annotation Additional notes about the response --></note>
 <action>  <!-- 0..* Proposed actions, if any -->
  <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 -->
  <code><!-- 0..* CodeableConcept Code representing the meaning of the action or sub-actions --></code>
  <documentation><!-- 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation>
  <condition>  <!-- 0..* Whether or not the action is applicable -->
   <kind value="[code]"/><!-- 1..1 applicability | start | stop -->
   <description value="[string]"/><!-- 0..1 Natural language description of the condition -->
   <language value="[string]"/><!-- 0..1 Language of the expression -->
   <expression value="[string]"/><!-- 0..1 Boolean-valued expression -->
  </condition>
  <relatedAction>  <!-- 0..* Relationship to another action -->
   <actionId value="[id]"/><!-- 1..1 What action this is related to -->
   <relationship value="[code]"/><!-- 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end -->
   <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]>
  </relatedAction>
  <timing[x]><!-- 0..1 dateTime|Period|Duration|Range|Timing When the action should take place --></timing[x]>
  <participant><!-- 0..* Reference(Patient|Person|Practitioner|RelatedPerson) Who should perform the action --></participant>
  <type><!-- 0..1 Coding create | update | remove | fire-event --></type>
  <groupingBehavior value="[code]"/><!-- 0..1 visual-group | logical-group | sentence-group -->
  <selectionBehavior value="[code]"/><!-- 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more -->
  <requiredBehavior value="[code]"/><!-- 0..1 must | could | must-unless-documented -->
  <precheckBehavior value="[code]"/><!-- 0..1 yes | no -->
  <cardinalityBehavior value="[code]"/><!-- 0..1 single | multiple -->
  <resource><!-- ?? 0..1 Reference(Any) The target of the action --></resource>
  <action><!-- ?? 0..* Content as for RequestGroup.action Sub action --></action>
 </action>
</RequestGroup>

JSON Template

{doco
  "resourceType" : "RequestGroup",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business identifier
  "definition" : [{ Reference(Any) }], // Instantiates protocol or definition
  "basedOn" : [{ Reference(Any) }], // Fulfills plan, proposal, or order
  "replaces" : [{ Reference(Any) }], // Request(s) replaced by this request
  "groupIdentifier" : { Identifier }, // Composite request this is part of
  "status" : "<code>", // R!  draft | active | suspended | cancelled | completed | entered-in-error | unknown
  "intent" : "<code>", // R!  proposal | plan | order
  "priority" : "<code>", // routine | urgent | asap | stat
  "subject" : { Reference(Patient|Group) }, // Who the request group is about
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode for the request group
  "authoredOn" : "<dateTime>", // When the request group was authored
  "author" : { Reference(Device|Practitioner) }, // Device or practitioner that authored the request group
  // reason[x]: Reason for the request group. One of these 2:
  "reasonCodeableConcept" : { CodeableConcept },
  "reasonReference" : { Reference(Any) },
  "note" : [{ Annotation }], // Additional notes about the response
  "action" : [{ // Proposed actions, if any
    "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
    "code" : [{ CodeableConcept }], // Code representing the meaning of the action or sub-actions
    "documentation" : [{ RelatedArtifact }], // Supporting documentation for the intended performer of the action
    "condition" : [{ // Whether or not the action is applicable
      "kind" : "<code>", // R!  applicability | start | stop
      "description" : "<string>", // Natural language description of the condition
      "language" : "<string>", // Language of the expression
      "expression" : "<string>" // Boolean-valued expression
    }],
    "relatedAction" : [{ // Relationship to another action
      "actionId" : "<id>", // R!  What action this is related to
      "relationship" : "<code>", // R!  before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
      // offset[x]: Time offset for the relationship. One of these 2:
      "offsetDuration" : { Duration }
      "offsetRange" : { Range }
    }],
    // timing[x]: When the action should take place. One of these 5:
    "timingDateTime" : "<dateTime>",
    "timingPeriod" : { Period },
    "timingDuration" : { Duration },
    "timingRange" : { Range },
    "timingTiming" : { Timing },
    "participant" : [{ Reference(Patient|Person|Practitioner|RelatedPerson) }], // Who should perform the action
    "type" : { Coding }, // create | update | remove | fire-event
    "groupingBehavior" : "<code>", // visual-group | logical-group | sentence-group
    "selectionBehavior" : "<code>", // any | all | all-or-none | exactly-one | at-most-one | one-or-more
    "requiredBehavior" : "<code>", // must | could | must-unless-documented
    "precheckBehavior" : "<code>", // yes | no
    "cardinalityBehavior" : "<code>", // single | multiple
    "resource" : { Reference(Any) }, // C? The target of the action
    "action" : [{ Content as for RequestGroup.action }] // C? Sub action
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:RequestGroup;
  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:RequestGroup.identifier [ Identifier ], ... ; # 0..* Business identifier
  fhir:RequestGroup.definition [ Reference(Any) ], ... ; # 0..* Instantiates protocol or definition
  fhir:RequestGroup.basedOn [ Reference(Any) ], ... ; # 0..* Fulfills plan, proposal, or order
  fhir:RequestGroup.replaces [ Reference(Any) ], ... ; # 0..* Request(s) replaced by this request
  fhir:RequestGroup.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of
  fhir:RequestGroup.status [ code ]; # 1..1 draft | active | suspended | cancelled | completed | entered-in-error | unknown
  fhir:RequestGroup.intent [ code ]; # 1..1 proposal | plan | order
  fhir:RequestGroup.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:RequestGroup.subject [ Reference(Patient|Group) ]; # 0..1 Who the request group is about
  fhir:RequestGroup.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode for the request group
  fhir:RequestGroup.authoredOn [ dateTime ]; # 0..1 When the request group was authored
  fhir:RequestGroup.author [ Reference(Device|Practitioner) ]; # 0..1 Device or practitioner that authored the request group
  # RequestGroup.reason[x] : 0..1 Reason for the request group. One of these 2
    fhir:RequestGroup.reasonCodeableConcept [ CodeableConcept ]
    fhir:RequestGroup.reasonReference [ Reference(Any) ]
  fhir:RequestGroup.note [ Annotation ], ... ; # 0..* Additional notes about the response
  fhir:RequestGroup.action [ # 0..* Proposed actions, if any
    fhir:RequestGroup.action.label [ string ]; # 0..1 User-visible label for the action (e.g. 1. or A.)
    fhir:RequestGroup.action.title [ string ]; # 0..1 User-visible title
    fhir:RequestGroup.action.description [ string ]; # 0..1 Short description of the action
    fhir:RequestGroup.action.textEquivalent [ string ]; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
    fhir:RequestGroup.action.code [ CodeableConcept ], ... ; # 0..* Code representing the meaning of the action or sub-actions
    fhir:RequestGroup.action.documentation [ RelatedArtifact ], ... ; # 0..* Supporting documentation for the intended performer of the action
    fhir:RequestGroup.action.condition [ # 0..* Whether or not the action is applicable
      fhir:RequestGroup.action.condition.kind [ code ]; # 1..1 applicability | start | stop
      fhir:RequestGroup.action.condition.description [ string ]; # 0..1 Natural language description of the condition
      fhir:RequestGroup.action.condition.language [ string ]; # 0..1 Language of the expression
      fhir:RequestGroup.action.condition.expression [ string ]; # 0..1 Boolean-valued expression
    ], ...;
    fhir:RequestGroup.action.relatedAction [ # 0..* Relationship to another action
      fhir:RequestGroup.action.relatedAction.actionId [ id ]; # 1..1 What action this is related to
      fhir:RequestGroup.action.relatedAction.relationship [ code ]; # 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
      # RequestGroup.action.relatedAction.offset[x] : 0..1 Time offset for the relationship. One of these 2
        fhir:RequestGroup.action.relatedAction.offsetDuration [ Duration ]
        fhir:RequestGroup.action.relatedAction.offsetRange [ Range ]
    ], ...;
    # RequestGroup.action.timing[x] : 0..1 When the action should take place. One of these 5
      fhir:RequestGroup.action.timingDateTime [ dateTime ]
      fhir:RequestGroup.action.timingPeriod [ Period ]
      fhir:RequestGroup.action.timingDuration [ Duration ]
      fhir:RequestGroup.action.timingRange [ Range ]
      fhir:RequestGroup.action.timingTiming [ Timing ]
    fhir:RequestGroup.action.participant [ Reference(Patient|Person|Practitioner|RelatedPerson) ], ... ; # 0..* Who should perform the action
    fhir:RequestGroup.action.type [ Coding ]; # 0..1 create | update | remove | fire-event
    fhir:RequestGroup.action.groupingBehavior [ code ]; # 0..1 visual-group | logical-group | sentence-group
    fhir:RequestGroup.action.selectionBehavior [ code ]; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more
    fhir:RequestGroup.action.requiredBehavior [ code ]; # 0..1 must | could | must-unless-documented
    fhir:RequestGroup.action.precheckBehavior [ code ]; # 0..1 yes | no
    fhir:RequestGroup.action.cardinalityBehavior [ code ]; # 0..1 single | multiple
    fhir:RequestGroup.action.resource [ Reference(Any) ]; # 0..1 The target of the action
    fhir:RequestGroup.action.action [ See RequestGroup.action ], ... ; # 0..* Sub action
  ], ...;
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup DomainResourceA group of related requests
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierBusiness identifier
... definition 0..*Reference(Any)Instantiates protocol or definition
... basedOn 0..*Reference(Any)Fulfills plan, proposal, or order
... replaces 0..*Reference(Any)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | suspended | cancelled | completed | entered-in-error | unknown
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order
RequestIntent (Required)
... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... subject 0..1Reference(Patient | Group)Who the request group is about
... context 0..1Reference(Encounter | EpisodeOfCare)Encounter or Episode for the request group
... authoredOn 0..1dateTimeWhen the request group was authored
... author 0..1Reference(Device | Practitioner)Device or practitioner that authored the request group
... reason[x] 0..1Reason for the request group
.... reasonCodeableConceptCodeableConcept
.... reasonReferenceReference(Any)
... note 0..*AnnotationAdditional notes about the response
... action I0..*BackboneElementProposed actions, if any
+ Must have resource or action but not both
.... 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
.... code 0..*CodeableConceptCode representing the meaning of the action or sub-actions
.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... condition 0..*BackboneElementWhether or not the action is applicable
..... kind 1..1codeapplicability | start | stop
ActionConditionKind (Required)
..... description 0..1stringNatural language description of the condition
..... language 0..1stringLanguage of the expression
..... expression 0..1stringBoolean-valued expression
.... relatedAction 0..*BackboneElementRelationship to another action
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
ActionRelationshipType (Required)
..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*Reference(Patient | Person | Practitioner | RelatedPerson)Who should perform the action
.... type 0..1Codingcreate | update | remove | fire-event
ActionType (Extensible)
.... groupingBehavior 0..1codevisual-group | logical-group | sentence-group
ActionGroupingBehavior (Required)
.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
ActionSelectionBehavior (Required)
.... requiredBehavior 0..1codemust | could | must-unless-documented
ActionRequiredBehavior (Required)
.... precheckBehavior 0..1codeyes | no
ActionPrecheckBehavior (Required)
.... cardinalityBehavior 0..1codesingle | multiple
ActionCardinalityBehavior (Required)
.... resource I0..1Reference(Any)The target of the action
.... action I0..*see actionSub action

doco Documentation for this format

UML Diagram (Legend)

RequestGroup (DomainResource)Allows a service to provide a unique, business identifier for the requestidentifier : Identifier [0..*]A protocol, guideline, orderset or other definition that is adhered to in whole or in part by this requestdefinition : Reference [0..*] Any A plan, proposal or order that is fulfilled in whole or in part by this requestbasedOn : Reference [0..*] Any Completed or terminated request(s) whose function is taken by this new requestreplaces : Reference [0..*] Any A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar formgroupIdentifier : Identifier [0..1]The current state of the request. For request groups, the status reflects the status of all the requests in the group (this element modifies the meaning of other elements)status : code [1..1] Codes identifying the stage lifecycle stage of a request (Strength=Required)RequestStatus! Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain (this element modifies the meaning of other elements)intent : code [1..1] Codes indicating the degree of authority/intentionality associated with a request (Strength=Required)RequestIntent! Indicates how quickly the request should be addressed with respect to other requestspriority : code [0..1] Identifies the level of importance to be assigned to actioning the request (Strength=Required)RequestPriority! The subject for which the request group was createdsubject : Reference [0..1] Patient|Group Describes the context of the request group, if anycontext : Reference [0..1] Encounter|EpisodeOfCare Indicates when the request group was createdauthoredOn : dateTime [0..1]Provides a reference to the author of the request groupauthor : Reference [0..1] Device|Practitioner Indicates the reason the request group was created. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the responsereason[x] : Type [0..1] CodeableConcept|Reference(Any) Provides a mechanism to communicate additional information about the responsenote : Annotation [0..*]ActionA 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]A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation templatecode : CodeableConcept [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 : RelatedArtifact [0..*]An optional value describing when the action should be performedtiming[x] : Type [0..1] dateTime|Period|Duration|Range|Timing The participant that should perform or be responsible for this actionparticipant : Reference [0..*] Patient|Person|Practitioner| RelatedPerson The type of action to perform (create, update, remove)type : Coding [0..1] The type of action to be performed (Strength=Extensible)ActionType+ Defines the grouping behavior for the action and its childrengroupingBehavior : code [0..1] Defines organization behavior of a group (Strength=Required)ActionGroupingBehavior! Defines the selection behavior for the action and its childrenselectionBehavior : code [0..1] Defines selection behavior of a group (Strength=Required)ActionSelectionBehavior! Defines the requiredness behavior for the actionrequiredBehavior : code [0..1] Defines requiredness behavior for selecting an action or an action group (Strength=Required)ActionRequiredBehavior! Defines whether the action should usually be preselectedprecheckBehavior : code [0..1] Defines selection frequency behavior for an action or group (Strength=Required)ActionPrecheckBehavior! Defines whether the action can be selected multiple timescardinalityBehavior : code [0..1] Defines behavior for an action or a group for how many times that item may be repeated (Strength=Required)ActionCardinalityBehavior! The resource that is the target of the action (e.g. CommunicationRequest)resource : Reference [0..1] Any ConditionThe kind of conditionkind : code [1..1] The kind of condition for the action (Strength=Required)ActionConditionKind! A brief, natural language description of the condition that effectively communicates the intended semanticsdescription : string [0..1]The media type of the language for the expressionlanguage : string [0..1]An expression that returns true or false, indicating whether or not the condition is satisfiedexpression : string [0..1]RelatedActionThe element id of the action this is related toactionId : id [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] Duration|Range An expression that describes applicability criteria, or start/stop conditions for the actioncondition[0..*]A relationship to another action such as "before" or "30-60 minutes after start of"relatedAction[0..*]Sub actionsaction[0..*]The actions, if any, produced by the evaluation of the artifactaction[0..*]

XML Template

<RequestGroup xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier --></identifier>
 <definition><!-- 0..* Reference(Any) Instantiates protocol or definition --></definition>
 <basedOn><!-- 0..* Reference(Any) Fulfills plan, proposal, or order --></basedOn>
 <replaces><!-- 0..* Reference(Any) Request(s) replaced by this request --></replaces>
 <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier>
 <status value="[code]"/><!-- 1..1 draft | active | suspended | cancelled | completed | entered-in-error | unknown -->
 <intent value="[code]"/><!-- 1..1 proposal | plan | order -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <subject><!-- 0..1 Reference(Patient|Group) Who the request group is about --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode for the request group --></context>
 <authoredOn value="[dateTime]"/><!-- 0..1 When the request group was authored -->
 <author><!-- 0..1 Reference(Device|Practitioner) Device or practitioner that authored the request group --></author>
 <reason[x]><!-- 0..1 CodeableConcept|Reference(Any) Reason for the request group --></reason[x]>
 <note><!-- 0..* Annotation Additional notes about the response --></note>
 <action>  <!-- 0..* Proposed actions, if any -->
  <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 -->
  <code><!-- 0..* CodeableConcept Code representing the meaning of the action or sub-actions --></code>
  <documentation><!-- 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation>
  <condition>  <!-- 0..* Whether or not the action is applicable -->
   <kind value="[code]"/><!-- 1..1 applicability | start | stop -->
   <description value="[string]"/><!-- 0..1 Natural language description of the condition -->
   <language value="[string]"/><!-- 0..1 Language of the expression -->
   <expression value="[string]"/><!-- 0..1 Boolean-valued expression -->
  </condition>
  <relatedAction>  <!-- 0..* Relationship to another action -->
   <actionId value="[id]"/><!-- 1..1 What action this is related to -->
   <relationship value="[code]"/><!-- 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end -->
   <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]>
  </relatedAction>
  <timing[x]><!-- 0..1 dateTime|Period|Duration|Range|Timing When the action should take place --></timing[x]>
  <participant><!-- 0..* Reference(Patient|Person|Practitioner|RelatedPerson) Who should perform the action --></participant>
  <type><!-- 0..1 Coding create | update | remove | fire-event --></type>
  <groupingBehavior value="[code]"/><!-- 0..1 visual-group | logical-group | sentence-group -->
  <selectionBehavior value="[code]"/><!-- 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more -->
  <requiredBehavior value="[code]"/><!-- 0..1 must | could | must-unless-documented -->
  <precheckBehavior value="[code]"/><!-- 0..1 yes | no -->
  <cardinalityBehavior value="[code]"/><!-- 0..1 single | multiple -->
  <resource><!-- ?? 0..1 Reference(Any) The target of the action --></resource>
  <action><!-- ?? 0..* Content as for RequestGroup.action Sub action --></action>
 </action>
</RequestGroup>

JSON Template

{doco
  "resourceType" : "RequestGroup",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business identifier
  "definition" : [{ Reference(Any) }], // Instantiates protocol or definition
  "basedOn" : [{ Reference(Any) }], // Fulfills plan, proposal, or order
  "replaces" : [{ Reference(Any) }], // Request(s) replaced by this request
  "groupIdentifier" : { Identifier }, // Composite request this is part of
  "status" : "<code>", // R!  draft | active | suspended | cancelled | completed | entered-in-error | unknown
  "intent" : "<code>", // R!  proposal | plan | order
  "priority" : "<code>", // routine | urgent | asap | stat
  "subject" : { Reference(Patient|Group) }, // Who the request group is about
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode for the request group
  "authoredOn" : "<dateTime>", // When the request group was authored
  "author" : { Reference(Device|Practitioner) }, // Device or practitioner that authored the request group
  // reason[x]: Reason for the request group. One of these 2:
  "reasonCodeableConcept" : { CodeableConcept },
  "reasonReference" : { Reference(Any) },
  "note" : [{ Annotation }], // Additional notes about the response
  "action" : [{ // Proposed actions, if any
    "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
    "code" : [{ CodeableConcept }], // Code representing the meaning of the action or sub-actions
    "documentation" : [{ RelatedArtifact }], // Supporting documentation for the intended performer of the action
    "condition" : [{ // Whether or not the action is applicable
      "kind" : "<code>", // R!  applicability | start | stop
      "description" : "<string>", // Natural language description of the condition
      "language" : "<string>", // Language of the expression
      "expression" : "<string>" // Boolean-valued expression
    }],
    "relatedAction" : [{ // Relationship to another action
      "actionId" : "<id>", // R!  What action this is related to
      "relationship" : "<code>", // R!  before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
      // offset[x]: Time offset for the relationship. One of these 2:
      "offsetDuration" : { Duration }
      "offsetRange" : { Range }
    }],
    // timing[x]: When the action should take place. One of these 5:
    "timingDateTime" : "<dateTime>",
    "timingPeriod" : { Period },
    "timingDuration" : { Duration },
    "timingRange" : { Range },
    "timingTiming" : { Timing },
    "participant" : [{ Reference(Patient|Person|Practitioner|RelatedPerson) }], // Who should perform the action
    "type" : { Coding }, // create | update | remove | fire-event
    "groupingBehavior" : "<code>", // visual-group | logical-group | sentence-group
    "selectionBehavior" : "<code>", // any | all | all-or-none | exactly-one | at-most-one | one-or-more
    "requiredBehavior" : "<code>", // must | could | must-unless-documented
    "precheckBehavior" : "<code>", // yes | no
    "cardinalityBehavior" : "<code>", // single | multiple
    "resource" : { Reference(Any) }, // C? The target of the action
    "action" : [{ Content as for RequestGroup.action }] // C? Sub action
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:RequestGroup;
  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:RequestGroup.identifier [ Identifier ], ... ; # 0..* Business identifier
  fhir:RequestGroup.definition [ Reference(Any) ], ... ; # 0..* Instantiates protocol or definition
  fhir:RequestGroup.basedOn [ Reference(Any) ], ... ; # 0..* Fulfills plan, proposal, or order
  fhir:RequestGroup.replaces [ Reference(Any) ], ... ; # 0..* Request(s) replaced by this request
  fhir:RequestGroup.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of
  fhir:RequestGroup.status [ code ]; # 1..1 draft | active | suspended | cancelled | completed | entered-in-error | unknown
  fhir:RequestGroup.intent [ code ]; # 1..1 proposal | plan | order
  fhir:RequestGroup.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:RequestGroup.subject [ Reference(Patient|Group) ]; # 0..1 Who the request group is about
  fhir:RequestGroup.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode for the request group
  fhir:RequestGroup.authoredOn [ dateTime ]; # 0..1 When the request group was authored
  fhir:RequestGroup.author [ Reference(Device|Practitioner) ]; # 0..1 Device or practitioner that authored the request group
  # RequestGroup.reason[x] : 0..1 Reason for the request group. One of these 2
    fhir:RequestGroup.reasonCodeableConcept [ CodeableConcept ]
    fhir:RequestGroup.reasonReference [ Reference(Any) ]
  fhir:RequestGroup.note [ Annotation ], ... ; # 0..* Additional notes about the response
  fhir:RequestGroup.action [ # 0..* Proposed actions, if any
    fhir:RequestGroup.action.label [ string ]; # 0..1 User-visible label for the action (e.g. 1. or A.)
    fhir:RequestGroup.action.title [ string ]; # 0..1 User-visible title
    fhir:RequestGroup.action.description [ string ]; # 0..1 Short description of the action
    fhir:RequestGroup.action.textEquivalent [ string ]; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
    fhir:RequestGroup.action.code [ CodeableConcept ], ... ; # 0..* Code representing the meaning of the action or sub-actions
    fhir:RequestGroup.action.documentation [ RelatedArtifact ], ... ; # 0..* Supporting documentation for the intended performer of the action
    fhir:RequestGroup.action.condition [ # 0..* Whether or not the action is applicable
      fhir:RequestGroup.action.condition.kind [ code ]; # 1..1 applicability | start | stop
      fhir:RequestGroup.action.condition.description [ string ]; # 0..1 Natural language description of the condition
      fhir:RequestGroup.action.condition.language [ string ]; # 0..1 Language of the expression
      fhir:RequestGroup.action.condition.expression [ string ]; # 0..1 Boolean-valued expression
    ], ...;
    fhir:RequestGroup.action.relatedAction [ # 0..* Relationship to another action
      fhir:RequestGroup.action.relatedAction.actionId [ id ]; # 1..1 What action this is related to
      fhir:RequestGroup.action.relatedAction.relationship [ code ]; # 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
      # RequestGroup.action.relatedAction.offset[x] : 0..1 Time offset for the relationship. One of these 2
        fhir:RequestGroup.action.relatedAction.offsetDuration [ Duration ]
        fhir:RequestGroup.action.relatedAction.offsetRange [ Range ]
    ], ...;
    # RequestGroup.action.timing[x] : 0..1 When the action should take place. One of these 5
      fhir:RequestGroup.action.timingDateTime [ dateTime ]
      fhir:RequestGroup.action.timingPeriod [ Period ]
      fhir:RequestGroup.action.timingDuration [ Duration ]
      fhir:RequestGroup.action.timingRange [ Range ]
      fhir:RequestGroup.action.timingTiming [ Timing ]
    fhir:RequestGroup.action.participant [ Reference(Patient|Person|Practitioner|RelatedPerson) ], ... ; # 0..* Who should perform the action
    fhir:RequestGroup.action.type [ Coding ]; # 0..1 create | update | remove | fire-event
    fhir:RequestGroup.action.groupingBehavior [ code ]; # 0..1 visual-group | logical-group | sentence-group
    fhir:RequestGroup.action.selectionBehavior [ code ]; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more
    fhir:RequestGroup.action.requiredBehavior [ code ]; # 0..1 must | could | must-unless-documented
    fhir:RequestGroup.action.precheckBehavior [ code ]; # 0..1 yes | no
    fhir:RequestGroup.action.cardinalityBehavior [ code ]; # 0..1 single | multiple
    fhir:RequestGroup.action.resource [ Reference(Any) ]; # 0..1 The target of the action
    fhir:RequestGroup.action.action [ See RequestGroup.action ], ... ; # 0..* Sub action
  ], ...;
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)

PathDefinitionTypeReference
RequestGroup.status Codes identifying the stage lifecycle stage of a requestRequiredRequestStatus
RequestGroup.intent Codes indicating the degree of authority/intentionality associated with a requestRequiredRequestIntent
RequestGroup.priority Identifies the level of importance to be assigned to actioning the requestRequiredRequestPriority
RequestGroup.action.condition.kind The kind of condition for the actionRequiredActionConditionKind
RequestGroup.action.relatedAction.relationship Defines the types of relationships between actionsRequiredActionRelationshipType
RequestGroup.action.type The type of action to be performedExtensibleActionType
RequestGroup.action.groupingBehavior Defines organization behavior of a groupRequiredActionGroupingBehavior
RequestGroup.action.selectionBehavior Defines selection behavior of a groupRequiredActionSelectionBehavior
RequestGroup.action.requiredBehavior Defines requiredness behavior for selecting an action or an action groupRequiredActionRequiredBehavior
RequestGroup.action.precheckBehavior Defines selection frequency behavior for an action or groupRequiredActionPrecheckBehavior
RequestGroup.action.cardinalityBehavior Defines behavior for an action or a group for how many times that item may be repeatedRequiredActionCardinalityBehavior

  • rqg-1: On RequestGroup.action: Must have resource or action but not both (expression on RequestGroup.action: resource.exists() != action.exists())

The RequestGroup resource is used when there are temporal, co-occurrence or other dependencies between one or more steps of an overall workflow. For example, "do procedure A or procedure B, but not both" or "do procedure A after procedure B" or "Act on this ProcedureRequest, then use the value of that observation in the calculation of the dose of this subsequent MedicationRequest". RequestGroups that define actions (i.e. that are more than just narrative representations) will always reference other Request resources with an intent of "option".

Each "option" request can only be interpreted in the context of a RequestGroup that references it. This is because the RequestGroup defines the context in which the option request may/should/must occur, including any triggers, timing constraints, choices, sequencing requirements, etc. Typically such "option" requests will be contained resources due to this dependency. However, in some cases "option" requests may be stand-alone if they are immutable or tightly tied to a ActivityDefinition such that the option resources can safely be referenced without a risk of their content/intent changing

Elements in the "option" requests may include extensions for timing or other elements that allow calculation based on information found in the RequestGroup or other referenced "option" resources, as well as to expose elements within the "option" resource for referencing in other "option" resources. These extensions are:

  • TODO

The RequestGroup and all of its referenced "option" Requests are treated as a single integrated Request whose status is the status of the RequestGroup. If there is a need to manage statuses of the different parts, separately, refer to the guidance here.

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
authorreferenceThe author of the request groupRequestGroup.author
(Practitioner, Device)
authoreddateThe date the request group was authoredRequestGroup.authoredOn
contextreferenceThe context the request group applies toRequestGroup.context
(EpisodeOfCare, Encounter)
definitionreferenceThe definition from which the request group is realizedRequestGroup.definition
(Any)
encounterreferenceThe encounter the request group applies toRequestGroup.context
(Encounter)
group-identifiertokenThe group identifier for the request groupRequestGroup.groupIdentifier
identifiertokenExternal identifiers for the request groupRequestGroup.identifier
intenttokenThe intent of the request groupRequestGroup.intent
participantreferenceThe participant in the requests in the groupRequestGroup.action.participant
(Practitioner, Patient, Person, RelatedPerson)
patientreferenceThe identity of a patient to search for request groupsRequestGroup.subject
(Patient)
prioritytokenThe priority of the request groupRequestGroup.priority
statustokenThe status of the request groupRequestGroup.status
subjectreferenceThe subject that the request group is aboutRequestGroup.subject
(Group, Patient)