description: The Advance Directive Observation template is nested within the Advance Directive Existence Observation, which indicates whether the individual has any advance directive documents. This template provides details about the type of advance directive document and may also include information on the documentβs author, as well as any individuals who verified its contents with the patient or their designated healthcare agent.
package_name: hl7.cda.us.ccda
derivation: constraint
name: AdvanceDirectiveObservation
type: http://hl7.org/cda/stds/core/StructureDefinition/Observation
elements:
value: {index: 18}
participant:
index: 21
slicing:
rules: open
discriminator:
- {path: typeCode, type: value}
min: null
slices:
verifier:
match: {typeCode: VRF}
schema:
constraint:
should-time: {human: SHOULD contain time, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: time.exists()}
short: 'π¨π¦πππ: Verifier - The participant "VRF" represents the clinician(s) who verified the patient advance directive.'
array: true
index: 22
elements:
templateId:
index: 23
slicing:
rules: open
discriminator:
- {path: root, type: value}
min: 1
slices:
primary:
match: {root: 2.16.840.1.113883.10.20.1.58}
schema:
_required: true
index: 24
elements:
root:
pattern: {type: String, value: 2.16.840.1.113883.10.20.1.58}
index: 25
extension: {index: 26}
required: [root]
extensions: {}
typeCode:
pattern: {type: Code, value: VRF}
index: 27
time:
constraint:
value-only: {human: Interval fields SHALL NOT be present, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: error, expression: (low | high | width | center).empty()}
index: 28
elements:
value: {short: value should be used instead of low/high, index: 29}
participantRole:
constraint:
should-code: {human: SHOULD contain code, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: code.exists()}
index: 30
elements:
code:
binding: {strength: preferred, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066'}
index: 31
addr: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/AD', index: 32}
playingEntity:
index: 33
elements:
name: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/PN', index: 34}
required: [name]
required: [playingEntity]
required: [templateId]
custodian:
match: {typeCode: CST}
schema:
short: This custodian (CST) participant identifies a legal representative for healthcare decision-making. Examples of such individuals are called health care agents, substitute decision makers and/or health care proxies. Only record a healthcare agent who is acting in that capacitiy and participating in carae decision-making during the documented care encounter.
array: true
index: 35
elements:
typeCode:
pattern: {type: Code, value: CST}
index: 36
participantRole:
constraint:
should-code: {human: SHOULD contain code, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: code.exists()}
should-addr: {human: SHOULD contain addr, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: addr.exists()}
should-telecom: {human: SHOULD contain telecom, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: telecom.exists()}
index: 37
elements:
classCode:
pattern: {type: Code, value: AGNT}
index: 38
code:
binding: {strength: preferred, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.35'}
index: 39
addr: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/AD', index: 40}
telecom: {index: 41}
playingEntity:
constraint:
should-code: {human: SHOULD contain code, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: code.exists()}
index: 42
elements:
code:
binding: {strength: preferred, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1'}
index: 43
name: {short: The name of the healthcare agent., index: 44}
required: [name]
required: [classCode, playingEntity]
classCode:
pattern: {type: Code, value: OBS}
index: 4
author: {type: 'http://hl7.org/cda/stds/core/StructureDefinition/Author', index: 19}
reference:
index: 45
slicing:
rules: open
discriminator:
- {path: typeCode, type: value}
min: 1
slices:
reference1:
match: {typeCode: REFR}
schema:
array: true
min: 1
_required: true
index: 46
elements:
typeCode:
pattern: {type: Code, value: REFR}
index: 47
externalDocument:
short: 'π¨π¦πππ: External Document'
index: 48
elements:
id: {index: 49}
code:
binding: {strength: preferred, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.69.4'}
index: 50
text:
index: 51
elements:
reference:
short: The URL of a referenced advance directive document **MAY** be present, and **SHALL** be represented in Observation/reference/ExternalDocument/text/reference (CONF:1198-8698).
constraint:
1198-8699: {human: 'If a URL is referenced, then it **SHOULD** have a corresponding linkHTML element in narrative block (CONF:1198-8699).', source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning}
index: 52
sdtcAuthor: {short: 'π¨π¦πππ: Author', index: 53}
required: [id, code]
required: [externalDocument]
id: {index: 6}
code:
short: Advance Directive
constraint:
should-translation: {human: SHOULD contain translation, source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: warning, expression: translation.exists()}
index: 7
elements:
code:
pattern: {type: Code, value: 75320-2}
index: 8
codeSystem:
short: LOINC
pattern: {type: String, value: 2.16.840.1.113883.6.1}
index: 9
translation:
short: 'π¨π¦πππ: Advance Directive Type'
binding: {strength: preferred, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.69.4'}
index: 10
required: [codeSystem, code]
moodCode:
pattern: {type: Code, value: EVN}
index: 5
effectiveTime:
index: 15
elements:
low: {index: 16}
high:
constraint:
1198-32449: {human: 'If the Advance Directive does not have a specified ending time, the element **SHALL** have the nullFlavor attribute set to *NA* (CONF:1198-32449).', source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: error, expression: value.exists() or nullFlavor = 'NA'}
index: 17
required: [low, high]
templateId:
index: 0
slicing:
rules: open
discriminator:
- {path: root, type: value}
- {path: extension, type: value}
min: 1
slices:
advance-directive-obs:
match: {root: 2.16.840.1.113883.10.20.22.4.48, extension: '2025-05-01'}
schema:
_required: true
index: 1
elements:
root:
pattern: {type: String, value: 2.16.840.1.113883.10.20.22.4.48}
index: 2
extension:
pattern: {type: String, value: '2025-05-01'}
index: 3
required: [root, extension]
extensions: {}
statusCode:
index: 13
elements:
code:
pattern: {type: Code, value: completed}
index: 14
required: [code]
informant: {short: SHOULD contain informant, index: 20}
text:
short: SHOULD reference the portion of section narrative text corresponding to this entry
index: 11
elements:
reference:
constraint:
value-starts-octothorpe: {human: 'If reference/@value is present, it SHALL begin with a ''#'' and SHALL point to its corresponding narrative', source: 'http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation', severity: error, expression: value.exists() implies value.startsWith('#')}
index: 12
package_version: 4.0.0-ballot
class: logical
kind: logical
url: http://hl7.org/cda/us/ccda/StructureDefinition/AdvanceDirectiveObservation
base: http://hl7.org/cda/stds/core/StructureDefinition/Observation
version: 4.0.0-ballot
required: [id, effectiveTime, statusCode, text, reference, templateId]