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

: CMS144FHIRHFBetaBlockerForLVSD - XML Representation

Draft as of 2026-09-19

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="CMS144FHIRHFBetaBlockerForLVSD"/>
  <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 CMS144FHIRHFBetaBlockerForLVSD 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
include AHAOverall version '5.1.000' called AHA

codesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'

valueset &quot;Allergy to Beta Blocker Therapy&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1177'
valueset &quot;Arrhythmia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.366'
valueset &quot;Asthma&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.362'
valueset &quot;Atrioventricular Block&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.367'
valueset &quot;Beta Blocker Therapy for LVSD&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1184'
valueset &quot;Beta Blocker Therapy Ingredient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1493'
valueset &quot;Bradycardia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.412'
valueset &quot;Cardiac Pacer&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1178.53'
valueset &quot;Cardiac Pacer in Situ&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.368'
valueset &quot;Hypotension&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.370'
valueset &quot;Intolerance to Beta Blocker Therapy&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1178'
valueset &quot;Medical Reason&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007'
valueset &quot;Patient Reason&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1008'

code &quot;Substance with beta adrenergic receptor antagonist mechanism of action (substance)&quot;: '373254001' from &quot;SNOMEDCT&quot; display 'Substance with beta adrenergic receptor antagonist mechanism of action (substance)'

parameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;
  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)

context Patient

define &quot;Initial Population&quot;:
  AHA.&quot;Is Adult With Two Qualifying Outpatient Encounters and One Heart Failure Outpatient Encounter During the Measurement Period&quot;

define &quot;Denominator&quot;:
  &quot;Initial Population&quot;
    and exists AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot;

define &quot;Denominator Exclusions&quot;:
  AHA.&quot;Has Heart Transplant&quot;
    or AHA.&quot;Has Heart Transplant Complications&quot;
    or AHA.&quot;Has Left Ventricular Assist Device&quot;
    or AHA.&quot;Has Left Ventricular Assist Device Complications&quot;

define &quot;Numerator&quot;:
  &quot;Has Beta Blocker Therapy for LVSD Ordered&quot;
    or &quot;Is Currently Taking Beta Blocker Therapy for LVSD&quot;

define &quot;Denominator Exceptions&quot;:
  &quot;Has Consecutive Heart Rates Less than 50&quot;
    or &quot;Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD&quot;
    or &quot;Has Arrhythmia Diagnosis&quot;
    or &quot;Has Hypotension Diagnosis&quot;
    or &quot;Has Asthma Diagnosis&quot;
    or &quot;Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy&quot;
    or &quot;Has Bradycardia Diagnosis&quot;
    or &quot;Has Allergy or Intolerance to Beta Blocker Therapy Ingredient&quot;
    or &quot;Atrioventricular Block without Cardiac Pacer&quot;

define &quot;SDE Ethnicity&quot;:
  SDE.&quot;SDE Ethnicity&quot;

define &quot;SDE Payer&quot;:
  SDE.&quot;SDE Payer&quot;

define &quot;SDE Race&quot;:
  SDE.&quot;SDE Race&quot;

define &quot;SDE Sex&quot;:
  SDE.&quot;SDE Sex&quot;

define &quot;Atrioventricular Block without Cardiac Pacer&quot;:
  &quot;Has Atrioventricular Block Diagnosis&quot;
    and not &quot;Has Diagnosis of Cardiac Pacer in Situ&quot;
    and not &quot;Has Cardiac Pacer Device Implanted&quot;

define &quot;Has Cardiac Pacer Device Implanted&quot;:
  exists ( [Procedure: &quot;Cardiac Pacer&quot;] ImplantedCardiacPacer
      with AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot; ModerateOrSevereLVSDHFOutpatientEncounter
        such that ImplantedCardiacPacer.performed.toInterval ( ) starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period
      where ImplantedCardiacPacer.status = 'completed'
  )

define &quot;Is Currently Taking Beta Blocker Therapy for LVSD&quot;:
  exists ( [&quot;MedicationRequest&quot;: &quot;Beta Blocker Therapy for LVSD&quot;] ActiveBetaBlocker
      where ActiveBetaBlocker.overlapsAfterHeartFailureOutpatientEncounter ( )
  )

