Mobile access to Health Documents (MHD)
5.0.1-current - ci-build

Mobile access to Health Documents (MHD), published by IHE IT Infrastructure Technical Committee. This guide is not an authorized publication; it is the continuous build for version 5.0.1-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/ITI.MHD/ and changes regularly. See the Directory of published versions

## Resource Profile: ComprehensiveDocumentReference - Mappings

Active as of 2026-01-13

Mappings for the IHE.MHD.Comprehensive.DocumentReference resource profile.

#### Mappings to Structures in this Implementation Guide

No Mappings Found

#### Mappings to other Structures

No Mappings Found

#### Other Mappings

Name | XDS and MHD Mapping | Workflow Pattern | FiveWs Pattern Mapping | FHIR Composition | RIM Mapping | XDS metadata equivalent | CDA (R2) | HL7 V2 Mapping
--- | --- | --- | --- | --- | --- | --- | --- | ---
DocumentReference | Used in the context of the IHE MHD ImplementationGuide | Event | infrastructure.documents | when describing a Composition | Entity Role or Act Document[classCode="DOC" and moodCode="EVN"] | DocumentEntry | when describing a CDA |
id |  |  |  |  |  |  |  |
meta |  |  |  |  |  |  |  |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
versionId |  |  |  |  |  |  |  |
lastUpdated |  |  |  |  |  |  |  |
source |  |  |  |  |  |  |  |
profile | DocumentEntry.limitedMetadata |  |  |  |  |  |  |
security |  |  |  |  |  |  |  |
tag |  |  |  |  |  |  |  |
implicitRules |  |  |  |  |  |  |  |
language |  |  |  |  |  |  |  |
text |  |  |  |  | Act.text? |  |  |
contained |  |  |  |  | N/A |  |  |
Slices for extension |  |  |  |  |  |  |  |
extension:sourcePatient |  |  |  |  |  |  |  |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  |  |  |  |
url |  |  |  |  | N/A |  |  |
value[x] |  |  |  |  | N/A |  |  |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
reference | DocumentEntry.sourcePatientInfo |  |  |  | N/A |  |  |
type |  |  |  |  | N/A |  |  |
identifier | DocumentEntry.sourcePatientId |  |  |  | .identifier |  |  |
display |  |  |  |  | N/A |  |  |
extension:referenceId | DocumentEntry.referenceIdList for other types using CXi encoding for type when possible (e.g. ihe:iti:xds:2013:uniqueId ihe:iti:xdw:2013:workflowInstanceId) |  |  |  |  |  |  |
modifierExtension |  |  |  |  |  |  |  |
Slices for identifier | DocumentEntry.entryUUID and DocumentEntry.uniqueId | Event.identifier | FiveWs.identifier | Composition.identifier | .id / .setId | DocumentEntry.entryUUID DocumentEntry.uniqueId | ClinicalDocument/id | TXA-12
identifier:entryUUID |  | Event.identifier | FiveWs.identifier | Composition.identifier | .id / .setId | DocumentEntry.entryUUID DocumentEntry.uniqueId | ClinicalDocument/id | TXA-12
identifier:uniqueId |  | Event.identifier | FiveWs.identifier | Composition.identifier | .id / .setId | DocumentEntry.entryUUID DocumentEntry.uniqueId | ClinicalDocument/id | TXA-12
version |  |  | FiveWs.version | Composition.version |  |  |  |
basedOn | DocumentEntry.referenceIdList with CXi encoding for procedures ihe:iti:xds:2013:accession ihe:iti:xds:2013:referral ihe:iti:xds:2013:order ihe:iti:xds:2016:studyInstanceUID |  |  |  | .outboundRelationship[typeCode=FLFS].target | DocumentEntry.referenceIdList |  |
status | DocumentEntry.availabilityStatus | Event.status | FiveWs.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" | DocumentEntry.availabilityStatus |  | TXA-19
docStatus |  |  | FiveWs.status | Composition.status | .statusCode |  |  | TXA-17
modality |  |  | FiveWs.class |  |  |  |  |
type | DocumentEntry.typeCode | Event.code | FiveWs.what[x] | Composition.type | ./code | DocumentEntry.typeCode | 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. | TXA-2
category | DocumentEntry.classCode |  | FiveWs.what[x] | Composition.category | .outboundRelationship[typeCode="COMP].target[classCode="LIST" moodCode="EVN"].code | DocumentEntry.classCode | 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 |
subject | DocumentEntry.patientId | Event.subject | FiveWs.subject[x] | Composition.subject | .participation[typeCode="SBJ"].role[typeCode="PAT"] | DocumentEntry.patientId | ClinicalDocument/recordTarget/ | PID-3 (No standard way to define a Practitioner or Group subject in HL7 V2 MDM message)
context | ihe:iti:xds:2015:encounterId | Event.encounter | FiveWs.context | Composition.encounter | unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()] priorityNumber)/target[moodCode="EVN" and classCode=("ENC" "PCPR") and isNormalAct]) |  |  |
event |  |  |  | Composition.event.detail | .code | DocumentEntry.referenceIdList |  |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
concept | DocumentEntry.eventCodeList |  |  |  | N/A |  |  |
reference |  |  |  |  | N/A |  |  |
bodySite |  |  |  |  | .targetSiteCode |  |  |
facilityType | DocumentEntry.healthcareFacilityTypeCode |  |  | usually from a mapping to a local ValueSet | .participation[typeCode="LOC"].role[classCode="DSDLOC"].code | DocumentEntry.healthcareFacilityTypeCode | usually a mapping to a local ValueSet. Must be consistent with /clinicalDocument/code |
practiceSetting | DocumentEntry.practiceSettingCode |  |  | usually from a mapping to a local ValueSet | .participation[typeCode="LOC"].role[classCode="DSDLOC"].code | DocumentEntry.practiceSettingCode | usually from a mapping to a local ValueSet |
period |  |  |  | Composition.event.period | .effectiveTime | DocumentEntry.serviceStartTime DocumentEntry.serviceStopTime | ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
start | DocumentEntry.serviceStartTime |  |  |  | ./low |  |  | DR.1
end | DocumentEntry.serviceStopTime |  |  |  | ./high |  |  | DR.2
date |  | Event.occurrence[x] | FiveWs.recorded | Composition.date | .availabilityTime[type="TS"] |  |  |
author | DocumentEntry.author | Event.performer.actor |  | Composition.author | .participation[typeCode="AUT"].role[classCode="ASSIGNED"] | DocumentEntry.author | ClinicalDocument/author | TXA-9 (No standard way to indicate a Device in HL7 V2 MDM message)
attester |  | Event.performer.actor |  | Composition.attester | .participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"] | DocumentEntry.legalAuthenticator | .authenticator/.legalAuthenticator |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
modifierExtension |  |  |  |  | N/A |  |  |
mode |  |  |  | Composition.attester.mode | unique(./modeCode) |  | implied by .authenticator/.legalAuthenticator |
time |  |  |  | Composition.attester.time | ./time[type="TS" and isNormalDatatype()] |  | .authenticator.time |
party | DocumentEntry.legalAuthenticator |  | FiveWs.witness | Composition.attester.party | ./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV" "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()] |  | .authenticator.assignedEnttty | TXA-10
custodian | not mapped | Event.performer.actor |  | Composition.custodian | .participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"] |  |  |
relatesTo | DocumentEntry Associations |  |  | Composition.relatesTo | .outboundRelationship | DocumentEntry Associations |  |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
modifierExtension |  |  |  |  | N/A |  |  |
code | DocumentEntry Associations.type |  |  | Composition.relatesTo.type | .outboundRelationship.typeCode | DocumentEntry Associations type | ClinicalDocument/relatedDocument/typeCode |
target | DocumentEntry Associations.reference |  |  | Composition.relatesTo.resourceReference | .target[classCode="DOC" moodCode="EVN"].id | DocumentEntry Associations reference | ClinicalDocument/relatedDocument/parentDocument |
description | DocumentEntry.comments |  |  |  | .outboundRelationship[typeCode="SUBJ"].target.text | DocumentEntry.comments |  | TXA-25
securityLabel | DocumentEntry.confidentialityCode |  |  | Bundle.meta.security | .confidentialityCode | DocumentEntry.confidentialityCode | ClinicalDocument/confidentialityCode/@code | TXA-18
content |  |  |  | Bundle(Composition+*) | document.text |  |  |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
modifierExtension |  |  |  |  | N/A |  |  |
attachment |  |  |  | Composition.language Composition.title Composition.date | document.text | DocumentEntry.mimeType DocumentEntry.languageCode DocumentEntry.URI DocumentEntry.size DocumentEntry.hash DocumentEntry.title DocumentEntry.creationTime | ClinicalDocument/languageCode ClinicalDocument/title ClinicalDocument/date | TXA-3 for mime type
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
contentType | 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 |  |  |  | ./language |  |  |
data |  |  |  |  | ./data |  |  | ED.5
url | DocumentEntry.repositoryUniqueId+DocumentEntry.uniqueId or DocumentEntry.URI |  |  |  | ./reference/literal |  |  | RP.1+RP.2 - if they refer to a URL (see v2.6)
size | DocumentEntry.size |  |  |  | N/A (needs data type R3 proposal) |  |  |
hash | DocumentEntry.hash |  |  |  | :ED/integrityCheckAlgorithm="SHA-1"] |  |  |
title | DocumentEntry.title |  |  |  | ./title/data |  |  |
creation | DocumentEntry.creationTime |  |  |  | N/A (needs data type R3 proposal) |  |  |
height |  |  |  |  | .outboundRelationship[typeCode="COMP].target[classCode="OBS" moodCode="EVN" code="<CODE>"].value |  |  |
width |  |  |  |  | .outboundRelationship[typeCode="COMP].target[classCode="OBS" moodCode="EVN" code="<CODE>"].value |  |  |
frames |  |  |  |  | .outboundRelationship[typeCode="COMP].target[classCode="OBS" moodCode="EVN" code="<CODE>"].value |  |  |
duration |  |  |  |  | .outboundRelationship[typeCode="COMP].target[classCode="OBS" moodCode="EVN" code="<CODE>"].value |  |  |
pages |  |  |  |  |  |  |  |
profile |  |  |  | Composition.meta.profile | document.text | DocumentEntry.formatCode | derived from the IHE Profile or Implementation Guide templateID |
id |  |  |  |  | n/a |  |  |
extension |  |  |  |  | n/a |  |  |
modifierExtension |  |  |  |  | N/A |  |  |
Slices for value[x] |  |  |  | Composition.meta.profile | document.text | DocumentEntry.formatCode | derived from the IHE Profile or Implementation Guide templateID |
value[x]:valueCoding | DocumentEntry.formatCode |  |  | Composition.meta.profile | document.text | DocumentEntry.formatCode | derived from the IHE Profile or Implementation Guide templateID |
Documentation for this format