2022 CDC Clinical Practice Guideline for Prescribing Opioids Implementation Guide, published by Centers for Disease Control and Prevention (CDC). This guide is not an authorized publication; it is the continuous build for version 2022.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/opioid-cds-r4/ and changes regularly. See the Directory of published versions
Mappings for the cdc-medicationrequest resource profile.
CDC_MedicationRequest |
MedicationRequest | Message/Body/NewRx |
identifier | Message/Header/PrescriberOrderNumber |
status | no mapping |
category | Message/Body/NewRx/MedicationPrescribed/Directions
or
Message/Body/NewRx/MedicationPrescribed/StructuredSIG |
medication[x] | Message/Body/NewRx/MedicationPrescribed
Medication.code.coding.code = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCode
Medication.code.coding.system = Message/Body/NewRx/MedicationPrescribed/DrugCoded/ProductCodeQualifier
Medication.code.coding.display = Message/Body/NewRx/MedicationPrescribed/DrugDescription |
subject | Message/Body/NewRx/Patient
(need detail to link to specific patient … Patient.Identification in SCRIPT) |
encounter | no mapping |
authoredOn | Message/Body/NewRx/MedicationPrescribed/WrittenDate |
reasonCode | Message/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value |
reasonReference | no mapping |
note | Message/Body/NewRx/MedicationPrescribed/Note |
dispenseRequest | Message/Body/NewRx/MedicationPrescribed/ExpirationDate |
validityPeriod | Message/Body/NewRx/MedicationPrescribed/Refills |
numberOfRepeatsAllowed | Message/Body/NewRx/MedicationPrescribed/Quantity |
quantity | Message/Body/NewRx/MedicationPrescribed/DaysSupply |
expectedSupplyDuration | Message/Body/NewRx/MedicationPrescribed/Substitutions |
substitution | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions |
allowed[x] | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions |
reason | not mapped |
priorPrescription | not mapped |
CDC_MedicationRequest |
MedicationRequest | Entity. Role, or Act, CombinedMedicationRequest |
text | Act.text? |
contained | N/A |
modifierExtension | N/A |
identifier | .id |
status | .statusCode |
statusReason | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde |
intent | .moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere) |
category | .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication usage"].value |
priority | .priorityCode |
doNotPerform | SubstanceAdministration.actionNegationInd |
reported[x] | .participation[typeCode=INF].role |
medication[x] | consumable.administrableMedication |
subject | .participation[typeCode=AUT].role |
encounter | .inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"] |
supportingInformation | .outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)] |
authoredOn | author.time |
requester | .participation[typeCode=AUT].role |
performer | .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] |
performerType | .participation[typeCode=PRF].role[scoper.determinerCode=KIND].code |
recorder | .participation[typeCode=TRANS].role[classCode=ASSIGNED].code (HealthcareProviderType) |
reasonCode | reason.observation.reasonCode |
reasonReference | reason.observation[code=ASSERTION].value |
instantiatesCanonical | .outboundRelationship[typeCode=DEFN].target |
instantiatesUri | .outboundRelationship[typeCode=DEFN].target |
basedOn | .outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS, moodCode=RQO orPLAN or PRP] |
groupIdentifier | .outboundRelationship(typeCode=COMP].target[classCode=SBADM, moodCode=INT].id |
courseOfTherapyType | Act.code where classCode = LIST and moodCode = EVN |
insurance | .outboundRelationship[typeCode=COVBY].target |
note | .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code="annotation"].value |
dosageInstruction | see dosageInstruction mapping |
id | n/a |
extension | n/a |
modifierExtension | N/A |
sequence | .text |
text | .text |
additionalInstruction | .text |
patientInstruction | .text |
timing | .effectiveTime |
id | n/a |
extension | n/a |
modifierExtension | N/A |
event | QLIST<TS> |
repeat | Implies PIVL or EIVL |
id | n/a |
extension | n/a |
bounds[x] | IVL(TS) used in a QSI |
count | PIVL.count |
countMax | PIVL.count |
duration | PIVL.phase |
durationMax | PIVL.phase |
durationUnit | PIVL.phase.unit |
frequency | PIVL.phase |
frequencyMax | PIVL.phase |
period | PIVL.phase |
periodMax | PIVL.phase |
periodUnit | PIVL.phase.unit |
dayOfWeek | n/a |
timeOfDay | n/a |
when | EIVL.event |
offset | EIVL.offset |
code | QSC.code |
asNeeded[x] | .outboundRelationship[typeCode=PRCN].target[classCode=OBS, moodCode=EVN, code="as needed"].value=boolean or codable concept |
site | .approachSiteCode |
route | .routeCode |
method | .doseQuantity |
doseAndRate | |
id | n/a |
extension | n/a |
dose[x] | .doseQuantity |
rate[x] | .rateQuantity |
maxDosePerPeriod | .maxDoseQuantity |
maxDosePerAdministration | not supported |
maxDosePerLifetime | not supported |
dispenseRequest | component.supplyEvent |
id | n/a |
extension | n/a |
modifierExtension | N/A |
initialFill | SubstanceAdministration -> ActRelationship[sequenceNumber = '1'] -> Supply |
id | n/a |
extension | n/a |
modifierExtension | N/A |
quantity | Supply.quantity[moodCode=RQO] |
duration | Supply.effectivetime[moodCode=RQO] |
dispenseInterval | Supply.effectivetime[moodCode=RQO] |
validityPeriod | effectiveTime |
numberOfRepeatsAllowed | repeatNumber |
quantity | quantity |
expectedSupplyDuration | expectedUseTime |
performer | .outboundRelationship[typeCode=COMP].target[classCode=SPLY, moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] |
substitution | subjectOf.substitutionPersmission |
id | n/a |
extension | n/a |
modifierExtension | N/A |
allowed[x] | code |
reason | reasonCode |
priorPrescription | .outboundRelationship[typeCode=?RPLC or ?SUCC]/target[classCode=SBADM,moodCode=RQO] |
detectedIssue | .inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT,moodCode=EVN].value |
eventHistory | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN] |