This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). 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 | Compartments: Device, Patient, Practitioner, RelatedPerson |
A record of a request for a medication, substance or device used in the healthcare setting.
STU 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.
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..1 | Identifier | Unique identifier |
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 RequestPriority (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..1 Identifier Unique identifier --></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 }, // Unique identifier "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..1 Unique identifier 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.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 R2 <--> R3 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.). Note: these have note yet been updated to be R3 to R4
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..1 | Identifier | Unique identifier |
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 RequestPriority (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..1 Identifier Unique identifier --></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 }, // Unique identifier "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..1 Unique identifier 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 DSTU2
SupplyRequest | |
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 R2 <--> R3 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.). Note: these have note yet been updated to be R3 to R4
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 | Supply Type |
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 | SNOMED CT Supply Item |
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 | Unique identifier | SupplyRequest.identifier | 26 Resources |
requester | reference | Individual making the request | SupplyRequest.requester (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
status | token | draft | active | suspended + | SupplyRequest.status | |
supplier | reference | Who is intended to fulfill the request | SupplyRequest.supplier (Organization, HealthcareService) |