Evidence Based Medicine on FHIR Implementation Guide
1.0.0-ballot - ballot International flag

Evidence Based Medicine on FHIR Implementation Guide, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/ebm/ and changes regularly. See the Directory of published versions

Resource Profile: EvidenceMap - Mappings

Page standards status: Draft Maturity Level: 1

Mappings for the evidence-map resource profile.

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

EvidenceMap
CompositionEvent
   identifierEvent.identifier
   statusEvent.status
   typeEvent.code
   subjectEvent.subject
   encounterEvent.encounter
   dateEvent.occurrence[x]
   authorEvent.performer

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

EvidenceMap
Compositioninfrastructure.documents
   urlFiveWs.identifier
   identifierFiveWs.identifier
   versionFiveWs.version
   statusFiveWs.status
   typeFiveWs.class
   categoryFiveWs.class
   category (evidenceMap)FiveWs.class
   subjectFiveWs.subject[x]
   encounterFiveWs.context
   dateFiveWs.done[x]
   authorFiveWs.author
   attester
      partyFiveWs.witness
   section
      authorFiveWs.author
   section (outcomeDefinition)
      authorFiveWs.author
   section (comparatorOnlyEvidence)
      authorFiveWs.author
   section (interventionOnlyEvidence)
      authorFiveWs.author
   section (comparativeEvidence)
      authorFiveWs.author
   section (certaintyOfEvidence)
      authorFiveWs.author
   section (evidenceVariablePopulation)
      authorFiveWs.author
   section (intervention)
      authorFiveWs.author
   section (interventionDescription)
      authorFiveWs.author
   section (interventionGroup)
      authorFiveWs.author
   section (evidenceClassifier)
      authorFiveWs.author
   section (relativeImportance)
      authorFiveWs.author

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

EvidenceMap
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
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   category (evidenceMap).outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   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
   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
   eventoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
      idn/a
      extensionn/a
      modifierExtensionN/A
      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
      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 (outcomeDefinition)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (comparatorOnlyEvidence)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (interventionOnlyEvidence)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (comparativeEvidence)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (certaintyOfEvidence)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (evidenceVariablePopulation)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (intervention)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (interventionDescription)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (interventionGroup)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (evidenceClassifier)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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 (relativeImportance)./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      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)

EvidenceMap
CompositionClinicalDocument
   identifier.setId
   version.versionNumber
   statusn/a
   type.code
   categoryn/a
   category (evidenceMap)n/a
   subject.recordTarget
   encounter.componentOf.encompassingEncounter
   date.effectiveTime
   author.author.assignedAuthor
   title.title
   attester.authenticator/.legalAuthenticator
      modeimplied by .authenticator/.legalAuthenticator
      time.authenticator.time
      party.authenticator.assignedEnttty
   custodian.custodian.assignedCustodian
   relatesTo.relatedDocument
   event.documentationOf.serviceEvent
      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
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (outcomeDefinition).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (comparatorOnlyEvidence).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (interventionOnlyEvidence).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (comparativeEvidence).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (certaintyOfEvidence).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (evidenceVariablePopulation).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (intervention).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (interventionDescription).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (interventionGroup).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (evidenceClassifier).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
   section (relativeImportance).component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section

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

EvidenceMap
Compositionwhen described by DocumentReference
   identifierDocumentReference.identifier
   versionDocumentReference.version
   statusDocumentReference.docStatus
   typeDocumentReference.type
   categoryDocumenttReference.category
   category (evidenceMap)DocumenttReference.category
   subjectDocumentReference.subject
   encounterDocumentReference.context
   dateDocumentReference.content.attachment.date, DocumentReference.date
   authorDocumentReference.author
   titleDocumentReference.description, DocumentReference.content.attachment.title
   attesterDocumentReference.attester
      modeDocumentReference.attester.mode
      timeDocumentReference.attester.time
      partyDocumentReference.attester.party
   custodianDocumentReference.custodian
   relatesToDocumentReference.relatesTo
   event
      periodDocumentReference.period
      detailDocumentReference.event