ESMD FHIR Implementation Guide
1.0.0 - esmd

ESMD FHIR Implementation Guide - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: EsmdDocumentReference - Mappings

Draft as of 2024-02-25

Mappings for the Esmd-DocumentReference resource profile.

Mappings for esMD XDR and FHIR DocumentReference Mapping (esMD-XDS)

EsmdDocumentReference
DocumentReferenceesMD XDS DocumentEntry: Used in the context of the esMD FHIR ImplementationGuide
   meta
      profileDocumentEntry.limitedMetadata
   identifierDocumentEntry.uniqueId
   statusDocumentEntry.availabilityStatus
   typeDocumentEntry.typeCode
   categoryDocumentEntry.classCode
   authorDocumentEntry.author
   custodiannot mapped
   relatesToDocumentEntry Associations
      codeDocumentEntry Associations.type
      targetDocumentEntry Associations.reference
   descriptionDocumentEntry.comments
   securityLabelDocumentEntry.confidentialityCode
   content
      attachment
         idDocumentEntry.DocumentId
         contentTypeDocumentEntry.mimeType or DocuemntEntry.formatCode
         languageDocumentEntry.languageCode
         urlDocumentEntry.repositoryUniqueId or DocuemntEntry.URI
         sizeDocumentEntry.size
         hashDocumentEntry.hash
         titleDocumentEntry.title
         creationDocumentEntry.creationTime

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

EsmdDocumentReference
DocumentReferenceEvent
   masterIdentifierEvent.identifier
   identifierEvent.identifier
   identifier (uniqueId)Event.identifier
   identifier (letterId)Event.identifier
   statusEvent.status
   typeEvent.code
   dateEvent.occurrence[x]
   authorEvent.performer.actor
   authenticatorEvent.performer.actor
   custodianEvent.performer.actor
   context
      encounterEvent.context

Mappings for FHIR Composition (http://hl7.org/fhir/composition)

EsmdDocumentReference
DocumentReferencewhen describing a Composition
   masterIdentifierComposition.identifier
   typeComposition.type
   categoryComposition.class
   dateComposition.date
   authorComposition.author
   authenticatorComposition.attester
   custodianComposition.custodian
   relatesToComposition.relatesTo
      codeComposition.relatesTo.code
      targetComposition.relatesTo.target
   securityLabelComposition.confidentiality, Composition.meta.security
   contentBundle(Composition+*)
      attachmentComposition.language, Composition.title, Composition.date
      formatComposition.meta.profile
   context
      encounterComposition.encounter
      eventComposition.event.code
      periodComposition.event.period
      facilityTypeusually from a mapping to a local ValueSet
      practiceSettingusually from a mapping to a local ValueSet
      sourcePatientInfoComposition.subject
      relatedComposition.event.detail

Mappings for RIM Mapping (http://hl7.org/v3)

EsmdDocumentReference
DocumentReferenceEntity. Role, or Act, Document[classCode="DOC" and moodCode="EVN"]
   meta
      idn/a
      extensionn/a
   textAct.text?
   containedN/A
   extensionN/A
   masterIdentifier.id
   identifier.id / .setId
   identifier (uniqueId).id / .setId
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   identifier (letterId).id / .setId
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   statusinterim: .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", code) and isNormalAct()]); amended: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseDocument", code) and isNormalAct() and statusCode="completed"]; withdrawn : .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
   type./code
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   date.availabilityTime[type="TS"]
   author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
   authenticator.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
   custodian.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
   relatesTo.outboundRelationship
      idn/a
      extensionn/a
      modifierExtensionN/A
      code.outboundRelationship.typeCode
      target.target[classCode="DOC", moodCode="EVN"].id
   description.outboundRelationship[typeCode="SUBJ"].target.text
   securityLabel.confidentialityCode
   contentdocument.text
      idn/a
      extensionn/a
      modifierExtensionN/A
      attachmentdocument.text
         idn/a
         extensionn/a
         contentType./mediaType, ./charset
         language./language
         url./reference/literal
         sizeN/A (needs data type R3 proposal)
         hash.integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
         title./title/data
         creationN/A (needs data type R3 proposal)
      formatdocument.text
   contextoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
      idn/a
      extensionn/a
      modifierExtensionN/A
      encounterunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
      event.code
      period.effectiveTime
      facilityType.participation[typeCode="LOC"].role[classCode="DSDLOC"].code
      practiceSetting.participation[typeCode="LOC"].role[classCode="DSDLOC"].code
      sourcePatientInfo.participation[typeCode="SBJ"].role[typeCode="PAT"]
      related./outboundRelationship[typeCode="PERT" and isNormalActRelationship()] / target[isNormalAct]

