StructureDefinition-UKCore-MedicationAdministration

Canonical_URLStatusCurrent_VersionLast_UpdatedDescription
https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationAdministrationactive2.3.02023-12-12

This profile defines the UK constraints and extensions on the International FHIR resource MedicationAdministration.


Profile_Purpose

The purpose of this profile is to describe 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.

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierS0..*Identifier
instantiatesΣ0..*uri
partOfΣ I0..*Reference(MedicationAdministration | Procedure)
statusS Σ ?!1..1codeBinding
statusReason0..*CodeableConcept
category0..1CodeableConceptBinding
medicationCodeableConceptCodeableConcept
medicationReferenceReference(Medication)
subjectS Σ I1..1Reference(Patient | Group)
contextI0..1Reference(Encounter | EpisodeOfCare)
supportingInformationI0..*Reference(Resource)
effectiveDateTimedateTime
effectivePeriodPeriod
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
function0..1CodeableConcept
actorΣ I1..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device)
reasonCode0..*CodeableConcept
reasonReferenceI0..*Reference(Condition | Observation | DiagnosticReport)
requestI0..1Reference(MedicationRequest)
deviceI0..*Reference(Device)
note0..*Annotation
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
text0..1string
site0..1CodeableConceptBinding
route0..1CodeableConceptBinding
method0..1CodeableConceptBinding
doseI0..1SimpleQuantity
rateRatioRatio
rateQuantitySimpleQuantity
eventHistoryI0..*Reference(Provenance)

Detailed Descriptions

MedicationAdministration
DefinitionDescribes 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.
Cardinality0...*
Invariants
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
Mappings
  • rim: Entity. Role, or Act
  • workflow: Event
  • rim: SubstanceAdministration
MedicationAdministration.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

MedicationAdministration.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
MedicationAdministration.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

CommonLanguages (preferred)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
MedicationAdministration.text
DefinitionA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
MedicationAdministration.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: Entity. Role, or Act
  • rim: N/A
MedicationAdministration.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.identifier
DefinitionIdentifiers 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.
Cardinality0...*
TypeIdentifier
Must SupportTrue
Comments

This is a business identifier, not a resource identifier.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • rim: .id
MedicationAdministration.instantiates
DefinitionA protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.
Cardinality0...*
Typeuri
SummaryTrue
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.instantiates
  • rim: .outboundRelationship[typeCode=DEFN].target[classCode=unspecified]
MedicationAdministration.partOf
DefinitionA larger event of which this particular event is a component or step.
Cardinality0...*
TypeReference(MedicationAdministration | Procedure)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.partOf
  • rim: .outboundRelationship[typeCode=COMP]/target[classCode=SBADM or PROC,moodCode=EVN]
MedicationAdministration.status
DefinitionWill 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.
Cardinality1...1
Typecode
Binding

A set of codes indicating the current status of a MedicationAdministration.

MedicationAdministration Status Codes (required)
Must SupportTrue
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.status
  • w5: FiveWs.status
  • v2: RXA-20-Completion Status
  • rim: .statusCode
MedicationAdministration.statusReason
DefinitionA code indicating why the administration was not performed.
Cardinality0...*
TypeCodeableConcept
Binding

A set of codes indicating the reason why the MedicationAdministration is negated.

SNOMEDCTReasonMedicationNotGivenCodes (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.statusReason
  • v2: RXA-9-Administration Notes / RXA-18 Substance/Treatment Refusal Reason
  • rim: .outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code="reason not given"].value
MedicationAdministration.category
DefinitionIndicates where the medication is expected to be consumed or administered.
Cardinality0...1
TypeCodeableConcept
Binding

A coded concept describing where the medication administered is expected to occur.

