Non-Normative Content The Normative content for these specifications may be found on the HL7, IHE, and HITSP web sites.

General Header Constraints

[ClinicalDocument: templateId 2.16.840.1.113883.10.20.22.1.1]

This section describes constraints that apply to the header for all documents within the scope of this implementation guide. Header constraints specific to each document type are described in the appropriate document-specific section below

Document Type Codes
CDA R2 states that LOINC is the preferred vocabulary for document type codes, which specify the type of document being exchanged (e.g., History and Physical). Each document type in this guide recommends a single preferred clinicalDocument/code, with further specification provided by author or performer, setting, or specialty

General Header Constraints Header Constraints

General Header Constraints Body Constraints

  1. SHALL contain exactly one [1..1] templateId ( CONF:5252, CONF:10036 ) such that it
    1. SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.1.1"
  2. SHALL contain exactly one [1..1] realmCode/@code="US" (CONF:16791)
  3. SHALL contain exactly one [1..1] typeId (CONF:5361)
  4. SHALL contain exactly one [1..1] id (CONF:5363)
  5. SHALL contain exactly one [1..1] code (CONF:5253)
  6. SHALL contain exactly one [1..1] title (CONF:5254)
  7. SHALL contain exactly one [1..1] effectiveTime (CONF:5256)
    • Signifies the document creation time, when the document first came into being. Where the CDA document is a transform from an original document in some other format, the ClinicalDocument.effectiveTime is the time the original document is created. The time when the transform occurred is not currently represented in CDA (CONF:9995)

  8. SHALL contain exactly one [1..1] confidentialityCode, where the @code SHOULD be selected from ValueSet HL7 BasicConfidentialityKind 2.16.840.1.113883.1.11.16926 STATIC (CONF:5259)
  9. SHALL contain exactly one [1..1] languageCode, where the @code SHALL be selected from ValueSet Language 2.16.840.1.113883.1.11.11526 DYNAMIC (CONF:5372)
  10. SHALL contain at least one [1..*] recordTarget (CONF:5266)

    The recordTarget records the patient whose health information is described by the clinical document; it must contain at least one patientRole element.

    1. Such recordTargets SHALL contain exactly one [1..1] patientRole (CONF:5268)
      1. This patientRole SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5271)
      2. This patientRole SHALL contain at least one [1..*] id (CONF:5268)
      3. This patientRole SHALL contain at least one [1..*] telecom with data type TEL (CONF:5280)
      4. This patientRole SHALL contain exactly one [1..1] patient (CONF:5283)
        1. This patient SHALL contain exactly one [1..1] administrativeGenderCode, where the @code SHALL be selected from ValueSet Administrative Gender (HL7 V3) 2.16.840.1.113883.1.11.1 DYNAMIC (CONF:6394)
        2. This patient SHALL contain exactly one [1..1] birthTime with data type TS (CONF:5298)
        3. This patient MAY contain zero or one [0..1] ethnicGroupCode, where the @code SHALL be selected from ValueSet Ethnicity Value Set 2.16.840.1.114222.4.11.837 STATIC (CONF:5323)
        4. This patient SHOULD contain zero or one [0..1] maritalStatusCode (CONF:5303), where the @code SHALL be selected from ValueSet HL7 Marital Status 2.16.840.1.113883.1.11.12212 STATIC 1
        5. This patient SHALL contain exactly one [1..1] name with data type US Realm Patient Name (CONF:5284)
        6. This patient MAY contain zero or one [0..1] raceCode, where the @code SHALL be selected from ValueSet Race 2.16.840.1.113883.1.11.14914 STATIC 1 (CONF:5322)
        7. This patient MAY contain zero or one [0..1] religiousAffiliationCode (CONF:5317), where the @code SHALL be selected from ValueSet HL7 Religious Affiliation 2.16.840.1.113883.1.11.19185 STATIC 1
        8. This patient MAY contain zero or more [0..*] guardian (CONF:5325)
          1. Such guardians SHOULD contain zero or more [0..*] addr with data type US Realm Address
          2. Such guardians SHOULD contain zero or one [0..1] code, where the @code SHALL be selected from ValueSet Personal Relationship Role Type 2.16.840.1.113883.1.11.19563 STATIC 1 (CONF:5326)
          3. Such guardians MAY contain zero or more [0..*] telecom with data type TEL
          4. Such guardians SHALL contain exactly one [1..1] guardianPerson
            1. This guardianPerson SHALL contain at least one [1..*] name
            2. This guardianPerson The content of name SHALL be a conformant US Realm Person Name (PTN.US.FIELDED) (2.16.840.1.113883.10.20.22.5.1.1) (CONF:10414)
        9. This patient MAY contain zero or one [0..1] birthplace (CONF:5395)
          1. This birthplace SHALL contain exactly one [1..1] place (CONF:5396)
            1. This place SHALL contain exactly one [1..1] addr (CONF:5397)
            2. This place If country is US, this addr SHALL contain exactly one [1..1] state, which SHALL be selected from ValueSet StateValueSet 2.16.840.1.113883.3.88.12.80.1 DYNAMIC
            3. This place This addr MAY contain zero or one [0..1] postalCode, which SHALL be selected from ValueSet PostalCodeValueSet 2.16.840.1.113883.3.88.12.80.2 DYNAMIC
            4. This place This addr SHOULD contain zero or one [0..1] country, which SHALL be selected from ValueSet CountryValueSet 2.16.840.1.113883.3.88.12.80.63 DYNAMIC
        10. This patient SHOULD contain zero or more [0..*] languageCommunication (CONF:5406)
          1. Such languageCommunications MAY contain zero or one [0..1] preferenceInd (CONF:5414)
          2. Such languageCommunications SHOULD contain zero or one [0..1] proficiencyLevelCode, where the @code SHALL be selected from ValueSet LanguageAbilityProficiency 2.16.840.1.113883.1.11.12199 STATIC (CONF:9965)
          3. Such languageCommunications MAY contain zero or one [0..1] modeCode, where the @code SHALL be selected from ValueSet HL7 LanguageAbilityMode 2.16.840.1.113883.1.11.12249 STATIC 1 (CONF:5409)
          4. Such languageCommunications SHALL contain exactly one [1..1] languageCode, where the @code SHALL be selected from ValueSet Language 2.16.840.1.113883.1.11.11526 DYNAMIC (CONF:5407)
        11. This patient MAY contain zero or more [0..*] sDTCRaceCode, where the @code SHALL be selected from ValueSet Race 2.16.840.1.113883.1.11.14914 STATIC 1 (CONF:7263)

          The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the raceCode element.

      5. This patientRole MAY contain zero or one [0..1] providerOrganization (CONF:5416)
        1. This providerOrganization SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5422)
        2. This providerOrganization SHALL contain at least one [1..*] id (CONF:5417)
        3. This providerOrganization SHALL contain at least one [1..*] name (CONF:5419)
        4. This providerOrganization SHALL contain at least one [1..*] telecom with data type TEL (CONF:5420)
        5. This providerOrganization The id SHOULD include zero or one [0..1] id where id/@root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:9996)
  11. MAY contain exactly one [1..1] componentOf (CONF:9955)
    1. This componentOf SHALL contain exactly one [1..1] encompassingEncounter (CONF:9956)
      1. This encompassingEncounter SHALL contain exactly one [1..1] effectiveTime (CONF:9958)
      2. This encompassingEncounter SHALL contain at least one [1..*] id (CONF:9959)
  12. SHALL contain at least one [1..*] author (CONF:5444)
    1. Such authors SHALL contain exactly one [1..1] time (CONF:5445)
    2. Such authors SHALL contain exactly one [1..1] assignedAuthor (CONF:5448)
      1. This assignedAuthor SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5452)
      2. This assignedAuthor SHOULD contain zero or one [0..1] code (CONF:16787), where the @code SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:16788)
      3. This assignedAuthor SHALL contain at least one [1..*] id (CONF:5449)
      4. This assignedAuthor SHALL contain at least one [1..*] telecom with data type TEL (CONF:5428)
      5. This assignedAuthor Contains zero or one [0..1] assignedAuthoringDevice
        1. This assignedAuthoringDevice SHALL contain exactly one [1..1] manufacturerModelName (CONF:16784)
        2. This assignedAuthoringDevice SHALL contain exactly one [1..1] softwareName (CONF:16785)
      6. This assignedAuthor Contains zero or one [0..1] assignedPerson
        1. This assignedPerson SHALL contain at least one [1..*] name (CONF:16789)
      7. This assignedAuthor SHALL contain exactly one [1..1] assignedPerson or assignedAuthoringDevice (CONF:16790)
      8. This assignedAuthor The id SHALL contain exactly one root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:16786)
    3. Such authors This time SHALL contain exactly one [1..1] US Realm Date and Time (DTM.US.FIELDED) (2.16.840.1.113883.10.20.22.5.4) (CONF:5446)
  13. MAY contain zero or one [0..1] dataEnterer (CONF:5441)
    1. This dataEnterer SHALL contain exactly one [1..1] assignedEntity (CONF:5442)
      1. This assignedEntity SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5460)
      2. This assignedEntity MAY contain zero or one [0..1] code, where the @code SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:9944)
      3. This assignedEntity SHALL contain at least one [1..*] id (CONF:5443)
      4. This assignedEntity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5466)
      5. This assignedEntity SHALL contain exactly one [1..1] assignedPerson (CONF:5469)
        1. This assignedPerson SHALL contain at least one [1..*] name
      6. This assignedEntity id SHOULD include zero or one [0..1] @root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:16821)
  14. SHALL contain exactly one [1..1] custodian (iv., CONF:5519)
    1. This custodian SHALL contain exactly one [1..1] assignedCustodian (CONF:5520)
      1. This assignedCustodian SHALL contain zero or one [0..1] representedCustodianOrganization (CONF:5521)
        1. This representedCustodianOrganization SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5559)
        2. This representedCustodianOrganization SHALL contain at least one [1..*] id (CONF:5522)
        3. This representedCustodianOrganization SHALL contain exactly one [1..1] name (CONF:5524)
        4. This representedCustodianOrganization SHALL contain exactly one [1..1] telecom with data type TEL (CONF:5525)
        5. This representedCustodianOrganization The id SHOULD include zero or one [0..1] @root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996)
  15. MAY contain zero or more [0..*] informationRecipient (CONF:5565)
    1. Such informationRecipients SHALL contain exactly one [1..1] intendedRecipient (CONF:5566)
      1. This intendedRecipient MAY contain zero or one [0..1] informationRecipient (CONF:5568)
        1. This informationRecipient SHALL contain at least one [1..*] name (CONF:5470)
      2. This intendedRecipient MAY contain zero or one [0..1] receivedOrganization (CONF:5577)
        1. This receivedOrganization SHALL contain exactly one [1..1] name (CONF:5578)
  16. SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579)
    1. This legalAuthenticator SHALL contain exactly one [1..1] time (CONF:5580)
    2. This legalAuthenticator SHALL contain exactly one [1..1] signatureCode/@code="S" (CodeSystem: 2.16.840.1.113883.5.89 Participationsignature) (CONF:5583, CONF:5584)
    3. This legalAuthenticator Contains zero or one [0..1] assignedEntity
      1. This assignedEntity SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5589)
      2. This assignedEntity MAY contain zero or one [0..1] code (CONF:17000), where the @code SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC
      3. This assignedEntity SHALL contain at least one [1..*] id (CONF:5586)
      4. This assignedEntity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5595)
      5. This assignedEntity SHALL contain exactly one [1..1] assignedPerson (CONF:5597)
        1. This assignedPerson SHALL contain at least one [1..*] name (CONF:5598)
      6. This assignedEntity The id MAY include zero or one [0..1] root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:16823)
  17. MAY contain zero or more [0..*] authenticator (CONF:5607)
    1. Such authenticators SHALL contain exactly one [1..1] time (CONF:5608)
    2. Such authenticators SHALL contain exactly one [1..1] signatureCode/@code="S" (CodeSystem: 2.16.840.1.113883.5.89 Participationsignature) (CONF:5610)
    3. Such authenticators SHALL contain exactly one [1..1] assignedEntity (CONF:5612)
      1. This assignedEntity SHALL contain at least one [1..*] addr with data type US Realm Address (CONF:5616)
      2. This assignedEntity MAY contain zero or one [0..1] code (CONF:16825), where the @code SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:16826)
      3. This assignedEntity SHALL contain at least one [1..*] id (CONF:5613)
      4. This assignedEntity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5622)
      5. This assignedEntity SHALL contain exactly one [1..1] assignedPerson (CONF:5624)
        1. This assignedPerson SHALL contain at least one [1..*] name (CONF:5625)
      6. This assignedEntity The id SHOULD include zero or one [0..1] root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996)
  18. MAY contain zero or one [0..1] setId (CONF:5261)
  19. MAY contain zero or one [0..1] versionNumber (CONF:5264)
  20. MAY contain zero or one [0..1] informant (CONF:8001)
    1. This informant MAY contain zero or one [0..1] assignedEntity
      1. This assignedEntity SHOULD contain zero or more [0..*] addr with data type US Realm Address (CONF:8220)
      2. This assignedEntity MAY contain zero or one [0..1] code, where the @code SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:9947)
      3. This assignedEntity SHALL contain at least one [1..*] id (CONF:9945)
      4. This assignedEntity SHALL contain exactly one [1..1] assignedPerson (CONF:8221)
        1. This assignedPerson SHALL contain at least one [1..*] name
      5. This assignedEntity The id SHOULD include zero or one [0..1] id where id/@root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996)
    2. This informant MAY contain zero or one [0..1] relatedEntity
      1. This relatedEntity SHOULD contain zero or more [0..*] addr with data type US Realm Address (CONF:8220)
      2. This relatedEntity SHALL contain zero or one [0..1] relatedPerson (CONF:8221)
        1. This relatedPerson SHALL contain at least one [1..*] name
    3. This informant SHALL satisfy: contain exactly one [1..1] assignedEntity OR exactly one [1..1] relatedEntity (CONF:8002)
  21. MAY contain zero or more [0..*] participant (CONF:10003)
    1. Such participants MAY contain zero or one [0..1] time (CONF:10004)
    2. Such participants Such participants, if present, SHALL have an associatedPerson or scopingOrganization element under participant/associatedEntity.
    3. Such participants Unless otherwise specified by the document specific header constraints, when participant/@typeCode is IND, associatedEntity/@classCode SHALL be selected from ValueSet INDRoleclassCodes 2.16.840.1.113883.11.20.9.33 STATIC 2011-09-30.
  22. MAY contain zero or more [0..*] inFulfillmentOf (CONF:9952)
    1. Such inFulfillmentOfs SHALL contain exactly one [1..1] order (CONF:9953)
      1. This order SHALL contain at least one [1..*] id (CONF:9954)
  23. MAY contain zero or more [0..*] documentationOf (CONF:14835)
    1. Such documentationOfs SHALL contain exactly one [1..1] serviceEvent (CONF:14836)
      1. This serviceEvent SHALL contain exactly one [1..1] effectiveTime (CONF:14837)
      2. This serviceEvent SHOULD contain zero or more [0..*] performer (CONF:14839)
        1. Such performers SHALL contain exactly one [1..1] @typeCode (CONF:14840)
        2. Such performers MAY contain zero or one [0..1] functionCode (CONF:16818), where the @code SHOULD be selected from (CodeSystem: 2.16.840.1.113883.5.88 ParticipationFunction) (CONF:16819)
        3. Such performers SHALL contain exactly one [1..1] assignedEntity (CONF:14841)
          1. This assignedEntity SHOULD contain zero or one [0..1] code (CONF:14842), where the @code SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:14843)
          2. This assignedEntity SHALL contain at least one [1..*] id (CONF:14846)
          3. This assignedEntity The id SHOULD include zero or one [0..1]root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:14847)
      3. This serviceEvent effectiveTime SHALL contain exactly one [1..1] low (CONF:14838)
  24. MAY contain zero or more [0..*] authorization (CONF:16792)
    1. Such authorizations SHALL contain exactly one [1..1] consent (CONF:16793)
      1. This consent MAY contain zero or one [0..1] code (CONF:16795)

        The type of consent (e.g., a consent to perform the related serviceEvent) is conveyed in consent/code (CONF:16796).

      2. This consent MAY contain zero or more [0..*] id (CONF:16794)
      3. This consent SHALL contain exactly one [1..1] statusCode (CONF:16797)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:16798)
  25. SHALL satisfy: The US Realm Clinical Document Date and Time datatype flavor records date and time information. If no time zone offset is provided, you can make no assumption about time, unless you have made a local exchange agreement. This data type uses the same rules as US Realm Date and Time (DTM.US.FIELDED), but is used with the effectiveTime element.
  26. SHALL satisfy: The US Realm Clinical Document Date and Time datatype flavor records date and time information. If no time zone offset is provided, you can make no assumption about time, unless you have made a local exchange agreement. This data type uses the same rules as US Realm Date and Time (DTM.US.FIELDED), but is used with the effectiveTime element.
  27. typeId SHALL contain exactly one [1..1] @root="2.16.840.1.113883.1.3" (CONF:5250)
  28. typeId SHALL contain exactly one [1..1] @extension="POCD_HD000040" (CONF:5251)
  29. id SHALL be a globally unique identifier for the document (CONF:9991)
  30. code SHALL specify the particular kind of document (e.g. History and Physical, Discharge Summary, Progress Note). (CONF:9992)
  31. If setId is present versionNumber SHALL be present (CONF:6380)
  32. If versionNumber is present setId SHALL be present (CONF:6387)

