RDC Interoperability Guide
1.0.0

MedicationAdministration

Official URL: https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration Version: 1.0.0
Parent:

http://hl7.org/fhir/StructureDefinition/MedicationAdministration

Computable Name:

RdcMedicationAdministration

Represent the event of a patient consuming or otherwise being administered a medication. Medications are generally insulin, but are not limited to insulin (either manually reported or reported by an insulin pump).

The MedicationAdministration.category element is assigned the following values:

System Code Display
https://roche.com/fhir/iop/cs 67866001_short_acting 67866001_short_acting
https://roche.com/fhir/iop/cs 67866001_long_acting 67866001_long_acting

Formal Views of Profile Content

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
containedI0..*Resource
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
identifier0..0Identifier
basedOn0..0Reference(CarePlan)
partOfΣ0..*Reference(RdcMedicationAdministration)
statusΣ ?!1..1codeBinding
statusReason0..0CodeableConcept
category0..1CodeableConceptBinding
id0..1id
extensionI0..*Extension
conceptΣ0..1CodeableConceptBinding
referenceΣ0..1Reference(Medication)
subjectΣ1..1Reference(RdcPatient)
encounter0..0Reference(Encounter)
supportingInformation0..0Reference(Resource)
occurenceDateTimedateTime
occurencePeriodPeriod
recordedΣ0..0dateTime
isSubPotent0..0boolean
subPotentReason0..0CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
function0..1CodeableConcept
actorΣ1..1CodeableReference(RdcDeviceInstance)
reason0..0CodeableReference(Condition | Observation | DiagnosticReport)
request0..1Reference(RdcMedicationRequest)
device0..0CodeableReference(Device)
note0..0Annotation
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
textI0..1string
site0..1CodeableConcept
route0..1CodeableConcept
method0..1CodeableConceptBinding
doseI0..1SimpleQuantity
rateRatioRatio
rateQuantitySimpleQuantity
eventHistory0..0Reference(Provenance)

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-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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).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-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity, Role, or Act,SubstanceAdministration
  • workflow: Event
  • w5: clinical.medication
MedicationAdministration.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

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())
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 its 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())
MedicationAdministration.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

IETF language tag for a human language

AllLanguages (required)
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())
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 a 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: Act.text?
MedicationAdministration.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.
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: 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 managable, 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.

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
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 managable, 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
SummaryTrue
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.

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
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...0
TypeIdentifier
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
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • rim: .id
MedicationAdministration.basedOn
DefinitionA plan that is fulfilled in whole or in part by this MedicationAdministration.
Cardinality0...0
TypeReference(CarePlan)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .outboundRelationship[typeCode=FLFS].target
MedicationAdministration.partOf
DefinitionA larger event of which this particular event is a component or step.
Cardinality0...*
TypeReference(RdcMedicationAdministration)
SummaryTrue
Comments

MedicationDispense will be used to indicate waste.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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.

MedicationAdministrationStatusCodes (required)
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
  • 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...0
TypeCodeableConcept
Binding

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

SNOMEDCTReasonMedicationNotGivenCodes (example)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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
DefinitionBolus Delivery type
Cardinality0...1
TypeCodeableConcept
Binding

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

InsulinCodes (required)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication usage"].value
MedicationAdministration.medication
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
TypeCodeableReference(Medication)
Binding

Codes identifying substance or product that can be administered.

SNOMEDCTMedicationCodes (example)
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
  • workflow: Event.code
  • w5: FiveWs.what[x]
  • v2: RXA-5 Administered Code
  • rim: .participation[typeCode=CSM].role[classCode=ADMM]
MedicationAdministration.medication.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
Typeid
Mappings
  • rim: n/a
MedicationAdministration.medication.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 managable, 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
MedicationAdministration.medication.concept
DefinitionInforms the type of administration conducted (ex. Basal or Bolus)
Cardinality0...1
TypeCodeableConcept
BindingInsulinCodes (required)
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
MedicationAdministration.medication.reference
DefinitionReference to specific medication administered (applicable only for commerical drugs - future implemention)
Cardinality0...1
TypeReference(Medication)
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
MedicationAdministration.subject
DefinitionThe person or animal or group receiving the medication.
Cardinality1...1
TypeReference(RdcPatient)
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • workflow: Event.subject
  • w5: FiveWs.subject[x]
  • v2: PID-3 Patient ID List
  • rim: .participation[typeCode=SBJ].role[classCode=PAT]
MedicationAdministration.encounter
DefinitionThe visit, admission, or other contact between patient and health care provider during which the medication administration was performed.
Cardinality0...0
TypeReference(Encounter)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • workflow: Event.encounter
  • 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. This attribute can be used to provide documentation of specific characteristics of the patient present at the time of administration. For example, if the dose says "give "x" if the heartrate exceeds "y"", then the heart rate can be included using this attribute.
