This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Clinical Decision Support ![]() | Maturity Level: 4 | Trial Use | Security Category: Business | Compartments: Device, Encounter, Group, Patient, Practitioner, RelatedPerson |
A set 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 RequestOrchestration resource is used to represent a set of optional and related 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 RequestOrchestration to a particular subject and setting, the actionDefinition
element of PlanDefinition is identical to the action
element of the RequestOrchestration, allowing the same features and functionality to be used in both places to describe optionality of and relationships between activities in a workflow.
RequestOrchestrations 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.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
RequestOrchestration.status | RequestStatus | Required | Codes identifying the lifecycle stage of a request. |
RequestOrchestration.intent | RequestIntent | Required | Codes indicating the degree of authority/intentionality associated with a request. |
RequestOrchestration.priority | RequestPriority | Required | Identifies the level of importance to be assigned to actioning the request. |
RequestOrchestration.code | ActionCode | Example | Provides examples of actions to be performed. |
RequestOrchestration.reason | ActionReasonCode | Example | Provides examples of reasons for actions to be performed. |
RequestOrchestration.action.priority | RequestPriority | Required | Identifies the level of importance to be assigned to actioning the request. |
RequestOrchestration.action.code | ActionCode | Example | Provides examples of actions to be performed. |
RequestOrchestration.action.condition.kind | ActionConditionKind | Required | Defines the kinds of conditions that can appear on actions. |
RequestOrchestration.action.relatedAction.relationship | ActionRelationshipType | Required | Defines the types of relationships between actions. |
RequestOrchestration.action.relatedAction.endRelationship | ActionRelationshipType | Required | Defines the types of relationships between actions. |
RequestOrchestration.action.participant.type | ActionParticipantType | Required | The type of participant for the action. |
RequestOrchestration.action.participant.role | ActionParticipantRole ![]() |
Example | Either a practitioner role or a relationship type. Note from UTG import - may have been a temporary entry that subsequently disappeared from the FHIR source; unable to locate. Version set to 0.1.0 |
RequestOrchestration.action.participant.function | ActionParticipantFunction | Example | The function performed by the participant for the action. |
RequestOrchestration.action.type | ActionType | Extensible | The type of action to be performed. |
RequestOrchestration.action.groupingBehavior | ActionGroupingBehavior | Required | Defines organization behavior of a group. |
RequestOrchestration.action.selectionBehavior | ActionSelectionBehavior | Required | Defines selection behavior of a group. |
RequestOrchestration.action.requiredBehavior | ActionRequiredBehavior | Required | Defines expectations around whether an action or action group is required. |
RequestOrchestration.action.precheckBehavior | ActionPrecheckBehavior | Required | Defines selection frequency behavior for an action or group. |
RequestOrchestration.action.cardinalityBehavior | ActionCardinalityBehavior | Required | Defines behavior for an action or a group for how many times that item may be repeated. |
UniqueKey | Level | Location | Description | Expression |
![]() | Rule | RequestOrchestration.action.input | Input data elements must have a requirement or a relatedData, but not both | requirement.exists() xor relatedData.exists() |
![]() | Rule | RequestOrchestration.action.output | Output data element must have a requirement or a relatedData, but not both | requirement.exists() xor relatedData.exists() |
![]() | Rule | RequestOrchestration.action | Must have resource or action but not both | resource.exists() implies action.exists().not() |
The RequestOrchestration 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". RequestOrchestrations 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 RequestOrchestration that references it. This is because the RequestOrchestration 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 RequestOrchestration 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 RequestOrchestration and all of its referenced "option" Requests are treated as a single integrated Request whose status is the status of the RequestOrchestration. If there is a need to manage statuses of the different parts, separately, refer to the guidance here.
A RequestOrchestration can be used to document (wholly or in part) options that are to be chosen by the order filler when actually delivering care. There is no expectation for systems that fulfill a RequestOrchestration to specifically document which choices were made among the options defined. However, if this is needed, it could be accomplished with a 'filler-order' RequestOrchestration basedOn the 'original-order' RequestOrchestration that narrows the order to reflect the filling clinician's choices.
NOTE: The 'intent' of the requests referenced by a RequestOrchestration are never changed from Option to Order or some other value to convey 'selection'.
A RequestOrchestration is deemed to be complete when the requirements of the request options needed to satisfy at least one path through the overall request have been met or when the author of the RequestOrchestration deems it to be sufficiently complete.
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to 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 |
action-resource | reference | A resource in an action of the request orchestration | RequestOrchestration.action.resource (Any) |
|
author | reference | The author of the request orchestration | RequestOrchestration.author (Practitioner, Device, PractitionerRole) |
|
authored | date | The date the request orchestration was authored | RequestOrchestration.authoredOn | |
based-on | reference | What this request fullfills. | RequestOrchestration.basedOn (Any) |
|
code | token | The code of the request orchestration | RequestOrchestration.code | 21 Resources |
encounter | reference | The encounter the request orchestration applies to | RequestOrchestration.encounter (Encounter) |
29 Resources |
group-identifier | token | The group identifier for the request orchestration | RequestOrchestration.groupIdentifier | |
identifier | token | External identifiers for the request orchestration | RequestOrchestration.identifier | 65 Resources |
instantiates-canonical | reference | The FHIR-based definition from which the request orchestration is realized | RequestOrchestration.instantiatesCanonical | |
instantiates-uri | uri | The external definition from which the request orchestration is realized | RequestOrchestration.instantiatesUri | |
intent | token | The intent of the request orchestration | RequestOrchestration.intent | |
participant | reference | The participant in the requests in the orchestration | RequestOrchestration.action.participant.actor.ofType(Reference) | RequestOrchestration.action.participant.actor.ofType(canonical) (Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Practitioner, Endpoint, CapabilityStatement, DeviceDefinition, Location) |
|
patient | reference | The identity of a patient to search for request orchestrations | RequestOrchestration.subject.where(resolve() is Patient) (Patient) |
65 Resources |
priority | token | The priority of the request orchestration | RequestOrchestration.priority | |
status | token | The status of the request orchestration | RequestOrchestration.status | |
subject | reference | The subject that the request orchestration is about | RequestOrchestration.subject (Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Location) |