dQM QICore Content Implementation Guide
2026.0.0 - CI Build
dQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2026.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-qicore-2026/ and changes regularly. See the Directory of published versions
| Draft as of 2026-01-20 |
{
"resourceType" : "Measure",
"id" : "StratificationPatientExample",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Metadata</th>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">2026.0.0</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Status</th>\n\n\n\n<td class=\"content-container\">Draft</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Measure Scoring</th>\n\n\n\n<td class=\"content-container\">\n proportion from <a href=\"http://hl7.org/fhir/measure-scoring\">http://hl7.org/fhir/measure-scoring</a> \n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate) (ID: group-1)</th>\n\n\n</tr>\n \n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Basis</th>\n\n\n\n<td class=\"content-container\">boolean</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Initial Population</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: initial-population\n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n \n \n \n <em>Criteria</em>: <a href=\"#group-1-initial-population\">Initial Population</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Denominator</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: denominator\n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n \n \n \n <em>Criteria</em>: <a href=\"#group-1-denominator\">Denominator</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Numerator</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: numerator\n <br/>\n \n \n \n <em>Description</em>: No description provided\n \n \n \n \n \n \n <em>Criteria</em>: <a href=\"#group-1-numerator\">Numerator</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Stratifier</th>\n\n\n <td class=\"content-container\">\n \n \n \n <em>Code</em>: <span title=\"Codes:\">Criteria-based Age Range Stratifier, 0 to 20 years</span>\n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Stratifier</th>\n\n\n <td class=\"content-container\">\n \n \n \n <em>Code</em>: <span title=\"Codes:\">Criteria-based Age Range Stratifier, 21 to 40 years</span>\n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Stratifier</th>\n\n\n <td class=\"content-container\">\n \n \n \n <em>Code</em>: <span title=\"Codes:\">Criteria-based Age Range Stratifier, 41+ years</span>\n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Stratifier</th>\n\n\n <td class=\"content-container\">\n \n \n \n <em>Code</em>: <span title=\"Codes:\">Value-based Gender and Age Range Stratifier</span>\n \n \n \n \n </td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Logic</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Primary Library</th>\n\n\n\n<td class=\"content-container\"><a href=\"Library-StratificationPatientExample.html\">Stratification Patient Example</a></td>\n\n\n</tr>\n\n\n\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Contents</th>\n <td class=\"content-container\">\n <em><a href=\"#population-criteria\">Population Criteria</a></em>\n <br/>\n <em><a href=\"#definitions\">Logic Definitions</a></em>\n <br/>\n <em><a href=\"#terminology\">Terminology</a></em>\n <br/>\n <em><a href=\"#dependencies\">Dependencies</a></em>\n <br/>\n <em><a href=\"#data-requirements\">Data Requirements</a></em>\n <br/>\n </td>\n</tr>\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"population-criteria\"> </a>Population Criteria</th>\n\n\n</tr>\n \n \n \n\n \n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate) (ID: group-1)</th>\n\n\n</tr>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Initial Population\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"group-1-initial-population\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n true</code></pre>\n \n \n <a href=\"#stratificationpatientexample-initial-population\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Denominator\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"group-1-denominator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n Patient.active is true</code></pre>\n \n \n <a href=\"#stratificationpatientexample-denominator\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Numerator\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"group-1-numerator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n exists ("Well-Visit Encounter")</code></pre>\n \n \n <a href=\"#stratificationpatientexample-numerator\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Stratifier\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/* Criteria-based Stratifiers */\n\ndefine "Stratifier P0Y--P21Y":\n Patient.ageInYearsAt(end of "Measurement Period") between 0 and 20</code></pre>\n \n \n <a href=\"#stratificationpatientexample-stratifier-p0y--p21y\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Stratifier\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Stratifier P21Y--P41Y":\n Patient.ageInYearsAt(end of "Measurement Period") between 21 and 40</code></pre>\n \n \n <a href=\"#stratificationpatientexample-stratifier-p21y--p41y\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Stratifier\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Stratifier P41Y--P9999Y":\n Patient.ageInYearsAt(end of "Measurement Period") >= 41</code></pre>\n \n \n <a href=\"#stratificationpatientexample-stratifier-p41y--p9999y\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"definitions\"> </a>Logic Definitions</th>\n\n\n</tr>\n \n \n \n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-well-visit-encounter\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Well-Visit Encounter":\n [Encounter] E\n where E.status = 'finished'\n and E.period ends during day of "Measurement Period"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-numerator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n exists ("Well-Visit Encounter")</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-stratifier-p21y--p41y\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Stratifier P21Y--P41Y":\n Patient.ageInYearsAt(end of "Measurement Period") between 21 and 40</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-denominator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n Patient.active is true</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-stratifier-p0y--p21y\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/* Criteria-based Stratifiers */\n\ndefine "Stratifier P0Y--P21Y":\n Patient.ageInYearsAt(end of "Measurement Period") between 0 and 20</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-initial-population\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n true</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> StratificationPatientExample</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"stratificationpatientexample-stratifier-p41y--p9999y\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Stratifier P41Y--P9999Y":\n Patient.ageInYearsAt(end of "Measurement Period") >= 41</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> PatientCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"patientcommon-ageinyearsat\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the age in years of the patient, as of the given date\n@comment: This function returns the number of whole calendar years between the patient birth \ndate and the given date. Regardless of whether the patient has a birthTime, the calculation is\nperformed using only the birth date. If the given date has a time component, it is ignored, on \nthe grounds that birth time is almost universally not considered when determining age in years.\n*/\ndefine fluent function ageInYearsAt(patient Patient, asOf DateTime):\n CalculateAgeInYearsAt(Patient.birthDate, date from asOf)</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value EncounterStatus): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tointerval\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n if period."start" is null then\n Interval(period."start".value, period."end".value]\n else\n Interval[period."start".value, period."end".value]</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todate\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDate(value date): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-toboolean\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToBoolean(value boolean): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"terminology\"> </a>Terminology</th>\n\n\n</tr>\n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Terminology</th>\n\n\n\n<td class=\"content-container\">None</td>\n\n\n</tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"dependencies\"> </a>Dependencies</th>\n\n\n</tr>\n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n\n<td class=\"content-container\">None</td>\n\n\n</tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"data-requirements\"> </a>Data Requirements</th>\n\n\n</tr>\n \n \n \n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Encounter\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/encounter.html\">Encounter</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: status, period\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n \n \n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.0 of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Well-Visit Encounter"
},
{
"url" : "statement",
"valueString" : "define \"Well-Visit Encounter\":\n [Encounter] E\n where E.status = 'finished'\n and E.period ends during day of \"Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "define \"Numerator\":\n exists (\"Well-Visit Encounter\")"
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Stratifier P21Y--P41Y"
},
{
"url" : "statement",
"valueString" : "define \"Stratifier P21Y--P41Y\":\n Patient.ageInYearsAt(end of \"Measurement Period\") between 21 and 40"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "define \"Denominator\":\n Patient.active is true"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Stratifier P0Y--P21Y"
},
{
"url" : "statement",
"valueString" : "/* Criteria-based Stratifiers */\n\ndefine \"Stratifier P0Y--P21Y\":\n Patient.ageInYearsAt(end of \"Measurement Period\") between 0 and 20"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "define \"Initial Population\":\n true"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "StratificationPatientExample"
},
{
"url" : "name",
"valueString" : "Stratifier P41Y--P9999Y"
},
{
"url" : "statement",
"valueString" : "define \"Stratifier P41Y--P9999Y\":\n Patient.ageInYearsAt(end of \"Measurement Period\") >= 41"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value EncounterStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n if period.\"start\" is null then\n Interval(period.\"start\".value, period.\"end\".value]\n else\n Interval[period.\"start\".value, period.\"end\".value]"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "PatientCommon"
},
{
"url" : "name",
"valueString" : "ageInYearsAt"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the age in years of the patient, as of the given date\n@comment: This function returns the number of whole calendar years between the patient birth \ndate and the given date. Regardless of whether the patient has a birthTime, the calculation is\nperformed using only the birth date. If the given date has a time component, it is ignored, on \nthe grounds that birth time is almost universally not considered when determining age in years.\n*/\ndefine fluent function ageInYearsAt(patient Patient, asOf DateTime):\n CalculateAgeInYearsAt(Patient.birthDate, date from asOf)"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDate"
},
{
"url" : "statement",
"valueString" : "define function ToDate(value date): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToBoolean"
},
{
"url" : "statement",
"valueString" : "define function ToBoolean(value boolean): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library PatientCommon",
"resource" : "https://madie.cms.gov/Library/PatientCommon"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Stratifier P21Y--P41Y",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Stratifier P0Y--P21Y",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Stratifier P41Y--P9999Y",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"dataRequirement" : [
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Encounter"
],
"mustSupport" : [
"status",
"period"
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Encounter"
],
"mustSupport" : [
"status",
"period"
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
}
],
"url" : "https://madie.cms.gov/Measure/StratificationPatientExample",
"version" : "2026.0.0",
"status" : "draft",
"date" : "2026-01-20T14:56:48+00:00",
"library" : [
🔗 "https://madie.cms.gov/Library/StratificationPatientExample"
],
"scoring" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/measure-scoring",
"code" : "proportion"
}
]
},
"group" : [
{
"id" : "group-1",
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/cqm/StructureDefinition/cqm-populationBasis",
"valueCode" : "boolean"
}
],
"population" : [
{
"id" : "initial-population",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population",
"display" : "Initial Population"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "denominator",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator",
"display" : "Denominator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"id" : "numerator",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator",
"display" : "Numerator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
}
],
"stratifier" : [
{
"code" : {
"text" : "Criteria-based Age Range Stratifier, 0 to 20 years"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Stratifier P0Y--P21Y"
}
},
{
"code" : {
"text" : "Criteria-based Age Range Stratifier, 21 to 40 years"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Stratifier P21Y--P41Y"
}
},
{
"code" : {
"text" : "Criteria-based Age Range Stratifier, 41+ years"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Stratifier P41Y--P9999Y"
}
},
{
"code" : {
"text" : "Value-based Gender and Age Range Stratifier"
},
"component" : [
{
"code" : {
"text" : "Value-based Gender Component Stratifier"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Gender Stratifier"
}
},
{
"code" : {
"text" : "Value-based Age Range Component Stratifier"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Age Range Stratifier"
}
}
]
}
]
}
]
}