UKCoreMedicationAdministrationCategory (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication usage"].value
MedicationAdministration.medication[x]
DefinitionIdentifies 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.
Cardinality1...1
TypeCodeableConcept
Binding

Codes identifying substance or product that can be administered.

UKCoreMedicationCode (preferred)
Must SupportTrue
SummaryTrue
Comments

If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.code
  • w5: FiveWs.what[x]
  • v2: RXA-5-Administered Code
  • rim: .participation[typeCode=CSM].role[classCode=ADMM]
MedicationAdministration.subject
DefinitionThe person or animal or group receiving the medication.
Cardinality1...1
TypeReference(Patient | Group)
Must SupportTrue
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.subject
  • w5: FiveWs.subject[x]
  • v2: PID-3-Patient ID List
  • rim: .participation[typeCode=SBJ].role[classCode=PAT]
  • w5: FiveWs.subject
MedicationAdministration.context
DefinitionThe visit, admission, or other contact between patient and health care provider during which the medication administration was performed.
Cardinality0...1
TypeReference(Encounter | EpisodeOfCare)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.context
  • w5: FiveWs.context
  • v2: PV1-19-Visit Number
  • rim: .inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"]
MedicationAdministration.supportingInformation
DefinitionAdditional information (for example, patient height and weight) that supports the administration of the medication.
Cardinality0...*
TypeReference(Resource)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.context
  • rim: .outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)]
MedicationAdministration.effective[x]
DefinitionA specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.
Cardinality1...1
TypedateTime
Must SupportTrue
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.occurrence[x]
  • w5: FiveWs.done[x]
  • v2: RXA-3-Date/Time Start of Administration / RXA-4-Date/Time End of Administration
  • rim: .effectiveTime
MedicationAdministration.performer
DefinitionIndicates who or what performed the medication administration and how they were involved.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.performer
  • w5: FiveWs.actor
  • v2: RXA-10-Administering Provider / PRT-5-Participation Person: PRT-4-Participation='AP' (RXA-10 is deprecated)
  • rim: .participation[typeCode=PRF]
MedicationAdministration.performer.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
MedicationAdministration.performer.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.performer.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.performer.function
DefinitionDistinguishes the type of involvement of the performer in the medication administration.
Cardinality0...1
TypeCodeableConcept
Binding

A code describing the role an individual played in administering the medication.

MedicationAdministration Performer Function Codes (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.performer.function
  • rim: participation[typeCode=PRF].functionCode
MedicationAdministration.performer.actor
DefinitionIndicates who or what performed the medication administration.
Cardinality1...1
TypeReference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer.actor
  • rim: .role
MedicationAdministration.reasonCode
DefinitionA code indicating why the medication was given.
Cardinality0...*
TypeCodeableConcept
Binding

A set of codes indicating the reason why the MedicationAdministration was made.

ReasonMedicationGivenCodes (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.reasonCode
  • v2: RXE-27 Give Indication
  • rim: .reasonCode
MedicationAdministration.reasonReference
DefinitionCondition or observation that supports why the medication was administered.
Cardinality0...*
TypeReference(Condition | Observation | DiagnosticReport)
Comments

This is a reference to a condition that is the reason for the medication request. If only a code exists, use reasonCode.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.reasonReference
  • w5: FiveWs.why[x]
  • rim: .outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code="reason for use ASSERTION"].value
  • w3c.prov: no mapping
MedicationAdministration.request
DefinitionThe original request, instruction or authority to perform the administration.
Cardinality0...1
TypeReference(MedicationRequest)
Comments

This is a reference to the MedicationRequest where the intent is either order or instance-order. It should not reference MedicationRequests where the intent is any other value.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.basedOn
  • v2: ORC-2-Placer Order Number / ORC-3-Filler Order Number
  • rim: InFullfillmentOf->SubstanceAdministration
MedicationAdministration.device
DefinitionThe device used in administering the medication to the patient. For example, a particular infusion pump.
Cardinality0...*
TypeReference(Device)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: PRT-10 Participation Device / RXR-3 Administrative Device
  • rim: device->Access OR device->AssignedDevice
MedicationAdministration.note
DefinitionExtra information about the medication administration that is not conveyed by the other attributes.
Cardinality0...*
TypeAnnotation
Comments

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: N/A
  • rim: Act
  • workflow: Event.note
  • rim: .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code="annotation"].value
