MedicationAdministration
Introduction
Scope and Usage
This resource covers the administration of all medications. Please refer to the Immunization resource/Profile for the treatment of vaccines. It will principally be used within care settings (including inpatient) to record medication administrations, including self-administrations of oral medications, injections, 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
Boundaries and Relationships
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 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. |
MedicationAdministration is intended for tracking the administration of 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. However, if systems need to use a MedicationAdministration resource to capture vaccinations for workflow or other reasons, a Medication Administration resource may be used but systems SHOULD also create and expose an equivalent Immunization instance.
Notes
Known Issues
| 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. <br/> 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 Administration Lists
Medication Administration Record (MAR) Use Case
Medication administrations can be done by:
- clinician e.g. nurse, physician, other providers
- patient via self-administration
- family member e.g. mother for the baby
- caregiver (non-clinician)
- devices e.g. IV pumps, insulin pumps, patient-controlled analgesic (PCA) pumps
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).
Synonyms/Key Definitions
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.
- Scheduled Medication Administration - this represents a specific medication, a dose, or IV rate, a route of administration, a date and time, dosage instructions, and optionally, it may include a time interval Use the MedicationRequest resource to represent each individual medication 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.
- Recording a Medication Administration - this represents a specific medication administration that includes a dose, or IV rate, a route of administration, and optional administration method, a date and time, or in the case of some IV medications a start date/time and end date/time, administration site, name of person who administered the medication, optional details about the administration e.g., patient refused, patient only took a partial dose because they were ill, etc.
| 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.occurrenceDateTime or .occurrencePeriod | 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.
Rationale
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.
Setting
Medication administrations occur in all types of settings e.g. hospitals, outpatient clinics, home, ambulance, ER, etc.
Description
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:
- Patient - direct entry into a mobile app
- Other e.g. parent for a child, caregiver for a patient
- Electronically e.g., health system auto generates the list from orders/prescriptions known to the system
- Clinician e.g., user entry within an EHR Medication Administration module
- Output of a process e.g. medication reconciliation; new or updated medication orders (prescriptions, requests)
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:
- Prescribed by clinicians who have the authority to write these types of medication orders
- Over-the-counter (OTC) medications that the patient informs/adds to the list - this would include herbals and supplements
- NOTE: Medication errors may lead to medications potentially showing up on a list of medications to be administered e.g., medication order was written for the wrong patient In this case, the MAR indicates that a medication should be administered to a patient (later found to be in error e.g., wrong patient)
- NOTE: Medication errors may also lead to medications showing up on a list of administered medications e.g., medication was mistakenly administered to the wrong patient, or the wrong dose was administered, or wrong route was used, etc.
Patient view Medication Administration list may include medications that come:
- from an identical list as above with the following caveats:
- The list might not include some medications if the patient is one of the sources for the list and states they are not taking a specific medication, irrespective of whether it was prescribed
- The patient does not know or has incomplete memory of the medications they have been prescribed
- The level of detail for each medication might not be as detailed as provider-based list
StructureDefinition
Elements (Simplified)
- MedicationAdministration [0..*]: - Administration of medication to a patient
- MedicationAdministration.identifier [0..*]: Identifier External identifier
- MedicationAdministration.basedOn [0..*]: Reference(CarePlan) Plan this is fulfilled by this administration
- MedicationAdministration.partOf [0..*]: [Reference(MedicationAdministration](/Reference(MedicationAdministration), Procedure, MedicationDispense)) Part of referenced event
- MedicationAdministration.status [1..1]: code required:medication-admin-status in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
- MedicationAdministration.statusReason [0..*]: CodeableConcept example:reason-medication-not-given-codes Reason status of the administration changed
- MedicationAdministration.category [0..*]: CodeableConcept example:medication-admin-category Type of medication administration
- MedicationAdministration.medication [1..1]: CodeableReference example:medication-codes What was administered
- MedicationAdministration.subject [1..1]: [Reference(Patient](/Reference(Patient), Group)) Who received medication
- MedicationAdministration.encounter [0..1]: Reference(Encounter) Encounter administered as part of
- MedicationAdministration.supportingInformation [0..*]: Reference(Resource) Additional information to support administration
- MedicationAdministration.occurrence[x] [1..1]: dateTime, Period, Timing Specific date/time or interval of time during which the administration took place (or did not take place)
- MedicationAdministration.recorded [0..1]: dateTime When the MedicationAdministration was first captured in the subject's record
- MedicationAdministration.isSubPotent [0..1]: boolean An indication that the full ordered dose was not administered
- MedicationAdministration.subPotentReason [0..*]: CodeableConcept example:administration-subpotent-reason Reason full dose was not administered
- MedicationAdministration.performer [0..*]: BackboneElement Who or what performed the medication administration and what type of performance they did
- MedicationAdministration.performer.function [0..1]: CodeableConcept example:med-admin-perform-function Type of performance
- MedicationAdministration.performer.actor [1..1]: CodeableReference Who or what performed the medication administration
- MedicationAdministration.reason [0..*]: CodeableReference example:reason-medication-given-codes Reason that supports why the medication was administered
- MedicationAdministration.request [0..1]: Reference(MedicationRequest) Request administration performed against
- MedicationAdministration.device [0..*]: CodeableReference Device used to administer
- MedicationAdministration.note [0..*]: Annotation Information about the administration
- MedicationAdministration.dosage [0..1]: BackboneElement Details of how medication was taken
- MedicationAdministration.dosage.text [0..1]: string Free text dosage instructions e.g. SIG
- MedicationAdministration.dosage.site [0..1]: CodeableConcept example:approach-site-codes Body site administered to
- MedicationAdministration.dosage.route [0..1]: CodeableConcept example:route-codes Path of substance into body
- MedicationAdministration.dosage.method [0..1]: CodeableConcept example:administration-method-codes How drug was administered
- MedicationAdministration.dosage.dose [0..1]: Quantity(SimpleQuantity) Amount of medication per dose
- MedicationAdministration.dosage.rate[x] [0..1]: Ratio, Quantity(SimpleQuantity) Dose quantity per unit of time
- MedicationAdministration.eventHistory [0..*]: Reference(Provenance) A list of events of interest in the lifecycle
Mappings
- MedicationAdministration Mappings — 68 mapping entries
Resource Packs
list-MedicationAdministration-packs.xml
<?xml version="1.0" encoding="UTF-8"?>
<List xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../publish/List.xsd">
<id value="MedicationAdministration-packs"/>
<status value="current"/>
</List>
Search Parameters
- code — token — Return administrations of this medication code —
MedicationAdministration.medication.concept - date — date — Date administration happened (or did not happen) —
MedicationAdministration.occurrence.ofType(dateTime) | MedicationAdministration.occurrence.ofType(Period) - device — reference — Return administrations with this administration device identity —
MedicationAdministration.device.reference - encounter — reference — Return administrations that share this encounter —
MedicationAdministration.encounter - identifier — token — Return administrations with this external identifier —
MedicationAdministration.identifier - medication — reference — Return administrations of this medication reference —
MedicationAdministration.medication.reference - patient — reference — The identity of a patient to list administrations for —
MedicationAdministration.subject.where(resolve() is Patient) - performer — reference — The identity of the individual who administered the medication —
MedicationAdministration.performer.actor.reference - performer-device-code — 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 —
MedicationAdministration.reason.concept - 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 - status — token — MedicationAdministration event status (for example one of active/paused/completed/nullified) —
MedicationAdministration.status - subject — reference — The identity of the individual or group to list administrations for —
MedicationAdministration.subject
Examples
- medadmin0301 — medicationadministration0301 — Intravenous Antibiotic - Vancomycin
- medadmin0302 — medicationadministration0302 — Intravenous Admixture - Potassium Chloride in D5W
- medadmin0303 — medicationadministration0303 — Intravenous Antibiotic with a Dosage Rate - Piperacillin
- medadmin0304 — medicationadministration0304 — Intravenous Chemotherapy (Inpatient order) - Alemtuzumab - completed
- medadmin0305 — medicationadministration0305 — Intravenous Chemotherapy (Inpatient order) - Brentuximab Vedotin
- medadmin0306 — medicationadministration0306 — Oral Antibiotic - Azithromycin
- medadmin0307 — medicationadministration0307 — Lorazepam with a Device
- medadmin0308 — medicationadministration0308 — Subcutaneous Injection - Insulin - Lantus
- medadmin0309 — medicationadministration0309 — TPN Solution with a Device
- medadmin0310 — medicationadministration0310 — Oral Chemotherapy - Myleran
- medadmin0311 — medicationadministration0311 — Dosage with a Pre-Condition - Alprazolam
- medadmin0312 — medicationadministration0312 — Medication Code - Patch - Fentanyl
- medadmin0313 — medicationadministration0313 — Medication Code - Rectal Suppository - Acetaminophen
- medadminexample03 — medicationadministrationexample3 — Example of an IV administration not given with a note - Alemtuzumab
- medicationadministration-example — medicationadministration-example
- medicationadministration-examples-header — medicationadministration-examples-header
Mapping Exceptions
medicationadministration-event-mapping-exceptions.xml
Divergent Elements
- Event.identifier → MedicationAdministration.identifier
- summary | reason=Unknown | pattern=true
- shortUnmatched | reason=Unknown | pattern=Business identifier for medication administration | resource=External identifier
- definitionUnmatched | reason=Unknown | pattern=Business identifiers assigned to this medication administration by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server. | resource=Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
- commentsUnmatched | reason=Unknown | pattern=Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. | resource=This is a business identifier, not a resource identifier.
- requirementsUnmatched | reason=Unknown | pattern=Allows identification of the medication administration as it is known by various participating systems and in a way that remains consistent across servers.
- Event.basedOn → MedicationAdministration.request
- missingTypes | reason=Unknown | pattern=Reference(Request)
- extraTypes | reason=Unknown
- summary | reason=Unknown | pattern=true
- shortUnmatched | reason=Unknown | pattern=Fulfills plan, proposal or order | resource=Request administration performed against
- definitionUnmatched | reason=Unknown | pattern=A plan, proposal or order that is fulfilled in whole or in part by this medication administration. | resource=The original request, instruction or authority to perform the administration.
- requirementsUnmatched | reason=Unknown | pattern=Allows tracing of authorization for the medication administration and tracking whether proposals/recommendations were acted upon.
- Event.partOf → MedicationAdministration.partOf
- missingTypes | reason=Unknown | pattern=Reference(Event)
- extraTypes | reason=Unknown
- definitionUnmatched | reason=Unknown | pattern=A larger event of which this particular medication administration is a component or step. | resource=A larger event of which this particular event is a component or step.
- commentsUnmatched | reason=Unknown | pattern=Not to be used to link an medication administration to an Encounter - use 'context' for that. | resource=MedicationDispense will be used to indicate waste.
- Event.status → MedicationAdministration.status
- shortUnmatched | reason=Unknown | pattern=preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown | resource=in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
- definitionUnmatched | reason=Unknown | pattern=The current state of the medication administration. | resource=Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way.
- commentsUnmatched | reason=Unknown | pattern=A nominal state-transition diagram can be found in the (Event pattern documentation
Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. | resource=This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
- Event.statusReason → MedicationAdministration.statusReason
- shortUnmatched | reason=Unknown | pattern=Reason for current status | resource=Reason status of the administration changed
- definitionUnmatched | reason=Unknown | pattern=Captures the reason for the current state of the medication administration. | resource=A code indicating why the status of the administration changed.
- commentsUnmatched | reason=Unknown | pattern=This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". The reason for performing the event at all is captured in reasonCode, not here. .
- Event.code → MedicationAdministration.medication
- missingTypes | reason=Unknown | pattern=CodeableConcept
- extraTypes | reason=Unknown
- shortUnmatched | reason=Unknown | pattern=What service was done | resource=What was administered
- definitionUnmatched | reason=Unknown | pattern=A code that identifies the specific service or action that was or is being performed. | resource=Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
- Event.subject → MedicationAdministration.subject
- shortUnmatched | reason=Unknown | pattern=Individual service was done for/to | resource=Who received medication
- definitionUnmatched | reason=Unknown | pattern=The individual or set of individuals the action is being or was performed on. | resource=The person or animal or group receiving the medication.
- requirementsUnmatched | reason=Unknown | pattern=Links the medication administration to the Patient context. May also affect access control.
- Event.encounter → MedicationAdministration.encounter
- summary | reason=Unknown | pattern=true
- shortUnmatched | reason=Unknown | pattern=Encounter the medication administration is part of | resource=Encounter administered as part of
- definitionUnmatched | reason=Unknown | pattern=The Encounter during which this medication administration was created or to which the creation of this record is tightly associated. | resource=The visit, admission, or other contact between patient and health care provider during which the medication administration was performed.
- commentsUnmatched | reason=Unknown | pattern=This will typically be the encounter the medication administration was created during, but some medication administrations may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission lab tests).
- requirementsUnmatched | reason=Unknown | pattern=Links the medication administration to the Encounter context. May also affect access control.
- Event.occurrence[x] → MedicationAdministration.occurrence[x]
- shortUnmatched | reason=Unknown | pattern=When medication administration occurred/is occurring | resource=Specific date/time or interval of time during which the administration took place (or did not take place)
- definitionUnmatched | reason=Unknown | pattern=The date, period or timing when the medication administration did occur or is occurring. | resource=A specific date/time or interval of time during which the administration took place (or did not take place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.
- commentsUnmatched | reason=Unknown | pattern=This indicates when the activity actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this {{event}} is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. .
- Event.performer → MedicationAdministration.performer
- extraTypes | reason=Unknown
- shortUnmatched | reason=Unknown | pattern=Who performed medication administration and what they did | resource=Who or what performed the medication administration and what type of performance they did
- definitionUnmatched | reason=Unknown | pattern=Indicates who or what performed the medication administration and how they were involved. | resource=The performer of the medication treatment. For devices this is the device that performed the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.
- Event.performer.function → MedicationAdministration.performer.function
- summary | reason=Unknown | pattern=true
- definitionUnmatched | reason=Unknown | pattern=Distinguishes the type of involvement of the performer in the medication administration.. | resource=Distinguishes the type of involvement of the performer in the medication administration.
- requirementsUnmatched | reason=Unknown | pattern=Allows disambiguation of the types of involvement of different performers.
- Event.performer.actor → MedicationAdministration.performer.actor
- missingTypes | reason=Unknown | pattern=Reference(Practitioner, PractitionerRole, Organization, CareTeam, Patient, Device, RelatedPerson)
- extraTypes | reason=Unknown
- shortUnmatched | reason=Unknown | pattern=Who performed medication administration | resource=Who or what performed the medication administration
- Event.reason → MedicationAdministration.reason
- summary | reason=Unknown | pattern=true
- shortUnmatched | reason=Unknown | pattern=Why was medication administration performed? | resource=Reason that supports why the medication was administered
- definitionUnmatched | reason=Unknown | pattern=Describes why the medication administration occurred in coded or textual form or Indicates another resource whose existence justifies this medication administration. | resource=A code, Condition or observation that supports why the medication was administered.
- commentsUnmatched | reason=Unknown | pattern=Textual reasons can be captured using reasonCode.text.
- Event.note → MedicationAdministration.note
- shortUnmatched | reason=Unknown | pattern=Comments made about the event | resource=Information about the administration
- definitionUnmatched | reason=Unknown | pattern=Comments made about the medication administration by the performer, subject or other participants. | resource=Extra information about the medication administration that is not conveyed by the other attributes.
Unmapped Elements
- Event.reported — Unknown
- Event.relevantHistory — Unknown
- Event.category — Unknown
- Event.recorded — Unknown
- Event.product — Unknown
medicationadministration-fivews-mapping-exceptions.xml
Divergent Elements
- FiveWs.context → MedicationAdministration.supportingInformation
Unmapped Elements
- FiveWs.author — Unknown
- FiveWs.cause — Unknown
- FiveWs.version — Unknown
- FiveWs.witness — Unknown
- FiveWs.class — Unknown
- FiveWs.where — Unknown
- FiveWs.init — Unknown
- FiveWs.why — Unknown
- FiveWs.source — Unknown
- FiveWs.who — Unknown
- FiveWs.grade — Unknown
- FiveWs.planned — Unknown