Release 4B R5 Final QA

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

11.2 Resource MedicationAdministration - Content

Pharmacy icon Work Group Maturity Level : 2   Trial Use Security Category : Patient Compartments : Device , Encounter , Patient , Practitioner , RelatedPerson

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 them 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 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.

This resource is referenced by

Structure

Σ Condition
Name Flags Card. Type Description & Constraints doco
. . MedicationAdministration TU DomainResource Administration of medication to a patient

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier 0..* Identifier External identifier

. . instantiates . basedOn 0..* uri Reference ( CarePlan ) Instantiates protocol or definition Plan this is fulfilled by this administration

. . . partOf Σ 0..* Reference ( MedicationAdministration | Procedure | MedicationDispense ) Part of referenced event

. . . statusReason 0..* CodeableConcept Reason administration not performed
Binding: SNOMED CT Reason Medication Not Given Codes ( Example )

. . . category 0..1 0..* CodeableConcept Type of medication usage administration
Binding: MedicationAdministration Category Location Codes ( Preferred Example )

. . medication[x] . medication Σ 1..1 CodeableReference ( Medication ) What was administered
Binding: SNOMED CT Medication Codes ( Example ) medicationCodeableConcept CodeableConcept medicationReference Reference ( Medication )
. . . subject Σ 1..1 Reference ( Patient | Group ) Who received medication
. . . context encounter 0..1 Reference ( Encounter | EpisodeOfCare ) Encounter or Episode of Care administered as part of
. . . supportingInformation 0..* Reference ( Any ) Additional information to support administration

. . . effective[x] occurence[x] Σ 1..1 Start and end time Specific date/time or interval of time during which the administration took place (or did not take place)
. . . . effectiveDateTime occurenceDateTime dateTime
. . . . effectivePeriod occurencePeriod Period
.... occurenceTiming Timing
... recorded Period Σ 0..1 dateTime When the MedicationAdministration was first captured in the subject's record
. . . isSubPotent 0..1 boolean Full dose was not administered
... subPotentReason 0..* CodeableConcept Reason full dose was not administered
Binding: MedicationAdministration Subpotent Reason ( Example )

. . . performer Σ 0..* BackboneElement Who or what performed the medication administration and what type of performance they did

. . . . function 0..1 CodeableConcept Type of performance
Binding: MedicationAdministration Performer Function Codes ( Example )
. . . . actor Σ 1..1 Reference CodeableReference ( Practitioner | PractitionerRole | Patient | RelatedPerson | Device ) Who or what performed the medication administration
. . reasonCode . reason 0..* CodeableConcept Reason administration performed Reason Medication Given Codes ( Example ) reasonReference 0..* Reference CodeableReference ( Condition | Observation | DiagnosticReport ) Concept, condition or observation that supports why the medication was administered
Binding: Reason Medication Given Codes ( Example )

. . . request 0..1 Reference ( MedicationRequest ) Request administration performed against
. . . device 0..* Reference CodeableReference ( Device ) Device used to administer

. . . note 0..* Annotation Information about the administration

. . . dosage I C 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]
. . . . text C 0..1 string Free text dosage instructions e.g. SIG
. . . . site 0..1 CodeableConcept Body site administered to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example )
. . . . route 0..1 CodeableConcept Path of substance into body
Binding: SNOMED CT Route Codes ( Example )
. . . . method 0..1 CodeableConcept How drug was administered
Binding: SNOMED CT Administration Method Codes ( Example )
. . . . dose C 0..1 SimpleQuantity Amount of medication per dose
. . . . rate[x] C 0..1 Dose quantity per unit of time
. . . . . rateRatio Ratio
. . . . . rateQuantity SimpleQuantity
. . . eventHistory 0..* Reference ( Provenance ) A list of events of interest in the lifecycle


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

