Implementation Guide
ePA MHD Service
Version 1.0.1 - release

Resource Profile: EPAMHDDocumentReference - Mappings

Active as of 2025-09-10

Mappings for the epa-mhd-document-reference resource profile.

Mapping

Hinweis: Für die Spezifikation des ePA MHD Service ist ausschließlich das ePA-Mapping “ePA XDS.b <-> MHD” im Abschnitt “Other Mappings” relevant. Weitere dargestellte Mappings sind rein informativ.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameePA XDS.b <-> MHDXDS and MHD MappingWorkflow PatternFHIR CompositionRIM MappingCDA (R2)FiveWs Pattern MappingHL7 v2 MappingXDS metadata equivalentdoco
.. DocumentReference
Inhaltsgleiche Abbildung zum XDS Document Service
Used in the context of the IHE MHD ImplementationGuide
Event
when describing a Composition
Document[classCode="DOC" and moodCode="EVN"]
when describing a CDA
... id
... meta
.... id
n/a
.... extension
n/a
.... versionId
.... lastUpdated
n/a
.... source
.... profile
Keine Entsprechung zu XDS.b DocumentEntry
DocumentEntry.limitedMetadata
.... security
CV
CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
.... tag
CV
CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
... implicitRules
... text
Act.text?
... contained
N/A
... extension
N/A
... modifierExtension
N/A
... masterIdentifier
DocumentEntry.uniqueId
DocumentEntry.uniqueId
Event.identifier
Composition.identifier
.id
ClinicalDocument/id
FiveWs.identifier
TXA-12
DocumentEntry.uniqueId
... Slices for identifier
DocumentEntry.entryUUID
DocumentEntry.entryUUID
Event.identifier
.id / .setId
FiveWs.identifier
TXA-16?
DocumentEntry.entryUUID
.... identifier:entryUUID
Event.identifier
.id / .setId
FiveWs.identifier
TXA-16?
DocumentEntry.entryUUID
... status
DocumentEntry.availabilityStatus
DocumentEntry.availabilityStatus
Event.status
  • .completionCode="IN" & ./statusCode[isNormalDatatype()]="active"; final: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseDocument"
  • .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseDocument"
  • .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
FiveWs.status
TXA-19
DocumentEntry.availabilityStatus
... docStatus
Composition.status
.statusCode
FiveWs.status
TXA-17
... type
DocumentEntry.typeCode
DocumentEntry.typeCode
Event.code
Composition.type
./code
  • ClinicalDocument/code/@code The typeCode should be mapped from the ClinicalDocument/code element to a set of document type codes configured in the affinity domain. One suggested coding system to use for typeCode is LOINC
  • in which case the mapping step can be omitted.
