Showing posts with label data. Show all posts
Showing posts with label data. Show all posts

October 14, 2014

Bonnie: An Open Source Clinical Quality Measure Testing Tool

Bonnie is a new open source software tool that MITRE has developed and released in April 2014 that allows Meaningful Use (MU) Clinical Quality Measure (CQM) developers to test and verify the behavior of their CQM logic.  The goal of Bonnie is to reduce the number of defects in CQMs by providing a robust and automated testing framework. Bonnie allows measure developers to independently load measures that they have constructed using the Measure Authoring Tool (MAT). Loading the measures into Bonnie converts the measures from their Extensible Markup Language (XML) eSpecifications into executable artifacts and measure metadata.

Bonnie Dashboard Page
Bonnie Dashboard Page
The measure eSpecification format that Bonnie loads is Health Quality Measure Format (HQMF) XML. The HQMF specification provides the metadata and logic that describe the specifics of calculating a CQM. Bonnie can load the HQMF describing a measure and programmatically convert the HQMF specification into an executable format that allows calculating the measure directly from the specification. 

The measure metadata loaded into Bonnie is then used to allow developers to rapidly build a synthetic patient test deck for the measure using the clinical elements defined during the measure construction process. By using measure metadata as a basis for building synthetic patients, developers can rapidly and efficiently create a test deck for a measure. 

Once a CQM has been loaded into Bonnie, a user can inspect the measure logic and then build synthetic test records and set expectations on how those test records will calculate against a measure. This capability to build synthetic test patient records, set expectations against those records, and calculate the measures using those patient records provides an automated and efficient testing framework for CQMs. 

Using the Bonnie-supported CQM testing framework allows measure developers to more clearly understand the behavior of the measure logic, validate that the measure logic encodes their intent, and allows for multiple iterations of measure updates to be validated against a test deck. 

Bonnie Measure Page
Bonnie Measure Page
Additionally, the development of a test deck as part of measure development provides benefits after the measures are finalized. The test deck build as part of measure development can be used to demonstrate the intent of the measure though the use of patient examples included in the test deck. Furthermore, the test deck provides systems that implement the measures with a means to validate the development of their systems. This is provided in the form of a base set of synthetic patient records with known expectations for calculating against the implemented measures. Finally, the test deck could be used as a basis for the test deck used as part of the Meaningful Use certification program. 

Bonnie has been designed to integrate with the nationally recognized data standards used by the Meaningful Use program for expressing CQM logic for machine-to-machine interoperability. This provides enormous value to the CQM program and federal policy leaders and stakeholders: this software tool verifies that the new and evolving standards for the Meaningful Use CQM program are tractable and can be implemented in software.   

Additionally, Bonnie was designed to provide an intuitive and easy-to-use interface based on feedback from the broader measure developer community. A key goal of the Bonnie application is to deliver a user experience that provides an efficient and intuitive method for constructing synthetic patient records for testing and validating CQMs. 

The Bonnie software is freely available via an Apache 2.0 open source license. The Meaningful Use program makes all or parts of the Bonnie software available for inspection, verification, and even reuse by other government programs or federal contractors. 

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. © Rob McCready, 2014.
Creative Commons License

October 8, 2014

Example of CDA limitations to interoperability: time intervals

The HL7 Clinical Document Architecture (CDA) is an XML-based markup standard intended to specify the encoding, structure and semantics of clinical documents for exchange. CDA is an ANSI-certified standard from Health Level Seven (HL7).  The CDA is highlighted as a flexible framework that can contain any type of clinical content.  Additionally, the details of the encoding of clinical data and associated aspects of that data are intentionally designed to be flexible.

That flexibility provides freedoms in various different systems' ability to export clinical data.  However, that same flexibility is an increasing barrier to the interoperability of data as systems need to import that same data.  My biggest pet peeve with the CDA and this problem is the flexibility that the CDA provides in the encoding of time intervals.

