--- type: "resource" title: "DeviceDispense" resource: "DeviceDispense" --- # DeviceDispense ## Introduction ## Scope and Usage The DeviceDispense resource is used to capture the assignment of a Device to a patient or practitioner for the purpose of care. The dispense may include a description of the device and the instructions for using the device. The request to initiate a DeviceDispense may be via a [DeviceRequest](devicerequest) resource but may be implicitly triggered by for example a [ServiceRequest](servicerequest), or without any request. The details of the clinical application of the dispensed device may be captured in a Procedure resource. ## Boundaries and Relationships 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. ## Background and Context Provides additional detail on exactly how the resource is to be used ## StructureDefinition ### Elements (Simplified) - **[DeviceDispense](/devicedispense-definitions#DeviceDispense)** [0..*]: - A record of dispensation of a device - **[DeviceDispense.identifier](/devicedispense-definitions#DeviceDispense.identifier)** [0..*]: [Identifier](/Identifier) Business identifier for this dispensation - **[DeviceDispense.basedOn](/devicedispense-definitions#DeviceDispense.basedOn)** [0..*]: [Reference(CarePlan](/Reference(CarePlan), [DeviceRequest)](/DeviceRequest)) The order or request that this dispense is fulfilling - **[DeviceDispense.partOf](/devicedispense-definitions#DeviceDispense.partOf)** [0..*]: Reference([Procedure](/Procedure)) The bigger event that this dispense is a part of - **[DeviceDispense.status](/devicedispense-definitions#DeviceDispense.status)** [1..1]: [code](/code) required:[devicedispense-status](/valueset-devicedispense-status) preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown - **[DeviceDispense.statusReason](/devicedispense-definitions#DeviceDispense.statusReason)** [0..1]: [CodeableReference](/CodeableReference) example:[devicedispense-status-reason](/valueset-devicedispense-status-reason) Why a dispense was or was not performed - **[DeviceDispense.category](/devicedispense-definitions#DeviceDispense.category)** [0..*]: [CodeableConcept](/CodeableConcept) Type of device dispense - **[DeviceDispense.device](/devicedispense-definitions#DeviceDispense.device)** [1..1]: [CodeableReference](/CodeableReference) What device was supplied - **[DeviceDispense.subject](/devicedispense-definitions#DeviceDispense.subject)** [1..1]: [Reference(Patient](/Reference(Patient), [Practitioner](/Practitioner), [Group)](/Group)) Who the dispense is for - **[DeviceDispense.receiver](/devicedispense-definitions#DeviceDispense.receiver)** [0..1]: [Reference(Patient](/Reference(Patient), [Practitioner](/Practitioner), [RelatedPerson](/RelatedPerson), [Location](/Location), [PractitionerRole](/PractitionerRole), [Group)](/Group)) Who collected the device or where the medication was delivered - **[DeviceDispense.encounter](/devicedispense-definitions#DeviceDispense.encounter)** [0..1]: Reference([Encounter](/Encounter)) Encounter associated with event - **[DeviceDispense.supportingInformation](/devicedispense-definitions#DeviceDispense.supportingInformation)** [0..*]: Reference([Resource](/Resource)) Information that supports the dispensing of the device - **[DeviceDispense.performer](/devicedispense-definitions#DeviceDispense.performer)** [0..*]: [BackboneElement](/BackboneElement) Who performed event - **[DeviceDispense.performer.function](/devicedispense-definitions#DeviceDispense.performer.function)** [0..1]: [CodeableConcept](/CodeableConcept) Who performed the dispense and what they did - **[DeviceDispense.performer.actor](/devicedispense-definitions#DeviceDispense.performer.actor)** [1..1]: [Reference(Practitioner](/Reference(Practitioner), [PractitionerRole](/PractitionerRole), [Organization](/Organization), [Patient](/Patient), [Device](/Device), [RelatedPerson](/RelatedPerson), [CareTeam](/CareTeam), [Group)](/Group)) Individual who was performing - **[DeviceDispense.location](/devicedispense-definitions#DeviceDispense.location)** [0..1]: Reference([Location](/Location)) Where the dispense occurred - **[DeviceDispense.type](/devicedispense-definitions#DeviceDispense.type)** [0..1]: [CodeableConcept](/CodeableConcept) Trial fill, partial fill, emergency fill, etc - **[DeviceDispense.quantity](/devicedispense-definitions#DeviceDispense.quantity)** [0..1]: [Quantity](/Quantity)([SimpleQuantity](/SimpleQuantity)) Amount dispensed - **[DeviceDispense.preparedDate](/devicedispense-definitions#DeviceDispense.preparedDate)** [0..1]: [dateTime](/dateTime) When product was packaged and reviewed - **[DeviceDispense.whenHandedOver](/devicedispense-definitions#DeviceDispense.whenHandedOver)** [0..1]: [dateTime](/dateTime) When product was given out - **[DeviceDispense.destination](/devicedispense-definitions#DeviceDispense.destination)** [0..1]: Reference([Location](/Location)) Where the device was sent or should be sent - **[DeviceDispense.note](/devicedispense-definitions#DeviceDispense.note)** [0..*]: [Annotation](/Annotation) Information about the dispense - **[DeviceDispense.usageInstruction](/devicedispense-definitions#DeviceDispense.usageInstruction)** [0..1]: [markdown](/markdown) Full representation of the usage instructions - **[DeviceDispense.relevantHistory](/devicedispense-definitions#DeviceDispense.relevantHistory)** [0..*]: Reference([Provenance](/Provenance)) A list of relevant lifecycle events ## Mappings - [DeviceDispense Mappings](/devicedispense-mappings) — 40 mapping entries ## Resource Packs ### list-DeviceDispense-packs.xml ```xml ``` ## Search Parameters - [code](/devicedispense-search#code) — **token** — Search for devices that match this code — `DeviceDispense.device.concept` - [subject](/devicedispense-search#subject) — **reference** — The identity of a patient for whom to list dispenses — `DeviceDispense.subject` - [patient](/devicedispense-search#patient) — **reference** — Returns device dispenses for a specific patient — `DeviceDispense.subject.where(resolve() is Patient)` - [identifier](/devicedispense-search#identifier) — **token** — The identifier of the dispense — `DeviceDispense.identifier` - [status](/devicedispense-search#status) — **token** — The status of the dispense — `DeviceDispense.status` [Full Search Parameters](/devicedispense-search) ## Examples - [devicedispense-example](/devicedispense-example-devicedispense-example) — devicedispense-example - [devicedispense-examples-header](/devicedispense-example-devicedispense-examples-header) — devicedispense-examples-header - [example](/devicedispense-example-example) — devicedispense-example — Example of DeviceDispense [Full Examples](/devicedispense-examples) ## Mapping Exceptions ### devicedispense-event-mapping-exceptions.xml ### Divergent Elements - **Event.identifier** → **DeviceDispense.identifier** - shortUnmatched | reason=Unknown | pattern=Business identifier for device dispense | resource=Business identifier for this dispensation - definitionUnmatched | reason=Unknown | pattern=Business identifiers assigned to this device dispense by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server. | resource=Business identifier for this dispensation. - commentsUnmatched | reason=Unknown | pattern=Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). 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. | resource=This is a business identifier, not a resource identifier. - requirementsUnmatched | reason=Unknown | pattern=Allows identification of the device dispense as it is known by various participating systems and in a way that remains consistent across servers. - **Event.basedOn** → **DeviceDispense.basedOn** - missingTypes | reason=Unknown | pattern=Reference(Request) - extraTypes | reason=Unknown - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=Fulfills plan, proposal or order | resource=The order or request that this dispense is fulfilling - definitionUnmatched | reason=Unknown | pattern=A plan, proposal or order that is fulfilled in whole or in part by this device dispense. | resource=The order or request that this dispense is fulfilling. - requirementsUnmatched | reason=Unknown | pattern=Allows tracing of authorization for the device dispense and tracking whether proposals/recommendations were acted upon. - **Event.partOf** → **DeviceDispense.partOf** - missingTypes | reason=Unknown | pattern=Reference(Event) - extraTypes | reason=Unknown - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=Part of referenced event | resource=The bigger event that this dispense is a part of - definitionUnmatched | reason=Unknown | pattern=A larger event of which this particular device dispense is a component or step. | resource=The bigger event that this dispense is a part of. - commentsUnmatched | reason=Unknown | pattern=Not to be used to link an device dispense to an Encounter - use 'context' for that. - **Event.status** → **DeviceDispense.status** - shortUnmatched | reason=Unknown | pattern=preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown | resource=preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown - definitionUnmatched | reason=Unknown | pattern=The current state of the device dispense. | resource=A code specifying the state of the set of dispense events. - commentsUnmatched | reason=Unknown | pattern=A nominal state-transition diagram can be found in the (Event 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. | resource=This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. - **Event.statusReason** → **DeviceDispense.statusReason** - missingTypes | reason=Unknown | pattern=CodeableConcept - extraTypes | reason=Unknown - shortUnmatched | reason=Unknown | pattern=Reason for current status | resource=Why a dispense was or was not performed - definitionUnmatched | reason=Unknown | pattern=Captures the reason for the current state of the device dispense. | resource=Indicates the reason why a dispense was or was not performed. - commentsUnmatched | reason=Unknown | pattern=This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". The reason for performing the event at all is captured in reasonCode, not here. . - **Event.category** → **DeviceDispense.category** - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=High level categorization of device dispense | resource=Type of device dispense - definitionUnmatched | reason=Unknown | pattern=Partitions the device dispense into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior. | resource=Indicates the type of device dispense. - commentsUnmatched | reason=Unknown | pattern=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. | resource=The category can be used to include where the device is expected to be consumed or other types of dispenses. Invariants can be used to bind to different value sets when profiling to bind. - **Event.product** → **DeviceDispense.device** - shortUnmatched | reason=Unknown | pattern=Product used/provided | resource=What device was supplied - definitionUnmatched | reason=Unknown | pattern=Indicates the product supplied or manipulated by this device dispense. | resource=Identifies the device being dispensed. This is either a link to a resource representing the details of the device or a simple attribute carrying a code that identifies the device from a known list of devices. - **Event.subject** → **DeviceDispense.subject** - extraTypes | reason=Unknown - shortUnmatched | reason=Unknown | pattern=Individual service was done for/to | resource=Who the dispense is for - definitionUnmatched | reason=Unknown | pattern=The individual or set of individuals the action is being or was performed on. | resource=A link to a resource representing the person to whom the device is intended. - requirementsUnmatched | reason=Unknown | pattern=Links the device dispense to the Patient context. May also affect access control. - **Event.encounter** → **DeviceDispense.encounter** - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=Encounter the device dispense is part of | resource=Encounter associated with event - definitionUnmatched | reason=Unknown | pattern=The Encounter during which this device dispense was created or to which the creation of this record is tightly associated. | resource=The encounter that establishes the context for this event. - commentsUnmatched | reason=Unknown | pattern=This will typically be the encounter the device dispense was created during, but some device dispenses 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 lab tests). - requirementsUnmatched | reason=Unknown | pattern=Links the device dispense to the Encounter context. May also affect access control. - **Event.occurrence[x]** → **DeviceDispense.whenHandedOver** - missingTypes | reason=Unknown | pattern=Period, Timing - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=When device dispense occurred/is occurring | resource=When product was given out - definitionUnmatched | reason=Unknown | pattern=The date, period or timing when the device dispense did occur or is occurring. | resource=The time the dispensed product was made available to the patient or their representative. - commentsUnmatched | reason=Unknown | pattern=This indicates when the activity actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this {{event}} is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. . - **Event.performer** → **DeviceDispense.performer** - extraTypes | reason=Unknown - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=Who performed device dispense and what they did | resource=Who performed event - definitionUnmatched | reason=Unknown | pattern=Indicates who or what performed the device dispense and how they were involved. | resource=Indicates who or what performed the event. - **Event.performer.actor** → **DeviceDispense.performer.actor** - extraTypes | reason=Unknown - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=Who performed device dispense | resource=Individual who was performing - definitionUnmatched | reason=Unknown | pattern=Indicates who or what performed the device dispense. | resource=The device, practitioner, etc. who performed the action. It should be assumed that the actor is the dispenser of the device. - **Event.location** → **DeviceDispense.location** - summary | reason=Unknown | pattern=true - shortUnmatched | reason=Unknown | pattern=Where device dispense occurred | resource=Where the dispense occurred - definitionUnmatched | reason=Unknown | pattern=The principal physical location where the device dispense was performed. | resource=The principal physical location where the dispense was performed. - requirementsUnmatched | reason=Unknown | pattern=Ties the event to where the records are likely kept and provides context around the event occurrence (e.g. if it occurred inside or outside a dedicated healthcare setting). - **Event.note** → **DeviceDispense.note** - shortUnmatched | reason=Unknown | pattern=Comments made about the event | resource=Information about the dispense - definitionUnmatched | reason=Unknown | pattern=Comments made about the device dispense by the performer, subject or other participants. | resource=Extra information about the dispense that could not be conveyed in the other attributes. - **Event.relevantHistory** → **DeviceDispense.relevantHistory** - missingTypes | reason=Unknown | pattern=Reference(ProvenanceRelevantHistory) - extraTypes | reason=Unknown - shortUnmatched | reason=Unknown | pattern=Key events in history of device dispense | resource=A list of relevant lifecycle events - definitionUnmatched | reason=Unknown | pattern=Links to Provenance records for past versions of this resource or component 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. | resource=A summary of the events of interest that have occurred, such as when the dispense was verified. - commentsUnmatched | reason=Unknown | pattern=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](event.html#history). | resource=This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.). ### Unmapped Elements - **Event.reported** — Unknown - **Event.reason** — Unknown - **Event.code** — Unknown - **Event.performer.function** — Unknown - **Event.recorded** — Unknown - **Event.researchStudy** — Unknown ### devicedispense-fivews-mapping-exceptions.xml ### Divergent Elements - **FiveWs.context** → **DeviceDispense.supportingInformation** ### Unmapped Elements - **FiveWs.recorded** — Unknown - **FiveWs.author** — Unknown - **FiveWs.actor** — Unknown - **FiveWs.cause** — Unknown - **FiveWs.version** — Unknown - **FiveWs.witness** — Unknown - **FiveWs.class** — Unknown - **FiveWs.where** — Unknown - **FiveWs.init** — Unknown - **FiveWs.why** — Unknown - **FiveWs.source** — Unknown - **FiveWs.who** — Unknown - **FiveWs.grade** — Unknown - **FiveWs.planned** — Unknown - **FiveWs.done** — Unknown