MedicationAdministration.dosage
DefinitionDescribes the medication dosage information details e.g. dose, rate, site, route, etc.
Cardinality0...1
TypeBackboneElement
Must SupportTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • mad-1: SHALL have at least one of dosage.dose or dosage.rate[x]
    dose.exists() or rate.exists()
Mappings
  • rim: n/a
  • rim: component->SubstanceAdministrationEvent
MedicationAdministration.dosage.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
MedicationAdministration.dosage.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.dosage.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
MedicationAdministration.dosage.text
DefinitionFree 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.
Cardinality0...1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .text
MedicationAdministration.dosage.site
DefinitionA coded specification of the anatomic site where the medication first entered the body. For example, "left arm".
Cardinality0...1
TypeCodeableConcept
Binding

A coded concept describing the site location the medicine enters into or onto the body.

UKCoreBodySite (preferred)
Comments

If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: RXR-2 Administration Site / RXR-6 Administration Site Modifier
  • rim: .approachSiteCode
MedicationAdministration.dosage.route
DefinitionA code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc.
Cardinality0...1
TypeCodeableConcept
Binding

A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

UKCoreSubstanceOrProductAdministrationRoute (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: RXR-1-Route
  • rim: .routeCode
MedicationAdministration.dosage.method
DefinitionA 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.
Cardinality0...1
TypeCodeableConcept
Binding

A coded concept describing the technique by which the medicine is administered.

UKCoreMedicationDosageMethod (preferred)
Comments

One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: RXR-4-Administration Method
  • rim: .methodCode
MedicationAdministration.dosage.dose
DefinitionThe 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.
Cardinality0...1
TypeSimpleQuantity
Comments

If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • sqty-1: The comparator is not used on a SimpleQuantity
    comparator.empty()
Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
  • v2: RXA-6 Administered Amount / RXA-7 Administered Units
  • rim: .doseQuantity
MedicationAdministration.dosage.rate[x]
DefinitionIdentifies 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.
Cardinality0...1
TypeRatio
Comments

If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: RXA-12-Administered Per (Time Unit)
  • rim: .rateQuantity
MedicationAdministration.eventHistory
DefinitionA summary of the events of interest that have occurred, such as when the administration was verified.
Cardinality0...*
TypeReference(Provenance)
Comments

This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]

Table View

MedicationAdministration..
MedicationAdministration.identifier..
MedicationAdministration.status..
MedicationAdministration.category..
MedicationAdministration.medication[x]..
MedicationAdministration.subject..
MedicationAdministration.effective[x]..
MedicationAdministration.dosage..
MedicationAdministration.dosage.site..
MedicationAdministration.dosage.route..
MedicationAdministration.dosage.method..

XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="UKCore-MedicationAdministration" />
    <url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationAdministration" />
    <version value="2.3.0" />
    <name value="UKCoreMedicationAdministration" />
    <title value="UK Core MedicationAdministration" />
    <status value="active" />
    <date value="2023-12-12" />
    <publisher value="HL7 UK" />
    <contact>
        <name value="HL7 UK" />
        <telecom>
            <system value="email" />
            <value value="ukcore@hl7.org.uk" />
            <use value="work" />
            <rank value="1" />
        </telecom>
    </contact>
    <description value="This profile defines the UK constraints and extensions on the International FHIR resource [MedicationAdministration](https://hl7.org/fhir/R4/MedicationAdministration.html)." />
    <purpose value="The purpose of this profile is to describe 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. \n\nRelated resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner." />
    <copyright value="Copyright &#169; 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at  http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7&#174; FHIR&#174; standard Copyright &#169; 2011+ HL7 The HL7&#174; FHIR&#174; standard is used under the FHIR license. You may obtain a copy of the FHIR license at  https://www.hl7.org/fhir/license.html." />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="MedicationAdministration" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationAdministration" />
    <derivation value="constraint" />
    <differential>
        <element id="MedicationAdministration.identifier">
            <path value="MedicationAdministration.identifier" />
            <short value="Allows the resource to be referenced within / by other resources." />
            <mustSupport value="true" />
        </element>
        <element id="MedicationAdministration.status">
            <path value="MedicationAdministration.status" />
            <short value="Allows an administration to be marked as in-progress or completed." />
            <mustSupport value="true" />
        </element>
        <element id="MedicationAdministration.category">
            <path value="MedicationAdministration.category" />
            <binding>
                <strength value="extensible" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-MedicationAdministrationCategory" />
            </binding>
        </element>
        <element id="MedicationAdministration.medication[x]">
            <path value="MedicationAdministration.medication[x]" />
            <short value="Identifies the medication that was administered." />
            <mustSupport value="true" />
            <binding>
                <strength value="preferred" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-MedicationCode" />
            </binding>
        </element>
        <element id="MedicationAdministration.subject">
            <path value="MedicationAdministration.subject" />
            <short value="Identifies the patient receiving the medication." />
            <mustSupport value="true" />
        </element>
        <element id="MedicationAdministration.effective[x]">
            <path value="MedicationAdministration.effective[x]" />
            <short value="The start and end time of the administration." />
            <mustSupport value="true" />
        </element>
        <element id="MedicationAdministration.dosage">
            <path value="MedicationAdministration.dosage" />
            <short value="The dosage instruction for the administered medication." />
            <mustSupport value="true" />
        </element>
        <element id="MedicationAdministration.dosage.site">
            <path value="MedicationAdministration.dosage.site" />
            <binding>
                <strength value="preferred" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-BodySite" />
            </binding>
        </element>
        <element id="MedicationAdministration.dosage.route">
            <path value="MedicationAdministration.dosage.route" />
            <binding>
                <strength value="preferred" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-SubstanceOrProductAdministrationRoute" />
            </binding>
        </element>
        <element id="MedicationAdministration.dosage.method">
            <path value="MedicationAdministration.dosage.method" />
            <binding>
                <strength value="preferred" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-MedicationDosageMethod" />
            </binding>
        </element>
    </differential>
</StructureDefinition>

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "UKCore-MedicationAdministration",
    "url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationAdministration",
    "version": "2.3.0",
    "name": "UKCoreMedicationAdministration",
    "title": "UK Core MedicationAdministration",
    "status": "active",
    "date": "2023-12-12",
    "publisher": "HL7 UK",
    "contact":  [
        {
            "name": "HL7 UK",
            "telecom":  [
                {
                    "system": "email",
                    "value": "ukcore@hl7.org.uk",
                    "use": "work",
                    "rank": 1
                }
            ]
        }
    ],
    "description": "This profile defines the UK constraints and extensions on the International FHIR resource [MedicationAdministration](https://hl7.org/fhir/R4/MedicationAdministration.html).",
    "purpose": "The purpose of this profile is to describe 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. \n\nRelated resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.",
    "copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at  http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at  https://www.hl7.org/fhir/license.html.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "MedicationAdministration",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "MedicationAdministration.identifier",
                "path": "MedicationAdministration.identifier",
                "short": "Allows the resource to be referenced within / by other resources.",
                "mustSupport": true
            },
            {
                "id": "MedicationAdministration.status",
                "path": "MedicationAdministration.status",
                "short": "Allows an administration to be marked as in-progress or completed.",
                "mustSupport": true
            },
            {
                "id": "MedicationAdministration.category",
                "path": "MedicationAdministration.category",
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-MedicationAdministrationCategory"
                }
            },
            {
                "id": "MedicationAdministration.medication[x]",
                "path": "MedicationAdministration.medication[x]",
                "short": "Identifies the medication that was administered.",
                "mustSupport": true,
                "binding": {
                    "strength": "preferred",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-MedicationCode"
                }
            },
            {
                "id": "MedicationAdministration.subject",
                "path": "MedicationAdministration.subject",
                "short": "Identifies the patient receiving the medication.",
                "mustSupport": true
            },
            {
                "id": "MedicationAdministration.effective[x]",
                "path": "MedicationAdministration.effective[x]",
                "short": "The start and end time of the administration.",
                "mustSupport": true
            },
            {
                "id": "MedicationAdministration.dosage",
                "path": "MedicationAdministration.dosage",
                "short": "The dosage instruction for the administered medication.",
                "mustSupport": true
            },
            {
                "id": "MedicationAdministration.dosage.site",
                "path": "MedicationAdministration.dosage.site",
                "binding": {
                    "strength": "preferred",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-BodySite"
                }
            },
            {
                "id": "MedicationAdministration.dosage.route",
                "path": "MedicationAdministration.dosage.route",
                "binding": {
                    "strength": "preferred",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-SubstanceOrProductAdministrationRoute"
                }
            },
            {
                "id": "MedicationAdministration.dosage.method",
                "path": "MedicationAdministration.dosage.method",
                "binding": {
                    "strength": "preferred",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-MedicationDosageMethod"
                }
            }
        ]
    }
}

