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

: CMS826FHIRHHPI - JSON Representation

Draft as of 2026-09-19

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "CMS826FHIRHHPI",
  "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\"><a name=\"metadata\"> </a>Metadata</th>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">1.1.000</td>\n\n\n</tr>\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\">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\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n    <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library\n\n\n</td>\n\n\n</tr>\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=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n\n\n<td class=\"content-container\">None</td>\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\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <a name=\"cql-content\"> </a>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nNOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.\n*/\nlibrary CMS826FHIRHHPI version '1.1.000'\n\nusing USQualityCore version '0.1.0-cibuild'\nusing USCore version '6.1.0-derived'\nusing FHIR version '4.0.1'\n\ninclude hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon\ninclude hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon\ninclude hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements\n\ninclude CQMCommon version '5.1.000' called CQMCommon\ninclude USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude Status version '2.1.000' called Status\n\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\n\nvalueset &quot;Encounter Inpatient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset &quot;Not Present On Admission or Documentation Insufficient to Determine&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.198'\nvalueset &quot;Present on Admission or Clinically Undetermined&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.197'\nvalueset &quot;Pressure Injury Deep Tissue&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.112'\nvalueset &quot;Pressure Injury Deep Tissue Diagnoses&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.194'\nvalueset &quot;Pressure Injury Stage 2, 3, 4 or Unstageable&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.113'\nvalueset &quot;Pressure Injury Stage 2, 3, 4, or Unstageable Diagnoses&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.196'\n\ncode &quot;Physical findings of Skin&quot;: '8709-8' from &quot;LOINC&quot; display 'Physical findings of Skin'\n\nparameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;\n  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n  SDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n  SDE.&quot;SDE Sex&quot;\n\ndefine &quot;Initial Population&quot;:\n  &quot;Encounter With Age 18 And Older&quot;\n\ndefine &quot;Denominator&quot;:\n  &quot;Initial Population&quot;\n\ndefine &quot;Denominator Exclusions&quot;:\n  &quot;Encounter With Deep Tissue Pressure Injury POA By Indicator Or Skin Exam Within First 72 Hours&quot;\n    union &quot;Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA&quot;\n\ndefine &quot;Numerator&quot;:\n  &quot;Encounter With New Deep Tissue Pressure Injury&quot;\n    union &quot;Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury&quot;\n\ndefine &quot;Encounter With Age 18 And Older&quot;:\n  [&quot;Encounter&quot;: &quot;Encounter Inpatient&quot;] InpatientEncounter\n    where AgeInYearsAt(date from start of InpatientEncounter.period) &gt;= 18\n      and InpatientEncounter.period ends during day of &quot;Measurement Period&quot;\n      and InpatientEncounter.status = 'finished'\n\ndefine &quot;Encounter With Deep Tissue Pressure Injury POA By Indicator Or Skin Exam Within First 72 Hours&quot;:\n  &quot;Encounter With Deep Tissue Pressure Injury POA By Indicator&quot;\n    union &quot;Encounter With Deep Tissue Pressure Injury POA By Skin Exam Within First 72 Hours&quot;\n\ndefine &quot;Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA&quot;:\n  &quot;Encounter With Stage 2, 3, 4, Or Unstageable Pressure Injury Present On Admission By POA Indicator&quot;\n    union &quot;Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA By Skin Exam Within 24 Hours&quot;\n\ndefine &quot;Encounter With New Deep Tissue Pressure Injury&quot;:\n  &quot;Encounter With New Deep Tissue Pressure Injury Not POA By Indicator&quot;\n    union &quot;Encounter With New Deep Tissue Pressure Injury By Skin Exam After First 72 Hours&quot;\n\ndefine &quot;Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury&quot;:\n  &quot;Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury Not POA By Indicator&quot;\n    union &quot;Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury By Skin Exam After First 24 Hours&quot;\n\ndefine &quot;Encounter With Deep Tissue Pressure Injury POA By Indicator&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    where InpatientHospitalization.isDiagnosisPresentOnAdmission ( &quot;Pressure Injury Deep Tissue Diagnoses&quot;, &quot;Present on Admission or Clinically Undetermined&quot; )\n\ndefine &quot;Encounter With Deep Tissue Pressure Injury POA By Skin Exam Within First 72 Hours&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )\n    with &quot;Skin Exams With Pressure Injury&quot; SkinExam\n      such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod, start of hospitalizationPeriod + 72 hours]\n\ndefine &quot;Encounter With Stage 2, 3, 4, Or Unstageable Pressure Injury Present On Admission By POA Indicator&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    where InpatientHospitalization.isDiagnosisPresentOnAdmission ( &quot;Pressure Injury Stage 2, 3, 4, or Unstageable Diagnoses&quot;, &quot;Present on Admission or Clinically Undetermined&quot; )\n\ndefine &quot;Encounter With Stage 2, 3, 4 Or Unstageable Pressure Injury POA By Skin Exam Within 24 Hours&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )\n    with &quot;Skin Exams With Pressure Injury&quot; SkinExam\n      such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod, start of hospitalizationPeriod + 24 hours]\n\ndefine &quot;Encounter With New Deep Tissue Pressure Injury Not POA By Indicator&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    where InpatientHospitalization.isDiagnosisPresentOnAdmission ( &quot;Pressure Injury Deep Tissue Diagnoses&quot;, &quot;Not Present On Admission or Documentation Insufficient to Determine&quot; )\n\ndefine &quot;Encounter With New Deep Tissue Pressure Injury By Skin Exam After First 72 Hours&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )\n    with &quot;Skin Exams With Pressure Injury&quot; SkinExam\n      such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod + 72 hours, end of hospitalizationPeriod]\n\ndefine &quot;Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury Not POA By Indicator&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    where InpatientHospitalization.isDiagnosisPresentOnAdmission ( &quot;Pressure Injury Stage 2, 3, 4, or Unstageable Diagnoses&quot;, &quot;Not Present On Admission or Documentation Insufficient to Determine&quot; )\n\ndefine &quot;Encounter With New Stage 2, 3, 4 Or Unstageable Pressure Injury By Skin Exam After First 24 Hours&quot;:\n  &quot;Encounter With Age 18 And Older&quot; InpatientHospitalization\n    let hospitalizationPeriod: InpatientHospitalization.hospitalizationWithObservation ( )\n    with &quot;Skin Exams With Pressure Injury&quot; SkinExam\n      such that SkinExam.effective.toInterval ( ) starts during Interval[start of hospitalizationPeriod + 24 hours, end of hospitalizationPeriod]\n\ndefine &quot;Clinical Skin Exams With Pressure Injury&quot;:\n  [&quot;ObservationClinicalResult&quot;: &quot;Physical findings of Skin&quot;] ClinicalSkinExam\n    where ClinicalSkinExam.isIn ( &quot;Pressure Injury Stage 2, 3, 4 or Unstageable&quot; )\n\ndefine &quot;Simple Skin Exams With Pressure Injury&quot;:\n  [&quot;SimpleObservation&quot;: &quot;Physical findings of Skin&quot;] ObsSkinExam\n    where ObsSkinExam.isIn ( &quot;Pressure Injury Stage 2, 3, 4 or Unstageable&quot; )\n\n// @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.\n\n\ndefine &quot;Skin Exams With Pressure Injury&quot;:\n  &quot;Clinical Skin Exams With Pressure Injury&quot;\n    union &quot;Simple Skin Exams With Pressure Injury&quot;\n\n// @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\n// @example  ExampleObservation.isIn(&quot;Pressure Injury Stage 2, 3, 4 or Unstageable&quot;)\n\n\n\ndefine fluent function isIn(observation Choice&lt;&quot;SimpleObservation&quot;, &quot;ObservationClinicalResult&quot;&gt;, vset System.ValueSet):\n  observation.status in { 'final', 'amended', 'corrected' }\n    and observation.effective.toInterval ( ) during &quot;Measurement Period&quot;\n    and case\n      when observation is SimpleObservation then ( observation as SimpleObservation ).value as FHIR.CodeableConcept in vset\n      when observation is ObservationClinicalResult then ( observation as ObservationClinicalResult ).value as FHIR.CodeableConcept in vset \n      else null end</code></pre>\n      </td>\n    </tr>\n    \n  \n\n\n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
      "valueReference" : {
        "reference" : "Device/cqf-tooling"
      }
    }
  ],
  "url" : "https://madie.cms.gov/Library/CMS826FHIRHHPI",
  "version" : "1.1.000",
  "name" : "CMS826FHIRHHPI",
  "status" : "draft",
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2026-09-19T16:31:14+00:00",
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVM4MjZGSElSSEhQSSB2ZXJzaW9uICcxLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlQ29tbW9uIHZlcnNpb24gJzIuMC4wLWJhbGxvdCcgY2FsbGVkIFVTQ29yZUNvbW1vbgppbmNsdWRlIGhsNy5maGlyLnVzLmNxbC5VU0NvcmVFbGVtZW50cyB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVFbGVtZW50cwoKaW5jbHVkZSBDUU1Db21tb24gdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIENRTUNvbW1vbgppbmNsdWRlIFVTUXVhbGl0eUNvcmVDb21tb24gdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcgY2FsbGVkIFVTUXVhbGl0eUNvcmVDb21tb24KaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnNi4xLjAwMCcgY2FsbGVkIFNERQppbmNsdWRlIFN0YXR1cyB2ZXJzaW9uICcyLjEuMDAwJyBjYWxsZWQgU3RhdHVzCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiTm90IFByZXNlbnQgT24gQWRtaXNzaW9uIG9yIERvY3VtZW50YXRpb24gSW5zdWZmaWNpZW50IHRvIERldGVybWluZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExNDcuMTk4Jwp2YWx1ZXNldCAiUHJlc2VudCBvbiBBZG1pc3Npb24gb3IgQ2xpbmljYWxseSBVbmRldGVybWluZWQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ3LjE5NycKdmFsdWVzZXQgIlByZXNzdXJlIEluanVyeSBEZWVwIFRpc3N1ZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExNDcuMTEyJwp2YWx1ZXNldCAiUHJlc3N1cmUgSW5qdXJ5IERlZXAgVGlzc3VlIERpYWdub3NlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExNDcuMTk0Jwp2YWx1ZXNldCAiUHJlc3N1cmUgSW5qdXJ5IFN0YWdlIDIsIDMsIDQgb3IgVW5zdGFnZWFibGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ3LjExMycKdmFsdWVzZXQgIlByZXNzdXJlIEluanVyeSBTdGFnZSAyLCAzLCA0LCBvciBVbnN0YWdlYWJsZSBEaWFnbm9zZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ3LjE5NicKCmNvZGUgIlBoeXNpY2FsIGZpbmRpbmdzIG9mIFNraW4iOiAnODcwOS04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnUGh5c2ljYWwgZmluZGluZ3Mgb2YgU2tpbicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICBkZWZhdWx0IEludGVydmFsW0AyMDI2LTAxLTAxVDAwOjAwOjAwLjAwMFosIEAyMDI3LTAxLTAxVDAwOjAwOjAwLjAwMFopCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CiAgIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CiAgIkVuY291bnRlciBXaXRoIERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBQT0EgQnkgSW5kaWNhdG9yIE9yIFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggU3RhZ2UgMiwgMywgNCBPciBVbnN0YWdlYWJsZSBQcmVzc3VyZSBJbmp1cnkgUE9BIgoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgV2l0aCBOZXcgRGVlcCBUaXNzdWUgUHJlc3N1cmUgSW5qdXJ5IgogICAgdW5pb24gIkVuY291bnRlciBXaXRoIE5ldyBTdGFnZSAyLCAzLCA0IE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSIKCmRlZmluZSAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciI6CiAgWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIElucGF0aWVudEVuY291bnRlcgogICAgd2hlcmUgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kKSA+PSAxOAogICAgICBhbmQgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kIElucGF0aWVudEVuY291bnRlci5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBQT0EgQnkgSW5kaWNhdG9yIE9yIFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiOgogICJFbmNvdW50ZXIgV2l0aCBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgUE9BIEJ5IEluZGljYXRvciIKICAgIHVuaW9uICJFbmNvdW50ZXIgV2l0aCBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgUE9BIEJ5IFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFBPQSI6CiAgIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQsIE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSBQcmVzZW50IE9uIEFkbWlzc2lvbiBCeSBQT0EgSW5kaWNhdG9yIgogICAgdW5pb24gIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFBPQSBCeSBTa2luIEV4YW0gV2l0aGluIDI0IEhvdXJzIgoKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBOZXcgRGVlcCBUaXNzdWUgUHJlc3N1cmUgSW5qdXJ5IjoKICAiRW5jb3VudGVyIFdpdGggTmV3IERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBOb3QgUE9BIEJ5IEluZGljYXRvciIKICAgIHVuaW9uICJFbmNvdW50ZXIgV2l0aCBOZXcgRGVlcCBUaXNzdWUgUHJlc3N1cmUgSW5qdXJ5IEJ5IFNraW4gRXhhbSBBZnRlciBGaXJzdCA3MiBIb3VycyIKCmRlZmluZSAiRW5jb3VudGVyIFdpdGggTmV3IFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IjoKICAiRW5jb3VudGVyIFdpdGggTmV3IFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IE5vdCBQT0EgQnkgSW5kaWNhdG9yIgogICAgdW5pb24gIkVuY291bnRlciBXaXRoIE5ldyBTdGFnZSAyLCAzLCA0IE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSBCeSBTa2luIEV4YW0gQWZ0ZXIgRmlyc3QgMjQgSG91cnMiCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBQT0EgQnkgSW5kaWNhdG9yIjoKICAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciIgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uCiAgICB3aGVyZSBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24uaXNEaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24gKCAiUHJlc3N1cmUgSW5qdXJ5IERlZXAgVGlzc3VlIERpYWdub3NlcyIsICJQcmVzZW50IG9uIEFkbWlzc2lvbiBvciBDbGluaWNhbGx5IFVuZGV0ZXJtaW5lZCIgKQoKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgUE9BIEJ5IFNraW4gRXhhbSBXaXRoaW4gRmlyc3QgNzIgSG91cnMiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIGxldCBob3NwaXRhbGl6YXRpb25QZXJpb2Q6IElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5ob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24gKCApCiAgICB3aXRoICJTa2luIEV4YW1zIFdpdGggUHJlc3N1cmUgSW5qdXJ5IiBTa2luRXhhbQogICAgICBzdWNoIHRoYXQgU2tpbkV4YW0uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIHN0YXJ0cyBkdXJpbmcgSW50ZXJ2YWxbc3RhcnQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kLCBzdGFydCBvZiBob3NwaXRhbGl6YXRpb25QZXJpb2QgKyA3MiBob3Vyc10KCmRlZmluZSAiRW5jb3VudGVyIFdpdGggU3RhZ2UgMiwgMywgNCwgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFByZXNlbnQgT24gQWRtaXNzaW9uIEJ5IFBPQSBJbmRpY2F0b3IiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIHdoZXJlIElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5pc0RpYWdub3Npc1ByZXNlbnRPbkFkbWlzc2lvbiAoICJQcmVzc3VyZSBJbmp1cnkgU3RhZ2UgMiwgMywgNCwgb3IgVW5zdGFnZWFibGUgRGlhZ25vc2VzIiwgIlByZXNlbnQgb24gQWRtaXNzaW9uIG9yIENsaW5pY2FsbHkgVW5kZXRlcm1pbmVkIiApCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIFN0YWdlIDIsIDMsIDQgT3IgVW5zdGFnZWFibGUgUHJlc3N1cmUgSW5qdXJ5IFBPQSBCeSBTa2luIEV4YW0gV2l0aGluIDI0IEhvdXJzIjoKICAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciIgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uCiAgICBsZXQgaG9zcGl0YWxpemF0aW9uUGVyaW9kOiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24uaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uICggKQogICAgd2l0aCAiU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSIgU2tpbkV4YW0KICAgICAgc3VjaCB0aGF0IFNraW5FeGFtLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBzdGFydHMgZHVyaW5nIEludGVydmFsW3N0YXJ0IG9mIGhvc3BpdGFsaXphdGlvblBlcmlvZCwgc3RhcnQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kICsgMjQgaG91cnNdCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIE5ldyBEZWVwIFRpc3N1ZSBQcmVzc3VyZSBJbmp1cnkgTm90IFBPQSBCeSBJbmRpY2F0b3IiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIHdoZXJlIElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5pc0RpYWdub3Npc1ByZXNlbnRPbkFkbWlzc2lvbiAoICJQcmVzc3VyZSBJbmp1cnkgRGVlcCBUaXNzdWUgRGlhZ25vc2VzIiwgIk5vdCBQcmVzZW50IE9uIEFkbWlzc2lvbiBvciBEb2N1bWVudGF0aW9uIEluc3VmZmljaWVudCB0byBEZXRlcm1pbmUiICkKCmRlZmluZSAiRW5jb3VudGVyIFdpdGggTmV3IERlZXAgVGlzc3VlIFByZXNzdXJlIEluanVyeSBCeSBTa2luIEV4YW0gQWZ0ZXIgRmlyc3QgNzIgSG91cnMiOgogICJFbmNvdW50ZXIgV2l0aCBBZ2UgMTggQW5kIE9sZGVyIiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24KICAgIGxldCBob3NwaXRhbGl6YXRpb25QZXJpb2Q6IElucGF0aWVudEhvc3BpdGFsaXphdGlvbi5ob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24gKCApCiAgICB3aXRoICJTa2luIEV4YW1zIFdpdGggUHJlc3N1cmUgSW5qdXJ5IiBTa2luRXhhbQogICAgICBzdWNoIHRoYXQgU2tpbkV4YW0uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIHN0YXJ0cyBkdXJpbmcgSW50ZXJ2YWxbc3RhcnQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kICsgNzIgaG91cnMsIGVuZCBvZiBob3NwaXRhbGl6YXRpb25QZXJpb2RdCgpkZWZpbmUgIkVuY291bnRlciBXaXRoIE5ldyBTdGFnZSAyLCAzLCA0IE9yIFVuc3RhZ2VhYmxlIFByZXNzdXJlIEluanVyeSBOb3QgUE9BIEJ5IEluZGljYXRvciI6CiAgIkVuY291bnRlciBXaXRoIEFnZSAxOCBBbmQgT2xkZXIiIElucGF0aWVudEhvc3BpdGFsaXphdGlvbgogICAgd2hlcmUgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uLmlzRGlhZ25vc2lzUHJlc2VudE9uQWRtaXNzaW9uICggIlByZXNzdXJlIEluanVyeSBTdGFnZSAyLCAzLCA0LCBvciBVbnN0YWdlYWJsZSBEaWFnbm9zZXMiLCAiTm90IFByZXNlbnQgT24gQWRtaXNzaW9uIG9yIERvY3VtZW50YXRpb24gSW5zdWZmaWNpZW50IHRvIERldGVybWluZSIgKQoKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBOZXcgU3RhZ2UgMiwgMywgNCBPciBVbnN0YWdlYWJsZSBQcmVzc3VyZSBJbmp1cnkgQnkgU2tpbiBFeGFtIEFmdGVyIEZpcnN0IDI0IEhvdXJzIjoKICAiRW5jb3VudGVyIFdpdGggQWdlIDE4IEFuZCBPbGRlciIgSW5wYXRpZW50SG9zcGl0YWxpemF0aW9uCiAgICBsZXQgaG9zcGl0YWxpemF0aW9uUGVyaW9kOiBJbnBhdGllbnRIb3NwaXRhbGl6YXRpb24uaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uICggKQogICAgd2l0aCAiU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSIgU2tpbkV4YW0KICAgICAgc3VjaCB0aGF0IFNraW5FeGFtLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBzdGFydHMgZHVyaW5nIEludGVydmFsW3N0YXJ0IG9mIGhvc3BpdGFsaXphdGlvblBlcmlvZCArIDI0IGhvdXJzLCBlbmQgb2YgaG9zcGl0YWxpemF0aW9uUGVyaW9kXQoKZGVmaW5lICJDbGluaWNhbCBTa2luIEV4YW1zIFdpdGggUHJlc3N1cmUgSW5qdXJ5IjoKICBbIk9ic2VydmF0aW9uQ2xpbmljYWxSZXN1bHQiOiAiUGh5c2ljYWwgZmluZGluZ3Mgb2YgU2tpbiJdIENsaW5pY2FsU2tpbkV4YW0KICAgIHdoZXJlIENsaW5pY2FsU2tpbkV4YW0uaXNJbiAoICJQcmVzc3VyZSBJbmp1cnkgU3RhZ2UgMiwgMywgNCBvciBVbnN0YWdlYWJsZSIgKQoKZGVmaW5lICJTaW1wbGUgU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSI6CiAgWyJTaW1wbGVPYnNlcnZhdGlvbiI6ICJQaHlzaWNhbCBmaW5kaW5ncyBvZiBTa2luIl0gT2JzU2tpbkV4YW0KICAgIHdoZXJlIE9ic1NraW5FeGFtLmlzSW4gKCAiUHJlc3N1cmUgSW5qdXJ5IFN0YWdlIDIsIDMsIDQgb3IgVW5zdGFnZWFibGUiICkKCi8vIEBkZXNjcmlwdGlvbiBTa2luIGV4YW1zIG1heSBiZSBlaXRoZXIgYSBTaW1wbGVPYnNlcnZhdGlvbiBvciBhbiBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0IGluIFFJLUNvcmUuIFRoZSBkZWZpbml0aW9uIGJlbG93IGFsbG93cyBib3RoIFFJLUNvcmUgcmVzb3VyY2UgcmVwcmVzZW50YXRpb25zIGZvciBtb3JlIGNvbXByZWhlbnNpdmUgZGF0YSBjYXB0dXJlLgoKCmRlZmluZSAiU2tpbiBFeGFtcyBXaXRoIFByZXNzdXJlIEluanVyeSI6CiAgIkNsaW5pY2FsIFNraW4gRXhhbXMgV2l0aCBQcmVzc3VyZSBJbmp1cnkiCiAgICB1bmlvbiAiU2ltcGxlIFNraW4gRXhhbXMgV2l0aCBQcmVzc3VyZSBJbmp1cnkiCgovLyBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiwgYXR0YWNoZWQgdG8gZWl0aGVyIGEgU2ltcGxlT2JzZXJhdGlvbiBvciBhbiBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0LCBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgb2JzZXJ2YXRpb24gaXMgY29tcGxldGVkIGFuZCBpdHMgdmFsdWUgaXMgaW4gdGhlIGdpdmVuIHZhbHVlIHNldAovLyBAZXhhbXBsZSAgRXhhbXBsZU9ic2VydmF0aW9uLmlzSW4oIlByZXNzdXJlIEluanVyeSBTdGFnZSAyLCAzLCA0IG9yIFVuc3RhZ2VhYmxlIikKCgoKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBpc0luKG9ic2VydmF0aW9uIENob2ljZTwiU2ltcGxlT2JzZXJ2YXRpb24iLCAiT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCI+LCB2c2V0IFN5c3RlbS5WYWx1ZVNldCk6CiAgb2JzZXJ2YXRpb24uc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJyB9CiAgICBhbmQgb2JzZXJ2YXRpb24uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgYW5kIGNhc2UKICAgICAgd2hlbiBvYnNlcnZhdGlvbiBpcyBTaW1wbGVPYnNlcnZhdGlvbiB0aGVuICggb2JzZXJ2YXRpb24gYXMgU2ltcGxlT2JzZXJ2YXRpb24gKS52YWx1ZSBhcyBGSElSLkNvZGVhYmxlQ29uY2VwdCBpbiB2c2V0CiAgICAgIHdoZW4gb2JzZXJ2YXRpb24gaXMgT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCB0aGVuICggb2JzZXJ2YXRpb24gYXMgT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCApLnZhbHVlIGFzIEZISVIuQ29kZWFibGVDb25jZXB0IGluIHZzZXQgCiAgICAgIGVsc2UgbnVsbCBlbmQ=",
      "url" : "https://madie.cms.gov/Library-CMS826FHIRHHPI.cql"
    }
  ]
}