Da Vinci - Payer Coverage Decision Exchange (PCDE)
1.0.0 - STU 1

This page is part of the Da Vinci Payer Coverage Decision Exchange (PCDE) FHIR IG (v1.0.0: STU 1) based on FHIR R4. This is the current published version in it's 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: PCDEComposition - Mappings

Mappings for the profile-composition resource profile.

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

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

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

PCDEComposition
CompositionEntity. Role, or Act, Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
   textAct.text?
   containedN/A
   extensionN/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 (ActiveTreatment)./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 (Treatment)./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 (PriorCoverage)./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 (SupportingInformation)./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 (OtherDocumentation)./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]

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

PCDEComposition
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 (ActiveTreatment).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 (Treatment).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 (PriorCoverage).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 (SupportingInformation).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 (OtherDocumentation).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

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

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

PCDEComposition
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
   section (ActiveTreatment)
      authorFiveWs.author
      modeFiveWs.class
      section
      section (Treatment)
         authorFiveWs.author
         modeFiveWs.class
      section (PriorCoverage)
         authorFiveWs.author
         modeFiveWs.class
      section (SupportingInformation)
         authorFiveWs.author
         modeFiveWs.class
   section (OtherDocumentation)
      authorFiveWs.author
      modeFiveWs.class