MedicationAdministration ( DomainResource ) 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 identifier : Identifier [0..*] A protocol, guideline, orderset, or other definition plan that was adhered to is fulfilled in whole or in part by this event MedicationAdministration instantiates basedOn : uri Reference [0..*] « CarePlan » A larger event of which this particular event is a component or step partOf : Reference [0..*] « MedicationAdministration | Procedure | MedicationDispense » 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 (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) MedicationAdministration Stat... MedicationAdministrationStatu... ! » A code indicating why the administration was not performed statusReason : CodeableConcept [0..*] « null (Strength=Example) SNOMEDCTReasonMedicationNotGi... ?? » Indicates where the The type of medication is expected to administration (for example, drug classification like ATC, where meds would be consumed or administered administered, legal category of the medication) category : CodeableConcept [0..1] [0..*] « null (Strength=Preferred) (Strength=Example) MedicationAdministration Cate... MedicationAdministrationLocat... ? ?? » 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 medication[x] medication : Element CodeableReference [1..1] « CodeableConcept | Reference ( Medication ); ; null (Strength=Example) SNOMEDCTMedicationCodes ?? » The person or animal or group receiving the medication subject : Reference [1..1] « Patient | Group » The visit, admission, or other contact between patient and health care provider during which the medication administration was performed context encounter : Reference [0..1] « Encounter | EpisodeOfCare » Additional information (for example, patient height and weight) that supports the administration of the medication medication. This attribute can be used to provide documentation of specific characteristics of the patient present at the time of administration. For example, if the dose says "give "x" if the heartrate exceeds "y"", then the heart rate can be included using this attribute supportingInformation : Reference [0..*] « Any » A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate effective[x] occurence[x] : Element DataType [1..1] « dateTime | Period | Timing » A code indicating The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event recorded : dateTime [0..1] An indication that the full dose was not administered isSubPotent : boolean [0..1] The reason or reasons why the medication full dose was given not administered reasonCode subPotentReason : CodeableConcept [0..*] « null (Strength=Example) ReasonMedicationGivenCodes MedicationAdministrationSubpo... ?? » A code, Condition or observation that supports why the medication was administered reasonReference reason : Reference CodeableReference [0..*] « Condition | Observation | DiagnosticReport ; null (Strength=Example) ReasonMedicationGivenCodes ?? » The original request, instruction or authority to perform the administration request : Reference [0..1] « MedicationRequest » The device that is to be used in administering for the medication to administration of the patient. For medication (for example, a particular infusion pump PCA Pump) device : Reference CodeableReference [0..*] « Device » Extra information about the medication administration that is not conveyed by the other attributes note : Annotation [0..*] A summary of the events of interest that have occurred, such as when the administration was verified eventHistory : Reference [0..*] « Provenance » Performer Distinguishes the type of involvement of the performer in the medication administration function : CodeableConcept [0..1] « null (Strength=Example) MedicationAdministration Perf... MedicationAdministrationPerfo... ?? » Indicates who or what performed the medication administration actor : Reference CodeableReference [1..1] « Practitioner | PractitionerRole | Patient | RelatedPerson | Device » Dosage Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans. The dosage instructions should reflect the dosage of the medication that was administered text : string [0..1] « This element has or is affected by some invariants C » A coded specification of the anatomic site where the medication first entered the body. For example, "left arm" site : CodeableConcept [0..1] « null (Strength=Example) SNOMEDCTAnatomicalStructureFo... SNOMEDCTAnatomicalStructureAd... ?? » A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc route : CodeableConcept [0..1] « null (Strength=Example) SNOMEDCTRouteCodes ?? » A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV method : CodeableConcept [0..1] « null (Strength=Example) SNOMEDCTAdministrationMethodC... ?? » The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection dose : Quantity ( SimpleQuantity ) [0..1] « This element has or is affected by some invariants C » Identifies the speed with which the medication was or will be introduced into the patient. Typically, the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time, e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours rate[x] : Element DataType [0..1] « Ratio | Quantity ( SimpleQuantity ) » « This element has or is affected by some invariants C » Indicates who or what performed 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 how they were involved the practitioner that set the rate or bolus on the pump can be listed as performers performer [0..*] Describes the medication dosage information details e.g. dose, rate, site, route, etc dosage [0..1]

XML Template

<MedicationAdministration xmlns="http://hl7.org/fhir"> doco
 <!-- 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

