This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot2:
Release
6
Ballot
(2nd
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Pharmacy
Work
Group
|
Maturity Level : 2 | Trial Use | Security Category : Patient | Compartments : Encounter , Patient , Practitioner |
Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.
This resource covers the supply of medications to a patient. Examples include dispensing and pick-up from an outpatient or community pharmacy, dispensing patient-specific medications from inpatient pharmacy to ward, as well as issuing a single dose from ward stock to a patient for consumption. The medication dispense can be the result of a pharmacy system responding to a medication order.
MedicationDispense is an event resource from a FHIR workflow perspective - see Workflow Event
The Medication domain includes a number of related resources
| MedicationRequest | An order for both supply of the medication and the instructions for administration of the medicine to a patient. |
| MedicationDispense | Provision of a supply of a medication with the intention that it is subsequently consumed by a patient (usually in response to a prescription). |
| MedicationAdministration | When a patient actually consumes a medicine, or the medication is otherwise administered to them |
| MedicationStatement | This is a record of a medication being taken by a patient or that a medication has been given to a patient, where the record is the result of a report from the patient or another clinician. A medication statement is not a part of the prescribe->dispense->administer sequence but is a report that such a sequence (or at least a part of it) did take place, resulting in a belief that the patient has received a particular medication. |
This resource does not deal with the supply or transfer of non-medication related items to a patient.
The supply and the associated administration instructions might not exactly follow the original order (prescription), either because some details were left for completion at this point in the process or because the dispenser exercised their clinical judgment to make some appropriate modification.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Dispensing
a
medication
to
a
named
patient
+ Rule: whenHandedOver cannot be before whenPrepared Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
0..* | Identifier |
External
identifier
|
|
|
0..* | Reference ( CarePlan ) |
Plan
that
is
fulfilled
by
this
dispense
|
|
|
0..* | Reference ( Procedure | MedicationAdministration ) |
Event
that
dispense
is
part
of
|
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
cancelled
|
on-hold
|
completed
|
entered-in-error
|
stopped
|
declined
|
unknown
Binding: MedicationDispense Status Codes ( Required ) |
|
0..1 | CodeableReference ( DetectedIssue ) |
Why
a
dispense
was
not
performed
Binding: MedicationDispense Status Reason Codes ( Example ) |
|
|
0..1 | dateTime |
When
the
status
changed
|
|
|
0..* | CodeableConcept |
Type
of
medication
dispense
Binding: MedicationDispense Administration Location Codes ( Example ) |
|
|
Σ | 1..1 | CodeableReference ( Medication ) |
What
medication
was
supplied
Binding: SNOMED CT Medication Codes ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group ) |
Who
the
dispense
is
for
|
|
0..1 | Reference ( Encounter ) |
Encounter
associated
with
event
|
|
|
0..* | Reference ( Any ) |
Information
that
supports
the
dispensing
of
the
medication
|
|
|
0..* | BackboneElement |
Who
performed
event
|
|
|
0..1 | CodeableConcept |
Who
performed
the
dispense
and
what
they
did
Binding: MedicationDispense Performer Function Codes ( Example ) |
|
|
1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam ) |
Individual
who
was
performing
|
|
|
0..1 | Reference ( Location ) |
Where
the
dispense
occurred
|
|
|
0..* | Reference ( MedicationRequest ) |
Medication
order
that
authorizes
the
dispense
|
|
|
0..1 | CodeableConcept |
Trial
fill,
partial
fill,
emergency
fill,
etc
Binding: ActPharmacySupplyType
(
Example
)
|
|
|
0..1 | SimpleQuantity |
Amount
dispensed
|
|
|
0..1 | SimpleQuantity |
Amount
of
medication
expressed
as
a
timing
amount
|
|
|
0..1 | dateTime |
When
the
recording
of
the
dispense
started
|
|
|
Σ C | 0..1 | dateTime |
When
product
was
packaged
and
reviewed
|
|
C | 0..1 | dateTime |
When
product
was
given
out
|
|
0..1 | Reference ( Location ) |
Where
the
medication
was/will
be
sent
|
|
|
0..* | Reference ( Patient | Practitioner | RelatedPerson | Location | PractitionerRole ) |
Who
collected
the
medication
or
where
the
medication
was
delivered
|
|
|
0..* | Annotation |
Information
about
the
dispense
|
|
|
0..1 | markdown |
Full
representation
of
the
dosage
instructions
|
|
|
0..* | Dosage |
How
the
medication
is
to
be
used
by
the
patient
or
administered
by
the
caregiver
|
|
|
0..1 | BackboneElement |
Whether
a
substitution
was
performed
on
the
dispense
|
|
|
1..1 | boolean |
Whether
a
substitution
was
or
was
not
performed
on
the
dispense
|
|
|
0..1 | CodeableConcept |
Code
signifying
whether
a
different
drug
was
dispensed
from
what
was
prescribed
Binding: ActSubstanceAdminSubstitutionCode
(
Example
)
|
|
|
0..* | CodeableConcept |
Why
was
substitution
made
Binding: SubstanceAdminSubstitutionReason
(
Example
)
|
|
|
0..1 | Reference ( Practitioner | PractitionerRole | Organization ) |
Who
is
responsible
for
the
substitution
|
|
|
0..* | Reference ( Provenance ) |
A
list
of
relevant
lifecycle
events
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<MedicationDispense 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(CarePlan) Plan that is fulfilled by this dispense --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration|Procedure) Event that dispense is part of --></partOf> <status value="[code]"/><!-- 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown --> <notPerformedReason><!-- 0..1 CodeableReference(DetectedIssue) Why a dispense was not performed --></notPerformedReason> <statusChanged value="[dateTime]"/><!-- 0..1 When the status changed --> <category><!-- 0..* CodeableConcept Type of medication dispense --></category> <medication><!-- 1..1 CodeableReference(Medication) What medication was supplied --></medication> <subject><!-- 1..1 Reference(Group|Patient) Who the dispense is for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter associated with event --></encounter> <supportingInformation><!-- 0..* Reference(Any) Information that supports the dispensing of the medication --></supportingInformation> <performer> <!-- 0..* Who performed event --> <function><!-- 0..1 CodeableConcept Who performed the dispense and what they did --></function> <actor><!-- 1..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual who was performing --></actor> </performer> <location><!-- 0..1 Reference(Location) Where the dispense occurred --></location> <authorizingPrescription><!-- 0..* Reference(MedicationRequest) Medication order that authorizes the dispense --></authorizingPrescription>
<</type><type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc--></type> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity> <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply>
<<recorded value="[dateTime]"/><!-- 0..1 When the recording of the dispense started --> <whenPrepared value="[dateTime]"/><!-- I 0..1 When product was packaged and reviewed --> <whenHandedOver value="[dateTime]"/><!-- I 0..1 When product was given out --> <destination><!-- 0..1 Reference(Location) Where the medication was/will be sent --></destination> <receiver><!-- 0..* Reference(Location|Patient|Practitioner|PractitionerRole| RelatedPerson) Who collected the medication or where the medication was delivered --></receiver> <note><!-- 0..* Annotation Information about the dispense --></note> <renderedDosageInstruction value="[markdown]"/><!-- 0..1 Full representation of the dosage instructions --> <dosageInstruction><!-- 0..* Dosage How the medication is to be used by the patient or administered by the caregiver --></dosageInstruction> <substitution> <!-- 0..1 Whether a substitution was performed on the dispense --> <wasSubstituted value="[boolean]"/><!-- 1..1 Whether a substitution was or was not performed on the dispense --><</type> <</reason><type><!-- 0..1 CodeableConcept Code signifying whether a different drug was dispensed from what was prescribed--></type> <reason><!-- 0..* CodeableConcept Why was substitution made
--></reason> <responsibleParty><!-- 0..1 Reference(Organization|Practitioner| PractitionerRole) Who is responsible for the substitution --></responsibleParty> </substitution> <eventHistory><!-- 0..* Reference(Provenance) A list of relevant lifecycle events --></eventHistory> </MedicationDispense>
JSON Template
{
"resourceType" : "MedicationDispense",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifier
"basedOn" : [{ Reference(CarePlan) }], // Plan that is fulfilled by this dispense
"partOf" : [{ Reference(MedicationAdministration|Procedure) }], // Event that dispense is part of
"status" : "<code>", // R! preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
"notPerformedReason" : { CodeableReference(DetectedIssue) }, // Why a dispense was not performed
"statusChanged" : "<dateTime>", // When the status changed
"category" : [{ CodeableConcept }], // Type of medication dispense
"medication" : { CodeableReference(Medication) }, // R! What medication was supplied
"subject" : { Reference(Group|Patient) }, // R! Who the dispense is for
"encounter" : { Reference(Encounter) }, // Encounter associated with event
"supportingInformation" : [{ Reference(Any) }], // Information that supports the dispensing of the medication
"performer" : [{ // Who performed event
"function" : { CodeableConcept }, // Who performed the dispense and what they did
"actor" : { Reference(CareTeam|Device|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) } // R! Individual who was performing
}],
"location" : { Reference(Location) }, // Where the dispense occurred
"authorizingPrescription" : [{ Reference(MedicationRequest) }], // Medication order that authorizes the dispense
"
"type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc
"quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed
"daysSupply" : { Quantity(SimpleQuantity) }, // Amount of medication expressed as a timing amount
"
"recorded" : "<dateTime>", // When the recording of the dispense started
"whenPrepared" : "<dateTime>", // I When product was packaged and reviewed
"whenHandedOver" : "<dateTime>", // I When product was given out
"destination" : { Reference(Location) }, // Where the medication was/will be sent
"receiver" : [{ Reference(Location|Patient|Practitioner|PractitionerRole|
RelatedPerson) }], // Who collected the medication or where the medication was delivered
"note" : [{ Annotation }], // Information about the dispense
"renderedDosageInstruction" : "<markdown>", // Full representation of the dosage instructions
"dosageInstruction" : [{ Dosage }], // How the medication is to be used by the patient or administered by the caregiver
"substitution" : { // Whether a substitution was performed on the dispense
"wasSubstituted" : <boolean>, // R! Whether a substitution was or was not performed on the dispense
"
"
"type" : { CodeableConcept }, // Code signifying whether a different drug was dispensed from what was prescribed
"reason" : [{ CodeableConcept }], // Why was substitution made
"responsibleParty" : { Reference(Organization|Practitioner|
PractitionerRole) } // Who is responsible for the substitution
},
"eventHistory" : [{ Reference(Provenance) }] // A list of relevant lifecycle events
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MedicationDispense; 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(CarePlan) ] ... ) ; # 0..* Plan that is fulfilled by this dispense fhir:partOf ( [ Reference(MedicationAdministration|Procedure) ] ... ) ; # 0..* Event that dispense is part of fhir:status [ code ] ; # 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown fhir:notPerformedReason [ CodeableReference(DetectedIssue) ] ; # 0..1 Why a dispense was not performed fhir:statusChanged [ dateTime ] ; # 0..1 When the status changed fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Type of medication dispense fhir:medication [ CodeableReference(Medication) ] ; # 1..1 What medication was supplied fhir:subject [ Reference(Group|Patient) ] ; # 1..1 Who the dispense is for fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter associated with event fhir:supportingInformation ( [ Reference(Any) ] ... ) ; # 0..* Information that supports the dispensing of the medication fhir:performer ( [ # 0..* Who performed event fhir:function [ CodeableConcept ] ; # 0..1 Who performed the dispense and what they did fhir:actor [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Individual who was performing ] ... ) ; fhir:location [ Reference(Location) ] ; # 0..1 Where the dispense occurred fhir:authorizingPrescription ( [ Reference(MedicationRequest) ] ... ) ; # 0..* Medication order that authorizes the dispense fhir:type [ CodeableConcept ] ; # 0..1 Trial fill, partial fill, emergency fill, etc fhir:quantity [ Quantity(SimpleQuantity) ] ; # 0..1 Amount dispensed fhir:daysSupply [ Quantity(SimpleQuantity) ] ; # 0..1 Amount of medication expressed as a timing amount
fhir:fhir:recorded [ dateTime ] ; # 0..1 When the recording of the dispense started fhir:whenPrepared [ dateTime ] ; # 0..1 I When product was packaged and reviewed fhir:whenHandedOver [ dateTime ] ; # 0..1 I When product was given out fhir:destination [ Reference(Location) ] ; # 0..1 Where the medication was/will be sent fhir:receiver ( [ Reference(Location|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who collected the medication or where the medication was delivered fhir:note ( [ Annotation ] ... ) ; # 0..* Information about the dispense fhir:renderedDosageInstruction [ markdown ] ; # 0..1 Full representation of the dosage instructions fhir:dosageInstruction ( [ Dosage ] ... ) ; # 0..* How the medication is to be used by the patient or administered by the caregiver fhir:substitution [ # 0..1 Whether a substitution was performed on the dispense fhir:wasSubstituted [ boolean ] ; # 1..1 Whether a substitution was or was not performed on the dispense fhir:type [ CodeableConcept ] ; # 0..1 Code signifying whether a different drug was dispensed from what was prescribed fhir:reason ( [ CodeableConcept ] ... ) ; # 0..* Why was substitution made fhir:responsibleParty [ Reference(Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who is responsible for the substitution ] ; fhir:eventHistory ( [ Reference(Provenance) ] ... ) ; # 0..* A list of relevant lifecycle events ]
Changes from both R4 and R4B
| MedicationDispense | |
| MedicationDispense.basedOn |
|
| MedicationDispense.partOf |
|
| MedicationDispense.notPerformedReason |
|
| MedicationDispense.statusChanged |
|
| MedicationDispense.category |
|
| MedicationDispense.medication |
|
| MedicationDispense.subject |
|
| MedicationDispense.encounter |
|
| MedicationDispense.performer.actor |
|
| MedicationDispense.recorded |
|
| MedicationDispense.receiver |
|
| MedicationDispense.renderedDosageInstruction |
|
| MedicationDispense.substitution.responsibleParty |
|
| MedicationDispense.statusReason[x] |
|
| MedicationDispense.context |
|
| MedicationDispense.detectedIssue |
|
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
|
|---|---|---|---|---|
|
TU | DomainResource |
Dispensing
a
medication
to
a
named
patient
+ Rule: whenHandedOver cannot be before whenPrepared Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
0..* | Identifier |
External
identifier
|
|
|
0..* | Reference ( CarePlan ) |
Plan
that
is
fulfilled
by
this
dispense
|
|
|
0..* | Reference ( Procedure | MedicationAdministration ) |
Event
that
dispense
is
part
of
|
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
cancelled
|
on-hold
|
completed
|
entered-in-error
|
stopped
|
declined
|
unknown
Binding: MedicationDispense Status Codes ( Required ) |
|
0..1 | CodeableReference ( DetectedIssue ) |
Why
a
dispense
was
not
performed
Binding: MedicationDispense Status Reason Codes ( Example ) |
|
|
0..1 | dateTime |
When
the
status
changed
|
|
|
0..* | CodeableConcept |
Type
of
medication
dispense
Binding: MedicationDispense Administration Location Codes ( Example ) |
|
|
Σ | 1..1 | CodeableReference ( Medication ) |
What
medication
was
supplied
Binding: SNOMED CT Medication Codes ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group ) |
Who
the
dispense
is
for
|
|
0..1 | Reference ( Encounter ) |
Encounter
associated
with
event
|
|
|
0..* | Reference ( Any ) |
Information
that
supports
the
dispensing
of
the
medication
|
|
|
0..* | BackboneElement |
Who
performed
event
|
|
|
0..1 | CodeableConcept |
Who
performed
the
dispense
and
what
they
did
Binding: MedicationDispense Performer Function Codes ( Example ) |
|
|
1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam ) |
Individual
who
was
performing
|
|
|
0..1 | Reference ( Location ) |
Where
the
dispense
occurred
|
|
|
0..* | Reference ( MedicationRequest ) |
Medication
order
that
authorizes
the
dispense
|
|
|
0..1 | CodeableConcept |
Trial
fill,
partial
fill,
emergency
fill,
etc
Binding: ActPharmacySupplyType
(
Example
)
|
|
|
0..1 | SimpleQuantity |
Amount
dispensed
|
|
|
0..1 | SimpleQuantity |
Amount
of
medication
expressed
as
a
timing
amount
|
|
|
0..1 | dateTime |
When
the
recording
of
the
dispense
started
|
|
|
Σ C | 0..1 | dateTime |
When
product
was
packaged
and
reviewed
|
|
C | 0..1 | dateTime |
When
product
was
given
out
|
|
0..1 | Reference ( Location ) |
Where
the
medication
was/will
be
sent
|
|
|
0..* | Reference ( Patient | Practitioner | RelatedPerson | Location | PractitionerRole ) |
Who
collected
the
medication
or
where
the
medication
was
delivered
|
|
|
0..* | Annotation |
Information
about
the
dispense
|
|
|
0..1 | markdown |
Full
representation
of
the
dosage
instructions
|
|
|
0..* | Dosage |
How
the
medication
is
to
be
used
by
the
patient
or
administered
by
the
caregiver
|
|
|
0..1 | BackboneElement |
Whether
a
substitution
was
performed
on
the
dispense
|
|
|
1..1 | boolean |
Whether
a
substitution
was
or
was
not
performed
on
the
dispense
|
|
|
0..1 | CodeableConcept |
Code
signifying
whether
a
different
drug
was
dispensed
from
what
was
prescribed
Binding: ActSubstanceAdminSubstitutionCode
(
Example
)
|
|
|
0..* | CodeableConcept |
Why
was
substitution
made
Binding: SubstanceAdminSubstitutionReason
(
Example
)
|
|
|
0..1 | Reference ( Practitioner | PractitionerRole | Organization ) |
Who
is
responsible
for
the
substitution
|
|
|
0..* | Reference ( Provenance ) |
A
list
of
relevant
lifecycle
events
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<MedicationDispense 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(CarePlan) Plan that is fulfilled by this dispense --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration|Procedure) Event that dispense is part of --></partOf> <status value="[code]"/><!-- 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown --> <notPerformedReason><!-- 0..1 CodeableReference(DetectedIssue) Why a dispense was not performed --></notPerformedReason> <statusChanged value="[dateTime]"/><!-- 0..1 When the status changed --> <category><!-- 0..* CodeableConcept Type of medication dispense --></category> <medication><!-- 1..1 CodeableReference(Medication) What medication was supplied --></medication> <subject><!-- 1..1 Reference(Group|Patient) Who the dispense is for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter associated with event --></encounter> <supportingInformation><!-- 0..* Reference(Any) Information that supports the dispensing of the medication --></supportingInformation> <performer> <!-- 0..* Who performed event --> <function><!-- 0..1 CodeableConcept Who performed the dispense and what they did --></function> <actor><!-- 1..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Individual who was performing --></actor> </performer> <location><!-- 0..1 Reference(Location) Where the dispense occurred --></location> <authorizingPrescription><!-- 0..* Reference(MedicationRequest) Medication order that authorizes the dispense --></authorizingPrescription>
<</type><type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc--></type> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity> <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply>
<<recorded value="[dateTime]"/><!-- 0..1 When the recording of the dispense started --> <whenPrepared value="[dateTime]"/><!-- I 0..1 When product was packaged and reviewed --> <whenHandedOver value="[dateTime]"/><!-- I 0..1 When product was given out --> <destination><!-- 0..1 Reference(Location) Where the medication was/will be sent --></destination> <receiver><!-- 0..* Reference(Location|Patient|Practitioner|PractitionerRole| RelatedPerson) Who collected the medication or where the medication was delivered --></receiver> <note><!-- 0..* Annotation Information about the dispense --></note> <renderedDosageInstruction value="[markdown]"/><!-- 0..1 Full representation of the dosage instructions --> <dosageInstruction><!-- 0..* Dosage How the medication is to be used by the patient or administered by the caregiver --></dosageInstruction> <substitution> <!-- 0..1 Whether a substitution was performed on the dispense --> <wasSubstituted value="[boolean]"/><!-- 1..1 Whether a substitution was or was not performed on the dispense --><</type> <</reason><type><!-- 0..1 CodeableConcept Code signifying whether a different drug was dispensed from what was prescribed--></type> <reason><!-- 0..* CodeableConcept Why was substitution made
--></reason> <responsibleParty><!-- 0..1 Reference(Organization|Practitioner| PractitionerRole) Who is responsible for the substitution --></responsibleParty> </substitution> <eventHistory><!-- 0..* Reference(Provenance) A list of relevant lifecycle events --></eventHistory> </MedicationDispense>
JSON Template
{
"resourceType" : "MedicationDispense",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifier
"basedOn" : [{ Reference(CarePlan) }], // Plan that is fulfilled by this dispense
"partOf" : [{ Reference(MedicationAdministration|Procedure) }], // Event that dispense is part of
"status" : "<code>", // R! preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
"notPerformedReason" : { CodeableReference(DetectedIssue) }, // Why a dispense was not performed
"statusChanged" : "<dateTime>", // When the status changed
"category" : [{ CodeableConcept }], // Type of medication dispense
"medication" : { CodeableReference(Medication) }, // R! What medication was supplied
"subject" : { Reference(Group|Patient) }, // R! Who the dispense is for
"encounter" : { Reference(Encounter) }, // Encounter associated with event
"supportingInformation" : [{ Reference(Any) }], // Information that supports the dispensing of the medication
"performer" : [{ // Who performed event
"function" : { CodeableConcept }, // Who performed the dispense and what they did
"actor" : { Reference(CareTeam|Device|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) } // R! Individual who was performing
}],
"location" : { Reference(Location) }, // Where the dispense occurred
"authorizingPrescription" : [{ Reference(MedicationRequest) }], // Medication order that authorizes the dispense
"
"type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc
"quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed
"daysSupply" : { Quantity(SimpleQuantity) }, // Amount of medication expressed as a timing amount
"
"recorded" : "<dateTime>", // When the recording of the dispense started
"whenPrepared" : "<dateTime>", // I When product was packaged and reviewed
"whenHandedOver" : "<dateTime>", // I When product was given out
"destination" : { Reference(Location) }, // Where the medication was/will be sent
"receiver" : [{ Reference(Location|Patient|Practitioner|PractitionerRole|
RelatedPerson) }], // Who collected the medication or where the medication was delivered
"note" : [{ Annotation }], // Information about the dispense
"renderedDosageInstruction" : "<markdown>", // Full representation of the dosage instructions
"dosageInstruction" : [{ Dosage }], // How the medication is to be used by the patient or administered by the caregiver
"substitution" : { // Whether a substitution was performed on the dispense
"wasSubstituted" : <boolean>, // R! Whether a substitution was or was not performed on the dispense
"
"
"type" : { CodeableConcept }, // Code signifying whether a different drug was dispensed from what was prescribed
"reason" : [{ CodeableConcept }], // Why was substitution made
"responsibleParty" : { Reference(Organization|Practitioner|
PractitionerRole) } // Who is responsible for the substitution
},
"eventHistory" : [{ Reference(Provenance) }] // A list of relevant lifecycle events
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MedicationDispense; 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(CarePlan) ] ... ) ; # 0..* Plan that is fulfilled by this dispense fhir:partOf ( [ Reference(MedicationAdministration|Procedure) ] ... ) ; # 0..* Event that dispense is part of fhir:status [ code ] ; # 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown fhir:notPerformedReason [ CodeableReference(DetectedIssue) ] ; # 0..1 Why a dispense was not performed fhir:statusChanged [ dateTime ] ; # 0..1 When the status changed fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Type of medication dispense fhir:medication [ CodeableReference(Medication) ] ; # 1..1 What medication was supplied fhir:subject [ Reference(Group|Patient) ] ; # 1..1 Who the dispense is for fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter associated with event fhir:supportingInformation ( [ Reference(Any) ] ... ) ; # 0..* Information that supports the dispensing of the medication fhir:performer ( [ # 0..* Who performed event fhir:function [ CodeableConcept ] ; # 0..1 Who performed the dispense and what they did fhir:actor [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Individual who was performing ] ... ) ; fhir:location [ Reference(Location) ] ; # 0..1 Where the dispense occurred fhir:authorizingPrescription ( [ Reference(MedicationRequest) ] ... ) ; # 0..* Medication order that authorizes the dispense fhir:type [ CodeableConcept ] ; # 0..1 Trial fill, partial fill, emergency fill, etc fhir:quantity [ Quantity(SimpleQuantity) ] ; # 0..1 Amount dispensed fhir:daysSupply [ Quantity(SimpleQuantity) ] ; # 0..1 Amount of medication expressed as a timing amount
fhir:fhir:recorded [ dateTime ] ; # 0..1 When the recording of the dispense started fhir:whenPrepared [ dateTime ] ; # 0..1 I When product was packaged and reviewed fhir:whenHandedOver [ dateTime ] ; # 0..1 I When product was given out fhir:destination [ Reference(Location) ] ; # 0..1 Where the medication was/will be sent fhir:receiver ( [ Reference(Location|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who collected the medication or where the medication was delivered fhir:note ( [ Annotation ] ... ) ; # 0..* Information about the dispense fhir:renderedDosageInstruction [ markdown ] ; # 0..1 Full representation of the dosage instructions fhir:dosageInstruction ( [ Dosage ] ... ) ; # 0..* How the medication is to be used by the patient or administered by the caregiver fhir:substitution [ # 0..1 Whether a substitution was performed on the dispense fhir:wasSubstituted [ boolean ] ; # 1..1 Whether a substitution was or was not performed on the dispense fhir:type [ CodeableConcept ] ; # 0..1 Code signifying whether a different drug was dispensed from what was prescribed fhir:reason ( [ CodeableConcept ] ... ) ; # 0..* Why was substitution made fhir:responsibleParty [ Reference(Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who is responsible for the substitution ] ; fhir:eventHistory ( [ Reference(Provenance) ] ... ) ; # 0..* A list of relevant lifecycle events ]
Changes from both R4 and R4B
| MedicationDispense | |
| MedicationDispense.basedOn |
|
| MedicationDispense.partOf |
|
| MedicationDispense.notPerformedReason |
|
| MedicationDispense.statusChanged |
|
| MedicationDispense.category |
|
| MedicationDispense.medication |
|
| MedicationDispense.subject |
|
| MedicationDispense.encounter |
|
| MedicationDispense.performer.actor |
|
| MedicationDispense.recorded |
|
| MedicationDispense.receiver |
|
| MedicationDispense.renderedDosageInstruction |
|
| MedicationDispense.substitution.responsibleParty |
|
| MedicationDispense.statusReason[x] |
|
| MedicationDispense.context |
|
| MedicationDispense.detectedIssue |
|
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 |
|---|---|---|---|
| MedicationDispense.status | MedicationDispenseStatusCodes | Required |
MedicationDispense Status Codes |
| MedicationDispense.notPerformedReason | MedicationDispenseStatusReasonCodes | Example |
MedicationDispense Status Reason Codes |
| MedicationDispense.category | MedicationDispenseAdministrationLocationCodes | Example |
MedicationDispense Administration Location Codes |
| MedicationDispense.medication | SNOMEDCTMedicationCodes | Example |
This value set includes all drug or medicament substance codes and all pharmaceutical/biologic products from SNOMED CT - provided as an exemplar value set. |
| MedicationDispense.performer.function | MedicationDispensePerformerFunctionCodes | Example |
MedicationDispense Performer Function Codes |
| MedicationDispense.type |
ActPharmacySupplyType
|
Example |
Identifies types of dispensing events |
| MedicationDispense.substitution.type |
ActSubstanceAdminSubstitutionCode
|
Example |
No description |
| MedicationDispense.substitution.reason |
SubstanceAdminSubstitutionReason
|
Example |
No description |
| UniqueKey | Level | Location | Description | Expression |
mdd-1
|
Rule | (base) | whenHandedOver cannot be before whenPrepared | whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared |
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 |
| code | token | Returns dispenses of this medicine code | MedicationDispense.medication.concept |
|
| destination | reference | Returns dispenses that should be sent to a specific destination |
MedicationDispense.destination
( Location ) |
|
| encounter | reference | Returns dispenses with a specific encounter |
MedicationDispense.encounter
( Encounter ) |
29 Resources |
| identifier | token | Returns dispenses with this external identifier | MedicationDispense.identifier | 65 Resources |
| location | reference | Returns dispense for a given location |
MedicationDispense.location
( Location ) |
|
| medication | reference | Returns dispenses of this medicine resource | MedicationDispense.medication.reference | 4 Resources |
| patient | reference | The identity of a patient to list dispenses for |
MedicationDispense.subject.where(resolve()
is
Patient)
( Patient ) |
|
| performer | reference | Returns dispenses performed by a specific individual |
MedicationDispense.performer.actor
( Practitioner , Organization , CareTeam , Device , Patient , PractitionerRole , RelatedPerson ) |
|
| prescription | reference | The identity of a prescription to list dispenses from |
MedicationDispense.authorizingPrescription
( MedicationRequest ) |
1 Resources |
| receiver | reference | The identity of a receiver to list dispenses for |
MedicationDispense.receiver
( Practitioner , Patient , PractitionerRole , RelatedPerson , Location ) |
|
| recorded | date | Returns dispenses where dispensing activity began on this date | MedicationDispense.recorded | |
| responsibleparty | reference | Returns dispenses with the specified responsible party |
MedicationDispense.substitution.responsibleParty
( Practitioner , Organization , PractitionerRole ) |
|
| status | token | Returns dispenses with a specified dispense status | MedicationDispense.status | 4 Resources |
| subject | reference | The identity of a patient for whom to list dispenses |
MedicationDispense.subject
( Group , Patient ) |
|
| type | token | Returns dispenses of a specific type | MedicationDispense.type | 11 Resources |
| whenhandedover | date | Returns dispenses handed over on this date | MedicationDispense.whenHandedOver | |
| whenprepared | date | Returns dispenses prepared on this date | MedicationDispense.whenPrepared |