Site icon Hay on FHIR

FHIR: meet #CDA

CDA (Clinical Document Architecture) is undeniably the most successful HL7 version 3 standard. It’s being used very widely around the world for representing clinical data, and is one of the core standards for many jurisdictions – like Meaningful Use in the US. Obviously, if FHIR is to succeed, then it needs to have some way of doing what CDA does now (and including all the good thinking that has gone into CDA).

Another reason to start thinking about CDA is that the next FHIR connectathon at the January Working Group Meeting next year is going to have FHIR documents as one of the themes, so it makes sense to start thinking about how this all works.

However, before we start to think about FHIR does CDA, let’s take a step back and think about the overall ‘patterns’ we use when moving Health Care data around – we can think of these as ‘paradigms of exchange’ (a term coined by Grahame Grieve I think).

We can think of 4 distinct paradigms:

FHIR is intended to be used across all these paradigms, re-using the resources that contain the content and Documents are no exception. (btw Rene Spronk has an excellent  post that goes into more details about Messages vs Documents)

So what is a document? Well, CDA defines the following characteristics of Documents (thanks to Bob Dolin):

The FHIR representation of a document is actually quite simple:

And that’s about it!

Ok, maybe there’s a bit more to be said….

Another way to think of a FHIR document is that it is like an object graph, rooted in the composition resource, with all the resources linked together by the various resource references between them. And this visualization shows how the references that comprise the resources can either be located within the bundle, or stored remotely with a reference to it in the document – wherever makes sense. However, most times including them in the bundle is going to be the simplest way to represent a document, and it does make signing easier.

The following diagram shows how you could have a simple document – maybe a clinical note and a list of medications. The document also contains the author and the patient (subject).

Some notes about this diagram:

The following diagram shows how the example would appear as a real XML document.


<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2005/Atom">
    <title>A sample FHIR document</title>
    <id>urn:uuid:500bee81-d973-4afe-b592-d39fe71e38</id>
    
    <updated>2013-05-28T22:12:21Z</updated>     <!-- Time the bundle was built -->
    <!-- Author is required by the Atom spec. FHIR doesn't use it-->
    <author>
        <name>Doctor Dave</name>
    </author>
    <!-- This tag specifies unambu=iguously that this is a FHIR document bundle -->
    <category  term="http://hl7.org/fhir/tag/document" scheme="http://hl7.org/fhir/tag" />

    <entry>
        <title>Progress note for Patsy Pregnant by Doctor Dave</title>
        <!-- the 'cid' protocol means this is a new composition -->
        <id>cid:1046bb61-c258-44e5-96a5-a5bae6b180fe@orionhealth.com</id>
        <updated>2013-05-28T22:12:21Z</updated>
        <content type="text/xml">
            <Composition xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">Progress note...</div>
                </text>
                <instant value='2013-06-06T12:30:00'/>  <!-- the time this document was created -->
                <!-- What type of document is this - eg Discharge Summary, referral, Consultation note -->
                <type>
                    <coding>
                        <!-- Using an XDS system? hmmmm... -->
                        <system value='http://fhir.org.nz/xds#documentType'/>
                        <code value='pn'/>
                        <display value="Progress Note"/>
                    </coding>
                </type>
                <status value="final"/>
                <confidentiality>
                    <system value='http://fhir.org.nz/xds#confidentiality'/>
                    <code value='n'/>
                    <display value="Normal"/>
                </confidentiality>
                <!-- Who the document is about. The patient with the ID of sample -->
                <subject>
                    <reference value='http://hl7.org.nz/fhir/Patient/patsypregnant'/>
                    <display value="Patsy Pregnant"/>
                </subject>
                <author>
                    <reference value='http://hl7.org.nz/fhir/Practitioner/drdave'/>
                    <display value="Doctor Dave"/>
                </author>
                <!-- The document sections - the observation and the medication list -->
                <section>
                    <content>
                        <reference value='cid:100@orionhealth.com'/>
                        <display value="Clincial Observation"/>
                    </content>
                </section>
                <section>
                    <content>
                        <reference value='cid:110@orionhealth.com'/>
                        <display value="Medication List"/>
                    </content>
                </section>
            </Composition>
        </content>
    </entry>

    <entry>
        <title>The clinical note</title>
        <id>cid:100@orionhealth.com</id>
        <updated>2013-05-28T22:12:21Z</updated>
        
        <content type="text/xml">
            <!-- Sample content only -->
            <Observation xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">This is a record of my consult...</div>
                </text>
                <name>
                    <coding>
                        <system value='http://fhir.org.nz/xds#obsType'/>
                        <code value='pn'/>
                        <display value="Progress Note"/>
                    </coding>
                </name>
                <status value="final"/>
                <reliability value="ok"/>
                <!-- All the other details of the Observation (ie progress note) here -->
            </Observation>
        </content>
    </entry>

    <entry>
        <title>The medication list</title>
        <id>cid:110@orionhealth.com</id>
        <updated>2013-05-28T22:12:21Z</updated>
        
        <content type="text/xml">
            <!-- Sample content only -->
            <List xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">Current list of medications</div>
                </text>
                <mode value="working"/>
                <entry>
                    <item>
                        <reference value='http://hl7.org.nz/fhir/MedicationPrescription/medsample1'/>
                        <display value="Medication 1"/>
                    </item>
                </entry>
                <entry>
                    <item>
                        <reference value='http://hl7.org.nz/fhir/MedicationPrescription/medsample2'/>
                        <display value="Medication 2"/>
                    </item>
                </entry>
            </List>
        </content>
    </entry>
    
    <entry>
        <title>Medication1</title>
        <id>http://hl7.org.nz/fhir/MedicationPrescription/medsample1</id>
        <updated>2013-05-28T22:12:21Z</updated>
        
        <content type="text/xml">
            <!-- Sample content only -->
            <MedicationPrescription xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">Medication 1</div>
                </text>

                <!-- All the other details of the Medication here -->
            </MedicationPrescription>
        </content>
    </entry>

    <entry>
        <title>Medication2</title>
        <id>http://hl7.org.nz/fhir/MedicationPrescription/medsample2</id>
        <updated>2013-05-28T22:12:21Z</updated>
        
        <content type="text/xml">
            <!-- Sample content only -->
            <MedicationPrescription xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">Medication 2</div>
                </text>
                
                <!-- All the other details of the Medication here -->
            </MedicationPrescription>
        </content>
    </entry>

    <entry>
        <title>The subject of the document - Patsy Pregnant</title>
        <id>http://hl7.org.nz/fhir/Patient/patsypregnant</id>
        <updated>2013-05-28T22:12:21Z</updated>
        
        <content type="text/xml">
            <!-- Sample content only -->
            <Patient xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">Patsy Pregnant</div>
                </text>
                <!-- All the other details of Patient here -->
            </Patient>
        </content>
    </entry>
      
    <entry>
        <title>The document author - Doctor Dave</title>
        <id>http://hl7.org.nz/fhir/Practitioner/drdave</id>
        <updated>2013-05-28T22:12:21Z</updated>
        
        <content type="text/xml">
            <!-- Sample content only -->
            <Practitioner xmlns="http://hl7.org/fhir">
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml">Doctor Dave</div>
                </text>
                <!-- All the other details of Practitioner here -->
            </Practitioner>
        </content>
    </entry>

</feed>

Notes:

Well, that’s all for this post (overly long as usual). There’s a ton of other stuff to talk about, like:

To be continued…

Exit mobile version