define &quot;Has Hypotension Diagnosis&quot;:
  exists ( ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Hypotension&quot;]
      union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Hypotension&quot;] ) HypotensionAlias
      where HypotensionAlias.overlapsHeartFailureOutpatientEncounter ( )
        and HypotensionAlias.isVerified ( )
  )

define &quot;Has Diagnosis of Cardiac Pacer in Situ&quot;:
  exists ( ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Cardiac Pacer in Situ&quot;]
      union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Cardiac Pacer in Situ&quot;] ) CardiacPacerDiagnosis
      where CardiacPacerDiagnosis.overlapsAfterHeartFailureOutpatientEncounter ( )
        and CardiacPacerDiagnosis.isVerified ( )
  )

define &quot;Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy&quot;:
  exists ( ( ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Allergy to Beta Blocker Therapy&quot;]
        union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Allergy to Beta Blocker Therapy&quot;]
    )
      union ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Intolerance to Beta Blocker Therapy&quot;] )
      union [&quot;ConditionEncounterDiagnosis&quot;: &quot;Intolerance to Beta Blocker Therapy&quot;] ) BetaBlockerAllergyOrIntoleranceDiagnosis
      where BetaBlockerAllergyOrIntoleranceDiagnosis.overlapsAfterHeartFailureOutpatientEncounter ( )
        and BetaBlockerAllergyOrIntoleranceDiagnosis.isVerified ( )
  )

define &quot;Has Bradycardia Diagnosis&quot;:
  exists ( ( [ConditionProblemsHealthConcerns: &quot;Bradycardia&quot;]
      union [ConditionEncounterDiagnosis: &quot;Bradycardia&quot;] ) BradycardiaAlias
      where BradycardiaAlias.overlapsHeartFailureOutpatientEncounter ( )
        and BradycardiaAlias.isVerified ( )
  )

define &quot;Has Consecutive Heart Rates Less than 50&quot;:
  exists ( from
      [&quot;USCore.HeartRateProfile&quot;] HeartRate,
      AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot; ModerateOrSevereLVSDHFOutpatientEncounter
      let PriorHeartRate: Last([&quot;USCore.HeartRateProfile&quot;] MostRecentPriorHeartRate
          where MostRecentPriorHeartRate.effective.toInterval() during ModerateOrSevereLVSDHFOutpatientEncounter.period
            and MostRecentPriorHeartRate.effective.toInterval() before HeartRate.effective.toInterval()
          sort by start of effective.toInterval()
      )
      where HeartRate.effective.toInterval ( ) during ModerateOrSevereLVSDHFOutpatientEncounter.period
        and HeartRate.status in { 'final', 'amended', 'corrected' }
        and HeartRate.value &lt; 50 '/min'
        and PriorHeartRate.value &lt; 50 '/min'
      return HeartRate
  )

define &quot;Has Allergy or Intolerance to Beta Blocker Therapy Ingredient&quot;:
  exists ( ( [AllergyIntolerance: &quot;Beta Blocker Therapy Ingredient&quot;]
      union [AllergyIntolerance: &quot;Substance with beta adrenergic receptor antagonist mechanism of action (substance)&quot;] ) BetaBlockerAllergyIntolerance
      where BetaBlockerAllergyIntolerance.overlapsAfterHeartFailureOutpatientEncounter ( )
        and BetaBlockerAllergyIntolerance.isVerified ( )
  )

define &quot;Has Arrhythmia Diagnosis&quot;:
  exists ( ( [ConditionProblemsHealthConcerns: &quot;Arrhythmia&quot;]
      union [ConditionEncounterDiagnosis: &quot;Arrhythmia&quot;] ) ArrhythmiaAlias
      where ArrhythmiaAlias.overlapsHeartFailureOutpatientEncounter ( )
        and ArrhythmiaAlias.isVerified ( )
  )

