minimal Common Oncology Data Elements (mCODE) Implementation Guide
3.0.0 - STU3 Release United States of America flag

This page is part of the HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE) Release 1 - US Realm | STU1 (v3.0.0: STU 3) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: Cancer-Related Medication Administration Profile

Official URL: http://hl7.org/fhir/us/mcode/StructureDefinition/mcode-cancer-related-medication-administration Version: 3.0.0
Draft as of 2023-10-26 Maturity Level: 3 Computable Name: CancerRelatedMedicationAdministration

An episode of medication administration for a patient whose condition is related to a primary or secondary cancer condition. In the context of chemotherapy drugs, the medication administration in most cases is performed and documented by the provider.

Conformance

MedicationAdministration resources associated with an in-scope patient SHALL conform to this profile. Beyond this requirement, a producer of resources SHOULD ensure that any resource instance associated with an in-scope patient that would reasonably be expected to conform to this profile SHOULD be published in this form.

Usage:

Formal Views of Profile Content

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

This structure is derived from MedicationAdministration

Terminology Bindings (Differential)

PathConformanceValueSet
MedicationAdministration.statusReasonpreferredTreatmentTerminationReasonVS
MedicationAdministration.medication[x]extensibleMedication Clinical Drug
MedicationAdministration.reasonCodeextensibleCancerDisorderVS

Constraints

IdGradePath(s)DetailsRequirements
mcode-reason-requiredwarningMedicationAdministrationOne of reasonCode or reasonReference SHALL be present
: reasonCode.exists() or reasonReference.exists()
termination-reason-code-invarianterrorMedicationAdministrationWhen 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-invarianterrorMedicationAdministrationCertain 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'

Terminology Bindings

PathConformanceValueSet
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
MedicationAdministration.statusReasonpreferredTreatmentTerminationReasonVS
MedicationAdministration.medication[x]extensibleMedication Clinical Drug
MedicationAdministration.reasonCodeextensibleCancerDisorderVS

Constraints

IdGradePath(s)DetailsRequirements
mcode-reason-requiredwarningMedicationAdministrationOne of reasonCode or reasonReference SHALL be present
: reasonCode.exists() or reasonReference.exists()
termination-reason-code-invarianterrorMedicationAdministrationWhen 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-invarianterrorMedicationAdministrationCertain 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'

Terminology Bindings

PathConformanceValueSet
MedicationAdministration.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
MedicationAdministration.statusReasonpreferredTreatmentTerminationReasonVS
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
MedicationAdministration.medication[x]extensibleMedication Clinical Drug
MedicationAdministration.performer.functionexampleMedicationAdministration Performer Function Codes
MedicationAdministration.reasonCodeextensibleCancerDisorderVS
MedicationAdministration.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationAdministration.dosage.routeexampleSNOMEDCTRouteCodes
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes

Constraints

IdGradePath(s)DetailsRequirements
mcode-reason-requiredwarningMedicationAdministrationOne of reasonCode or reasonReference SHALL be present
: reasonCode.exists() or reasonReference.exists()
termination-reason-code-invarianterrorMedicationAdministrationWhen 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-invarianterrorMedicationAdministrationCertain 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 MedicationAdministration

Terminology Bindings (Differential)

PathConformanceValueSet
MedicationAdministration.statusReasonpreferredTreatmentTerminationReasonVS
MedicationAdministration.medication[x]extensibleMedication Clinical Drug
MedicationAdministration.reasonCodeextensibleCancerDisorderVS

Constraints

IdGradePath(s)DetailsRequirements
mcode-reason-requiredwarningMedicationAdministrationOne of reasonCode or reasonReference SHALL be present
: reasonCode.exists() or reasonReference.exists()
termination-reason-code-invarianterrorMedicationAdministrationWhen 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-invarianterrorMedicationAdministrationCertain 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'

Key Elements View

Terminology Bindings

PathConformanceValueSet
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
MedicationAdministration.statusReasonpreferredTreatmentTerminationReasonVS
MedicationAdministration.medication[x]extensibleMedication Clinical Drug
MedicationAdministration.reasonCodeextensibleCancerDisorderVS

Constraints

IdGradePath(s)DetailsRequirements
mcode-reason-requiredwarningMedicationAdministrationOne of reasonCode or reasonReference SHALL be present
: reasonCode.exists() or reasonReference.exists()
termination-reason-code-invarianterrorMedicationAdministrationWhen 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-invarianterrorMedicationAdministrationCertain 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'

Snapshot View

Terminology Bindings

PathConformanceValueSet
MedicationAdministration.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
MedicationAdministration.statusReasonpreferredTreatmentTerminationReasonVS
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
MedicationAdministration.medication[x]extensibleMedication Clinical Drug
MedicationAdministration.performer.functionexampleMedicationAdministration Performer Function Codes
MedicationAdministration.reasonCodeextensibleCancerDisorderVS
MedicationAdministration.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationAdministration.dosage.routeexampleSNOMEDCTRouteCodes
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes

Constraints

IdGradePath(s)DetailsRequirements
mcode-reason-requiredwarningMedicationAdministrationOne of reasonCode or reasonReference SHALL be present
: reasonCode.exists() or reasonReference.exists()
termination-reason-code-invarianterrorMedicationAdministrationWhen 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-invarianterrorMedicationAdministrationCertain 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'

 

Other representations of profile: CSV, Excel, Schematron