{doco
  "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/> .doco


[ 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
  • No Changes Added Element
MedicationAdministration.partOf
  • Type Reference: Added Target Type MedicationDispense
MedicationAdministration.category
  • Max Cardinality changed from 1 to *
MedicationAdministration.medication
  • Added Mandatory Element
MedicationAdministration.encounter
  • Added Element
MedicationAdministration.occurence[x]
  • Added Mandatory Element
MedicationAdministration.recorded
  • Added Element
MedicationAdministration.isSubPotent
  • Added Element
MedicationAdministration.subPotentReason
  • Added Element
MedicationAdministration.performer.actor
  • Type changed from Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device) to CodeableReference
MedicationAdministration.reason
  • Added Element
MedicationAdministration.device
  • Type changed from Reference(Device) to CodeableReference
MedicationAdministration.instantiates
  • deleted
MedicationAdministration.medication[x]
  • deleted
MedicationAdministration.context
  • deleted
MedicationAdministration.effective[x]
  • deleted
MedicationAdministration.reasonCode
  • deleted
MedicationAdministration.reasonReference
  • deleted

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

Σ Condition
Name Flags Card. Type Description & Constraints doco
. . MedicationAdministration TU DomainResource Administration of medication to a patient

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier 0..* Identifier External identifier

. . instantiates . basedOn 0..* uri Reference ( CarePlan ) Instantiates protocol or definition Plan this is fulfilled by this administration

. . . partOf Σ 0..* Reference ( MedicationAdministration | Procedure | MedicationDispense ) Part of referenced event

. . . statusReason 0..* CodeableConcept Reason administration not performed
Binding: SNOMED CT Reason Medication Not Given Codes ( Example )

. . . category 0..1 0..* CodeableConcept Type of medication usage administration
Binding: MedicationAdministration Category Location Codes ( Preferred Example )

. . medication[x] . medication Σ 1..1 CodeableReference ( Medication ) What was administered
Binding: SNOMED CT Medication Codes ( Example ) medicationCodeableConcept CodeableConcept medicationReference Reference ( Medication )
. . . subject Σ 1..1 Reference ( Patient | Group ) Who received medication
. . . context encounter 0..1 Reference ( Encounter | EpisodeOfCare ) Encounter or Episode of Care administered as part of
. . . supportingInformation 0..* Reference ( Any ) Additional information to support administration

. . . effective[x] occurence[x] Σ 1..1 Start and end time Specific date/time or interval of time during which the administration took place (or did not take place)
. . . . effectiveDateTime occurenceDateTime dateTime
. . . . effectivePeriod occurencePeriod Period
.... occurenceTiming Timing
... recorded Period Σ 0..1 dateTime When the MedicationAdministration was first captured in the subject's record
. . . isSubPotent 0..1 boolean Full dose was not administered
... subPotentReason 0..* CodeableConcept Reason full dose was not administered
Binding: MedicationAdministration Subpotent Reason ( Example )

. . . performer Σ 0..* BackboneElement Who or what performed the medication administration and what type of performance they did

. . . . function 0..1 CodeableConcept Type of performance
Binding: MedicationAdministration Performer Function Codes ( Example )
. . . . actor Σ 1..1 Reference CodeableReference ( Practitioner | PractitionerRole | Patient | RelatedPerson | Device ) Who or what performed the medication administration
. . reasonCode . reason 0..* CodeableConcept Reason administration performed Reason Medication Given Codes ( Example ) reasonReference 0..* Reference CodeableReference ( Condition | Observation | DiagnosticReport ) Concept, condition or observation that supports why the medication was administered
Binding: Reason Medication Given Codes ( Example )

. . . request 0..1 Reference ( MedicationRequest ) Request administration performed against
. . . device 0..* Reference CodeableReference ( Device ) Device used to administer

. . . note 0..* Annotation Information about the administration

. . . dosage I C 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]
. . . . text C 0..1 string Free text dosage instructions e.g. SIG
. . . . site 0..1 CodeableConcept Body site administered to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example )
. . . . route 0..1 CodeableConcept Path of substance into body
Binding: SNOMED CT Route Codes ( Example )
. . . . method 0..1 CodeableConcept How drug was administered
Binding: SNOMED CT Administration Method Codes ( Example )
. . . . dose C 0..1 SimpleQuantity Amount of medication per dose
. . . . rate[x] C 0..1 Dose quantity per unit of time
. . . . . rateRatio Ratio
. . . . . rateQuantity SimpleQuantity
. . . eventHistory 0..* Reference ( Provenance ) A list of events of interest in the lifecycle


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

