Implementation Guide
ePA Medication Service
Version 1.3.5 - release

## Resource Profile: EPAMedicationStatement - Mappings

Active as of 2026-03-20

Mappings for the epa-medication-statement resource profile.

#### Mappings to Structures in this Implementation Guide

No Mappings Found

#### Mappings to other Structures

No Mappings Found

#### Other Mappings

Name | Workflow Pattern | RIM Mapping | FiveWs Pattern Mapping | HL7 v2 Mapping
--- | --- | --- | --- | ---
MedicationStatement | Event | SubstanceAdministration |  |
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:context |  |  |  |
id |  | n/a |  |
extension |  |  |  |
url |  | N/A |  |
value[x] |  | N/A |  |
extension:rxPrescriptionProcessIdentifier |  |  |  |
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
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)
extension:processingEvent |  |  |  |
id |  | n/a |  |
Slices for extension |  |  |  |
Slices for extension |  |  |  |
extension:event |  |  |  |
id |  | n/a |  |
extension |  |  |  |
url |  | N/A |  |
value[x] |  | N/A |  |
extension:dateTime |  |  |  |
id |  | n/a |  |
extension |  |  |  |
url |  | N/A |  |
value[x] |  | N/A |  |
url |  | N/A |  |
value[x] |  | N/A |  |
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 |  |
identifier | Event.identifier | .id | FiveWs.identifier |
basedOn | Event.basedOn | .outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS moodCode=RQO orPLAN or PRP] |  |
id |  | n/a |  |
Slices for extension |  |  |  |
extension:isEMP |  |  |  |
id |  | n/a |  |
extension |  |  |  |
url |  | N/A |  |
value[x] |  | 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 |  |
partOf | Event.partOf | .outboundRelationship[typeCode=COMP]/target[classCode=SPLY or SBADM or PROC or OBS moodCode=EVN] |  |
status | Event.status | .statusCode | FiveWs.status |
statusReason | Event.statusReason | .inboundRelationship[typeCode=SUBJ].source[classCode=CACT moodCode=EVN].reasonCOde |  |
category |  | .inboundRelationship[typeCode=COMP].source[classCode=OBS moodCode=EVN code="type of medication usage"].value | FiveWs.class |
medication[x] | Event.code | .participation[typeCode=CSM].role[classCode=ADMM or MANU] | FiveWs.what[x] |
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 | Event.subject | .participation[typeCode=SBJ].role[classCode=PAT] | FiveWs.subject | PID-3-Patient ID List
id |  | n/a |  |
extension |  | n/a |  |
reference |  | N/A |  |
type |  | N/A |  |
identifier |  | .identifier |  |
display |  | N/A |  |
context | Event.context | .inboundRelationship[typeCode=COMP].source[classCode=ENC moodCode=EVN code="type of encounter or episode"] |  |
Slices for effective[x] | Event.occurrence[x] | .effectiveTime | FiveWs.done[x] |
effective[x]:effectiveDateTime | Event.occurrence[x] | .effectiveTime | FiveWs.done[x] |
effective[x]:effectivePeriod | Event.occurrence[x] | .effectiveTime | FiveWs.done[x] |
id |  | n/a |  |
extension |  | n/a |  |
start |  | ./low |  | DR.1
end |  | ./high |  | DR.2
dateAsserted |  | .participation[typeCode=AUT].time | FiveWs.recorded |
informationSource |  | .participation[typeCode=INF].role[classCode=PAT or codes for Practioner or Related Person (if PAT is the informer then syntax for self-reported =true) | FiveWs.source |
derivedFrom |  | .outboundRelationship[typeCode=SPRT]/target[classCode=ACT moodCode=EVN] |  |
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 |  |
reasonCode | Event.reasonCode | .reasonCode | FiveWs.why[x] |
reasonReference | Event.reasonReference | .outboundRelationship[typeCode=RSON]/target[classCode=OBS moodCode=EVN code="reason for use"].value | FiveWs.why[x] |
note | Event.note | .inboundRelationship[typeCode=SUBJ]/source[classCode=OBS moodCode=EVN code="annotation"].value |  |
dosage |  | refer 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 |  |
Documentation for this format