This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3
Clinical Decision Support Work Group | Maturity Level: 2 | Trial Use | Compartments: 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
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
RequestGroup | TU | DomainResource | A group of related requests Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business 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..1 | Identifier | Composite request this is part of |
status | ?!Σ | 1..1 | code | draft | active | suspended | cancelled | completed | entered-in-error | unknown RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | order RequestIntent (Required) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat RequestPriority (Required) |
code | Σ | 0..1 | CodeableConcept | What's being requested/ordered |
subject | 0..1 | Reference(Patient | Group) | Who the request group is about | |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or Episode for the request group | |
authoredOn | 0..1 | dateTime | When the request group was authored | |
author | 0..1 | Reference(Device | Practitioner) | Device or practitioner that authored the request group | |
reasonCode | 0..* | CodeableConcept | Why the request group is needed | |
reasonReference | 0..* | Reference(Any) | Why the request group is needed | |
note | 0..* | Annotation | Additional notes about the response | |
action | I | 0..* | BackboneElement | Proposed actions, if any + Must have resource or action but not both |
prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |
title | 0..1 | string | User-visible title | |
description | Σ | 0..1 | string | Short description of the action |
textEquivalent | Σ | 0..1 | string | 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 | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |
condition | 0..* | BackboneElement | Whether or not the action is applicable | |
kind | 1..1 | code | applicability | start | stop ActionConditionKind (Required) | |
description | 0..1 | string | Natural language description of the condition | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | Boolean-valued expression | |
relatedAction | 0..* | BackboneElement | Relationship to another action | |
actionId | 1..1 | id | What action this is related to | |
relationship | 1..1 | code | before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end ActionRelationshipType (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
timing[x] | 0..1 | When the action should take place | ||
timingDateTime | dateTime | |||
timingAge | Age | |||
timingPeriod | Period | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
participant | 0..* | Reference(Patient | Person | Practitioner | RelatedPerson) | Who should perform the action | |
type | 0..1 | Coding | create | update | remove | fire-event ActionType (Extensible) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group ActionGroupingBehavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more ActionSelectionBehavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented ActionRequiredBehavior (Required) | |
precheckBehavior | 0..1 | code | yes | no ActionPrecheckBehavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple ActionCardinalityBehavior (Required) | |
resource | I | 0..1 | Reference(Any) | The target of the action |
action | I | 0..* | see action | Sub action |
Documentation for this format |
UML Diagram (Legend)
XML Template
<RequestGroup xmlns="http://hl7.org/fhir"> <!-- 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 --> <code><!-- 0..1 CodeableConcept What's being requested/ordered --></code> <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> <reasonCode><!-- 0..* CodeableConcept Why the request group is needed --></reasonCode> <reasonReference><!-- 0..* Reference(Any) Why the request group is needed --></reasonReference> <note><!-- 0..* Annotation Additional notes about the response --></note> <action> <!-- 0..* Proposed actions, if any --> <prefix value="[string]"/><!-- 0..1 User-visible prefix 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|Age|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
{ "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 "code" : { CodeableConcept }, // What's being requested/ordered "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 "reasonCode" : [{ CodeableConcept }], // Why the request group is needed "reasonReference" : [{ Reference(Any) }], // Why the request group is needed "note" : [{ Annotation }], // Additional notes about the response "action" : [{ // Proposed actions, if any "prefix" : "<string>", // User-visible prefix 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 6: "timingDateTime" : "<dateTime>", "timingAge" : { Age }, "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/> . [ 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.code [ CodeableConcept ]; # 0..1 What's being requested/ordered 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 fhir:RequestGroup.reasonCode [ CodeableConcept ], ... ; # 0..* Why the request group is needed fhir:RequestGroup.reasonReference [ Reference(Any) ], ... ; # 0..* Why the request group is needed fhir:RequestGroup.note [ Annotation ], ... ; # 0..* Additional notes about the response fhir:RequestGroup.action [ # 0..* Proposed actions, if any fhir:RequestGroup.action.prefix [ string ]; # 0..1 User-visible prefix 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 6 fhir:RequestGroup.action.timingDateTime [ dateTime ] fhir:RequestGroup.action.timingAge [ Age ] 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 ], ...; ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
RequestGroup | TU | DomainResource | A group of related requests Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business 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..1 | Identifier | Composite request this is part of |
status | ?!Σ | 1..1 | code | draft | active | suspended | cancelled | completed | entered-in-error | unknown RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | order RequestIntent (Required) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat RequestPriority (Required) |
code | Σ | 0..1 | CodeableConcept | What's being requested/ordered |
subject | 0..1 | Reference(Patient | Group) | Who the request group is about | |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or Episode for the request group | |
authoredOn | 0..1 | dateTime | When the request group was authored | |
author | 0..1 | Reference(Device | Practitioner) | Device or practitioner that authored the request group | |
reasonCode | 0..* | CodeableConcept | Why the request group is needed | |
reasonReference | 0..* | Reference(Any) | Why the request group is needed | |
note | 0..* | Annotation | Additional notes about the response | |
action | I | 0..* | BackboneElement | Proposed actions, if any + Must have resource or action but not both |
prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |
title | 0..1 | string | User-visible title | |
description | Σ | 0..1 | string | Short description of the action |
textEquivalent | Σ | 0..1 | string | 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 | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |
condition | 0..* | BackboneElement | Whether or not the action is applicable | |
kind | 1..1 | code | applicability | start | stop ActionConditionKind (Required) | |
description | 0..1 | string | Natural language description of the condition | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | Boolean-valued expression | |
relatedAction | 0..* | BackboneElement | Relationship to another action | |
actionId | 1..1 | id | What action this is related to | |
relationship | 1..1 | code | before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end ActionRelationshipType (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
timing[x] | 0..1 | When the action should take place | ||
timingDateTime | dateTime | |||
timingAge | Age | |||
timingPeriod | Period | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
participant | 0..* | Reference(Patient | Person | Practitioner | RelatedPerson) | Who should perform the action | |
type | 0..1 | Coding | create | update | remove | fire-event ActionType (Extensible) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group ActionGroupingBehavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more ActionSelectionBehavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented ActionRequiredBehavior (Required) | |
precheckBehavior | 0..1 | code | yes | no ActionPrecheckBehavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple ActionCardinalityBehavior (Required) | |
resource | I | 0..1 | Reference(Any) | The target of the action |
action | I | 0..* | see action | Sub action |
Documentation for this format |
XML Template
<RequestGroup xmlns="http://hl7.org/fhir"> <!-- 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 --> <code><!-- 0..1 CodeableConcept What's being requested/ordered --></code> <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> <reasonCode><!-- 0..* CodeableConcept Why the request group is needed --></reasonCode> <reasonReference><!-- 0..* Reference(Any) Why the request group is needed --></reasonReference> <note><!-- 0..* Annotation Additional notes about the response --></note> <action> <!-- 0..* Proposed actions, if any --> <prefix value="[string]"/><!-- 0..1 User-visible prefix 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|Age|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
{ "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 "code" : { CodeableConcept }, // What's being requested/ordered "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 "reasonCode" : [{ CodeableConcept }], // Why the request group is needed "reasonReference" : [{ Reference(Any) }], // Why the request group is needed "note" : [{ Annotation }], // Additional notes about the response "action" : [{ // Proposed actions, if any "prefix" : "<string>", // User-visible prefix 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 6: "timingDateTime" : "<dateTime>", "timingAge" : { Age }, "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/> . [ 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.code [ CodeableConcept ]; # 0..1 What's being requested/ordered 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 fhir:RequestGroup.reasonCode [ CodeableConcept ], ... ; # 0..* Why the request group is needed fhir:RequestGroup.reasonReference [ Reference(Any) ], ... ; # 0..* Why the request group is needed fhir:RequestGroup.note [ Annotation ], ... ; # 0..* Additional notes about the response fhir:RequestGroup.action [ # 0..* Proposed actions, if any fhir:RequestGroup.action.prefix [ string ]; # 0..1 User-visible prefix 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 6 fhir:RequestGroup.action.timingDateTime [ dateTime ] fhir:RequestGroup.action.timingAge [ Age ] 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 ], ...; ]
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
RequestGroup.status | Codes identifying the stage lifecycle stage of a request | Required | RequestStatus |
RequestGroup.intent | Codes indicating the degree of authority/intentionality associated with a request | Required | RequestIntent |
RequestGroup.priority | Identifies the level of importance to be assigned to actioning the request | Required | RequestPriority |
RequestGroup.action.condition.kind | The kind of condition for the action | Required | ActionConditionKind |
RequestGroup.action.relatedAction.relationship | Defines the types of relationships between actions | Required | ActionRelationshipType |
RequestGroup.action.type | The type of action to be performed | Extensible | ActionType |
RequestGroup.action.groupingBehavior | Defines organization behavior of a group | Required | ActionGroupingBehavior |
RequestGroup.action.selectionBehavior | Defines selection behavior of a group | Required | ActionSelectionBehavior |
RequestGroup.action.requiredBehavior | Defines requiredness behavior for selecting an action or an action group | Required | ActionRequiredBehavior |
RequestGroup.action.precheckBehavior | Defines selection frequency behavior for an action or group | Required | ActionPrecheckBehavior |
RequestGroup.action.cardinalityBehavior | Defines behavior for an action or a group for how many times that item may be repeated | Required | ActionCardinalityBehavior |
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 ServiceRequest, 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:
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.
Name | Type | Description | Expression | In Common |
author | reference | The author of the request group | RequestGroup.author (Practitioner, Device) | |
authored | date | The date the request group was authored | RequestGroup.authoredOn | |
code | token | The code of the request group | RequestGroup.code | |
context | reference | The context the request group applies to | RequestGroup.context (EpisodeOfCare, Encounter) | |
definition | reference | The definition from which the request group is realized | RequestGroup.definition (Any) | |
encounter | reference | The encounter the request group applies to | RequestGroup.context (Encounter) | |
group-identifier | token | The group identifier for the request group | RequestGroup.groupIdentifier | |
identifier | token | External identifiers for the request group | RequestGroup.identifier | |
intent | token | The intent of the request group | RequestGroup.intent | |
participant | reference | The participant in the requests in the group | RequestGroup.action.participant (Practitioner, Patient, Person, RelatedPerson) | |
patient | reference | The identity of a patient to search for request groups | RequestGroup.subject (Patient) | |
priority | token | The priority of the request group | RequestGroup.priority | |
status | token | The status of the request group | RequestGroup.status | |
subject | reference | The subject that the request group is about | RequestGroup.subject (Group, Patient) |