MedicationAdministration ( DomainResource ) 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 identifier : Identifier [0..*] A protocol, guideline, orderset, or other definition plan that was adhered to is fulfilled in whole or in part by this event MedicationAdministration instantiates basedOn : uri Reference [0..*] « CarePlan » A larger event of which this particular event is a component or step partOf : Reference [0..*] « MedicationAdministration | Procedure | MedicationDispense » 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 (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) MedicationAdministration Stat... MedicationAdministrationStatu... ! » A code indicating why the administration was not performed statusReason : CodeableConcept [0..*] « null (Strength=Example) SNOMEDCTReasonMedicationNotGi... ?? » Indicates where the The type of medication is expected to administration (for example, drug classification like ATC, where meds would be consumed or administered administered, legal category of the medication) category : CodeableConcept [0..1] [0..*] « null (Strength=Preferred) (Strength=Example) MedicationAdministration Cate... MedicationAdministrationLocat... ? ?? » 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 medication[x] medication : Element CodeableReference [1..1] « CodeableConcept | Reference ( Medication ); ; null (Strength=Example) SNOMEDCTMedicationCodes ?? » The person or animal or group receiving the medication subject : Reference [1..1] « Patient | Group » The visit, admission, or other contact between patient and health care provider during which the medication administration was performed context encounter : Reference [0..1] « Encounter | EpisodeOfCare » Additional information (for example, patient height and weight) that supports the administration of the medication medication. This attribute can be used to provide documentation of specific characteristics of the patient present at the time of administration. For example, if the dose says "give "x" if the heartrate exceeds "y"", then the heart rate can be included using this attribute supportingInformation : Reference [0..*] « Any » A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate effective[x] occurence[x] : Element DataType [1..1] « dateTime | Period | Timing » A code indicating The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event recorded : dateTime [0..1] An indication that the full dose was not administered isSubPotent : boolean [0..1] The reason or reasons why the medication full dose was given not administered reasonCode subPotentReason : CodeableConcept [0..*] « null (Strength=Example) ReasonMedicationGivenCodes MedicationAdministrationSubpo... ?? » A code, Condition or observation that supports why the medication was administered reasonReference reason : Reference CodeableReference [0..*] « Condition | Observation | DiagnosticReport ; null (Strength=Example) ReasonMedicationGivenCodes ?? » The original request, instruction or authority to perform the administration request : Reference [0..1] « MedicationRequest » The device that is to be used in administering for the medication to administration of the patient. For medication (for example, a particular infusion pump PCA Pump) device : Reference CodeableReference [0..*] « Device » Extra information about the medication administration that is not conveyed by the other attributes note : Annotation [0..*] A summary of the events of interest that have occurred, such as when the administration was verified eventHistory : Reference [0..*] « Provenance » Performer Distinguishes the type of involvement of the performer in the medication administration function : CodeableConcept [0..1] « null (Strength=Example) MedicationAdministration Perf... MedicationAdministrationPerfo... ?? » Indicates who or what performed the medication administration actor : Reference CodeableReference [1..1] « Practitioner | PractitionerRole | Patient | RelatedPerson | Device » Dosage Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans. The dosage instructions should reflect the dosage of the medication that was administered text : string [0..1] « This element has or is affected by some invariants C » A coded specification of the anatomic site where the medication first entered the body. For example, "left arm" site : CodeableConcept [0..1] « null (Strength=Example) SNOMEDCTAnatomicalStructureFo... SNOMEDCTAnatomicalStructureAd... ?? » A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc route : CodeableConcept [0..1] « null (Strength=Example) SNOMEDCTRouteCodes ?? » A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV method : CodeableConcept [0..1] « null (Strength=Example) SNOMEDCTAdministrationMethodC... ?? » The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection dose : Quantity ( SimpleQuantity ) [0..1] « This element has or is affected by some invariants C » Identifies the speed with which the medication was or will be introduced into the patient. Typically, the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time, e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours rate[x] : Element DataType [0..1] « Ratio | Quantity ( SimpleQuantity ) » « This element has or is affected by some invariants C » Indicates who or what performed 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 how they were involved the practitioner that set the rate or bolus on the pump can be listed as performers performer [0..*] Describes the medication dosage information details e.g. dose, rate, site, route, etc dosage [0..1]

