This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). 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: R5 R4B R4 R3 R2
Orders and Observations Work Group | Maturity Level: 1 | Trial Use | Security Category: Patient | Compartments: Device, Patient, Practitioner, RelatedPerson |
A record of a request for a medication, substance or device used in the healthcare setting.
Note to Balloters: In terms of scope and usage, the Orders and Observations workgroups wish to draw the attention of reviewers and implementers to the following issues and changes.
- We are seeking input from the implementation community on whether to combine SupplyRequest and DeviceRequest for R5.
- The parameters element was added to SupplyRequest for representing custom details for ordering devices.
Feedback is welcome here
This resource is a request resource from a FHIR workflow perspective - see Workflow. It is the intent of the Orders and Observation Workgroup to align this resource with the workflow pattern for request resources.
The scope of the SupplyRequest resource is for recording the request of supplies used in the healthcare process. This includes supplies specifically used in the treatment of patients as well as supply movement within an institution (transport a set of supplies from materials management to a service unit (nurse station). This resource does not include the provisioning of transportation services.
The SupplyRequest resource allows requesting only a single item. If a workflow requires requesting multiple items simultaneously, this is done using multiple instances of this resource. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern
Note that the SupplyRequest records the fact that a request was made. To actually act on that request, additional workflow beyond simply the existence of a SupplyRequest is required. This can be achieved by using an Task resource, with the SupplyRequest referenced from the Task.focus, or by using the SupplyRequest resource in the context of an messaging or service workflow where the request is explicit or implicit. The SupplyDelivery resource represents the fulfillment as a result of SupplyRequest being acted upon.
The SupplyRequest resource is used for inventory management. When requesting medication, substances and devices when there is a patient focus or instructions regarding their use, DeviceRequest or MedicationRequest should be used instead.
To determine the purchase date, a search of DeviceRequest, SupplyRequest, DeviceDispense, or SupplyDelivery as defined in an implementation guide can be done , as the context of the use case actually determines which date of either resource is considered the purchase date.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
SupplyRequest | TU | DomainResource | Request for a medication, substance or device Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business Identifier for SupplyRequest |
status | ?!Σ | 0..1 | code | draft | active | suspended + SupplyRequestStatus (Required) |
basedOn | Σ | 0..* | Reference(Any) | What other request is fulfilled by this supply request |
category | Σ | 0..1 | CodeableConcept | The kind of supply (central, non-stock, etc.) Supply Type (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat RequestPriority (Required) |
item | Σ | 1..1 | CodeableReference(Medication | Substance | Device | DeviceDefinition) | Medication, Substance, or Device requested to be supplied SNOMED CT Supply Item (Example) |
quantity | Σ | 1..1 | Quantity | The requested amount of the item indicated |
parameter | 0..* | BackboneElement | Ordered item details | |
code | 0..1 | CodeableConcept | Item detail ParameterCode (Example) | |
value[x] | 0..1 | Value of detail | ||
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueBoolean | boolean | |||
occurrence[x] | Σ | 0..1 | When the request should be fulfilled | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
authoredOn | Σ | 0..1 | dateTime | When the request was made |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam) | Individual making the request |
supplier | Σ | 0..* | Reference(Organization | HealthcareService) | Who is intended to fulfill the request |
reason | 0..* | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) | The reason why the supply item was requested SupplyRequestReason (Example) | |
deliverFrom | 0..1 | Reference(Organization | Location) | The origin of the supply | |
deliverTo | 0..1 | Reference(Organization | Location | Patient) | The destination of the supply | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<SupplyRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier for SupplyRequest --></identifier> <status value="[code]"/><!-- 0..1 draft | active | suspended + --> <basedOn><!-- 0..* Reference(Any) What other request is fulfilled by this supply request --></basedOn> <category><!-- 0..1 CodeableConcept The kind of supply (central, non-stock, etc.) --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <item><!-- 1..1 CodeableReference(Device|DeviceDefinition|Medication|Substance) Medication, Substance, or Device requested to be supplied --></item> <quantity><!-- 1..1 Quantity The requested amount of the item indicated --></quantity> <parameter> <!-- 0..* Ordered item details --> <code><!-- 0..1 CodeableConcept Item detail --></code> <value[x]><!-- 0..1 CodeableConcept|Quantity|Range|boolean Value of detail --></value[x]> </parameter> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When the request should be fulfilled --></occurrence[x]> <authoredOn value="[dateTime]"/><!-- 0..1 When the request was made --> <requester><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual making the request --></requester> <supplier><!-- 0..* Reference(HealthcareService|Organization) Who is intended to fulfill the request --></supplier> <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) The reason why the supply item was requested --></reason> <deliverFrom><!-- 0..1 Reference(Location|Organization) The origin of the supply --></deliverFrom> <deliverTo><!-- 0..1 Reference(Location|Organization|Patient) The destination of the supply --></deliverTo> </SupplyRequest>
JSON Template
{ "resourceType" : "SupplyRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier for SupplyRequest "status" : "<code>", // draft | active | suspended + "basedOn" : [{ Reference(Any) }], // What other request is fulfilled by this supply request "category" : { CodeableConcept }, // The kind of supply (central, non-stock, etc.) "priority" : "<code>", // routine | urgent | asap | stat "item" : { CodeableReference(Device|DeviceDefinition|Medication|Substance) }, // R! Medication, Substance, or Device requested to be supplied "quantity" : { Quantity }, // R! The requested amount of the item indicated "parameter" : [{ // Ordered item details "code" : { CodeableConcept }, // Item detail // value[x]: Value of detail. One of these 4: "valueCodeableConcept" : { CodeableConcept }, "valueQuantity" : { Quantity }, "valueRange" : { Range }, "valueBoolean" : <boolean> }], // occurrence[x]: When the request should be fulfilled. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "authoredOn" : "<dateTime>", // When the request was made "requester" : { Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Individual making the request "supplier" : [{ Reference(HealthcareService|Organization) }], // Who is intended to fulfill the request "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) }], // The reason why the supply item was requested "deliverFrom" : { Reference(Location|Organization) }, // The origin of the supply "deliverTo" : { Reference(Location|Organization|Patient) } // The destination of the supply }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:SupplyRequest; 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:SupplyRequest.identifier [ Identifier ], ... ; # 0..* Business Identifier for SupplyRequest fhir:SupplyRequest.status [ code ]; # 0..1 draft | active | suspended + fhir:SupplyRequest.basedOn [ Reference(Any) ], ... ; # 0..* What other request is fulfilled by this supply request fhir:SupplyRequest.category [ CodeableConcept ]; # 0..1 The kind of supply (central, non-stock, etc.) fhir:SupplyRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:SupplyRequest.item [ CodeableReference(Device|DeviceDefinition|Medication|Substance) ]; # 1..1 Medication, Substance, or Device requested to be supplied fhir:SupplyRequest.quantity [ Quantity ]; # 1..1 The requested amount of the item indicated fhir:SupplyRequest.parameter [ # 0..* Ordered item details fhir:SupplyRequest.parameter.code [ CodeableConcept ]; # 0..1 Item detail # SupplyRequest.parameter.value[x] : 0..1 Value of detail. One of these 4 fhir:SupplyRequest.parameter.valueCodeableConcept [ CodeableConcept ] fhir:SupplyRequest.parameter.valueQuantity [ Quantity ] fhir:SupplyRequest.parameter.valueRange [ Range ] fhir:SupplyRequest.parameter.valueBoolean [ boolean ] ], ...; # SupplyRequest.occurrence[x] : 0..1 When the request should be fulfilled. One of these 3 fhir:SupplyRequest.occurrenceDateTime [ dateTime ] fhir:SupplyRequest.occurrencePeriod [ Period ] fhir:SupplyRequest.occurrenceTiming [ Timing ] fhir:SupplyRequest.authoredOn [ dateTime ]; # 0..1 When the request was made fhir:SupplyRequest.requester [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Individual making the request fhir:SupplyRequest.supplier [ Reference(HealthcareService|Organization) ], ... ; # 0..* Who is intended to fulfill the request fhir:SupplyRequest.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* The reason why the supply item was requested fhir:SupplyRequest.deliverFrom [ Reference(Location|Organization) ]; # 0..1 The origin of the supply fhir:SupplyRequest.deliverTo [ Reference(Location|Organization|Patient) ]; # 0..1 The destination of the supply ]
Changes since R4
SupplyRequest | |
SupplyRequest.basedOn |
|
SupplyRequest.item |
|
SupplyRequest.requester |
|
SupplyRequest.reason |
|
SupplyRequest.item[x] |
|
SupplyRequest.reasonCode |
|
SupplyRequest.reasonReference |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
SupplyRequest | TU | DomainResource | Request for a medication, substance or device Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business Identifier for SupplyRequest |
status | ?!Σ | 0..1 | code | draft | active | suspended + SupplyRequestStatus (Required) |
basedOn | Σ | 0..* | Reference(Any) | What other request is fulfilled by this supply request |
category | Σ | 0..1 | CodeableConcept | The kind of supply (central, non-stock, etc.) Supply Type (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat RequestPriority (Required) |
item | Σ | 1..1 | CodeableReference(Medication | Substance | Device | DeviceDefinition) | Medication, Substance, or Device requested to be supplied SNOMED CT Supply Item (Example) |
quantity | Σ | 1..1 | Quantity | The requested amount of the item indicated |
parameter | 0..* | BackboneElement | Ordered item details | |
code | 0..1 | CodeableConcept | Item detail ParameterCode (Example) | |
value[x] | 0..1 | Value of detail | ||
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueBoolean | boolean | |||
occurrence[x] | Σ | 0..1 | When the request should be fulfilled | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
authoredOn | Σ | 0..1 | dateTime | When the request was made |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam) | Individual making the request |
supplier | Σ | 0..* | Reference(Organization | HealthcareService) | Who is intended to fulfill the request |
reason | 0..* | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) | The reason why the supply item was requested SupplyRequestReason (Example) | |
deliverFrom | 0..1 | Reference(Organization | Location) | The origin of the supply | |
deliverTo | 0..1 | Reference(Organization | Location | Patient) | The destination of the supply | |
Documentation for this format |
See the Extensions for this resource
XML Template
<SupplyRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier for SupplyRequest --></identifier> <status value="[code]"/><!-- 0..1 draft | active | suspended + --> <basedOn><!-- 0..* Reference(Any) What other request is fulfilled by this supply request --></basedOn> <category><!-- 0..1 CodeableConcept The kind of supply (central, non-stock, etc.) --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <item><!-- 1..1 CodeableReference(Device|DeviceDefinition|Medication|Substance) Medication, Substance, or Device requested to be supplied --></item> <quantity><!-- 1..1 Quantity The requested amount of the item indicated --></quantity> <parameter> <!-- 0..* Ordered item details --> <code><!-- 0..1 CodeableConcept Item detail --></code> <value[x]><!-- 0..1 CodeableConcept|Quantity|Range|boolean Value of detail --></value[x]> </parameter> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When the request should be fulfilled --></occurrence[x]> <authoredOn value="[dateTime]"/><!-- 0..1 When the request was made --> <requester><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual making the request --></requester> <supplier><!-- 0..* Reference(HealthcareService|Organization) Who is intended to fulfill the request --></supplier> <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) The reason why the supply item was requested --></reason> <deliverFrom><!-- 0..1 Reference(Location|Organization) The origin of the supply --></deliverFrom> <deliverTo><!-- 0..1 Reference(Location|Organization|Patient) The destination of the supply --></deliverTo> </SupplyRequest>
JSON Template
{ "resourceType" : "SupplyRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier for SupplyRequest "status" : "<code>", // draft | active | suspended + "basedOn" : [{ Reference(Any) }], // What other request is fulfilled by this supply request "category" : { CodeableConcept }, // The kind of supply (central, non-stock, etc.) "priority" : "<code>", // routine | urgent | asap | stat "item" : { CodeableReference(Device|DeviceDefinition|Medication|Substance) }, // R! Medication, Substance, or Device requested to be supplied "quantity" : { Quantity }, // R! The requested amount of the item indicated "parameter" : [{ // Ordered item details "code" : { CodeableConcept }, // Item detail // value[x]: Value of detail. One of these 4: "valueCodeableConcept" : { CodeableConcept }, "valueQuantity" : { Quantity }, "valueRange" : { Range }, "valueBoolean" : <boolean> }], // occurrence[x]: When the request should be fulfilled. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "authoredOn" : "<dateTime>", // When the request was made "requester" : { Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Individual making the request "supplier" : [{ Reference(HealthcareService|Organization) }], // Who is intended to fulfill the request "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) }], // The reason why the supply item was requested "deliverFrom" : { Reference(Location|Organization) }, // The origin of the supply "deliverTo" : { Reference(Location|Organization|Patient) } // The destination of the supply }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:SupplyRequest; 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:SupplyRequest.identifier [ Identifier ], ... ; # 0..* Business Identifier for SupplyRequest fhir:SupplyRequest.status [ code ]; # 0..1 draft | active | suspended + fhir:SupplyRequest.basedOn [ Reference(Any) ], ... ; # 0..* What other request is fulfilled by this supply request fhir:SupplyRequest.category [ CodeableConcept ]; # 0..1 The kind of supply (central, non-stock, etc.) fhir:SupplyRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:SupplyRequest.item [ CodeableReference(Device|DeviceDefinition|Medication|Substance) ]; # 1..1 Medication, Substance, or Device requested to be supplied fhir:SupplyRequest.quantity [ Quantity ]; # 1..1 The requested amount of the item indicated fhir:SupplyRequest.parameter [ # 0..* Ordered item details fhir:SupplyRequest.parameter.code [ CodeableConcept ]; # 0..1 Item detail # SupplyRequest.parameter.value[x] : 0..1 Value of detail. One of these 4 fhir:SupplyRequest.parameter.valueCodeableConcept [ CodeableConcept ] fhir:SupplyRequest.parameter.valueQuantity [ Quantity ] fhir:SupplyRequest.parameter.valueRange [ Range ] fhir:SupplyRequest.parameter.valueBoolean [ boolean ] ], ...; # SupplyRequest.occurrence[x] : 0..1 When the request should be fulfilled. One of these 3 fhir:SupplyRequest.occurrenceDateTime [ dateTime ] fhir:SupplyRequest.occurrencePeriod [ Period ] fhir:SupplyRequest.occurrenceTiming [ Timing ] fhir:SupplyRequest.authoredOn [ dateTime ]; # 0..1 When the request was made fhir:SupplyRequest.requester [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Individual making the request fhir:SupplyRequest.supplier [ Reference(HealthcareService|Organization) ], ... ; # 0..* Who is intended to fulfill the request fhir:SupplyRequest.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* The reason why the supply item was requested fhir:SupplyRequest.deliverFrom [ Reference(Location|Organization) ]; # 0..1 The origin of the supply fhir:SupplyRequest.deliverTo [ Reference(Location|Organization|Patient) ]; # 0..1 The destination of the supply ]
Changes since Release 4
SupplyRequest | |
SupplyRequest.basedOn |
|
SupplyRequest.item |
|
SupplyRequest.requester |
|
SupplyRequest.reason |
|
SupplyRequest.item[x] |
|
SupplyRequest.reasonCode |
|
SupplyRequest.reasonReference |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
SupplyRequest.status | Status of the supply request. | Required | SupplyRequestStatus |
SupplyRequest.category | This value sets refers to a Category of supply. | Example | SupplyType |
SupplyRequest.priority | Identifies the level of importance to be assigned to actioning the request. | Required | RequestPriority |
SupplyRequest.item | This value set includes SNOMED CT where concept is-a 105590001 (Substance (substance)) or concept is-a 260787004 (Physical object) and provided as an example value set. | Example | SNOMEDCTSupplyItem |
SupplyRequest.parameter.code | Example | ?? | |
SupplyRequest.reason | The reason why the supply item was requested. | Example | SupplyRequestReason |
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 |
category | token | The kind of supply (central, non-stock, etc.) | SupplyRequest.category | |
date N | date | When the request was made | SupplyRequest.authoredOn | |
identifier | token | Business Identifier for SupplyRequest | SupplyRequest.identifier | |
requester | reference | Individual making the request | SupplyRequest.requester (Practitioner, Organization, CareTeam, Device, Patient, PractitionerRole, RelatedPerson) | |
status N | token | draft | active | suspended + | SupplyRequest.status | |
subject | reference | The destination of the supply | SupplyRequest.deliverTo (Organization, Patient, Location) | |
supplier | reference | Who is intended to fulfill the request | SupplyRequest.supplier (Organization, HealthcareService) |