Common Data Models Harmonization
1.0.0 - STU 1 Publication

Publication Build: This will be filled in by the publication tooling

## Resource Profile: CdmhMedicationRequest - Mappings

Mappings for the cdmh-medicationrequest resource profile.

### Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

CdmhMedicationRequest
MedicationRequest | Request
identifier | Request.identifier
status | Request.status
statusReason | Request.statusReason
intent | Request.intent
priority | Request.priority
medication[x] | Request.code
subject | Request.subject
encounter | Request.context
supportingInformation | Request.supportingInfo
authoredOn | Request.authoredOn
requester | Request.requester
performer | Request.performer
performerType | Request.performerType
reasonCode | Request.reasonCode
reasonReference | Request.reasonReference
instantiatesCanonical | Request.instantiates
basedOn | Request.basedOn
groupIdentifier | Request.groupIdentifier
insurance | Request.insurance
note | Request.note
dosageInstruction | Request.occurrence[x]
priorPrescription | Request.replaces
eventHistory | Request.relevantHistory

### Mappings for Mapping to NCPDP SCRIPT 10.6 (http://ncpdp.org/SCRIPT10_6)

CdmhMedicationRequest
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

### Mappings for RIM Mapping (http://hl7.org/v3)

CdmhMedicationRequest
MedicationRequest | Entity. Role, or Act, CombinedMedicationRequest
text | Act.text?
contained | N/A
extension | 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
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
dose[x] (doseQuantity) | .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]

### Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

CdmhMedicationRequest
MedicationRequest |
identifier | FiveWs.identifier
status | FiveWs.status
intent | FiveWs.class
category | FiveWs.class
priority | FiveWs.grade
medication[x] | FiveWs.what[x]
subject | FiveWs.subject[x], FiveWs.subject
encounter | FiveWs.context
supportingInformation | FiveWs.context
authoredOn | FiveWs.recorded
requester | FiveWs.author
performer | FiveWs.actor
recorder | FiveWs.who
reasonCode | FiveWs.why[x]
reasonReference | FiveWs.why[x]
dispenseRequest |
performer | FiveWs.who

### Mappings for HL7 v2 Mapping (http://hl7.org/v2)

CdmhMedicationRequest
MedicationRequest |
identifier | ORC-2-Placer Order Number / ORC-3-Filler Order Number
medication[x] | RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
subject | PID-3-Patient ID List
encounter | PV1-19-Visit Number
authoredOn | RXE-32-Original Order Date/Time / ORC-9-Date/Time of Transaction
reasonCode | ORC-16-Order Control Code Reason /RXE-27-Give Indication/RXO-20-Indication / RXD-21-Indication / RXG-22-Indication / RXA-19-Indication
dosageInstruction |
sequence | TQ1-1
text | RXO-6; RXE-21
additionalInstruction | RXO-7
patientInstruction | RXO-7
asNeeded[x] | TQ1-9
site | RXR-2
route | RXR-1
method | RXR-4
doseAndRate | TQ1-2
type | RXO-21; RXE-23
dose[x] | RXO-2, RXE-3
dose[x] (doseQuantity) | RXO-2, RXE-3
rate[x] | RXE22, RXE23, RXE-24
maxDosePerPeriod | RXO-23, RXE-19
dispenseRequest |
numberOfRepeatsAllowed | RXE-12-Number of Refills
quantity | RXD-4-Actual Dispense Amount / RXD-5.1-Actual Dispense Units.code / RXD-5.3-Actual Dispense Units.name of coding system
substitution |
allowed[x] | RXO-9-Allow Substitutions / RXE-9-Substitution Status
reason | RXE-9 Substition status