This
page
is
part
of
the
FHIR
Specification
(v0.0.82:
(v1.0.2:
DSTU
1).
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
Pharmacy
Work
Group
| Maturity Level : 1 | Compartments : Patient , Practitioner |
Dispensing
Indicates
that
a
medication
product
is
to
be
or
has
been
dispensed
for
a
named
patient.
person/patient.
This
includes
a
description
of
the
supply
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
all
medications
to
a
patient.
Examples
include
dispensing
and
pick-up
from
an
out-patient
or
community
pharmacy,
dispensing
patient-specific
medications
from
in-patient
pharmacy
to
ward
ward,
as
well
as
issuing
a
single
dose
from
ward
stock
to
a
patient
for
consumption.
The
medication
dispense
is
the
result
of
a
pharmacy
system
responding
to
a
medication
order.
The Medication domain includes a number of related resources
|
|
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 it is otherwise administered to them |
| MedicationStatement |
This
is
a
record
of
a
medication
being
taken
by
a
|
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
may
not
exactly
follow
the
original
order
(prescription)
(prescription),
either
because
some
details
were
left
for
completion
at
this
point
in
the
process,
process
or
because
the
dispenser
exercised
their
clinical
judgment
to
make
some
appropriate
modification.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | Σ I | DomainResource |
Dispensing
a
medication
to
a
named
patient
whenHandedOver cannot be before whenPrepared | |
![]() ![]() | Σ | 0..1 | Identifier | External identifier |
![]() ![]() | ?! Σ | 0..1 | code |
in-progress
|
on-hold
|
completed
|
entered-in-error
|
stopped
MedicationDispenseStatus ( Required ) |
![]() ![]() | Σ | 0..1 | Reference ( Patient ) | Who the dispense is for |
![]() ![]() | Σ | 0..1 | Reference ( Practitioner ) | Practitioner responsible for dispensing medication |
![]() ![]() | Σ | 0..* | Reference ( MedicationOrder ) | Medication order that authorizes the dispense |
![]() ![]() | Σ | 0..1 | CodeableConcept |
Trial
fill,
partial
fill,
emergency
fill,
etc.
ActPharmacySupplyType ( Example ) |
![]() ![]() | Σ | 0..1 | SimpleQuantity | Amount dispensed |
![]() ![]() | Σ | 0..1 | SimpleQuantity | Days Supply |
![]() ![]() | Σ | 1..1 | What medication was supplied | |
![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() | Reference ( Medication ) | |||
![]() ![]() | Σ | 0..1 | dateTime | Dispense processing time |
![]() ![]() | Σ | 0..1 | dateTime | When product was given out |
![]() ![]() | Σ | 0..1 | Reference ( Location ) | Where the medication was sent |
![]() ![]() | Σ | 0..* | Reference ( Patient | Practitioner ) | Who collected the medication |
![]() ![]() | Σ | 0..1 | string | Information about the dispense |
![]() ![]() | Σ | 0..* | BackboneElement | Medicine administration instructions to the patient/caregiver |
![]() ![]() ![]() | Σ | 0..1 | string | Dosage Instructions |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | E.g. "Take with food" |
![]() ![]() ![]() | Σ | 0..1 | Timing | When medication should be administered |
![]() ![]() ![]() | Σ | 0..1 | Take "as needed" f(or x) | |
![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() | Σ | 0..1 |
Body
site
to
administer
to
SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference ( BodySite ) | |||
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
How
drug
should
enter
body
SNOMED CT Route Codes ( Example ) |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Technique for administering medication |
![]() ![]() ![]() | Σ | 0..1 | Amount of medication per dose | |
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | SimpleQuantity | |||
![]() ![]() ![]() | Σ | 0..1 | Amount of medication per unit of time | |
![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() | Σ | 0..1 | Ratio | Upper limit on medication per unit of time |
![]() ![]() | Σ | 0..1 | BackboneElement | Deals with substitution of one medicine for another |
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept |
Type
of
substitution
ActSubstanceAdminSubstitutionCode ( Example ) |
![]() ![]() ![]() | Σ | 0..* | CodeableConcept |
Why
was
substitution
made
SubstanceAdminSubstitutionReason ( Example ) |
![]() ![]() ![]() | Σ | 0..* | Reference ( Practitioner ) | Who is responsible for the substitution |
Documentation
for
this
format
| ||||
UML Diagram
XML Template
<MedicationDispense xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..1 Identifier External identifier --></identifier> <status value="[code]"/><!-- 0..1 in-progress | on-hold | completed | entered-in-error | stopped --> <patient><!-- 0..1 Reference(Patient) Who the dispense is for --></patient> <dispenser><!-- 0..1 Reference(Practitioner) Practitioner responsible for dispensing medication --></dispenser> <authorizingPrescription><!-- 0..* Reference(MedicationOrder) Medication order that authorizes the dispense --></authorizingPrescription> <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) Days Supply --></daysSupply> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) What medication was supplied --></medication[x]> <whenPrepared value="[dateTime]"/><!-- 0..1 Dispense processing time --> <whenHandedOver value="[dateTime]"/><!-- 0..1 When product was given out --> <destination><!-- 0..1 Reference(Location) Where the medication was sent --></destination> <receiver><!-- 0..* Reference(Patient|Practitioner) Who collected the medication --></receiver> <note value="[string]"/><!-- 0..1 Information about the dispense --> <dosageInstruction> <!-- 0..* Medicine administration instructions to the patient/caregiver --> <text value="[string]"/><!-- 0..1 Dosage Instructions --> <additionalInstructions><!-- 0..1 CodeableConcept E.g. "Take with food" --></additionalInstructions> <timing><!-- 0..1 Timing When medication should be administered --></timing> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]> <site[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Body site to administer to --></site[x]> <route><!-- 0..1 CodeableConcept How drug should enter body --></route> <method><!-- 0..1 CodeableConcept Technique for administering medication --></method> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]> <rate[x]><!-- 0..1 Ratio|Range Amount of medication per unit of time --></rate[x]> <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> </dosageInstruction> <substitution> <!-- 0..1 Deals with substitution of one medicine for another --> <type><!-- 1..1 CodeableConcept Type of substitution --></type> <reason><!-- 0..* CodeableConcept Why was substitution made --></reason> <responsibleParty><!-- 0..* Reference(Practitioner) Who is responsible for the substitution --></responsibleParty> </substitution> </MedicationDispense>
JSON Template
{
"resourceType" : "MedicationDispense",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : { Identifier }, // External identifier
"status" : "<code>", // in-progress | on-hold | completed | entered-in-error | stopped
"patient" : { Reference(Patient) }, // Who the dispense is for
"dispenser" : { Reference(Practitioner) }, // Practitioner responsible for dispensing medication
"authorizingPrescription" : [{ Reference(MedicationOrder) }], // Medication order that authorizes the dispense
"type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc.
"quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed
"daysSupply" : { Quantity(SimpleQuantity) }, // Days Supply
// medication[x]: What medication was supplied. One of these 2:
"medicationCodeableConcept" : { CodeableConcept },
"medicationReference" : { Reference(Medication) },
"whenPrepared" : "<dateTime>", // Dispense processing time
"whenHandedOver" : "<dateTime>", // When product was given out
"destination" : { Reference(Location) }, // Where the medication was sent
"receiver" : [{ Reference(Patient|Practitioner) }], // Who collected the medication
"note" : "<string>", // Information about the dispense
"dosageInstruction" : [{ // Medicine administration instructions to the patient/caregiver
"text" : "<string>", // Dosage Instructions
"additionalInstructions" : { CodeableConcept }, // E.g. "Take with food"
"timing" : { Timing }, // When medication should be administered
// asNeeded[x]: Take "as needed" f(or x). One of these 2:
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept },
// site[x]: Body site to administer to. One of these 2:
"siteCodeableConcept" : { CodeableConcept },
"siteReference" : { Reference(BodySite) },
"route" : { CodeableConcept }, // How drug should enter body
"method" : { CodeableConcept }, // Technique for administering medication
// dose[x]: Amount of medication per dose. One of these 2:
"doseRange" : { Range },
"doseQuantity" : { Quantity(SimpleQuantity) },
// rate[x]: Amount of medication per unit of time. One of these 2:
"rateRatio" : { Ratio },
"rateRange" : { Range },
"maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time
}],
"substitution" : { // Deals with substitution of one medicine for another
"type" : { CodeableConcept }, // R! Type of substitution
"reason" : [{ CodeableConcept }], // Why was substitution made
"responsibleParty" : [{ Reference(Practitioner) }] // Who is responsible for the substitution
}
}
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | Σ I | DomainResource |
Dispensing
a
medication
to
a
named
patient
whenHandedOver cannot be before whenPrepared | |
![]() ![]() | Σ | 0..1 | Identifier | External identifier |
![]() ![]() | ?! Σ | 0..1 | code |
in-progress
|
on-hold
|
completed
|
entered-in-error
|
stopped
MedicationDispenseStatus ( Required ) |
![]() ![]() | Σ | 0..1 | Reference ( Patient ) | Who the dispense is for |
![]() ![]() | Σ | 0..1 | Reference ( Practitioner ) | Practitioner responsible for dispensing medication |
![]() ![]() | Σ | 0..* | Reference ( MedicationOrder ) | Medication order that authorizes the dispense |
![]() ![]() | Σ | 0..1 | CodeableConcept |
Trial
fill,
partial
fill,
emergency
fill,
etc.
ActPharmacySupplyType ( Example ) |
![]() ![]() | Σ | 0..1 | SimpleQuantity | Amount dispensed |
![]() ![]() | Σ | 0..1 | SimpleQuantity | Days Supply |
![]() ![]() | Σ | 1..1 | What medication was supplied | |
![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() | Reference ( Medication ) | |||
![]() ![]() | Σ | 0..1 | dateTime | Dispense processing time |
![]() ![]() | Σ | 0..1 | dateTime | When product was given out |
![]() ![]() | Σ | 0..1 | Reference ( Location ) | Where the medication was sent |
![]() ![]() | Σ | 0..* | Reference ( Patient | Practitioner ) | Who collected the medication |
![]() ![]() | Σ | 0..1 | string | Information about the dispense |
![]() ![]() | Σ | 0..* | BackboneElement | Medicine administration instructions to the patient/caregiver |
![]() ![]() ![]() | Σ | 0..1 | string | Dosage Instructions |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | E.g. "Take with food" |
![]() ![]() ![]() | Σ | 0..1 | Timing | When medication should be administered |
![]() ![]() ![]() | Σ | 0..1 | Take "as needed" f(or x) | |
![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() | Σ | 0..1 |
Body
site
to
administer
to
SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference ( BodySite ) | |||
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
How
drug
should
enter
body
SNOMED CT Route Codes ( Example ) |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Technique for administering medication |
![]() ![]() ![]() | Σ | 0..1 | Amount of medication per dose | |
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | SimpleQuantity | |||
![]() ![]() ![]() | Σ | 0..1 | Amount of medication per unit of time | |
![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() | Σ | 0..1 | Ratio | Upper limit on medication per unit of time |
![]() ![]() | Σ | 0..1 | BackboneElement | Deals with substitution of one medicine for another |
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept |
Type
of
substitution
ActSubstanceAdminSubstitutionCode ( Example ) |
![]() ![]() ![]() | Σ | 0..* | CodeableConcept |
Why
was
substitution
made
SubstanceAdminSubstitutionReason ( Example ) |
![]() ![]() ![]() | Σ | 0..* | Reference ( Practitioner ) | Who is responsible for the substitution |
Documentation
for
this
format
| ||||
XML Template
<MedicationDispense xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..1 Identifier External identifier --></identifier> <status value="[code]"/><!-- 0..1 in-progress | on-hold | completed | entered-in-error | stopped --> <patient><!-- 0..1 Reference(Patient) Who the dispense is for --></patient> <dispenser><!-- 0..1 Reference(Practitioner) Practitioner responsible for dispensing medication --></dispenser> <authorizingPrescription><!-- 0..* Reference(MedicationOrder) Medication order that authorizes the dispense --></authorizingPrescription> <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) Days Supply --></daysSupply> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) What medication was supplied --></medication[x]> <whenPrepared value="[dateTime]"/><!-- 0..1 Dispense processing time --> <whenHandedOver value="[dateTime]"/><!-- 0..1 When product was given out --> <destination><!-- 0..1 Reference(Location) Where the medication was sent --></destination> <receiver><!-- 0..* Reference(Patient|Practitioner) Who collected the medication --></receiver> <note value="[string]"/><!-- 0..1 Information about the dispense --> <dosageInstruction> <!-- 0..* Medicine administration instructions to the patient/caregiver --> <text value="[string]"/><!-- 0..1 Dosage Instructions --> <additionalInstructions><!-- 0..1 CodeableConcept E.g. "Take with food" --></additionalInstructions> <timing><!-- 0..1 Timing When medication should be administered --></timing> <Terminologies used often pre-coordinate this term with the route and or form of administration." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dispense.dosage.method"></method> <</quantity> <</rate> <</maxDosePerPeriod> </dosage> </dispense> < <</type> <</reason> < Who is responsible for the substitution</responsibleParty> Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule." class="dict" href="medicationdispense-definitions.html#MedicationDispense.dosageInstruction.asNeeded[x]">asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]> <site[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Body site to administer to --></site[x]> <route><!-- 0..1 CodeableConcept How drug should enter body --></route> <method><!-- 0..1 CodeableConcept Technique for administering medication --></method> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]> <rate[x]><!-- 0..1 Ratio|Range Amount of medication per unit of time --></rate[x]> <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> </dosageInstruction> <substitution> <!-- 0..1 Deals with substitution of one medicine for another --> <type><!-- 1..1 CodeableConcept Type of substitution --></type> <reason><!-- 0..* CodeableConcept Why was substitution made --></reason> <responsibleParty><!-- 0..* Reference(Practitioner) Who is responsible for the substitution --></responsibleParty> </substitution> </MedicationDispense>
JSON Template
{
"resourceType" : "MedicationDispense",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : { Identifier }, // External identifier
"status" : "<code>", // in-progress | on-hold | completed | entered-in-error | stopped
"patient" : { Reference(Patient) }, // Who the dispense is for
"dispenser" : { Reference(Practitioner) }, // Practitioner responsible for dispensing medication
"authorizingPrescription" : [{ Reference(MedicationOrder) }], // Medication order that authorizes the dispense
"type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc.
"quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed
"daysSupply" : { Quantity(SimpleQuantity) }, // Days Supply
// medication[x]: What medication was supplied. One of these 2:
"medicationCodeableConcept" : { CodeableConcept },
"medicationReference" : { Reference(Medication) },
"whenPrepared" : "<dateTime>", // Dispense processing time
"whenHandedOver" : "<dateTime>", // When product was given out
"destination" : { Reference(Location) }, // Where the medication was sent
"receiver" : [{ Reference(Patient|Practitioner) }], // Who collected the medication
"note" : "<string>", // Information about the dispense
"dosageInstruction" : [{ // Medicine administration instructions to the patient/caregiver
"text" : "<string>", // Dosage Instructions
"additionalInstructions" : { CodeableConcept }, // E.g. "Take with food"
"timing" : { Timing }, // When medication should be administered
// asNeeded[x]: Take "as needed" f(or x). One of these 2:
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept },
// site[x]: Body site to administer to. One of these 2:
"siteCodeableConcept" : { CodeableConcept },
"siteReference" : { Reference(BodySite) },
"route" : { CodeableConcept }, // How drug should enter body
"method" : { CodeableConcept }, // Technique for administering medication
// dose[x]: Amount of medication per dose. One of these 2:
"doseRange" : { Range },
"doseQuantity" : { Quantity(SimpleQuantity) },
// rate[x]: Amount of medication per unit of time. One of these 2:
"rateRatio" : { Ratio },
"rateRange" : { Range },
"maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time
}],
"substitution" : { // Deals with substitution of one medicine for another
"type" : { CodeableConcept }, // R! Type of substitution
"reason" : [{ CodeableConcept }], // Why was substitution made
"responsibleParty" : [{ Reference(Practitioner) }] // Who is responsible for the substitution
}
}
Alternate definitions: Schema / Schematron , Resource Profile ( XML , JSON ), Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
|
MedicationDispense.status
|
A code specifying the state of the dispense event. |
|
|
| MedicationDispense.type |
Indicates
the
type
of
dispensing
event
that
is
performed.
|
Example |
|
| MedicationDispense.dosageInstruction.additionalInstructions | Codes identifying additional instructions such as "take with water" or "avoid operating heavy machinery" | Unknown | No details provided yet |
|
|
A
coded
concept
identifying
the
|
Unknown | No details provided yet |
| MedicationDispense.dosageInstruction.site[x] | A coded concept describing the site location the medicine enters into or onto the body | Example |
|
| MedicationDispense.dosageInstruction.route |
A
coded
concept
describing
the
route
or
physiological
path
of
administration
of
a
therapeutic
agent
into
or
onto
the
body
of
a
|
Example |
|
|
|
A coded concept describing the technique by which the medicine is administered |
|
|
| MedicationDispense.substitution.type | A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription | Example |
|
| MedicationDispense.substitution.reason |
A
coded
concept
describing
the
reason
that
a
different
medication
should
(or
should
not)
be
substituted
from
what
was
|
Example |
|
Search
parameters
for
this
resource.
The
standard
common
parameters
also
apply.
See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
| Name | Type | Description | Paths |
|
|
token |
|
|
| destination | reference |
Return
dispenses
that
should
be
sent
to
a
|
( Location ) |
| dispenser | reference |
Return
all
dispenses
performed
by
a
specific
|
MedicationDispense.dispenser
( Practitioner ) |
| identifier | token |
Return
dispenses
with
this
external
|
MedicationDispense.identifier |
| medication | reference |
|
( Medication ) |
| patient | reference | The identity of a patient to list dispenses for |
MedicationDispense.patient
( Patient ) |
| prescription | reference | The identity of a prescription to list dispenses from |
MedicationDispense.authorizingPrescription
( |
| receiver | reference | Who collected the medication |
MedicationDispense.receiver
( Patient , Practitioner ) |
| responsibleparty | reference | Return all dispenses with the specified responsible party |
MedicationDispense.substitution.responsibleParty
( Practitioner ) |
| status | token | Status of the dispense |
|
| type | token | Return all dispenses of a specific type |
|
| whenhandedover | date | Date when medication handed over to patient (outpatient setting), or supplied to ward or clinic (inpatient setting) |
|
| whenprepared | date | Date when medication prepared |
|