define &quot;Has Asthma Diagnosis&quot;:
  exists ( ( [ConditionProblemsHealthConcerns: &quot;Asthma&quot;]
      union [ConditionEncounterDiagnosis: &quot;Asthma&quot;] ) AsthmaAlias
      where AsthmaAlias.overlapsHeartFailureOutpatientEncounter ( )
        and AsthmaAlias.isVerified ( )
  )

define &quot;Has Atrioventricular Block Diagnosis&quot;:
  exists ( ( [ConditionProblemsHealthConcerns: &quot;Atrioventricular Block&quot;]
      union [ConditionEncounterDiagnosis: &quot;Atrioventricular Block&quot;] ) AtrioventricularBlockAlias
      where AtrioventricularBlockAlias.overlapsHeartFailureOutpatientEncounter ( )
        and AtrioventricularBlockAlias.isVerified ( )
  )

define &quot;Has Beta Blocker Therapy for LVSD Ordered&quot;:
  exists ( [MedicationRequest: medication in &quot;Beta Blocker Therapy for LVSD&quot;] BetaBlockerOrdered
      where BetaBlockerOrdered.isOrderedDuringHeartFailureOutpatientEncounter ( )
  )

define &quot;Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD&quot;:
  exists ( [&quot;MedicationNotRequested&quot;: medication in &quot;Beta Blocker Therapy for LVSD&quot;] NoBetaBlockerOrdered
      with AHA.&quot;Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD&quot; ModerateOrSevereLVSDHFOutpatientEncounter
        such that NoBetaBlockerOrdered.authoredOn during day of ModerateOrSevereLVSDHFOutpatientEncounter.period
      where ( NoBetaBlockerOrdered.reasonCode in &quot;Medical Reason&quot;
          or NoBetaBlockerOrdered.reasonCode in &quot;Patient Reason&quot;
      )
  )
  
 /*
@description: Returns true if the given condition either has no verification status or has a verification status of confirmed, unconfirmed, provisional, or differential
*/


define fluent function isVerified(allergyIntolerance AllergyIntolerance):
  allergyIntolerance.verificationStatus is not null implies ( allergyIntolerance.verificationStatus ~ USQualityCoreCommon.&quot;allergy-confirmed&quot;
      or allergyIntolerance.verificationStatus ~ USQualityCoreCommon.&quot;allergy-unconfirmed&quot;
  )

