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

: CMS154FHIRAppropriateTxforURI - JSON Representation

Draft as of 2026-09-19

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "CMS154FHIRAppropriateTxforURI",
  "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 CMS154FHIRAppropriateTxforURI 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 Hospice version '7.1.000' called Hospice\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\ninclude Antibiotic version '2.1.000' called Antibiotic\n\ncodesystem &quot;CPT&quot;: 'http://www.ama-assn.org/go/cpt'\n\nvalueset &quot;Acute Pharyngitis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011'\nvalueset &quot;Acute Tonsillitis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012'\nvalueset &quot;Antibiotic Medications for Upper Respiratory Infection&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001'\nvalueset &quot;Comorbid Conditions for Respiratory Conditions&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1025'\nvalueset &quot;Competing Conditions for Respiratory Conditions&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1017'\nvalueset &quot;Emergency Department Evaluation and Management Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'\nvalueset &quot;Home Healthcare Services&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset &quot;Medical Disability Exam&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073'\nvalueset &quot;Office Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset &quot;Outpatient Consultation&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'\nvalueset &quot;Preventive Care Services Established Office Visit, 18 and Up&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset &quot;Preventive Care Services Group Counseling&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027'\nvalueset &quot;Preventive Care Services Individual Counseling&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026'\nvalueset &quot;Preventive Care Services Initial Office Visit, 18 and Up&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset &quot;Preventive Care Services, Initial Office Visit, 0 to 17&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset &quot;Preventive Care, Established Office Visit, 0 to 17&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset &quot;Telephone Visits&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080'\nvalueset &quot;Upper Respiratory Infection&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1022'\nvalueset &quot;Virtual Encounter&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089'\n\ncode &quot;Unlisted preventive medicine service&quot;: '99429' from &quot;CPT&quot; display 'Unlisted preventive medicine service'\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 Upper Respiratory Infection&quot; EncounterWithURI\n    where AgeInMonthsAt(date from start of &quot;Measurement Period&quot;) &gt;= 3\n    return EncounterWithURI\n\ndefine &quot;Encounters and Assessments with Hospice Patient&quot;:\n  &quot;Initial Population&quot; EligibleEncounters\n    where Hospice.&quot;Has Hospice Services&quot;\n\ndefine &quot;Denominator&quot;:\n  &quot;Initial Population&quot;\n\ndefine &quot;Denominator Exclusions&quot;:\n  &quot;Encounters and Assessments with Hospice Patient&quot;\n    union Antibiotic.&quot;Encounter with Comorbid Condition History&quot; ( &quot;Encounter with Upper Respiratory Infection&quot;, ( [ConditionEncounterDiagnosis: &quot;Comorbid Conditions for Respiratory Conditions&quot;] ).verified ( ) )\n    union Antibiotic.&quot;Encounter with Antibiotic Medication History&quot; ( &quot;Encounter with Upper Respiratory Infection&quot;, ( [MedicationRequest: &quot;Antibiotic Medications for Upper Respiratory Infection&quot;] ).isMedicationActive ( ) )\n    union Antibiotic.&quot;Encounter with Competing Diagnosis History&quot; ( &quot;Encounter with Upper Respiratory Infection&quot;, ( [ConditionEncounterDiagnosis: &quot;Competing Conditions for Respiratory Conditions&quot;]\n        union [ConditionEncounterDiagnosis: &quot;Acute Pharyngitis&quot;]\n        union [ConditionEncounterDiagnosis: &quot;Acute Tonsillitis&quot;]\n    ).verified ( ) )\n\ndefine &quot;Encounter with Upper Respiratory Infection&quot;:\n  from\n    &quot;Qualifying Encounters&quot; QualifyingEncounters,\n    ( ( [ConditionEncounterDiagnosis: &quot;Upper Respiratory Infection&quot;] ).verified ( ) ) URI\n    where URI.prevalenceInterval ( ) starts during day of QualifyingEncounters.period\n      or URI.prevalenceInterval ( ) overlaps before QualifyingEncounters.period\n    return QualifyingEncounters\n\ndefine &quot;Qualifying Encounters&quot;:\n  ( ( [Encounter: &quot;Emergency Department Evaluation and Management Visit&quot;]\n      union [Encounter: &quot;Home Healthcare Services&quot;]\n      union [Encounter: &quot;Medical Disability Exam&quot;]\n      union [Encounter: &quot;Office Visit&quot;]\n      union [Encounter: &quot;Outpatient Consultation&quot;]\n      union [Encounter: &quot;Preventive Care Services Group Counseling&quot;]\n      union [Encounter: &quot;Preventive Care Services Individual Counseling&quot;]\n      union [Encounter: &quot;Preventive Care Services, Initial Office Visit, 0 to 17&quot;]\n      union [Encounter: &quot;Preventive Care, Established Office Visit, 0 to 17&quot;]\n      union [Encounter: &quot;Preventive Care Services Established Office Visit, 18 and Up&quot;]\n      union [Encounter: &quot;Preventive Care Services Initial Office Visit, 18 and Up&quot;]\n      union [Encounter: &quot;Telephone Visits&quot;]\n      union [Encounter: &quot;Virtual Encounter&quot;]\n      union ( [Encounter] E\n          where exists ( ( E.type ) T\n              where T ~ &quot;Unlisted preventive medicine service&quot;\n          )\n      )\n  ).isEncounterPerformed ( ) ) ValidEncounter\n    where ValidEncounter.period ends during day of Interval[( start of &quot;Measurement Period&quot; ), ( end of &quot;Measurement Period&quot; ) - 3 days]\n\ndefine &quot;Numerator&quot;:\n  &quot;Encounter with Upper Respiratory Infection&quot; EncounterWithURI\n    without ( ( [MedicationRequest: &quot;Antibiotic Medications for Upper Respiratory Infection&quot;] ).isMedicationOrder ( ) ) OrderedAntibiotic\n      such that OrderedAntibiotic.authoredOn 3 days or less on or after start of EncounterWithURI.period\n    return EncounterWithURI\n\ndefine &quot;Stratification 1&quot;:\n  &quot;Encounter with Upper Respiratory Infection&quot; EncounterWithURI\n    where AgeInMonthsAt(date from start of &quot;Measurement Period&quot;) &gt;= 3\n      and AgeInYearsAt(date from start of &quot;Measurement Period&quot;) &lt;= 17\n    return EncounterWithURI\n\ndefine &quot;Stratification 2&quot;:\n  &quot;Encounter with Upper Respiratory Infection&quot; EncounterWithURI\n    where AgeInYearsAt(date from start of &quot;Measurement Period&quot;) in Interval[18, 64]\n    return EncounterWithURI\n\ndefine &quot;Stratification 3&quot;:\n  &quot;Encounter with Upper Respiratory Infection&quot; EncounterWithURI\n    where AgeInYearsAt(date from start of &quot;Measurement Period&quot;) &gt;= 65\n    return EncounterWithURI</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/CMS154FHIRAppropriateTxforURI",
  "version" : "1.1.000",
  "name" : "CMS154FHIRAppropriateTxforURI",
  "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" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVMxNTRGSElSQXBwcm9wcmlhdGVUeGZvclVSSSB2ZXJzaW9uICcxLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlQ29tbW9uIHZlcnNpb24gJzIuMC4wLWJhbGxvdCcgY2FsbGVkIFVTQ29yZUNvbW1vbgppbmNsdWRlIGhsNy5maGlyLnVzLmNxbC5VU0NvcmVFbGVtZW50cyB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVFbGVtZW50cwoKaW5jbHVkZSBIb3NwaWNlIHZlcnNpb24gJzcuMS4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KaW5jbHVkZSBVU1F1YWxpdHlDb3JlQ29tbW9uIHZlcnNpb24gJzAuMS4wLWNpYnVpbGQnIGNhbGxlZCBVU1F1YWxpdHlDb3JlQ29tbW9uCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzIHZlcnNpb24gJzYuMS4wMDAnIGNhbGxlZCBTREUKaW5jbHVkZSBTdGF0dXMgdmVyc2lvbiAnMi4xLjAwMCcgY2FsbGVkIFN0YXR1cwppbmNsdWRlIEFudGliaW90aWMgdmVyc2lvbiAnMi4xLjAwMCcgY2FsbGVkIEFudGliaW90aWMKCmNvZGVzeXN0ZW0gIkNQVCI6ICdodHRwOi8vd3d3LmFtYS1hc3NuLm9yZy9nby9jcHQnCgp2YWx1ZXNldCAiQWN1dGUgUGhhcnluZ2l0aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAyLjEyLjEwMTEnCnZhbHVlc2V0ICJBY3V0ZSBUb25zaWxsaXRpcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDIuMTIuMTAxMicKdmFsdWVzZXQgIkFudGliaW90aWMgTWVkaWNhdGlvbnMgZm9yIFVwcGVyIFJlc3BpcmF0b3J5IEluZmVjdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTAwMScKdmFsdWVzZXQgIkNvbW9yYmlkIENvbmRpdGlvbnMgZm9yIFJlc3BpcmF0b3J5IENvbmRpdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAyLjEyLjEwMjUnCnZhbHVlc2V0ICJDb21wZXRpbmcgQ29uZGl0aW9ucyBmb3IgUmVzcGlyYXRvcnkgQ29uZGl0aW9ucyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDIuMTIuMTAxNycKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IEV2YWx1YXRpb24gYW5kIE1hbmFnZW1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTAnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCnZhbHVlc2V0ICJNZWRpY2FsIERpc2FiaWxpdHkgRXhhbSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA3MycKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIk91dHBhdGllbnQgQ29uc3VsdGF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA4Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEdyb3VwIENvdW5zZWxpbmciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjcnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgSW5kaXZpZHVhbCBDb3Vuc2VsaW5nIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI2Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIyJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQnCnZhbHVlc2V0ICJUZWxlcGhvbmUgVmlzaXRzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDgwJwp2YWx1ZXNldCAiVXBwZXIgUmVzcGlyYXRvcnkgSW5mZWN0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMi4xMi4xMDIyJwp2YWx1ZXNldCAiVmlydHVhbCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODknCgpjb2RlICJVbmxpc3RlZCBwcmV2ZW50aXZlIG1lZGljaW5lIHNlcnZpY2UiOiAnOTk0MjknIGZyb20gIkNQVCIgZGlzcGxheSAnVW5saXN0ZWQgcHJldmVudGl2ZSBtZWRpY2luZSBzZXJ2aWNlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjYtMDEtMDFUMDA6MDA6MDAuMDAwWiwgQDIwMjctMDEtMDFUMDA6MDA6MDAuMDAwWikKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVuY291bnRlciB3aXRoIFVwcGVyIFJlc3BpcmF0b3J5IEluZmVjdGlvbiIgRW5jb3VudGVyV2l0aFVSSQogICAgd2hlcmUgQWdlSW5Nb250aHNBdChkYXRlIGZyb20gc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpID49IDMKICAgIHJldHVybiBFbmNvdW50ZXJXaXRoVVJJCgpkZWZpbmUgIkVuY291bnRlcnMgYW5kIEFzc2Vzc21lbnRzIHdpdGggSG9zcGljZSBQYXRpZW50IjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBFbGlnaWJsZUVuY291bnRlcnMKICAgIHdoZXJlIEhvc3BpY2UuIkhhcyBIb3NwaWNlIFNlcnZpY2VzIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CiAgIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CiAgIkVuY291bnRlcnMgYW5kIEFzc2Vzc21lbnRzIHdpdGggSG9zcGljZSBQYXRpZW50IgogICAgdW5pb24gQW50aWJpb3RpYy4iRW5jb3VudGVyIHdpdGggQ29tb3JiaWQgQ29uZGl0aW9uIEhpc3RvcnkiICggIkVuY291bnRlciB3aXRoIFVwcGVyIFJlc3BpcmF0b3J5IEluZmVjdGlvbiIsICggW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkNvbW9yYmlkIENvbmRpdGlvbnMgZm9yIFJlc3BpcmF0b3J5IENvbmRpdGlvbnMiXSApLnZlcmlmaWVkICggKSApCiAgICB1bmlvbiBBbnRpYmlvdGljLiJFbmNvdW50ZXIgd2l0aCBBbnRpYmlvdGljIE1lZGljYXRpb24gSGlzdG9yeSIgKCAiRW5jb3VudGVyIHdpdGggVXBwZXIgUmVzcGlyYXRvcnkgSW5mZWN0aW9uIiwgKCBbTWVkaWNhdGlvblJlcXVlc3Q6ICJBbnRpYmlvdGljIE1lZGljYXRpb25zIGZvciBVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iXSApLmlzTWVkaWNhdGlvbkFjdGl2ZSAoICkgKQogICAgdW5pb24gQW50aWJpb3RpYy4iRW5jb3VudGVyIHdpdGggQ29tcGV0aW5nIERpYWdub3NpcyBIaXN0b3J5IiAoICJFbmNvdW50ZXIgd2l0aCBVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iLCAoIFtDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM6ICJDb21wZXRpbmcgQ29uZGl0aW9ucyBmb3IgUmVzcGlyYXRvcnkgQ29uZGl0aW9ucyJdCiAgICAgICAgdW5pb24gW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkFjdXRlIFBoYXJ5bmdpdGlzIl0KICAgICAgICB1bmlvbiBbQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzOiAiQWN1dGUgVG9uc2lsbGl0aXMiXQogICAgKS52ZXJpZmllZCAoICkgKQoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iOgogIGZyb20KICAgICJRdWFsaWZ5aW5nIEVuY291bnRlcnMiIFF1YWxpZnlpbmdFbmNvdW50ZXJzLAogICAgKCAoIFtDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM6ICJVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iXSApLnZlcmlmaWVkICggKSApIFVSSQogICAgd2hlcmUgVVJJLnByZXZhbGVuY2VJbnRlcnZhbCAoICkgc3RhcnRzIGR1cmluZyBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcnMucGVyaW9kCiAgICAgIG9yIFVSSS5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIG92ZXJsYXBzIGJlZm9yZSBRdWFsaWZ5aW5nRW5jb3VudGVycy5wZXJpb2QKICAgIHJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVycwoKZGVmaW5lICJRdWFsaWZ5aW5nIEVuY291bnRlcnMiOgogICggKCBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCBWaXNpdCJdCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiTWVkaWNhbCBEaXNhYmlsaXR5IEV4YW0iXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiT2ZmaWNlIFZpc2l0Il0KICAgICAgdW5pb24gW0VuY291bnRlcjogIk91dHBhdGllbnQgQ29uc3VsdGF0aW9uIl0KICAgICAgdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBHcm91cCBDb3Vuc2VsaW5nIl0KICAgICAgdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBJbmRpdmlkdWFsIENvdW5zZWxpbmciXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyJdCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyJdCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiVGVsZXBob25lIFZpc2l0cyJdCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJWaXJ0dWFsIEVuY291bnRlciJdCiAgICAgIHVuaW9uICggW0VuY291bnRlcl0gRQogICAgICAgICAgd2hlcmUgZXhpc3RzICggKCBFLnR5cGUgKSBUCiAgICAgICAgICAgICAgd2hlcmUgVCB+ICJVbmxpc3RlZCBwcmV2ZW50aXZlIG1lZGljaW5lIHNlcnZpY2UiCiAgICAgICAgICApCiAgICAgICkKICApLmlzRW5jb3VudGVyUGVyZm9ybWVkICggKSApIFZhbGlkRW5jb3VudGVyCiAgICB3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIEludGVydmFsWyggc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKSwgKCBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKSAtIDMgZGF5c10KCmRlZmluZSAiTnVtZXJhdG9yIjoKICAiRW5jb3VudGVyIHdpdGggVXBwZXIgUmVzcGlyYXRvcnkgSW5mZWN0aW9uIiBFbmNvdW50ZXJXaXRoVVJJCiAgICB3aXRob3V0ICggKCBbTWVkaWNhdGlvblJlcXVlc3Q6ICJBbnRpYmlvdGljIE1lZGljYXRpb25zIGZvciBVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iXSApLmlzTWVkaWNhdGlvbk9yZGVyICggKSApIE9yZGVyZWRBbnRpYmlvdGljCiAgICAgIHN1Y2ggdGhhdCBPcmRlcmVkQW50aWJpb3RpYy5hdXRob3JlZE9uIDMgZGF5cyBvciBsZXNzIG9uIG9yIGFmdGVyIHN0YXJ0IG9mIEVuY291bnRlcldpdGhVUkkucGVyaW9kCiAgICByZXR1cm4gRW5jb3VudGVyV2l0aFVSSQoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiAxIjoKICAiRW5jb3VudGVyIHdpdGggVXBwZXIgUmVzcGlyYXRvcnkgSW5mZWN0aW9uIiBFbmNvdW50ZXJXaXRoVVJJCiAgICB3aGVyZSBBZ2VJbk1vbnRoc0F0KGRhdGUgZnJvbSBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gMwogICAgICBhbmQgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPD0gMTcKICAgIHJldHVybiBFbmNvdW50ZXJXaXRoVVJJCgpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIDIiOgogICJFbmNvdW50ZXIgd2l0aCBVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iIEVuY291bnRlcldpdGhVUkkKICAgIHdoZXJlIEFnZUluWWVhcnNBdChkYXRlIGZyb20gc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzE4LCA2NF0KICAgIHJldHVybiBFbmNvdW50ZXJXaXRoVVJJCgpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIDMiOgogICJFbmNvdW50ZXIgd2l0aCBVcHBlciBSZXNwaXJhdG9yeSBJbmZlY3Rpb24iIEVuY291bnRlcldpdGhVUkkKICAgIHdoZXJlIEFnZUluWWVhcnNBdChkYXRlIGZyb20gc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpID49IDY1CiAgICByZXR1cm4gRW5jb3VudGVyV2l0aFVSSQ==",
      "url" : "https://madie.cms.gov/Library-CMS154FHIRAppropriateTxforURI.cql"
    }
  ]
}