Publish-box (todo)
FHIR Infrastructure | Maturity Level: 1 | Informative |
Detailed Descriptions for the elements in the Request pattern.
Request | |
Definition | A pattern to be followed by resources that represent a specific proposal, plan and/or order for some sort of action or service. |
Short Display | Request Pattern |
Cardinality | 0..* |
Type | Logical |
Request.identifier | |
Definition | Business identifiers assigned to this {{title}} by the author and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server. |
Short Display | Business Identifier for {{title}} |
Note | This is a business identifier, not a resource identifier (see discussion) |
Cardinality | 0..* |
Type | Identifier |
Requirements | Allows identification of the {{title}} as it is known by various participating systems and in a way that remains consistent across servers. |
Summary | true |
Comments | The identifier.type element is used to distinguish between the identifiers assigned by the requester/placer and the performer/filler. Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. |
Request.basedOn | |
Definition | A higher-level request resource (i.e. a plan, proposal or order) that is fulfilled in whole or in part by this {{title}}. Authorization from the 'basedOn' request flows through to the referencing {{title}}. |
Short Display | Fulfills plan, proposal or order |
Cardinality | 0..* |
Type | Reference(Request[Appointment, CarePlan, Claim, CommunicationRequest, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, Transport, VisionPrescription]) |
Requirements | Allows tracing of authorization for the request and tracking whether proposals/recommendations were acted upon. |
Alternate Names | fulfills |
Summary | true |
Comments | basedOn represents the 'authorization' chain for an action, not the 'reason for action'. For example, an order might be placed on hold under the authorization for a surgery. However the 'reason' for placing the hold is "to avoid interaction with anesthesia medications" [The allowed reference resources may be adjusted as appropriate for the request resource]. |
Request.replaces | |
Definition | Completed or terminated request(s) whose function is taken by this new {{title}}. |
Short Display | Request(s) replaced by this {{title}} |
Cardinality | 0..* |
Type | Reference(Request[Appointment, CarePlan, Claim, CommunicationRequest, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, Transport, VisionPrescription]) |
Requirements | Allows tracing the continuation of a therapy or administrative process instantiated through multiple requests. |
Alternate Names | supersedes; prior; renewed order |
Summary | true |
Comments | The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing. |
Request.groupIdentifier | |
Definition | 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 form. |
Short Display | Composite request this is part of |
Cardinality | 0..1 |
Type | Identifier |
Requirements | Some business processes need to know if multiple items were ordered as part of the same "prescription" or "requisition" for billing or other purposes. |
Alternate Names | grouperId; requisition |
Summary | true |
Comments | Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. |
Request.status | |
Definition | The current state of the {{title}}. |
Short Display | draft | active | on-hold | revoked | completed | entered-in-error | unknown |
Cardinality | 1..1 |
Terminology Binding | RequestStatus (Required) |
Type | code |
Is Modifier | true (Reason: This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid) |
Summary | true |
Comments | The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, completed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding Event(s) or using the Task resource. A nominal state-transition diagram can be found in the [[request.html#statemachine | Request pattern]] documentation Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. A status of 'active' when doNotPerform is true means that the request to not perform is currently in force. A status of completed for a "doNotPerform" request indicates that the period of non-performance is now satisfied and the request no longer holds. |
To Do | Should this be a common code system for all requests? |
Request.statusReason | |
Definition | Captures the reason for the current state of the {{title}}. |
Short Display | Reason for current status |
Cardinality | 0..1 |
Terminology Binding | RequestStatusReason: |
Type | CodeableConcept |
Alternate Names | Suspended Reason; Cancelled Reason |
Comments | This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the {{title}} was created at all is captured in reasonCode, not here. [distinct reason codes for different statuses can be enforced using invariants if they are universal bindings]. |
Request.intent | |
Definition | Indicates the level of authority/intentionality associated with the {{title}} and where the request fits into the workflow chain. |
Short Display | proposal | plan | order (immutable) |
Cardinality | 1..1 |
Terminology Binding | RequestIntent (Required) |
Type | code |
Is Modifier | true (Reason: This element changes the interpretation of all descriptive attributes. For example "the time the request is recommended to occur" vs. "the time the request is authorized to occur" or "who is recommended to perform the request" vs. "who is authorized to perform the request) |
Requirements | Proposals/recommendations, plans and orders all use the same structure and can exist in the same fulfillment chain. |
Alternate Names | category |
Summary | true |
Comments | This element is expected to be immutable. E.g. A "proposal" instance should never change to be a "plan" instance or "order" instance. Instead, a new instance 'basedOn' the prior instance should be created with the new 'intent' value. One exception to this is that the granularity of Request.intent is allowed to change. For example, a Request identified as an "order" might later be clarified to be a "filler-order". Or, in rarer cases (to meet recipient constraints), the reverse might also occur. When resources map to this element, they are free to define as many codes as necessary to cover their space and will map to "proposal, plan or order". Can have multiple codes that map to one of these. E.g. "original order", "encoded order", "reflex order" would all map to "order". Expectation is that the set of codes is mutually exclusive or a strict all-encompassing hierarchy. |
To Do | Should this be a common code system for all requests? |
Request.priority | |
Definition | Indicates how quickly the {{title}} should be addressed with respect to other requests. |
Short Display | routine | urgent | asap | stat |
Cardinality | 0..1 |
Terminology Binding | RequestPriority (Required) |
Type | code |
Meaning if Missing | If missing, this task should be performed with normal priority |
Summary | true |
Request.doNotPerform | |
Definition | If true indicates that the {{title}} is asking for the specified action to not occur. |
Short Display | true if request is prohibiting action |
Cardinality | 0..1 |
Type | boolean |
Is Modifier | true (Reason: If true this element negates the specified action. For Example, instead of a request for a procedure, it is a request for the procedure to not occur.) |
Meaning if Missing | If do not perform is not specified, the request is a positive request e.g. "do perform" |
Requirements | Supports things like Do Not Recussitate, Nothing by mouth, etc. |
Alternate Names | prohibited |
Summary | true |
Comments | The attributes provided with the request qualify what is not to be done. For example, if an effectiveTime is provided, the "do not" request only applies within the specified time. If a performerType is specified then the "do not" request only applies to performers of that type. Qualifiers include: code, subject, occurrence, performerType and performer. In some cases, the Request.code may pre-coordinate prohibition into the requested action. E.g. "NPO" (nothing by mouth), "DNR" (do not recussitate). If this happens, doNotPerform SHALL NOT be set to true. I.e. The resource shall not have double negation. (E.g. "Do not DNR"). |
Request.category | |
Definition | Partitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior. |
Short Display | Partitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior. |
Cardinality | 0..* |
Type | CodeableConcept |
Requirements | Categorization might be done automatically (inferred by code) or manually by user assertion. The absence of a category may limit the ability to determine when the element should be handled, so strong consideration should be given to how systems will be able to determine category values for legacy data and how data that cannot be categorized will be handled. As well, some categories might not be mutually exclusive, so systems should prepare for multiple declared categories - even within a single category 'axis'. In general, there should not be a 'strong' binding ('required' or 'extensible') on the category element overall. Instead, the element can be sliced and bindings can be asserted that apply to particular repetitions. |
Summary | true |
Request.code | |
Definition | A code that identifies the specific service or action being asked to be done (or not done). |
Short Display | Service requested/ordered |
Cardinality | 0..1 |
Terminology Binding | RequestCode: |
Type | CodeableConcept |
Requirements | [In some cases, the service type is implicit based on the scope of the resource and only a product element will be present]. |
Alternate Names | type |
Summary | true |
Request.product | |
Definition | Indicates the product whose supply or manipulation is authorized by this {{title}}. |
Short Display | Product requested/ordered |
Cardinality | 0..1 |
Type | CodeableReference(BiologicallyDerivedProduct | Device | DeviceDefinition | Medication | NutritionProduct | Substance) |
Summary | true |
Request.subject | |
Definition | The individual or set of individuals the action is to be performed/not performed on or for. |
Short Display | Individual the service is ordered/prohibited for |
Cardinality | 1..1 |
Type | Reference(Patient | Group) |
Requirements | Links the request to the Patient context. |
Alternate Names | patient |
Summary | true |
Comments | [For resources that aren't patient-specific, the set of allowed resources may be extended to include other things. Group should generally be retained unless there's certainty this resource won't be used for veterinary, research or public health settings where Group may be necessary (e.g. this cage of rats/crate of chickens, group of people in a 5 mile radious of the incident, etc.)]. |
To Do | For mapping, is it better if we make this Any and then constrain it down? |
Request.encounter | |
Definition | The Encounter during which this {{title}} was created or to which the creation of this record is tightly associated. |
Short Display | Encounter the {{title}} is tied to |
Cardinality | 0..1 |
Type | Reference(Encounter) |
Requirements | Links the {{title}} to the Encounter context. |
Alternate Names | context |
Summary | true |
Comments | This will typically be the encounter during which the {{title}} was created. However, some {{title}s may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission activities). |
Request.occurrence[x] | |
Definition | The date or time(s) at which the activity or service is desired to occur or not occur. |
Short Display | When service should (not) occur |
Cardinality | 0..1 |
Type | dateTime|Period|Timing |
[x] Note | See Choice of Datatypes for further information about how to use [x] |
Alternate Names | timing |
Summary | true |
Comments | [The list of types may be constrained as appropriate for the type of event]. |
Request.authoredOn | |
Definition | For draft {{title}}s, indicates the date of initial creation. For requests with other statuses, indicates the date of activation. |
Short Display | When request was created/transitioned to active |
Cardinality | 0..1 |
Type | dateTime |
Alternate Names | createdOn; signedOn |
Summary | true |
To Do | Do we need a "status date" too (for when the request was suspended, cancelled, etc.). |
Request.requester | |
Definition | Who initiated the {{request}} and has responsibility for its activation. |
Short Display | Who/what is requesting service |
Cardinality | 0..1 |
Type | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
Alternate Names | author |
Summary | true |
Comments | [Resources may choose to constrain potential requesters, though should consider proposals and plans as well as orders]. |
Request.reported[x] | |
Definition | Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. |
Short Display | Reported rather than primary record |
Cardinality | 0..1 |
Type | boolean|Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) |
[x] Note | See Choice of Datatypes for further information about how to use [x] |
Requirements | Reported data may have different rules on editing and may be visually distinguished from primary data. |
Alternate Names | informer |
Summary | true |
Request.performerType | |
Definition | The type of individual that is desired to act upon/ not act upon the {{request}}. |
Short Display | Desired kind of service performer |
Cardinality | 0..1 |
Terminology Binding | PerformerType: |
Type | CodeableConcept |
Summary | true |
Comments | If specified without indicating a performer, this indicates that the performer must be (or can't be) of the specified type. If specified with a performer then it indicates the requirements of the performer if the designated performer is not available. If doNotPerform is true, then only one of performerType and performer should be present. |
To Do | Need to define who.performer. |
Request.performer | |
Definition | Indicates who or what is being asked to perform (or not perform) the {{request}}. |
Short Display | Specific desired (non)performer |
Cardinality | 0..1 |
Type | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
Summary | true |
Request.deliverTo | |
Definition | Identifies the entity(ies) who should receive the results of executing the {{title}} (or the location to which the results should be delivered). |
Short Display | Who should receive result of {{title}} |
Cardinality | 0..* |
Type | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization | Location | HealthcareService | CareTeam | Device | Endpoint) |
Summary | true |
Request.reason | |
Definition | Describes why the request is being made in coded or textual form, or Indicates another resource whose existence justifies this request. |
Short Display | Why is service (not) needed? |
Cardinality | 0..* |
Terminology Binding | RequestReason: |
Type | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) |
Summary | true |
Comments | Textual reasons can be captured using reasonCode.text. If doNoPerform is true, this will be the reason why the request is being made to not act. |
Request.insurance | |
Definition | Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant in delivering the requested service. |
Short Display | Associated insurance coverage |
Cardinality | 0..* |
Type | Reference(Coverage | ClaimResponse) |
Request.supportingInfo | |
Definition | Information that may be needed by/relevant to the performer in their execution of this {{title}}. |
Short Display | Extra information to use in performing request |
Cardinality | 0..* |
Type | Reference(Any) |
Comments | See guidance on notes vs. supportingInfo. |
Request.note | |
Definition | Comments made about the {{title}} by the requester, performer, subject or other participants. |
Short Display | Comments made about {{title}} |
Cardinality | 0..* |
Type | Annotation |
Comments | See guidance on notes vs. supportingInfo. |
Request.relevantHistory | |
Definition | Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource. |
Short Display | Key events in history of {{title}} |
Cardinality | 0..* |
Type | Reference(Provenance) |
Alternate Names | eventHistory |
Comments | This element does not point to the Provenance associated with the current version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. Referenced provenances SHOULD adhere to the provenance-relevant-history profile. See additional guidance here. |