Implementation Guide (Release 2.1.0)

This page is part of the US-Medication FHIR IG (v1.2.0: STU 2) based on FHIR R3. This is the current published version. For a full list of available versions, see the Directory of published versions

StructureDefinition-medicationadministration

The MedicationAdministration resource is used to record a patient consuming or otherwise being administered a medication. For more information about the context and usage, refer to the resource page in the FHIR specification. This profile sets minimum expectations for recording, searching and fetching a patient’s MedicationAdministration resource. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios:

  • Query for medications that have been administered to a particular patient
  • Query for all medications administered during an encounter
  • Query for all medications which were not administered during an encounter
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each MedicationAdministration must have:

  1. a status
  2. a medication
  3. a patient
  4. a date or date range

In addition, a system Must Support.

  1. who administered the medication
  2. dosage information

Profile specific implementation guidance:

  • None
Examples

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/us/meds/StructureDefinition/medicationadministration

Published on Mon Jun 01 00:00:00 UTC 2020 as a active by Health Level Seven International (FHIR-Infrastructure).

This profile builds on MedicationAdministration


NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..*MedicationAdministrationAdministration of medication to a patient
... status S1..1codein-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... medication[x] S1..1What was administered
Binding: US Core Medication Codes (RxNorm) (extensible)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(US Core Medication Profile)
... subject S1..1Reference(US Core Patient Profile)Who received medication
... context S0..1Reference(US Core Encounter Profile)Encounter or Episode of Care administered as part of
... effective[x] S1..1dateTime, PeriodStart and end time of administration
... performer S0..*BackboneElementWho performed the medication administration and what they did
.... actor S1..1Reference(US Core Practitioner Profile | US Core Patient Profile | RelatedPerson)Who performed the medication administration
... dosage S0..1BackboneElementDetails of how medication was taken

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration I0..*MedicationAdministrationAdministration of medication to a patient
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier I0..*IdentifierExternal identifier
... instantiates ΣI0..*uriInstantiates protocol or definition
... partOf ΣI0..*Reference(MedicationAdministration | Procedure)Part of referenced event
... status ?!SΣI1..1codein-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... statusReason I0..*CodeableConceptReason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example)
... category I0..1CodeableConceptType of medication usage
Binding: MedicationAdministration Category Codes (preferred)
... medication[x] SΣI1..1What was administered
Binding: US Core Medication Codes (RxNorm) (extensible)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(US Core Medication Profile)
... subject SΣI1..1Reference(US Core Patient Profile)Who received medication
... context SI0..1Reference(US Core Encounter Profile)Encounter or Episode of Care administered as part of
... supportingInformation I0..*Reference(Resource)Additional information to support administration
... effective[x] SΣI1..1Start and end time of administration
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... performer SΣI0..*BackboneElementWho performed the medication administration and what they did
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function I0..1CodeableConceptType of performance
Binding: MedicationAdministration Performer Function Codes (example)
.... actor SΣI1..1Reference(US Core Practitioner Profile | US Core Patient Profile | RelatedPerson)Who performed the medication administration
... reasonCode I0..*CodeableConceptReason administration performed
Binding: ReasonMedicationGivenCodes (example)
... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication was administered
... request I0..1Reference(MedicationRequest)Request administration performed against
... device I0..*Reference(Device)Device used to administer
... note I0..*AnnotationInformation about the administration
... dosage SI0..1BackboneElementDetails of how medication was taken
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text I0..1stringFree text dosage instructions e.g. SIG
.... site I0..1CodeableConceptBody site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example)
.... route I0..1CodeableConceptPath of substance into body
Binding: SNOMEDCTRouteCodes (example)
.... method I0..1CodeableConceptHow drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example)
.... dose I0..1SimpleQuantityAmount of medication per dose
.... rate[x] I0..1Dose quantity per unit of time
..... rateRatioRatio
..... rateQuantityQuantity(SimpleQuantity)
... eventHistory I0..*Reference(Provenance)A list of events of interest in the lifecycle

doco Documentation for this format

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..*MedicationAdministrationAdministration of medication to a patient
... status S1..1codein-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... medication[x] S1..1What was administered
Binding: US Core Medication Codes (RxNorm) (extensible)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(US Core Medication Profile)
... subject S1..1Reference(US Core Patient Profile)Who received medication
... context S0..1Reference(US Core Encounter Profile)Encounter or Episode of Care administered as part of
... effective[x] S1..1dateTime, PeriodStart and end time of administration
... performer S0..*BackboneElementWho performed the medication administration and what they did
.... actor S1..1Reference(US Core Practitioner Profile | US Core Patient Profile | RelatedPerson)Who performed the medication administration
... dosage S0..1BackboneElementDetails of how medication was taken

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration I0..*MedicationAdministrationAdministration of medication to a patient
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier I0..*IdentifierExternal identifier
... instantiates ΣI0..*uriInstantiates protocol or definition
... partOf ΣI0..*Reference(MedicationAdministration | Procedure)Part of referenced event
... status ?!SΣI1..1codein-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required)
... statusReason I0..*CodeableConceptReason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example)
... category I0..1CodeableConceptType of medication usage
Binding: MedicationAdministration Category Codes (preferred)
... medication[x] SΣI1..1What was administered
Binding: US Core Medication Codes (RxNorm) (extensible)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(US Core Medication Profile)
... subject SΣI1..1Reference(US Core Patient Profile)Who received medication
... context SI0..1Reference(US Core Encounter Profile)Encounter or Episode of Care administered as part of
... supportingInformation I0..*Reference(Resource)Additional information to support administration
... effective[x] SΣI1..1Start and end time of administration
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... performer SΣI0..*BackboneElementWho performed the medication administration and what they did
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function I0..1CodeableConceptType of performance
Binding: MedicationAdministration Performer Function Codes (example)
.... actor SΣI1..1Reference(US Core Practitioner Profile | US Core Patient Profile | RelatedPerson)Who performed the medication administration
... reasonCode I0..*CodeableConceptReason administration performed
Binding: ReasonMedicationGivenCodes (example)
... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication was administered
... request I0..1Reference(MedicationRequest)Request administration performed against
... device I0..*Reference(Device)Device used to administer
... note I0..*AnnotationInformation about the administration
... dosage SI0..1BackboneElementDetails of how medication was taken
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text I0..1stringFree text dosage instructions e.g. SIG
.... site I0..1CodeableConceptBody site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example)
.... route I0..1CodeableConceptPath of substance into body
Binding: SNOMEDCTRouteCodes (example)
.... method I0..1CodeableConceptHow drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example)
.... dose I0..1SimpleQuantityAmount of medication per dose
.... rate[x] I0..1Dose quantity per unit of time
..... rateRatioRatio
..... rateQuantityQuantity(SimpleQuantity)
... eventHistory I0..*Reference(Provenance)A list of events of interest in the lifecycle

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron


Quick Start

Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

GET /MedicationAdministration?patient=[id]{&_include=MedicationAdministration:medication}

Example:

  • GET /MedicationAdministration?patient=14676
  • GET /MedicationAdministration?patient=14676&_include=MedicationAdministration:medication

Support: Mandatory for server and client to support search by patient. Mandatory for client to support the _include parameter. Optional for server to support the _include parameter.

Implementation Notes: This query searches for all MedicationAdministration resources for a patient and returns a Bundle of all MedicationAdministration and resources for the specified patient. The server application represents the medication using either an inline code or a contained or external reference to the Medication resource. (how to search by reference), and (how to search by _include).