This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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.
Trial-Use Note: 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 R4.
- 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
This resource is referenced by SupplyDelivery
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) |
category | Σ | 0..1 | CodeableConcept | The kind of supply (central, non-stock, etc.) Supply Type (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Request priority (Required) |
item[x] | Σ | 1..1 | Medication, Substance, or Device requested to be supplied SNOMED CT Supply Item (Example) | |
itemCodeableConcept | CodeableConcept | |||
itemReference | Reference(Medication | Substance | Device) | |||
quantity | Σ | 1..1 | Quantity | The requested amount of the item indicated |
parameter | 0..* | BackboneElement | Ordered item details | |
code | 0..1 | CodeableConcept | Item detail | |
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) | Individual making the request |
supplier | Σ | 0..* | Reference(Organization | HealthcareService) | Who is intended to fulfill the request |
reasonCode | 0..* | CodeableConcept | The reason why the supply item was requested SupplyRequestReason (Example) | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | The reason why the supply item was requested | |
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 |
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 + --> <category><!-- 0..1 CodeableConcept The kind of supply (central, non-stock, etc.) --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <item[x]><!-- 1..1 CodeableConcept|Reference(Medication|Substance|Device) Medication, Substance, or Device requested to be supplied --></item[x]> <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(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) Individual making the request --></requester> <supplier><!-- 0..* Reference(Organization|HealthcareService) Who is intended to fulfill the request --></supplier> <reasonCode><!-- 0..* CodeableConcept The reason why the supply item was requested --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport| DocumentReference) The reason why the supply item was requested --></reasonReference> <deliverFrom><!-- 0..1 Reference(Organization|Location) The origin of the supply --></deliverFrom> <deliverTo><!-- 0..1 Reference(Organization|Location|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 + "category" : { CodeableConcept }, // The kind of supply (central, non-stock, etc.) "priority" : "<code>", // routine | urgent | asap | stat // item[x]: Medication, Substance, or Device requested to be supplied. One of these 2: "itemCodeableConcept" : { CodeableConcept }, "itemReference" : { Reference(Medication|Substance|Device) }, "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(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) }, // Individual making the request "supplier" : [{ Reference(Organization|HealthcareService) }], // Who is intended to fulfill the request "reasonCode" : [{ CodeableConcept }], // The reason why the supply item was requested "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport| DocumentReference) }], // The reason why the supply item was requested "deliverFrom" : { Reference(Organization|Location) }, // The origin of the supply "deliverTo" : { Reference(Organization|Location|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.category [ CodeableConcept ]; # 0..1 The kind of supply (central, non-stock, etc.) fhir:SupplyRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat # SupplyRequest.item[x] : 1..1 Medication, Substance, or Device requested to be supplied. One of these 2 fhir:SupplyRequest.itemCodeableConcept [ CodeableConcept ] fhir:SupplyRequest.itemReference [ Reference(Medication|Substance|Device) ] 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(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Individual making the request fhir:SupplyRequest.supplier [ Reference(Organization|HealthcareService) ], ... ; # 0..* Who is intended to fulfill the request fhir:SupplyRequest.reasonCode [ CodeableConcept ], ... ; # 0..* The reason why the supply item was requested fhir:SupplyRequest.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 0..* The reason why the supply item was requested fhir:SupplyRequest.deliverFrom [ Reference(Organization|Location) ]; # 0..1 The origin of the supply fhir:SupplyRequest.deliverTo [ Reference(Organization|Location|Patient) ]; # 0..1 The destination of the supply ]
Changes since R3
SupplyRequest | |
SupplyRequest.identifier |
|
SupplyRequest.status |
|
SupplyRequest.priority |
|
SupplyRequest.item[x] |
|
SupplyRequest.quantity |
|
SupplyRequest.parameter |
|
SupplyRequest.parameter.code |
|
SupplyRequest.parameter.value[x] |
|
SupplyRequest.requester |
|
SupplyRequest.supplier |
|
SupplyRequest.reasonCode |
|
SupplyRequest.reasonReference |
|
SupplyRequest.orderedItem |
|
SupplyRequest.requester.agent |
|
SupplyRequest.requester.onBehalfOf |
|
SupplyRequest.reason[x] |
|
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) |
category | Σ | 0..1 | CodeableConcept | The kind of supply (central, non-stock, etc.) Supply Type (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Request priority (Required) |
item[x] | Σ | 1..1 | Medication, Substance, or Device requested to be supplied SNOMED CT Supply Item (Example) | |
itemCodeableConcept | CodeableConcept | |||
itemReference | Reference(Medication | Substance | Device) | |||
quantity | Σ | 1..1 | Quantity | The requested amount of the item indicated |
parameter | 0..* | BackboneElement | Ordered item details | |
code | 0..1 | CodeableConcept | Item detail | |
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) | Individual making the request |
supplier | Σ | 0..* | Reference(Organization | HealthcareService) | Who is intended to fulfill the request |
reasonCode | 0..* | CodeableConcept | The reason why the supply item was requested SupplyRequestReason (Example) | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | The reason why the supply item was requested | |
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 |
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 + --> <category><!-- 0..1 CodeableConcept The kind of supply (central, non-stock, etc.) --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <item[x]><!-- 1..1 CodeableConcept|Reference(Medication|Substance|Device) Medication, Substance, or Device requested to be supplied --></item[x]> <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(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) Individual making the request --></requester> <supplier><!-- 0..* Reference(Organization|HealthcareService) Who is intended to fulfill the request --></supplier> <reasonCode><!-- 0..* CodeableConcept The reason why the supply item was requested --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport| DocumentReference) The reason why the supply item was requested --></reasonReference> <deliverFrom><!-- 0..1 Reference(Organization|Location) The origin of the supply --></deliverFrom> <deliverTo><!-- 0..1 Reference(Organization|Location|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 + "category" : { CodeableConcept }, // The kind of supply (central, non-stock, etc.) "priority" : "<code>", // routine | urgent | asap | stat // item[x]: Medication, Substance, or Device requested to be supplied. One of these 2: "itemCodeableConcept" : { CodeableConcept }, "itemReference" : { Reference(Medication|Substance|Device) }, "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(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) }, // Individual making the request "supplier" : [{ Reference(Organization|HealthcareService) }], // Who is intended to fulfill the request "reasonCode" : [{ CodeableConcept }], // The reason why the supply item was requested "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport| DocumentReference) }], // The reason why the supply item was requested "deliverFrom" : { Reference(Organization|Location) }, // The origin of the supply "deliverTo" : { Reference(Organization|Location|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.category [ CodeableConcept ]; # 0..1 The kind of supply (central, non-stock, etc.) fhir:SupplyRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat # SupplyRequest.item[x] : 1..1 Medication, Substance, or Device requested to be supplied. One of these 2 fhir:SupplyRequest.itemCodeableConcept [ CodeableConcept ] fhir:SupplyRequest.itemReference [ Reference(Medication|Substance|Device) ] 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(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Individual making the request fhir:SupplyRequest.supplier [ Reference(Organization|HealthcareService) ], ... ; # 0..* Who is intended to fulfill the request fhir:SupplyRequest.reasonCode [ CodeableConcept ], ... ; # 0..* The reason why the supply item was requested fhir:SupplyRequest.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 0..* The reason why the supply item was requested fhir:SupplyRequest.deliverFrom [ Reference(Organization|Location) ]; # 0..1 The origin of the supply fhir:SupplyRequest.deliverTo [ Reference(Organization|Location|Patient) ]; # 0..1 The destination of the supply ]
Changes since Release 3
SupplyRequest | |
SupplyRequest.identifier |
|
SupplyRequest.status |
|
SupplyRequest.priority |
|
SupplyRequest.item[x] |
|
SupplyRequest.quantity |
|
SupplyRequest.parameter |
|
SupplyRequest.parameter.code |
|
SupplyRequest.parameter.value[x] |
|
SupplyRequest.requester |
|
SupplyRequest.supplier |
|
SupplyRequest.reasonCode |
|
SupplyRequest.reasonReference |
|
SupplyRequest.orderedItem |
|
SupplyRequest.requester.agent |
|
SupplyRequest.requester.onBehalfOf |
|
SupplyRequest.reason[x] |
|
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).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
SupplyRequest.status | Status of the supply request. | Required | SupplyRequestStatus |
SupplyRequest.category | Category of supply request. | Example | SupplyType |
SupplyRequest.priority | Identifies the level of importance to be assigned to actioning the request. | Required | RequestPriority |
SupplyRequest.item[x] | The item that was requested. | Example | SNOMEDCTSupplyItem |
SupplyRequest.parameter.code | A code that identifies the device detail. | Unknown | No details provided yet |
SupplyRequest.reasonCode | 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 | date | When the request was made | SupplyRequest.authoredOn | 17 Resources |
identifier | token | Business Identifier for SupplyRequest | SupplyRequest.identifier | 30 Resources |
requester | reference | Individual making the request | SupplyRequest.requester (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
status | 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) |