type: mappingsresource: Composition
Composition Mappings
- Composition: workflow=Event; rim=Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]; cda=ClinicalDocument; fhirdocumentreference=when described by DocumentReference; w5=infrastructure.documents
- Composition.url: w5=FiveWs.identifier
- Composition.identifier: workflow=Event.identifier; w5=FiveWs.identifier; rim=Document.id / Document.setId; cda=.setId; fhirdocumentreference=DocumentReference.identifier
- Composition.version: cda=.versionNumber; w5=FiveWs.version; fhirdocumentreference=DocumentReference.version
- Composition.consent: cda=.authorization.consent
- Composition.basedOn: workflow=Event.basedOn; rim=.outboundRelationship[typeCode=FLFS].target; cda=.inFulfillmentOf
- Composition.status: workflow=Event.status; w5=FiveWs.status; rim=interim: .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"; cda=n/a; fhirdocumentreference=DocumentReference.docStatus
- Composition.type: workflow=Event.code; w5=FiveWs.class; rim=./code; cda=.code; fhirdocumentreference=DocumentReference.type
- Composition.category: w5=FiveWs.class; rim=.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code; cda=n/a; fhirdocumentreference=DocumenttReference.category
- Composition.subject: w5=FiveWs.subject; rim=.participation[typeCode="SBJ"].role[typeCode="PAT"]; cda=.recordTarget; workflow=Event.subject; fhirdocumentreference=DocumentReference.subject
- Composition.encounter: workflow=Event.encounter; w5=FiveWs.context; rim=unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct]); cda=.componentOf.encompassingEncounter; fhirdocumentreference=DocumentReference.context
- Composition.date: workflow=Event.occurrence[x]; w5=FiveWs.done[x]; rim=.effectiveTime[type="TS"]; cda=.effectiveTime; fhirdocumentreference=DocumentReference.content.attachment.date, DocumentReference.date
- Composition.author: workflow=Event.performer; w5=FiveWs.author; rim=.participation[typeCode="AUT"].role[classCode="ASSIGNED"]; cda=.author.assignedAuthor; fhirdocumentreference=DocumentReference.author
- Composition.title: rim=./title; cda=.title; fhirdocumentreference=DocumentReference.description, DocumentReference.content.attachment.title
- Composition.attester: rim=.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]; cda=.authenticator/.legalAuthenticator; fhirdocumentreference=DocumentReference.attester
- Composition.attester.mode: rim=unique(./modeCode); cda=implied by .authenticator/.legalAuthenticator; fhirdocumentreference=DocumentReference.attester.mode
- Composition.attester.time: rim=./time[type="TS" and isNormalDatatype()]; cda=.authenticator.time; fhirdocumentreference=DocumentReference.attester.time
- Composition.attester.party: w5=FiveWs.witness; rim=./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()]; cda=.authenticator.assignedEnttty; fhirdocumentreference=DocumentReference.attester.party
- Composition.custodian: rim=.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]; cda=.custodian.assignedCustodian; fhirdocumentreference=DocumentReference.custodian
- Composition.relatesTo: rim=.outboundRelationship; cda=.relatedDocument; fhirdocumentreference=DocumentReference.relatesTo
- Composition.event: rim=outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']; cda=.documentationOf.serviceEvent
- Composition.event.period: rim=.effectiveTime; cda=.effectiveTime; fhirdocumentreference=DocumentReference.period
- Composition.event.detail: rim=.outboundRelationship[typeCode="SUBJ"].target; cda=n/a; fhirdocumentreference=DocumentReference.event
- Composition.section: rim=./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]; cda=.component.structuredBody.component.section
- Composition.section.title: rim=./title; cda=.title
- Composition.section.code: rim=./code; cda=.code
- Composition.section.author: w5=FiveWs.author; rim=.participation[typeCode="AUT"].role[classCode="ASSIGNED"]; cda=.author.assignedAuthor
- Composition.section.focus: cda=.subject? (CDA did not differentiate between subject and focus)
- Composition.section.text: rim=.text; cda=.text
- Composition.section.orderedBy: rim=.outboundRelationship[typeCode=COMP].sequenceNumber > 1; cda=n/a
- Composition.section.entry: rim=.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]; cda=.entry
- Composition.section.emptyReason: rim=.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]; cda=n/a
- Composition.section.section: rim=./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]; cda=.component.section