Based on clinical reason, the CDA provides the freedom to encode time intervals in eight (8) (VIII) different representations.

<low>
<width>
<high>
<low> <width>
<low> <high>
<center>
<center> <width>

This amount of flexibility in expressing something as simple as a time interval is an obstacle for any receiving system hoping to import and parse an HL7 CDA-based XML document without knowing the way that the generating system is going to express something as basic as a time interval. This permissive nature of the CDA's artifacts is common beyond this one basic example.

What is needed, and hopefully addressed in the emerging FHIR specification, is a more constrained approach to the foundational aspects of clinical data, such as how to encode time intervals.  To reach a point with more interoperability of healthcare data, analysis is needed of the presence of types of structured clinical data concepts and associated clinical codes used operationally.

I feel that the healthcare standards community ultimately needs to identify a strict and simple constrained set of ways of expressing clinical concepts that healthcare Standards Development Organizations (SDOs) like HL7 should use to constrain existing permissive and complex standards.  This could also be done to guide a stricter and simpler implementation to support interoperability via FHIR.

This could introduce significant and radical improvements in the interoperability of patient data in the US healthcare industry.  This will better enable disparate healthcare software systems to work together without requiring point-to-point coordination.  This could reduce, and eventually eliminate, these problems of point-to-point coordination that result in islands of automation.

This "loose coupler" approach will encourage HL7, or possibly new healthcare SDOs, to embrace a core set of strict and simple required attributes, over the current state of the practice using permissive and complex attributes.

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. © Rob McCready, 2014.
Creative Commons License

August 5, 2014

ICD 10 vs ICD 9 Code Format Structural Differences

ICD is the World Health Organization's (WHO's) International Classification of Diseases (ICD) and Related Health Problems and is the international standard diagnostic classification system, and is the tenth revision of the ICD.  The ICD is the coding system which physicians and other healthcare providers currently use to code all diagnoses, symptoms, and procedures recorded in hospitals and physician practices.  

It is a big deal.

Today, the Department of Health and Human Services (HHS) just published an updated rule for the adoption of ICD-10 code sets.  HHS is requiring that all HIPAA covered entities must be ICD-10 compliant by October 1st, 2015.  This newly updated compliance date is meant to be firm and not subject to any change.  This is the third time that ICD-10 has been delayed, so I strongly suspect that this new deadline will be met by next fall.

Last year, I put together a visualization of analysis of the ICD-10 coding landscape.  Below is a simple primer explaining the distinction between ICD-9 and ICD-10, demonstrating structurally the difference in the two coding systems.  In particular, the ICD-10 code set has been expanded from five positions (first one alphanumeric, others numeric) to up to seven positions. The codes use alphanumeric characters in all positions, not just the first position as in ICD-9.

ICD-9 vs ICD-10 coding
ICD-9 vs ICD-10 coding

Some other interesting artifacts of ICD-9 vs ICD-10 that I discovered today:
  • As of the latest version, there are ~68,000 codes in ICD-10, as opposed to the ~13,000 in ICD-9.  More specifically, there are nearly 5 times as many diagnosis codes in ICD-10 than in ICD-9 and there are nearly 19 times as many procedure codes in ICD-10 than in ICD-9.  Yikes!
  • The new code set provides a significant increase in the specificity of the reporting, allowing more information to be conveyed in a code.  To support this, the terminology has been modernized and has been made consistent throughout the code set.  There are codes that are a combination of diagnoses and symptoms, with a claim that fewer codes need to be reported to fully describe a condition.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. © Rob McCready, 2014.
Creative Commons License

November 22, 2013

Conceptual Hospital Dashboard Design

I have been neglecting the "design" aspect of this blog for some time.  To re-engergize the need for more engaging content, to put some eye-candy out... and have some fun on a late Friday afternoon… I thought I would share a shelved design for a dashboard that I developed for a COO at a notional hospital:

Notional Hospital COO Dashboard Design
Notional Hospital COO Dashboard Design
I have made several assumptions when coming up with this mockup.  The first is that quality and quality metrics would be of utmost importance to this user.  Maybe pay-for-performance programs have been adopted based on Clinical Quality Measures (CQMs), and quality issues have an immediate impact on the bottom line of the organization.  I included both a kiviat visualization for showing targets against measured results for CQMs, and a longitudinal trend for those CQMs over time.

With the disclaimer that I am not a clinician; I made some assumptions that knowing the types of procedures that are being performed, and when those procedures deviate from expected norms is something else that a COO would track.

Lastly, I am showing a design technique that Stephen Few will sometimes use to provide a non-white background to reduce eyestrain.  Having met him several years ago, I am a fan of Stephen's work.  I always like the muted background color that he tends to include in his works.

I welcome the feedback.

Kudos if you "get" the names of the ten physicians.

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. © Rob McCready, 2013.
Creative Commons License

November 14, 2013

Example QRDA Category 3 XML for Meaningful Use Stage 2 Clinical Quality Measure Reporting

I have been preparing to lead a summit in D.C. tomorrow to discuss versioning of the various Meaningful Use Clinical Quality Measure (CQM) standards.  During final preparation for the summit, I have been digging into the QRDA Category 3 XML specification.  As I detailed a few months ago, the QRDA Category 3 XML is used for reporting aggregate data for reporting CQMs.  The more that I go spelunking into the QRDA Category 3 standard, the more I understand the complexities associated with it.  I am hoping that providing an example QRDA Category 3 XML will be helpful to the broader community.

Detailed below is a (verbose) example QRDA Category 3 XML file for expressing the Meaningful Use Stage 2 Clinical Quality Measure for expressing the results for "NQF 0018 Controlling High Blood Pressure".  Assume that this CQM is being considered against a population of patients that would generate aggregate section results that would look like this:
  • Initial Patient Population (IPP): 3
  • Denominator: 3
  • Numerator: 1
  • Exceptions: 1
  • Exclusions: 0
Additionally, Electronic Health Record (EHR) systems are required to report on the supplemental data for sex, ethnicity, race and payer.  So for this data set, assume that there are two males that meet the IPP and only one female.  Then, assume only one of the males meets the numerator requirement.  For simplicity, assume that we do not have any information on race, ethnicity, or payers… so assume "unknown" for all the patients on those dimensions.

Scrolling below, I enumerate a valid example QRDA Category 3 XML file and the sections used to report the aggregate results via CQM QRDA Category 3.  I highlighting the aggregate section results with a yellow background, and the supplemental data with a violet background.

Similar to the QRDA Category 1, it is really difficult to understand why there is so much XML bloat here.  For expressing the CQM results I enumerated after the third paragraph of this blog entry, it takes 679 lines of XML to express these results in the QRDA Category 3!  It is a real struggle to attempt to explain why so much verbose XML is needed to convey such little aggregate information.

With a more detailed understanding of the QRDA Category 3 specification, I think it is finally time to seriously question the ongoing use of the HL7 Clinical Document Architecture (CDA) and the HL7 Reference Implementation Model (RIM) for expressing any type of healthcare data in XML.  While I appreciate what the leaders at HL7 are attempting to do, the QRDA Category 3 XML bloat is probably the best (worst?) example I have seen to support use of a simpler and less complex standard that deviates from the CDA and RIM.

Steve Jobs quote that needs to be considered here “Simple can be harder than complex.  You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.”  See the evidence of the need for this type of change below:

<?xml version="1.0" encoding="utf-8"?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="urn:hl7-org:v3" xmlns:cda="urn:hl7-org:v3">
<realmCode code="US"/>
<typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
<templateId root="2.16.840.1.113883.10.20.27.1.1"/>
<id root="9c9762c0-2ac3-0131-4e2f-0050560100a9"/>
<code code="55184-6" codeSystem="2.16.840.1.113883.6.1"
 codeSystemName="LOINC"
 displayName="QRDA Category 3 Summary Report"/>