Cardinality0...0
TypeReference(Resource)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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.occurence[x]
DefinitionA specific date/time or interval of time during which the administration took place (or did not take place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.
Cardinality1...1
TypedateTime
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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.recorded
DefinitionThe date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event.
Cardinality0...0
TypedateTime
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.recorded
  • rim: .participation[typeCode=AUT].time
MedicationAdministration.isSubPotent
DefinitionAn indication that the full dose was not administered.
Cardinality0...0
Typeboolean
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
MedicationAdministration.subPotentReason
DefinitionThe reason or reasons why the full dose was not administered.
Cardinality0...0
TypeCodeableConcept
BindingMedicationAdministrationSubpotentReason (example)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
MedicationAdministration.performer
DefinitionThe performer of the medication treatment. For devices this is the device that performed the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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 managable, 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.

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
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 managable, 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
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.

MedicationAdministrationPerformerFunctionCodes (example)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • workflow: Event.performer.function
  • rim: participation[typeCode=PRF].functionCode
MedicationAdministration.performer.actor
DefinitionIndicates who or what performed the medication administration.
Cardinality1...1
TypeCodeableReference(RdcDeviceInstance)
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • workflow: Event.performer.actor
  • rim: .role
MedicationAdministration.reason
DefinitionA code, Condition or observation that supports why the medication was administered.
Cardinality0...0
TypeCodeableReference(Condition | Observation | DiagnosticReport)
Binding

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

ReasonMedicationGivenCodes (example)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • workflow: Event.reason
  • v2: RXE-27 Give Indication
  • rim: .reasonCode
MedicationAdministration.request
DefinitionThe original request, instruction or authority to perform the administration.
Cardinality0...1
TypeReference(RdcMedicationRequest)
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())
Mappings
  • workflow: Event.basedOn
  • v2: ORC-2 Placer Order Number / ORC-3 Filler Order Number
  • rim: InFullfillmentOf->SubstanceAdministration
MedicationAdministration.device
DefinitionThe device that is to be used for the administration of the medication (for example, PCA Pump).
Cardinality0...0
TypeCodeableReference(Device)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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...0
TypeAnnotation
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • mad-1: If dosage attribute is present then SHALL have at least one of dosage.text or dosage.dose or dosage.rate[x]
    (dose.exists() or rate.exists() or text.exists())
Mappings
  • 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 managable, 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.

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
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 managable, 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
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
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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.

SNOMEDCTAnatomicalStructureAdministrationSites (example)
Comments

If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension http://hl7.org/fhir/StructureDefinition/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
  • 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.

SNOMEDCTRouteCodes (example)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • 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.

InsulinCodes (required)
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
  • 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())
