---
title: "ixml QRDA Appendix 2"
slug: "ixml-qrda-iii"
updated: 2025-11-19T00:20:07Z
published: 2025-11-19T00:20:07Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.imat.io/llms.txt
> Use this file to discover all available pages before exploring further.

# IXML QRDA III

| POJO Classes | IXML Elements |
| --- | --- |
| [<samp>Address</samp>](/docs/ixml-qrda-iii#Address) | [<samp>&lt;address&gt;</samp>](/docs/ixml-qrda-iii#Address) |
| [<samp>Ethnicity</samp>](/docs/ixml-qrda-iii#Ethnicity) | [<samp>&lt;ethnicity&gt;</samp>](/docs/ixml-qrda-iii#Ethnicity) |
| [<samp>Gender</samp>](/docs/ixml-qrda-iii#Sex) | [<samp>&lt;sex&gt;</samp>](/docs/ixml-qrda-iii#Sex) |
| [<samp>Measure</samp>](/docs/ixml-qrda-iii#Measure) | [<samp>&lt;measure&gt;</samp>](/docs/ixml-qrda-iii#Measure) |
| [<samp>Participant</samp>](/docs/ixml-qrda-iii#Participant) | [<samp>&lt;participant&gt;</samp>](/docs/ixml-qrda-iii#Participant) |
| [<samp>Payer</samp>](/docs/ixml-qrda-iii#Payer) | [<samp>&lt;payer&gt;</samp>](/docs/ixml-qrda-iii#Payer) |
| [<samp>PerformerEntity</samp>](/docs/ixml-qrda-iii#PerformerEntity) | [<samp>&lt;performerentity&gt;</samp>](/docs/ixml-qrda-iii#PerformerEntity) |
| [<samp>Race</samp>](/docs/ixml-qrda-iii#Race) | [<samp>&lt;race&gt;</samp>](/docs/ixml-qrda-iii#Race) |
| [<samp>ReportingPeriod</samp>](/docs/ixml-qrda-iii#ReportingPeriod) | [<samp>&lt;reportingperiod&gt;</samp>](/docs/ixml-qrda-iii#ReportingPeriod) |
| [<samp>Sex</samp>](/docs/ixml-qrda-iii#Sex) | [<samp>&lt;sex&gt;</samp>](/docs/ixml-qrda-iii#Sex) |
| [<samp>Stratum</samp>](/docs/ixml-qrda-iii#Stratum) | [<samp>&lt;stratum&gt;</samp>](/docs/ixml-qrda-iii#Stratum) |
| Population Inclusion POJOs: |
| [<samp>Denex</samp>](/docs/ixml-qrda-iii#Denex) | [<samp>&lt;denex&gt;</samp>](/docs/ixml-qrda-iii#Denex) |
| [<samp>Denexcep</samp>](/docs/ixml-qrda-iii#Denexcep) | [<samp>&lt;denexcep&gt;</samp>](/docs/ixml-qrda-iii#Denexcep) |
| [<samp>Denom</samp>](/docs/ixml-qrda-iii#Denom) | [<samp>&lt;denom&gt;</samp>](/docs/ixml-qrda-iii#Denom) |
| [<samp>Ipop</samp>](/docs/ixml-qrda-iii#Ipop) | [<samp>&lt;ipop&gt;</samp>](/docs/ixml-qrda-iii#Ipop) |
| [<samp>Ippop</samp>](/docs/ixml-qrda-iii#Ippop) | [<samp>&lt;ippop&gt;</samp>](/docs/ixml-qrda-iii#Ippop) |
| [<samp>Msrpopl</samp>](/docs/ixml-qrda-iii#Msrpopl) | [<samp>&lt;msrpopl&gt;</samp>](/docs/ixml-qrda-iii#Msrpopl) |
| [<samp>Msrpoplex</samp>](/docs/ixml-qrda-iii#Msrpoplex) | [<samp>&lt;msrpoplex&gt;</samp>](/docs/ixml-qrda-iii#Msrpoplex) |
| [<samp>Numer</samp>](/docs/ixml-qrda-iii#Numer) | [<samp>&lt;numer&gt;</samp>](/docs/ixml-qrda-iii#Numer) |
| [<samp>Numex</samp>](/docs/ixml-qrda-iii#Numex) | [<samp>&lt;numex&gt;</samp>](/docs/ixml-qrda-iii#Numex) |

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*](/ixml) 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 **<samp>Pojo</samp>** see [*IXML Documentation*](/docs/ixml.html).

[**<samp>Address</samp>**](/docs/ixml-qrda-iii#Address) is used occasionally in the QRDA III header. [**<samp>PerformerEntity</samp>**](/docs/ixml-qrda-iii#PerformerEntity) provides information to the <samp>&lt;assignedEntity ... /&gt;</samp> and <samp>&lt;representedOrganization ... /&gt;</samp> elements of the <samp>&lt;documentationOf ... /&gt;</samp> section of the QRDA III header. There may be as many of those as desired in [**Header**](/docs/ixml.html#Header).

| Source Code | IXML Sample |
| --- | --- |
| Address |
| ``` class Address extends Pojo { String use; List< String > line; String city; String state; String zipcode; String country; } ``` | ``` <address> <line>5242 Broadway Avenue</line> <line>#538</line> <city>New York</city> <state>NY</state> <zipcode>10001</zipcode> <country>US</country> </address> ``` |
| Location Participant |
| PerformerEntity |
| ``` class PerformerEntity extends Pojo { String name; String npi; String tin; } ``` | ``` <header> ... <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> ``` |
| ReportingPeriod |
| ``` class ReportingPeriod extends Pojo { String name; // optional String startdate; String enddate; } ``` | ``` <header> ... <reportingperiod startdate="20190101" enddate="20191231" /> ... </header> ``` |
| Reporting Parameters |

## Common (evolved) POJOs

For **<samp>CommonPojo</samp>** see [*IXML Documentation*](/ixml).

| Source Code | IXML Sample |
| --- | --- |
| Measure |
| ``` class Measure extends CommonPojo { String measurename; String version; String performancerate; List< Denex > denexList; List< Denexcep > denexcepList; List< Denom > denomList; List< Ipop > ipopList; List< Ippop > ippopList; List< Msrpopl > msrpoplList; List< Msrpoplex > msrpoplexList; List< Numer > numerList; List< Numex > numexList; } ``` | ``` <measures> <measure version="40280382-6258-7581-0162-9253847b1483" measurename="Childhood Immunization Status - NCQA" performancerate="0.75"> <ipop count="533" referenceid="126CEE42-1754-49E3-AE45-8F5AA850C4B5" ...> <denom count="551" referenceid="D4D2DEE7-385A-4C28-A09C-884A062A97AA" ... /> <numer count="114" referenceid="4E058941-CA3D-48BF-BABC-358F3A9FE2AF" ... /> ... <measures> ``` |
| Measure Section Measure Reference |

## Specialized POJOs (including **<samp>AdminPojo</samp>**s)

Note:To pass QRDA III validation, you must provide every ethnicity, every race, both genders and every payer method on every population identifier (<samp>IPOP</samp>, <samp>DENEX</samp>, <samp>NUMER</samp>, etc.) even if the count for one or more of the methods was 0.

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 **<samp>Measure</samp>**.)

<samp>MeasuresPojo</samp> doesn't appear in the IXML, but its instance variable, <samp>count</samp>, appears as an attribute on XML elements. Its other instance variables (<samp>races</samp>, <samp>ethnicities</samp>, etc.) appear as XML elements with plural names to create repeating collections of subordinate XML elements (in the singular). See example for **<samp>Denex</samp>**.

| 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

| Denex | IXML Sample |
| --- | --- |
| ``` class Denex extends MeasuresPojo { } ``` | ``` <denex count="1066" referenceid="96BF01DE-5052-480B-BA67-C74A6D4DF0A3"> <strata> <stratum count="10" referenceid="483E377C-4DCD-4CDF-83F7-E85E39402511" /> <stratum count="11" referenceid="124EF6DD-FEBC-4717-AB0F-03E9E4464EF3" /> </strata> <ethnicities> <ethnicity code="2186-5" count="250" displayname="Not Hispanic or Latino"/> <ethnicity code="2135-2" count="816" displayname="Hispanic or Latino"/> </ethnicities> <races> <race code="1002-5" count="0" displayname="American Indian or Alaska Native"/> <race code="2028-9" count="66" displayname="Asian"/> <race code="2054-5" count="344" displayname="Black or African American"/> <race code="2076-8" count="6" displayname="Native Hawaiian or Other Pacific Islander"/> <race code="2106-3" count="650" displayname="White"/> <race code="2131-1" count="18" displayname="Other Race"/> </races> <sexes> <sex code="F" count="643" displayname="Female"/> <sex code="M" count="423" displayname="Male"/> </sexes> <payers> <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"/> </payers> </denex> ``` |
| Population Inclusion Observation Type |
| The following all work just as the example for **<samp>Denex</samp>** above: |
| ``` class Denexcep extends MeasuresPojo { } class Denom extends MeasuresPojo { } class Ipop extends MeasuresPojo { } class Ippop extends MeasuresPojo { } class Msrpopl extends MeasuresPojo { } class Msrpoplex extends MeasuresPojo { } class Numer extends MeasuresPojo { } class Numex extends MeasuresPojo { } ``` |

## Appendix: sample IXML file (QRDA III) and format templates

Note:While the ability for multiple measures is provided, in practice, there likely never will be more than one. Also, the field values depicted here are randomly invented and, as such, meaningless.

```
<?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."

Note:The header contents are mandatory.

```
<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>
```

Plain Old Java Object. It is an ordinary Java object, not bound by any special restriction other than those forced by the Java Language Specification and not requiring any classpath. POJOs are used for increasing the readability and re-usability of a program.

--https://www.geeksforgeeks.org/pojo-vs-java-beans/#
