This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-draft-final:
Final
QA
Preview
for
R5
-
STU
see
ballot
notes
).
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 : 2 | Trial Use | Security Category : Patient |
Compartments
:
|
Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.
This
resource
covers
the
administration
of
all
medications
and
vaccines.
medications.
Please
refer
to
the
Immunization
Resource/Profile
resource/Profile
for
the
treatment
of
vaccines.
It
will
principally
be
used
within
care
settings
(including
inpatient)
to
record
the
capture
of
medication
administrations,
including
self-administrations
of
oral
medications,
injections,
intra-venous
adjustments,
intravenous
infusions,
etc.
It
can
also
be
used
in
outpatient
settings
to
record
allergy
shots
and
other
non-immunization
administrations.
In
some
cases,
it
might
be
used
for
home-health
reporting,
such
as
recording
self-administered
or
even
device-administered
insulin.
Note: devices coated with a medication (e.g. heparin) are not typically recorded as a medication administration. However, administration of a medication via an implanted medication pump (e.g., insulin) would be recorded as a MedicationAdministration.
This resource can also be used for recording waste by setting the status to 'not-done' and the statusReason to a code that refers to waste. The remaining fields would support the waste elements, i.e. performer of the waste, quantity of medication wasted, date/time of waste, etc. It is also possible, using the partOf reference to a MedicationDispense, to indicate that this waste occurred as part of a dispense event.
MedicationAdministration 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
it
is
otherwise
administered
to
|
| 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. |
MedicationAdministration
is
intended
for
tracking
the
administration
of
non-vaccine
medications.
Administration
of
vaccines
is
intended
to
be
handled
using
the
Immunization
resource.
Some
systems
treat
immunizations
in
the
same
way
as
any
other
medication
administration.
Such
systems
SHOULD
use
an
immunization
resource
to
represent
these.
If
However,
if
systems
need
to
use
a
MedicationAdministration
resource
to
capture
vaccinations
for
workflow
or
other
reasons,
they
a
Medication
Administration
resource
may
be
used
but
systems
SHOULD
also
create
and
expose
an
equivalent
Immunization
instance.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Administration
of
medication
to
a
patient
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
0..* | Identifier |
External
identifier
|
|
|
0..* |
|
|
|
|
Σ | 0..* | Reference ( MedicationAdministration | Procedure | MedicationDispense ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
in-progress
|
not-done
|
on-hold
|
completed
|
entered-in-error
|
stopped
|
unknown
Binding: MedicationAdministration Status Codes ( Required ) |
|
0..* | CodeableConcept |
Reason
administration
not
performed
Binding: SNOMED CT Reason Medication Not Given Codes ( Example ) |
|
|
|
CodeableConcept |
Type
of
medication
Binding: MedicationAdministration |
|
|
Σ | 1..1 | CodeableReference ( Medication ) |
What
was
administered
Binding: SNOMED CT Medication Codes ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group ) |
Who
received
medication
|
|
0..1 |
Reference
(
Encounter
|
Encounter
|
|
|
0..* | Reference ( Any ) |
Additional
information
to
support
administration
|
|
|
Σ | 1..1 |
|
|
|
dateTime | |||
|
Period | |||
![]() ![]() ![]() | Timing | |||
![]() ![]() |
|
0..1 | dateTime |
When
the
MedicationAdministration
was
first
captured
in
the
subject's
record
|
| 0..1 | boolean |
Full
dose
was
not
administered
| |
![]() ![]() | 0..* | CodeableConcept |
Reason
full
dose
was
not
administered
Binding: MedicationAdministration Subpotent Reason ( Example ) | |
|
Σ | 0..* | BackboneElement |
Who
or
what
performed
the
medication
administration
and
what
type
of
performance
they
did
|
|
0..1 | CodeableConcept |
Type
of
performance
Binding: MedicationAdministration Performer Function Codes ( Example ) |
|
|
Σ | 1..1 |
|
Who
or
what
performed
the
medication
administration
|
|
0..* |
|
Concept,
condition
or
observation
that
supports
why
the
medication
was
administered
Binding: Reason Medication Given Codes ( Example ) |
|
|
0..1 | Reference ( MedicationRequest ) |
Request
administration
performed
against
|
|
|
0..* |
|
Device
used
to
administer
|
|
|
0..* | Annotation |
Information
about
the
administration
|
|
|
|
0..1 | BackboneElement |
Details
of
how
medication
was
taken
+ Rule: If dosage attribute is present then SHALL have at least one of dosage.text or dosage.dose or dosage.rate[x] |
|
C | 0..1 | string |
Free
text
dosage
instructions
e.g.
SIG
|
|
0..1 | CodeableConcept |
Body
site
administered
to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) |
|
|
0..1 | CodeableConcept |
Path
of
substance
into
body
Binding: SNOMED CT Route Codes ( Example ) |
|
|
0..1 | CodeableConcept |
How
drug
was
administered
Binding: SNOMED CT Administration Method Codes ( Example ) |
|
|
C | 0..1 | SimpleQuantity |
Amount
of
medication
per
dose
|
|
C | 0..1 |
Dose
quantity
per
unit
of
time
|
|
|
Ratio | |||
|
SimpleQuantity | |||
|
0..* | Reference ( Provenance ) |
A
list
of
events
of
interest
in
the
lifecycle
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<MedicationAdministration 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>
< <</partOf><basedOn><!-- 0..* Reference(CarePlan) Plan this is fulfilled by this administration --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration|MedicationDispense| Procedure) Part of referenced event --></partOf> <status value="[code]"/><!-- 1..1 in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown --> <statusReason><!-- 0..* CodeableConcept Reason administration not performed --></statusReason><</category> <</medication[x]><category><!-- 0..* CodeableConcept Type of medication administration --></category> <medication><!-- 1..1 CodeableReference(Medication) What was administered --></medication> <subject><!-- 1..1 Reference(Group|Patient) Who received medication --></subject><</context> <</supportingInformation> <</effective[x]> <<encounter><!-- 0..1 Reference(Encounter) Encounter administered as part of --></encounter> <supportingInformation><!-- 0..* Reference(Any) Additional information to support administration --></supportingInformation> <occurence[x]><!-- 1..1 dateTime|Period|Timing Specific date/time or interval of time during which the administration took place (or did not take place) --></occurence[x]> <recorded value="[dateTime]"/><!-- 0..1 When the MedicationAdministration was first captured in the subject's record --> <isSubPotent value="[boolean]"/><!-- 0..1 Full dose was not administered --> <subPotentReason><!-- 0..* CodeableConcept Reason full dose was not administered --></subPotentReason> <performer> <!-- 0..* Who or what performed the medication administration and what type of performance they did --> <function><!-- 0..1 CodeableConcept Type of performance --></function><| </actor><actor><!-- 1..1 CodeableReference(Device|Patient|Practitioner|PractitionerRole| RelatedPerson) Who or what performed the medication administration --></actor> </performer><</reasonCode> <</reasonReference><reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|Observation) Concept, condition or observation that supports why the medication was administered --></reason> <request><!-- 0..1 Reference(MedicationRequest) Request administration performed against --></request><</device><device><!-- 0..* CodeableReference(Device) Device used to administer --></device> <note><!-- 0..* Annotation Information about the administration --></note> <dosage> <!-- 0..1 Details of how medication was taken --> <The dosage instructions should reflect the dosage of the medication that was administered." class="dict"> The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text value="[string]"/><!-- I 0..1 Free text dosage instructions e.g. SIG --> <site><!-- 0..1 CodeableConcept Body site administered to --></site> <route><!-- 0..1 CodeableConcept Path of substance into body --></route> <method><!-- 0..1 CodeableConcept How drug was administered --></method><</dose> <</rate[x]><dose><!-- I 0..1 Quantity(SimpleQuantity) Amount of medication per dose --></dose> <rate[x]><!-- I 0..1 Ratio|Quantity(SimpleQuantity) Dose quantity per unit of time --></rate[x]> </dosage> <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory> </MedicationAdministration>
JSON Template
{
"resourceType" : "MedicationAdministration",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifier
"
"
"basedOn" : [{ Reference(CarePlan) }], // Plan this is fulfilled by this administration
"partOf" : [{ Reference(MedicationAdministration|MedicationDispense|
Procedure) }], // Part of referenced event
"status" : "<code>", // R! in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
"statusReason" : [{ CodeableConcept }], // Reason administration not performed
"
" },
" },
"category" : [{ CodeableConcept }], // Type of medication administration
"medication" : { CodeableReference(Medication) }, // R! What was administered
"subject" : { Reference(Group|Patient) }, // R! Who received medication
"
"
">",
" },
"
"encounter" : { Reference(Encounter) }, // Encounter administered as part of
"supportingInformation" : [{ Reference(Any) }], // Additional information to support administration
// occurence[x]:
Specific date/time or interval of time during which the administration took place (or did not take place). One of these 3:
"occurenceDateTime" : "<dateTime>",
"occurencePeriod" : { Period },
"occurenceTiming" : { Timing },
"recorded" : "<dateTime>", // When the MedicationAdministration was first captured in the subject's record
"isSubPotent" : <boolean>, // Full dose was not administered
"subPotentReason" : [{ CodeableConcept }], // Reason full dose was not administered
"performer" : [{ // Who or what performed the medication administration and what type of performance they did
"function" : { CodeableConcept }, // Type of performance
"|
"actor" : { CodeableReference(Device|Patient|Practitioner|PractitionerRole|
RelatedPerson) } // R! Who or what performed the medication administration
}],
"
"
"reason" : [{ CodeableReference(Condition|DiagnosticReport|Observation) }], // Concept, condition or observation that supports why the medication was administered
"request" : { Reference(MedicationRequest) }, // Request administration performed against
"
"device" : [{ CodeableReference(Device) }], // Device used to administer
"note" : [{ Annotation }], // Information about the administration
"dosage" : { // Details of how medication was taken
"The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text
The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text" : "<string>", // I Free text dosage instructions e.g. SIG
"site" : { CodeableConcept }, // Body site administered to
"route" : { CodeableConcept }, // Path of substance into body
"method" : { CodeableConcept }, // How drug was administered
"
"dose" : { Quantity(SimpleQuantity) }, // I Amount of medication per dose
// rate[x]: Dose quantity per unit of time. One of these 2:
" }
"rateRatio" : { Ratio },
"rateQuantity" : { Quantity(SimpleQuantity) }
},
"eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MedicationAdministration; 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: fhir: fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] fhir: fhir: fhir: # . One of these 2 fhir: ] fhir: ] fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: fhir:fhir:identifier ( [ Identifier ] ... ) ; # 0..* External identifier fhir:basedOn ( [ Reference(CarePlan) ] ... ) ; # 0..* Plan this is fulfilled by this administration fhir:partOf ( [ Reference(MedicationAdministration|MedicationDispense|Procedure) ] ... ) ; # 0..* Part of referenced event fhir:status [ code ] ; # 1..1 in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown fhir:statusReason ( [ CodeableConcept ] ... ) ; # 0..* Reason administration not performed fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Type of medication administration fhir:medication [ CodeableReference(Medication) ] ; # 1..1 What was administered fhir:subject [ Reference(Group|Patient) ] ; # 1..1 Who received medication fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter administered as part of fhir:supportingInformation ( [ Reference(Any) ] ... ) ; # 0..* Additional information to support administration # occurence[x] : 1..1 Specific date/time or interval of time during which the administration took place (or did not take place). One of these 3 fhir:occurence [ a fhir:dateTime ; dateTime ] fhir:occurence [ a fhir:Period ; Period ] fhir:occurence [ a fhir:Timing ; Timing ] fhir:recorded [ dateTime ] ; # 0..1 When the MedicationAdministration was first captured in the subject's record fhir:isSubPotent [ boolean ] ; # 0..1 Full dose was not administered fhir:subPotentReason ( [ CodeableConcept ] ... ) ; # 0..* Reason full dose was not administered fhir:performer ( [ # 0..* Who or what performed the medication administration and what type of performance they did fhir:function [ CodeableConcept ] ; # 0..1 Type of performance fhir:actor [ CodeableReference(Device|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Who or what performed the medication administration ] ... ) ; fhir:reason ( [ CodeableReference(Condition|DiagnosticReport|Observation) ] ... ) ; # 0..* Concept, condition or observation that supports why the medication was administered fhir:request [ Reference(MedicationRequest) ] ; # 0..1 Request administration performed against fhir:device ( [ CodeableReference(Device) ] ... ) ; # 0..* Device used to administer fhir:note ( [ Annotation ] ... ) ; # 0..* Information about the administration fhir:dosage [ # 0..1 Details of how medication was taken fhir:The dosage instructions should reflect the dosage of the medication that was administered." class="dict">MedicationAdministration.dosage.text fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] ]; fhir: The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text [ string ] ; # 0..1 I Free text dosage instructions e.g. SIG fhir:site [ CodeableConcept ] ; # 0..1 Body site administered to fhir:route [ CodeableConcept ] ; # 0..1 Path of substance into body fhir:method [ CodeableConcept ] ; # 0..1 How drug was administered fhir:dose [ Quantity(SimpleQuantity) ] ; # 0..1 I Amount of medication per dose # rate[x] : 0..1 I Dose quantity per unit of time. One of these 2 fhir:rate [ a fhir:Ratio ; Ratio ] fhir:rate [ a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ] ] ; fhir:eventHistory ( [ Reference(Provenance) ] ... ) ; # 0..* A list of events of interest in the lifecycle ]
Changes since R4
| MedicationAdministration | |
| MedicationAdministration.basedOn |
|
| MedicationAdministration.partOf |
|
| MedicationAdministration.category |
|
| MedicationAdministration.medication |
|
| MedicationAdministration.encounter |
|
| MedicationAdministration.occurence[x] |
|
| MedicationAdministration.recorded |
|
| MedicationAdministration.isSubPotent |
|
| MedicationAdministration.subPotentReason |
|
| MedicationAdministration.performer.actor |
|
| MedicationAdministration.reason |
|
| MedicationAdministration.device |
|
| MedicationAdministration.instantiates |
|
| MedicationAdministration.medication[x] |
|
| MedicationAdministration.context |
|
| MedicationAdministration.effective[x] |
|
| MedicationAdministration.reasonCode |
|
| MedicationAdministration.reasonReference |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
14
tests
that
all
execute
ok.
4
fail
round-trip
testing
and
14
r3
resources
are
invalid
(0
errors).
)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Administration
of
medication
to
a
patient
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
0..* | Identifier |
External
identifier
|
|
|
0..* |
|
|
|
|
Σ | 0..* | Reference ( MedicationAdministration | Procedure | MedicationDispense ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
in-progress
|
not-done
|
on-hold
|
completed
|
entered-in-error
|
stopped
|
unknown
Binding: MedicationAdministration Status Codes ( Required ) |
|
0..* | CodeableConcept |
Reason
administration
not
performed
Binding: SNOMED CT Reason Medication Not Given Codes ( Example ) |
|
|
|
CodeableConcept |
Type
of
medication
Binding: MedicationAdministration |
|
|
Σ | 1..1 | CodeableReference ( Medication ) |
What
was
administered
Binding: SNOMED CT Medication Codes ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group ) |
Who
received
medication
|
|
0..1 |
Reference
(
Encounter
|
Encounter
|
|
|
0..* | Reference ( Any ) |
Additional
information
to
support
administration
|
|
|
Σ | 1..1 |
|
|
|
dateTime | |||
|
Period | |||
![]() ![]() ![]() | Timing | |||
![]() ![]() |
|
0..1 | dateTime |
When
the
MedicationAdministration
was
first
captured
in
the
subject's
record
|
| 0..1 | boolean |
Full
dose
was
not
administered
| |
![]() ![]() | 0..* | CodeableConcept |
Reason
full
dose
was
not
administered
Binding: MedicationAdministration Subpotent Reason ( Example ) | |
|
Σ | 0..* | BackboneElement |
Who
or
what
performed
the
medication
administration
and
what
type
of
performance
they
did
|
|
0..1 | CodeableConcept |
Type
of
performance
Binding: MedicationAdministration Performer Function Codes ( Example ) |
|
|
Σ | 1..1 |
|
Who
or
what
performed
the
medication
administration
|
|
0..* |
|
Concept,
condition
or
observation
that
supports
why
the
medication
was
administered
Binding: Reason Medication Given Codes ( Example ) |
|
|
0..1 | Reference ( MedicationRequest ) |
Request
administration
performed
against
|
|
|
0..* |
|
Device
used
to
administer
|
|
|
0..* | Annotation |
Information
about
the
administration
|
|
|
|
0..1 | BackboneElement |
Details
of
how
medication
was
taken
+ Rule: If dosage attribute is present then SHALL have at least one of dosage.text or dosage.dose or dosage.rate[x] |
|
C | 0..1 | string |
Free
text
dosage
instructions
e.g.
SIG
|
|
0..1 | CodeableConcept |
Body
site
administered
to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) |
|
|
0..1 | CodeableConcept |
Path
of
substance
into
body
Binding: SNOMED CT Route Codes ( Example ) |
|
|
0..1 | CodeableConcept |
How
drug
was
administered
Binding: SNOMED CT Administration Method Codes ( Example ) |
|
|
C | 0..1 | SimpleQuantity |
Amount
of
medication
per
dose
|
|
C | 0..1 |
Dose
quantity
per
unit
of
time
|
|
|
Ratio | |||
|
SimpleQuantity | |||
|
0..* | Reference ( Provenance ) |
A
list
of
events
of
interest
in
the
lifecycle
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<MedicationAdministration 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>
< <</partOf><basedOn><!-- 0..* Reference(CarePlan) Plan this is fulfilled by this administration --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration|MedicationDispense| Procedure) Part of referenced event --></partOf> <status value="[code]"/><!-- 1..1 in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown --> <statusReason><!-- 0..* CodeableConcept Reason administration not performed --></statusReason><</category> <</medication[x]><category><!-- 0..* CodeableConcept Type of medication administration --></category> <medication><!-- 1..1 CodeableReference(Medication) What was administered --></medication> <subject><!-- 1..1 Reference(Group|Patient) Who received medication --></subject><</context> <</supportingInformation> <</effective[x]> <<encounter><!-- 0..1 Reference(Encounter) Encounter administered as part of --></encounter> <supportingInformation><!-- 0..* Reference(Any) Additional information to support administration --></supportingInformation> <occurence[x]><!-- 1..1 dateTime|Period|Timing Specific date/time or interval of time during which the administration took place (or did not take place) --></occurence[x]> <recorded value="[dateTime]"/><!-- 0..1 When the MedicationAdministration was first captured in the subject's record --> <isSubPotent value="[boolean]"/><!-- 0..1 Full dose was not administered --> <subPotentReason><!-- 0..* CodeableConcept Reason full dose was not administered --></subPotentReason> <performer> <!-- 0..* Who or what performed the medication administration and what type of performance they did --> <function><!-- 0..1 CodeableConcept Type of performance --></function><| </actor><actor><!-- 1..1 CodeableReference(Device|Patient|Practitioner|PractitionerRole| RelatedPerson) Who or what performed the medication administration --></actor> </performer><</reasonCode> <</reasonReference><reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|Observation) Concept, condition or observation that supports why the medication was administered --></reason> <request><!-- 0..1 Reference(MedicationRequest) Request administration performed against --></request><</device><device><!-- 0..* CodeableReference(Device) Device used to administer --></device> <note><!-- 0..* Annotation Information about the administration --></note> <dosage> <!-- 0..1 Details of how medication was taken --> <The dosage instructions should reflect the dosage of the medication that was administered." class="dict"> The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text value="[string]"/><!-- I 0..1 Free text dosage instructions e.g. SIG --> <site><!-- 0..1 CodeableConcept Body site administered to --></site> <route><!-- 0..1 CodeableConcept Path of substance into body --></route> <method><!-- 0..1 CodeableConcept How drug was administered --></method><</dose> <</rate[x]><dose><!-- I 0..1 Quantity(SimpleQuantity) Amount of medication per dose --></dose> <rate[x]><!-- I 0..1 Ratio|Quantity(SimpleQuantity) Dose quantity per unit of time --></rate[x]> </dosage> <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory> </MedicationAdministration>
JSON Template
{
"resourceType" : "MedicationAdministration",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifier
"
"
"basedOn" : [{ Reference(CarePlan) }], // Plan this is fulfilled by this administration
"partOf" : [{ Reference(MedicationAdministration|MedicationDispense|
Procedure) }], // Part of referenced event
"status" : "<code>", // R! in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
"statusReason" : [{ CodeableConcept }], // Reason administration not performed
"
" },
" },
"category" : [{ CodeableConcept }], // Type of medication administration
"medication" : { CodeableReference(Medication) }, // R! What was administered
"subject" : { Reference(Group|Patient) }, // R! Who received medication
"
"
">",
" },
"
"encounter" : { Reference(Encounter) }, // Encounter administered as part of
"supportingInformation" : [{ Reference(Any) }], // Additional information to support administration
// occurence[x]:
Specific date/time or interval of time during which the administration took place (or did not take place). One of these 3:
"occurenceDateTime" : "<dateTime>",
"occurencePeriod" : { Period },
"occurenceTiming" : { Timing },
"recorded" : "<dateTime>", // When the MedicationAdministration was first captured in the subject's record
"isSubPotent" : <boolean>, // Full dose was not administered
"subPotentReason" : [{ CodeableConcept }], // Reason full dose was not administered
"performer" : [{ // Who or what performed the medication administration and what type of performance they did
"function" : { CodeableConcept }, // Type of performance
"|
"actor" : { CodeableReference(Device|Patient|Practitioner|PractitionerRole|
RelatedPerson) } // R! Who or what performed the medication administration
}],
"
"
"reason" : [{ CodeableReference(Condition|DiagnosticReport|Observation) }], // Concept, condition or observation that supports why the medication was administered
"request" : { Reference(MedicationRequest) }, // Request administration performed against
"
"device" : [{ CodeableReference(Device) }], // Device used to administer
"note" : [{ Annotation }], // Information about the administration
"dosage" : { // Details of how medication was taken
"The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text
The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text" : "<string>", // I Free text dosage instructions e.g. SIG
"site" : { CodeableConcept }, // Body site administered to
"route" : { CodeableConcept }, // Path of substance into body
"method" : { CodeableConcept }, // How drug was administered
"
"dose" : { Quantity(SimpleQuantity) }, // I Amount of medication per dose
// rate[x]: Dose quantity per unit of time. One of these 2:
" }
"rateRatio" : { Ratio },
"rateQuantity" : { Quantity(SimpleQuantity) }
},
"eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MedicationAdministration; 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: fhir: fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] fhir: fhir: fhir: # . One of these 2 fhir: ] fhir: ] fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: fhir:fhir:identifier ( [ Identifier ] ... ) ; # 0..* External identifier fhir:basedOn ( [ Reference(CarePlan) ] ... ) ; # 0..* Plan this is fulfilled by this administration fhir:partOf ( [ Reference(MedicationAdministration|MedicationDispense|Procedure) ] ... ) ; # 0..* Part of referenced event fhir:status [ code ] ; # 1..1 in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown fhir:statusReason ( [ CodeableConcept ] ... ) ; # 0..* Reason administration not performed fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Type of medication administration fhir:medication [ CodeableReference(Medication) ] ; # 1..1 What was administered fhir:subject [ Reference(Group|Patient) ] ; # 1..1 Who received medication fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter administered as part of fhir:supportingInformation ( [ Reference(Any) ] ... ) ; # 0..* Additional information to support administration # occurence[x] : 1..1 Specific date/time or interval of time during which the administration took place (or did not take place). One of these 3 fhir:occurence [ a fhir:dateTime ; dateTime ] fhir:occurence [ a fhir:Period ; Period ] fhir:occurence [ a fhir:Timing ; Timing ] fhir:recorded [ dateTime ] ; # 0..1 When the MedicationAdministration was first captured in the subject's record fhir:isSubPotent [ boolean ] ; # 0..1 Full dose was not administered fhir:subPotentReason ( [ CodeableConcept ] ... ) ; # 0..* Reason full dose was not administered fhir:performer ( [ # 0..* Who or what performed the medication administration and what type of performance they did fhir:function [ CodeableConcept ] ; # 0..1 Type of performance fhir:actor [ CodeableReference(Device|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Who or what performed the medication administration ] ... ) ; fhir:reason ( [ CodeableReference(Condition|DiagnosticReport|Observation) ] ... ) ; # 0..* Concept, condition or observation that supports why the medication was administered fhir:request [ Reference(MedicationRequest) ] ; # 0..1 Request administration performed against fhir:device ( [ CodeableReference(Device) ] ... ) ; # 0..* Device used to administer fhir:note ( [ Annotation ] ... ) ; # 0..* Information about the administration fhir:dosage [ # 0..1 Details of how medication was taken fhir:The dosage instructions should reflect the dosage of the medication that was administered." class="dict">MedicationAdministration.dosage.text fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir:) ] ]; fhir: The dosage instructions should reflect the dosage of the medication that was administered." class="dict">text [ string ] ; # 0..1 I Free text dosage instructions e.g. SIG fhir:site [ CodeableConcept ] ; # 0..1 Body site administered to fhir:route [ CodeableConcept ] ; # 0..1 Path of substance into body fhir:method [ CodeableConcept ] ; # 0..1 How drug was administered fhir:dose [ Quantity(SimpleQuantity) ] ; # 0..1 I Amount of medication per dose # rate[x] : 0..1 I Dose quantity per unit of time. One of these 2 fhir:rate [ a fhir:Ratio ; Ratio ] fhir:rate [ a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ] ] ; fhir:eventHistory ( [ Reference(Provenance) ] ... ) ; # 0..* A list of events of interest in the lifecycle ]
Changes since Release 4
| MedicationAdministration | |
| MedicationAdministration.basedOn |
|
| MedicationAdministration.partOf |
|
| MedicationAdministration.category |
|
| MedicationAdministration.medication |
|
| MedicationAdministration.encounter |
|
| MedicationAdministration.occurence[x] |
|
| MedicationAdministration.recorded |
|
| MedicationAdministration.isSubPotent |
|
| MedicationAdministration.subPotentReason |
|
| MedicationAdministration.performer.actor |
|
| MedicationAdministration.reason |
|
| MedicationAdministration.device |
|
| MedicationAdministration.instantiates |
|
| MedicationAdministration.medication[x] |
|
| MedicationAdministration.context |
|
| MedicationAdministration.effective[x] |
|
| MedicationAdministration.reasonCode |
|
| MedicationAdministration.reasonReference |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
14
tests
that
all
execute
ok.
4
fail
round-trip
testing
and
14
r3
resources
are
invalid
(0
errors).
)
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
,
the
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| MedicationAdministration.status | MedicationAdministrationStatusCodes | Required |
MedicationAdministration Status Codes |
| MedicationAdministration.statusReason | SNOMEDCTReasonMedicationNotGivenCodes | Example |
This value set includes all medication refused, medication not administered, and non-administration of necessary drug or medicine codes from SNOMED CT - provided as an exemplar value set. |
| MedicationAdministration.category | MedicationAdministrationLocationCodes |
|
MedicationAdministration
|
|
|
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. |
| MedicationAdministration.subPotentReason | MedicationAdministrationSubpotentReason (a valid code from Administration SubPotent Reason ) | Example | MedicationAdministration Subpotent Reason |
| MedicationAdministration.performer.function | MedicationAdministrationPerformerFunctionCodes | Example |
MedicationAdministration Performer Function Codes |
|
|
ReasonMedicationGivenCodes | Example |
This value set is provided as an example. The value set to instantiate this attribute should be drawn from a robust terminology code system that consists of or contains concepts to support the medication process. |
| MedicationAdministration.dosage.site | SNOMEDCTAnatomicalStructureAdministrationSites | Example |
This value set includes Anatomical Structure codes from SNOMED CT - provided as an exemplar. |
| MedicationAdministration.dosage.route | SNOMEDCTRouteCodes | Example |
This value set includes all Route codes from SNOMED CT - provided as an exemplar. |
| MedicationAdministration.dosage.method | SNOMEDCTAdministrationMethodCodes | Example |
This value set includes some method codes from SNOMED CT - provided as an exemplar |
|
|
Level | Location | Description | Expression |
mad-1
|
Rule | MedicationAdministration.dosage | If dosage attribute is present then SHALL have at least one of dosage.text or dosage.dose or dosage.rate[x] |
|
| Issue | Comments |
|---|---|
| Medication Resource |
A
medication
will
typically
be
referred
to
by
means
of
a
code
drawn
from
a
suitable
medication
terminology.
However,
on
occasion
a
product
will
be
required
for
which
the
"recipe"
must
be
specified.
This
implies
a
requirement
to
deal
with
a
choice
of
either
a
code
or
a
much
more
complete
resource.
Currently that resource has not been created. |
| Contrast Media | Is this resource adequate for administering contrast media to a patient? |
| Author (accountability) | Authorship (and any other accountability) is assumed to be dealt with by the standard FHIR methods. |
Medication administrations can be done by:
In order to administer a medication, there is often a list of medications that includes the medication itself e.g code or name , dose, date/time the medication is to be administered and route and in some cases additional administration instructions. A common name for this type of list of medications to be administered and the corresponding record of medication administrations is Medication Administration Record (MAR).
Medication Administration Record (MAR) - a view of a patients medications that need to be administered. Typically, an MAR is seen in settings where there is a requirement to document who, when, what and where information, concerning medications administered to a patient, or if self-administered, taken by a patient. The same record often has two primary functions - first it lists what medications need to be administered and what date and time or time interval, the administration should be done; and second it lists what medications have been administered and the details associated with the administration.
| Resource Element | Clinical Description |
|---|---|
| MedicationRequest.intent=instance-order | Specific instance of a medication order, sometimes called a "child" order of the parent full medication order |
| MedicationRequest.medication.concept or reference to Medication resource | Drug that has been ordered and is to be administered |
| MedicationRequest.dosage.dose[x] or rate[x] | Dose of medication to be administered. If the drug is intravenous, you may represent this administration as a rate. |
| MedicationRequest.dosageInstructions.dosage.timing.bounds | Time the medication should be administered e.g. 10am on a specific date, or at time of sleep, or after breakfast, or over 60 minutes starting at 3pm on a specific date, etc. |
| MedicationRequest.dosageInstructions.dosage.route | Route of administration e.g. oral, intravenous, topical, etc. |
| MedicationRequest.dosageInstructions.dosage.site | Anatomical site where the drug enters the body e.g. subclavian vein |
Other attributes may be included, such as those for access sites, dosage instructions, reason, device used, etc. The list of attributes above is meant to help the reader understand the definitions. It is not meant to define what attributes an individual implementation may include in their design.
| Resource Element | Clinical Description |
|---|---|
| MedicationAdministration.medication.concept or reference to Medication resource | Drug that has been administered |
| MedicationAdministration.dosage.dose or rate[x] | Dose of medication that was administered. If the drug is intravenous, you may represent this a rate e.g. 60 ml/30 minutes |
| MedicationAdministration.occurence.occurenceDateTime or OccurencePeriod | Date and time or, date/time of the period over which the medication was administered |
| MedicationAdministration.dosage.route | Route of administration used to administer medication to the patient |
| MedicationAdministration.dosage.site | Anatomical site where the drug administered entered the body e.g. subclavian vein |
| MedicationAdministration.statusReason | The reason for not giving the medication. This is used when the status = not-done. |
| MedicationAdministration.supportingInformation.reference (resource) | Used to capture data such as lab test values or heart rate, or blood pressure values, etc. This type of data is often expressed in the order and is used to determine if the medication should be administered or held. |
| MedicationAdministration.performer.function (=performer) MedicationAdministration.performer.actor.reference (resource) | Identifies who administered the medication. The specific referenced resource could be: Provider, Patient, Device, RelatedPerson |
| MedicationAdministration.performer.function (=verifier) MedicationAdministration.performer.actor.reference (resource) | Identifies who verified the medication to be administered. This is most often a clinician who is verifying the administration for another clinician where there is a requirement for verification prior to administration. |
Other attributes may be included e.g. method, reason, etc. The list of attributes above is meant to help the reader understand the definitions. It is not meant to define what attributes an individual implementation may include in their design.
Scheduled Medication Administration information is used to inform the person who will administer the medication(s) the date/time, and medication specific information e.g., dose, route, method, special instructions for each medication a person is scheduled to take.
Recording Medication Administration details provides a place to capture the data about the actual administration e.g., date/time or time interval of administration, dose, route, method, device, performer, etc.
Depending on the type of application, this type of information may be presented to the user who is administering the medication in an EHR module for medication administration, in a mobile application for the patient or caregiver.
Medication administrations occur in all types of settings e.g. hospitals, outpatient clinics, home, ambulance, ER, etc.
The list of medications to be administered, or that have been administered may be captured in an application on a patient's phone, tablet or computer workstation.
The lists may be created by a variety of users or systems, for example:
Data sources for the medications that are listed on the Medication Administration list determine what will be displayed to a user. Here are two common examples:
Provider view Medication Administration list may include medications that come from:
Patient view Medication Administration list may include medications that come:
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 | Return administrations of this medication code |
|
22 Resources |
|
|
|
|
|
1 Resources |
| device | reference | Return administrations with this administration device identity |
|
|
|
|
|
|
( Encounter ) |
2 Resources |
| identifier | token | Return administrations with this external identifier | MedicationAdministration.identifier | 65 Resources |
| medication | reference |
Return
administrations
of
this
medication
|
|
4 Resources |
| patient | reference | The identity of a patient to list administrations for |
MedicationAdministration.subject.where(resolve()
is
Patient)
( Patient ) |
66 Resources |
| performer | reference | The identity of the individual who administered the medication |
| |
|
| token | The identity of the individual who administered the medication | MedicationAdministration.performer.actor.concept | |
| reason-given | reference | Reference to a resource (by instance) | MedicationAdministration.reason.reference | |
| reason-given-code | token | Reasons for administering the medication |
|
|
| reason-not-given | token | Reasons for not administering the medication | MedicationAdministration.statusReason | |
| request | reference | The identity of a request to list administrations from |
MedicationAdministration.request
( MedicationRequest ) |
|
| status | token | MedicationAdministration event status (for example one of active/paused/completed/nullified) | MedicationAdministration.status | 4 Resources |
| subject | reference | The identity of the individual or group to list administrations for |
MedicationAdministration.subject
( Group , Patient ) |