FiveWs.class
TXA-2
DocumentEntry.type
.... 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
... category
DocumentEntry.classCode
DocumentEntry.classCode
Composition.class
  • .outboundRelationship[typeCode="COMP].target[classCode="LIST"
  • moodCode="EVN"].code
  • Derived from a mapping of /ClinicalDocument/code/@code to an Affinity Domain specified coded value to use and coding system. Affinity Domains are encouraged to use the appropriate value for Type of Service
  • based on the LOINC Type of Service (see Page 53 of the LOINC User's Manual). Must be consistent with /ClinicalDocument/code/@code
FiveWs.class
CE/CNE/CWE
DocumentEntry.class
.... 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
... subject
DocumentEntry.patientId
DocumentEntry.patientId
Event.subject
Composition.subject
.participation[typeCode="SBJ"].role[typeCode="PAT"]
ClinicalDocument/recordTarget/
FiveWs.subject
PID-3 (No standard way to define a Practitioner or Group subject in HL7 v2 MDM message)
DocumentEntry.patientId
.... id
n/a
.... extension
n/a
.... reference
N/A
.... type
N/A
.... identifier
.identifier
  • CX / EI (occasionally
  • more often EI maps to a resource id or a URL)
.... display
N/A
... date
Event.occurrence[x]
Composition.date
.availabilityTime[type="TS"]
FiveWs.recorded
... author
DocumentEntry.author
DocumentEntry.author
Event.performer.actor
Composition.author
.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
ClinicalDocument/author
TXA-9 (No standard way to indicate a Device in HL7 v2 MDM message)
DocumentEntry.author
.... id
n/a
.... extension
n/a
.... reference
N/A
.... type
N/A
.... identifier
.identifier
  • CX / EI (occasionally
  • more often EI maps to a resource id or a URL)
.... display
N/A
... authenticator
DocumentEntry.legalAuthenticator
DocumentEntry.legalAuthenticator
Event.performer.actor
Composition.attester
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
ClinicalDocument/legalAuthenticator
FiveWs.witness
TXA-10
DocumentEntry.legalAuthenticator
.... id
n/a
.... extension
n/a
.... reference
N/A
.... type
N/A
.... identifier
.identifier
  • CX / EI (occasionally
  • more often EI maps to a resource id or a URL)
.... display
N/A
... custodian
Keine Entsprechung zu XDS.b DocumentEntry
not mapped
Event.performer.actor
Composition.custodian
.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
... relatesTo
Keine Entsprechung zu XDS.b DocumentEntry
DocumentEntry Associations
Composition.relatesTo
.outboundRelationship
DocumentEntry Associations
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... code
DocumentEntry Associations.type
Composition.relatesTo.code
.outboundRelationship.typeCode
DocumentEntry Associations type
.... target
DocumentEntry Associations.reference
Composition.relatesTo.target
  • .target[classCode="DOC"
  • moodCode="EVN"].id
DocumentEntry Associations reference
... description
DocumentEntry.comments
DocumentEntry.comments
.outboundRelationship[typeCode="SUBJ"].target.text
TXA-25
DocumentEntry.comments
... securityLabel
DocumentEntry.confidentialityCode sowie zugewiesene Datenkategorien gemäß Legal Policy
DocumentEntry.confidentialityCode
  • Composition.confidentiality
  • Composition.meta.security
.confidentialityCode
ClinicalDocument/confidentialityCode/@code
TXA-18
DocumentEntry.confidentialityCode
.... 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
... content
Bundle(Composition+*)
document.text
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... attachment
  • Composition.language
  • Composition.title
  • Composition.date
document.text
  • ClinicalDocument/languageCode
  • ClinicalDocument/title
  • ClinicalDocument/date
TXA-3 for mime type
  • DocumentEntry.mimeType
  • DocumentEntry.languageCode
  • DocumentEntry.URI
  • DocumentEntry.size
  • DocumentEntry.hash
  • DocumentEntry.title
  • DocumentEntry.creationTime
..... id
n/a
..... extension
n/a
..... contentType
DocumentEntry.mimeType
DocumentEntry.mimeType
  • ./mediaType
  • ./charset
ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
..... language
DocumentEntry.languageCode
DocumentEntry.languageCode
./language
..... data
./data
ED.5
..... url
Abweichend zu MHD V4.2.2 vom Document Responder festgelegter Speicherort des Documents
DocumentEntry.repositoryUniqueId or DocuemntEntry.URI
./reference/literal
RP.1+RP.2 - if they refer to a URL (see v2.6)
..... size
DocumentEntry.size
DocumentEntry.size
N/A (needs data type R3 proposal)
..... hash
DocumentEntry.hash
DocumentEntry.hash
:ED/integrityCheckAlgorithm="SHA-1"]
..... title
DocumentEntry.title
DocumentEntry.title
./title/data
..... creation
DocumentEntry.creationTime
DocumentEntry.creationTime
N/A (needs data type R3 proposal)
.... format
DocumentEntry.formatCode
DocumentEntry.formatCode
Composition.meta.profile
document.text
derived from the IHE Profile or Implementation Guide templateID
CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
DocumentEntry.formatCode
... context
outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... encounter
Keine Entsprechung zu XDS.b DocumentEntry
ihe:iti:xds:2015:encounterId
Event.context
Composition.encounter
  • unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]
  • priorityNumber)/target[moodCode="EVN" and classCode=("ENC"
  • "PCPR") and isNormalAct])
FiveWs.context
.... event
DocumentEntry.eventCodeList
DocumentEntry.eventCodeList
Composition.event.code
.code
CE/CNE/CWE
DocumentEntry.eventCodeList
..... 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
.... period
Composition.event.period
.effectiveTime
ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value
DR
  • DocumentEntry.serviceStartTime
  • DocumentEntry.serviceStopTime
..... id
n/a
..... extension
n/a
..... start
DocumetEntry.serviceStartTime
DocumetEntry.serviceStartTime
./low
DR.1
..... end
DocumentEntry.serviceStopTime
DocumentEntry.serviceStopTime
./high
DR.2
.... facilityType
DocumentEntry.healthcareFacilityTypeCode
DocumentEntry.healthcareFacilityTypeCode
usually from a mapping to a local ValueSet
.participation[typeCode="LOC"].role[classCode="DSDLOC"].code
usually a mapping to a local ValueSet. Must be consistent with /clinicalDocument/code
CE/CNE/CWE
DocumentEntry.healthcareFacilityTypeCode
..... 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
.... practiceSetting
DocumentEntry.practiceSettingCode
DocumentEntry.practiceSettingCode
usually from a mapping to a local ValueSet
.participation[typeCode="LOC"].role[classCode="DSDLOC"].code
usually from a mapping to a local ValueSet
CE/CNE/CWE
DocumentEntry.practiceSettingCode
..... 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
.... sourcePatientInfo
Composition.subject
.participation[typeCode="SBJ"].role[typeCode="PAT"]
ClinicalDocument/recordTarget/
  • DocumentEntry.sourcePatientInfo
  • DocumentEntry.sourcePatientId
..... id
n/a
..... extension
n/a
..... reference
DocumentEntry.sourcePatientInfo
DocumentEntry.sourcePatientInfo
N/A
..... type
N/A
..... identifier
DocumentEntry.sourcePatientId
DocumentEntry.sourcePatientId
.identifier
  • CX / EI (occasionally
  • more often EI maps to a resource id or a URL)
..... display
N/A
.... related
DocumentEntry.referenceIdList
DocumentEntry.referenceIdList using CXi encoding for type when possible
Composition.event.detail
./outboundRelationship[typeCode="PERT" and isNormalActRelationship()] / target[isNormalAct]
ClinicalDocument/relatedDocument
DocumentEntry.referenceIdList

doco Documentation for this format