R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

Structured Documents Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson

Mappings for the composition resource.

Composition
    identifierFiveWs.identifier
    statusFiveWs.status
    typeFiveWs.class
    classFiveWs.class
    subjectFiveWs.subject[x]
    encounterFiveWs.context
    dateFiveWs.done[x]
    authorFiveWs.author
        partyFiveWs.witness
        modeFiveWs.class
CompositionEvent
    identifierEvent.identifier
    statusEvent.status
    typeEvent.code
    classEvent.subject
    encounterEvent.context
    dateEvent.occurrence[x]
    authorEvent.performer
CompositionClinicalDocument
  (meta.profile)ClinicalDocument.templateId
  (language)ClinicalDocument.languageCode
    identifier.setId
    statusn/a
    type.code
    classn/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
        text.text
        moden/a
        orderedByn/a
        entry.entry
        emptyReasonn/a
        section.component.section
CompositionDocument[classCode="DOC" and moodCode="EVN" and isNormalAct()]
    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
    class.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"]
        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
        code.outboundRelationship.typeCode
        target[x].target[classCode="DOC", moodCode="EVN"].id
    eventoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
        code.code
        period.effectiveTime
        detail.outboundRelationship[typeCode="SUBJ"].target
    section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
        title./title
        code./code
        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]