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: PolicyActivity - Detailed Descriptions

Draft as of 2024-12-19

Definitions for the PolicyActivity logical model.

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

0. Act
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())
4537-17139: When the Subscriber is the patient (COV participant code = 'SELF'), the participant element describing the subscriber **SHALL NOT** be present. This information will be recorded instead in the data elements used to record member information (CONF:4537-17139). (participant.where(typeCode='COV').participantRole.code.where(code = 'SELF').exists() implies participant.where(typeCode='HLD').empty())
2. Act.templateId
Control1..?
SlicingThis element introduces a set of slices on Act.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ root
  • value @ extension
  • 4. Act.templateId:policy-activity
    Slice Namepolicy-activity
    Control1..1
    6. Act.templateId:policy-activity.root
    Control1..?
    Pattern Value2.16.840.1.113883.10.20.22.4.61
    8. Act.templateId:policy-activity.extension
    Control1..?
    Pattern Value2024-05-01
    10. Act.classCode
    Comments

    SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: HL7ActClass urn:oid:2.16.840.1.113883.5.6 STATIC) (CONF:4537-8898).

    Fixed ValueACT
    12. Act.moodCode
    Comments

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

    Fixed ValueEVN
    14. Act.id
    Short𝗨𝗦𝗖𝗗𝗜: **GROUP NUMBER**: This is the identifier used to uniquely refer to a specific health insurance plan.
    Comments

    SHALL contain at least one [1..*] id (CONF:4537-8901).

    Control1..?
    16. Act.code
    18. Act.code.code
    BindingThe codes SHOULD be taken from Payer Type .
    (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591)
    20. Act.text
    ShortSHOULD reference the portion of section narrative text corresponding to this entry
    22. Act.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('#'))
    24. Act.statusCode
    Comments

    SHALL contain exactly one [1..1] statusCode (CONF:4537-8902).

    Control1..?
    26. Act.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:4537-19109).

    Control1..?
    Fixed Valuecompleted
    28. Act.performer
    Comments

    SHOULD contain zero or more [0..*] performer (CONF:4537-8961) such that it

    Control1..?
    SlicingThis element introduces a set of slices on Act.performer. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ templateId.root
    • 30. Act.performer:payer
      Slice Namepayer
      ShortThis performer represents the Payer.
      Comments

      SHALL contain exactly one [1..1] performer (CONF:4537-8906) such that it

      Control1..1
      32. Act.performer:payer.templateId
      Comments

      SHALL contain exactly one [1..1] templateId (CONF:4537-16808), SHALL not contain [0..0] extension..

      Control1..1
      34. Act.performer:payer.templateId.root
      Comments

      This templateId SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.87" Payer Performer (CONF:4537-16809).

      Control1..?
      Pattern Value2.16.840.1.113883.10.20.22.4.87
      36. Act.performer:payer.templateId.extension
      Control0..0
      38. Act.performer:payer.typeCode
      Control1..?
      40. Act.performer:payer.assignedEntity
      Comments

      SHALL contain exactly one [1..1] assignedEntity (CONF:4537-8908).

      Invariantsshould-code: SHOULD contain code (code.exists())
      should-representedOrganization: SHOULD contain representedOrganization (representedOrganization.exists())
      42. Act.performer:payer.assignedEntity.id
      Short𝗨𝗦𝗖𝗗𝗜: **PAYER IDENTIFIER**: This is the Payer id. The root is a unique identifier to an openly available assigning authority, such as National Association of Insurance Commissioners (NAIC) (2.16.840.1.113883.6.300), and the extension identifiers the payer within that authority.
      Comments

      This assignedEntity SHALL contain at least one [1..*] id (CONF:4537-8909).

      44. Act.performer:payer.assignedEntity.code
      Comments

      This assignedEntity SHOULD contain zero or one [0..1] code (CONF:4537-8914).

      46. Act.performer:payer.assignedEntity.code.nullFlavor
      Control0..0
      48. Act.performer:payer.assignedEntity.code.code
      Control1..?
      BindingThe codes SHOULD be taken from Financially Responsible Party Type Value Set .
      (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.10416)
      50. Act.performer:payer.assignedEntity.addr
      Comments

      This assignedEntity MAY 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:4537-8910).

      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD(US Realm Address)
      52. Act.performer:payer.assignedEntity.telecom
      Comments

      This assignedEntity MAY contain zero or more [0..*] telecom (CONF:4537-8911).

      54. Act.performer:payer.assignedEntity.representedOrganization
      Comments

      This assignedEntity SHOULD contain zero or one [0..1] representedOrganization (CONF:4537-8912).

      Invariantsshould-name: SHOULD contain name (name.exists())
      56. Act.performer:payer.assignedEntity.representedOrganization.name
      Comments

      The representedOrganization, if present, SHOULD contain zero or one [0..1] name (CONF:4537-8913).

      Control0..1
      58. Act.performer:guarantor
      Slice Nameguarantor
      ShortThis performer represents the Guarantor.
      Control0..*
      Invariantsshould-time: SHOULD contain time (time.exists())
      60. Act.performer:guarantor.templateId
      Comments

      SHALL contain exactly one [1..1] templateId (CONF:4537-16810), SHALL not contain [0..0] extension.

      Control1..1
      62. Act.performer:guarantor.templateId.root
      Comments

      This templateId SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.88" Guarantor Performer (CONF:4537-16811).

      Control1..?
      Pattern Value2.16.840.1.113883.10.20.22.4.88
      64. Act.performer:guarantor.templateId.extension
      Control0..0
      66. Act.performer:guarantor.typeCode
      Control1..?
      68. Act.performer:guarantor.time
      Comments

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

      70. Act.performer:guarantor.assignedEntity
      Comments

      SHALL contain exactly one [1..1] assignedEntity (CONF:4537-8962).

      Invariants4537-8967: **SHOULD** include assignedEntity/assignedPerson/name AND/OR assignedEntity/representedOrganization/name (CONF:4537-8967). (assignedPerson.name.exists() or representedOrganization.name.exists())
      should-addr: SHOULD contain addr (addr.exists())
      should-telecom: SHOULD contain telecom (telecom.exists())
      72. Act.performer:guarantor.assignedEntity.code
      Comments

      This assignedEntity SHALL contain exactly one [1..1] code (CONF:4537-8968).

      Control1..?
      74. Act.performer:guarantor.assignedEntity.code.code
      Comments

      This code SHALL contain exactly one [1..1] @code="GUAR" Guarantor (CONF:4537-16096).

      Control1..?
      Pattern ValueGUAR
      76. Act.performer:guarantor.assignedEntity.code.codeSystem
      Comments

      This code SHALL contain exactly one [1..1] @codeSystem="2.16.840.1.113883.5.110" (CONF:4537-32165).

      Control1..?
      Pattern Value2.16.840.1.113883.5.110
      78. Act.performer:guarantor.assignedEntity.addr
      Comments

      This assignedEntity 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:4537-8964).

      Control0..1
      Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD(US Realm Address)
      80. Act.performer:guarantor.assignedEntity.telecom
      Comments

      This assignedEntity SHOULD contain zero or more [0..*] telecom (CONF:4537-8965).

      82. Act.participant
      Comments

      SHOULD contain zero or one [0..1] participant (CONF:4537-8934) such that it

      Control1..?
      SlicingThis element introduces a set of slices on Act.participant. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ typeCode
      • 84. Act.participant:coverage-target
        Slice Namecoverage-target
        Shortparticipant
        Comments

        SHALL contain exactly one [1..1] participant (CONF:4537-8916) such that it

        Control1..1
        Invariantsshould-time: SHOULD contain time (time.exists())
        86. Act.participant:coverage-target.templateId
        Comments

        SHALL contain exactly one [1..1] templateId (CONF:4537-16812), SHALL not contain [0..0] extension.

        Control1..1
        88. Act.participant:coverage-target.templateId.root
        Comments

        This templateId SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.89" Covered Party Participant (CONF:4537-16814).

        Control1..?
        Pattern Value2.16.840.1.113883.10.20.22.4.89
        90. Act.participant:coverage-target.templateId.extension
        Control0..0
        92. Act.participant:coverage-target.typeCode
        Comments

        SHALL contain exactly one [1..1] @typeCode="COV" Coverage target (CodeSystem: HL7ParticipationType urn:oid:2.16.840.1.113883.5.90 STATIC) (CONF:4537-8917).

        Fixed ValueCOV
        94. Act.participant:coverage-target.time
        ShortThis records the policy coverage period or self-pay period.
        Comments

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

        Invariantsshould-low: SHOULD contain low (low.exists())
        should-high: SHOULD contain high (high.exists())
        96. Act.participant:coverage-target.time.low
        Comments

        The time, if present, SHOULD contain zero or one [0..1] low (CONF:4537-8919).

        98. Act.participant:coverage-target.time.high
        Comments

        The time, if present, SHOULD contain zero or one [0..1] high (CONF:4537-8920).

        100. Act.participant:coverage-target.participantRole
        Comments

        SHALL contain exactly one [1..1] participantRole (CONF:4537-8921).

        Invariantsshould-addr: SHOULD contain addr (addr.exists())
        should-playingEntity: SHOULD contain playingEntity (playingEntity.exists())
        102. Act.participant:coverage-target.participantRole.id
        Short𝗨𝗦𝗖𝗗𝗜: **MEMBER IDENTIFIER**: This id is a unique identifier for the covered party member. Implementers **SHOULD** use the same GUID for each instance of a member identifier from the same health plan (CONF:4537-8984).
        Comments

        This participantRole SHALL contain at least one [1..*] id (CONF:4537-8922).

        Control1..?
        104. Act.participant:coverage-target.participantRole.code
        Short𝗨𝗦𝗖𝗗𝗜: **RELATIONSHIP TO SUBSCRIBER**: Records the relationship of a patient to the primary insured person.
        Comments

        This participantRole SHALL contain exactly one [1..1] code (CONF:4537-8923).

        Control1..?
        Invariantsshould-code-attr: SHOULD contain @code (code.exists())
        106. Act.participant:coverage-target.participantRole.code.code
        Comments

        This code SHOULD contain zero or one [0..1] @code, which SHOULD be selected from ValueSet Coverage Role Type Value Set urn:oid:2.16.840.1.113883.1.11.18877 DYNAMIC (CONF:4537-16078).

        BindingThe codes SHOULD be taken from Coverage Role Type Value Set .
        (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.18877)
        108. Act.participant:coverage-target.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:4537-8956).

        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD(US Realm Address)
        110. Act.participant:coverage-target.participantRole.playingEntity
        ShortThis playingEntity records the covered party name and birthTime as represented by the health plan. This could match the information in recordTarget, or be different due to marriage or other reasons.
        Comments

        This participantRole SHOULD contain zero or one [0..1] playingEntity (CONF:4537-8932).

        112. Act.participant:coverage-target.participantRole.playingEntity.name
        Comments

        The playingEntity, if present, SHALL contain exactly one [1..1] name (CONF:4537-8930).

        Control1..1
        114. Act.participant:coverage-target.participantRole.playingEntity.sdtcBirthTime
        Shortsdtc:birthTime
        Comments

        The playingEntity, if present, SHALL contain exactly one [1..1] sdtc:birthTime (CONF:4537-31344).

        Control1..?
        116. Act.participant:subscriber
        Slice Namesubscriber
        ShortWhen the Subscriber is the patient, the participant element describing the subscriber *SHALL NOT* be present. This information will be recorded instead in the data elements used to record member information.
        Control0..1
        118. Act.participant:subscriber.templateId
        Comments

        SHALL contain exactly one [1..1] templateId (CONF:4537-16813), SHALL not contain [0..0] extension.

        Control1..1
        120. Act.participant:subscriber.templateId.root
        Comments

        This templateId SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.90" Policy Holder Participant (CONF:4537-16815).

        Control1..?
        Pattern Value2.16.840.1.113883.10.20.22.4.90
        122. Act.participant:subscriber.templateId.extension
        Control0..0
        124. Act.participant:subscriber.typeCode
        Comments

        SHALL contain exactly one [1..1] @typeCode="HLD" Holder (CodeSystem: HL7ParticipationType urn:oid:2.16.840.1.113883.5.90 STATIC) (CONF:4537-8935).

        Fixed ValueHLD
        126. Act.participant:subscriber.time
        Comments

        MAY contain zero or one [0..1] time (CONF:4537-8938).

        128. Act.participant:subscriber.participantRole
        Comments

        SHALL contain exactly one [1..1] participantRole (CONF:4537-8936).

        Invariantsshould-addr: SHOULD contain addr (addr.exists())
        130. Act.participant:subscriber.participantRole.id
        Short𝗨𝗦𝗖𝗗𝗜: **SUBSCRIBER ID**: This id is a unique identifier for the subscriber of the coverage (CONF:4537-10120).
        Comments

        This participantRole SHALL contain at least one [1..*] id (CONF:4537-8937).

        Control1..?
        132. Act.participant:subscriber.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:4537-8925).

        Control0..1
        Typehttp://hl7.org/cda/stds/core/StructureDefinition/AD(US Realm Address)
        134. Act.entryRelationship
        SlicingThis element introduces a set of slices on Act.entryRelationship. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ act.moodCode
        • 136. Act.entryRelationship:authorization
          Slice Nameauthorization
          ShortentryRelationship
          Comments

          MAY contain one [0..*] entryRelationship (CONF:4537-8939) such that it

          Control0..*
          138. Act.entryRelationship:authorization.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:4537-8940).

          Fixed ValueREFR
          140. Act.entryRelationship:authorization.act
          Control1..?
          Typehttp://hl7.org/cda/stds/core/StructureDefinition/Act(Authorization Activity)
          142. Act.entryRelationship:authorization.act.moodCode
          ShortEVN
          144. Act.entryRelationship:plan
          Slice Nameplan
          ShortRepresents the Coverage Plan
          Control0..*
          146. Act.entryRelationship:plan.typeCode
          Fixed ValueREFR
          148. Act.entryRelationship:plan.act
          Comments

          A description of the coverage plan SHALL contain one or more act/id, to represent the plan identifier, and an act/text with the name of the plan (CONF:4537-8943).

          Control1..?
          150. Act.entryRelationship:plan.act.classCode
          Fixed ValueACT
          152. Act.entryRelationship:plan.act.moodCode
          Fixed ValueDEF
          154. Act.entryRelationship:plan.act.id
          ShortPlan identifier
          Control1..?
          156. Act.entryRelationship:plan.act.text
          ShortName of the plan
          Control1..?