Mappings for CDA (R2) (http://hl7.org/v3/cda)

EsmdDocumentReference
DocumentReferencewhen describing a CDA
   masterIdentifierClinicalDocument/id
   typeClinicalDocument/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.
   categoryDerived 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
   authorClinicalDocument/author
   authenticatorClinicalDocument/legalAuthenticator
   securityLabelClinicalDocument/confidentialityCode/@code
   content
      attachmentClinicalDocument/languageCode, ClinicalDocument/title, ClinicalDocument/date
      formatderived from the IHE Profile or Implementation Guide templateID
   context
      periodClinicalDocument/documentationOf/ serviceEvent/effectiveTime/low/ @value --> ClinicalDocument/documentationOf/ serviceEvent/effectiveTime/high/ @value
      facilityTypeusually a mapping to a local ValueSet. Must be consistent with /clinicalDocument/code
      practiceSettingusually from a mapping to a local ValueSet
      sourcePatientInfoClinicalDocument/recordTarget/
      relatedClinicalDocument/relatedDocument

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

EsmdDocumentReference
DocumentReference
   masterIdentifierFiveWs.identifier
   identifierFiveWs.identifier
   identifier (uniqueId)FiveWs.identifier
   identifier (letterId)FiveWs.identifier
   statusFiveWs.status
   typeFiveWs.class
   categoryFiveWs.class
   dateFiveWs.recorded
   authenticatorFiveWs.witness
   context
      encounterFiveWs.context

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

EsmdDocumentReference
DocumentReference
   masterIdentifierTXA-12
   identifierTXA-16?
   identifier (uniqueId)TXA-16?
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (letterId)TXA-16?
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   statusTXA-19
   typeTXA-2
   authorTXA-9 (No standard way to indicate a Device in HL7 v2 MDM message)
   authenticatorTXA-10
   descriptionTXA-25
   securityLabelTXA-18
   content
      attachmentTXA-3 for mime type
         contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
         urlRP.1+RP.2 - if they refer to a URL (see v2.6)

Mappings for XDS metadata equivalent (http://ihe.net/xds)

EsmdDocumentReference
DocumentReference
   masterIdentifierDocumentEntry.uniqueId
   identifierDocumentEntry.entryUUID
   identifier (uniqueId)DocumentEntry.entryUUID
   identifier (letterId)DocumentEntry.entryUUID
   statusDocumentEntry.availabilityStatus
   typeDocumentEntry.type
   categoryDocumentEntry.class
   authorDocumentEntry.author
   authenticatorDocumentEntry.legalAuthenticator
   relatesToDocumentEntry Associations
      codeDocumentEntry Associations type
      targetDocumentEntry Associations reference
   descriptionDocumentEntry.comments
   securityLabelDocumentEntry.confidentialityCode
   content
      attachmentDocumentEntry.mimeType, DocumentEntry.languageCode, DocumentEntry.URI, DocumentEntry.size, DocumentEntry.hash, DocumentEntry.title, DocumentEntry.creationTime
      formatDocumentEntry.formatCode
   context
      eventDocumentEntry.eventCodeList
      periodDocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime
      facilityTypeDocumentEntry.healthcareFacilityTypeCode
      practiceSettingDocumentEntry.practiceSettingCode
      sourcePatientInfoDocumentEntry.sourcePatientInfo, DocumentEntry.sourcePatientId
      relatedDocumentEntry.referenceIdList