- 18 Aug 2023
- 7 Minutes to read
- Print
- DarkLight
IXML QRDA III
- Updated on 18 Aug 2023
- 7 Minutes to read
- Print
- DarkLight
Intermediate XML is used in the process of creating CCDs. It's what mdht-restlet needs to generate on-demand CCDs, QRDA I, QRDA III, and FHIR records. This document covers QRDA III and is an appendage to the larger IXML Documentation which contains definitions common to both CCDA and QRDA.
Documents (Implementation Guides)
These are used primarily in creating the POJOs and populating the CCD using MDHT APIs.
Title | HL7 Implementation Guide for CDA® Release 2: Quality Reporting Document Architecture—Category III, STU Release 2.1—(US Realm) Standard for Trial Use June 2017 |
Filename | CDAR2_IG_QRDAIII_R1_STU_R2.1_2017JUL.pdf, 147 pages |
Title | CMS Implementation Guide for Quality Reporting Document Architecture Category III Eligible Clinicians and Eligible Professionals Programs Implementation Guide for 2022 Version 1.1 12/16/2021 |
Filename | 2022-CMS-QRDA-III-Eligible-Clinicians-and-EP-IG-V1.1-508.pdf, 94 pages |
Simple POJOs
For Pojo see IXML Documentation.
Address is used occasionally in the QRDA III header. PerformerEntity provides information to the <assignedEntity ... /> and <representedOrganization ... /> elements of the <documentationOf ... /> section of the QRDA III header. There may be as many of those as desired in Header.
Common (evolved) POJOs
For CommonPojo see IXML Documentation.
Specialized POJOs (including AdminPojos)
For each of these, there is a count which you must use in generating QRDA III.
Source Code | IXML Sample |
Ethnicity | |
class Ethnicity extends AdminPojo { } | <ethnicity code="2135-2" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC Ethnicity group" displayname="Hispanic or Latino" count="250" /> <ethnicity code="2186-5" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC Ethnicity group" displayname="Not Hispanic or Latino" count="816" /> |
Race & Ethnicity | |
Participant | |
class Participant extends CommonPojo { String typecode; // "LOC", "DEV", etc. String classcode; String idroot; String idextension; Address address; } | <participant typecode="DEV" classcode="RGPR" idextension="0015E181NBE3YEG" idroot="2.16.840.1.113883.3.2074.1"> <address ... /> </participant> |
Participant Location Participant | |
Payer | |
class Payer extends AdminPojo { EffectiveTime effectivetime; } | <!-- for code you must use one of {A|B|C|D} and not numbers --> <payer code="A" count="300" displayname="Medicare" /> <payer code="B" count="66" displayname="Medicaid" /> <payer code="C" count="700" displayname="Private Health Insurance" /> <payer code="D" count="0" displayname="Other" /> |
Payer Supplemental Data Element (V2) Aggregate Count | |
Race | |
class Race extends AdminPojo { } | <race code="1002-5" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC" displayname="American Indian or Alaska Native" count="0" /> <race code="2028-9" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC" displayname="Asian" count="66" /> <race code="2054-5" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC" displayname="Black or African American" count="344" /> <race code="2076-8" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC" displayname="Native Hawaiian or Other Pacific Islander" count="6" /> <race code="2106-3" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC" displayname="White" count="650" /> <race code="2131-1" codesystem="2.16.840.1.113883.6.238" codesystemname="Race & Ethnicity - CDC" displayname="Other Race" count="0" /> |
Race & Ethnicity | |
Sex | |
class Sex extends AdminPojo { } | <sex code="M" codesystem="2.16.840.1.113883.5.1" codesystemname="HL7AdministrativeGenderCode" displayname="Male" count="643" /> <sex code="F" codesystem="2.16.840.1.113883.5.1" codesystemname="HL7AdministrativeGenderCode" displayname="Female" count="423" /> |
Administrative Sex | |
Stratum | |
class Stratum extends Pojo { String count; String referenceid; String statuscode; } | <stratum" count="813" referenceid="F9617BDD-16F0-4CF1" statuscode="complete" /> // (if missing, a default is calculated) |
Reporting Stratum |
Measures POJO
(Not to be confused with Measure.)
MeasuresPojo doesn't appear in the IXML, but its instance variable, count, appears as an attribute on XML elements. Its other instance variables (races, ethnicities, etc.) appear as XML elements with plural names to create repeating collections of subordinate XML elements (in the singular). See example for Denex.
MeasuresPojo |
class MeasuresPojo extends Pojo { String count; // attribute String referenceid; // ibid, from IXML List< Race > races; // subelement collection List< Ethnicity > ethnicities; // ibid List< Sex > genders; // ibid List< Payer > payers; // ibid List< Stratum > strata; // ibid } |
Population-identifier POJOs
Appendix: sample IXML file (QRDA III) and format templates
<?xml version="1.0" encoding="UTF-8"?> <cdadoc> <header> <doctype>QRDA III</doctype> <vendor>Acme</vendor> <conformance>2018</conformance> <codename>Continuity of Care Document</codename> <title>Good Health QRDA III Report</title> <hieinfo> <hiename>Mockingbird Heights Clinic</hiename> <telecom>tel:+1(213) 666-9032</telecom> <oid>2.16.840.1.113883.3.5785</oid> <address> <line>13 Boulevard of the Stars</line> <line>Suite 1A</line> <city>Mockingbird Heights</city> <state>CA</state> <zipcode>90210</zipcode> <country>US</country> </address> </hieinfo> <informationrecipientid>CDAC_HQR_EHR</informationrecipientid> <participant typeclass="LOC" idextension="PCF APM Entity Identifier"> <address> <line>5242 Broadway Avenue</line> <line>#538</line> <city>New York</city> <state>NY</state> <zipcode>10001</zipcode> <country>US</country> </address> </participant> <performerentity name="IMAT Solutions" npi="2589654740" tin="990000999" /> <performerentity name="Bronze Bell" npi="2672223897" tin="990000998" /> <performerentity name="Cream o' Weber" npi="5698322118" tin="990000997" /> </header> <measures> <measure startdate="20161212100229+0000" enddate="20161213100229+0000" version="40280382-5fa6-fe85-0160-3275a2f02cb9" measurename="BMI Screening" perfromancerate="0.25"> <denex count="21" referenceid="9999-FFFF-EEEE-8888-000006685892"> <strata> <stratum count="10" referenceid="483E377C-4DCD-4CDF-83F7-E85E39402511" /> <stratum count="11" referenceid="124EF6DD-FEBC-4717-AB0F-03E9E4464EF3" /> </strata> <races> <race count="21" displayname="Native Hawaiian or Other Pacific Islander" /> </races> <ethnicities> <ethnicity count="13" displayname="Not Hispanic or Latino" /> </ethnicities> <sexes> <sex count="11" displayname="Male" /> <sex count="7" displayname="Female" /> </sexes> <payers> <payer count="1" startdate="20161212100229+0000" payercode="A" displayname="Payment source for population" /> </payers> </denex> <msrpopl count="13" referenceid="9999-FFFF-EEEE-7777-000006685892"> <strata> <stratum count="10" referenceid="483E377C-4DCD-4CDF-83F7-E85E39402511" /> <stratum count="3" referenceid="124EF6DD-FEBC-4717-AB0F-03E9E4464EF3" /> </strata> <races> <race count="21" displayname="Native Hawaiian or Other Pacific Islander" /> </races> <ethnicities> <ethnicity count="13" displayname="not Hispanic or Latino" /> </ethnicities> <sexes> <sex count="11" displayname="Male" /> <sex count="7" displayname="Female" /> </sexes> <payers> <payer count="1" startdate="20161212100229+0000" payercode="C" displayname="Payment source for denominator" /> </payers> </msrpopl> <numer count="11" referenceid="9999-FFFF-EEEE-6666-000006685892"> <strata> <stratum count="10" referenceid="483E377C-4DCD-4CDF-83F7-E85E39402511" /> <stratum count="1" referenceid="124EF6DD-FEBC-4717-AB0F-03E9E4464EF3" /> </strata> <races> <race count="21" displayname="Native Hawaiian or Other Pacific Islander" /> </races> <ethnicities> <ethnicity count="13" displayname="not Hispanic or Latino" /> </ethnicities> <sexes> <sex count="11" displayname="Male" /> <sex count="7" displayname="Female" /> </sexes> <payers> <payer count="1" startdate="20161212100229+0000" payercode="B" displayname="Payment source for numerator" /> </payers> </numer> <msrpoplex count="8" referenceid="9999-FFFF-EEEE-5555-000006685892"> <strata> <stratum count="4" referenceid="483E377C-4DCD-4CDF-83F7-E85E39402511" /> <stratum count="4" referenceid="124EF6DD-FEBC-4717-AB0F-03E9E4464EF3" /> </strata> <races> <race count="21" displayname="Native Hawaiian or Other Pacific Islander" /> </races> <ethnicities> <ethnicity count="13" displayname="not Hispanic or Latino" /> </ethnicities> <sexes> <sex count="11" displayname="Male" /> <sex count="7" displayname="Female" /> </sexes> <payers> <payer count="1" startdate="20161212100229+0000" payercode="D" displayname="Payment source for exclusions" /> </payers> </msrpoplex> </measure> </measures> </cdadoc>
Appendix: IXML format templates
Here are some sample "railroad tracks."
<cdadoc> <header> <doctype>QRDA III</doctype> <vendor>Acme</vendor> <codename /> <title /> <informationrecipientid /> <participant /> </header> <measures> <!-- {0,1,+} --> <measure ...> <ipop ...> <strata> <!-- {0,1,+} --> <stratum /> </strata> <payers ...> <payer /> <!-- {0,1,+} --> </payers> <races> <race /> <!-- {0,1,+} --> </races> <sexes> <sex /> <!-- {0,1,+} --> </sexes> <ethnicities> <ethnicity /> <!-- {0,1,+} --> </ethnicities> </ipop> <ippop ... /> <!-- as went <ipop>, so go all of these --> <msrpopl ... /> <msrpoplex ... /> <denom ... /> <denex /> <denexcep /> <numer /> <numex /> </measure> </measures> </cdadoc>