CDC MME CQL Calculator
3.0.0 - release

This page is part of the CDC Opioid MME Calculator (v3.0.0: Release) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: MMEMedicationRequest

Defining URL:http://fhir.org/guides/cdc/opioid-mme-r4/StructureDefinition/mmemedicationrequest
Version:3.0.0
Name:MMEMedicationRequest
Status:Draft as of 4/21/17
Definition:

Defines the minimum expectations for a MedicationRequest that can be used to successfully calculate Morphine Milligram Equivalent (MME)/day according to the CDC Opioid Prescribing guideline

Publisher:Alphora
Copyright:

Copyright 2019+ Centers for Disease Control and Prevention (CDC)

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://fhir.org/guides/cdc/opioid-mme-r4/StructureDefinition/mmemedicationrequest

Formal Views of Profile Content

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

This structure is derived from CPGMedicationRequest

Summary

Mandatory: 6 elements
Must-Support: 14 elements

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
MedicationRequest.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationRequest.statusrequiredmedicationrequest Status
MedicationRequest.statusReasonexamplemedicationRequest Status Reason Codes
MedicationRequest.intentrequiredmedicationRequest Intent
MedicationRequest.categoryexamplemedicationRequest Category Codes
MedicationRequest.priorityrequiredRequestPriority
MedicationRequest.medication[x]exampleSNOMEDCTMedicationCodes
MedicationRequest.performerTypeexampleProcedurePerformerRoleCodes
MedicationRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
MedicationRequest.courseOfTherapyTypeexamplemedicationRequest Course of Therapy Codes
MedicationRequest.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
MedicationRequest.dosageInstruction.timing.repeat.durationUnitrequiredUnitsOfTime
MedicationRequest.dosageInstruction.timing.repeat.periodUnitrequiredUnitsOfTime
MedicationRequest.dosageInstruction.timing.repeat.dayOfWeekrequiredDaysOfWeek
MedicationRequest.dosageInstruction.timing.repeat.whenrequiredEventTiming
MedicationRequest.dosageInstruction.timing.codepreferredTimingAbbreviation
MedicationRequest.dosageInstruction.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationRequest.dosageInstruction.routeexampleSNOMEDCTRouteCodes
MedicationRequest.dosageInstruction.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationRequest.dosageInstruction.doseAndRate.typeexampleDoseAndRateType
MedicationRequest.substitution.allowed[x]exampleActSubstanceAdminSubstitutionCode
MedicationRequest.substitution.reasonexampleSubstanceAdminSubstitutionReason

Constraints

IdPathDetailsRequirements
dom-2MedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MedicationRequestIf 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-4MedicationRequestIf 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-5MedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MedicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1MedicationRequest.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.extension:rationaleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.extension:rationaleMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.intentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.doNotPerformAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.reported[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.supportingInformationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.authoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.requesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.performerTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.recorderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.groupIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.courseOfTherapyTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.insuranceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dosageInstruction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dosageInstruction.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dosageInstruction.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dosageInstruction.sequenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.additionalInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.patientInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dosageInstruction.timing.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dosageInstruction.timing.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dosageInstruction.timing.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dosageInstruction.timing.eventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tim-1MedicationRequest.dosageInstruction.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2MedicationRequest.dosageInstruction.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4MedicationRequest.dosageInstruction.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5MedicationRequest.dosageInstruction.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6MedicationRequest.dosageInstruction.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7MedicationRequest.dosageInstruction.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8MedicationRequest.dosageInstruction.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9MedicationRequest.dosageInstruction.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10MedicationRequest.dosageInstruction.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()
ele-1MedicationRequest.dosageInstruction.timing.repeat.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dosageInstruction.timing.repeat.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dosageInstruction.timing.repeat.bounds[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.countAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.countMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.durationMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.durationUnitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.frequencyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.frequencyMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.periodMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.periodUnitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.dayOfWeekAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.timeOfDayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.whenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.repeat.offsetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.timing.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.asNeeded[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.siteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.routeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.doseAndRateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.doseAndRate.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dosageInstruction.doseAndRate.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dosageInstruction.doseAndRate.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.doseAndRate.dose[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.doseAndRate.rate[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.maxDosePerPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.maxDosePerAdministrationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dosageInstruction.maxDosePerLifetimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dispenseRequest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dispenseRequest.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dispenseRequest.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dispenseRequest.initialFillAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.initialFill.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dispenseRequest.initialFill.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dispenseRequest.initialFill.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.dispenseRequest.initialFill.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.dispenseRequest.initialFill.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.initialFill.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.dispenseIntervalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.validityPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.numberOfRepeatsAllowedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.expectedSupplyDurationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.dispenseRequest.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.substitutionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.substitution.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.substitution.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.substitution.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationRequest.substitution.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationRequest.substitution.allowed[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.substitution.reasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.priorPrescriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.detectedIssueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationRequest.eventHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())