Mappings
  • 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
  • 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...0
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())
Mappings
  • rim: .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="rdc-MedicationAdministration" />
    <url value="https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration" />
    <name value="RdcMedicationAdministration" />
    <title value="RDC MedicationAdministration" />
    <status value="active" />
    <publisher value="F. Hoffmann-La Roche AG" />
    <description value="Represent the event of a patient consuming or otherwise being administered a medication. Medications are generally insulin, but are not limited to insulin (either manually reported or reported by an insulin pump)." />
    <copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
    <fhirVersion value="5.0.0" />
    <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" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.basedOn">
            <path value="MedicationAdministration.basedOn" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.partOf">
            <path value="MedicationAdministration.partOf" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration" />
            </type>
        </element>
        <element id="MedicationAdministration.statusReason">
            <path value="MedicationAdministration.statusReason" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.category">
            <path value="MedicationAdministration.category" />
            <definition value="Bolus Delivery type" />
            <max value="1" />
            <binding>
                <strength value="required" />
                <valueSet value="https://roche.com/fhir/iop/ValueSet/insulin-codes" />
            </binding>
        </element>
        <element id="MedicationAdministration.medication.concept">
            <path value="MedicationAdministration.medication.concept" />
            <definition value="Informs the type of administration conducted (ex. Basal or Bolus)" />
            <binding>
                <strength value="required" />
                <valueSet value="https://roche.com/fhir/iop/ValueSet/insulin-codes" />
            </binding>
        </element>
        <element id="MedicationAdministration.medication.reference">
            <path value="MedicationAdministration.medication.reference" />
            <definition value="Reference to specific medication administered (applicable only for commerical drugs - future implemention)" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Medication" />
            </type>
        </element>
        <element id="MedicationAdministration.subject">
            <path value="MedicationAdministration.subject" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-Patient" />
            </type>
        </element>
        <element id="MedicationAdministration.encounter">
            <path value="MedicationAdministration.encounter" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.supportingInformation">
            <path value="MedicationAdministration.supportingInformation" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.occurence[x]">
            <path value="MedicationAdministration.occurence[x]" />
            <type>
                <code value="dateTime" />
            </type>
            <type>
                <code value="Period" />
            </type>
        </element>
        <element id="MedicationAdministration.recorded">
            <path value="MedicationAdministration.recorded" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.isSubPotent">
            <path value="MedicationAdministration.isSubPotent" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.subPotentReason">
            <path value="MedicationAdministration.subPotentReason" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.performer.actor">
            <path value="MedicationAdministration.performer.actor" />
            <type>
                <code value="CodeableReference" />
                <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-Device-Instance" />
            </type>
        </element>
        <element id="MedicationAdministration.reason">
            <path value="MedicationAdministration.reason" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.request">
            <path value="MedicationAdministration.request" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationRequest" />
            </type>
        </element>
        <element id="MedicationAdministration.device">
            <path value="MedicationAdministration.device" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.note">
            <path value="MedicationAdministration.note" />
            <max value="0" />
        </element>
        <element id="MedicationAdministration.dosage.method">
            <path value="MedicationAdministration.dosage.method" />
            <binding>
                <strength value="required" />
                <valueSet value="https://roche.com/fhir/iop/ValueSet/insulin-codes" />
            </binding>
        </element>
        <element id="MedicationAdministration.eventHistory">
            <path value="MedicationAdministration.eventHistory" />
            <max value="0" />
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "id": "rdc-MedicationAdministration",
    "url": "https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration",
    "name": "RdcMedicationAdministration",
    "title": "RDC MedicationAdministration",
    "status": "active",
    "publisher": "F. Hoffmann-La Roche AG",
    "description": "Represent the event of a patient consuming or otherwise being administered a medication. Medications are generally insulin, but are not limited to insulin (either manually reported or reported by an insulin pump).",
    "copyright": "Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise.",
    "fhirVersion": "5.0.0",
    "kind": "resource",
    "abstract": false,
    "type": "MedicationAdministration",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "MedicationAdministration.identifier",
                "path": "MedicationAdministration.identifier",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.basedOn",
                "path": "MedicationAdministration.basedOn",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.partOf",
                "path": "MedicationAdministration.partOf",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationAdministration.statusReason",
                "path": "MedicationAdministration.statusReason",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.category",
                "path": "MedicationAdministration.category",
                "definition": "Bolus Delivery type",
                "max": "1",
                "binding": {
                    "strength": "required",
                    "valueSet": "https://roche.com/fhir/iop/ValueSet/insulin-codes"
                }
            },
            {
                "id": "MedicationAdministration.medication.concept",
                "path": "MedicationAdministration.medication.concept",
                "definition": "Informs the type of administration conducted (ex. Basal or Bolus)",
                "binding": {
                    "strength": "required",
                    "valueSet": "https://roche.com/fhir/iop/ValueSet/insulin-codes"
                }
            },
            {
                "id": "MedicationAdministration.medication.reference",
                "path": "MedicationAdministration.medication.reference",
                "definition": "Reference to specific medication administered (applicable only for commerical drugs - future implemention)",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://hl7.org/fhir/StructureDefinition/Medication"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationAdministration.subject",
                "path": "MedicationAdministration.subject",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://roche.com/fhir/iop/StructureDefinition/rdc-Patient"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationAdministration.encounter",
                "path": "MedicationAdministration.encounter",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.supportingInformation",
                "path": "MedicationAdministration.supportingInformation",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.occurence[x]",
                "path": "MedicationAdministration.occurence[x]",
                "type":  [
                    {
                        "code": "dateTime"
                    },
                    {
                        "code": "Period"
                    }
                ]
            },
            {
                "id": "MedicationAdministration.recorded",
                "path": "MedicationAdministration.recorded",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.isSubPotent",
                "path": "MedicationAdministration.isSubPotent",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.subPotentReason",
                "path": "MedicationAdministration.subPotentReason",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.performer.actor",
                "path": "MedicationAdministration.performer.actor",
                "type":  [
                    {
                        "code": "CodeableReference",
                        "targetProfile":  [
                            "https://roche.com/fhir/iop/StructureDefinition/rdc-Device-Instance"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationAdministration.reason",
                "path": "MedicationAdministration.reason",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.request",
                "path": "MedicationAdministration.request",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationRequest"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationAdministration.device",
                "path": "MedicationAdministration.device",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.note",
                "path": "MedicationAdministration.note",
                "max": "0"
            },
            {
                "id": "MedicationAdministration.dosage.method",
                "path": "MedicationAdministration.dosage.method",
                "binding": {
                    "strength": "required",
                    "valueSet": "https://roche.com/fhir/iop/ValueSet/insulin-codes"
                }
            },
            {
                "id": "MedicationAdministration.eventHistory",
                "path": "MedicationAdministration.eventHistory",
                "max": "0"
            }
        ]
    }
}

Referened in the following data flows

Resource examples