FHIR Clinical Documents, published by HL7 International / Structured Documents. 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/fhir-clinical-document/ and changes regularly. See the Directory of published versions
Mappings for the clinical-document-composition resource profile.
ClinicalDocumentComposition |
Composition | Entity. Role, or Act, Document[classCode="DOC" and moodCode="EVN" and isNormalAct()] |
text | Act.text? |
contained | N/A |
extension | |
extension (R5-Composition-version) | n/a, N/A |
extension (data-enterer) | |
extension (informant) | |
extension (information-recipient) | |
extension (participant) | |
id | n/a |
extension | |
extension (type) | |
id | n/a |
url | N/A |
value[x] | N/A |
extension (function) | |
id | n/a |
url | N/A |
value[x] | N/A |
extension (time) | |
id | n/a |
url | N/A |
value[x] | N/A |
extension (party) | |
id | n/a |
url | N/A |
value[x] | N/A |
url | N/A |
identifier | Document.id / Document.setId |
status | 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" |
type | ./code |
category | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code |
subject | .participation[typeCode="SBJ"].role[typeCode="PAT"] |
encounter | unique(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"] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
mode | unique(./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()] |
attester (legal_attester) | .participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
mode | unique(./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()] |
attester (professional_attester) | .participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
mode | unique(./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 |
id | n/a |
extension | n/a |
modifierExtension | N/A |
code | .outboundRelationship.typeCode |
target[x] | .target[classCode="DOC", moodCode="EVN"].id |
target[x] (targetIdentifier) | .target[classCode="DOC", moodCode="EVN"].id |
id | n/a |
extension | n/a |
use | Role.code or implied by context |
type | Role.code or implied by context |
system | II.root or Role.id.root |
value | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) |
period | Role.effectiveTime or implied by context |
assigner | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper |
relatesTo (replaced_document) | .outboundRelationship |
id | n/a |
extension | n/a |
modifierExtension | N/A |
code | .outboundRelationship.typeCode |
target[x] (targetIdentifier) | .target[classCode="DOC", moodCode="EVN"].id |
relatesTo (appended_document) | .outboundRelationship |
id | n/a |
extension | n/a |
modifierExtension | N/A |
code | .outboundRelationship.typeCode |
target[x] (targetIdentifier) | .target[classCode="DOC", moodCode="EVN"].id |
event | outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT'] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
code | .code |
period | .effectiveTime |
detail | .outboundRelationship[typeCode="SUBJ"].target |
section | ./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct] |
id | n/a |
extension | n/a |
modifierExtension | N/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] |
ClinicalDocumentComposition |
Composition | ClinicalDocument |
language | languageCode |
extension (R5-Composition-version) | versionNumber |
extension (data-enterer) | assignedEntity.dataEnterer |
extension (informant) | informantChoice.informant |
extension (information-recipient) | intendedRecipient.informationRecipient |
extension (participant) | associatedEntity.participant |
extension (consent) | authorization.Consent |
extension (order) | inFulfillmentOf.Order |
identifier | .setId |
status | n/a |
type | .code |
category | n/a |
subject | .recordTarget |
encounter | .componentOf.encompassingEncounter |
date | .effectiveTime |
author | .author.assignedAuthor, assignedAuthor.author |
title | .title |
confidentiality | .confidentialityCode |
attester | .authenticator/.legalAuthenticator |
mode | implied by .authenticator/.legalAuthenticator |
time | .authenticator.time |
party | .authenticator.assignedEnttty |
attester (legal_attester) | .authenticator/.legalAuthenticator, assignedEntity.legalAuthenticator |
mode | implied by .authenticator/.legalAuthenticator |
time | .authenticator.time |
party | .authenticator.assignedEnttty |
attester (professional_attester) | .authenticator/.legalAuthenticator, assignedEntity.authenticator |
mode | implied by .authenticator/.legalAuthenticator |
time | .authenticator.time |
party | .authenticator.assignedEnttty |
custodian | .custodian.assignedCustodian, assignedCustodian.custodian |
relatesTo | .relatedDocument |
code | .relatedDocument.typeCode |
target[x] | .relatedDocument.id |
target[x] (targetIdentifier) | .relatedDocument.id |
relatesTo (replaced_document) | .relatedDocument, parentDocument.relatedDocument |
code | .relatedDocument.typeCode |
target[x] (targetIdentifier) | .relatedDocument.id |
relatesTo (appended_document) | .relatedDocument |
code | .relatedDocument.typeCode |
target[x] (targetIdentifier) | .relatedDocument.id |
event | .documentationOf.serviceEvent |
code | .code |
period | .effectiveTime |
detail | n/a |
section | .component.structuredBody.component.section, ./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct], bodyChoice.component.NonXMLBody |
title | .title |
code | .code |
author | .author.assignedAuthor |
focus | .subject? (CDA did not differentiate between subject and focus) |
text | .text |
mode | n/a |
orderedBy | n/a |
entry | .entry |
emptyReason | n/a |
section | .component.section |
ClinicalDocumentComposition |
Composition | when described by DocumentReference |
identifier | DocumentReference.masterIdentifier |
status | DocumentReference.status |
type | DocumentReference.type |
category | DocumenttReference.category |
subject | DocumentReference.subject |
encounter | DocumentReference.context.encounter |
date | DocumentReference.content.attachment.date, DocumentReference.created |
author | DocumentReference.agent |
title | DocumentReference.description, DocumentReference.content.attachment.title |
confidentiality | DocumentReference.securityLabel |
attester | DocumentReference.authenticator |
attester (legal_attester) | DocumentReference.authenticator |
attester (professional_attester) | DocumentReference.authenticator |
custodian | DocumentReference.custodian |
relatesTo | DocumentReference.relatesTo |
code | DocumentReference.relatesTo.code |
target[x] | DocumentReference.relatesTo.target |
target[x] (targetIdentifier) | DocumentReference.relatesTo.target |
relatesTo (replaced_document) | DocumentReference.relatesTo |
code | DocumentReference.relatesTo.code |
target[x] (targetIdentifier) | DocumentReference.relatesTo.target |
relatesTo (appended_document) | DocumentReference.relatesTo |
code | DocumentReference.relatesTo.code |
target[x] (targetIdentifier) | DocumentReference.relatesTo.target |
event | DocumentReference.event |
code | DocumentReference.event.code |
period | DocumentReference.event.period |