<title>QRDA Category 3 Calculated Summary Report</title>
<effectiveTime value="20131108164909"/>
<confidentialityCode codeSystem="2.16.840.1.113883.5.25" code="N"/>
<languageCode code="en-US"/>
<versionNumber value="1"/>
<recordTarget>
  <patientRole>
    <id nullFlavor="NA"/>
  </patientRole>
</recordTarget>
<author>
  <time value="20131108164909"/>
  <assignedAuthor>
    <id extension="Foo" root="Bar"/>
    <assignedAuthoringDevice>
      <softwareName/>
    </assignedAuthoringDevice>
    <representedOrganization>
      <id root="root" extension="ext"/>
      <name/>
    </representedOrganization>
  </assignedAuthor>
</author>
<custodian>
  <assignedCustodian>
    <representedCustodianOrganization>
      <id root="root"/>
      <name>Some Custodian Name</name>
    </representedCustodianOrganization>
  </assignedCustodian>
</custodian>
<legalAuthenticator>
  <time value="20131108164909"/>
  <signatureCode code="S"/>
  <assignedEntity>
    <id root="root"/>
    <representedOrganization>
      <id root="root"/>
    </representedOrganization>
  </assignedEntity>
</legalAuthenticator>
<component>
  <structuredBody>
    <component>
      <section>
        <templateId root="2.16.840.1.113883.10.20.17.2.1"/>
        <templateId root="2.16.840.1.113883.10.20.27.2.2"/>
        <code code="55187-9" codeSystem="2.16.840.1.113883.6.1"/>
        <title>Reporting Parameters</title>
        <text>
          <list>
            <item>Reporting period Dec 31 2011 - 
                  Dec 31 2012</item>
          </list>
        </text>
        <entry typeCode="DRIV">
          <act classCode="ACT" moodCode="EVN">
            <templateId root="2.16.840.1.113883.10.20.17.3.8"/>
            <code code="252116004"
             codeSystem="2.16.840.1.113883.6.96"
             displayName="Observation Parameters"/>
            <effectiveTime>
              <low value="20111231120000"/>
              <high value="20121231120000"/>
            </effectiveTime>
          </act>
        </entry>
      </section>
    </component>
    <component>
      <section>
        <templateId root="2.16.840.1.113883.10.20.24.2.2"/>
        <templateId root="2.16.840.1.113883.10.20.27.2.1"/>
        <code code="55186-1" codeSystem="2.16.840.1.113883.6.1"/>
        <title>Measure Section</title>
        <text></text>
        <entry>
          <organizer classCode="CLUSTER" moodCode="EVN">
            <templateId root="2.16.840.1.113883.10.20.24.3.98"/>
            <templateId root="2.16.840.1.113883.10.20.27.3.1"/>
            <statusCode code="completed"/>
            <reference typeCode="REFR">
              <externalDocument classCode="DOC" moodCode="EVN">
                <id root="40280381-3D61-56A7-013E-66BC02DA4DEE"/>
                <text>Controlling High Blood Pressure</text>
                <setId
                 root="ABDC37CC-BAC6-4156-9B91-D1BE2C8B7268"/>
                <versionNumber value="1"/>
              </externalDocument>
            </reference>
            <component>
              <observation classCode="OBS" moodCode="EVN">
                <templateId
                 root="2.16.840.1.113883.10.20.27.3.14"/>
                <code code="72510-1"
                 codeSystem="2.16.840.1.113883.6.1"
                 displayName="Performance Rate"
                 codeSystemName="2.16.840.1.113883.6.1"/>
                <statusCode code="completed"/>
                <value xsi:type="REAL" value="0.5"/>
                <reference typeCode="REFR">
                  <externalObservation classCode="OBS" 
                   moodCode="EVN">
                    <id 
                     root="5EE417A9-32DB-452F-BAA0-74C5831A4457"/>
                    <code code="NUMER" displayName="Numerator"
                     codeSystem="2.16.840.1.113883.5.1063"
                     codeSystemName="ObservationValue"/>
                  </externalObservation>
                </reference>
              </observation>
            </component>
            <component>
              <!-- DATA FOR IPP B936D6B5-151F-47FB-97D8-A5AB9AB00656 -->
              <observation classCode="OBS" moodCode="EVN">
                <templateId root="2.16.840.1.113883.10.20.27.3.5"/>
                <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"
                 displayName="Assertion" codeSystemName="ActCode"/>
                <statusCode code="completed"/>
                <value xsi:type="CD" code="IPP"
                 codeSystem="2.16.840.1.113883.5.1063"
                 codeSystemName="ObservationValue"/>
                <entryRelationship typeCode="SUBJ" inversionInd="true">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                      <code code="MSRAGG" displayName="rate aggregation"
                       codeSystem="2.16.840.1.113883.5.4"
                       codeSystemName="ActCode"/>
                      <value xsi:type="INT" value="3"/>
                      <methodCode code="COUNT" displayName="Count"
                       codeSystem="2.16.840.1.113883.5.84"
                       codeSystemName="ObservationMethod"/>
                  </observation>
                </entryRelationship>
                <!-- SEX Supplemental Data for IPP
                     B936D6B5-151F-47FB-97D8-A5AB9AB00656 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId
                root="2.16.840.1.113883.10.20.27.3.6"/>
                    <id nullFlavor="NA"/>
                    <code code="184100006"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" code="F"
                     codeSystem="2.16.840.1.113883.5.1"/>
                    <entryRelationship typeCode="SUBJ"
                     inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- SEX Supplemental Data Reporting for IPP
                     B936D6B5-151F-47FB-97D8-A5AB9AB00656 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.6"/>
                    <id nullFlavor="NA"/>
                    <code code="184100006"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" code="M"
                     codeSystem="2.16.840.1.113883.5.1"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="2"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- ETHNICITY Supplemental Data Reporting for IPP
                     B936D6B5-151F-47FB-97D8-A5AB9AB00656 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.7"/>
                    <id nullFlavor="NA"/>
                    <code code="364699009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="3"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- RACE Supplemental Data Reporting for IPP
                     B936D6B5-151F-47FB-97D8-A5AB9AB00656 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.8"/>
                    <id nullFlavor="NA"/>
                    <code code="103579009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="3"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- PAYER Supplemental Data Reporting for IPP
                     B936D6B5-151F-47FB-97D8-A5AB9AB00656 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.9"/>
                    <id nullFlavor="NA"/>
                    <code code="48768-6" codeSystem="2.16.840.1.113883.6.1"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="3"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <reference typeCode="REFR">
                  <externalObservation classCode="OBS" moodCode="EVN">
                    <id root="B936D6B5-151F-47FB-97D8-A5AB9AB00656"/>
                  </externalObservation>
                </reference>
              </observation>
            </component>
            <component>
              <!-- MEASURE DATA REPORTING FOR DENOM
                   2A53CBF0-510A-429D-814D-CBCA4DC0E2A8 -->
              <observation classCode="OBS" moodCode="EVN">
                <templateId root="2.16.840.1.113883.10.20.27.3.5"/>
                <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"
                 displayName="Assertion" codeSystemName="ActCode"/>
                <statusCode code="completed"/>
                <value xsi:type="CD" code="DENOM"
                 codeSystem="2.16.840.1.113883.5.1063"
                 codeSystemName="ObservationValue"/>
                <entryRelationship typeCode="SUBJ" inversionInd="true">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                    <code code="MSRAGG" displayName="rate aggregation"
                     codeSystem="2.16.840.1.113883.5.4"
                     codeSystemName="ActCode"/>
                    <value xsi:type="INT" value="3"/>
                    <methodCode code="COUNT" displayName="Count"
                     codeSystem="2.16.840.1.113883.5.84"
                     codeSystemName="ObservationMethod"/>
                  </observation>
                </entryRelationship>
                <!-- SEX Supplemental Data Reporting for DENOM
                     2A53CBF0-510A-429D-814D-CBCA4DC0E2A8 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.6"/>
                    <id nullFlavor="NA"/>
                    <code code="184100006"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" code="F"
                     codeSystem="2.16.840.1.113883.5.1"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- SEX Supplemental Data Reporting for DENOM
                     2A53CBF0-510A-429D-814D-CBCA4DC0E2A8 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.6"/>
                    <id nullFlavor="NA"/>
                    <code code="184100006"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" code="M"
                     codeSystem="2.16.840.1.113883.5.1"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="2"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- ETHNICITY Supplemental Data Reporting for DENOM
                     2A53CBF0-510A-429D-814D-CBCA4DC0E2A8 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.7"/>
                    <id nullFlavor="NA"/>
                    <code code="364699009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="3"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- RACE Supplemental Data Reporting for DENOM
                     2A53CBF0-510A-429D-814D-CBCA4DC0E2A8 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.8"/>
                    <id nullFlavor="NA"/>
                    <code code="103579009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="3"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- PAYER Supplemental Data for DENOM
                     2A53CBF0-510A-429D-814D-CBCA4DC0E2A8 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.9"/>
                    <id nullFlavor="NA"/>
                    <code code="48768-6" codeSystem="2.16.840.1.113883.6.1"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="3"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <reference typeCode="REFR">
                  <externalObservation classCode="OBS" moodCode="EVN">
                    <id root="2A53CBF0-510A-429D-814D-CBCA4DC0E2A8"/>
                  </externalObservation>
                </reference>
              </observation>
            </component>
            <component>
              <!-- MEASURE DATA FOR NUMER
                   5EE417A9-32DB-452F-BAA0-74C5831A4457 -->
              <observation classCode="OBS" moodCode="EVN">
                <templateId root="2.16.840.1.113883.10.20.27.3.5"/>
                <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"
                 displayName="Assertion" codeSystemName="ActCode"/>
                <statusCode code="completed"/>
                <value xsi:type="CD" code="NUMER"
                 codeSystem="2.16.840.1.113883.5.1063"
                 codeSystemName="ObservationValue"/>
                <entryRelationship typeCode="SUBJ" inversionInd="true">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                    <code code="MSRAGG" displayName="rate aggregation"
                     codeSystem="2.16.840.1.113883.5.4"
                     codeSystemName="ActCode"/>
                    <value xsi:type="INT" value="1"/>
                    <methodCode code="COUNT" displayName="Count"
                     codeSystem="2.16.840.1.113883.5.84"
                     codeSystemName="ObservationMethod"/>
                  </observation>
                </entryRelationship>
                <!-- SEX Supplemental Data for NUMER
                     5EE417A9-32DB-452F-BAA0-74C5831A4457 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.6"/>
                    <id nullFlavor="NA"/>
                    <code code="184100006"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" code="M"
                     codeSystem="2.16.840.1.113883.5.1"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- ETHNICITY Supplemental Data for NUMER
                     5EE417A9-32DB-452F-BAA0-74C5831A4457 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.7"/>
                    <id nullFlavor="NA"/>
                    <code code="364699009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- RACE Supplemental Data for NUMER
                     5EE417A9-32DB-452F-BAA0-74C5831A4457 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.8"/>
                    <id nullFlavor="NA"/>
                    <code code="103579009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- PAYER Supplemental Data for NUMER
                     5EE417A9-32DB-452F-BAA0-74C5831A4457 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.9"/>
                    <id nullFlavor="NA"/>
                    <code code="48768-6" codeSystem="2.16.840.1.113883.6.1"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <reference typeCode="REFR">
                    <externalObservation classCode="OBS" moodCode="EVN">
                        <id root="5EE417A9-32DB-452F-BAA0-74C5831A4457"/>
                    </externalObservation>
                </reference>
              </observation>
            </component>
            <component>
              <!-- MEASURE DATA REPORTING FOR DENEX
                   57F3D1D7-F9FA-437F-A2B9-406A1498E8C0 -->
              <observation classCode="OBS" moodCode="EVN">
                <templateId root="2.16.840.1.113883.10.20.27.3.5"/>
                <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"
                 displayName="Assertion" codeSystemName="ActCode"/>
                <statusCode code="completed"/>
                <value xsi:type="CD" code="DENEX"
                 codeSystem="2.16.840.1.113883.5.1063"
                 codeSystemName="ObservationValue"/>
                <entryRelationship typeCode="SUBJ" inversionInd="true">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                    <code code="MSRAGG" displayName="rate aggregation"
                     codeSystem="2.16.840.1.113883.5.4"
                     codeSystemName="ActCode"/>
                    <value xsi:type="INT" value="1"/>
                    <methodCode code="COUNT" displayName="Count"
                     codeSystem="2.16.840.1.113883.5.84"
                     codeSystemName="ObservationMethod"/>
                  </observation>
                </entryRelationship>
                <!-- SEX Supplemental Data Reporting for DENEX
                     57F3D1D7-F9FA-437F-A2B9-406A1498E8C0 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.6"/>
                    <id nullFlavor="NA"/>
                    <code code="184100006"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" code="F"
                     codeSystem="2.16.840.1.113883.5.1"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- ETHNICITY Supplemental Data Reporting for
                     DENEX 57F3D1D7-F9FA-437F-A2B9-406A1498E8C0 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.7"/>
                    <id nullFlavor="NA"/>
                    <code code="364699009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- RACE Supplemental Data for DENEX
                     57F3D1D7-F9FA-437F-A2B9-406A1498E8C0 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">=
                    <templateId root="2.16.840.1.113883.10.20.27.3.8"/>
                    <id nullFlavor="NA"/>
                    <code code="103579009"
                     codeSystem="2.16.840.1.113883.6.96"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <!-- PAYER Supplemental Data for DENEX
                     57F3D1D7-F9FA-437F-A2B9-406A1498E8C0 -->
                <entryRelationship typeCode="COMP">
                  <observation classCode="OBS" moodCode="EVN">
                    <templateId root="2.16.840.1.113883.10.20.27.3.9"/>
                    <id nullFlavor="NA"/>
                    <code code="48768-6" codeSystem="2.16.840.1.113883.6.1"/>
                    <statusCode code="completed"/>
                    <value xsi:type="CD" nullFlavor="UNK"/>
                    <entryRelationship typeCode="SUBJ" inversionInd="true">
                      <observation classCode="OBS" moodCode="EVN">
                        <templateId root="2.16.840.1.113883.10.20.27.3.3"/>
                        <code code="MSRAGG" displayName="rate aggregation"
                         codeSystem="2.16.840.1.113883.5.4"
                         codeSystemName="ActCode"/>
                        <value xsi:type="INT" value="1"/>
                        <methodCode code="COUNT" displayName="Count"
                         codeSystem="2.16.840.1.113883.5.84"
                         codeSystemName="ObservationMethod"/>
                      </observation>
                    </entryRelationship>
                  </observation>
                </entryRelationship>
                <reference typeCode="REFR">
                  <externalObservation classCode="OBS" moodCode="EVN">
                    <id root="57F3D1D7-F9FA-437F-A2B9-406A1498E8C0"/>
                  </externalObservation>
                </reference>
              </observation>
            </component>
          </organizer>
        </entry>
      </section>
    </component>
  </structuredBody>
</component>
</ClinicalDocument> 

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. © Rob McCready, 2013.
Creative Commons License