Medicolegal Death Investigation (MDI)
1.0.0-ballot - STU 1 Ballot US

This page is part of the Medicolegal Death Investigation (MDI) (v1.0.0-ballot: STU1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: CompositionMDIToEDRS - Mappings

Active as of 2022-03-28

Mappings for the Composition-mdi-to-edrs resource profile.

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

CompositionMDIToEDRS
CompositionEvent
   identifierEvent.identifier
   statusEvent.status
   typeEvent.code
   categoryEvent.subject
   encounterEvent.context
   dateEvent.occurrence[x]
   authorEvent.performer

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

CompositionMDIToEDRS
CompositionEntity. Role, or Act, Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifierDocument.id / Document.setId
   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("ReviseComposition", code) and isNormalAct()]); amended: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct() and statusCode="completed"]; withdrawn : .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
   type./code
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   subject.participation[typeCode="SBJ"].role[typeCode="PAT"]
   encounterunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
   date.effectiveTime[type="TS"]
   author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
   title./title
   confidentiality.confidentialityCode
   attester.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
      idn/a
      extensionn/a
      modifierExtensionN/A
      modeunique(./modeCode)
      time./time[type="TS" and isNormalDatatype()]
      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()]
   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[x].target[classCode="DOC", moodCode="EVN"].id
   eventoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
      idn/a
      extensionn/a
      modifierExtensionN/A
      code.code
      period.effectiveTime
      detail.outboundRelationship[typeCode="SUBJ"].target
   section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (demographics)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (decedent-occupation-industry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (circumstances)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (death-location).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (work-injury).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (tobacco-use-contributed-to-death).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (decedent-pregnancy).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (jurisdiction)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (death-date).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (cause-manner)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (cause).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (other-condition).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (manner).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (how-injury).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (medical-history)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (history-condition).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (exam-autopsy)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (narratives)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      mode.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]

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

CompositionMDIToEDRS
CompositionClinicalDocument
   identifier.setId
   statusn/a
   type.code
   categoryn/a
   subject.recordTarget
   encounter.componentOf.encompassingEncounter
   date.effectiveTime
   author.author.assignedAuthor
   title.title
   confidentiality.confidentialityCode
   attester.authenticator/.legalAuthenticator
      modeimplied by .authenticator/.legalAuthenticator
      time.authenticator.time
      party.authenticator.assignedEnttty
   custodian.custodian.assignedCustodian
   relatesTo.relatedDocument
      code.relatedDocument.typeCode
      target[x].relatedDocument.id
   event.documentationOf.serviceEvent
      code.code
      period.effectiveTime
      detailn/a
   section.component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (demographics).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      entry (decedent-occupation-industry).entry
      emptyReasonn/a
      section.component.section
   section (circumstances).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      entry (death-location).entry
      entry (work-injury).entry
      entry (tobacco-use-contributed-to-death).entry
      entry (decedent-pregnancy).entry
      emptyReasonn/a
      section.component.section
   section (jurisdiction).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      entry (death-date).entry
      emptyReasonn/a
      section.component.section
   section (cause-manner).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      entry (cause).entry
      entry (other-condition).entry
      entry (manner).entry
      entry (how-injury).entry
      emptyReasonn/a
      section.component.section
   section (medical-history).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      entry (history-condition).entry
      emptyReasonn/a
      section.component.section
   section (exam-autopsy).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (narratives).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      moden/a
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section

Mappings for FHIR DocumentReference (http://hl7.org/fhir/documentreference)

CompositionMDIToEDRS
Compositionwhen described by DocumentReference
   identifierDocumentReference.masterIdentifier
   statusDocumentReference.status
   typeDocumentReference.type
   categoryDocumenttReference.category
   subjectDocumentReference.subject
   encounterDocumentReference.context.encounter
   dateDocumentReference.content.attachment.date, DocumentReference.created
   authorDocumentReference.agent
   titleDocumentReference.description, DocumentReference.content.attachment.title
   confidentialityDocumentReference.securityLabel
   attesterDocumentReference.authenticator
   custodianDocumentReference.custodian
   relatesToDocumentReference.relatesTo
      codeDocumentReference.relatesTo.code
      target[x]DocumentReference.relatesTo.target
   eventDocumentReference.event
      codeDocumentReference.event.code
      periodDocumentReference.event.period

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

CompositionMDIToEDRS
Composition
   identifierFiveWs.identifier
   statusFiveWs.status
   typeFiveWs.class
   categoryFiveWs.class
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   dateFiveWs.done[x]
   authorFiveWs.author
   attester
      partyFiveWs.witness
   section
      authorFiveWs.author
      modeFiveWs.class
   section (demographics)
      authorFiveWs.author
      modeFiveWs.class
   section (circumstances)
      authorFiveWs.author
      modeFiveWs.class
   section (jurisdiction)
      authorFiveWs.author
      modeFiveWs.class
   section (cause-manner)
      authorFiveWs.author
      modeFiveWs.class
   section (medical-history)
      authorFiveWs.author
      modeFiveWs.class
   section (exam-autopsy)
      authorFiveWs.author
      modeFiveWs.class
   section (narratives)
      authorFiveWs.author
      modeFiveWs.class