US Meds Implementation Guide STU2 Ballot (version 1.1.0)

D.4.1 StructureDefinition-medicationadministration

This page is part of the US-Medication FHIR IG (v1.1.0: STU 2 Ballot 1) based on FHIR R3. The current version which supercedes this version is 1.2.0. For a full list of available versions, see the Directory of published versions

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

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/meds/StructureDefinition/medicationadministration

Defines constraints and extensions on the MedicationAdministration resource for the minimal set of data to query and retrieve patient's medication information.

This profile builds on MedicationAdministration.

This profile was published on Tue Nov 08 00:00:00 AEDT 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

Complete Summary of the Mandatory Requirements

  1. One status in MedicationAdministration.status which has a required binding to:
  2. One medication via MedicationAdministration.medicationCodeableConcept or MedicationAdministration.medicationReference
  3. One patient reference in MedicationAdministration.subject
  4. One date or period in MedicationAdministration.effectiveDateTime or MedicationAdministrationTakenment.effectivePeriod

Summary of the Must Support Requirements

  1. One or more references to a patient, practitioner, or related-person in MedicationAdministration.performer.actor
  2. Dosage Information in MedicationAdministration.dosage
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration I0..*Administration of medication to a patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal identifier
... definition Σ0..*Reference(PlanDefinition | ActivityDefinition)Instantiates protocol or definition
... partOf Σ0..*Reference(MedicationAdministration | Procedure)Part of referenced event
... status ?!SΣ1..1codein-progress | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministrationStatus (required)
... category 0..1CodeableConceptType of medication usage
Binding: MedicationAdministrationCategory (preferred)
... medication[x] SΣ1..1CodeableConcept, Reference(US Core Medication Profile)What was administered
Binding: Medication Clinical Drug (RxNorm) (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)Who received medication
... context 0..1Reference(Encounter | EpisodeOfCare)Encounter or Episode of Care administered as part of
... supportingInformation 0..*Reference(Resource)Additional information to support administration
... effective[x] SΣ1..1dateTime, PeriodStart and end time of administration
... performer SΣI0..*BackboneElementWho administered substance
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... actor SΣ1..1Reference(US Core Practitioner Profile | US Core Patient Profile | RelatedPerson)Individual who was performing
.... onBehalfOf 0..1Reference(Organization)Organization organization was acting for
... notGiven ?!Σ0..1booleanTrue if medication not administered
... reasonNotGiven I0..*CodeableConceptReason administration not performed
Binding: SNOMED CT Reason Medication Not Given Codes (example)
... reasonCode I0..*CodeableConceptReason administration performed
Binding: Reason Medication Given Codes (example)
... reasonReference 0..*Reference(Condition | Observation)Condition or Observation that supports why the medication was administered
... prescription 0..1Reference(MedicationRequest)Request administration performed against
... device 0..*Reference(Device)Device used to administer
... note 0..*AnnotationInformation about the administration
... dosage SI0..1BackboneElementDetails of how medication was taken
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... text 0..1stringFree text dosage instructions e.g. SIG
.... site 0..1CodeableConceptBody site administered to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes (example)
.... route 0..1CodeableConceptPath of substance into body
Binding: SNOMED CT Route Codes (example)
.... method 0..1CodeableConceptHow drug was administered
Binding: SNOMED CT Administration Method Codes (example)
.... dose 0..1SimpleQuantityAmount of medication per dose
.... rate[x] 0..1Ratio, SimpleQuantityDose quantity per unit of time
... eventHistory 0..*Reference(Provenance)A list of events of interest in the lifecycle

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One status in MedicationAdministration.status which has a required binding to:
  2. One medication via MedicationAdministration.medicationCodeableConcept or MedicationAdministration.medicationReference
  3. One patient reference in MedicationAdministration.subject
  4. One date or period in MedicationAdministration.effectiveDateTime or MedicationAdministrationTakenment.effectivePeriod

Summary of the Must Support Requirements

  1. One or more references to a patient, practitioner, or related-person in MedicationAdministration.performer.actor
  2. Dosage Information in MedicationAdministration.dosage

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration I0..*Administration of medication to a patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal identifier
... definition Σ0..*Reference(PlanDefinition | ActivityDefinition)Instantiates protocol or definition
... partOf Σ0..*Reference(MedicationAdministration | Procedure)Part of referenced event
... status ?!SΣ1..1codein-progress | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministrationStatus (required)
... category 0..1CodeableConceptType of medication usage
Binding: MedicationAdministrationCategory (preferred)
... medication[x] SΣ1..1CodeableConcept, Reference(US Core Medication Profile)What was administered
Binding: Medication Clinical Drug (RxNorm) (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)Who received medication
... context 0..1Reference(Encounter | EpisodeOfCare)Encounter or Episode of Care administered as part of
... supportingInformation 0..*Reference(Resource)Additional information to support administration
... effective[x] SΣ1..1dateTime, PeriodStart and end time of administration
... performer SΣI0..*BackboneElementWho administered substance
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... actor SΣ1..1Reference(US Core Practitioner Profile | US Core Patient Profile | RelatedPerson)Individual who was performing
.... onBehalfOf 0..1Reference(Organization)Organization organization was acting for
... notGiven ?!Σ0..1booleanTrue if medication not administered
... reasonNotGiven I0..*CodeableConceptReason administration not performed
Binding: SNOMED CT Reason Medication Not Given Codes (example)
... reasonCode I0..*CodeableConceptReason administration performed
Binding: Reason Medication Given Codes (example)
... reasonReference 0..*Reference(Condition | Observation)Condition or Observation that supports why the medication was administered
... prescription 0..1Reference(MedicationRequest)Request administration performed against
... device 0..*Reference(Device)Device used to administer
... note 0..*AnnotationInformation about the administration
... dosage SI0..1BackboneElementDetails of how medication was taken
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... text 0..1stringFree text dosage instructions e.g. SIG
.... site 0..1CodeableConceptBody site administered to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes (example)
.... route 0..1CodeableConceptPath of substance into body
Binding: SNOMED CT Route Codes (example)
.... method 0..1CodeableConceptHow drug was administered
Binding: SNOMED CT Administration Method Codes (example)
.... dose 0..1SimpleQuantityAmount of medication per dose
.... rate[x] 0..1Ratio, SimpleQuantityDose quantity per unit of time
... eventHistory 0..*Reference(Provenance)A list of events of interest in the lifecycle

doco Documentation for this format

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

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the US Core Server for a complete list of supported RESTful operations and search parameters for this IG.

Summary of Argonaut Search Criteria for StructureDefinition-medicationadministration

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