WHO Digital Documentation of COVID-19 Certificates (DDCC), published by WHO. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/ddcc/tree/main and changes regularly. See the Directory of published versions
Mappings for the DDCCTRComposition resource profile.
DDCCTRComposition |
Composition | Entity. Role, or Act, Document[classCode="DOC" and moodCode="EVN" and isNormalAct()] |
text | Act.text? |
contained | N/A |
extension | N/A |
modifierExtension | N/A |
identifier | Document.id / Document.setId |
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 |
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"] |
id | n/a |
extension | n/a |
reference | N/A |
type | N/A |
identifier | .identifier |
display | N/A |
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()] |
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 |
event | outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT'] |
id | n/a |
extension | n/a |
modifierExtension | N/A |
code | .code |
period | .effectiveTime |
id | n/a |
extension | n/a |
start | ./low |
end | ./high |
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] |
section (testresult) | ./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] |
DDCCTRComposition |
Composition | ClinicalDocument |
identifier | .setId |
status | n/a |
type | .code |
category | n/a |
subject | .recordTarget |
encounter | .componentOf.encompassingEncounter |
date | .effectiveTime |
author | .author.assignedAuthor |
title | .title |
confidentiality | .confidentialityCode |
attester | .authenticator/.legalAuthenticator |
mode | implied 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 |
detail | n/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 |
mode | n/a |
orderedBy | n/a |
entry | .entry |
emptyReason | n/a |
section | .component.section |
section (testresult) | .component.structuredBody.component.section |
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 |
DDCCTRComposition |
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 |
custodian | DocumentReference.custodian |
relatesTo | DocumentReference.relatesTo |
code | DocumentReference.relatesTo.code |
target[x] | DocumentReference.relatesTo.target |
event | DocumentReference.event |
code | DocumentReference.event.code |
period | DocumentReference.event.period |