IE Medication Events Implementation Guide
0.1.0 - Nostalgic IE (draft) Ireland flag

IE Medication Events Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: IE MPD MedicationAdministration

Official URL: https://hl7-ie.github.io/medication-events/fhir/StructureDefinition/ie-mpd-medicationadministration Version: 0.1.0
Draft as of 2026-09-28 Computable Name: IEMpdMedicationAdministration

A medicine given to, or taken by, a patient under observation: a dose administered in hospital, a GP practice, a pharmacy or the community, or a dose that was due but not given. IE-defined (HIQA's EP draft does not cover administration). Not-given doses state the reason (invariant ie-mad-status-1); given doses record what was given (ie-mad-dose-1).

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration C 0..* MedicationAdministration(4.0.1) Administration of medication to a patient
Constraints: ie-mad-status-1, ie-mad-dose-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier External identifier
... statusReason S 0..* CodeableConcept Reason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IE MPD Medication (ePrescription/eDispensation)(0.1.0))
.... medication[x]:medicationCodeableConcept Σ 0..1 CodeableConcept What was administered
Binding: IEMpdMedicationCodes (0.1.0) (extensible)
... subject SΣ 1..1 Reference(IE MPD Patient(0.1.0)) Who received medication
... context S 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... effective[x] SΣ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... actor SΣ 1..1 Reference(IE MPD Practitioner(0.1.0) | IE MPD PractitionerRole(0.1.0) | IE MPD Patient(0.1.0) | IE MPD RelatedPerson(0.1.0)) Who performed the medication administration
... reasonCode S 0..* CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... request S 0..1 Reference(MedicationRequest) Request administration performed against
... note S 0..* Annotation Information about the administration
... dosage SC 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... text S 0..1 string Free text dosage instructions e.g. SIG
.... site S 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... dose S 0..1 SimpleQuantity(4.0.1) Amount of medication per dose
.... rate[x] S 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​status Base required Medication administration status codes 📍4.0.1 FHIR Std.
MedicationAdministration.​statusReason Base example SNOMED CT Reason Medication Not Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x]:medicationCodeableConcept Base extensible IE MPD Medication Codes 📍0.1.0 This IG
MedicationAdministration.​reasonCode Base example Reason Medication Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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-4 error MedicationAdministration 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 error MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration A resource should have narrative for robust management text.`div`.exists()
ele-1 error MedicationAdministration.implicitRules, MedicationAdministration.modifierExtension, MedicationAdministration.identifier, MedicationAdministration.status, MedicationAdministration.statusReason, MedicationAdministration.medication[x], MedicationAdministration.medication[x]:medicationCodeableConcept, MedicationAdministration.subject, MedicationAdministration.context, MedicationAdministration.effective[x], MedicationAdministration.performer, MedicationAdministration.performer.modifierExtension, MedicationAdministration.performer.actor, MedicationAdministration.reasonCode, MedicationAdministration.request, MedicationAdministration.note, MedicationAdministration.dosage, MedicationAdministration.dosage.modifierExtension, MedicationAdministration.dosage.text, MedicationAdministration.dosage.site, MedicationAdministration.dosage.route, MedicationAdministration.dosage.dose, MedicationAdministration.dosage.rate[x] All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error MedicationAdministration.modifierExtension, MedicationAdministration.performer.modifierExtension, MedicationAdministration.dosage.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
ie-mad-dose-1 error MedicationAdministration A dose that was given SHALL record what was given (dose or dosage text) status = 'completed' implies (dosage.dose.exists() or dosage.text.exists())
ie-mad-status-1 error MedicationAdministration A dose that was not given SHALL state why (patient safety: a missed dose must be explainable) status = 'not-done' implies statusReason.exists()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration C 0..* MedicationAdministration(4.0.1) Administration of medication to a patient
... identifier S 0..* Identifier External identifier
... status S 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
... statusReason S 0..* CodeableConcept Reason administration not performed
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IE MPD Medication (ePrescription/eDispensation)(0.1.0))
.... medication[x]:medicationCodeableConcept 0..1 CodeableConcept What was administered
Binding: IEMpdMedicationCodes (0.1.0) (extensible)
... subject S 1..1 Reference(IE MPD Patient(0.1.0)) Who received medication
... context S 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... effective[x] S 1..1 dateTime, Period Start and end time of administration
... performer S 0..* BackboneElement Who performed the medication administration and what they did
.... actor S 1..1 Reference(IE MPD Practitioner(0.1.0) | IE MPD PractitionerRole(0.1.0) | IE MPD Patient(0.1.0) | IE MPD RelatedPerson(0.1.0)) Who performed the medication administration
... reasonCode S 0..* CodeableConcept Reason administration performed
... request S 0..1 Reference(MedicationRequest) Request administration performed against
... note S 0..* Annotation Information about the administration
... dosage S 0..1 BackboneElement Details of how medication was taken
.... text S 0..1 string Free text dosage instructions e.g. SIG
.... site S 0..1 CodeableConcept Body site administered to
.... route S 0..1 CodeableConcept Path of substance into body
.... dose S 0..1 SimpleQuantity(4.0.1) Amount of medication per dose
.... rate[x] S 0..1 Ratio, SimpleQuantity(4.0.1) Dose quantity per unit of time

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationAdministration.​medication[x]:medicationCodeableConcept Base extensible IE MPD Medication Codes 📍0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
ie-mad-dose-1 error MedicationAdministration A dose that was given SHALL record what was given (dose or dosage text) status = 'completed' implies (dosage.dose.exists() or dosage.text.exists())
ie-mad-status-1 error MedicationAdministration A dose that was not given SHALL state why (patient safety: a missed dose must be explainable) status = 'not-done' implies statusReason.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration C 0..* MedicationAdministration(4.0.1) Administration of medication to a patient
Constraints: ie-mad-status-1, ie-mad-dose-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier External identifier
... instantiates Σ 0..* uri Instantiates protocol or definition
... partOf Σ 0..* Reference(MedicationAdministration | Procedure) Part of referenced event
... status ?!SΣ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required): A set of codes indicating the current status of a MedicationAdministration.
... statusReason S 0..* CodeableConcept Reason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.
... category 0..1 CodeableConcept Type of medication usage
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IE MPD Medication (ePrescription/eDispensation)(0.1.0))
.... medication[x]:medicationCodeableConcept Σ 0..1 CodeableConcept What was administered
Binding: IEMpdMedicationCodes (0.1.0) (extensible)
... subject SΣ 1..1 Reference(IE MPD Patient(0.1.0)) Who received medication
... context S 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... supportingInformation 0..* Reference(Resource) Additional information to support administration
... effective[x] SΣ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function 0..1 CodeableConcept Type of performance
Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication.
.... actor SΣ 1..1 Reference(IE MPD Practitioner(0.1.0) | IE MPD PractitionerRole(0.1.0) | IE MPD Patient(0.1.0) | IE MPD RelatedPerson(0.1.0)) Who performed the medication administration
... reasonCode S 0..* CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Condition or observation that supports why the medication was administered
... request S 0..1 Reference(MedicationRequest) Request administration performed against
... device 0..* Reference(Device) Device used to administer
... note S 0..* Annotation Information about the administration
... dosage SC 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... text S 0..1 string Free text dosage instructions e.g. SIG
.... site S 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
.... dose S 0..1 SimpleQuantity(4.0.1) Amount of medication per dose
.... rate[x] S 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)
... eventHistory 0..* Reference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationAdministration.​status Base required Medication administration status codes 📍4.0.1 FHIR Std.
MedicationAdministration.​statusReason Base example SNOMED CT Reason Medication Not Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​category Base preferred Medication administration category codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x]:medicationCodeableConcept Base extensible IE MPD Medication Codes 📍0.1.0 This IG
MedicationAdministration.​performer.function Base example Medication administration performer function codes 📍4.0.1 FHIR Std.
MedicationAdministration.​reasonCode Base example Reason Medication Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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-4 error MedicationAdministration 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 error MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration A resource should have narrative for robust management text.`div`.exists()
ele-1 error MedicationAdministration.meta, MedicationAdministration.implicitRules, MedicationAdministration.language, MedicationAdministration.text, MedicationAdministration.extension, MedicationAdministration.modifierExtension, MedicationAdministration.identifier, MedicationAdministration.instantiates, MedicationAdministration.partOf, MedicationAdministration.status, MedicationAdministration.statusReason, MedicationAdministration.category, MedicationAdministration.medication[x], MedicationAdministration.medication[x]:medicationCodeableConcept, MedicationAdministration.subject, MedicationAdministration.context, MedicationAdministration.supportingInformation, MedicationAdministration.effective[x], MedicationAdministration.performer, MedicationAdministration.performer.extension, MedicationAdministration.performer.modifierExtension, MedicationAdministration.performer.function, MedicationAdministration.performer.actor, MedicationAdministration.reasonCode, MedicationAdministration.reasonReference, MedicationAdministration.request, MedicationAdministration.device, MedicationAdministration.note, MedicationAdministration.dosage, MedicationAdministration.dosage.extension, MedicationAdministration.dosage.modifierExtension, MedicationAdministration.dosage.text, MedicationAdministration.dosage.site, MedicationAdministration.dosage.route, MedicationAdministration.dosage.method, MedicationAdministration.dosage.dose, MedicationAdministration.dosage.rate[x], MedicationAdministration.eventHistory All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error MedicationAdministration.extension, MedicationAdministration.modifierExtension, MedicationAdministration.performer.extension, MedicationAdministration.performer.modifierExtension, MedicationAdministration.dosage.extension, MedicationAdministration.dosage.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
ie-mad-dose-1 error MedicationAdministration A dose that was given SHALL record what was given (dose or dosage text) status = 'completed' implies (dosage.dose.exists() or dosage.text.exists())
ie-mad-status-1 error MedicationAdministration A dose that was not given SHALL state why (patient safety: a missed dose must be explainable) status = 'not-done' implies statusReason.exists()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration C 0..* MedicationAdministration(4.0.1) Administration of medication to a patient
Constraints: ie-mad-status-1, ie-mad-dose-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier External identifier
... statusReason S 0..* CodeableConcept Reason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IE MPD Medication (ePrescription/eDispensation)(0.1.0))
.... medication[x]:medicationCodeableConcept Σ 0..1 CodeableConcept What was administered
Binding: IEMpdMedicationCodes (0.1.0) (extensible)
... subject SΣ 1..1 Reference(IE MPD Patient(0.1.0)) Who received medication
... context S 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... effective[x] SΣ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... actor SΣ 1..1 Reference(IE MPD Practitioner(0.1.0) | IE MPD PractitionerRole(0.1.0) | IE MPD Patient(0.1.0) | IE MPD RelatedPerson(0.1.0)) Who performed the medication administration
... reasonCode S 0..* CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... request S 0..1 Reference(MedicationRequest) Request administration performed against
... note S 0..* Annotation Information about the administration
... dosage SC 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... text S 0..1 string Free text dosage instructions e.g. SIG
.... site S 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... dose S 0..1 SimpleQuantity(4.0.1) Amount of medication per dose
.... rate[x] S 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​status Base required Medication administration status codes 📍4.0.1 FHIR Std.
MedicationAdministration.​statusReason Base example SNOMED CT Reason Medication Not Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x]:medicationCodeableConcept Base extensible IE MPD Medication Codes 📍0.1.0 This IG
MedicationAdministration.​reasonCode Base example Reason Medication Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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-4 error MedicationAdministration 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 error MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration A resource should have narrative for robust management text.`div`.exists()
ele-1 error MedicationAdministration.implicitRules, MedicationAdministration.modifierExtension, MedicationAdministration.identifier, MedicationAdministration.status, MedicationAdministration.statusReason, MedicationAdministration.medication[x], MedicationAdministration.medication[x]:medicationCodeableConcept, MedicationAdministration.subject, MedicationAdministration.context, MedicationAdministration.effective[x], MedicationAdministration.performer, MedicationAdministration.performer.modifierExtension, MedicationAdministration.performer.actor, MedicationAdministration.reasonCode, MedicationAdministration.request, MedicationAdministration.note, MedicationAdministration.dosage, MedicationAdministration.dosage.modifierExtension, MedicationAdministration.dosage.text, MedicationAdministration.dosage.site, MedicationAdministration.dosage.route, MedicationAdministration.dosage.dose, MedicationAdministration.dosage.rate[x] All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error MedicationAdministration.modifierExtension, MedicationAdministration.performer.modifierExtension, MedicationAdministration.dosage.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
ie-mad-dose-1 error MedicationAdministration A dose that was given SHALL record what was given (dose or dosage text) status = 'completed' implies (dosage.dose.exists() or dosage.text.exists())
ie-mad-status-1 error MedicationAdministration A dose that was not given SHALL state why (patient safety: a missed dose must be explainable) status = 'not-done' implies statusReason.exists()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