Examples

Timoptol Eye Drops - An example to illustrate a medication administration of eye drops.
Example UKCore-MedicationAdministration-TimoptolEyeDrops

Example Usage Scenarios

The following are example usage scenarios for the UK Core Medication Administration profile:

  • To share inpatient or outpatient non-immunization administrations of medication between clinical systems. Example scenarios include inpatient patient transfer from ward-to-ward or hospital-to-hospital, where different clinical systems are in use. For immunisations use the Profile UKCore-Immunization resource.
  • To share patient self-administration of medication.
  • To share home-health reporting from medicines administration and monitoring devices.

Profile Specific Implementation Guidance:

Mandatory and Must Support Data Elements

The following elements are identified as MustSupport, and it is expected that consumers and suppliers SHALL support these as per the MustSupport Guidance.

ElementReason
MedicationAdministration.identifierAllows the resource to be referenced within / by other resources.
MedicationAdministration.statusAllows an administration to be marked as in-progress or completed.
MedicationAdministration.medication[x]Identifies the medication that was administered.
MedicationAdministration.subjectIdentifies the patient receiving the medication.
MedicationAdministration.effective[x]The start and end time of the administration.
MedicationAdministration.dosageThe dosage instruction for the administered medication.


Bindings (differential)

More information about the bindings to UK Core ValueSets can be found below.

ContextStrengthLink
MedicationAdministration.categoryextensiblehttps://fhir.hl7.org.uk/ValueSet/UKCore-MedicationAdministrationCategory
MedicationAdministration.medication[x]preferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-MedicationCode
MedicationAdministration.dosage.sitepreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-BodySite
MedicationAdministration.dosage.routepreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-SubstanceOrProductAdministrationRoute
MedicationAdministration.dosage.methodpreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-MedicationDosageMethod


partOf

An optional reference to a Procedure that could be used for medications given intraoperatively (during an operation / procedure) where there may not be a MedicationRequest resource to reference. A reverse reference could be added as ‘partOf’ of the Procedure resource.

This element can also reference another MedicationAdministration resource. Where several medication administrations relate to the same MedicationRequest, the reference to the MedicationRequest within ‘request’ is sufficient for logical data linkage purposes. It may give additional business benefit to also logically link the MedicationAdministration resources using ‘partOf’.

Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:


status

The MedicationAdministration.status element SHALL be populated with a value from the International FHIR ValueSet medication-admin-status, which is shown expanded here with additional guidance.

Systems consuming the data SHOULD use MedicationAdministration.status to support workflow.

The status can be used to determine the overall status of medication administration events.

It is recommended that the MedicationAdministration.status is used to indicate the status at a high-level so that integrated systems can determine how to represent this information.

