HL7 FHIR Implementation Guide: Profiles for Transfusion and Vaccination Adverse Event Detection and Reporting
1.0.1 - STU 1 Technical Correction United States of America flag

This page is part of the Profiles for ICSR Transfusion and Vaccination Adverse Event Detection and Reporting (v1.0.1: STU 1 Update) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: ICSRComposition - Mappings

Draft as of 2023-08-29

Mappings for the icsr-composition resource profile.

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

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

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

ICSRComposition
CompositionEntity. Role, or Act, Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifierDocument.id / Document.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("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"]
      idn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   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 (PatientInformation)./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 (RelevantMedicalHistory)./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 (RelevantPastDrugHistory)./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 (InCaseOfDeath)./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 (ParentInformation)./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 (ReactionEvent)./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 (RelevantLabTestResults)./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 (DrugInformation)./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 (Vaccines)./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 (CaseNarrative)./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
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (CaseReporterComments)./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
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (CaseSenderDiagnosis)./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 (CaseSenderComments)./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
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
   section (DataSourceInformation)./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)

ICSRComposition
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 (PatientInformation).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 (RelevantMedicalHistory).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 (RelevantPastDrugHistory).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 (InCaseOfDeath).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 (ParentInformation).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 (ReactionEvent).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 (RelevantLabTestResults).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 (DrugInformation).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 (Vaccines).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 (CaseNarrative).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
      emptyReasonn/a
      section.component.section
   section (CaseReporterComments).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
      emptyReasonn/a
      section.component.section
   section (CaseSenderDiagnosis).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 (CaseSenderComments).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
      emptyReasonn/a
      section.component.section
   section (DataSourceInformation).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)

ICSRComposition
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)

ICSRComposition
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 (PatientInformation)
      authorFiveWs.author
      modeFiveWs.class
   section (RelevantMedicalHistory)
      authorFiveWs.author
      modeFiveWs.class
   section (RelevantPastDrugHistory)
      authorFiveWs.author
      modeFiveWs.class
   section (InCaseOfDeath)
      authorFiveWs.author
      modeFiveWs.class
   section (ParentInformation)
      authorFiveWs.author
      modeFiveWs.class
   section (ReactionEvent)
      authorFiveWs.author
      modeFiveWs.class
   section (RelevantLabTestResults)
      authorFiveWs.author
      modeFiveWs.class
   section (DrugInformation)
      authorFiveWs.author
      modeFiveWs.class
   section (Vaccines)
      authorFiveWs.author
      modeFiveWs.class
   section (CaseNarrative)
      authorFiveWs.author
      modeFiveWs.class
   section (CaseReporterComments)
      authorFiveWs.author
      modeFiveWs.class
   section (CaseSenderDiagnosis)
      authorFiveWs.author
      modeFiveWs.class
   section (CaseSenderComments)
      authorFiveWs.author
      modeFiveWs.class
   section (DataSourceInformation)
      authorFiveWs.author
      modeFiveWs.class