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
| Active as of 2025-08-25 |
{
"resourceType" : "Library",
"id" : "CMS1264FHIRECATREHQR",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"
]
},
"language" : "en",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">CMS1264FHIRECATREHQR</td>\n\n\n</tr>\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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n\n<td class=\"content-container\">CMS1264FHIRECATREHQR</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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Topic</th>\n\n\n\n<td class=\"content-container\">FHIR\n</td>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Topic</th>\n\n\n\n<td class=\"content-container\">CQL\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">Centers for Medicare & Medicaid Services (CMS)</td>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>CMS1264FHIRECATREHQR</p>\n</div></td>\n\n\n</tr>\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 CMS1264FHIRECATREHQR 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 USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude CQMCommon version '5.1.000' called CQMCommon\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct'\ncodesystem "RoleCode": 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'\n\nvalueset "Mental Health Diagnosis without Substance Use Disorders": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.285'\nvalueset "Decision to Transfer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.286'\nvalueset "Emergency Department Evaluation and Management Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'\nvalueset "Emergency Department Location": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.284'\nvalueset "Emergency Department Treatment Location": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.278'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "Triage": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.279'\n\ncode "Patient left without being seen (finding)": '21541000119102' from "SNOMEDCT" display 'Patient left without being seen (finding)'\ncode "Emergency room": 'ER' from "RoleCode" display 'Emergency room'\ncode "Emergency trauma unit": 'ETU' from "RoleCode" display 'Emergency trauma unit'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\ndefine "Initial Population":\n "ED Evaluation and Management"\n union "ED Triage Excluding Those Prior To ED Encounters"\n\ndefine "Denominator":\n "Initial Population"\n\ndefine "Numerator":\n "Time to Treatment Room Greater Than 60 Minutes"\n union "ED Arrival Left Without Being Seen"\n union "Boarded Time Greater Than 240 Minutes and No Observation Stay"\n union "ED Length of Stay Greater Than 480 Minutes and No Observation Stay"\n\ndefine "Pediatric With No Mental Health Diagnosis":\n ( "ED Encounter or Triage of Patients Less Than 18 Years" PediatricEDEncounters\n where not ( PediatricEDEncounters.hasPrincipalDiagnosisOf ( "Mental Health Diagnosis without Substance Use Disorders" ) )\n )\n\ndefine "Adult With No Mental Health Diagnosis":\n ( "ED Encounter or Triage of Patients 18 Years and Older" AdultEDEncounters\n where not ( AdultEDEncounters.hasPrincipalDiagnosisOf ( "Mental Health Diagnosis without Substance Use Disorders" ) )\n )\n\ndefine "Pediatric With Mental Health Diagnosis":\n ( "ED Encounter or Triage of Patients Less Than 18 Years" PediatricEDEncounters\n where ( PediatricEDEncounters.hasPrincipalDiagnosisOf ( "Mental Health Diagnosis without Substance Use Disorders" ) )\n )\n\ndefine "Adult With Mental Health Diagnosis":\n ( "ED Encounter or Triage of Patients 18 Years and Older" AdultEDEncounters\n where ( AdultEDEncounters.hasPrincipalDiagnosisOf ( "Mental Health Diagnosis without Substance Use Disorders" ) )\n )\n\ndefine "Stratification 1":\n "Pediatric With No Mental Health Diagnosis"\n\ndefine "Stratification 2":\n "Adult With No Mental Health Diagnosis"\n\ndefine "Stratification 3":\n "Pediatric With Mental Health Diagnosis"\n\ndefine "Stratification 4":\n "Adult With Mental Health Diagnosis"\n\ndefine "Boarded Time Greater Than 240 Minutes":\n "Denominator" EDEncounter\n where EDEncounter.TransferDecisionUsingOrder ( ) 241 minutes or more before EDEncounter.edDepartureTime ( )\n\ndefine "Boarded Time Greater Than 240 Minutes and No Observation Stay":\n ( "Boarded Time Greater Than 240 Minutes" Boarding\n where not exists ( "ED Observation Status" EDObs\n where ( EDObs.period during Boarding.period )\n )\n )\n\ndefine "ED Arrival Left Without Being Seen":\n "Denominator" EDEncounter\n where EDEncounter.hospitalization.dischargeDisposition ~ "Patient left without being seen (finding)"\n\ndefine "ED Evaluation and Management":\n [Encounter: "Emergency Department Evaluation and Management Visit"] EDEvalManagementVisit\n where EDEvalManagementVisit.period ends during day of "Measurement Period"\n and EDEvalManagementVisit.status = 'finished'\n\ndefine "ED Encounter or Triage of Patients 18 Years and Older":\n "Denominator" EDEncounter\n where AgeInYearsAt(date from start of EDEncounter.period) >= 18\n\ndefine "ED Encounter or Triage of Patients Less Than 18 Years":\n "Denominator" EDEncounter\n where AgeInYearsAt(date from start of EDEncounter.period) < 18\n\ndefine "ED Length of Stay Greater Than 480 Minutes":\n "Denominator" EDEncounter\n where EDEncounter.edArrivalTime ( ) 481 minutes or more before EDEncounter.edDepartureTime ( )\n\ndefine "ED Length of Stay Greater Than 480 Minutes and No Observation Stay":\n ( "ED Length of Stay Greater Than 480 Minutes" EDStay\n where not exists ( "ED Observation Status" EDObs\n where ( EDObs.period during EDStay.period )\n )\n )\n\ndefine "ED Observation Status":\n [Encounter: "Observation Services"] EDObsEncounter\n with "Denominator" EDStay\n such that EDObsEncounter.period during EDStay.period\n and EDObsEncounter.status = 'finished'\n\ndefine "ED Triage":\n [Encounter: "Triage"] EDTriage\n where EDTriage.period ends during day of "Measurement Period"\n and EDTriage.status in { 'finished', 'triaged' }\n\ndefine "ED Triage Excluding Those Prior To ED Encounters":\n "ED Triage" EDTriageinMP\n where not exists ( "ED Evaluation and Management" EDEvalManagementinMP\n where ( ( EDTriageinMP.period overlaps before EDEvalManagementinMP.period )\n or ( EDTriageinMP.period during EDEvalManagementinMP.period )\n or ( EDEvalManagementinMP.period during EDTriageinMP.period )\n or ( EDTriageinMP.period ends 120 minutes or less before start of EDEvalManagementinMP.period )\n )\n )\n\ndefine "ED Triage Before Evaluation Management":\n "ED Triage" EDTriageinMP\n with "Denominator" EDEncounter\n such that ( ( EDTriageinMP.period overlaps before EDEncounter.period )\n or ( EDTriageinMP.period during EDEncounter.period )\n or ( EDEncounter.period during EDTriageinMP.period )\n or ( EDTriageinMP.period ends 120 minutes or less before start of EDEncounter.period )\n )\n\ndefine "ED Triage and Evaluation Management":\n "Denominator"\n union "ED Triage Before Evaluation Management"\n\ndefine "Time to Treatment Room Greater Than 60 Minutes":\n "ED Evaluation and Management" EDEvalManagementinMP\n where EDEvalManagementinMP.edArrivalTime ( ) 61 minutes or more before EDEvalManagementinMP.edTreatmentRoomTimeArrivalTime ( )\n\ndefine fluent function "edArrivalTime"(EDEncounter Encounter):\n Last("ED Triage and Evaluation Management".location Location\n where exists((Location.location.getLocation().type) LocationType\n where(LocationType in "Emergency Department Location"\n or LocationType ~ "Emergency room"\n or LocationType ~ "Emergency trauma unit"\n )\n )\n and start of Location.period is not null\n and(Location.period ends 120 minutes or less before start of EDEncounter.period\n or Location.period overlaps before EDEncounter.period\n or EDEncounter.period overlaps before Location.period\n or Location.period starts same as start of EDEncounter.period\n )\n return start of Location.period\n sort ascending\n )\n\ndefine fluent function "edDepartureTime"(EDEncounter Encounter):\n Last("ED Triage and Evaluation Management".location Location\n where exists((Location.location.getLocation().type) LocationType\n where(LocationType in "Emergency Department Location"\n or LocationType ~ "Emergency room"\n or LocationType ~ "Emergency trauma unit"\n )\n )\n and \n end of Location.period is not null\n and(Location.period ends 120 minutes or less before start of EDEncounter.period\n or Location.period overlaps before EDEncounter.period\n or EDEncounter.period overlaps before Location.period\n or Location.period starts same as start of EDEncounter.period\n )\n return \n end of Location.period\n sort ascending\n )\n\ndefine fluent function "edTreatmentRoomTimeArrivalTime"(EDEncounter Encounter):\n First(EDEncounter.location Location\n where Location.location.getLocation().type in "Emergency Department Treatment Location"\n and start of Location.period is not null\n return start of Location.period\n sort ascending\n )\n\ndefine fluent function "TransferDecisionUsingOrder"(EDEncounter Encounter):\n Last([ServiceRequest: "Decision to Transfer"] TransferOrder\n where TransferOrder.authoredOn during EDEncounter.period\n and TransferOrder.intent = 'order'\n and TransferOrder.status in { 'active', 'completed' }\n return TransferOrder.authoredOn\n sort ascending\n )\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"</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/CMS1264FHIRECATREHQR",
"identifier" : [
{
"use" : "official",
"system" : "https://madie.cms.gov/login",
"value" : "CMS1264FHIRECATREHQR"
}
],
"version" : "1.1.000",
"name" : "CMS1264FHIRECATREHQR",
"title" : "CMS1264FHIRECATREHQR",
"status" : "active",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-08-25T19:25:31+00:00",
"publisher" : "Centers for Medicare & Medicaid Services (CMS)",
"description" : "CMS1264FHIRECATREHQR",
"topic" : [
{
"text" : "FHIR"
},
{
"text" : "CQL"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVMxMjY0RkhJUkVDQVRSRUhRUiB2ZXJzaW9uICcxLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlQ29tbW9uIHZlcnNpb24gJzIuMC4wLWJhbGxvdCcgY2FsbGVkIFVTQ29yZUNvbW1vbgppbmNsdWRlIGhsNy5maGlyLnVzLmNxbC5VU0NvcmVFbGVtZW50cyB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVFbGVtZW50cwoKaW5jbHVkZSBVU1F1YWxpdHlDb3JlQ29tbW9uIHZlcnNpb24gJzAuMS4wLWNpYnVpbGQnIGNhbGxlZCBVU1F1YWxpdHlDb3JlQ29tbW9uCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzIHZlcnNpb24gJzYuMS4wMDAnIGNhbGxlZCBTREUKaW5jbHVkZSBDUU1Db21tb24gdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIENRTUNvbW1vbgoKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKY29kZXN5c3RlbSAiUm9sZUNvZGUiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1Sb2xlQ29kZScKCnZhbHVlc2V0ICJNZW50YWwgSGVhbHRoIERpYWdub3NpcyB3aXRob3V0IFN1YnN0YW5jZSBVc2UgRGlzb3JkZXJzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0Ni4yODUnCnZhbHVlc2V0ICJEZWNpc2lvbiB0byBUcmFuc2ZlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDYuMjg2Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxMCcKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IExvY2F0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0Ni4yODQnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBUcmVhdG1lbnQgTG9jYXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ2LjI3OCcKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCnZhbHVlc2V0ICJUcmlhZ2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ2LjI3OScKCmNvZGUgIlBhdGllbnQgbGVmdCB3aXRob3V0IGJlaW5nIHNlZW4gKGZpbmRpbmcpIjogJzIxNTQxMDAwMTE5MTAyJyBmcm9tICJTTk9NRURDVCIgZGlzcGxheSAnUGF0aWVudCBsZWZ0IHdpdGhvdXQgYmVpbmcgc2VlbiAoZmluZGluZyknCmNvZGUgIkVtZXJnZW5jeSByb29tIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIkVtZXJnZW5jeSB0cmF1bWEgdW5pdCI6ICdFVFUnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdFbWVyZ2VuY3kgdHJhdW1hIHVuaXQnCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAyNi0wMS0wMVQwMDowMDowMC4wMDBaLCBAMjAyNy0wMS0wMVQwMDowMDowMC4wMDBaKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVEIEV2YWx1YXRpb24gYW5kIE1hbmFnZW1lbnQiCiAgICB1bmlvbiAiRUQgVHJpYWdlIEV4Y2x1ZGluZyBUaG9zZSBQcmlvciBUbyBFRCBFbmNvdW50ZXJzIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CiAgIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiTnVtZXJhdG9yIjoKICAiVGltZSB0byBUcmVhdG1lbnQgUm9vbSBHcmVhdGVyIFRoYW4gNjAgTWludXRlcyIKICAgIHVuaW9uICJFRCBBcnJpdmFsIExlZnQgV2l0aG91dCBCZWluZyBTZWVuIgogICAgdW5pb24gIkJvYXJkZWQgVGltZSBHcmVhdGVyIFRoYW4gMjQwIE1pbnV0ZXMgYW5kIE5vIE9ic2VydmF0aW9uIFN0YXkiCiAgICB1bmlvbiAiRUQgTGVuZ3RoIG9mIFN0YXkgR3JlYXRlciBUaGFuIDQ4MCBNaW51dGVzIGFuZCBObyBPYnNlcnZhdGlvbiBTdGF5IgoKZGVmaW5lICJQZWRpYXRyaWMgV2l0aCBObyBNZW50YWwgSGVhbHRoIERpYWdub3NpcyI6CiAgKCAiRUQgRW5jb3VudGVyIG9yIFRyaWFnZSBvZiBQYXRpZW50cyBMZXNzIFRoYW4gMTggWWVhcnMiIFBlZGlhdHJpY0VERW5jb3VudGVycwogICAgICB3aGVyZSBub3QgKCBQZWRpYXRyaWNFREVuY291bnRlcnMuaGFzUHJpbmNpcGFsRGlhZ25vc2lzT2YgKCAiTWVudGFsIEhlYWx0aCBEaWFnbm9zaXMgd2l0aG91dCBTdWJzdGFuY2UgVXNlIERpc29yZGVycyIgKSApCiAgKQoKZGVmaW5lICJBZHVsdCBXaXRoIE5vIE1lbnRhbCBIZWFsdGggRGlhZ25vc2lzIjoKICAoICJFRCBFbmNvdW50ZXIgb3IgVHJpYWdlIG9mIFBhdGllbnRzIDE4IFllYXJzIGFuZCBPbGRlciIgQWR1bHRFREVuY291bnRlcnMKICAgICAgd2hlcmUgbm90ICggQWR1bHRFREVuY291bnRlcnMuaGFzUHJpbmNpcGFsRGlhZ25vc2lzT2YgKCAiTWVudGFsIEhlYWx0aCBEaWFnbm9zaXMgd2l0aG91dCBTdWJzdGFuY2UgVXNlIERpc29yZGVycyIgKSApCiAgKQoKZGVmaW5lICJQZWRpYXRyaWMgV2l0aCBNZW50YWwgSGVhbHRoIERpYWdub3NpcyI6CiAgKCAiRUQgRW5jb3VudGVyIG9yIFRyaWFnZSBvZiBQYXRpZW50cyBMZXNzIFRoYW4gMTggWWVhcnMiIFBlZGlhdHJpY0VERW5jb3VudGVycwogICAgICB3aGVyZSAoIFBlZGlhdHJpY0VERW5jb3VudGVycy5oYXNQcmluY2lwYWxEaWFnbm9zaXNPZiAoICJNZW50YWwgSGVhbHRoIERpYWdub3NpcyB3aXRob3V0IFN1YnN0YW5jZSBVc2UgRGlzb3JkZXJzIiApICkKICApCgpkZWZpbmUgIkFkdWx0IFdpdGggTWVudGFsIEhlYWx0aCBEaWFnbm9zaXMiOgogICggIkVEIEVuY291bnRlciBvciBUcmlhZ2Ugb2YgUGF0aWVudHMgMTggWWVhcnMgYW5kIE9sZGVyIiBBZHVsdEVERW5jb3VudGVycwogICAgICB3aGVyZSAoIEFkdWx0RURFbmNvdW50ZXJzLmhhc1ByaW5jaXBhbERpYWdub3Npc09mICggIk1lbnRhbCBIZWFsdGggRGlhZ25vc2lzIHdpdGhvdXQgU3Vic3RhbmNlIFVzZSBEaXNvcmRlcnMiICkgKQogICkKCmRlZmluZSAiU3RyYXRpZmljYXRpb24gMSI6CiAgIlBlZGlhdHJpYyBXaXRoIE5vIE1lbnRhbCBIZWFsdGggRGlhZ25vc2lzIgoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiAyIjoKICAiQWR1bHQgV2l0aCBObyBNZW50YWwgSGVhbHRoIERpYWdub3NpcyIKCmRlZmluZSAiU3RyYXRpZmljYXRpb24gMyI6CiAgIlBlZGlhdHJpYyBXaXRoIE1lbnRhbCBIZWFsdGggRGlhZ25vc2lzIgoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiA0IjoKICAiQWR1bHQgV2l0aCBNZW50YWwgSGVhbHRoIERpYWdub3NpcyIKCmRlZmluZSAiQm9hcmRlZCBUaW1lIEdyZWF0ZXIgVGhhbiAyNDAgTWludXRlcyI6CiAgIkRlbm9taW5hdG9yIiBFREVuY291bnRlcgogICAgd2hlcmUgRURFbmNvdW50ZXIuVHJhbnNmZXJEZWNpc2lvblVzaW5nT3JkZXIgKCApIDI0MSBtaW51dGVzIG9yIG1vcmUgYmVmb3JlIEVERW5jb3VudGVyLmVkRGVwYXJ0dXJlVGltZSAoICkKCmRlZmluZSAiQm9hcmRlZCBUaW1lIEdyZWF0ZXIgVGhhbiAyNDAgTWludXRlcyBhbmQgTm8gT2JzZXJ2YXRpb24gU3RheSI6CiAgKCAiQm9hcmRlZCBUaW1lIEdyZWF0ZXIgVGhhbiAyNDAgTWludXRlcyIgQm9hcmRpbmcKICAgICAgd2hlcmUgbm90IGV4aXN0cyAoICJFRCBPYnNlcnZhdGlvbiBTdGF0dXMiIEVET2JzCiAgICAgICAgICB3aGVyZSAoIEVET2JzLnBlcmlvZCBkdXJpbmcgQm9hcmRpbmcucGVyaW9kICkKICAgICAgKQogICkKCmRlZmluZSAiRUQgQXJyaXZhbCBMZWZ0IFdpdGhvdXQgQmVpbmcgU2VlbiI6CiAgIkRlbm9taW5hdG9yIiBFREVuY291bnRlcgogICAgd2hlcmUgRURFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIH4gIlBhdGllbnQgbGVmdCB3aXRob3V0IGJlaW5nIHNlZW4gKGZpbmRpbmcpIgoKZGVmaW5lICJFRCBFdmFsdWF0aW9uIGFuZCBNYW5hZ2VtZW50IjoKICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCBWaXNpdCJdIEVERXZhbE1hbmFnZW1lbnRWaXNpdAogICAgd2hlcmUgRURFdmFsTWFuYWdlbWVudFZpc2l0LnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kIEVERXZhbE1hbmFnZW1lbnRWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkVEIEVuY291bnRlciBvciBUcmlhZ2Ugb2YgUGF0aWVudHMgMTggWWVhcnMgYW5kIE9sZGVyIjoKICAiRGVub21pbmF0b3IiIEVERW5jb3VudGVyCiAgICB3aGVyZSBBZ2VJblllYXJzQXQoZGF0ZSBmcm9tIHN0YXJ0IG9mIEVERW5jb3VudGVyLnBlcmlvZCkgPj0gMTgKCmRlZmluZSAiRUQgRW5jb3VudGVyIG9yIFRyaWFnZSBvZiBQYXRpZW50cyBMZXNzIFRoYW4gMTggWWVhcnMiOgogICJEZW5vbWluYXRvciIgRURFbmNvdW50ZXIKICAgIHdoZXJlIEFnZUluWWVhcnNBdChkYXRlIGZyb20gc3RhcnQgb2YgRURFbmNvdW50ZXIucGVyaW9kKSA8IDE4CgpkZWZpbmUgIkVEIExlbmd0aCBvZiBTdGF5IEdyZWF0ZXIgVGhhbiA0ODAgTWludXRlcyI6CiAgIkRlbm9taW5hdG9yIiBFREVuY291bnRlcgogICAgd2hlcmUgRURFbmNvdW50ZXIuZWRBcnJpdmFsVGltZSAoICkgNDgxIG1pbnV0ZXMgb3IgbW9yZSBiZWZvcmUgRURFbmNvdW50ZXIuZWREZXBhcnR1cmVUaW1lICggKQoKZGVmaW5lICJFRCBMZW5ndGggb2YgU3RheSBHcmVhdGVyIFRoYW4gNDgwIE1pbnV0ZXMgYW5kIE5vIE9ic2VydmF0aW9uIFN0YXkiOgogICggIkVEIExlbmd0aCBvZiBTdGF5IEdyZWF0ZXIgVGhhbiA0ODAgTWludXRlcyIgRURTdGF5CiAgICAgIHdoZXJlIG5vdCBleGlzdHMgKCAiRUQgT2JzZXJ2YXRpb24gU3RhdHVzIiBFRE9icwogICAgICAgICAgd2hlcmUgKCBFRE9icy5wZXJpb2QgZHVyaW5nIEVEU3RheS5wZXJpb2QgKQogICAgICApCiAgKQoKZGVmaW5lICJFRCBPYnNlcnZhdGlvbiBTdGF0dXMiOgogIFtFbmNvdW50ZXI6ICJPYnNlcnZhdGlvbiBTZXJ2aWNlcyJdIEVET2JzRW5jb3VudGVyCiAgICB3aXRoICJEZW5vbWluYXRvciIgRURTdGF5CiAgICAgIHN1Y2ggdGhhdCBFRE9ic0VuY291bnRlci5wZXJpb2QgZHVyaW5nIEVEU3RheS5wZXJpb2QKICAgICAgICBhbmQgRURPYnNFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoKZGVmaW5lICJFRCBUcmlhZ2UiOgogIFtFbmNvdW50ZXI6ICJUcmlhZ2UiXSBFRFRyaWFnZQogICAgd2hlcmUgRURUcmlhZ2UucGVyaW9kIGVuZHMgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICBhbmQgRURUcmlhZ2Uuc3RhdHVzIGluIHsgJ2ZpbmlzaGVkJywgJ3RyaWFnZWQnIH0KCmRlZmluZSAiRUQgVHJpYWdlIEV4Y2x1ZGluZyBUaG9zZSBQcmlvciBUbyBFRCBFbmNvdW50ZXJzIjoKICAiRUQgVHJpYWdlIiBFRFRyaWFnZWluTVAKICAgIHdoZXJlIG5vdCBleGlzdHMgKCAiRUQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCIgRURFdmFsTWFuYWdlbWVudGluTVAKICAgICAgICB3aGVyZSAoICggRURUcmlhZ2Vpbk1QLnBlcmlvZCBvdmVybGFwcyBiZWZvcmUgRURFdmFsTWFuYWdlbWVudGluTVAucGVyaW9kICkKICAgICAgICAgICAgb3IgKCBFRFRyaWFnZWluTVAucGVyaW9kIGR1cmluZyBFREV2YWxNYW5hZ2VtZW50aW5NUC5wZXJpb2QgKQogICAgICAgICAgICBvciAoIEVERXZhbE1hbmFnZW1lbnRpbk1QLnBlcmlvZCBkdXJpbmcgRURUcmlhZ2Vpbk1QLnBlcmlvZCApCiAgICAgICAgICAgIG9yICggRURUcmlhZ2Vpbk1QLnBlcmlvZCBlbmRzIDEyMCBtaW51dGVzIG9yIGxlc3MgYmVmb3JlIHN0YXJ0IG9mIEVERXZhbE1hbmFnZW1lbnRpbk1QLnBlcmlvZCApCiAgICAgICAgKQogICAgKQoKZGVmaW5lICJFRCBUcmlhZ2UgQmVmb3JlIEV2YWx1YXRpb24gTWFuYWdlbWVudCI6CiAgIkVEIFRyaWFnZSIgRURUcmlhZ2Vpbk1QCiAgICB3aXRoICJEZW5vbWluYXRvciIgRURFbmNvdW50ZXIKICAgICAgc3VjaCB0aGF0ICggKCBFRFRyaWFnZWluTVAucGVyaW9kIG92ZXJsYXBzIGJlZm9yZSBFREVuY291bnRlci5wZXJpb2QgKQogICAgICAgICAgb3IgKCBFRFRyaWFnZWluTVAucGVyaW9kIGR1cmluZyBFREVuY291bnRlci5wZXJpb2QgKQogICAgICAgICAgb3IgKCBFREVuY291bnRlci5wZXJpb2QgZHVyaW5nIEVEVHJpYWdlaW5NUC5wZXJpb2QgKQogICAgICAgICAgb3IgKCBFRFRyaWFnZWluTVAucGVyaW9kIGVuZHMgMTIwIG1pbnV0ZXMgb3IgbGVzcyBiZWZvcmUgc3RhcnQgb2YgRURFbmNvdW50ZXIucGVyaW9kICkKICAgICAgKQoKZGVmaW5lICJFRCBUcmlhZ2UgYW5kIEV2YWx1YXRpb24gTWFuYWdlbWVudCI6CiAgIkRlbm9taW5hdG9yIgogICAgdW5pb24gIkVEIFRyaWFnZSBCZWZvcmUgRXZhbHVhdGlvbiBNYW5hZ2VtZW50IgoKZGVmaW5lICJUaW1lIHRvIFRyZWF0bWVudCBSb29tIEdyZWF0ZXIgVGhhbiA2MCBNaW51dGVzIjoKICAiRUQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCIgRURFdmFsTWFuYWdlbWVudGluTVAKICAgIHdoZXJlIEVERXZhbE1hbmFnZW1lbnRpbk1QLmVkQXJyaXZhbFRpbWUgKCApIDYxIG1pbnV0ZXMgb3IgbW9yZSBiZWZvcmUgRURFdmFsTWFuYWdlbWVudGluTVAuZWRUcmVhdG1lbnRSb29tVGltZUFycml2YWxUaW1lICggKQoKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiAiZWRBcnJpdmFsVGltZSIoRURFbmNvdW50ZXIgRW5jb3VudGVyKToKICBMYXN0KCJFRCBUcmlhZ2UgYW5kIEV2YWx1YXRpb24gTWFuYWdlbWVudCIubG9jYXRpb24gTG9jYXRpb24KICAgICAgd2hlcmUgZXhpc3RzKChMb2NhdGlvbi5sb2NhdGlvbi5nZXRMb2NhdGlvbigpLnR5cGUpIExvY2F0aW9uVHlwZQogICAgICAgICAgd2hlcmUoTG9jYXRpb25UeXBlIGluICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBMb2NhdGlvbiIKICAgICAgICAgICAgICBvciBMb2NhdGlvblR5cGUgfiAiRW1lcmdlbmN5IHJvb20iCiAgICAgICAgICAgICAgb3IgTG9jYXRpb25UeXBlIH4gIkVtZXJnZW5jeSB0cmF1bWEgdW5pdCIKICAgICAgICAgICkKICAgICAgKQogICAgICAgIGFuZCBzdGFydCBvZiBMb2NhdGlvbi5wZXJpb2QgaXMgbm90IG51bGwKICAgICAgICBhbmQoTG9jYXRpb24ucGVyaW9kIGVuZHMgMTIwIG1pbnV0ZXMgb3IgbGVzcyBiZWZvcmUgc3RhcnQgb2YgRURFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgICAgIG9yIExvY2F0aW9uLnBlcmlvZCBvdmVybGFwcyBiZWZvcmUgRURFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgICAgIG9yIEVERW5jb3VudGVyLnBlcmlvZCBvdmVybGFwcyBiZWZvcmUgTG9jYXRpb24ucGVyaW9kCiAgICAgICAgICAgIG9yIExvY2F0aW9uLnBlcmlvZCBzdGFydHMgc2FtZSBhcyBzdGFydCBvZiBFREVuY291bnRlci5wZXJpb2QKICAgICAgICApCiAgICAgIHJldHVybiBzdGFydCBvZiBMb2NhdGlvbi5wZXJpb2QKICAgICAgc29ydCBhc2NlbmRpbmcKICApCgpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uICJlZERlcGFydHVyZVRpbWUiKEVERW5jb3VudGVyIEVuY291bnRlcik6CiAgTGFzdCgiRUQgVHJpYWdlIGFuZCBFdmFsdWF0aW9uIE1hbmFnZW1lbnQiLmxvY2F0aW9uIExvY2F0aW9uCiAgICAgIHdoZXJlIGV4aXN0cygoTG9jYXRpb24ubG9jYXRpb24uZ2V0TG9jYXRpb24oKS50eXBlKSBMb2NhdGlvblR5cGUKICAgICAgICAgIHdoZXJlKExvY2F0aW9uVHlwZSBpbiAiRW1lcmdlbmN5IERlcGFydG1lbnQgTG9jYXRpb24iCiAgICAgICAgICAgICAgb3IgTG9jYXRpb25UeXBlIH4gIkVtZXJnZW5jeSByb29tIgogICAgICAgICAgICAgIG9yIExvY2F0aW9uVHlwZSB+ICJFbWVyZ2VuY3kgdHJhdW1hIHVuaXQiCiAgICAgICAgICApCiAgICAgICkKICAgICAgICBhbmQgCiAgICAgICAgZW5kIG9mIExvY2F0aW9uLnBlcmlvZCBpcyBub3QgbnVsbAogICAgICAgIGFuZChMb2NhdGlvbi5wZXJpb2QgZW5kcyAxMjAgbWludXRlcyBvciBsZXNzIGJlZm9yZSBzdGFydCBvZiBFREVuY291bnRlci5wZXJpb2QKICAgICAgICAgICAgb3IgTG9jYXRpb24ucGVyaW9kIG92ZXJsYXBzIGJlZm9yZSBFREVuY291bnRlci5wZXJpb2QKICAgICAgICAgICAgb3IgRURFbmNvdW50ZXIucGVyaW9kIG92ZXJsYXBzIGJlZm9yZSBMb2NhdGlvbi5wZXJpb2QKICAgICAgICAgICAgb3IgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBzYW1lIGFzIHN0YXJ0IG9mIEVERW5jb3VudGVyLnBlcmlvZAogICAgICAgICkKICAgICAgcmV0dXJuIAogICAgICBlbmQgb2YgTG9jYXRpb24ucGVyaW9kCiAgICAgIHNvcnQgYXNjZW5kaW5nCiAgKQoKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiAiZWRUcmVhdG1lbnRSb29tVGltZUFycml2YWxUaW1lIihFREVuY291bnRlciBFbmNvdW50ZXIpOgogIEZpcnN0KEVERW5jb3VudGVyLmxvY2F0aW9uIExvY2F0aW9uCiAgICAgIHdoZXJlIExvY2F0aW9uLmxvY2F0aW9uLmdldExvY2F0aW9uKCkudHlwZSBpbiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVHJlYXRtZW50IExvY2F0aW9uIgogICAgICAgIGFuZCBzdGFydCBvZiBMb2NhdGlvbi5wZXJpb2QgaXMgbm90IG51bGwKICAgICAgcmV0dXJuIHN0YXJ0IG9mIExvY2F0aW9uLnBlcmlvZAogICAgICBzb3J0IGFzY2VuZGluZwogICkKCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gIlRyYW5zZmVyRGVjaXNpb25Vc2luZ09yZGVyIihFREVuY291bnRlciBFbmNvdW50ZXIpOgogIExhc3QoW1NlcnZpY2VSZXF1ZXN0OiAiRGVjaXNpb24gdG8gVHJhbnNmZXIiXSBUcmFuc2Zlck9yZGVyCiAgICAgIHdoZXJlIFRyYW5zZmVyT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgRURFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgYW5kIFRyYW5zZmVyT3JkZXIuaW50ZW50ID0gJ29yZGVyJwogICAgICAgIGFuZCBUcmFuc2Zlck9yZGVyLnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIHJldHVybiBUcmFuc2Zlck9yZGVyLmF1dGhvcmVkT24KICAgICAgc29ydCBhc2NlbmRpbmcKICApCgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCI=",
"url" : "https://madie.cms.gov/Library-CMS1264FHIRECATREHQR.cql"
}
]
}