Status FHIR Definition Implementation Guidance
in-progress The administration has started but has not yet completed. Would be a suitable status to use, for example, by an infusion pump device which is interoperable with the clinical system to denote an infusion is in progress.
not-done The administration was terminated prior to any impact on the subject (though preparatory actions may have been taken) Use this when there is not the intention to undertake the administration at a future time.
on-hold Actions implied by the administration have been temporarily halted, but are expected to continue later. May also be called 'suspended'. Use this when there is the intention to administer the medication at a future time. For example, if the patient is temporarily unavailable.
completed All actions that are implied by the administration have occurred. This would be a suitable trigger to share the medication administration event with shared records.
entered-in-error The administration was entered in error and therefore nullified. There is limited value in sharing records that are entered in error.
stopped Actions implied by the administration have been permanently halted, before all of them occurred. A MedicationAdministration.statusReason SHOULD be populated with a coded reason for stopping the medication administration.

This is for things like patches and continuous infusions etc. where administration is over a period of time. The MedicationAdministration.dosage SHOULD reflect the amount administered (or whatever the source system has recorded).
unknown The authoring system does not know which of the status values currently applies for this request. Note: This concept is not to be used for 'other' - one of the statuses listed is presumed to apply, it's just not known which one. The patient may have had some encounter with this medication, but the current status is unknown. Avoid the use of this status value where possible.

statusReason

A coded reason for why an administration was not performed.

SHOULD only be populated when the MedicationAdministration.status is either stopped, not-done or on-hold.

Example scenarios for the use of status and statusReason.

Some medication was taken, but not all that was intended, for whatever reason, e.g. an infusion that was started, and finished prematurely.

  • status = stopped
  • status reason = 416093006 | Allergic reaction to drug
  • dosage = Should reflect how much was actually administered, e.g. 150ml (instead of 200ml requested)

Note: For this example it would be expected that the originating MedicationRequest would be updated with a status of stopped which should prevent the system from scheduling an administration or delete any that have been scheduled. Where administration records are retained, use the status of stopped.

Patient refused to take the medication.

  • status = not-done
  • statusReason = 182895007 | Drug declined by patient (finding) - or a child concept of the above

Where required use MedicationAdministration.note to capture additional notes for why the patient refused the medication.

Patient not available, e.g. on home leave for a couple of days, moved ward, location unknown, etc. and not recorded as on-hold.

  • status = not-done
  • statusReason = 398090008 | Patient unavailable (finding)

Medication was taken but patient then vomited all/some of the medication.

  • status = on-hold or stopped
  • statusReason = 419219000 | Drug-induced nausea and vomiting

Use MedicationAdministration.note for additional notes for what happened, provided the administration record can be amended after the vomiting episode.

An infusion for the patient is paused for a period based on blood test results. Or, a nutrition feed is paused for clinical reasons, to restart again later.

  • status = on-hold
  • statusReason = Optional. Any valid SNOMED term.
  • dosage = The dosage would either be recorded with a zero rateRatio or rateQuantity or may be fully omitted. Both must be interpreted as a zero medication administration.

medication[x]

Medication WITH dm+d code

Where a dm+d code exists it SHALL be used either as MedicationAdministration.medicationCodeableConcept.coding or as MedicationAdministration.medicationReference.Medication.code.

Where CodeableConcept is used, MedicationAdministration.medicationCodeableConcept.coding is the dm+d code and MedicationAdministration.medicationCodeableConcept.text is dm+d concept name/description.

Can be either a dm+d code as a CodeableConcept or reference to a Profile UKCore-Medication.

Using a CodeableConcept is preferred unless additional data is required that would be contained within a Profile UKCore-Medication.

The elements MedicationAdministration.medicationCodeableConcept.coding and MedicationAdministration.medicationReference.Medication.code are both bound to ValueSet UKCore-MedicationCode

Examples where a reference to a Profile UKCore-Medication would be applicable include:

  • Record a VTM with a specific form
  • Record manufacturer with a concept as described in ValueSet UKCore-MedicationCode
  • Record batch number
  • Record ingredients (for example with a magisterial prescription or an excipient).

Medication WITHOUT dm+d code

Medication not published within the dm+d may be requested in the Acute care setting.

In this scenario it is recommended to use the CodeableConcept variant for this element.

