| Australian Digital Health Agency FHIR Implementation Guide 1.1.0

This page is part of the Australian Digital Health Agency FHIR Implementation Guide 1.1.0. It is based on FHIR® version 4.0.1. See the Directory of published versions for a list of available previous versions.

#### StructureDefinition: ADHAMedicationRequestCore - Mappings

Mappings for the dh-medicationrequest-core-1 Profile.

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

ADHAMedicationRequestCore
MedicationRequest | Request
status | Request.status
statusReason | Request.statusReason
intent | Request.intent
priority | Request.priority
medication[x] | Request.code
medication[x] (medicationCodeableConcept) | Request.code
medication[x] (medicationReference) | Request.code
subject | Request.subject
encounter | Request.context
supportingInformation | Request.supportingInfo
supportingInformation (bodyHeight) | Request.supportingInfo
supportingInformation (bodyWeight) | 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
priorPrescription | Request.replaces
eventHistory | Request.relevantHistory

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

ADHAMedicationRequestCore
MedicationRequest | Message/Body/NewRx
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
medication[x] (medicationCodeableConcept) | 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
medication[x] (medicationReference) | 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)

ADHAMedicationRequestCore
MedicationRequest | Entity. Role, or Act, CombinedMedicationRequest
text | Act.text?
contained | N/A
modifierExtension | N/A
identifier | n/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
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
medication[x] (medicationCodeableConcept) | consumable.administrableMedication
id | n/a
extension | n/a
coding | union(., ./translation)
coding (pbs) | union(., ./translation)
id | n/a
extension | n/a
system | ./codeSystem
version | ./codeSystemVersion
code | ./code
display | CV.displayName
userSelected | CD.codingRationale
coding (gtin) | union(., ./translation)
id | n/a
extension | n/a
system | ./codeSystem
version | ./codeSystemVersion
code | ./code
display | CV.displayName
userSelected | CD.codingRationale
coding (amt) | union(., ./translation)
id | n/a
system | ./codeSystem
version | ./codeSystemVersion
code | ./code
display | CV.displayName
userSelected | CD.codingRationale
coding (mimsPackage) | union(., ./translation)
id | n/a
extension | n/a
system | ./codeSystem
version | ./codeSystemVersion
code | ./code
display | CV.displayName
userSelected | CD.codingRationale
text | ./originalText[mediaType/code="text/plain"]/data
medication[x] (medicationReference) | 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)]
supportingInformation (bodyHeight) | .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)]
supportingInformation (bodyWeight) | .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 | n/a, .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=INT]
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)

ADHAMedicationRequestCore
MedicationRequest |
status | FiveWs.status
intent | FiveWs.class
category | FiveWs.class
priority | FiveWs.grade
medication[x] | FiveWs.what[x]
medication[x] (medicationCodeableConcept) | FiveWs.what[x]
medication[x] (medicationReference) | FiveWs.what[x]
subject | FiveWs.subject[x], FiveWs.subject
encounter | FiveWs.context
supportingInformation | FiveWs.context
supportingInformation (bodyHeight) | FiveWs.context
supportingInformation (bodyWeight) | 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)

ADHAMedicationRequestCore
MedicationRequest |
identifier | CX / EI (occasionally, more often EI maps to a resource id or a URL)
medication[x] | RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
medication[x] (medicationCodeableConcept) | RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
coding | C*E.1-8, C*E.10-22
coding (pbs) | C*E.1-8, C*E.10-22
system | C*E.3
version | C*E.7
code | C*E.1
display | C*E.2 - but note this is not well followed
userSelected | Sometimes implied by being first
coding (gtin) | C*E.1-8, C*E.10-22
system | C*E.3
version | C*E.7
code | C*E.1
display | C*E.2 - but note this is not well followed
userSelected | Sometimes implied by being first
coding (amt) | C*E.1-8, C*E.10-22
system | C*E.3
version | C*E.7
code | C*E.1
display | C*E.2 - but note this is not well followed
userSelected | Sometimes implied by being first
coding (mimsPackage) | C*E.1-8, C*E.10-22
system | C*E.3
version | C*E.7
code | C*E.1
display | C*E.2 - but note this is not well followed
userSelected | Sometimes implied by being first
text | C*E.9. But note many systems use C*E.2 for this
medication[x] (medicationReference) | 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
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