General Header Constraints Example

<?xml version="1.0" encoding="UTF-8"?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
  <typeId root="2.16.840.1.113883.1.3"/>
  <id root="MDHT" extension="1183497847"/>
  <code code="342537263"/>
  <title>TEXT FOR TITLE</title>
  <effectiveTime/>
  <confidentialityCode code="1217505973"/>
  <setId root="MDHT" extension="73453669-eff9-4f9d-8ef7-0728955611f1"/>
  <versionNumber value="1"/>
  <recordTarget>
    <patientRole>
      <id root="MDHT" extension="230402472"/>
      <patient>
        <administrativeGenderCode codeSystem="2.16.840.1.113883.5.1" codeSystemName="AdministrativeGenderCode"/>
        <maritalStatusCode codeSystem="2.16.840.1.113883.5.2" codeSystemName="MaritalStatus"/>
        <religiousAffiliationCode codeSystem="2.16.840.1.113883.5.1076" codeSystemName="ReligiousAffiliation"/>
        <raceCode codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC"/>
        <sdtc:raceCode codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC"/>
        <ethnicGroupCode codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC"/>
      </patient>
      <providerOrganization/>
    </patientRole>
  </recordTarget>
  <author>
    <time/>
    <assignedAuthor>
      <id root="MDHT" extension="365377134"/>
      <code codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC Health Care Provider Taxonomy"/>
      <assignedPerson/>
      <assignedAuthoringDevice/>
    </assignedAuthor>
  </author>
  <dataEnterer>
    <assignedEntity>
      <id root="MDHT" extension="1288278590"/>
      <code codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC Health Care Provider Taxonomy"/>
      <assignedPerson/>
    </assignedEntity>
  </dataEnterer>
  <informant>
    <assignedEntity>
      <id root="MDHT" extension="340609985"/>
      <code codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC Health Care Provider Taxonomy"/>
      <assignedPerson/>
    </assignedEntity>
    <relatedEntity>
      <relatedPerson/>
    </relatedEntity>
  </informant>
  <custodian>
    <assignedCustodian>
      <representedCustodianOrganization/>
    </assignedCustodian>
  </custodian>
  <informationRecipient>
    <intendedRecipient>
      <informationRecipient/>
      <receivedOrganization/>
    </intendedRecipient>
  </informationRecipient>
  <legalAuthenticator>
    <time/>
    <signatureCode code="S"/>
    <assignedEntity>
      <id root="MDHT" extension="194324364"/>
      <code codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC Health Care Provider Taxonomy"/>
      <assignedPerson/>
    </assignedEntity>
  </legalAuthenticator>
  <authenticator>
    <time/>
    <signatureCode code="S"/>
    <assignedEntity>
      <id root="MDHT" extension="1479226918"/>
      <code codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC Health Care Provider Taxonomy"/>
      <assignedPerson/>
    </assignedEntity>
  </authenticator>
  <participant>
    <time>
      <low value="2013"/>
      <high value="2013"/>
    </time>
    <associatedEntity/>
  </participant>
  <inFulfillmentOf>
    <order>
      <id root="MDHT" extension="1107460563"/>
    </order>
  </inFulfillmentOf>
  <documentationOf>
    <serviceEvent>
      <effectiveTime>
        <low value="2013"/>
        <high value="2013"/>
      </effectiveTime>
      <performer>
        <functionCode codeSystem="2.16.840.1.113883.5.88" codeSystemName="ParticipationFunction"/>
      </performer>
    </serviceEvent>
  </documentationOf>
  <authorization>
    <consent>
      <id root="MDHT" extension="1310741638"/>
      <code code="319453898"/>
      <statusCode code="completed"/>
    </consent>
  </authorization>
  <componentOf>
    <encompassingEncounter>
      <id root="MDHT" extension="1500532520"/>
      <effectiveTime>
        <low value="2013"/>
        <high value="2013"/>
      </effectiveTime>
    </encompassingEncounter>
  </componentOf>
  <component/>
</ClinicalDocument>