Onconova Implementation Guide
0.2.0 - ci-build
Onconova Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Official URL: http://onconova.github.io/fhir/StructureDefinition/onconova-medication-administration | Version: 0.2.0 | |||
Active as of 2025-10-17 | Computable Name: OnconovaMedicationAdministration |
A profile representing a medication administered to a cancer patient during a systemic therapy (e.g., chemotherapy, immunotherapy), including details about the medication and dosage.
This profile extends the base mCODE CancerRelatedMedicationAdministration profile to introduce additional information about the systemic therapy (e.g. number of cycles, therapeutic role, etc.) and to introduce references to other medication administration given simultaneously to represent combination therapies.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Path | Status | Usage | ValueSet | Version | Source |
MedicationAdministration.status | Base | required | Medication administration status codes | 📍4.0.1 | FHIR Std. |
MedicationAdministration.statusReason | Base | required | Treatment Termination Reasons | 📍0.2.0 | This IG |
MedicationAdministration.medication[x] | Base | extensible |
Medication Clinical Drug
![]() |
📍20170601 | VSAC v0.11 |
MedicationAdministration.medication[x]:medicationCodeableConcept | Base | required | Antineoplastic Agents | 📍0.2.0 | This IG |
MedicationAdministration.reasonCode | Base | extensible | Cancer Disorder Value Set | 📍4.0.0 | minimal Common Oncology Data Elements v4.0 |
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.extension, MedicationAdministration.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, MedicationAdministration.modifierExtension, MedicationAdministration.partOf, MedicationAdministration.status, MedicationAdministration.statusReason, MedicationAdministration.medication[x], MedicationAdministration.medication[x]:medicationCodeableConcept, MedicationAdministration.subject, MedicationAdministration.context, MedicationAdministration.supportingInformation, MedicationAdministration.effective[x], MedicationAdministration.performer, MedicationAdministration.performer.modifierExtension, MedicationAdministration.performer.actor, MedicationAdministration.reasonCode, MedicationAdministration.reasonReference, MedicationAdministration.request | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
ext-1 | error | MedicationAdministration.extension, MedicationAdministration.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, MedicationAdministration.modifierExtension, MedicationAdministration.performer.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
mcode-reason-required | warning | MedicationAdministration | One of reasonCode or reasonReference SHALL be present |
reasonCode.exists() or reasonReference.exists()
|
o-med-req-1 | error | MedicationAdministration | The subject element is required and must be provided. |
subject.exists() and subject.resolve().is(Patient)
|
o-med-req-2 | error | MedicationAdministration | The effectivePeriod element is required and must be provided. |
effectivePeriod.exists() and effectivePeriod.hasValue()
|
o-med-req-3 | error | MedicationAdministration | The treatmentIntent extension is required and must be provided. |
extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
|
o-med-req-4 | error | MedicationAdministration | The medicationCodeableConcept element is required and must be provided. |
medicationCodeableConcept.exists() and medicationCodeableConcept.coding.exists()
|
termination-reason-code-invariant | error | MedicationAdministration | When status is stopped, only certain statusReason values are allowed |
status = 'stopped' and statusReason.exists() and statusReason.coding.exists() implies statusReason.coding.exists(system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006'))
|
termination-reason-invariant | error | MedicationAdministration | Certain statusReason values are allowed only when status is stopped |
statusReason.exists() and statusReason.coding.exists(
system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or
code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006')) implies status = 'stopped'
|
This structure is derived from CancerRelatedMedicationAdministration
Path | Status | Usage | ValueSet | Version | Source |
MedicationAdministration.statusReason | Base | required | Treatment Termination Reasons | 📍0.2.0 | This IG |
MedicationAdministration.medication[x]:medicationCodeableConcept | Base | required | Antineoplastic Agents | 📍0.2.0 | This IG |
Id | Grade | Path(s) | Description | Expression |
o-med-req-1 | error | MedicationAdministration | The subject element is required and must be provided. |
subject.exists() and subject.resolve().is(Patient)
|
o-med-req-2 | error | MedicationAdministration | The effectivePeriod element is required and must be provided. |
effectivePeriod.exists() and effectivePeriod.hasValue()
|
o-med-req-3 | error | MedicationAdministration | The treatmentIntent extension is required and must be provided. |
extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
|
o-med-req-4 | error | MedicationAdministration | The medicationCodeableConcept element is required and must be provided. |
medicationCodeableConcept.exists() and medicationCodeableConcept.coding.exists()
|
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | CancerRelatedMedicationAdministration(4.0.0) | Administration of medication to a patient Constraints: mcode-reason-required, termination-reason-code-invariant, termination-reason-invariant, o-med-req-1, o-med-req-2, o-med-req-3, o-med-req-4 | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
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 | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
S | 0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Intent Extension URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent Binding: Procedure Intent Value Set (extensible) Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Normalization Basis Extension URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-normalization-basis Binding: Normalization Basis Value Set (required) Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
S | 0..* | Reference(Medication Administration Profile(0.2.0)) | Other medication administered in combination URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-combined-with Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total number of cycles for this medication URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-cycles Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(Therapy Line Profile(0.2.0)) | Reference to the therapy line associated with this treatment URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Role of this medication in the overall treatment plan URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adjunctive-role Binding: AdjunctiveTherapyRoles (0.2.0) (required) Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | boolean | Indicates if this medication is the primary therapy within a therapy line URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-is-primary-therapy Constraints: ext-1 | ||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() ![]() |
0..* | Identifier | External identifier | |||||
![]() ![]() ![]() |
Σ | 0..* | uri | Instantiates protocol or definition | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | Procedure) | Not used in this profile | ||||
![]() ![]() ![]() |
?!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. | ||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Reason administration not performed Binding: TreatmentTerminationReasons (0.2.0) (required) | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Type of medication usage Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur. | |||||
![]() ![]() ![]() |
SΣ | 1..1 | What was administered Slice: Unordered, Open by type:$this Binding: MedicationClinicalDrug (20170601) ![]() | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Reference(Medication) | |||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | What was administered Binding: AntineoplasticAgents (0.2.0) (required) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Cancer Patient Profile(0.2.0)) | Who received medication | ||||
![]() ![]() ![]() |
0..1 | Reference(Encounter | EpisodeOfCare) | Not used in this profile | |||||
![]() ![]() ![]() |
0..* | Reference(Resource) | Not used in this profile | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Period | Start and end time of administration | ||||
![]() ![]() ![]() |
Σ | 0..* | BackboneElement | Not used in this profile | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Type of performance Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication. | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device) | Who performed the medication administration | ||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Not used in this profile Binding: CancerDisorderVS (4.0.0) (extensible) | ||||
![]() ![]() ![]() |
S | 0..* | Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) | Condition or observation that supports why the medication was administered | ||||
![]() ![]() ![]() |
0..1 | Reference(MedicationRequest) | Not used in this profile | |||||
![]() ![]() ![]() |
0..* | Reference(Device) | Device used to administer | |||||
![]() ![]() ![]() |
0..* | Annotation | Information about the administration | |||||
![]() ![]() ![]() |
C | 0..1 | BackboneElement | Details of how medication was taken Constraints: mad-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Free text dosage instructions e.g. SIG | |||||
![]() ![]() ![]() ![]() |
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. | |||||
![]() ![]() ![]() ![]() |
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. | |||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | How drug was administered Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered. | |||||
![]() ![]() ![]() ![]() |
0..1 | SimpleQuantity(4.0.1) | Amount of medication per dose | |||||
![]() ![]() ![]() ![]() |
0..1 | Dose quantity per unit of time | ||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||||||
![]() ![]() ![]() |
0..* | Reference(Provenance) | A list of events of interest in the lifecycle | |||||
![]() |
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 | required | Treatment Termination Reasons | 📍0.2.0 | This IG |
MedicationAdministration.category | Base | preferred | Medication administration category codes | 📍4.0.1 | FHIR Std. |
MedicationAdministration.medication[x] | Base | extensible |
Medication Clinical Drug
![]() |
📍20170601 | VSAC v0.11 |
MedicationAdministration.medication[x]:medicationCodeableConcept | Base | required | Antineoplastic Agents | 📍0.2.0 | This IG |
MedicationAdministration.performer.function | Base | example | Medication administration performer function codes | 📍4.0.1 | FHIR Std. |
MedicationAdministration.reasonCode | Base | extensible | Cancer Disorder Value Set | 📍4.0.0 | minimal Common Oncology Data Elements v4.0 |
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. |
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.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, 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.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, 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()
|
mad-1 | error | MedicationAdministration.dosage | SHALL have at least one of dosage.dose or dosage.rate[x] |
dose.exists() or rate.exists()
|
mcode-reason-required | warning | MedicationAdministration | One of reasonCode or reasonReference SHALL be present |
reasonCode.exists() or reasonReference.exists()
|
o-med-req-1 | error | MedicationAdministration | The subject element is required and must be provided. |
subject.exists() and subject.resolve().is(Patient)
|
o-med-req-2 | error | MedicationAdministration | The effectivePeriod element is required and must be provided. |
effectivePeriod.exists() and effectivePeriod.hasValue()
|
o-med-req-3 | error | MedicationAdministration | The treatmentIntent extension is required and must be provided. |
extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
|
o-med-req-4 | error | MedicationAdministration | The medicationCodeableConcept element is required and must be provided. |
medicationCodeableConcept.exists() and medicationCodeableConcept.coding.exists()
|
termination-reason-code-invariant | error | MedicationAdministration | When status is stopped, only certain statusReason values are allowed |
status = 'stopped' and statusReason.exists() and statusReason.coding.exists() implies statusReason.coding.exists(system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006'))
|
termination-reason-invariant | error | MedicationAdministration | Certain statusReason values are allowed only when status is stopped |
statusReason.exists() and statusReason.coding.exists(
system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or
code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006')) implies status = 'stopped'
|
This structure is derived from CancerRelatedMedicationAdministration
Summary
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
Path | Status | Usage | ValueSet | Version | Source |
MedicationAdministration.status | Base | required | Medication administration status codes | 📍4.0.1 | FHIR Std. |
MedicationAdministration.statusReason | Base | required | Treatment Termination Reasons | 📍0.2.0 | This IG |
MedicationAdministration.medication[x] | Base | extensible |
Medication Clinical Drug
![]() |
📍20170601 | VSAC v0.11 |
MedicationAdministration.medication[x]:medicationCodeableConcept | Base | required | Antineoplastic Agents | 📍0.2.0 | This IG |
MedicationAdministration.reasonCode | Base | extensible | Cancer Disorder Value Set | 📍4.0.0 | minimal Common Oncology Data Elements v4.0 |
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.extension, MedicationAdministration.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, MedicationAdministration.modifierExtension, MedicationAdministration.partOf, MedicationAdministration.status, MedicationAdministration.statusReason, MedicationAdministration.medication[x], MedicationAdministration.medication[x]:medicationCodeableConcept, MedicationAdministration.subject, MedicationAdministration.context, MedicationAdministration.supportingInformation, MedicationAdministration.effective[x], MedicationAdministration.performer, MedicationAdministration.performer.modifierExtension, MedicationAdministration.performer.actor, MedicationAdministration.reasonCode, MedicationAdministration.reasonReference, MedicationAdministration.request | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
ext-1 | error | MedicationAdministration.extension, MedicationAdministration.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, MedicationAdministration.modifierExtension, MedicationAdministration.performer.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
mcode-reason-required | warning | MedicationAdministration | One of reasonCode or reasonReference SHALL be present |
reasonCode.exists() or reasonReference.exists()
|
o-med-req-1 | error | MedicationAdministration | The subject element is required and must be provided. |
subject.exists() and subject.resolve().is(Patient)
|
o-med-req-2 | error | MedicationAdministration | The effectivePeriod element is required and must be provided. |
effectivePeriod.exists() and effectivePeriod.hasValue()
|
o-med-req-3 | error | MedicationAdministration | The treatmentIntent extension is required and must be provided. |
extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
|
o-med-req-4 | error | MedicationAdministration | The medicationCodeableConcept element is required and must be provided. |
medicationCodeableConcept.exists() and medicationCodeableConcept.coding.exists()
|
termination-reason-code-invariant | error | MedicationAdministration | When status is stopped, only certain statusReason values are allowed |
status = 'stopped' and statusReason.exists() and statusReason.coding.exists() implies statusReason.coding.exists(system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006'))
|
termination-reason-invariant | error | MedicationAdministration | Certain statusReason values are allowed only when status is stopped |
statusReason.exists() and statusReason.coding.exists(
system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or
code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006')) implies status = 'stopped'
|
Differential View
This structure is derived from CancerRelatedMedicationAdministration
Path | Status | Usage | ValueSet | Version | Source |
MedicationAdministration.statusReason | Base | required | Treatment Termination Reasons | 📍0.2.0 | This IG |
MedicationAdministration.medication[x]:medicationCodeableConcept | Base | required | Antineoplastic Agents | 📍0.2.0 | This IG |
Id | Grade | Path(s) | Description | Expression |
o-med-req-1 | error | MedicationAdministration | The subject element is required and must be provided. |
subject.exists() and subject.resolve().is(Patient)
|
o-med-req-2 | error | MedicationAdministration | The effectivePeriod element is required and must be provided. |
effectivePeriod.exists() and effectivePeriod.hasValue()
|
o-med-req-3 | error | MedicationAdministration | The treatmentIntent extension is required and must be provided. |
extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
|
o-med-req-4 | error | MedicationAdministration | The medicationCodeableConcept element is required and must be provided. |
medicationCodeableConcept.exists() and medicationCodeableConcept.coding.exists()
|
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | CancerRelatedMedicationAdministration(4.0.0) | Administration of medication to a patient Constraints: mcode-reason-required, termination-reason-code-invariant, termination-reason-invariant, o-med-req-1, o-med-req-2, o-med-req-3, o-med-req-4 | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
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 | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
S | 0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Intent Extension URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent Binding: Procedure Intent Value Set (extensible) Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Normalization Basis Extension URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-normalization-basis Binding: Normalization Basis Value Set (required) Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
S | 0..* | Reference(Medication Administration Profile(0.2.0)) | Other medication administered in combination URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-combined-with Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | integer | Total number of cycles for this medication URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-cycles Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(Therapy Line Profile(0.2.0)) | Reference to the therapy line associated with this treatment URL: http://onconova.github.io/fhir/StructureDefinition/ext-therapy-line-reference Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Role of this medication in the overall treatment plan URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-adjunctive-role Binding: AdjunctiveTherapyRoles (0.2.0) (required) Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
S | 0..1 | boolean | Indicates if this medication is the primary therapy within a therapy line URL: http://onconova.github.io/fhir/StructureDefinition/onconova-ext-is-primary-therapy Constraints: ext-1 | ||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() ![]() |
0..* | Identifier | External identifier | |||||
![]() ![]() ![]() |
Σ | 0..* | uri | Instantiates protocol or definition | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | Procedure) | Not used in this profile | ||||
![]() ![]() ![]() |
?!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. | ||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Reason administration not performed Binding: TreatmentTerminationReasons (0.2.0) (required) | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Type of medication usage Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur. | |||||
![]() ![]() ![]() |
SΣ | 1..1 | What was administered Slice: Unordered, Open by type:$this Binding: MedicationClinicalDrug (20170601) ![]() | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Reference(Medication) | |||||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | What was administered Binding: AntineoplasticAgents (0.2.0) (required) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Cancer Patient Profile(0.2.0)) | Who received medication | ||||
![]() ![]() ![]() |
0..1 | Reference(Encounter | EpisodeOfCare) | Not used in this profile | |||||
![]() ![]() ![]() |
0..* | Reference(Resource) | Not used in this profile | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Period | Start and end time of administration | ||||
![]() ![]() ![]() |
Σ | 0..* | BackboneElement | Not used in this profile | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Type of performance Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication. | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device) | Who performed the medication administration | ||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Not used in this profile Binding: CancerDisorderVS (4.0.0) (extensible) | ||||
![]() ![]() ![]() |
S | 0..* | Reference(Primary Cancer Condition Profile(0.2.0) | Secondary Cancer Condition Profile(0.2.0)) | Condition or observation that supports why the medication was administered | ||||
![]() ![]() ![]() |
0..1 | Reference(MedicationRequest) | Not used in this profile | |||||
![]() ![]() ![]() |
0..* | Reference(Device) | Device used to administer | |||||
![]() ![]() ![]() |
0..* | Annotation | Information about the administration | |||||
![]() ![]() ![]() |
C | 0..1 | BackboneElement | Details of how medication was taken Constraints: mad-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Free text dosage instructions e.g. SIG | |||||
![]() ![]() ![]() ![]() |
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. | |||||
![]() ![]() ![]() ![]() |
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. | |||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | How drug was administered Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered. | |||||
![]() ![]() ![]() ![]() |
0..1 | SimpleQuantity(4.0.1) | Amount of medication per dose | |||||
![]() ![]() ![]() ![]() |
0..1 | Dose quantity per unit of time | ||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||||||
![]() ![]() ![]() |
0..* | Reference(Provenance) | A list of events of interest in the lifecycle | |||||
![]() |
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 | required | Treatment Termination Reasons | 📍0.2.0 | This IG |
MedicationAdministration.category | Base | preferred | Medication administration category codes | 📍4.0.1 | FHIR Std. |
MedicationAdministration.medication[x] | Base | extensible |
Medication Clinical Drug
![]() |
📍20170601 | VSAC v0.11 |
MedicationAdministration.medication[x]:medicationCodeableConcept | Base | required | Antineoplastic Agents | 📍0.2.0 | This IG |
MedicationAdministration.performer.function | Base | example | Medication administration performer function codes | 📍4.0.1 | FHIR Std. |
MedicationAdministration.reasonCode | Base | extensible | Cancer Disorder Value Set | 📍4.0.0 | minimal Common Oncology Data Elements v4.0 |
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. |
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.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, 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.extension:treatmentIntent, MedicationAdministration.extension:normalizationBasis, MedicationAdministration.extension:combinedWith, MedicationAdministration.extension:cycles, MedicationAdministration.extension:therapyLine, MedicationAdministration.extension:adjunctiveRole, MedicationAdministration.extension:isPrimaryTherapy, 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()
|
mad-1 | error | MedicationAdministration.dosage | SHALL have at least one of dosage.dose or dosage.rate[x] |
dose.exists() or rate.exists()
|
mcode-reason-required | warning | MedicationAdministration | One of reasonCode or reasonReference SHALL be present |
reasonCode.exists() or reasonReference.exists()
|
o-med-req-1 | error | MedicationAdministration | The subject element is required and must be provided. |
subject.exists() and subject.resolve().is(Patient)
|
o-med-req-2 | error | MedicationAdministration | The effectivePeriod element is required and must be provided. |
effectivePeriod.exists() and effectivePeriod.hasValue()
|
o-med-req-3 | error | MedicationAdministration | The treatmentIntent extension is required and must be provided. |
extension('http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-procedure-intent').exists()
|
o-med-req-4 | error | MedicationAdministration | The medicationCodeableConcept element is required and must be provided. |
medicationCodeableConcept.exists() and medicationCodeableConcept.coding.exists()
|
termination-reason-code-invariant | error | MedicationAdministration | When status is stopped, only certain statusReason values are allowed |
status = 'stopped' and statusReason.exists() and statusReason.coding.exists() implies statusReason.coding.exists(system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006'))
|
termination-reason-invariant | error | MedicationAdministration | Certain statusReason values are allowed only when status is stopped |
statusReason.exists() and statusReason.coding.exists(
system = 'http://snomed.info/sct' and (code = '182992009' or code = '266721009' or code = '407563006' or code = '160932005' or
code = '105480006' or code = '184081006' or code = '309846006' or code = '399307001' or code = '419620001' or code = '7058009' or code = '443729008' or code = '77386006')) implies status = 'stopped'
|
This structure is derived from CancerRelatedMedicationAdministration
Summary
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron