How to differentiate structured and unstructured CDA?

2.4k views Asked by At

I am working in CDA documents. I am able to validate the XML documents against CDA schema and find out the the xml is CDA or not. But if it is CDA then there are two categories of CDA documents.

  1. Structured CDA(Human readable text)
  2. Unstructured CDA(embedded blob or referenced documents)

What is the key XML element that differentiates CDA as structured or unstructured document?

2

There are 2 answers

0
Seth Rylan On

You can represent an unstructured document in CDA as either C-CDA (Consolidated CDA) or HITSP C62. C62 is much more commonly supported today; a quick GitHub search does not show any unstructured C-CDA implementations.

Note:the references and examples below are from non-normative specifications. You will probably need an HL7 membership to view the normative standards.

C-CDA:

From MDHT Models documentation (account required):

  1. SHALL contain exactly one [1..1] templateId ( CONF:7710, CONF:10054 ) such that it

    a. SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.21.1.10"

Example

<?xml version="1.0" encoding="UTF-8"?>
    <ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
    <realmCode code="US"/>
    <typeId root="2.16.840.1.113883.1.3"/>
    <templateId root="2.16.840.1.113883.10.20.21.1.10"/>
    <templateId root="2.16.840.1.113883.10.20.22.1.1"/>
    <code code="18842-5" codeSystem="2.16.840.1.113883.6.1" displayName="Discharge summarization note"/>
    <confidentialityCode codeSystem="2.16.840.1.113883.5.25" codeSystemName="ConfidentialityCode"/>
    <custodian>
        <assignedCustodian>
            <representedCustodianOrganization/>
        </assignedCustodian>
    </custodian>
</ClinicalDocument>

HITSP C62:

From MDHT Models documentation (account required):

  1. SHALL contain exactly one [1..1] templateId ( ) such that it

    a. SHALL contain exactly one [1..1] @root="2.16.840.1.113883.3.88.11.62.1"

Example

<?xml version="1.0" encoding="UTF-8"?>
    <ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
    <realmCode code="US"/>
    <typeId root="2.16.840.1.113883.1.3"/>
    <!-- HITSP C62  template -->
    <templateId root="2.16.840.1.113883.3.88.11.62.1"/>
    <!-- HL7 General Header Constraints-->
    <templateId root="2.16.840.1.113883.10.20.3"/>
    <!-- IHE Medical Documents -->
    <templateId root="1.3.6.1.4.1.19376.1.5.3.1.1.1"/>
    <!-- IHE Scanned Documents (XDS-SD) -->
    <templateId root="1.3.6.1.4.1.19376.1.2.20"/>
    <code code="18842-5" codeSystem="2.16.840.1.113883.6.1" displayName="Discharge summarization note"/>
    <recordTarget>
        <patientRole>
            <patient/>
        </patientRole>
    </recordTarget>
</ClinicalDocument>

You can view some additional XML examples in the MDHT automated test results.

For a receiving organization to differentiate the content of an unstructured document, you should store the content type in the <code> element as shown in the examples. The content type can also be stored in the <classCode> or <typeCode> elements in an XDS submission set.

0
Brett Esler On

Structured document look for:

ClinicalDocument/component/structuredBody

Blob - unstructured look for:

ClinicalDocument/component/nonXmlBody

Use nonXmlBody/text to include blob or reference using the ED datatype