Implementation Guide
ePA Medication Service
Version 1.3.5 - release

## Resource Profile: EPAMedicationRequest - Mappings

Active as of 2026-03-20

Mappings for the epa-medication-request resource profile.

#### Mappings to Structures in this Implementation Guide

No Mappings Found

#### Mappings to other Structures

No Mappings Found

#### Other Mappings

Name | Workflow Pattern | Mapping to NCPDP SCRIPT 10.6 | RIM Mapping | FiveWs Pattern Mapping | HL7 v2 Mapping
--- | --- | --- | --- | --- | ---
MedicationRequest | Request | Message/Body/NewRx | CombinedMedicationRequest |  |
id |  |  |  |  |
meta |  |  |  |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
versionId |  |  |  |  |
lastUpdated |  |  |  |  |
source |  |  |  |  |
profile |  |  |  |  |
security |  |  |  |  |
tag |  |  |  |  |
implicitRules |  |  |  |  |
language |  |  |  |  |
text |  |  | Act.text? |  |
contained |  |  | N/A |  |
Slices for extension |  |  |  |  |
extension:multiplePrescription |  |  |  |  |
id |  |  | n/a |  |
Slices for extension |  |  |  |  |
Slices for extension |  |  |  |  |
extension:indicator |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
extension:counter |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
numerator |  |  | .numerator |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
value |  |  | PQ.value CO.value MO.value IVL.high or IVL.low depending on the value |  | SN.2 / CQ - N/A
comparator |  |  | IVL properties |  | SN.1 / CQ.1
unit |  |  | PQ.unit |  | (see OBX.6 etc.) / CQ.2
system |  |  | CO.codeSystem PQ.translation.codeSystem |  | (see OBX.6 etc.) / CQ.2
code |  |  | PQ.code MO.currency PQ.translation.code |  | (see OBX.6 etc.) / CQ.2
denominator |  |  | .denominator |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
value |  |  | PQ.value CO.value MO.value IVL.high or IVL.low depending on the value |  | SN.2 / CQ - N/A
comparator |  |  | IVL properties |  | SN.1 / CQ.1
unit |  |  | PQ.unit |  | (see OBX.6 etc.) / CQ.2
system |  |  | CO.codeSystem PQ.translation.codeSystem |  | (see OBX.6 etc.) / CQ.2
code |  |  | PQ.code MO.currency PQ.translation.code |  | (see OBX.6 etc.) / CQ.2
extension:period |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
start |  |  | ./low |  | DR.1
end |  |  | ./high |  | DR.2
extension:id |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
extension:isBvg |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
extension:isSer |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
extension:prescriberID |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
extension:patientID |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
extension:narcotics |  |  |  |  |
extension:teratogenic |  |  |  |  |
extension:renderedDosageInstruction |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
extension:generatedDosageInstructionsMeta |  |  |  |  |
id |  |  | n/a |  |
Slices for extension |  |  |  |  |
Slices for extension |  |  |  |  |
extension:language |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
Slices for value[x] |  |  | N/A |  |
Slices for value[x] |  |  |  |  |
value[x]:valueCode |  |  | N/A |  |
extension:algorithmVersion |  |  |  |  |
id |  |  | n/a |  |
extension |  |  |  |  |
url |  |  | N/A |  |
Slices for value[x] |  |  | N/A |  |
Slices for value[x] |  |  |  |  |
value[x]:valueString |  |  | N/A |  |
url |  |  | N/A |  |
value[x] |  |  | N/A |  |
modifierExtension |  |  | N/A |  |
Slices for identifier | Request.identifier | Message/Header/PrescriberOrderNumber | .id | FiveWs.identifier | ORC-2-Placer Order Number / ORC-3-Filler Order Number
identifier:RxPrescriptionProcessIdentifier | Request.identifier | Message/Header/PrescriberOrderNumber | .id | FiveWs.identifier | ORC-2-Placer Order Number / ORC-3-Filler Order Number
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
id |  |  | n/a |  |
extension |  |  | n/a |  |
coding |  |  | union(. ./translation) |  | C*E.1-8 C*E.10-22
id |  |  | n/a |  |
extension |  |  | n/a |  |
system |  |  | ./codeSystem |  | C*E.3
version |  |  | ./codeSystemVersion |  | C*E.7
code |  |  | ./code |  | C*E.1
display |  |  | CV.displayName |  | C*E.2 - but note this is not well followed
userSelected |  |  | CD.codingRationale |  | Sometimes implied by being first
text |  |  | ./originalText[mediaType/code="text/plain"]/data |  | C*E.9. But note many systems use C*E.2 for this
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
identifier:RxOriginatorProcessIdentifier | Request.identifier | Message/Header/PrescriberOrderNumber | .id | FiveWs.identifier | ORC-2-Placer Order Number / ORC-3-Filler Order Number
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
id |  |  | n/a |  |
extension |  |  | n/a |  |
coding |  |  | union(. ./translation) |  | C*E.1-8 C*E.10-22
id |  |  | n/a |  |
extension |  |  | n/a |  |
system |  |  | ./codeSystem |  | C*E.3
version |  |  | ./codeSystemVersion |  | C*E.7
code |  |  | ./code |  | C*E.1
display |  |  | CV.displayName |  | C*E.2 - but note this is not well followed
userSelected |  |  | CD.codingRationale |  | Sometimes implied by being first
text |  |  | ./originalText[mediaType/code="text/plain"]/data |  | C*E.9. But note many systems use C*E.2 for this
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
status | Request.status | no mapping | .statusCode | FiveWs.status |
statusReason | Request.statusReason |  | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT moodCode=EVN].reasonCOde |  |
intent | Request.intent |  | .moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere) | FiveWs.class |
category |  | Message/Body/NewRx/MedicationPrescribed/Directions or Message/Body/NewRx/MedicationPrescribed/StructuredSIG | .inboundRelationship[typeCode=COMP].source[classCode=OBS moodCode=EVN code="type of medication usage"].value | FiveWs.class |
priority | Request.priority |  | .priorityCode | FiveWs.grade |
doNotPerform |  |  | SubstanceAdministration.actionNegationInd |  |
reported[x] |  |  | .participation[typeCode=INF].role |  |
medication[x] | Request.code | 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 | consumable.administrableMedication | FiveWs.what[x] | RXE-2-Give Code / RXO-1-Requested Give Code / RXC-2-Component Code
id |  |  | n/a |  |
extension |  |  | n/a |  |
reference |  |  | N/A |  |
type |  |  | N/A |  |
identifier |  |  | .identifier |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
id |  |  | n/a |  |
extension |  |  | n/a |  |
coding |  |  | union(. ./translation) |  | C*E.1-8 C*E.10-22
id |  |  | n/a |  |
extension |  |  | n/a |  |
system |  |  | ./codeSystem |  | C*E.3
version |  |  | ./codeSystemVersion |  | C*E.7
code |  |  | ./code |  | C*E.1
display |  |  | CV.displayName |  | C*E.2 - but note this is not well followed
userSelected |  |  | CD.codingRationale |  | Sometimes implied by being first
text |  |  | ./originalText[mediaType/code="text/plain"]/data |  | C*E.9. But note many systems use C*E.2 for this
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
display |  |  | N/A |  |
subject | Request.subject | Message/Body/NewRx/Patient (need detail to link to specific patient … Patient.Identification in SCRIPT) | .participation[typeCode=AUT].role | FiveWs.subject | PID-3-Patient ID List
id |  |  | n/a |  |
extension |  |  | n/a |  |
reference |  |  | N/A |  |
type |  |  | N/A |  |
identifier |  |  | .identifier |  |
display |  |  | N/A |  |
encounter | Request.context | no mapping | .inboundRelationship[typeCode=COMP].source[classCode=ENC moodCode=EVN code="type of encounter or episode"] | FiveWs.context | PV1-19-Visit Number
supportingInformation | Request.supportingInfo |  | .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)] | FiveWs.context |
authoredOn | Request.authoredOn | Message/Body/NewRx/MedicationPrescribed/WrittenDate | author.time | FiveWs.recorded | RXE-32-Original Order Date/Time / ORC-9-Date/Time of Transaction
requester | Request.requester |  | .participation[typeCode=AUT].role | FiveWs.author |
id |  |  | n/a |  |
extension |  |  | n/a |  |
reference |  |  | N/A |  |
type |  |  | N/A |  |
identifier |  |  | .identifier |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
id |  |  | n/a |  |
extension |  |  | n/a |  |
coding |  |  | union(. ./translation) |  | C*E.1-8 C*E.10-22
id |  |  | n/a |  |
extension |  |  | n/a |  |
system |  |  | ./codeSystem |  | C*E.3
version |  |  | ./codeSystemVersion |  | C*E.7
code |  |  | ./code |  | C*E.1
display |  |  | CV.displayName |  | C*E.2 - but note this is not well followed
userSelected |  |  | CD.codingRationale |  | Sometimes implied by being first
text |  |  | ./originalText[mediaType/code="text/plain"]/data |  | C*E.9. But note many systems use C*E.2 for this
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
display |  |  | N/A |  |
performer | Request.performer |  | .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] | FiveWs.actor |
performerType | Request.performerType |  | .participation[typeCode=PRF].role[scoper.determinerCode=KIND].code |  |
recorder |  |  | .participation[typeCode=TRANS].role[classCode=ASSIGNED].code (HealthcareProviderType) | FiveWs.who |
reasonCode | Request.reasonCode | Message/Body/NewRx/MedicationPrescribed/Diagnosis/Primary/Value | reason.observation.reasonCode | FiveWs.why[x] | ORC-16-Order Control Code Reason /RXE-27-Give Indication/RXO-20-Indication / RXD-21-Indication / RXG-22-Indication / RXA-19-Indication
reasonReference | Request.reasonReference | no mapping | reason.observation[code=ASSERTION].value | FiveWs.why[x] |
instantiatesCanonical | Request.instantiates |  | .outboundRelationship[typeCode=DEFN].target |  |
instantiatesUri |  |  | .outboundRelationship[typeCode=DEFN].target |  |
basedOn | Request.basedOn |  | .outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS moodCode=RQO orPLAN or PRP] |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
reference |  |  | N/A |  |
type |  |  | N/A |  |
identifier |  |  | .identifier |  |
id |  |  | n/a |  |
extension |  |  |  |  |
use |  |  | Role.code or implied by context |  | N/A
type |  |  | Role.code or implied by context |  | CX.5
id |  |  | n/a |  |
extension |  |  | n/a |  |
coding |  |  | union(. ./translation) |  | C*E.1-8 C*E.10-22
id |  |  | n/a |  |
extension |  |  | n/a |  |
system |  |  | ./codeSystem |  | C*E.3
version |  |  | ./codeSystemVersion |  | C*E.7
code |  |  | ./code |  | C*E.1
display |  |  | CV.displayName |  | C*E.2 - but note this is not well followed
userSelected |  |  | CD.codingRationale |  | Sometimes implied by being first
text |  |  | ./originalText[mediaType/code="text/plain"]/data |  | C*E.9. But note many systems use C*E.2 for this
system |  |  | II.root or Role.id.root |  | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |  | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context |  | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |  | CX.4 / (CX.4 CX.9 CX.10)
display |  |  | N/A |  |
groupIdentifier | Request.groupIdentifier |  | .outboundRelationship(typeCode=COMP].target[classCode=SBADM moodCode=INT].id |  |
courseOfTherapyType |  |  | Act.code where classCode = LIST and moodCode = EVN |  |
insurance | Request.insurance |  | .outboundRelationship[typeCode=COVBY].target |  |
note | Request.note | Message/Body/NewRx/MedicationPrescribed/Note | .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS moodCode=EVN code="annotation"].value |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
author[x] |  |  | Act.participant[typeCode=AUT].role |  | N/A
time |  |  | Act.effectiveTime |  | N/A
text |  |  | Act.text |  | N/A
dosageInstruction | Request.occurrence[x] |  | see dosageInstruction mapping |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
modifierExtension |  |  | N/A |  |
sequence |  |  | .text |  | TQ1-1
text |  |  | .text |  | RXO-6; RXE-21
additionalInstruction |  |  | .text |  | RXO-7
patientInstruction |  |  | .text |  | RXO-7
timing |  |  | .effectiveTime |  |
asNeeded[x] |  |  | .outboundRelationship[typeCode=PRCN].target[classCode=OBS moodCode=EVN code="as needed"].value=boolean or codable concept |  | TQ1-9
site |  |  | .approachSiteCode |  | RXR-2
route |  |  | .routeCode |  | RXR-1
method |  |  | .doseQuantity |  | RXR-4
doseAndRate |  |  |  |  | TQ1-2
id |  |  | n/a |  |
extension |  |  | n/a |  |
type |  |  |  |  | RXO-21; RXE-23
Slices for dose[x] |  |  | .doseQuantity |  | RXO-2 RXE-3
dose[x]:doseQuantity |  |  | .doseQuantity |  | RXO-2 RXE-3
id |  |  | n/a |  |
extension |  |  | n/a |  |
value |  |  | PQ.value CO.value MO.value IVL.high or IVL.low depending on the value |  | SN.2 / CQ - N/A
comparator |  |  | IVL properties |  | SN.1 / CQ.1
unit |  |  | PQ.unit |  | (see OBX.6 etc.) / CQ.2
system |  |  | CO.codeSystem PQ.translation.codeSystem |  | (see OBX.6 etc.) / CQ.2
code |  |  | PQ.code MO.currency PQ.translation.code |  | (see OBX.6 etc.) / CQ.2
rate[x] |  |  | .rateQuantity |  | RXE22 RXE23 RXE-24
maxDosePerPeriod |  |  | .maxDoseQuantity |  | RXO-23 RXE-19
maxDosePerAdministration |  |  | not supported |  |
maxDosePerLifetime |  |  | not supported |  |
dispenseRequest |  | Message/Body/NewRx/MedicationPrescribed/ExpirationDate | 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 |  | Message/Body/NewRx/MedicationPrescribed/Refills | effectiveTime |  |
numberOfRepeatsAllowed |  | Message/Body/NewRx/MedicationPrescribed/Quantity | repeatNumber |  | RXE-12-Number of Refills
quantity |  | Message/Body/NewRx/MedicationPrescribed/DaysSupply | quantity |  | RXD-4-Actual Dispense Amount / RXD-5.1-Actual Dispense Units.code / RXD-5.3-Actual Dispense Units.name of coding system
id |  |  | n/a |  |
extension |  |  | n/a |  |
value |  |  | PQ.value CO.value MO.value IVL.high or IVL.low depending on the value |  | SN.2 / CQ - N/A
comparator |  |  | IVL properties |  | SN.1 / CQ.1
unit |  |  | PQ.unit |  | (see OBX.6 etc.) / CQ.2
system |  |  | CO.codeSystem PQ.translation.codeSystem |  | (see OBX.6 etc.) / CQ.2
code |  |  | PQ.code MO.currency PQ.translation.code |  | (see OBX.6 etc.) / CQ.2
expectedSupplyDuration |  | Message/Body/NewRx/MedicationPrescribed/Substitutions | expectedUseTime |  |
performer |  |  | .outboundRelationship[typeCode=COMP].target[classCode=SPLY moodCode=RQO] .participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE] | FiveWs.who |
substitution |  | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions | subjectOf.substitutionPersmission |  |
id |  |  | n/a |  |
extension |  |  | n/a |  |
modifierExtension |  |  | N/A |  |
allowed[x] |  | specific values within Message/Body/NewRx/MedicationPrescribed/Substitutions | code |  | RXO-9-Allow Substitutions / RXE-9-Substitution Status
reason |  | not mapped | reasonCode |  | RXE-9 Substition status
priorPrescription | Request.replaces | not mapped | .outboundRelationship[typeCode=?RPLC or ?SUCC]/target[classCode=SBADM moodCode=RQO] |  |
detectedIssue |  |  | .inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT moodCode=EVN].value |  |
eventHistory | Request.relevantHistory |  | .inboundRelationship(typeCode=SUBJ].source[classCode=CACT moodCode=EVN] |  |
Documentation for this format