|
Composition
|
ClinicalDocument
|
|
(meta.profile)
|
ClinicalDocument.templateId
|
|
(language)
|
ClinicalDocument.languageCode
|
|
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 |
|
Composition
|
Document[classCode="DOC"
Document[classCode="DOC"
and
moodCode="EVN"
moodCode="EVN"
and
isNormalAct()]
|
|
identifier
|
Document.id
/
Document.setId
|
|
status
|
interim:
.completionCode="IN"
.completionCode="IN"
&
./statusCode[isNormalDatatype()]="active";
./statusCode[isNormalDatatype()]="active";
final:
.completionCode="AU"
.completionCode="AU"
&&
./statusCode[isNormalDatatype()]="complete"
./statusCode[isNormalDatatype()]="complete"
and
not(./inboundRelationship[typeCode="SUBJ"
not(./inboundRelationship[typeCode="SUBJ"
and
isNormalActRelationship()]/source[subsumesCode("ActClass#CACT")
isNormalActRelationship()]/source[subsumesCode("ActClass#CACT")
and
moodCode="EVN"
moodCode="EVN"
and
domainMember("ReviseComposition",
domainMember("ReviseComposition",
code)
and
isNormalAct()]);
amended:
.completionCode="AU"
.completionCode="AU"
&&
./statusCode[isNormalDatatype()]="complete"
./statusCode[isNormalDatatype()]="complete"
and
./inboundRelationship[typeCode="SUBJ"
./inboundRelationship[typeCode="SUBJ"
and
isNormalActRelationship()]/source[subsumesCode("ActClass#CACT")
isNormalActRelationship()]/source[subsumesCode("ActClass#CACT")
and
moodCode="EVN"
moodCode="EVN"
and
domainMember("ReviseComposition",
domainMember("ReviseComposition",
code)
and
isNormalAct()
and
statusCode="completed"];
statusCode="completed"];
withdrawn
:
.completionCode=NI
&&
./statusCode[isNormalDatatype()]="obsolete"
./statusCode[isNormalDatatype()]="obsolete"
|
|
type
|
./code
|
class
category
|
.outboundRelationship[typeCode="COMP].target[classCode="LIST",
moodCode="EVN"].code
.outboundRelationship[typeCode="COMP].target[classCode="LIST",
moodCode="EVN"].code
|
|
subject
|
.participation[typeCode="SBJ"].role[typeCode="PAT"]
.participation[typeCode="SBJ"].role[typeCode="PAT"]
|
|
encounter
|
unique(highest(./outboundRelationship[typeCode="SUBJ"
unique(highest(./outboundRelationship[typeCode="SUBJ"
and
isNormalActRelationship()],
priorityNumber)/target[moodCode="EVN"
priorityNumber)/target[moodCode="EVN"
and
classCode=("ENC",
"PCPR")
classCode=("ENC",
"PCPR")
and
isNormalAct])
|
|
date
|
.effectiveTime[type="TS"]
.effectiveTime[type="TS"]
|
|
author
|
.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
|
|
title
|
./title
|
|
confidentiality
|
.confidentialityCode
|
|
attester
|
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
|
|
mode
|
unique(./modeCode)
|
|
time
|
./time[type="TS"
./time[type="TS"
and
isNormalDatatype()]
|
|
party
|
./role[classCode="ASSIGNED"
./role[classCode="ASSIGNED"
and
isNormalRole]/player[determinerCode="INST"
isNormalRole]/player[determinerCode="INST"
and
classCode=("DEV",
"PSN")
classCode=("DEV",
"PSN")
and
isNormalEntity()]
or
./role[classCode="ASSIGNED"
./role[classCode="ASSIGNED"
and
isNormalRole
and
not(player)]/scoper[determinerCode="INST"
not(player)]/scoper[determinerCode="INST"
and
classCode="ORG"
classCode="ORG"
and
isNormalEntity()]
|
|
custodian
|
.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG"
.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG"
and
determinerCode="INST"]
determinerCode="INST"]
|
|
relatesTo
|
.outboundRelationship
|
|
code
|
.outboundRelationship.typeCode
|
|
target[x]
|
.target[classCode="DOC",
moodCode="EVN"].id
.target[classCode="DOC",
moodCode="EVN"].id
|
|
event
|
outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
|
|
code
|
.code
|
|
period
|
.effectiveTime
|
|
detail
|
.outboundRelationship[typeCode="SUBJ"].target
.outboundRelationship[typeCode="SUBJ"].target
|
|
section
|
./outboundRelationship[typeCode="COMP"
./outboundRelationship[typeCode="COMP"
and
isNormalActRelationship()]/target[moodCode="EVN"
isNormalActRelationship()]/target[moodCode="EVN"
and
classCode="DOCSECT"
classCode="DOCSECT"
and
isNormalAct]
|
|
title
|
./title
|
|
code
|
./code
|
|
author
| .participation[typeCode="AUT"].role[classCode="ASSIGNED"] |
|
text
|
.text
|
|
mode
|
.outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
.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]
.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
|
|
section
|
./outboundRelationship[typeCode="COMP"
./outboundRelationship[typeCode="COMP"
and
isNormalActRelationship()]/target[moodCode="EVN"
isNormalActRelationship()]/target[moodCode="EVN"
and
classCode="DOCSECT"
classCode="DOCSECT"
and
isNormalAct]
|
|
Composition
|
ClinicalDocument
(meta.profile)
ClinicalDocument.templateId
(language)
ClinicalDocument.languageCode
when
described
by
DocumentReference
|
|
identifier
|
.setId
DocumentReference.masterIdentifier
|
|
status
|
n/a
DocumentReference.status
|
|
type
|
.code
DocumentReference.type
|
class
category
|
n/a
DocumenttReference.category
|
|
subject
|
.recordTarget
DocumentReference.subject
|
|
encounter
|
.componentOf.encompassingEncounter
DocumentReference.context.encounter
|
|
date
|
.effectiveTime
DocumentReference.content.attachment.date,
DocumentReference.created
|
|
author
|
.author.assignedAuthor
DocumentReference.agent
|
|
title
|
.title
DocumentReference.description,
DocumentReference.content.attachment.title
|
|
confidentiality
|
.confidentialityCode
DocumentReference.securityLabel
|
|
attester
|
.authenticator/.legalAuthenticator
DocumentReference.authenticator
|
|
mode
|
implied
by
.authenticator/.legalAuthenticator
|
|
time
|
.authenticator.time
|
|
party
|
.authenticator.assignedEnttty
|
|
custodian
|
.custodian.assignedCustodian
DocumentReference.custodian
|
|
relatesTo
|
.relatedDocument
DocumentReference.relatesTo
|
|
code
|
.relatedDocument.typeCode
DocumentReference.relatesTo.code
|
|
target[x]
|
.relatedDocument.id
DocumentReference.relatesTo.target
|
|
event
|
.documentationOf.serviceEvent
DocumentReference.event
|
|
code
|
.code
DocumentReference.event.code
|
|
period
|
.effectiveTime
DocumentReference.event.period
|
|
detail
|
n/a
|
|
section
|
.component.structuredBody.component.section
|
|
title
|
.title
|
|
code
|
.code
|
|
author
| |
|
focus
|
|
|
text
|
.text
|
|
mode
|
n/a
|
|
orderedBy
|
n/a
|
|
entry
|
.entry
|
|
emptyReason
|
n/a
|
|
section
|
.component.section
|