Consolidated CDA (C-CDA)
4.0.0-ballot - STU4 Ballot United States of America flag

Consolidated CDA (C-CDA), published by Health Level Seven. This guide is not an authorized publication; it is the continuous build for version 4.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/CDA-ccda/ and changes regularly. See the Directory of published versions

Logical Model: AdvanceDirectiveObservation - Detailed Descriptions

Draft as of 2024-12-19

Definitions for the AdvanceDirectiveObservation logical model.

Guidance on how to interpret the contents of this table can be found here

0. Observation
Logical ContainerClinicalDocument (CDA Class)
ValidationInstance of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
Invariantsshould-text-ref-value: SHOULD contain text/reference/@value (text.reference.value.exists())
should-author: SHOULD contain author (author.exists())
should-informant: SHOULD contain informant (informant.exists())
2. Observation.templateId
Control1..?
SlicingThis element introduces a set of slices on Observation.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ root
  • value @ extension
  • 4. Observation.templateId:advance-directive-obs
    Slice Nameadvance-directive-obs
    Control1..1
    6. Observation.templateId:advance-directive-obs.root
    Control1..?
    Pattern Value2.16.840.1.113883.10.20.22.4.48
    8. Observation.templateId:advance-directive-obs.extension
    Control1..?
    Pattern Value2025-05-01
    10. Observation.classCode
    Comments

    SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: HL7ActClass urn:oid:2.16.840.1.113883.5.6 STATIC).

    Fixed ValueOBS
    12. Observation.moodCode
    Comments

    SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: HL7ActMood urn:oid:2.16.840.1.113883.5.1001 STATIC).

    Fixed ValueEVN
    14. Observation.id
    Comments

    SHALL contain at least one [1..*] id.

    Control1..?
    16. Observation.code
    ShortAdvance Directive
    Invariantsshould-translation: SHOULD contain translation (translation.exists())
    18. Observation.code.code
    Control1..?
    Pattern Value75320-2
    20. Observation.code.codeSystem
    ShortLOINC
    Control1..?
    Pattern Value2.16.840.1.113883.6.1
    22. Observation.code.translation
    Short𝗨𝗦𝗖𝗗𝗜: Advance Directive Type
    Comments

    This code SHOULD contain zero or more [0..*] translation, which SHOULD be selected from ValueSet Advance Directives Categories urn:oid:2.16.840.1.113883.11.20.9.69.4.

    BindingThe codes SHOULD be taken from Advance Directives Categories .
    (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.69.4)
    24. Observation.text
    ShortSHOULD reference the portion of section narrative text corresponding to this entry
    Control1..?
    26. Observation.text.reference
    Invariantsvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative (value.exists() implies value.startsWith('#'))
    28. Observation.statusCode
    Comments

    SHALL contain exactly one [1..1] statusCode (CONF:1198-8652).

    Control1..?
    30. Observation.statusCode.code
    Comments

    This statusCode SHALL contain exactly one [1..1] @code="completed" Completed (CodeSystem: HL7ActStatus urn:oid:2.16.840.1.113883.5.14 STATIC) (CONF:1198-19082).

    Control1..?
    Fixed Valuecompleted
    32. Observation.effectiveTime
    Comments

    SHALL contain exactly one [1..1] effectiveTime.

    Control1..?
    34. Observation.effectiveTime.low
    Comments

    This effectiveTime SHALL contain exactly one [1..1] low.

    Control1..?
    36. Observation.effectiveTime.high
    Comments

    This effectiveTime SHALL contain exactly one [1..1] high.

    Control1..?
    Invariants1198-32449: If the Advance Directive does not have a specified ending time, the <high> element **SHALL** have the nullFlavor attribute set to *NA* (CONF:1198-32449). (value.exists() or nullFlavor = 'NA')
    38. Observation.value
    Comments

    MAY contain zero or more [0..*] value.

    Control0..1
    40. Observation.author
    Comments

    SHOULD contain zero or more [0..*] Author Participation (identifier: urn:oid:2.16.840.1.113883.10.20.22.4.119).

    Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author(Author Participation)
    42. Observation.informant
    ShortSHOULD contain informant
    44. Observation.participant
    SlicingThis element introduces a set of slices on Observation.participant. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ typeCode
    • 46. Observation.participant:verifier
      Slice Nameverifier
      Short𝗨𝗦𝗖𝗗𝗜: Verifier - The participant "VRF" represents the clinician(s) who verified the patient advance directive.
      Comments

      SHOULD contain zero or more [0..*] participant (CONF:1198-8662) such that it

      Control0..*
      Invariantsshould-time: SHOULD contain time (time.exists())
      48. Observation.participant:verifier.templateId
      Control1..?
      SlicingThis element introduces a set of slices on Observation.participant.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ root
      • 50. Observation.participant:verifier.templateId:primary
        Slice Nameprimary
        Comments

        SHALL contain exactly one [1..1] templateId (CONF:1198-8664) such that it

        Control1..1
        52. Observation.participant:verifier.templateId:primary.root
        Comments

        SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.1.58" (CONF:1198-10486).

        Control1..?
        Pattern Value2.16.840.1.113883.10.20.1.58
        54. Observation.participant:verifier.templateId:primary.extension
        Comments

        SHALL not contain [0..0] extension

        Control0..0
        56. Observation.participant:verifier.typeCode
        Comments

        SHALL contain exactly one [1..1] @typeCode="VRF" Verifier (CodeSystem: HL7ParticipationType urn:oid:2.16.840.1.113883.5.90 STATIC) (CONF:1198-8663).

        Fixed ValueVRF
        58. Observation.participant:verifier.time
        Comments

        SHOULD contain zero or one [0..1] time (CONF:1198-8665).

        Invariantsvalue-only: Interval fields SHALL NOT be present ((low | high | width | center).empty())
        60. Observation.participant:verifier.time.value
        Shortvalue should be used instead of low/high
        62. Observation.participant:verifier.participantRole
        Comments

        SHALL contain exactly one [1..1] participantRole (CONF:1198-8825).

        Invariantsshould-code: SHOULD contain code (code.exists())
        64. Observation.participant:verifier.participantRole.code
        Comments

        This participantRole SHOULD contain zero or one [0..1] code, which SHOULD be selected from ValueSet Healthcare Provider Taxonomy urn:oid:2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:1198-28446).

        BindingThe codes SHOULD be taken from Healthcare Provider Taxonomy .
        (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066)
        66. Observation.participant:verifier.participantRole.addr
        Comments

        This participantRole MAY contain zero or more [0..*] US Realm Address (AD.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.2) (CONF:1198-28451).

        Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD(US Realm Address)
        68. Observation.participant:verifier.participantRole.playingEntity
        Comments

        This participantRole SHALL contain exactly one [1..1] playingEntity (CONF:1198-28428).

        Control1..?
        70. Observation.participant:verifier.participantRole.playingEntity.name
        Comments

        The playingEntity SHALL contain exactly one [1..1] US Realm Person Name (PN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1.1) (CONF:1198-28454).

        Control1..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/PN(US Realm Person Name (PN.US.FIELDED))
        72. Observation.participant:custodian
        Slice Namecustodian
        ShortThis 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.
        Comments

        SHOULD contain zero or more [0..*] participant (CONF:1198-8667) such that it

        Control0..*
        74. Observation.participant:custodian.typeCode
        Comments

        SHALL contain exactly one [1..1] @typeCode="CST" Custodian (CodeSystem: HL7ParticipationType urn:oid:2.16.840.1.113883.5.90 STATIC) (CONF:1198-8668).

        Fixed ValueCST
        76. Observation.participant:custodian.participantRole
        Comments

        SHALL contain exactly one [1..1] participantRole (CONF:1198-8669).

        Invariantsshould-code: SHOULD contain code (code.exists())
        should-addr: SHOULD contain addr (addr.exists())
        should-telecom: SHOULD contain telecom (telecom.exists())
        78. Observation.participant:custodian.participantRole.classCode
        Comments

        This participantRole SHALL contain exactly one [1..1] @classCode="AGNT" Agent (CodeSystem: HL7RoleClass urn:oid:2.16.840.1.113883.5.110 STATIC) (CONF:1198-8670).

        Control1..?
        Fixed ValueAGNT
        80. Observation.participant:custodian.participantRole.code
        Comments

        This participantRole SHOULD contain zero or one [0..1] code, which SHOULD be selected from ValueSet Healthcare Agent or Proxy Choices urn:oid:2.16.840.1.113762.1.4.1046.35 DYNAMIC (CONF:1198-28440).

        BindingThe codes SHOULD be taken from Healthcare Agent or Proxy Choices .
        (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.35)
        82. Observation.participant:custodian.participantRole.addr
        Comments

        This participantRole SHOULD contain zero or one [0..1] US Realm Address (AD.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.2) (CONF:1198-8671).

        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD(US Realm Address)
        84. Observation.participant:custodian.participantRole.telecom
        Comments

        This participantRole SHOULD contain zero or more [0..*] telecom (CONF:1198-8672).

        86. Observation.participant:custodian.participantRole.playingEntity
        Comments

        This participantRole SHALL contain exactly one [1..1] playingEntity (CONF:1198-8824).

        Control1..?
        Invariantsshould-code: SHOULD contain code (code.exists())
        88. Observation.participant:custodian.participantRole.playingEntity.code
        Comments

        This playingEntity SHOULD contain zero or one [0..1] code, which SHOULD be selected from ValueSet Personal and Legal Relationship RoleType urn:oid:2.16.840.1.113883.11.20.12.1 DYNAMIC.

        BindingThe codes SHOULD be taken from Personal And Legal Relationship Role Type .
        (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1)
        90. Observation.participant:custodian.participantRole.playingEntity.name
        ShortThe name of the healthcare agent.
        Comments

        This playingEntity SHALL contain exactly one [1..1] name (CONF:1198-8673).

        Control1..1
        92. Observation.reference
        Control1..?
        SlicingThis element introduces a set of slices on Observation.reference. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ typeCode
        • 94. Observation.reference:reference1
          Slice Namereference1
          Comments

          SHOULD contain at least one [1..*] reference (CONF:1198-8692) such that it

          Control1..*
          96. Observation.reference:reference1.typeCode
          Comments

          SHALL contain exactly one [1..1] @typeCode="REFR" Refers to (CodeSystem: HL7ActRelationshipType urn:oid:2.16.840.1.113883.5.1002 STATIC) (CONF:1198-8694).

          Fixed ValueREFR
          98. Observation.reference:reference1.externalDocument
          Short𝗨𝗦𝗖𝗗𝗜: External Document
          Comments

          SHALL contain exactly one [1..1] externalDocument (CONF:1198-8693).

          Control1..?
          100. Observation.reference:reference1.externalDocument.id
          Comments

          This externalDocument SHALL contain at least one [1..*] id (CONF:1198-8695).

          Control1..?
          102. Observation.reference:reference1.externalDocument.code
          Control1..?
          BindingThe codes SHOULD be taken from Advance Directives Categories .
          (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.69.4)
          104. Observation.reference:reference1.externalDocument.text
          Comments

          This externalDocument MAY contain zero or one [0..1] text (CONF:1198-8696).

          106. Observation.reference:reference1.externalDocument.text.reference
          ShortThe URL of a referenced advance directive document **MAY** be present, and **SHALL** be represented in Observation/reference/ExternalDocument/text/reference (CONF:1198-8698).
          Comments

          The text, if present, MAY contain zero or one [0..1] reference (CONF:1198-8697).

          Invariants1198-8699: If a URL is referenced, then it **SHOULD** have a corresponding linkHTML element in narrative block (CONF:1198-8699). ()
          108. Observation.reference:reference1.externalDocument.sdtcAuthor
          Short𝗨𝗦𝗖𝗗𝗜: Author
          XML FormatIn the XML format, this property has the namespace urn:hl7-org:sdtc.In the XML format, this property has the actual nameauthor.