Draft dQM CMS Content Implementation Guide
2025.1.0 - CI Build
Draft dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.1.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-cms-2025/ and changes regularly. See the Directory of published versions
| Draft as of 2026-09-19 |
<Library xmlns="http://hl7.org/fhir">
<id value="CMS826FHIRHHPI"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="narrative-table">
<tbody>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="metadata"> </a>Metadata</th>
</tr>
<tr>
<th scope="row" class="row-header">Version</th>
<td class="content-container">1.1.000</td>
</tr>
<tr>
<th scope="row" class="row-header">Status</th>
<td class="content-container">Draft</td>
</tr>
<tr>
<th scope="row" class="row-header">Type</th>
<td class="content-container">
<a href="http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>
</tr>
<tr>
<th scope="row" class="row-header">Parameter</th>
<td class="content-container">None</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Library Content</th>
</tr>
<tr>
<th scope="row" class="row-header">CQL Content</th>
<td>
<a name="cql-content"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
NOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.
*/
library CMS826FHIRHHPI version '1.1.000'
using USQualityCore version '0.1.0-cibuild'
using USCore version '6.1.0-derived'
using FHIR version '4.0.1'
include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers
include hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon
include hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon
include hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements
include CQMCommon version '5.1.000' called CQMCommon
include USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon
include SupplementalDataElements version '6.1.000' called SDE
include Status version '2.1.000' called Status
codesystem "LOINC": 'http://loinc.org'
valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
valueset "Not Present On Admission or Documentation Insufficient to Determine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.198'
valueset "Present on Admission or Clinically Undetermined": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.197'
valueset "Pressure Injury Deep Tissue": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.112'
valueset "Pressure Injury Deep Tissue Diagnoses": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.194'
valueset "Pressure Injury Stage 2, 3, 4 or Unstageable": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.113'
valueset "Pressure Injury Stage 2, 3, 4, or Unstageable Diagnoses": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.196'
code "Physical findings of Skin": '8709-8' from "LOINC" display 'Physical findings of Skin'
parameter "Measurement Period" Interval<DateTime>
default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)
context Patient
define "SDE Ethnicity":
SDE."SDE Ethnicity"
define "SDE Payer":
SDE."SDE Payer"
define "SDE Race":
SDE."SDE Race"
define "SDE Sex":
SDE."SDE Sex"
define "Initial Population":
"Encounter With Age 18 And Older"
define "Denominator":
"Initial Population"
define "Denominator Exclusions":
"Encounter With Deep Tissue Pressure Injury POA By Indicator Or Skin Exam Within First 72 Hours"
union "Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA"
define "Numerator":
"Encounter With New Deep Tissue Pressure Injury"
union "Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury"
define "Encounter With Age 18 And Older":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where AgeInYearsAt(date from start of InpatientEncounter.period) >= 18
and InpatientEncounter.period ends during day of "Measurement Period"
and InpatientEncounter.status = 'finished'
define "Encounter With Deep Tissue Pressure Injury POA By Indicator Or Skin Exam Within First 72 Hours":
"Encounter With Deep Tissue Pressure Injury POA By Indicator"
union "Encounter With Deep Tissue Pressure Injury POA By Skin Exam Within First 72 Hours"
define "Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA":
"Encounter With Stage 2, 3, 4, Or Unstageable Pressure Injury Present On Admission By POA Indicator"
union "Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA By Skin Exam Within 24 Hours"
define "Encounter With New Deep Tissue Pressure Injury":
"Encounter With New Deep Tissue Pressure Injury Not POA By Indicator"
union "Encounter With New Deep Tissue Pressure Injury By Skin Exam After First 72 Hours"
define "Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury":
"Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury Not POA By Indicator"
union "Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury By Skin Exam After First 24 Hours"
define "Encounter With Deep Tissue Pressure Injury POA By Indicator":
"Encounter With Age 18 And Older" InpatientHospitalization
where InpatientHospitalization.isDiagnosisPresentOnAdmission ( "Pressure Injury Deep Tissue Diagnoses", "Present on Admission or Clinically Undetermined" )
define "Encounter With Deep Tissue Pressure Injury POA By Skin Exam Within First 72 Hours":
"Encounter With Age 18 And Older" InpatientHospitalization
let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )
with "Skin Exams With Pressure Injury" SkinExam
such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod, start of hospitalizationPeriod + 72 hours]
define "Encounter With Stage 2, 3, 4, Or Unstageable Pressure Injury Present On Admission By POA Indicator":
"Encounter With Age 18 And Older" InpatientHospitalization
where InpatientHospitalization.isDiagnosisPresentOnAdmission ( "Pressure Injury Stage 2, 3, 4, or Unstageable Diagnoses", "Present on Admission or Clinically Undetermined" )
define "Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA By Skin Exam Within 24 Hours":
"Encounter With Age 18 And Older" InpatientHospitalization
let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )
with "Skin Exams With Pressure Injury" SkinExam
such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod, start of hospitalizationPeriod + 24 hours]
define "Encounter With New Deep Tissue Pressure Injury Not POA By Indicator":
"Encounter With Age 18 And Older" InpatientHospitalization
where InpatientHospitalization.isDiagnosisPresentOnAdmission ( "Pressure Injury Deep Tissue Diagnoses", "Not Present On Admission or Documentation Insufficient to Determine" )
define "Encounter With New Deep Tissue Pressure Injury By Skin Exam After First 72 Hours":
"Encounter With Age 18 And Older" InpatientHospitalization
let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )
with "Skin Exams With Pressure Injury" SkinExam
such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod + 72 hours, end of hospitalizationPeriod]
define "Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury Not POA By Indicator":
"Encounter With Age 18 And Older" InpatientHospitalization
where InpatientHospitalization.isDiagnosisPresentOnAdmission ( "Pressure Injury Stage 2, 3, 4, or Unstageable Diagnoses", "Not Present On Admission or Documentation Insufficient to Determine" )
define "Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury By Skin Exam After First 24 Hours":
"Encounter With Age 18 And Older" InpatientHospitalization
let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )
with "Skin Exams With Pressure Injury" SkinExam
such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod + 24 hours, end of hospitalizationPeriod]
define "Clinical Skin Exams With Pressure Injury":
["ObservationClinicalResult": "Physical findings of Skin"] ClinicalSkinExam
where ClinicalSkinExam.isIn ( "Pressure Injury Stage 2, 3, 4 or Unstageable" )
define "Simple Skin Exams With Pressure Injury":
["SimpleObservation": "Physical findings of Skin"] ObsSkinExam
where ObsSkinExam.isIn ( "Pressure Injury Stage 2, 3, 4 or Unstageable" )
// @description Skin exams may be either a SimpleObservation or an ObservationClinicalResult in QI-Core. The definition below allows both QI-Core resource representations for more comprehensive data capture.
define "Skin Exams With Pressure Injury":
"Clinical Skin Exams With Pressure Injury"
union "Simple Skin Exams With Pressure Injury"
// @description This function, attached to either a SimpleObseration or an ObservationClinicalResult, is used to determine if the observation is completed and its value is in the given value set
// @example ExampleObservation.isIn("Pressure Injury Stage 2, 3, 4 or Unstageable")
define fluent function isIn(observation Choice<"SimpleObservation", "ObservationClinicalResult">, vset System.ValueSet):
observation.status in { 'final', 'amended', 'corrected' }
and observation.effective.toInterval ( ) during "Measurement Period"
and case
when observation is SimpleObservation then ( observation as SimpleObservation ).value as FHIR.CodeableConcept in vset
when observation is ObservationClinicalResult then ( observation as ObservationClinicalResult ).value as FHIR.CodeableConcept in vset
else null end</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>
</tr>
</tbody>
</table>
</div>
</text>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem">
<valueReference>
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<url value="https://madie.cms.gov/Library/CMS826FHIRHHPI"/>
<version value="1.1.000"/>
<name value="CMS826FHIRHHPI"/>
<status value="draft"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2026-09-19T16:31:14+00:00"/>
<content>
<contentType value="text/cql"/>
<data
value="LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVM4MjZGSElSSEhQSSB2ZXJzaW9uICcxLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlQ29tbW9uIHZlcnNpb24gJzIuMC4wLWJhbGxvdCcgY2FsbGVkIFVTQ29yZUNvbW1vbgppbmNsdWRlIGhsNy5maGlyLnVzLmNxbC5VU0NvcmVFbGVtZW50cyB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVFbGVtZW50cwoKaW5jbHVkZSBDUU1Db21tb24gdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIENRTUNvbW1vbgppbmNsdWRlIFVTUXVhbGl0eUNvcmVDb21tb24gdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcgY2FsbGVkIFVTUXVhbGl0eUNvcmVDb21tb24KaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnNi4xLjAwMCcgY2FsbGVkIFNERQppbmNsdWRlIFN0YXR1cyB2ZXJzaW9uICcyLjEuMDAwJyBjYWxsZWQgU3RhdHVzCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiTm90IFByZXNlbnQgT24gQWRtaXNzaW9uIG9yIERvY3VtZW50YXRpb24gSW5zdWZmaWNpZW50IHRvIERldGVybWluZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExNDcuMTk4Jwp2YWx1ZXNldCAiUHJlc2VudCBvbiBBZG1pc3Npb24gb3IgQ2xpbmljYWxseSBVbmRldGVybWluZWQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ3LjE5NycKdmFsdWVzZXQgIlByZXNzdXJlIEluanVyeSBEZWVwIFRpc3N1ZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExNDcuMTEyJwp2YWx1ZXNldCAiUHJlc3N1cmUgSW5qdXJ5IERlZXAgVGlzc3VlIERpYWdub3NlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExNDcuMTk0Jwp2YWx1ZXNldCAiUHJlc3N1cmUgSW5qdXJ5IFN0YWdlIDIsIDMsIDQgb3IgVW5zdGFnZWFibGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ3LjExMycKdmFsdWVzZXQgIlByZXNzdXJlIEluanVyeSBTdGFnZSAyLCAzLCA0LCBvciBVbnN0YWdlYWJsZSBEaWFnbm9zZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ3LjE5NicKCmNvZGUgIlBoeXNpY2FsIGZpbmRpbmdzIG9mIFNraW4iOiAnODcwOS04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnUGh5c2ljYWwgZmluZGluZ3Mgb2YgU2tpbicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICBkZWZhdWx0IEludGVydmFsW0AyMDI2LTAxLTAxVDAwOjAwOjAwLjAwMFosIEAyMDI3LTAxLTAxVDAwOjAwOjAwLjAwMFopCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CiAgIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CiAgIkVuY291bnRlciBXaXRoIERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBQT0EgQnkgSW5kaWNhdG9yIE9yIFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggU3RhZ2UgMiwgMywgNCBPciBVbnN0YWdlYWJsZSBQcmVzc3VyZSBJbmp1cnkgUE9BIgoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgV2l0aCBOZXcgRGVlcCBUaXNzdWUgUHJlc3N1cmUgSW5qdXJ5IgogICAgdW5pb24gIkVuY291bnRlciBXaXRoIE5ldyBTdGFnZSAyLCAzLCA0IE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSIKCmRlZmluZSAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciI6CiAgWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIElucGF0aWVudEVuY291bnRlcgogICAgd2hlcmUgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kKSA+PSAxOAogICAgICBhbmQgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kIElucGF0aWVudEVuY291bnRlci5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBQT0EgQnkgSW5kaWNhdG9yIE9yIFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiOgogICJFbmNvdW50ZXIgV2l0aCBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgUE9BIEJ5IEluZGljYXRvciIKICAgIHVuaW9uICJFbmNvdW50ZXIgV2l0aCBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgUE9BIEJ5IFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFBPQSI6CiAgIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQsIE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSBQcmVzZW50IE9uIEFkbWlzc2lvbiBCeSBQT0EgSW5kaWNhdG9yIgogICAgdW5pb24gIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFBPQSBCeSBTa2luIEV4YW0gV2l0aGluIDI0IEhvdXJzIgoKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBOZXcgRGVlcCBUaXNzdWUgUHJlc3N1cmUgSW5qdXJ5IjoKICAiRW5jb3VudGVyIFdpdGggTmV3IERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBOb3QgUE9BIEJ5IEluZGljYXRvciIKICAgIHVuaW9uICJFbmNvdW50ZXIgV2l0aCBOZXcgRGVlcCBUaXNzdWUgUHJlc3N1cmUgSW5qdXJ5IEJ5IFNraW4gRXhhbSBBZnRlciBGaXJzdCA3MiBIb3VycyIKCmRlZmluZSAiRW5jb3VudGVyIFdpdGggTmV3IFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IjoKICAiRW5jb3VudGVyIFdpdGggTmV3IFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IE5vdCBQT0EgQnkgSW5kaWNhdG9yIgogICAgdW5pb24gIkVuY291bnRlciBXaXRoIE5ldyBTdGFnZSAyLCAzLCA0IE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSBCeSBTa2luIEV4YW0gQWZ0ZXIgRmlyc3QgMjQgSG91cnMiCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBQT0EgQnkgSW5kaWNhdG9yIjoKICAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciIgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uCiAgICB3aGVyZSBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24uaXNEaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24gKCAiUHJlc3N1cmUgSW5qdXJ5IERlZXAgVGlzc3VlIERpYWdub3NlcyIsICJQcmVzZW50IG9uIEFkbWlzc2lvbiBvciBDbGluaWNhbGx5IFVuZGV0ZXJtaW5lZCIgKQoKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgUE9BIEJ5IFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIGxldCBob3NwaXRhbGl6YXRpb25QZXJpb2Q6IElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5ob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24gKCApCiAgICB3aXRoICJTa2luIEV4YW1zIFdpdGggUHJlc3N1cmUgSW5qdXJ5IiBTa2luRXhhbQogICAgICBzdWNoIHRoYXQgU2tpbkV4YW0uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIHN0YXJ0cyBkdXJpbmcgSW50ZXJ2YWxbc3RhcnQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kLCBzdGFydCBvZiBob3NwaXRhbGl6YXRpb25QZXJpb2QgKyA3MiBob3Vyc10KCmRlZmluZSAiRW5jb3VudGVyIFdpdGggU3RhZ2UgMiwgMywgNCwgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFByZXNlbnQgT24gQWRtaXNzaW9uIEJ5IFBPQSBJbmRpY2F0b3IiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIHdoZXJlIElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5pc0RpYWdub3Npc1ByZXNlbnRPbkFkbWlzc2lvbiAoICJQcmVzc3VyZSBJbmp1cnkgU3RhZ2UgMiwgMywgNCwgb3IgVW5zdGFnZWFibGUgRGlhZ25vc2VzIiwgIlByZXNlbnQgb24gQWRtaXNzaW9uIG9yIENsaW5pY2FsbHkgVW5kZXRlcm1pbmVkIiApCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFBPQSBCeSBTa2luIEV4YW0gV2l0aGluIDI0IEhvdXJzIjoKICAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciIgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uCiAgICBsZXQgaG9zcGl0YWxpemF0aW9uUGVyaW9kOiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24uaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uICggKQogICAgd2l0aCAiU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSIgU2tpbkV4YW0KICAgICAgc3VjaCB0aGF0IFNraW5FeGFtLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBzdGFydHMgZHVyaW5nIEludGVydmFsW3N0YXJ0IG9mIGhvc3BpdGFsaXphdGlvblBlcmlvZCwgc3RhcnQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kICsgMjQgaG91cnNdCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIE5ldyBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgTm90IFBPQSBCeSBJbmRpY2F0b3IiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIHdoZXJlIElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5pc0RpYWdub3Npc1ByZXNlbnRPbkFkbWlzc2lvbiAoICJQcmVzc3VyZSBJbmp1cnkgRGVlcCBUaXNzdWUgRGlhZ25vc2VzIiwgIk5vdCBQcmVzZW50IE9uIEFkbWlzc2lvbiBvciBEb2N1bWVudGF0aW9uIEluc3VmZmljaWVudCB0byBEZXRlcm1pbmUiICkKCmRlZmluZSAiRW5jb3VudGVyIFdpdGggTmV3IERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBCeSBTa2luIEV4YW0gQWZ0ZXIgRmlyc3QgNzIgSG91cnMiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIGxldCBob3NwaXRhbGl6YXRpb25QZXJpb2Q6IElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5ob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24gKCApCiAgICB3aXRoICJTa2luIEV4YW1zIFdpdGggUHJlc3N1cmUgSW5qdXJ5IiBTa2luRXhhbQogICAgICBzdWNoIHRoYXQgU2tpbkV4YW0uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIHN0YXJ0cyBkdXJpbmcgSW50ZXJ2YWxbc3RhcnQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kICsgNzIgaG91cnMsIGVuZCBvZiBob3NwaXRhbGl6YXRpb25QZXJpb2RdCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIE5ldyBTdGFnZSAyLCAzLCA0IE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSBOb3QgUE9BIEJ5IEluZGljYXRvciI6CiAgIkVuY291bnRlciBXaXRoIEFnZSAxOCBBbmQgT2xkZXIiIElucGF0aWVudEhvc3BpdGFsaXphdGlvbgogICAgd2hlcmUgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uLmlzRGlhZ25vc2lzUHJlc2VudE9uQWRtaXNzaW9uICggIlByZXNzdXJlIEluanVyeSBTdGFnZSAyLCAzLCA0LCBvciBVbnN0YWdlYWJsZSBEaWFnbm9zZXMiLCAiTm90IFByZXNlbnQgT24gQWRtaXNzaW9uIG9yIERvY3VtZW50YXRpb24gSW5zdWZmaWNpZW50IHRvIERldGVybWluZSIgKQoKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBOZXcgU3RhZ2UgMiwgMywgNCBPciBVbnN0YWdlYWJsZSBQcmVzc3VyZSBJbmp1cnkgQnkgU2tpbiBFeGFtIEFmdGVyIEZpcnN0IDI0IEhvdXJzIjoKICAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciIgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uCiAgICBsZXQgaG9zcGl0YWxpemF0aW9uUGVyaW9kOiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24uaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uICggKQogICAgd2l0aCAiU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSIgU2tpbkV4YW0KICAgICAgc3VjaCB0aGF0IFNraW5FeGFtLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBzdGFydHMgZHVyaW5nIEludGVydmFsW3N0YXJ0IG9mIGhvc3BpdGFsaXphdGlvblBlcmlvZCArIDI0IGhvdXJzLCBlbmQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kXQoKZGVmaW5lICJDbGluaWNhbCBTa2luIEV4YW1zIFdpdGggUHJlc3N1cmUgSW5qdXJ5IjoKICBbIk9ic2VydmF0aW9uQ2xpbmljYWxSZXN1bHQiOiAiUGh5c2ljYWwgZmluZGluZ3Mgb2YgU2tpbiJdIENsaW5pY2FsU2tpbkV4YW0KICAgIHdoZXJlIENsaW5pY2FsU2tpbkV4YW0uaXNJbiAoICJQcmVzc3VyZSBJbmp1cnkgU3RhZ2UgMiwgMywgNCBvciBVbnN0YWdlYWJsZSIgKQoKZGVmaW5lICJTaW1wbGUgU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSI6CiAgWyJTaW1wbGVPYnNlcnZhdGlvbiI6ICJQaHlzaWNhbCBmaW5kaW5ncyBvZiBTa2luIl0gT2JzU2tpbkV4YW0KICAgIHdoZXJlIE9ic1NraW5FeGFtLmlzSW4gKCAiUHJlc3N1cmUgSW5qdXJ5IFN0YWdlIDIsIDMsIDQgb3IgVW5zdGFnZWFibGUiICkKCi8vIEBkZXNjcmlwdGlvbiBTa2luIGV4YW1zIG1heSBiZSBlaXRoZXIgYSBTaW1wbGVPYnNlcnZhdGlvbiBvciBhbiBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0IGluIFFJLUNvcmUuIFRoZSBkZWZpbml0aW9uIGJlbG93IGFsbG93cyBib3RoIFFJLUNvcmUgcmVzb3VyY2UgcmVwcmVzZW50YXRpb25zIGZvciBtb3JlIGNvbXByZWhlbnNpdmUgZGF0YSBjYXB0dXJlLgoKCmRlZmluZSAiU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSI6CiAgIkNsaW5pY2FsIFNraW4gRXhhbXMgV2l0aCBQcmVzc3VyZSBJbmp1cnkiCiAgICB1bmlvbiAiU2ltcGxlIFNraW4gRXhhbXMgV2l0aCBQcmVzc3VyZSBJbmp1cnkiCgovLyBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiwgYXR0YWNoZWQgdG8gZWl0aGVyIGEgU2ltcGxlT2JzZXJhdGlvbiBvciBhbiBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0LCBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgb2JzZXJ2YXRpb24gaXMgY29tcGxldGVkIGFuZCBpdHMgdmFsdWUgaXMgaW4gdGhlIGdpdmVuIHZhbHVlIHNldAovLyBAZXhhbXBsZSAgRXhhbXBsZU9ic2VydmF0aW9uLmlzSW4oIlByZXNzdXJlIEluanVyeSBTdGFnZSAyLCAzLCA0IG9yIFVuc3RhZ2VhYmxlIikKCgoKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc0luKG9ic2VydmF0aW9uIENob2ljZTwiU2ltcGxlT2JzZXJ2YXRpb24iLCAiT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCI+LCB2c2V0IFN5c3RlbS5WYWx1ZVNldCk6CiAgb2JzZXJ2YXRpb24uc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJyB9CiAgICBhbmQgb2JzZXJ2YXRpb24uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgYW5kIGNhc2UKICAgICAgd2hlbiBvYnNlcnZhdGlvbiBpcyBTaW1wbGVPYnNlcnZhdGlvbiB0aGVuICggb2JzZXJ2YXRpb24gYXMgU2ltcGxlT2JzZXJ2YXRpb24gKS52YWx1ZSBhcyBGSElSLkNvZGVhYmxlQ29uY2VwdCBpbiB2c2V0CiAgICAgIHdoZW4gb2JzZXJ2YXRpb24gaXMgT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCB0aGVuICggb2JzZXJ2YXRpb24gYXMgT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCApLnZhbHVlIGFzIEZISVIuQ29kZWFibGVDb25jZXB0IGluIHZzZXQgCiAgICAgIGVsc2UgbnVsbCBlbmQ="/>
<url value="https://madie.cms.gov/Library-CMS826FHIRHHPI.cql"/>
</content>
</Library>