XML Template

<MedicationAdministration xmlns="http://hl7.org/fhir"> doco
 <!-- 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

{doco
  "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/> .doco


[ 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
  • No Changes Added Element
MedicationAdministration.partOf
  • Type Reference: Added Target Type MedicationDispense
MedicationAdministration.category
  • Max Cardinality changed from 1 to *
MedicationAdministration.medication
  • Added Mandatory Element
MedicationAdministration.encounter
  • Added Element
MedicationAdministration.occurence[x]
  • Added Mandatory Element
MedicationAdministration.recorded
  • Added Element
MedicationAdministration.isSubPotent
  • Added Element
MedicationAdministration.subPotentReason
  • Added Element
MedicationAdministration.performer.actor
  • Type changed from Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device) to CodeableReference
MedicationAdministration.reason
  • Added Element
MedicationAdministration.device
  • Type changed from Reference(Device) to CodeableReference
MedicationAdministration.instantiates
  • deleted
MedicationAdministration.medication[x]
  • deleted
MedicationAdministration.context
  • deleted
MedicationAdministration.effective[x]
  • deleted
MedicationAdministration.reasonCode
  • deleted
MedicationAdministration.reasonReference
  • deleted

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 Definition ValueSet Type Reference Documentation
MedicationAdministration.status MedicationAdministrationStatusCodes Required

MedicationAdministration Status Codes

MedicationAdministration.statusReason SNOMEDCTReasonMedicationNotGivenCodes Example SNOMEDCTReasonMedicationNotGivenCodes

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 Preferred Example

MedicationAdministration Category Location Codes

MedicationAdministration.medication[x] MedicationAdministration.medication SNOMEDCTMedicationCodes Example SNOMEDCTMedicationCodes

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

MedicationAdministration.reasonCode MedicationAdministration.reason ReasonMedicationGivenCodes Example ReasonMedicationGivenCodes

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 SNOMEDCTAnatomicalStructureForAdministrationSiteCodes

This value set includes Anatomical Structure codes from SNOMED CT - provided as an exemplar.

MedicationAdministration.dosage.route SNOMEDCTRouteCodes Example SNOMEDCTRouteCodes

This value set includes all Route codes from SNOMED CT - provided as an exemplar.

MedicationAdministration.dosage.method SNOMEDCTAdministrationMethodCodes Example SNOMEDCTAdministrationMethodCodes

This value set includes some method codes from SNOMED CT - provided as an exemplar

id UniqueKey Level Location Description Expression
mad-1 img  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] dose.exists() (dose.exists() or rate.exists() or text.exists())

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:

  • 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).

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.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:

  • 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.
"http://hl7.org/fhir/extensions/0.1.0/

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

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 (MedicationAdministration.medication as CodeableConcept) MedicationAdministration.medication.concept 22 Resources
context date reference date Return administrations that share this encounter or episode of care Date administration happened (or did not happen) MedicationAdministration.context ( EpisodeOfCare , Encounter ) MedicationAdministration.occurence.ofType(dateTime) | MedicationAdministration.occurence.ofType(Period) 1 Resources
device reference Return administrations with this administration device identity MedicationAdministration.device ( Device ) MedicationAdministration.device.reference
effective-time encounter date reference Date administration happened (or did not happen) Return administrations that share this encounter MedicationAdministration.effective MedicationAdministration.encounter
( Encounter )
2 Resources
identifier token Return administrations with this external identifier MedicationAdministration.identifier 65 Resources
medication reference Return administrations of this medication resource reference (MedicationAdministration.medication as Reference) ( Medication ) MedicationAdministration.medication.reference 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 MedicationAdministration.performer.actor ( Practitioner , Device , Patient , PractitionerRole , RelatedPerson 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.reasonCode 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
( 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 )