define fluent function isVerified(condition Choice&lt;ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns&gt;):
  condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status.&quot;confirmed&quot;
      or condition.verificationStatus ~ Status.&quot;unconfirmed&quot;
      or condition.verificationStatus ~ Status.&quot;provisional&quot;
      or condition.verificationStatus ~ Status.&quot;differential&quot;
  )</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/CMS144FHIRHFBetaBlockerForLVSD"/>
  <version value="1.1.000"/>
  <name value="CMS144FHIRHFBetaBlockerForLVSD"/>
  <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="LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVMxNDRGSElSSEZCZXRhQmxvY2tlckZvckxWU0QgdmVyc2lvbiAnMS4xLjAwMCcKCnVzaW5nIFVTUXVhbGl0eUNvcmUgdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcKdXNpbmcgVVNDb3JlIHZlcnNpb24gJzYuMS4wLWRlcml2ZWQnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJDb21tb24gdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBGSElSQ29tbW9uCmluY2x1ZGUgaGw3LmZoaXIudXMuY3FsLlVTQ29yZUNvbW1vbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlRWxlbWVudHMgdmVyc2lvbiAnMi4wLjAtYmFsbG90JyBjYWxsZWQgVVNDb3JlRWxlbWVudHMKCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KaW5jbHVkZSBVU1F1YWxpdHlDb3JlQ29tbW9uIHZlcnNpb24gJzAuMS4wLWNpYnVpbGQnIGNhbGxlZCBVU1F1YWxpdHlDb3JlQ29tbW9uCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzIHZlcnNpb24gJzYuMS4wMDAnIGNhbGxlZCBTREUKaW5jbHVkZSBTdGF0dXMgdmVyc2lvbiAnMi4xLjAwMCcgY2FsbGVkIFN0YXR1cwppbmNsdWRlIEFIQU92ZXJhbGwgdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIEFIQQoKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCcKCnZhbHVlc2V0ICJBbGxlcmd5IHRvIEJldGEgQmxvY2tlciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExNzcnCnZhbHVlc2V0ICJBcnJoeXRobWlhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjM2NicKdmFsdWVzZXQgIkFzdGhtYSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNjInCnZhbHVlc2V0ICJBdHJpb3ZlbnRyaWN1bGFyIEJsb2NrIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjM2NycKdmFsdWVzZXQgIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExODQnCnZhbHVlc2V0ICJCZXRhIEJsb2NrZXIgVGhlcmFweSBJbmdyZWRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTMnCnZhbHVlc2V0ICJCcmFkeWNhcmRpYSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy40MTInCnZhbHVlc2V0ICJDYXJkaWFjIFBhY2VyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE3OC41MycKdmFsdWVzZXQgIkNhcmRpYWMgUGFjZXIgaW4gU2l0dSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNjgnCnZhbHVlc2V0ICJIeXBvdGVuc2lvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNzAnCnZhbHVlc2V0ICJJbnRvbGVyYW5jZSB0byBCZXRhIEJsb2NrZXIgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xMTc4Jwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTAwNycKdmFsdWVzZXQgIlBhdGllbnQgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMDgnCgpjb2RlICJTdWJzdGFuY2Ugd2l0aCBiZXRhIGFkcmVuZXJnaWMgcmVjZXB0b3IgYW50YWdvbmlzdCBtZWNoYW5pc20gb2YgYWN0aW9uIChzdWJzdGFuY2UpIjogJzM3MzI1NDAwMScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1N1YnN0YW5jZSB3aXRoIGJldGEgYWRyZW5lcmdpYyByZWNlcHRvciBhbnRhZ29uaXN0IG1lY2hhbmlzbSBvZiBhY3Rpb24gKHN1YnN0YW5jZSknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAyNi0wMS0wMVQwMDowMDowMC4wMDBaLCBAMjAyNy0wMS0wMVQwMDowMDowMC4wMDBaKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgQUhBLiJJcyBBZHVsdCBXaXRoIFR3byBRdWFsaWZ5aW5nIE91dHBhdGllbnQgRW5jb3VudGVycyBhbmQgT25lIEhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgRHVyaW5nIHRoZSBNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgogICAgYW5kIGV4aXN0cyBBSEEuIkhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgd2l0aCBIaXN0b3J5IG9mIE1vZGVyYXRlIG9yIFNldmVyZSBMVlNEIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb25zIjoKICBBSEEuIkhhcyBIZWFydCBUcmFuc3BsYW50IgogICAgb3IgQUhBLiJIYXMgSGVhcnQgVHJhbnNwbGFudCBDb21wbGljYXRpb25zIgogICAgb3IgQUhBLiJIYXMgTGVmdCBWZW50cmljdWxhciBBc3Npc3QgRGV2aWNlIgogICAgb3IgQUhBLiJIYXMgTGVmdCBWZW50cmljdWxhciBBc3Npc3QgRGV2aWNlIENvbXBsaWNhdGlvbnMiCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgIkhhcyBCZXRhIEJsb2NrZXIgVGhlcmFweSBmb3IgTFZTRCBPcmRlcmVkIgogICAgb3IgIklzIEN1cnJlbnRseSBUYWtpbmcgQmV0YSBCbG9ja2VyIFRoZXJhcHkgZm9yIExWU0QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgogICJIYXMgQ29uc2VjdXRpdmUgSGVhcnQgUmF0ZXMgTGVzcyB0aGFuIDUwIgogICAgb3IgIkhhcyBNZWRpY2FsIG9yIFBhdGllbnQgUmVhc29uIGZvciBOb3QgT3JkZXJpbmcgQmV0YSBCbG9ja2VyIGZvciBMVlNEIgogICAgb3IgIkhhcyBBcnJoeXRobWlhIERpYWdub3NpcyIKICAgIG9yICJIYXMgSHlwb3RlbnNpb24gRGlhZ25vc2lzIgogICAgb3IgIkhhcyBBc3RobWEgRGlhZ25vc2lzIgogICAgb3IgIkhhcyBEaWFnbm9zaXMgb2YgQWxsZXJneSBvciBJbnRvbGVyYW5jZSB0byBCZXRhIEJsb2NrZXIgVGhlcmFweSIKICAgIG9yICJIYXMgQnJhZHljYXJkaWEgRGlhZ25vc2lzIgogICAgb3IgIkhhcyBBbGxlcmd5IG9yIEludG9sZXJhbmNlIHRvIEJldGEgQmxvY2tlciBUaGVyYXB5IEluZ3JlZGllbnQiCiAgICBvciAiQXRyaW92ZW50cmljdWxhciBCbG9jayB3aXRob3V0IENhcmRpYWMgUGFjZXIiCgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiQXRyaW92ZW50cmljdWxhciBCbG9jayB3aXRob3V0IENhcmRpYWMgUGFjZXIiOgogICJIYXMgQXRyaW92ZW50cmljdWxhciBCbG9jayBEaWFnbm9zaXMiCiAgICBhbmQgbm90ICJIYXMgRGlhZ25vc2lzIG9mIENhcmRpYWMgUGFjZXIgaW4gU2l0dSIKICAgIGFuZCBub3QgIkhhcyBDYXJkaWFjIFBhY2VyIERldmljZSBJbXBsYW50ZWQiCgpkZWZpbmUgIkhhcyBDYXJkaWFjIFBhY2VyIERldmljZSBJbXBsYW50ZWQiOgogIGV4aXN0cyAoIFtQcm9jZWR1cmU6ICJDYXJkaWFjIFBhY2VyIl0gSW1wbGFudGVkQ2FyZGlhY1BhY2VyCiAgICAgIHdpdGggQUhBLiJIZWFydCBGYWlsdXJlIE91dHBhdGllbnQgRW5jb3VudGVyIHdpdGggSGlzdG9yeSBvZiBNb2RlcmF0ZSBvciBTZXZlcmUgTFZTRCIgTW9kZXJhdGVPclNldmVyZUxWU0RIRk91dHBhdGllbnRFbmNvdW50ZXIKICAgICAgICBzdWNoIHRoYXQgSW1wbGFudGVkQ2FyZGlhY1BhY2VyLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBzdGFydHMgYmVmb3JlIGVuZCBvZiBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAgd2hlcmUgSW1wbGFudGVkQ2FyZGlhY1BhY2VyLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgKQoKZGVmaW5lICJJcyBDdXJyZW50bHkgVGFraW5nIEJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIjoKICBleGlzdHMgKCBbIk1lZGljYXRpb25SZXF1ZXN0IjogIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIl0gQWN0aXZlQmV0YUJsb2NrZXIKICAgICAgd2hlcmUgQWN0aXZlQmV0YUJsb2NrZXIub3ZlcmxhcHNBZnRlckhlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgKQoKZGVmaW5lICJIYXMgSHlwb3RlbnNpb24gRGlhZ25vc2lzIjoKICBleGlzdHMgKCAoIFsiQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyI6ICJIeXBvdGVuc2lvbiJdCiAgICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIjogIkh5cG90ZW5zaW9uIl0gKSBIeXBvdGVuc2lvbkFsaWFzCiAgICAgIHdoZXJlIEh5cG90ZW5zaW9uQWxpYXMub3ZlcmxhcHNIZWFydEZhaWx1cmVPdXRwYXRpZW50RW5jb3VudGVyICggKQogICAgICAgIGFuZCBIeXBvdGVuc2lvbkFsaWFzLmlzVmVyaWZpZWQgKCApCiAgKQoKZGVmaW5lICJIYXMgRGlhZ25vc2lzIG9mIENhcmRpYWMgUGFjZXIgaW4gU2l0dSI6CiAgZXhpc3RzICggKCBbIkNvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMiOiAiQ2FyZGlhYyBQYWNlciBpbiBTaXR1Il0KICAgICAgdW5pb24gWyJDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMiOiAiQ2FyZGlhYyBQYWNlciBpbiBTaXR1Il0gKSBDYXJkaWFjUGFjZXJEaWFnbm9zaXMKICAgICAgd2hlcmUgQ2FyZGlhY1BhY2VyRGlhZ25vc2lzLm92ZXJsYXBzQWZ0ZXJIZWFydEZhaWx1cmVPdXRwYXRpZW50RW5jb3VudGVyICggKQogICAgICAgIGFuZCBDYXJkaWFjUGFjZXJEaWFnbm9zaXMuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBEaWFnbm9zaXMgb2YgQWxsZXJneSBvciBJbnRvbGVyYW5jZSB0byBCZXRhIEJsb2NrZXIgVGhlcmFweSI6CiAgZXhpc3RzICggKCAoIFsiQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyI6ICJBbGxlcmd5IHRvIEJldGEgQmxvY2tlciBUaGVyYXB5Il0KICAgICAgICB1bmlvbiBbIkNvbmRpdGlvbkVuY291bnRlckRpYWdub3NpcyI6ICJBbGxlcmd5IHRvIEJldGEgQmxvY2tlciBUaGVyYXB5Il0KICAgICkKICAgICAgdW5pb24gKCBbIkNvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMiOiAiSW50b2xlcmFuY2UgdG8gQmV0YSBCbG9ja2VyIFRoZXJhcHkiXSApCiAgICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIjogIkludG9sZXJhbmNlIHRvIEJldGEgQmxvY2tlciBUaGVyYXB5Il0gKSBCZXRhQmxvY2tlckFsbGVyZ3lPckludG9sZXJhbmNlRGlhZ25vc2lzCiAgICAgIHdoZXJlIEJldGFCbG9ja2VyQWxsZXJneU9ySW50b2xlcmFuY2VEaWFnbm9zaXMub3ZlcmxhcHNBZnRlckhlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgICAgICAgYW5kIEJldGFCbG9ja2VyQWxsZXJneU9ySW50b2xlcmFuY2VEaWFnbm9zaXMuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBCcmFkeWNhcmRpYSBEaWFnbm9zaXMiOgogIGV4aXN0cyAoICggW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJCcmFkeWNhcmRpYSJdCiAgICAgIHVuaW9uIFtDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM6ICJCcmFkeWNhcmRpYSJdICkgQnJhZHljYXJkaWFBbGlhcwogICAgICB3aGVyZSBCcmFkeWNhcmRpYUFsaWFzLm92ZXJsYXBzSGVhcnRGYWlsdXJlT3V0cGF0aWVudEVuY291bnRlciAoICkKICAgICAgICBhbmQgQnJhZHljYXJkaWFBbGlhcy5pc1ZlcmlmaWVkICggKQogICkKCmRlZmluZSAiSGFzIENvbnNlY3V0aXZlIEhlYXJ0IFJhdGVzIExlc3MgdGhhbiA1MCI6CiAgZXhpc3RzICggZnJvbQogICAgICBbIlVTQ29yZS5IZWFydFJhdGVQcm9maWxlIl0gSGVhcnRSYXRlLAogICAgICBBSEEuIkhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgd2l0aCBIaXN0b3J5IG9mIE1vZGVyYXRlIG9yIFNldmVyZSBMVlNEIiBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlcgogICAgICBsZXQgUHJpb3JIZWFydFJhdGU6IExhc3QoWyJVU0NvcmUuSGVhcnRSYXRlUHJvZmlsZSJdIE1vc3RSZWNlbnRQcmlvckhlYXJ0UmF0ZQogICAgICAgICAgd2hlcmUgTW9zdFJlY2VudFByaW9ySGVhcnRSYXRlLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgZHVyaW5nIE1vZGVyYXRlT3JTZXZlcmVMVlNESEZPdXRwYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgICAgICBhbmQgTW9zdFJlY2VudFByaW9ySGVhcnRSYXRlLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgYmVmb3JlIEhlYXJ0UmF0ZS5lZmZlY3RpdmUudG9JbnRlcnZhbCgpCiAgICAgICAgICBzb3J0IGJ5IHN0YXJ0IG9mIGVmZmVjdGl2ZS50b0ludGVydmFsKCkKICAgICAgKQogICAgICB3aGVyZSBIZWFydFJhdGUuZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIGR1cmluZyBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAgICBhbmQgSGVhcnRSYXRlLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAgIGFuZCBIZWFydFJhdGUudmFsdWUgPCA1MCAnL21pbicKICAgICAgICBhbmQgUHJpb3JIZWFydFJhdGUudmFsdWUgPCA1MCAnL21pbicKICAgICAgcmV0dXJuIEhlYXJ0UmF0ZQogICkKCmRlZmluZSAiSGFzIEFsbGVyZ3kgb3IgSW50b2xlcmFuY2UgdG8gQmV0YSBCbG9ja2VyIFRoZXJhcHkgSW5ncmVkaWVudCI6CiAgZXhpc3RzICggKCBbQWxsZXJneUludG9sZXJhbmNlOiAiQmV0YSBCbG9ja2VyIFRoZXJhcHkgSW5ncmVkaWVudCJdCiAgICAgIHVuaW9uIFtBbGxlcmd5SW50b2xlcmFuY2U6ICJTdWJzdGFuY2Ugd2l0aCBiZXRhIGFkcmVuZXJnaWMgcmVjZXB0b3IgYW50YWdvbmlzdCBtZWNoYW5pc20gb2YgYWN0aW9uIChzdWJzdGFuY2UpIl0gKSBCZXRhQmxvY2tlckFsbGVyZ3lJbnRvbGVyYW5jZQogICAgICB3aGVyZSBCZXRhQmxvY2tlckFsbGVyZ3lJbnRvbGVyYW5jZS5vdmVybGFwc0FmdGVySGVhcnRGYWlsdXJlT3V0cGF0aWVudEVuY291bnRlciAoICkKICAgICAgICBhbmQgQmV0YUJsb2NrZXJBbGxlcmd5SW50b2xlcmFuY2UuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBBcnJoeXRobWlhIERpYWdub3NpcyI6CiAgZXhpc3RzICggKCBbQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJuczogIkFycmh5dGhtaWEiXQogICAgICB1bmlvbiBbQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzOiAiQXJyaHl0aG1pYSJdICkgQXJyaHl0aG1pYUFsaWFzCiAgICAgIHdoZXJlIEFycmh5dGhtaWFBbGlhcy5vdmVybGFwc0hlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgICAgICAgYW5kIEFycmh5dGhtaWFBbGlhcy5pc1ZlcmlmaWVkICggKQogICkKCmRlZmluZSAiSGFzIEFzdGhtYSBEaWFnbm9zaXMiOgogIGV4aXN0cyAoICggW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJBc3RobWEiXQogICAgICB1bmlvbiBbQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzOiAiQXN0aG1hIl0gKSBBc3RobWFBbGlhcwogICAgICB3aGVyZSBBc3RobWFBbGlhcy5vdmVybGFwc0hlYXJ0RmFpbHVyZU91dHBhdGllbnRFbmNvdW50ZXIgKCApCiAgICAgICAgYW5kIEFzdGhtYUFsaWFzLmlzVmVyaWZpZWQgKCApCiAgKQoKZGVmaW5lICJIYXMgQXRyaW92ZW50cmljdWxhciBCbG9jayBEaWFnbm9zaXMiOgogIGV4aXN0cyAoICggW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJBdHJpb3ZlbnRyaWN1bGFyIEJsb2NrIl0KICAgICAgdW5pb24gW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkF0cmlvdmVudHJpY3VsYXIgQmxvY2siXSApIEF0cmlvdmVudHJpY3VsYXJCbG9ja0FsaWFzCiAgICAgIHdoZXJlIEF0cmlvdmVudHJpY3VsYXJCbG9ja0FsaWFzLm92ZXJsYXBzSGVhcnRGYWlsdXJlT3V0cGF0aWVudEVuY291bnRlciAoICkKICAgICAgICBhbmQgQXRyaW92ZW50cmljdWxhckJsb2NrQWxpYXMuaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBCZXRhIEJsb2NrZXIgVGhlcmFweSBmb3IgTFZTRCBPcmRlcmVkIjoKICBleGlzdHMgKCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIl0gQmV0YUJsb2NrZXJPcmRlcmVkCiAgICAgIHdoZXJlIEJldGFCbG9ja2VyT3JkZXJlZC5pc09yZGVyZWREdXJpbmdIZWFydEZhaWx1cmVPdXRwYXRpZW50RW5jb3VudGVyICggKQogICkKCmRlZmluZSAiSGFzIE1lZGljYWwgb3IgUGF0aWVudCBSZWFzb24gZm9yIE5vdCBPcmRlcmluZyBCZXRhIEJsb2NrZXIgZm9yIExWU0QiOgogIGV4aXN0cyAoIFsiTWVkaWNhdGlvbk5vdFJlcXVlc3RlZCI6IG1lZGljYXRpb24gaW4gIkJldGEgQmxvY2tlciBUaGVyYXB5IGZvciBMVlNEIl0gTm9CZXRhQmxvY2tlck9yZGVyZWQKICAgICAgd2l0aCBBSEEuIkhlYXJ0IEZhaWx1cmUgT3V0cGF0aWVudCBFbmNvdW50ZXIgd2l0aCBIaXN0b3J5IG9mIE1vZGVyYXRlIG9yIFNldmVyZSBMVlNEIiBNb2RlcmF0ZU9yU2V2ZXJlTFZTREhGT3V0cGF0aWVudEVuY291bnRlcgogICAgICAgIHN1Y2ggdGhhdCBOb0JldGFCbG9ja2VyT3JkZXJlZC5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgTW9kZXJhdGVPclNldmVyZUxWU0RIRk91dHBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAgIHdoZXJlICggTm9CZXRhQmxvY2tlck9yZGVyZWQucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICBvciBOb0JldGFCbG9ja2VyT3JkZXJlZC5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlYXNvbiIKICAgICAgKQogICkKICAKIC8qCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBjb25kaXRpb24gZWl0aGVyIGhhcyBubyB2ZXJpZmljYXRpb24gc3RhdHVzIG9yIGhhcyBhIHZlcmlmaWNhdGlvbiBzdGF0dXMgb2YgY29uZmlybWVkLCB1bmNvbmZpcm1lZCwgcHJvdmlzaW9uYWwsIG9yIGRpZmZlcmVudGlhbAoqLwoKCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNWZXJpZmllZChhbGxlcmd5SW50b2xlcmFuY2UgQWxsZXJneUludG9sZXJhbmNlKToKICBhbGxlcmd5SW50b2xlcmFuY2UudmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCBudWxsIGltcGxpZXMgKCBhbGxlcmd5SW50b2xlcmFuY2UudmVyaWZpY2F0aW9uU3RhdHVzIH4gVVNRdWFsaXR5Q29yZUNvbW1vbi4iYWxsZXJneS1jb25maXJtZWQiCiAgICAgIG9yIGFsbGVyZ3lJbnRvbGVyYW5jZS52ZXJpZmljYXRpb25TdGF0dXMgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJhbGxlcmd5LXVuY29uZmlybWVkIgogICkKCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gaXNWZXJpZmllZChjb25kaXRpb24gQ2hvaWNlPENvbmRpdGlvbkVuY291bnRlckRpYWdub3NpcywgQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucz4pOgogIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgaXMgbm90IG51bGwgaW1wbGllcyAoIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiBTdGF0dXMuImNvbmZpcm1lZCIKICAgICAgb3IgY29uZGl0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+IFN0YXR1cy4idW5jb25maXJtZWQiCiAgICAgIG9yIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiBTdGF0dXMuInByb3Zpc2lvbmFsIgogICAgICBvciBjb25kaXRpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gU3RhdHVzLiJkaWZmZXJlbnRpYWwiCiAgKQ=="/>
    <url
         value="https://madie.cms.gov/Library-CMS144FHIRHFBetaBlockerForLVSD.cql"/>
  </content>
</Library>