Differential View

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration C 0..* MedicationAdministration(4.0.1) Administration of medication to a patient
... identifier S 0..* Identifier External identifier
... status S 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
... statusReason S 0..* CodeableConcept Reason administration not performed
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IE MPD Medication (ePrescription/eDispensation)(0.1.0))
.... medication[x]:medicationCodeableConcept 0..1 CodeableConcept What was administered
Binding: IEMpdMedicationCodes (0.1.0) (extensible)
... subject S 1..1 Reference(IE MPD Patient(0.1.0)) Who received medication
... context S 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... effective[x] S 1..1 dateTime, Period Start and end time of administration
... performer S 0..* BackboneElement Who performed the medication administration and what they did
.... actor S 1..1 Reference(IE MPD Practitioner(0.1.0) | IE MPD PractitionerRole(0.1.0) | IE MPD Patient(0.1.0) | IE MPD RelatedPerson(0.1.0)) Who performed the medication administration
... reasonCode S 0..* CodeableConcept Reason administration performed
... request S 0..1 Reference(MedicationRequest) Request administration performed against
... note S 0..* Annotation Information about the administration
... dosage S 0..1 BackboneElement Details of how medication was taken
.... text S 0..1 string Free text dosage instructions e.g. SIG
.... site S 0..1 CodeableConcept Body site administered to
.... route S 0..1 CodeableConcept Path of substance into body
.... dose S 0..1 SimpleQuantity(4.0.1) Amount of medication per dose
.... rate[x] S 0..1 Ratio, SimpleQuantity(4.0.1) Dose quantity per unit of time

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationAdministration.​medication[x]:medicationCodeableConcept Base extensible IE MPD Medication Codes 📍0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
ie-mad-dose-1 error MedicationAdministration A dose that was given SHALL record what was given (dose or dosage text) status = 'completed' implies (dosage.dose.exists() or dosage.text.exists())
ie-mad-status-1 error MedicationAdministration A dose that was not given SHALL state why (patient safety: a missed dose must be explainable) status = 'not-done' implies statusReason.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration C 0..* MedicationAdministration(4.0.1) Administration of medication to a patient
Constraints: ie-mad-status-1, ie-mad-dose-1
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier External identifier
... instantiates Σ 0..* uri Instantiates protocol or definition
... partOf Σ 0..* Reference(MedicationAdministration | Procedure) Part of referenced event
... status ?!SΣ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required): A set of codes indicating the current status of a MedicationAdministration.
... statusReason S 0..* CodeableConcept Reason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.
... category 0..1 CodeableConcept Type of medication usage
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IE MPD Medication (ePrescription/eDispensation)(0.1.0))
.... medication[x]:medicationCodeableConcept Σ 0..1 CodeableConcept What was administered
Binding: IEMpdMedicationCodes (0.1.0) (extensible)
... subject SΣ 1..1 Reference(IE MPD Patient(0.1.0)) Who received medication
... context S 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... supportingInformation 0..* Reference(Resource) Additional information to support administration
... effective[x] SΣ 1..1 Start and end time of administration
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... function 0..1 CodeableConcept Type of performance
Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication.
.... actor SΣ 1..1 Reference(IE MPD Practitioner(0.1.0) | IE MPD PractitionerRole(0.1.0) | IE MPD Patient(0.1.0) | IE MPD RelatedPerson(0.1.0)) Who performed the medication administration
... reasonCode S 0..* CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Condition or observation that supports why the medication was administered
... request S 0..1 Reference(MedicationRequest) Request administration performed against
... device 0..* Reference(Device) Device used to administer
... note S 0..* Annotation Information about the administration
... dosage SC 0..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... text S 0..1 string Free text dosage instructions e.g. SIG
.... site S 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
.... dose S 0..1 SimpleQuantity(4.0.1) Amount of medication per dose
.... rate[x] S 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)
... eventHistory 0..* Reference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationAdministration.​status Base required Medication administration status codes 📍4.0.1 FHIR Std.
MedicationAdministration.​statusReason Base example SNOMED CT Reason Medication Not Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​category Base preferred Medication administration category codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x]:medicationCodeableConcept Base extensible IE MPD Medication Codes 📍0.1.0 This IG
MedicationAdministration.​performer.function Base example Medication administration performer function codes 📍4.0.1 FHIR Std.
MedicationAdministration.​reasonCode Base example Reason Medication Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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-4 error MedicationAdministration 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 error MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration A resource should have narrative for robust management text.`div`.exists()
ele-1 error MedicationAdministration.meta, MedicationAdministration.implicitRules, MedicationAdministration.language, MedicationAdministration.text, MedicationAdministration.extension, MedicationAdministration.modifierExtension, MedicationAdministration.identifier, MedicationAdministration.instantiates, MedicationAdministration.partOf, MedicationAdministration.status, MedicationAdministration.statusReason, MedicationAdministration.category, MedicationAdministration.medication[x], MedicationAdministration.medication[x]:medicationCodeableConcept, MedicationAdministration.subject, MedicationAdministration.context, MedicationAdministration.supportingInformation, MedicationAdministration.effective[x], MedicationAdministration.performer, MedicationAdministration.performer.extension, MedicationAdministration.performer.modifierExtension, MedicationAdministration.performer.function, MedicationAdministration.performer.actor, MedicationAdministration.reasonCode, MedicationAdministration.reasonReference, MedicationAdministration.request, MedicationAdministration.device, MedicationAdministration.note, MedicationAdministration.dosage, MedicationAdministration.dosage.extension, MedicationAdministration.dosage.modifierExtension, MedicationAdministration.dosage.text, MedicationAdministration.dosage.site, MedicationAdministration.dosage.route, MedicationAdministration.dosage.method, MedicationAdministration.dosage.dose, MedicationAdministration.dosage.rate[x], MedicationAdministration.eventHistory All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error MedicationAdministration.extension, MedicationAdministration.modifierExtension, MedicationAdministration.performer.extension, MedicationAdministration.performer.modifierExtension, MedicationAdministration.dosage.extension, MedicationAdministration.dosage.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
ie-mad-dose-1 error MedicationAdministration A dose that was given SHALL record what was given (dose or dosage text) status = 'completed' implies (dosage.dose.exists() or dosage.text.exists())
ie-mad-status-1 error MedicationAdministration A dose that was not given SHALL state why (patient safety: a missed dose must be explainable) status = 'not-done' implies statusReason.exists()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

 

Other representations of profile: CSV, Excel, Schematron