If the prescribing system has both a locally assigned code and description for the medication then;

  • The MedicationAdministration.medicationCodeableConcept.text SHOULD be the description for the medication.
  • The MedicationAdministration.medicationCodeableConcept.coding.code SHOULD be the code for the medication.
  • The MedicationAdministration.medicationCodeableConcept.coding.display SHOULD be the description for the medication, i.e. the same value as MedicationAdministration.medicationCodeableConcept.text.

If the prescribing system only has a description for the medication then;

  • The MedicationAdministration.medicationCodeableConcept.text SHOULD be the locally assigned description for the medication.

subject

A reference to the patient.

Within a FHIR Messaging or FHIR Document implementation, include a Profile UKCore-Patient resource within the Bundle with at least the minimum dataset populated as defined within the UK Core standard. The MedicationAdministration.subject.reference points to the resource in the Bundle.


context

Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:


supportingInformation

Where a UK Core profile exists, the resource being referenced SHOULD conform to the profile.


reasonReference

Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:


request

In many cases, a Profile UKCore-MedicationRequest resource will exist and can be referenced. Consideration must be made when sharing the records to either also share the MedicationRequest or make it accessible by query, if/when required.

Cases where a MedicationRequest may not exist include administration of medication bought over the counter or via an emergency supply of medication.


device

The resource being referenced SHALL conform to the UKCore-Device.


dosage

Consider aligning to the Implementation Guide for Digital Medicines, but as a minimum, MedicationAdministration.dosage.text.

A MedicationAdministration resource may be used to describe a period of no administration. The MedicationAdministration.status would be on-hold and either the dosage would be omitted, or a dosage would be recorded with a zero rate or quantity. For example;

Example of MedicationAdministration.dosage usage:

Table View

MedicationAdministration.id[0]UKCore-MedicationAdministration-Sn-ZeroDosage-Example
MedicationAdministration.status[0]on-hold
MedicationAdministration.medication[0].reference[0]Medication/UKCore-Medication-TimoptolEyeDrops-Example
MedicationAdministration.subject[0].reference[0]Patient/UKCore-Patient-RichardSmith-Example
MedicationAdministration.effective[0]2021-03-25T13:00:00+00:00
MedicationAdministration.dosage[0].text[0]No administration required.
MedicationAdministration.dosage[0].rate[0].value[0]0
MedicationAdministration.dosage[0].rate[0].unit[0]milliliter per hour
MedicationAdministration.dosage[0].rate[0].system[0]http://unitsofmeasure.org
MedicationAdministration.dosage[0].rate[0].code[0]mL/h

Tree View

MedicationAdministration

XML View

<MedicationAdministration xmlns="http://hl7.org/fhir">
    <id value="UKCore-MedicationAdministration-Sn-ZeroDosage-Example" />
    <status value="on-hold" />
    <medicationReference>
        <reference value="Medication/UKCore-Medication-TimoptolEyeDrops-Example" />
    </medicationReference>
    <subject>
        <reference value="Patient/UKCore-Patient-RichardSmith-Example" />
    </subject>
    <effectiveDateTime value="2021-03-25T13:00:00+00:00" />
    <dosage>
        <text value="No administration required." />
        <rateQuantity>
            <value value="0" />
            <unit value="milliliter per hour" />
            <system value="http://unitsofmeasure.org" />
            <code value="mL/h" />
        </rateQuantity>
    </dosage>
</MedicationAdministration>

JSON View

{
    "resourceType": "MedicationAdministration",
    "id": "UKCore-MedicationAdministration-Sn-ZeroDosage-Example",
    "status": "on-hold",
    "medicationReference": {
        "reference": "Medication/UKCore-Medication-TimoptolEyeDrops-Example"
    },
    "subject": {
        "reference": "Patient/UKCore-Patient-RichardSmith-Example"
    },
    "effectiveDateTime": "2021-03-25T13:00:00+00:00",
    "dosage": {
        "text": "No administration required.",
        "rateQuantity": {
            "value": 0,
            "unit": "milliliter per hour",
            "system": "http://unitsofmeasure.org",
            "code": "mL/h"
        }
    }
}

eventHistory

The resource being referenced SHALL conform to UKCore-Provenance (draft).