Publish-box (todo)
Orders and Observations Work Group | Maturity Level: 1 | Trial Use | Security Category: Patient | Compartments: Patient, Practitioner |
Record of movement of supplies from one location to another.
Note to Implementers: This resource can represent different stages of supply delivery. After a request to create two separate resources to address dispatch vs. reception, current discussion concluded that one resource with multiple, extensible stages provided a better approach to support the variety of needs to document the different steps. HL7 seeks specific feedback on the implementability of one resource type with multiple stages (likely represented in a future IG with specific profiles to determine specific attributes/value sets applicable to each stage - see valueset-supplydelivery-stage), or whether two (or more) resource types would be more adequate.
This resource is an event 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 event resources.
The SupplyDelivery is used to document actual movement of supplies (e.g., medications, devices, substances, biologically derived products) from one location to another, where the intended patient or person (e.g., doctor) may also be known. 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 SupplyDelivery does not imply that this supply has already been dispensed to the that patient or person, while it could be reserved for that patient or person. Those associations are done in dedicated resources such as the MedicationDispense and DeviceDispense.
Sample use cases include:
The SupplyDelivery enables the documentation of the one or more relevant stages, such as dispatch of and reception of a shipment. One may opt to document multiple stages given a particular use case, e.g., shipments of biologically derived products in a tightly controlled process, or only use a singular stage to summarize the shipment. Examples would include the dispatch and reception stages that in certain use cases need to be documented separately using two or more instances.
This resource has a boundary with DeviceDispense and Medicationdispense: The DeviceDispense and MedicationDispense resources are used to associate the device or medication with the specific patient for their use, while SupplyDelivery is solely focused on location and movement where the targeted patient or other person (e.g., devices used by a clinician), if included, are for delivery context only.
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 |
---|---|---|---|---|
SupplyDelivery | TU | DomainResource | Record of movement of supplies from one location to another Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External identifier | |
basedOn | Σ | 0..* | Reference(SupplyRequest) | Fulfills plan, proposal or order |
partOf | Σ | 0..* | Reference(SupplyDelivery | Contract) | Part of referenced event |
status | ?!Σ | 1..1 | code | in-progress | completed | abandoned | entered-in-error Binding: Supply Delivery Status (Required) |
patient | 0..1 | Reference(Patient) | Patient for whom the item is supplied | |
type | 0..1 | CodeableConcept | Category of supply event Binding: Supply Delivery Supply Item Type (Extensible) | |
stage | Σ | 1..1 | CodeableConcept | Stage or event of delivery Binding: Supply Delivery Stage (Extensible) |
suppliedItem | 0..* | BackboneElement | The item that is delivered or supplied | |
quantity | 0..1 | SimpleQuantity | Amount supplied | |
condition | 0..1 | CodeableConcept | A description of the supplied item's condition (e.g., box is damaged) Binding: Supply Delivery Supply Item Condition (Example) | |
item[x] | 0..1 | Medication, Substance, Device or Biologically Derived Product supplied Binding: Supply Delivery Supply Item Type (Example) | ||
itemCodeableConcept | CodeableConcept | |||
itemReference | Reference(Medication | Substance | Device | BiologicallyDerivedProduct | NutritionProduct | InventoryItem) | |||
occurrence[x] | Σ | 0..1 | When event occurred | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
supplier | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The item supplier | |
destination | 0..1 | Reference(Location | Practitioner | PractitionerRole | Organization) | Where the delivery was sent | |
receiver | 0..* | Reference(Practitioner | PractitionerRole | Organization) | Who received the delivery | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<SupplyDelivery xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External identifier --></identifier> <basedOn><!-- 0..* Reference(SupplyRequest) Fulfills plan, proposal or order --></basedOn> <partOf><!-- 0..* Reference(Contract|SupplyDelivery) Part of referenced event --></partOf> <status value="[code]"/><!-- 1..1 in-progress | completed | abandoned | entered-in-error --> <patient><!-- 0..1 Reference(Patient) Patient for whom the item is supplied --></patient> <type><!-- 0..1 CodeableConcept Category of supply event --></type> <stage><!-- 1..1 CodeableConcept Stage or event of delivery --></stage> <suppliedItem> <!-- 0..* The item that is delivered or supplied --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount supplied --></quantity> <condition><!-- 0..1 CodeableConcept A description of the supplied item's condition (e.g., box is damaged) --></condition> <item[x]><!-- 0..1 CodeableConcept|Reference(BiologicallyDerivedProduct|Device| InventoryItem|Medication|NutritionProduct|Substance) Medication, Substance, Device or Biologically Derived Product supplied --></item[x]> </suppliedItem> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When event occurred --></occurrence[x]> <supplier><!-- 0..1 Reference(Organization|Practitioner|PractitionerRole) The item supplier --></supplier> <destination><!-- 0..1 Reference(Location|Organization|Practitioner| PractitionerRole) Where the delivery was sent --></destination> <receiver><!-- 0..* Reference(Organization|Practitioner|PractitionerRole) Who received the delivery --></receiver> </SupplyDelivery>
JSON Template
{ "resourceType" : "SupplyDelivery", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External identifier "basedOn" : [{ Reference(SupplyRequest) }], // Fulfills plan, proposal or order "partOf" : [{ Reference(Contract|SupplyDelivery) }], // Part of referenced event "status" : "<code>", // R! in-progress | completed | abandoned | entered-in-error "patient" : { Reference(Patient) }, // Patient for whom the item is supplied "type" : { CodeableConcept }, // Category of supply event "stage" : { CodeableConcept }, // R! Stage or event of delivery "suppliedItem" : [{ // The item that is delivered or supplied "quantity" : { Quantity(SimpleQuantity) }, // Amount supplied "condition" : { CodeableConcept }, // A description of the supplied item's condition (e.g., box is damaged) // item[x]: Medication, Substance, Device or Biologically Derived Product supplied. One of these 2: "itemCodeableConcept" : { CodeableConcept }, "itemReference" : { Reference(BiologicallyDerivedProduct|Device|InventoryItem| Medication|NutritionProduct|Substance) } }], // occurrence[x]: When event occurred. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "supplier" : { Reference(Organization|Practitioner|PractitionerRole) }, // The item supplier "destination" : { Reference(Location|Organization|Practitioner| PractitionerRole) }, // Where the delivery was sent "receiver" : [{ Reference(Organization|Practitioner|PractitionerRole) }] // Who received the delivery }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:SupplyDelivery; 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:identifier ( [ Identifier ] ... ) ; # 0..* External identifier fhir:basedOn ( [ Reference(SupplyRequest) ] ... ) ; # 0..* Fulfills plan, proposal or order fhir:partOf ( [ Reference(Contract|SupplyDelivery) ] ... ) ; # 0..* Part of referenced event fhir:status [ code ] ; # 1..1 in-progress | completed | abandoned | entered-in-error fhir:patient [ Reference(Patient) ] ; # 0..1 Patient for whom the item is supplied fhir:type [ CodeableConcept ] ; # 0..1 Category of supply event fhir:stage [ CodeableConcept ] ; # 1..1 Stage or event of delivery fhir:suppliedItem ( [ # 0..* The item that is delivered or supplied fhir:quantity [ Quantity(SimpleQuantity) ] ; # 0..1 Amount supplied fhir:condition [ CodeableConcept ] ; # 0..1 A description of the supplied item's condition (e.g., box is damaged) # item[x] : 0..1 Medication, Substance, Device or Biologically Derived Product supplied. One of these 2 fhir:item [ a fhir:CodeableConcept ; CodeableConcept ] fhir:item [ a fhir:Reference ; Reference(BiologicallyDerivedProduct|Device|InventoryItem|Medication|NutritionProduct| Substance) ] ] ... ) ; # occurrence[x] : 0..1 When event occurred. One of these 3 fhir:occurrence [ a fhir:dateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:occurrence [ a fhir:Timing ; Timing ] fhir:supplier [ Reference(Organization|Practitioner|PractitionerRole) ] ; # 0..1 The item supplier fhir:destination [ Reference(Location|Organization|Practitioner|PractitionerRole) ] ; # 0..1 Where the delivery was sent fhir:receiver ( [ Reference(Organization|Practitioner|PractitionerRole) ] ... ) ; # 0..* Who received the delivery ]
Changes from both R4 and R4B
SupplyDelivery | |
SupplyDelivery.status |
|
SupplyDelivery.type |
|
SupplyDelivery.stage |
|
SupplyDelivery.suppliedItem |
|
SupplyDelivery.suppliedItem.condition |
|
SupplyDelivery.destination |
|
SupplyDelivery.receiver |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
SupplyDelivery | TU | DomainResource | Record of movement of supplies from one location to another Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External identifier | |
basedOn | Σ | 0..* | Reference(SupplyRequest) | Fulfills plan, proposal or order |
partOf | Σ | 0..* | Reference(SupplyDelivery | Contract) | Part of referenced event |
status | ?!Σ | 1..1 | code | in-progress | completed | abandoned | entered-in-error Binding: Supply Delivery Status (Required) |
patient | 0..1 | Reference(Patient) | Patient for whom the item is supplied | |
type | 0..1 | CodeableConcept | Category of supply event Binding: Supply Delivery Supply Item Type (Extensible) | |
stage | Σ | 1..1 | CodeableConcept | Stage or event of delivery Binding: Supply Delivery Stage (Extensible) |
suppliedItem | 0..* | BackboneElement | The item that is delivered or supplied | |
quantity | 0..1 | SimpleQuantity | Amount supplied | |
condition | 0..1 | CodeableConcept | A description of the supplied item's condition (e.g., box is damaged) Binding: Supply Delivery Supply Item Condition (Example) | |
item[x] | 0..1 | Medication, Substance, Device or Biologically Derived Product supplied Binding: Supply Delivery Supply Item Type (Example) | ||
itemCodeableConcept | CodeableConcept | |||
itemReference | Reference(Medication | Substance | Device | BiologicallyDerivedProduct | NutritionProduct | InventoryItem) | |||
occurrence[x] | Σ | 0..1 | When event occurred | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
supplier | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The item supplier | |
destination | 0..1 | Reference(Location | Practitioner | PractitionerRole | Organization) | Where the delivery was sent | |
receiver | 0..* | Reference(Practitioner | PractitionerRole | Organization) | Who received the delivery | |
Documentation for this format |
See the Extensions for this resource
XML Template
<SupplyDelivery xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External identifier --></identifier> <basedOn><!-- 0..* Reference(SupplyRequest) Fulfills plan, proposal or order --></basedOn> <partOf><!-- 0..* Reference(Contract|SupplyDelivery) Part of referenced event --></partOf> <status value="[code]"/><!-- 1..1 in-progress | completed | abandoned | entered-in-error --> <patient><!-- 0..1 Reference(Patient) Patient for whom the item is supplied --></patient> <type><!-- 0..1 CodeableConcept Category of supply event --></type> <stage><!-- 1..1 CodeableConcept Stage or event of delivery --></stage> <suppliedItem> <!-- 0..* The item that is delivered or supplied --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount supplied --></quantity> <condition><!-- 0..1 CodeableConcept A description of the supplied item's condition (e.g., box is damaged) --></condition> <item[x]><!-- 0..1 CodeableConcept|Reference(BiologicallyDerivedProduct|Device| InventoryItem|Medication|NutritionProduct|Substance) Medication, Substance, Device or Biologically Derived Product supplied --></item[x]> </suppliedItem> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When event occurred --></occurrence[x]> <supplier><!-- 0..1 Reference(Organization|Practitioner|PractitionerRole) The item supplier --></supplier> <destination><!-- 0..1 Reference(Location|Organization|Practitioner| PractitionerRole) Where the delivery was sent --></destination> <receiver><!-- 0..* Reference(Organization|Practitioner|PractitionerRole) Who received the delivery --></receiver> </SupplyDelivery>
JSON Template
{ "resourceType" : "SupplyDelivery", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External identifier "basedOn" : [{ Reference(SupplyRequest) }], // Fulfills plan, proposal or order "partOf" : [{ Reference(Contract|SupplyDelivery) }], // Part of referenced event "status" : "<code>", // R! in-progress | completed | abandoned | entered-in-error "patient" : { Reference(Patient) }, // Patient for whom the item is supplied "type" : { CodeableConcept }, // Category of supply event "stage" : { CodeableConcept }, // R! Stage or event of delivery "suppliedItem" : [{ // The item that is delivered or supplied "quantity" : { Quantity(SimpleQuantity) }, // Amount supplied "condition" : { CodeableConcept }, // A description of the supplied item's condition (e.g., box is damaged) // item[x]: Medication, Substance, Device or Biologically Derived Product supplied. One of these 2: "itemCodeableConcept" : { CodeableConcept }, "itemReference" : { Reference(BiologicallyDerivedProduct|Device|InventoryItem| Medication|NutritionProduct|Substance) } }], // occurrence[x]: When event occurred. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "supplier" : { Reference(Organization|Practitioner|PractitionerRole) }, // The item supplier "destination" : { Reference(Location|Organization|Practitioner| PractitionerRole) }, // Where the delivery was sent "receiver" : [{ Reference(Organization|Practitioner|PractitionerRole) }] // Who received the delivery }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:SupplyDelivery; 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:identifier ( [ Identifier ] ... ) ; # 0..* External identifier fhir:basedOn ( [ Reference(SupplyRequest) ] ... ) ; # 0..* Fulfills plan, proposal or order fhir:partOf ( [ Reference(Contract|SupplyDelivery) ] ... ) ; # 0..* Part of referenced event fhir:status [ code ] ; # 1..1 in-progress | completed | abandoned | entered-in-error fhir:patient [ Reference(Patient) ] ; # 0..1 Patient for whom the item is supplied fhir:type [ CodeableConcept ] ; # 0..1 Category of supply event fhir:stage [ CodeableConcept ] ; # 1..1 Stage or event of delivery fhir:suppliedItem ( [ # 0..* The item that is delivered or supplied fhir:quantity [ Quantity(SimpleQuantity) ] ; # 0..1 Amount supplied fhir:condition [ CodeableConcept ] ; # 0..1 A description of the supplied item's condition (e.g., box is damaged) # item[x] : 0..1 Medication, Substance, Device or Biologically Derived Product supplied. One of these 2 fhir:item [ a fhir:CodeableConcept ; CodeableConcept ] fhir:item [ a fhir:Reference ; Reference(BiologicallyDerivedProduct|Device|InventoryItem|Medication|NutritionProduct| Substance) ] ] ... ) ; # occurrence[x] : 0..1 When event occurred. One of these 3 fhir:occurrence [ a fhir:dateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:occurrence [ a fhir:Timing ; Timing ] fhir:supplier [ Reference(Organization|Practitioner|PractitionerRole) ] ; # 0..1 The item supplier fhir:destination [ Reference(Location|Organization|Practitioner|PractitionerRole) ] ; # 0..1 Where the delivery was sent fhir:receiver ( [ Reference(Organization|Practitioner|PractitionerRole) ] ... ) ; # 0..* Who received the delivery ]
Changes from both R4 and R4B
SupplyDelivery | |
SupplyDelivery.status |
|
SupplyDelivery.type |
|
SupplyDelivery.stage |
|
SupplyDelivery.suppliedItem |
|
SupplyDelivery.suppliedItem.condition |
|
SupplyDelivery.destination |
|
SupplyDelivery.receiver |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
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 |
---|---|---|---|
SupplyDelivery.status | SupplyDeliveryStatus | Required | Status of the supply delivery. |
SupplyDelivery.type | SupplyDeliverySupplyItemType | Extensible | This value sets refers to a specific supply item. |
SupplyDelivery.stage | SupplyDeliveryStage | Extensible | Stage of the supply delivery. |
SupplyDelivery.suppliedItem.condition | SupplyDeliverySupplyItemCondition | Example | This value sets refers to the condition of a specific supply item. |
SupplyDelivery.suppliedItem.item[x] | SupplyDeliverySupplyItemType | Example | This value sets refers to a specific supply item. |
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 |
identifier | token | External identifier | SupplyDelivery.identifier | 65 Resources |
patient | reference | Patient for whom the item is supplied | SupplyDelivery.patient (Patient) |
65 Resources |
receiver | reference | Who collected the Supply | SupplyDelivery.receiver (Practitioner, Organization, PractitionerRole) |
|
status | token | in-progress | completed | abandoned | entered-in-error | SupplyDelivery.status | |
supplier | reference | Dispenser | SupplyDelivery.supplier (Practitioner, Organization, PractitionerRole) |