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 2026-01-16 |
<Measure xmlns="http://hl7.org/fhir">
<id value="CMS22FHIRPCSBPScreeningFollowUp"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablemeasure"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cql-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/elm-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm"/>
</meta>
<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">Metadata</th>
</tr>
<tr>
<th scope="row" class="row-header">Title</th>
<td class="content-container">Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up DocumentedFHIR
</td>
</tr>
<tr>
<th scope="row" class="row-header">Version</th>
<td class="content-container">1.0.000</td>
</tr>
<tr>
<th scope="row" class="row-header">Short Name</th>
<td class="content-container">CMS22FHIR</td>
</tr>
<tr>
<th scope="row" class="row-header">GUID (Version Independent)</th>
<td class="content-container">urn:uuid:1b17d846-cbe0-49fa-b503-518addf19fb0</td>
</tr>
<tr>
<th scope="row" class="row-header">GUID (Version Specific)</th>
<td class="content-container">urn:uuid:54d53d09-d587-47b9-858f-2c6738fba7e7</td>
</tr>
<tr>
<th scope="row" class="row-header">CMS Identifier</th>
<td class="content-container">22FHIR</td>
</tr>
<tr>
<th scope="row" class="row-header">Effective Period</th>
<td class="content-container">2026-01-01 through 2026-12-31</td>
</tr>
<tr>
<th scope="row" class="row-header">Steward (Publisher)</th>
<td class="content-container">Centers for Medicare &amp; Medicaid Services (CMS)</td>
</tr>
<tr>
<th scope="row" class="row-header">Developer</th>
<td class="content-container">American Institutes for Research (AIR)</td>
</tr>
<tr>
<th scope="row" class="row-header">Description</th>
<td class="content-container"><div><p>Percentage of patient visits for patients aged 18 years and older seen during the measurement period who were screened for high blood pressure AND a recommended follow-up plan is documented, as indicated, if blood pressure is elevated or hypertensive</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Copyright</th>
<td class="content-container"><div><p>This electronic clinical quality measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). CMS contracted (Contract # 75FCMC18D0027/ Task Order #: 75FCMC24F0144) with the American Institutes for Research (AIR) to develop this electronic measure. AIR is not responsible for any use of the Measure. AIR makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and AIR has no liability to anyone who relies on such measures or specifications.</p>
<p>Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. AIR disclaims all liability for use or accuracy of any third-party codes contained in the specifications.</p>
<p>CPT(R) contained in the Measure specifications is copyright 2004-2024 American Medical Association. LOINC(R) is copyright 2004-2024 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 is copyright 2024 World Health Organization. All Rights Reserved.</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Disclaimer</th>
<td class="content-container"><div><p>These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Rationale</th>
<td class="content-container"><div><p>Hypertension is a prevalent condition that affects approximately 66.9 million people in the United States. It is estimated that about 20-40% of the adult population has hypertension; the majority of people over age 65 have a hypertension diagnosis (Appleton et al., 2013 and Luehr et al., 2012). Winter (2013) noted that 1 in 3 American adults have hypertension and the lifetime risk of developing hypertension is 90%. The African American population or non-Hispanic Blacks, the elderly, diabetics and those with chronic kidney disease are at increased risk of stroke, myocardial infarction and renal disease. Non-Hispanic Blacks have the highest prevalence at 38.6% (Winter et al., 2013). Hypertension is a major risk factor for ischemic heart disease, left ventricular hypertrophy, renal failure, stroke and dementia (Luehr et al., 2012). Prevention of hypertension and the treatment of established hypertension are complementary approaches to reducing cardiovascular disease risk in the population, but prevention of hypertension provides the optimal means of reducing risk and avoiding harmful consequences. Periodic blood pressure (BP) screening can identify individuals who develop elevated BP over time. More frequent BP screening may be particularly important for individuals with elevated atherosclerotic cardiovascular disease (ASCVD) risk (Whelton et al., 2018).</p>
<p>Hypertension is the most common reason for adult office visits other than pregnancy. Garrison (2013) stated that in 2007, 42 million ambulatory visits were attributed to hypertension (Garrison & Oberhelman, 2013). It also has the highest utilization of prescription drugs. Numerous resources and treatment options are available, yet only about 40-50% of the hypertensive patients have their blood pressure under control (<140/90) (Appleton et al., 2013 and Luehr et al., 2012). In addition to medication non-compliance, poor outcomes are also attributed to poor adherence to lifestyle changes such as a low-sodium diet, weight loss, increased exercise and limiting alcohol intake. Many adults find it difficult to continue medications and lifestyle changes when they are asymptomatic. Symptoms of elevated blood pressure usually do not occur until secondary problems arise such as with vascular diseases (myocardial infarction, stroke, heart failure and renal insufficiency) (Luehr et al., 2012).</p>
<p>Appropriate follow-up after blood pressure measurement is a pivotal component in preventing the progression of hypertension and the development of heart disease. Detection of marginally or fully elevated blood pressure by a specialty clinician warrants referral to a provider familiar with the management of hypertension and prehypertension.</p>
<p>The American College of Cardiology/American Heart Association (ACC/AHA) 2017 Guidelines provide updated recommendations for ASCVD risk. For additional information please refer to the 2017 ACC/AHA guidelines: https://www.acc.org/latest-in-cardiology/ten-points-to-remember/2017/11/09/11/41/2017-guideline-for-high-blood-pressure-in-adults.</p>
<p>Lifestyle modifications have demonstrated effectiveness in lowering blood pressure (U.S. Department of Health and Human Services, 2003). The synergistic effect of several lifestyle modifications results in greater benefits than a single modification alone. Baseline diagnostic/laboratory testing establishes if a co-existing underlying condition is the etiology of hypertension and evaluates if end organ damage from hypertension has already occurred. Landmark trials such as the Antihypertensive and Lipid-Lowering Treatment to Prevent Heart Attack Trial (ALLHAT) have repeatedly proven the efficacy of pharmacologic therapy to control blood pressure and reduce the complications of hypertension. A review of 35 studies found that the pharmacist-led interventions involved medication counseling and patient education. Twenty-nine of the 35 studies showed statistically significant improvement in BP levels of the intervention groups at follow-up (Reeves et al., 2020). Follow-up intervals based on blood pressure control have been established by the 2017 ACC/AHA guideline and the United States Preventive Services Task Force (Whelton et al., 2018; USPSTF, 2021).</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Clinical Recommendation Statement</th>
<td class="content-container"><div><p>The U.S. Preventive Services Task Force (USPSTF, 2021) recommends screening for high blood pressure in adults aged 18 years and older. This is a grade A recommendation.</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>Appleton, S. L., Neo, C., Hill, C. L., Douglas, K. A., & Adams, R. J. (2013). Untreated hypertension: prevalence and patient factors and beliefs associated with under-treatment in a population sample. Journal of Human Hypertension, 27, 453-462. https://doi.org/10.1038/jhh.2012.62</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>Garrison, G. M. & Oberhelman, S. (2013). Screening for hypertension annually compared with current practice. Annals of Family Medicine, 11 (2), 116-121. doi:10.1370/afm.1467</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>Luehr, D., Woolley, T., Burke, R., Dohmen, F., Hayes, R., Johnson, M...., Schoenleber, M. (2012). Hypertension diagnosis and treatment; Institute for Clinical Systems Improvement health care guideline. Updated November, 2012</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>Reeves, L., Robinson, K., McClelland, T., Adedoyin, C., Broeseker, A., and Adunlin, G. (2020). "Pharmacist Interventions in the Management of Blood Pressure Control and Adherence to Antihypertensive Medications: A Systematic Review of Randomized Controlled Trials." Journal of Pharmacy Practice. Available at https://doi.org/10.1177/0897190020903573. Accessed October 5, 2020</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>U.S. Department of Health and Human Services, National Institutes of Health, National Heart, Lung, and Blood Institute & National High Blood Pressure Education Program (2003). The Seventh Report of the Joint National Committee on the Prevention, Detection, Evaluation, and Treatment of High Blood Pressure (JNC-7). NIH Publication No. 03-5233</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>U.S. Preventive Services Task Force (USPSTF) (2021). Screening for hypertension in adults. US Preventive Services Task Force reaffirmation recommendation statement. Journal of the American Medical Association, 325(16): 1650-1656. doi:10.1001/jama.2021.4987</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>Whelton, P.K., Carey, R.M., Aronow, W.S., Casey, D.E., Collins, K., Dennison Himmelfarb, C., Depalma, S.M., Gidding, S., Jamerson, K.A., Jones, D.W., MacLaughlin, E.J, Muntener, P., Ovbiaggele, B., Smith, S.C., Spencer, C.C., Stafford, R.S., Taler, S.J., Thomas, R.J., Williams, K. A., Williamson, J.D., Wright, J.T., (2018). 2017 ACC/AHA/AAPA/ABC/ACPM/AGS/APhA/ASH/ASPC/NMA/PCNA Guideline for the Prevention, Detection, Evaluation, and Management of High Blood Pressure in Adults: A Report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Hypertension, 71(6), e13-e115. doi.org/10.1161/HYP.0000000000000065</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>Winter, K. H., Tuttle, L. A. & Viera, A.J. (2013). Hypertension. Primary Care Clinics in Office Practice, 40, 179-194. doi:10.1016/j.pop.2012.11.008</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Guidance (Usage)</th>
<td class="content-container">This eCQM is an episode-based measure. An episode is defined as each eligible encounter for patients aged 18 years and older during the measurement period. This measure should be reported for every visit. The measure requires that blood pressure measurements (i.e., diastolic and systolic) be obtained during each visit in order to determine the blood pressure reading used to evaluate if an intervention is needed.
Both the systolic and diastolic blood pressure measurements are required for inclusion. If there are multiple blood pressures obtained during a patient visit, only the last, or most recent, pressure measurement will be used to evaluate the measure requirements.
The intent of this measure is to screen patients for high blood pressure and provide recommended follow-up as indicated. The documented follow-up plan must be related to the current blood pressure reading as indicated, example: "Patient referred to primary care provider for BP management."
Telehealth encounters are not eligible for this measure because the measure requires a clinical action that cannot be conducted via telehealth.
This FHIR-based measure has been derived from the QDM-based measure: CMS22v14. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/index.html) for more information on QI-Core and mapping recommendations from QDM to QI-Core STU 6 (https://hl7.org/fhir/us/qicore/STU6/qdm-to-qicore.html).
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Group (Rate) (ID: Group_1)</th>
</tr>
<tr>
<th scope="row" class="row-header">Summary</th>
<td class="content-container">Percentage of patient visits for patients aged 18 years and older seen during the measurement period who were screened for high blood pressure AND a recommended follow-up plan is documented, as indicated, if blood pressure is elevated or hypertensive
</td>
</tr>
<tr>
<th scope="row" class="row-header">Basis</th>
<td class="content-container">Encounter</td>
</tr>
<tr>
<th scope="row" class="row-header">Scoring</th>
<td class="content-container">
Proportion
</td>
</tr>
<tr>
<th scope="row" class="row-header">Improvement Notation</th>
<td class="content-container">
Increased score indicates improvement
</td>
</tr>
<tr>
<th scope="row" class="row-header">Type</th>
<td class="content-container">
Process
</td>
</tr>
<tr>
<th scope="row" class="row-header">Initial Population</th>
<td class="content-container">
<em>ID</em>: InitialPopulation_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">All patient visits for patients aged 18 years and older at the beginning of the measurement period
</p>
<em>Criteria</em>: <a href="#Group_1-InitialPopulation_1">Initial Population</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Denominator</th>
<td class="content-container">
<em>ID</em>: Denominator_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Equals Initial Population
</p>
<em>Criteria</em>: <a href="#Group_1-Denominator_1">Denominator</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Denominator Exclusion</th>
<td class="content-container">
<em>ID</em>: DenominatorExclusion_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Patient has an active diagnosis of hypertension
</p>
<em>Criteria</em>: <a href="#Group_1-DenominatorExclusion_1">Denominator Exclusions</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Denominator Exception</th>
<td class="content-container">
<em>ID</em>: DenominatorException_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Documentation of medical reason(s) for not screening for high blood pressure (e.g., patient is in an urgent or emergent medical situation where time is of the essence and to delay treatment would jeopardize the patient's health status).
Documentation of patient reason(s) for not screening for blood pressure measurements or for not ordering an appropriate follow-up intervention if patient BP is elevated or hypertensive (e.g., patient refuses).
</p>
<em>Criteria</em>: <a href="#Group_1-DenominatorException_1">Denominator Exceptions</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Numerator</th>
<td class="content-container">
<em>ID</em>: Numerator_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Patient visits where patients were screened for high blood pressure AND have a recommended follow-up plan documented, as indicated, if the blood pressure is elevated or hypertensive
</p>
<em>Criteria</em>: <a href="#Group_1-Numerator_1">Numerator</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header"/>
<td class="content-container">For every patient evaluated by this measure also identify payer, race, ethnicity and sex</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Supplemental Data Elements</th>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-ethnicity
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Ethnicity
<br/>
<em>Logic Definition</em>: <a href="#cms22fhirpcsbpscreeningfollowup-sde-ethnicity">SDE Ethnicity</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-payer
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Payer
<br/>
<em>Logic Definition</em>: <a href="#cms22fhirpcsbpscreeningfollowup-sde-payer">SDE Payer</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-race
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Race
<br/>
<em>Logic Definition</em>: <a href="#cms22fhirpcsbpscreeningfollowup-sde-race">SDE Race</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-sex
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Sex
<br/>
<em>Logic Definition</em>: <a href="#cms22fhirpcsbpscreeningfollowup-sde-sex">SDE Sex</a>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Logic</th>
</tr>
<tr>
<th scope="row" class="row-header">Primary Library</th>
<td class="content-container"><code>https://madie.cms.gov/Library/CMS22FHIRPCSBPScreeningFollowUp</code></td>
</tr>
<tr>
<th scope="row" class="row-header">Contents</th>
<td class="content-container">
<em><a href="#population-criteria">Population Criteria</a></em>
<br/>
<em><a href="#definitions">Logic Definitions</a></em>
<br/>
<em><a href="#terminology">Terminology</a></em>
<br/>
<em><a href="#dependencies">Dependencies</a></em>
<br/>
<em><a href="#data-requirements">Data Requirements</a></em>
<br/>
<em><a href="#parameters">Parameters</a></em>
<br/>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="population-criteria"> </a>Population Criteria</th>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Group (Rate) (ID: Group_1)</th>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Initial Population
</th>
</tr>
<tr>
<td>
<a name="Group_1-InitialPopulation_1"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Initial Population":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
where AgeInYearsAt(date from start of "Measurement Period") >= 18</code></pre>
<a href="#cms22fhirpcsbpscreeningfollowup-initial-population"><em>Definition</em></a>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Denominator
</th>
</tr>
<tr>
<td>
<a name="Group_1-Denominator_1"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
<a href="#cms22fhirpcsbpscreeningfollowup-denominator"><em>Definition</em></a>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Denominator Exclusion
</th>
</tr>
<tr>
<td>
<a name="Group_1-DenominatorExclusion_1"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exclusions":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
with [ConditionProblemsHealthConcerns: "Diagnosis of Hypertension"] Hypertension
such that Hypertension.prevalenceInterval ( ) starts before or on day of QualifyingEncounter.period
and Hypertension.isVerified ( )</code></pre>
<a href="#cms22fhirpcsbpscreeningfollowup-denominator-exclusions"><em>Definition</em></a>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Denominator Exception
</th>
</tr>
<tr>
<td>
<a name="Group_1-DenominatorException_1"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exceptions":
"Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"
union "Encounter with Order for Hypertension Follow Up Declined by Patient"</code></pre>
<a href="#cms22fhirpcsbpscreeningfollowup-denominator-exceptions"><em>Definition</em></a>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Numerator
</th>
</tr>
<tr>
<td>
<a name="Group_1-Numerator_1"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Numerator":
"Encounter with Normal Blood Pressure Reading"
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80 and Interventions" )
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80 and Interventions" )
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions" )
union ( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 and Interventions" )</code></pre>
<a href="#cms22fhirpcsbpscreeningfollowup-numerator"><em>Definition</em></a>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="definitions"> </a>Logic Definitions</th>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<a name="supplementaldataelements-sde-sex"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Sex":
case
when Patient.sex() = '248153007' then "Male (finding)"
when Patient.sex() = '248152002' then "Female (finding)"
else null
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<a name="supplementaldataelements-sde-payer"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Payer":
[USQualityCore.Coverage: type in "Payer Type"] Payer
return {
code: Payer.type,
period: Payer.period
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<a name="supplementaldataelements-sde-ethnicity"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Ethnicity":
(Patient.ethnicity()) E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<a name="supplementaldataelements-sde-race"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Race":
(Patient.race()) R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-ext"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns the single extension (if present) on the given resource with the specified url.
@comment: This function uses singleton from to ensure that a run-time exception is thrown if there
is more than one extension on the given resource with the specified url.
*/
define fluent function ext(domainResource DomainResource, url String):
singleton from domainResource.exts(url)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-exts"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns any extensions defined on the given resource with the specified url
*/
define fluent function exts(domainResource DomainResource, url String):
domainResource.extension E
where E.url = url
return E</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-tointerval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in FHIR, allowing this function to be used across any resource.
The input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.
If the input is a Period, the result is a DateTime Interval.
If the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.
If the input is an instant, the result is a DateTime Interval beginning and ending on that instant.
If the input is a string, an error is raised indicating a single interval cannot be computed from a string.
If the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,
and ending immediately prior to when the patient was the given Age plus one year.
If the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given
by the low end of the Range, and ending immediately prior to when the patient was the Age given by the
high end of the Range plus one year.
NOTE: Due to the
complexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used
with a Timing or String.
*/
define fluent function toInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):
case
when choice is FHIR.dateTime then
Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]
when choice is FHIR.Period then
FHIRHelpers.ToInterval(choice as FHIR.Period)
when choice is FHIR.instant then
Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]
when choice is FHIR.Age then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)
when choice is FHIR.Range then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)
when choice is FHIR.Timing then
Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported')
when choice is FHIR.string then
Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')
else
null as Interval<DateTime>
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-ext"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns the single extension (if present) on the given element with the specified url.
@comment: This function uses singleton from to ensure that a run-time exception is thrown if there
is more than one extension on the given element with the specified url.
*/
define fluent function ext(element Element, url String):
singleton from element.exts(url)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-exts"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns any extensions defined on the given element with the specified url.
*/
define fluent function exts(element Element, url String):
element.extension E
where E.url = url
return E</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-prevalenceinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns an interval representing the normalized prevalence period of a given Condition resource.
@comment: Uses the toInterval and toAbatementInterval functions to determine the widest potential interval from
onset to abatement as specified in the given Condition.
*/
define fluent function prevalenceInterval(condition Condition):
if condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse" then
Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
else
(end of condition.abatementInterval()) abatementDate
return
if abatementDate is null then
Interval[start of condition.onset.toInterval(), abatementDate)
else
Interval[start of condition.onset.toInterval(), abatementDate]</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRCommon</td>
</tr>
<tr>
<td>
<a name="fhircommon-abatementinterval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns an interval representing the normalized Abatement of a given Condition resource.
@comment: @comment: If the abatement element of the Condition is represented as a DateTime, the result
is an interval beginning and ending on that DateTime.
If the abatement is represented as a Quantity, the quantity is expected to be a calendar-duration and is interpreted as the age of the patient. The
result is an interval from the date the patient turned that age to immediately before one year later.
If the abatement is represented as a Quantity Interval, the quantities are expected to be calendar-durations and are interpreted as an age range during
which the abatement occurred. The result is an interval from the date the patient turned the starting age of the quantity interval, and ending immediately
before one year later than the date the patient turned the ending age of the quantity interval.
NOTE: Due to the complexity of determining an interval from a String, this function will throw
a run-time exception if used with a Condition instance that has a String as the abatement value.
*/
define fluent function abatementInterval(condition Condition):
if condition.abatement is FHIR.dateTime then
Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]
else if condition.abatement is FHIR.Period then
FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)
else if condition.abatement is FHIR.string then
Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')
else if condition.abatement is FHIR.Age then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)
else if condition.abatement is FHIR.Range then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)
else if condition.abatement is FHIR.boolean then
Interval[end of condition.onset.toInterval(), condition.recordedDate)
else
null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-sde-sex"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Sex":
SDE."SDE Sex"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-qualifying-encounter-during-measurement-period"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Qualifying Encounter during Measurement Period":
[Encounter: "Encounter to Screen for Blood Pressure"] ValidEncounter
where ValidEncounter.period ends during day of "Measurement Period"
and ValidEncounter.status ~ 'finished'
and ValidEncounter.class !~ "virtual"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-normal-blood-pressure-reading"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Normal Blood Pressure Reading":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value in Interval[1 'mm[Hg]', 120 'mm[Hg]' )
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value in Interval[1 'mm[Hg]', 80 'mm[Hg]' )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-elevated-blood-pressure-reading-sbp-120-to-129-and-dbp-less-than-80"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value in Interval[120 'mm[Hg]', 129 'mm[Hg]']
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value in Interval[1 'mm[Hg]', 80 'mm[Hg]' )
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-follow-up-with-rescreen-within-6-months"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Follow up with Rescreen Within 6 Months":
[ServiceRequest: "Follow Up Within 6 Months"] FollowUp
where FollowUp.intent ~ 'order'</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-nonpharmacological-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "NonPharmacological Interventions":
( [ServiceRequest: "Lifestyle Recommendation"]
union [ServiceRequest: "Weight Reduction Recommended"]
union [ServiceRequest: "Dietary Recommendations"]
union [ServiceRequest: "Recommendation to Increase Physical Activity"]
union [ServiceRequest: "Referral or Counseling for Alcohol Consumption"] ) NonPharmaInterventions
where NonPharmaInterventions.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-referral-to-alternate-or-primary-healthcare-professional-for-hypertensive-reading"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading":
[ServiceRequest: "Referral to Primary Care or Alternate Provider"] Referral
where Referral.reasonCode in "Finding of Elevated Blood Pressure or Hypertension"
and Referral.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-elevated-blood-pressure-reading-sbp-120-to-129-and-dbp-less-than-80-and-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80 and Interventions":
( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedEncounter
with "Follow up with Rescreen Within 6 Months" Twoto6MonthRescreen
such that Twoto6MonthRescreen.authoredOn during day of ElevatedEncounter.period
with "NonPharmacological Interventions" NonPharmInterventions
such that NonPharmInterventions.authoredOn during day of ElevatedEncounter.period
)
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedEncounter
with "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" Referral
such that Referral.authoredOn during day of ElevatedEncounter.period
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-hypertensive-reading-within-year-prior"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Hypertensive Reading Within Year Prior":
( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends 1 year or less before or on start of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 130 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 80 'mm[Hg]'
)
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-first-hypertensive-reading-sbp-greater-than-or-equal-to-130-or-dbp-greater-than-or-equal-to-80"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80":
( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value > 0 'mm[Hg]'
)
and ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 130 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 80 'mm[Hg]'
)
)
)
except "Encounter with Hypertensive Reading Within Year Prior"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-first-hypertensive-reading-interventions-or-referral-to-alternate-professional"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "First Hypertensive Reading Interventions or Referral to Alternate Professional":
( [ServiceRequest: "Follow Up Within 4 Weeks"] FourWeekRescreen
with "NonPharmacological Interventions" NonPharmInterventionsHTN
such that FourWeekRescreen.authoredOn during day of "Measurement Period"
and NonPharmInterventionsHTN.authoredOn during day of "Measurement Period"
and FourWeekRescreen.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
)
union ( "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-first-hypertensive-reading-sbp-greater-than-or-equal-to-130-or-dbp-greater-than-or-equal-to-80-and-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80 and Interventions":
"Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80" FirstHTNEncounter
with "First Hypertensive Reading Interventions or Referral to Alternate Professional" FirstHTNIntervention
such that FirstHTNIntervention.authoredOn during day of FirstHTNEncounter.period</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-second-hypertensive-reading-sbp-130-to-139-or-dbp-80-to-89"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89":
( ( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value in Interval[130 'mm[Hg]', 139 'mm[Hg]']
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value in Interval[80 'mm[Hg]', 89 'mm[Hg]']
)
and not ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 140 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 90 'mm[Hg]'
)
)
)
intersect "Encounter with Hypertensive Reading Within Year Prior"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-laboratory-test-or-ecg-for-hypertension"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Laboratory Test or ECG for Hypertension":
( [ServiceRequest: "12 lead EKG panel"]
union [ServiceRequest: "EKG study"]
union [ServiceRequest: "Laboratory Tests for Hypertension"] ) EKGLab
where EKGLab.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-second-hypertensive-reading-sbp-130-to-139-or-dbp-80-to-89-and-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions":
"Follow up with Rescreen Within 6 Months" Rescreen2to6
with "Laboratory Test or ECG for Hypertension" LabECGIntervention
such that Rescreen2to6.authoredOn during day of "Measurement Period"
and LabECGIntervention.authoredOn during day of "Measurement Period"
with "NonPharmacological Interventions" NonPharmSecondIntervention
such that NonPharmSecondIntervention.authoredOn during day of "Measurement Period"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-second-hypertensive-reading-sbp-130-to-139-or-dbp-80-to-89-and-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions":
( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89" SecondHTNEncounterReading
with "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions" EncounterInterventions
such that EncounterInterventions.authoredOn during day of SecondHTNEncounterReading.period
)
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89" SecondHTNEncounterReading
with "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" ReferralForHTN
such that ReferralForHTN.authoredOn during day of SecondHTNEncounterReading.period
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-second-hypertensive-reading-sbp-greater-than-or-equal-to-140-or-dbp-greater-than-or-equal-to-90"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90":
( ( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 140 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 90 'mm[Hg]'
)
)
)
intersect "Encounter with Hypertensive Reading Within Year Prior"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-second-hypertensive-reading-sbp-greater-than-or-equal-to-140-or-dbp-greater-than-or-equal-to-90-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions":
( [ServiceRequest: "Follow Up Within 4 Weeks"] WeeksRescreen
with "Laboratory Test or ECG for Hypertension" ECGLabTest
such that WeeksRescreen.authoredOn during day of "Measurement Period"
and ECGLabTest.authoredOn during day of "Measurement Period"
and WeeksRescreen.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
and ECGLabTest.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
with "NonPharmacological Interventions" HTNInterventions
such that HTNInterventions.authoredOn during day of "Measurement Period"
with ["MedicationRequest": "Pharmacologic Therapy for Hypertension"] Medications
such that Medications.authoredOn during day of "Measurement Period"
and Medications.status in { 'active', 'completed' }
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-second-hypertensive-reading-sbp-greater-than-or-equal-to-140-or-dbp-greater-than-or-equal-to-90-and-interventions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 and Interventions":
( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90" SecondHTNEncounterReading140Over90
with "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions" SecondHTN140Over90Interventions
such that SecondHTN140Over90Interventions.authoredOn during day of SecondHTNEncounterReading140Over90.period
)
union "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90" SecondHTNEncounterReading140Over90
with "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" ReferralToProfessional
such that ReferralToProfessional.authoredOn during day of SecondHTNEncounterReading140Over90.period</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-numerator"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Numerator":
"Encounter with Normal Blood Pressure Reading"
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80 and Interventions" )
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80 and Interventions" )
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions" )
union ( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 and Interventions" )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-initial-population"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Initial Population":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
where AgeInYearsAt(date from start of "Measurement Period") >= 18</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-denominator"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-sde-payer"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Payer":
SDE."SDE Payer"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-sde-ethnicity"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Ethnicity":
SDE."SDE Ethnicity"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-denominator-exclusions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exclusions":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
with [ConditionProblemsHealthConcerns: "Diagnosis of Hypertension"] Hypertension
such that Hypertension.prevalenceInterval ( ) starts before or on day of QualifyingEncounter.period
and Hypertension.isVerified ( )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-sde-race"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Race":
SDE."SDE Race"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-medical-reason-for-not-obtaining-or-patient-declined-blood-pressure-measurement"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
with ( [ObservationCancelled: code ~ "Blood pressure panel with all children optional"]
union [ObservationCancelled: code ~ "Systolic blood pressure"]
union [ObservationCancelled: code ~ "Diastolic blood pressure"] ) NoBPScreen
such that NoBPScreen.issued during day of QualifyingEncounter.period
and ( NoBPScreen.notDoneReason () in "Patient Declined"
or NoBPScreen.notDoneReason () in "Medical Reason"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-nonpharmacological-intervention-not-ordered"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "NonPharmacological Intervention Not Ordered":
( [ServiceNotRequested: "Lifestyle Recommendation"]
union [ServiceNotRequested: "Weight Reduction Recommended"]
union [ServiceNotRequested: "Dietary Recommendations"]
union [ServiceNotRequested: "Recommendation to Increase Physical Activity"]
union [ServiceNotRequested: "Referral or Counseling for Alcohol Consumption"] ) NonPharmIntervention
where NonPharmIntervention.status in { 'active', 'completed', 'on-hold' }
and NonPharmIntervention.reasonCode in "Patient Declined"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-laboratory-test-or-ecg-for-hypertension-not-ordered"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Laboratory Test or ECG for Hypertension Not Ordered":
( [ServiceNotRequested: code = "12 lead EKG panel"]
union [ServiceNotRequested: code = "EKG study"]
union [ServiceNotRequested: "Laboratory Tests for Hypertension"] ) LabECGNotDone
where LabECGNotDone.status in { 'active', 'completed', 'on-hold' }
and LabECGNotDone.reasonCode in "Patient Declined"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-second-hypertensive-reading-sbp-130-to-139-or-dbp-80-to-89-interventions-declined"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 Interventions Declined":
( ( [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"]
union [ServiceNotRequested: "Follow Up Within 6 Months"] ) SecondHTNDeclinedReferralAndFollowUp
where SecondHTNDeclinedReferralAndFollowUp.status in { 'active', 'completed', 'on-hold' }
and SecondHTNDeclinedReferralAndFollowUp.reasonCode in "Patient Declined"
)
union "Laboratory Test or ECG for Hypertension Not Ordered"
union "NonPharmacological Intervention Not Ordered"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-second-hypertensive-reading-sbp-greater-than-or-equal-to-140-or-dbp-greater-than-or-equal-to-90-interventions-declined"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions Declined":
( ( ( [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"]
union [ServiceNotRequested: "Follow Up Within 4 Weeks"] ) SecondHTN140Over90ReferralFollowUpNotDone
where SecondHTN140Over90ReferralFollowUpNotDone.status in { 'active', 'completed', 'on-hold' }
and SecondHTN140Over90ReferralFollowUpNotDone.reasonCode in "Patient Declined"
)
union ( [MedicationNotRequested: "Pharmacologic Therapy for Hypertension"] MedicationRequestNotOrdered
where MedicationRequestNotOrdered.status in { 'active', 'completed' }
)
union "Laboratory Test or ECG for Hypertension Not Ordered"
union "NonPharmacological Intervention Not Ordered"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-encounter-with-order-for-hypertension-follow-up-declined-by-patient"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Encounter with Order for Hypertension Follow Up Declined by Patient":
( ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedBPEncounter
with ( [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"]
union [ServiceNotRequested: "Follow Up Within 6 Months"] ) ElevatedBPDeclinedInterventions
such that ElevatedBPDeclinedInterventions.authoredOn during day of ElevatedBPEncounter.period
and ElevatedBPDeclinedInterventions.status in { 'active', 'completed', 'on-hold' }
and ElevatedBPDeclinedInterventions.reasonCode in "Patient Declined"
)
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedBPEncounter
with "NonPharmacological Intervention Not Ordered" NotOrdered
such that NotOrdered.authoredOn during day of ElevatedBPEncounter.period
)
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80" FirstHTNEncounter
with ( [ServiceNotRequested: "Follow Up Within 4 Weeks"]
union [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"] ) FirstHTNDeclinedInterventions
such that FirstHTNDeclinedInterventions.authoredOn during day of FirstHTNEncounter.period
and FirstHTNDeclinedInterventions.status in { 'active', 'completed', 'on-hold' }
and FirstHTNDeclinedInterventions.reasonCode in "Patient Declined"
)
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80" FirstHTNEncounter
with "NonPharmacological Intervention Not Ordered" NoNonPharm
such that NoNonPharm.authoredOn during day of FirstHTNEncounter.period
)
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89" SecondHTNEncounter
with "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 Interventions Declined" SecondHTNDeclinedInterventions
such that SecondHTNDeclinedInterventions.authoredOn during day of SecondHTNEncounter.period
)
union ( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90" SecondHTN140Over90Encounter
with "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions Declined" SecondHTN140Over90DeclinedInterventions
such that SecondHTN140Over90DeclinedInterventions.authoredOn during day of SecondHTN140Over90Encounter.period
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-denominator-exceptions"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exceptions":
"Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"
union "Encounter with Order for Hypertension Follow Up Declined by Patient"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS22FHIRPCSBPScreeningFollowUp</td>
</tr>
<tr>
<td>
<a name="cms22fhirpcsbpscreeningfollowup-isverified"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@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(condition Choice<ConditionProblemsHealthConcerns, ConditionEncounterDiagnosis>):
condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status."confirmed"
or condition.verificationStatus ~ Status."unconfirmed"
or condition.verificationStatus ~ Status."provisional"
or condition.verificationStatus ~ Status."differential"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> USCoreCommon</td>
</tr>
<tr>
<td>
<a name="uscorecommon-sex"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns the sex element as defined for the USCore patient profile
*/
define fluent function sex(patient Patient):
patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex').value as FHIR.code</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> USCoreCommon</td>
</tr>
<tr>
<td>
<a name="uscorecommon-ethnicity"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function ethnicity(patient Patient):
(patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity')) E
return {
ombCategory: E.ext('ombCategory').value as FHIR.Coding,
detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,
text: E.ext('text').value as FHIR.string
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> USCoreCommon</td>
</tr>
<tr>
<td>
<a name="uscorecommon-race"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define fluent function race(patient Patient):
(patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race')) E
return {
ombCategory: (E.exts('ombCategory')) o return o.value as FHIR.Coding,
detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,
text: E.ext('text').value as FHIR.string
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> USQualityCoreCommon</td>
</tr>
<tr>
<td>
<a name="usqualitycorecommon-notdonereason"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns the notDoneReason for an ObservationCancelled
*/
define fluent function notDoneReason(observationCancelled ObservationCancelled):
observationCancelled.ext('http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-notDoneReason').value as FHIR.CodeableConcept</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value string): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value uri): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tointerval"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value EncounterStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tocode"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-todatetime"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToDateTime(value dateTime): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-todatetime"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToDateTime(value instant): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-todate"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToDate(value date): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-toquantity"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity)
value to a CQL Quantity
@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity
has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)
an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.
@seealso: ToCalendarUnit
*/
define function ToQuantity(quantity FHIR.Quantity):
case
when quantity is null then null
when quantity.value is null then null
when quantity.comparator is not null then
Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
else
Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tocalendarunit"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts a UCUM definite duration unit to a CQL calendar duration
unit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities)
topic of the CQL specification.
@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate
*/
define function ToCalendarUnit(unit System.String):
case unit
when 'ms' then 'millisecond'
when 's' then 'second'
when 'min' then 'minute'
when 'h' then 'hour'
when 'd' then 'day'
when 'wk' then 'week'
when 'mo' then 'month'
when 'a' then 'year'
else unit
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ObservationStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-toconcept"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ServiceRequestIntent): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value MedicationRequestStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<a name="fhirhelpers-tostring"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value ServiceRequestStatus): value.value</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="terminology"> </a>Terminology</th>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system SNOMEDCT
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">SNOMED CT (all versions)</a>
<br/>
<em>Canonical URL</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system ActCode
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.1.0/CodeSystem-v3-ActCode.html">ActCode</a>
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system LOINC
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/6.5.0/CodeSystem-v3-loinc.html">Logical Observation Identifiers, Names and Codes (LOINC)</a>
<br/>
<em>Canonical URL</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system ConditionClinicalStatusCodes
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.1.0/CodeSystem-condition-clinical.html">Condition Clinical Status Codes</a>
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system ConditionVerificationStatusCodes
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/7.1.0/CodeSystem-condition-ver-status.html">ConditionVerificationStatus</a>
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Encounter to Screen for Blood Pressure
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1920/expansion">Encounter to Screen for Blood Pressure</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Follow Up Within 6 Months
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1108.125/expansion">Follow Up Within 6 Months</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.125</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Lifestyle Recommendation
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1581/expansion">Lifestyle Recommendation</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Weight Reduction Recommended
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1510/expansion">Weight Reduction Recommended</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Dietary Recommendations
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1515/expansion">Dietary Recommendations</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Recommendation to Increase Physical Activity
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1518/expansion">Recommendation to Increase Physical Activity</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Referral or Counseling for Alcohol Consumption
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1583/expansion">Referral or Counseling for Alcohol Consumption</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Referral to Primary Care or Alternate Provider
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1580/expansion">Referral to Primary Care or Alternate Provider</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Finding of Elevated Blood Pressure or Hypertension
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1047.514/expansion">Finding of Elevated Blood Pressure or Hypertension</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Follow Up Within 4 Weeks
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1578/expansion">Follow Up Within 4 Weeks</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Laboratory Tests for Hypertension
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1482/expansion">Laboratory Tests for Hypertension</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Pharmacologic Therapy for Hypertension
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.1577/expansion">Pharmacologic Therapy for Hypertension</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Payer Type
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion">Payer Type</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Diagnosis of Hypertension
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.263/expansion">Diagnosis of Hypertension</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Patient Declined
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1582/expansion">Patient Declined</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Medical Reason
<br/>
<em>Resource</em>: <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1007/expansion">Medical Reason</a>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Male (finding)
<br/>
<em>Code</em>: 248153007
<br/>
<em>System</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Female (finding)
<br/>
<em>Code</em>: 248152002
<br/>
<em>System</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: virtual
<br/>
<em>Code</em>: VR
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Systolic blood pressure
<br/>
<em>Code</em>: 8480-6
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Diastolic blood pressure
<br/>
<em>Code</em>: 8462-4
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: EKG 12 channel panel
<br/>
<em>Code</em>: 34534-8
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: EKG study
<br/>
<em>Code</em>: 11524-6
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Code</em>: active
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Code</em>: recurrence
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Code</em>: relapse
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: confirmed
<br/>
<em>Code</em>: confirmed
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: unconfirmed
<br/>
<em>Code</em>: unconfirmed
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: provisional
<br/>
<em>Code</em>: provisional
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: differential
<br/>
<em>Code</em>: differential
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Blood pressure panel with all children optional
<br/>
<em>Code</em>: 85354-9
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="dependencies"> </a>Dependencies</th>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: USQualityCore model information
<br/>
<em>Resource</em>: <code>https://madie.cms.gov/Library/USQualityCore-ModelInfo|0.1.0-cibuild</code>
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/USQualityCore-ModelInfo|0.1.0-cibuild</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: USCore model information
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/us/cql/2026May/Library-USCore-ModelInfo.html">http://hl7.org/fhir/us/cql/Library/USCore-ModelInfo|6.1.0-derived</a>
<br/>
<em>Canonical URL</em>: <tt>http://hl7.org/fhir/us/cql/Library/USCore-ModelInfo|6.1.0-derived</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: FHIR model information
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/uv/cql/STU2/Library-FHIR-ModelInfo.html">http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1</a>
<br/>
<em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library SDE
<br/>
<em>Resource</em>: <a href="Library-SupplementalDataElements.html">SupplementalDataElements</a> version: 6.1.000
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/SupplementalDataElements|6.1.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library FHIRHelpers
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/uv/cql/STU2/Library-FHIRHelpers.html">http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</a>
<br/>
<em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library USCommon
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/us/cql/2026May/Library-USCoreCommon.html">http://hl7.org/fhir/us/cql/Library/USCoreCommon|2.0.0-ballot</a>
<br/>
<em>Canonical URL</em>: <tt>http://hl7.org/fhir/us/cql/Library/USCoreCommon|2.0.0-ballot</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library FHIRCommon
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/uv/cql/STU2/Library-FHIRCommon.html">http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0</a>
<br/>
<em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library Status
<br/>
<em>Resource</em>: <a href="Library-Status.html">Status</a> version: 2.1.000
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/Status|2.1.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library USQualityCoreCommon
<br/>
<em>Resource</em>: <a href="Library-USQualityCoreCommon.html">US Quality Core Common</a> version: 0.1.0-cibuild
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/USQualityCoreCommon|0.1.0-cibuild</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="data-requirements"> </a>Data Requirements</th>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Patient
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-patient</code>
<br/>
<em>Must Support Elements</em>: ombCategory, detailed, text
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/encounter.html">Encounter</a>
<br/>
<em>Must Support Elements</em>: type, period, status, class
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1920/expansion">Encounter to Screen for Blood Pressure</a>
<br/>
<span class="tab-one"><em>Path</em>: status</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
[not stated]: finished (finished)
</span>
<br/>
<span class="tab-one"><em>Path</em>: class</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Patient
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/patient.html">Patient</a>
<br/>
<em>Must Support Elements</em>: birthDate
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-blood-pressure.html">US Core Blood Pressure Profile</a>
<br/>
<em>Must Support Elements</em>: effective, status, component
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1581/expansion">Lifestyle Recommendation</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1510/expansion">Weight Reduction Recommended</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1515/expansion">Dietary Recommendations</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1518/expansion">Recommendation to Increase Physical Activity</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1583/expansion">Referral or Counseling for Alcohol Consumption</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1108.125/expansion">Follow Up Within 6 Months</a>
<br/>
<span class="tab-one"><em>Path</em>: intent</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
[not stated]: order (order)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/34534-8">LOINC: 34534-8</a> (EKG 12 channel panel)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/11524-6">LOINC: 11524-6</a> (EKG study)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1482/expansion">Laboratory Tests for Hypertension</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1108.125/expansion">Follow Up Within 6 Months</a>
<br/>
<span class="tab-one"><em>Path</em>: intent</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
[not stated]: order (order)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, authoredOn, intent
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1578/expansion">Follow Up Within 4 Weeks</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/servicerequest.html">ServiceRequest</a>
<br/>
<em>Must Support Elements</em>: code, reasonCode, intent, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1580/expansion">Referral to Primary Care or Alternate Provider</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Medication
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medication.html">Medication</a>
<br/>
<em>Must Support Elements</em>: id, code
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.1577/expansion">Pharmacologic Therapy for Hypertension</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medicationrequest.html">MedicationRequest</a>
<br/>
<em>Must Support Elements</em>: medication.reference, authoredOn, status
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationRequest
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/medicationrequest.html">MedicationRequest</a>
<br/>
<em>Must Support Elements</em>: medication, authoredOn, status
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: medication</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.1577/expansion">Pharmacologic Therapy for Hypertension</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Coverage
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-coverage</code>
<br/>
<em>Must Support Elements</em>: type, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion">Payer Type</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/condition.html">Condition</a>
<br/>
<em>Must Support Elements</em>: abatement, onset, recordedDate, clinicalStatus
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-condition-problems-health-concerns</code>
<br/>
<em>Must Support Elements</em>: code
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.263/expansion">Diagnosis of Hypertension</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled</code>
<br/>
<em>Must Support Elements</em>: code, issued
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/85354-9">LOINC: 85354-9</a> (Blood pressure panel with all children optional)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled</code>
<br/>
<em>Must Support Elements</em>: code, issued
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/8480-6">LOINC: 8480-6</a> (Systolic blood pressure)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled</code>
<br/>
<em>Must Support Elements</em>: code, issued
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/8462-4">LOINC: 8462-4</a> (Diastolic blood pressure)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1581/expansion">Lifestyle Recommendation</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1510/expansion">Weight Reduction Recommended</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1515/expansion">Dietary Recommendations</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1518/expansion">Recommendation to Increase Physical Activity</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1583/expansion">Referral or Counseling for Alcohol Consumption</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/34534-8">LOINC: 34534-8</a> (EKG 12 channel panel)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/11524-6">LOINC: 11524-6</a> (EKG study)
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.600.1482/expansion">Laboratory Tests for Hypertension</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1108.125/expansion">Follow Up Within 6 Months</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1578/expansion">Follow Up Within 4 Weeks</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: ServiceRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>
<br/>
<em>Must Support Elements</em>: code, status, reasonCode, authoredOn
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1580/expansion">Referral to Primary Care or Alternate Provider</a>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: MedicationRequest
<br/>
<em>Profile(s)</em>:
<code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-medicationnotrequested</code>
<br/>
<em>Must Support Elements</em>: medication, status
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: medication</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.1577/expansion">Pharmacologic Therapy for Hypertension</a>
<br/>
</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"/>
<td class="content-container">
<table>
<thead>
<tr>
<td><em>Name</em></td>
<td><em>Use</em></td>
<td><em>Card.</em></td>
<td><em>Type</em></td>
<td><em>Documentation</em></td>
</tr>
</thead>
<tbody>
<tr>
<td>Measurement Period</td>
<td>In</td>
<td>0..1</td>
<td>Period</td>
<td/>
</tr>
<tr>
<td>SDE Sex</td>
<td>Out</td>
<td>0..1</td>
<td>Coding</td>
<td/>
</tr>
<tr>
<td>Numerator</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
<tr>
<td>Denominator</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
<tr>
<td>SDE Payer</td>
<td>Out</td>
<td>0..*</td>
<td>Resource</td>
<td/>
</tr>
<tr>
<td>Initial Population</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
<tr>
<td>SDE Ethnicity</td>
<td>Out</td>
<td>0..1</td>
<td>Resource</td>
<td/>
</tr>
<tr>
<td>Denominator Exclusions</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
<tr>
<td>SDE Race</td>
<td>Out</td>
<td>0..1</td>
<td>Resource</td>
<td/>
</tr>
<tr>
<td>Denominator Exceptions</td>
<td>Out</td>
<td>0..*</td>
<td>Encounter</td>
<td/>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Generated using version 0.5.4 of the sample-content-ig Liquid templates</th>
</tr>
</tbody>
</table>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="248153007"/>
<display value="Male (finding)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="248152002"/>
<display value="Female (finding)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://terminology.hl7.org/CodeSystem/v3-ActCode"/>
<code value="VR"/>
<display value="virtual"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="8480-6"/>
<display value="Systolic blood pressure"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="8462-4"/>
<display value="Diastolic blood pressure"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="34534-8"/>
<display value="EKG 12 channel panel"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="11524-6"/>
<display value="EKG study"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="active"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="recurrence"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="relapse"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="confirmed"/>
<display value="confirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="unconfirmed"/>
<display value="unconfirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="provisional"/>
<display value="provisional"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="differential"/>
<display value="differential"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="85354-9"/>
<display value="Blood pressure panel with all children optional"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Sex"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Sex":
case
when Patient.sex() = '248153007' then "Male (finding)"
when Patient.sex() = '248152002' then "Female (finding)"
else null
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="SDE Sex"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Sex":
SDE."SDE Sex""/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Qualifying Encounter during Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Encounter during Measurement Period":
[Encounter: "Encounter to Screen for Blood Pressure"] ValidEncounter
where ValidEncounter.period ends during day of "Measurement Period"
and ValidEncounter.status ~ 'finished'
and ValidEncounter.class !~ "virtual""/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Encounter with Normal Blood Pressure Reading"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Normal Blood Pressure Reading":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value in Interval[1 'mm[Hg]', 120 'mm[Hg]' )
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value in Interval[1 'mm[Hg]', 80 'mm[Hg]' )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value in Interval[120 'mm[Hg]', 129 'mm[Hg]']
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value in Interval[1 'mm[Hg]', 80 'mm[Hg]' )
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Follow up with Rescreen Within 6 Months"/>
</extension>
<extension url="statement">
<valueString
value="define "Follow up with Rescreen Within 6 Months":
[ServiceRequest: "Follow Up Within 6 Months"] FollowUp
where FollowUp.intent ~ 'order'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="NonPharmacological Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "NonPharmacological Interventions":
( [ServiceRequest: "Lifestyle Recommendation"]
union [ServiceRequest: "Weight Reduction Recommended"]
union [ServiceRequest: "Dietary Recommendations"]
union [ServiceRequest: "Recommendation to Increase Physical Activity"]
union [ServiceRequest: "Referral or Counseling for Alcohol Consumption"] ) NonPharmaInterventions
where NonPharmaInterventions.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading"/>
</extension>
<extension url="statement">
<valueString
value="define "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading":
[ServiceRequest: "Referral to Primary Care or Alternate Provider"] Referral
where Referral.reasonCode in "Finding of Elevated Blood Pressure or Hypertension"
and Referral.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80 and Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80 and Interventions":
( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedEncounter
with "Follow up with Rescreen Within 6 Months" Twoto6MonthRescreen
such that Twoto6MonthRescreen.authoredOn during day of ElevatedEncounter.period
with "NonPharmacological Interventions" NonPharmInterventions
such that NonPharmInterventions.authoredOn during day of ElevatedEncounter.period
)
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedEncounter
with "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" Referral
such that Referral.authoredOn during day of ElevatedEncounter.period
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Hypertensive Reading Within Year Prior"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Hypertensive Reading Within Year Prior":
( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends 1 year or less before or on start of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 130 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 80 'mm[Hg]'
)
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80":
( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value > 0 'mm[Hg]'
)
and ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 130 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 80 'mm[Hg]'
)
)
)
except "Encounter with Hypertensive Reading Within Year Prior""/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="First Hypertensive Reading Interventions or Referral to Alternate Professional"/>
</extension>
<extension url="statement">
<valueString
value="define "First Hypertensive Reading Interventions or Referral to Alternate Professional":
( [ServiceRequest: "Follow Up Within 4 Weeks"] FourWeekRescreen
with "NonPharmacological Interventions" NonPharmInterventionsHTN
such that FourWeekRescreen.authoredOn during day of "Measurement Period"
and NonPharmInterventionsHTN.authoredOn during day of "Measurement Period"
and FourWeekRescreen.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
)
union ( "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80 and Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80 and Interventions":
"Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80" FirstHTNEncounter
with "First Hypertensive Reading Interventions or Referral to Alternate Professional" FirstHTNIntervention
such that FirstHTNIntervention.authoredOn during day of FirstHTNEncounter.period"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89":
( ( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value in Interval[130 'mm[Hg]', 139 'mm[Hg]']
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value in Interval[80 'mm[Hg]', 89 'mm[Hg]']
)
and not ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 140 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 90 'mm[Hg]'
)
)
)
intersect "Encounter with Hypertensive Reading Within Year Prior"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Laboratory Test or ECG for Hypertension"/>
</extension>
<extension url="statement">
<valueString
value="define "Laboratory Test or ECG for Hypertension":
( [ServiceRequest: "12 lead EKG panel"]
union [ServiceRequest: "EKG study"]
union [ServiceRequest: "Laboratory Tests for Hypertension"] ) EKGLab
where EKGLab.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions":
"Follow up with Rescreen Within 6 Months" Rescreen2to6
with "Laboratory Test or ECG for Hypertension" LabECGIntervention
such that Rescreen2to6.authoredOn during day of "Measurement Period"
and LabECGIntervention.authoredOn during day of "Measurement Period"
with "NonPharmacological Interventions" NonPharmSecondIntervention
such that NonPharmSecondIntervention.authoredOn during day of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions":
( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89" SecondHTNEncounterReading
with "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions" EncounterInterventions
such that EncounterInterventions.authoredOn during day of SecondHTNEncounterReading.period
)
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89" SecondHTNEncounterReading
with "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" ReferralForHTN
such that ReferralForHTN.authoredOn during day of SecondHTNEncounterReading.period
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90":
( ( "Qualifying Encounter during Measurement Period" QualifyingEncounter
let EncounterLastBP: Last([USCore.BloodPressureProfile] BloodPressure
where BloodPressure.effective.toInterval ( ) ends during day of QualifyingEncounter.period
and BloodPressure.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval ( )
)
where ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value > 0 'mm[Hg]'
and ( ( singleton from ( EncounterLastBP.component C
where C.code ~ "Systolic blood pressure"
)
).value >= 140 'mm[Hg]'
or ( singleton from ( EncounterLastBP.component C
where C.code ~ "Diastolic blood pressure"
)
).value >= 90 'mm[Hg]'
)
)
)
intersect "Encounter with Hypertensive Reading Within Year Prior"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions":
( [ServiceRequest: "Follow Up Within 4 Weeks"] WeeksRescreen
with "Laboratory Test or ECG for Hypertension" ECGLabTest
such that WeeksRescreen.authoredOn during day of "Measurement Period"
and ECGLabTest.authoredOn during day of "Measurement Period"
and WeeksRescreen.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
and ECGLabTest.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
with "NonPharmacological Interventions" HTNInterventions
such that HTNInterventions.authoredOn during day of "Measurement Period"
with ["MedicationRequest": "Pharmacologic Therapy for Hypertension"] Medications
such that Medications.authoredOn during day of "Measurement Period"
and Medications.status in { 'active', 'completed' }
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 and Interventions"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 and Interventions":
( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90" SecondHTNEncounterReading140Over90
with "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions" SecondHTN140Over90Interventions
such that SecondHTN140Over90Interventions.authoredOn during day of SecondHTNEncounterReading140Over90.period
)
union "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90" SecondHTNEncounterReading140Over90
with "Referral to Alternate or Primary Healthcare Professional for Hypertensive Reading" ReferralToProfessional
such that ReferralToProfessional.authoredOn during day of SecondHTNEncounterReading140Over90.period"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="define "Numerator":
"Encounter with Normal Blood Pressure Reading"
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80 and Interventions" )
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80 and Interventions" )
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 and Interventions" )
union ( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 and Interventions" )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
where AgeInYearsAt(date from start of "Measurement Period") >= 18"/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator":
"Initial Population""/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Payer"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Payer":
[USQualityCore.Coverage: type in "Payer Type"] Payer
return {
code: Payer.type,
period: Payer.period
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="SDE Payer"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Payer":
SDE."SDE Payer""/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Ethnicity":
(Patient.ethnicity()) E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="SDE Ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Ethnicity":
SDE."SDE Ethnicity""/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Denominator Exclusions"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exclusions":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
with [ConditionProblemsHealthConcerns: "Diagnosis of Hypertension"] Hypertension
such that Hypertension.prevalenceInterval ( ) starts before or on day of QualifyingEncounter.period
and Hypertension.isVerified ( )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Race"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Race":
(Patient.race()) R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="SDE Race"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Race":
SDE."SDE Race""/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement":
"Qualifying Encounter during Measurement Period" QualifyingEncounter
with ( [ObservationCancelled: code ~ "Blood pressure panel with all children optional"]
union [ObservationCancelled: code ~ "Systolic blood pressure"]
union [ObservationCancelled: code ~ "Diastolic blood pressure"] ) NoBPScreen
such that NoBPScreen.issued during day of QualifyingEncounter.period
and ( NoBPScreen.notDoneReason () in "Patient Declined"
or NoBPScreen.notDoneReason () in "Medical Reason"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="NonPharmacological Intervention Not Ordered"/>
</extension>
<extension url="statement">
<valueString
value="define "NonPharmacological Intervention Not Ordered":
( [ServiceNotRequested: "Lifestyle Recommendation"]
union [ServiceNotRequested: "Weight Reduction Recommended"]
union [ServiceNotRequested: "Dietary Recommendations"]
union [ServiceNotRequested: "Recommendation to Increase Physical Activity"]
union [ServiceNotRequested: "Referral or Counseling for Alcohol Consumption"] ) NonPharmIntervention
where NonPharmIntervention.status in { 'active', 'completed', 'on-hold' }
and NonPharmIntervention.reasonCode in "Patient Declined""/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Laboratory Test or ECG for Hypertension Not Ordered"/>
</extension>
<extension url="statement">
<valueString
value="define "Laboratory Test or ECG for Hypertension Not Ordered":
( [ServiceNotRequested: code = "12 lead EKG panel"]
union [ServiceNotRequested: code = "EKG study"]
union [ServiceNotRequested: "Laboratory Tests for Hypertension"] ) LabECGNotDone
where LabECGNotDone.status in { 'active', 'completed', 'on-hold' }
and LabECGNotDone.reasonCode in "Patient Declined""/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 Interventions Declined"/>
</extension>
<extension url="statement">
<valueString
value="define "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 Interventions Declined":
( ( [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"]
union [ServiceNotRequested: "Follow Up Within 6 Months"] ) SecondHTNDeclinedReferralAndFollowUp
where SecondHTNDeclinedReferralAndFollowUp.status in { 'active', 'completed', 'on-hold' }
and SecondHTNDeclinedReferralAndFollowUp.reasonCode in "Patient Declined"
)
union "Laboratory Test or ECG for Hypertension Not Ordered"
union "NonPharmacological Intervention Not Ordered""/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions Declined"/>
</extension>
<extension url="statement">
<valueString
value="define "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions Declined":
( ( ( [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"]
union [ServiceNotRequested: "Follow Up Within 4 Weeks"] ) SecondHTN140Over90ReferralFollowUpNotDone
where SecondHTN140Over90ReferralFollowUpNotDone.status in { 'active', 'completed', 'on-hold' }
and SecondHTN140Over90ReferralFollowUpNotDone.reasonCode in "Patient Declined"
)
union ( [MedicationNotRequested: "Pharmacologic Therapy for Hypertension"] MedicationRequestNotOrdered
where MedicationRequestNotOrdered.status in { 'active', 'completed' }
)
union "Laboratory Test or ECG for Hypertension Not Ordered"
union "NonPharmacological Intervention Not Ordered"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Order for Hypertension Follow Up Declined by Patient"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Order for Hypertension Follow Up Declined by Patient":
( ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedBPEncounter
with ( [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"]
union [ServiceNotRequested: "Follow Up Within 6 Months"] ) ElevatedBPDeclinedInterventions
such that ElevatedBPDeclinedInterventions.authoredOn during day of ElevatedBPEncounter.period
and ElevatedBPDeclinedInterventions.status in { 'active', 'completed', 'on-hold' }
and ElevatedBPDeclinedInterventions.reasonCode in "Patient Declined"
)
union ( "Encounter with Elevated Blood Pressure Reading SBP 120 to 129 AND DBP less than 80" ElevatedBPEncounter
with "NonPharmacological Intervention Not Ordered" NotOrdered
such that NotOrdered.authoredOn during day of ElevatedBPEncounter.period
)
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80" FirstHTNEncounter
with ( [ServiceNotRequested: "Follow Up Within 4 Weeks"]
union [ServiceNotRequested: "Referral to Primary Care or Alternate Provider"] ) FirstHTNDeclinedInterventions
such that FirstHTNDeclinedInterventions.authoredOn during day of FirstHTNEncounter.period
and FirstHTNDeclinedInterventions.status in { 'active', 'completed', 'on-hold' }
and FirstHTNDeclinedInterventions.reasonCode in "Patient Declined"
)
union ( "Encounter with First Hypertensive Reading SBP Greater than or Equal to 130 OR DBP Greater than or Equal to 80" FirstHTNEncounter
with "NonPharmacological Intervention Not Ordered" NoNonPharm
such that NoNonPharm.authoredOn during day of FirstHTNEncounter.period
)
union ( "Encounter with Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89" SecondHTNEncounter
with "Second Hypertensive Reading SBP 130 to 139 OR DBP 80 to 89 Interventions Declined" SecondHTNDeclinedInterventions
such that SecondHTNDeclinedInterventions.authoredOn during day of SecondHTNEncounter.period
)
union ( "Encounter with Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90" SecondHTN140Over90Encounter
with "Second Hypertensive Reading SBP Greater than or Equal to 140 OR DBP Greater than or Equal to 90 Interventions Declined" SecondHTN140Over90DeclinedInterventions
such that SecondHTN140Over90DeclinedInterventions.authoredOn during day of SecondHTN140Over90Encounter.period
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="Denominator Exceptions"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exceptions":
"Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"
union "Encounter with Order for Hypertension Follow Up Declined by Patient""/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value string): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="USCoreCommon"/>
</extension>
<extension url="name">
<valueString value="sex"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the sex element as defined for the USCore patient profile
*/
define fluent function sex(patient Patient):
patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex').value as FHIR.code"/>
</extension>
<extension url="displaySequence">
<valueInteger value="38"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="ext"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the single extension (if present) on the given resource with the specified url.
@comment: This function uses singleton from to ensure that a run-time exception is thrown if there
is more than one extension on the given resource with the specified url.
*/
define fluent function ext(domainResource DomainResource, url String):
singleton from domainResource.exts(url)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="39"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="exts"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns any extensions defined on the given resource with the specified url
*/
define fluent function exts(domainResource DomainResource, url String):
domainResource.extension E
where E.url = url
return E"/>
</extension>
<extension url="displaySequence">
<valueInteger value="40"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value uri): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="41"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="42"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value EncounterStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="43"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="44"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="toInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in FHIR, allowing this function to be used across any resource.
The input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.
If the input is a Period, the result is a DateTime Interval.
If the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.
If the input is an instant, the result is a DateTime Interval beginning and ending on that instant.
If the input is a string, an error is raised indicating a single interval cannot be computed from a string.
If the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,
and ending immediately prior to when the patient was the given Age plus one year.
If the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given
by the low end of the Range, and ending immediately prior to when the patient was the Age given by the
high end of the Range plus one year.
NOTE: Due to the
complexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used
with a Timing or String.
*/
define fluent function toInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):
case
when choice is FHIR.dateTime then
Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]
when choice is FHIR.Period then
FHIRHelpers.ToInterval(choice as FHIR.Period)
when choice is FHIR.instant then
Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]
when choice is FHIR.Age then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)
when choice is FHIR.Range then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)
when choice is FHIR.Timing then
Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported')
when choice is FHIR.string then
Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')
else
null as Interval<DateTime>
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="45"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDateTime"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDateTime(value dateTime): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="46"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDateTime"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDateTime(value instant): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="47"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDate"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDate(value date): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="48"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToQuantity"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity)
value to a CQL Quantity
@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity
has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)
an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.
@seealso: ToCalendarUnit
*/
define function ToQuantity(quantity FHIR.Quantity):
case
when quantity is null then null
when quantity.value is null then null
when quantity.comparator is not null then
Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
else
Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="49"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCalendarUnit"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts a UCUM definite duration unit to a CQL calendar duration
unit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities)
topic of the CQL specification.
@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate
*/
define function ToCalendarUnit(unit System.String):
case unit
when 'ms' then 'millisecond'
when 's' then 'second'
when 'min' then 'minute'
when 'h' then 'hour'
when 'd' then 'day'
when 'wk' then 'week'
when 'mo' then 'month'
when 'a' then 'year'
else unit
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="50"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ObservationStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="51"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="52"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ServiceRequestIntent): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="53"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value MedicationRequestStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="54"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="USCoreCommon"/>
</extension>
<extension url="name">
<valueString value="ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function ethnicity(patient Patient):
(patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity')) E
return {
ombCategory: E.ext('ombCategory').value as FHIR.Coding,
detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,
text: E.ext('text').value as FHIR.string
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="55"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="ext"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the single extension (if present) on the given element with the specified url.
@comment: This function uses singleton from to ensure that a run-time exception is thrown if there
is more than one extension on the given element with the specified url.
*/
define fluent function ext(element Element, url String):
singleton from element.exts(url)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="56"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="exts"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns any extensions defined on the given element with the specified url.
*/
define fluent function exts(element Element, url String):
element.extension E
where E.url = url
return E"/>
</extension>
<extension url="displaySequence">
<valueInteger value="57"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="prevalenceInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns an interval representing the normalized prevalence period of a given Condition resource.
@comment: Uses the toInterval and toAbatementInterval functions to determine the widest potential interval from
onset to abatement as specified in the given Condition.
*/
define fluent function prevalenceInterval(condition Condition):
if condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse" then
Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
else
(end of condition.abatementInterval()) abatementDate
return
if abatementDate is null then
Interval[start of condition.onset.toInterval(), abatementDate)
else
Interval[start of condition.onset.toInterval(), abatementDate]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="58"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRCommon"/>
</extension>
<extension url="name">
<valueString value="abatementInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns an interval representing the normalized Abatement of a given Condition resource.
@comment: @comment: If the abatement element of the Condition is represented as a DateTime, the result
is an interval beginning and ending on that DateTime.
If the abatement is represented as a Quantity, the quantity is expected to be a calendar-duration and is interpreted as the age of the patient. The
result is an interval from the date the patient turned that age to immediately before one year later.
If the abatement is represented as a Quantity Interval, the quantities are expected to be calendar-durations and are interpreted as an age range during
which the abatement occurred. The result is an interval from the date the patient turned the starting age of the quantity interval, and ending immediately
before one year later than the date the patient turned the ending age of the quantity interval.
NOTE: Due to the complexity of determining an interval from a String, this function will throw
a run-time exception if used with a Condition instance that has a String as the abatement value.
*/
define fluent function abatementInterval(condition Condition):
if condition.abatement is FHIR.dateTime then
Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]
else if condition.abatement is FHIR.Period then
FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)
else if condition.abatement is FHIR.string then
Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')
else if condition.abatement is FHIR.Age then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)
else if condition.abatement is FHIR.Range then
Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).low),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((condition.abatement as FHIR.Range).high) + 1 year)
else if condition.abatement is FHIR.boolean then
Interval[end of condition.onset.toInterval(), condition.recordedDate)
else
null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="59"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS22FHIRPCSBPScreeningFollowUp"/>
</extension>
<extension url="name">
<valueString value="isVerified"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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(condition Choice<ConditionProblemsHealthConcerns, ConditionEncounterDiagnosis>):
condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status."confirmed"
or condition.verificationStatus ~ Status."unconfirmed"
or condition.verificationStatus ~ Status."provisional"
or condition.verificationStatus ~ Status."differential"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="60"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="USCoreCommon"/>
</extension>
<extension url="name">
<valueString value="race"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function race(patient Patient):
(patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race')) E
return {
ombCategory: (E.exts('ombCategory')) o return o.value as FHIR.Coding,
detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,
text: E.ext('text').value as FHIR.string
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="61"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="USQualityCoreCommon"/>
</extension>
<extension url="name">
<valueString value="notDoneReason"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the notDoneReason for an ObservationCancelled
*/
define fluent function notDoneReason(observationCancelled ObservationCancelled):
observationCancelled.ext('http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-notDoneReason').value as FHIR.CodeableConcept"/>
</extension>
<extension url="displaySequence">
<valueInteger value="62"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ServiceRequestStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="63"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="USQualityCore model information"/>
<resource
value="https://madie.cms.gov/Library/USQualityCore-ModelInfo|0.1.0-cibuild"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="USCore model information"/>
<resource
value="http://hl7.org/fhir/us/cql/Library/USCore-ModelInfo|6.1.0-derived"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="FHIR model information"/>
<resource
value="http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library SDE"/>
<resource
value="https://madie.cms.gov/Library/SupplementalDataElements|6.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library USCommon"/>
<resource
value="http://hl7.org/fhir/us/cql/Library/USCoreCommon|2.0.0-ballot"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRCommon"/>
<resource
value="http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Status"/>
<resource value="https://madie.cms.gov/Library/Status|2.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library USQualityCoreCommon"/>
<resource
value="https://madie.cms.gov/Library/USQualityCoreCommon|0.1.0-cibuild"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system SNOMEDCT"/>
<resource value="http://snomed.info/sct"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ActCode"/>
<resource value="http://terminology.hl7.org/CodeSystem/v3-ActCode"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system LOINC"/>
<resource value="http://loinc.org"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionClinicalStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionVerificationStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Encounter to Screen for Blood Pressure"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Follow Up Within 6 Months"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.125"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Lifestyle Recommendation"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Weight Reduction Recommended"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Dietary Recommendations"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Recommendation to Increase Physical Activity"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Referral or Counseling for Alcohol Consumption"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Referral to Primary Care or Alternate Provider"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Finding of Elevated Blood Pressure or Hypertension"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Follow Up Within 4 Weeks"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Laboratory Tests for Hypertension"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Pharmacologic Therapy for Hypertension"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Payer Type"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Diagnosis of Hypertension"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Patient Declined"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Medical Reason"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="SDE Sex"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Coding"/>
</parameter>
<parameter>
<name value="Numerator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<parameter>
<name value="Denominator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<parameter>
<name value="SDE Payer"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<parameter>
<name value="SDE Ethnicity"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator Exclusions"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<parameter>
<name value="SDE Race"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator Exceptions"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Encounter"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-patient"/>
<mustSupport value="ombCategory"/>
<mustSupport value="detailed"/>
<mustSupport value="text"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Encounter"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<mustSupport value="status"/>
<mustSupport value="class"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920"/>
</codeFilter>
<codeFilter>
<path value="status"/>
<code>
<code value="finished"/>
</code>
</codeFilter>
<codeFilter>
<path value="class"/>
</codeFilter>
<dateFilter>
<path value="period"/>
<valuePeriod>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql-identifier"/>
<expression value="Measurement Period"/>
</valueExpression>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
<mustSupport value="birthDate"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-blood-pressure"/>
<mustSupport value="effective"/>
<mustSupport value="status"/>
<mustSupport value="component"/>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.125"/>
</codeFilter>
<codeFilter>
<path value="intent"/>
<code>
<code value="order"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="34534-8"/>
<display value="EKG 12 channel panel"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="11524-6"/>
<display value="EKG study"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.125"/>
</codeFilter>
<codeFilter>
<path value="intent"/>
<code>
<code value="order"/>
</code>
</codeFilter>
<dateFilter>
<path value="authoredOn"/>
<valuePeriod>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql-identifier"/>
<expression value="Measurement Period"/>
</valueExpression>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="authoredOn"/>
<mustSupport value="intent"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578"/>
</codeFilter>
<dateFilter>
<path value="authoredOn"/>
<valuePeriod>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql-identifier"/>
<expression value="Measurement Period"/>
</valueExpression>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mustSupport value="code"/>
<mustSupport value="reasonCode"/>
<mustSupport value="intent"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-relatedRequirement">
<extension url="targetId">
<valueString value="3461"/>
</extension>
<extension url="targetProperty">
<valueString value="medication"/>
</extension>
</extension>
<type value="Medication"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Medication"/>
<mustSupport value="id"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577"/>
</codeFilter>
</dataRequirement>
<dataRequirement id="3461">
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationRequest"/>
<mustSupport value="medication.reference"/>
<mustSupport value="authoredOn"/>
<mustSupport value="status"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/MedicationRequest"/>
<mustSupport value="medication"/>
<mustSupport value="authoredOn"/>
<mustSupport value="status"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Coverage"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-coverage"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Condition"/>
<mustSupport value="abatement"/>
<mustSupport value="onset"/>
<mustSupport value="recordedDate"/>
<mustSupport value="clinicalStatus"/>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-condition-problems-health-concerns"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled"/>
<mustSupport value="code"/>
<mustSupport value="issued"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="85354-9"/>
<display value="Blood pressure panel with all children optional"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled"/>
<mustSupport value="code"/>
<mustSupport value="issued"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="8480-6"/>
<display value="Systolic blood pressure"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled"/>
<mustSupport value="code"/>
<mustSupport value="issued"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="8462-4"/>
<display value="Diastolic blood pressure"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="34534-8"/>
<display value="EKG 12 channel panel"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="11524-6"/>
<display value="EKG study"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.125"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="reasonCode"/>
<mustSupport value="authoredOn"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-medicationnotrequested"/>
<mustSupport value="medication"/>
<mustSupport value="status"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance" id="supplementalDataGuidance">
<extension url="guidance">
<valueString
value="For every patient evaluated by this measure also identify payer, race, ethnicity and sex"/>
</extension>
<extension url="usage">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
<display value="Supplemental Data"/>
</coding>
<text value="Supplemental Data Guidance"/>
</valueCodeableConcept>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem">
<valueReference>
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements">
<valueCanonical value="#effective-data-requirements"/>
</extension>
<url value="https://madie.cms.gov/Measure/CMS22FHIRPCSBPScreeningFollowUp"/>
<identifier>
<use value="usual"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="short-name"/>
<display value="Short Name"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/shortName"/>
<value value="CMS22FHIR"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="version-independent"/>
<display value="Version Independent"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:1b17d846-cbe0-49fa-b503-518addf19fb0"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="version-specific"/>
<display value="Version Specific"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:54d53d09-d587-47b9-858f-2c6738fba7e7"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="publisher"/>
<display value="Publisher"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/cmsId"/>
<value value="22FHIR"/>
<assigner>
<display value="CMS"/>
</assigner>
</identifier>
<version value="1.0.000"/>
<name value="CMS22FHIRPCSBPScreeningFollowUp"/>
<title
value="Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up DocumentedFHIR
"/>
<status value="active"/>
<experimental value="false"/>
<date value="2026-01-16T18:18:13+00:00"/>
<publisher value="Centers for Medicare &amp; Medicaid Services (CMS)"/>
<contact>
<telecom>
<system value="url"/>
<value value="https://www.cms.gov/"/>
</telecom>
</contact>
<description
value="Percentage of patient visits for patients aged 18 years and older seen during the measurement period who were screened for high blood pressure AND a recommended follow-up plan is documented, as indicated, if blood pressure is elevated or hypertensive
"/>
<usage
value="This eCQM is an episode-based measure. An episode is defined as each eligible encounter for patients aged 18 years and older during the measurement period. This measure should be reported for every visit. The measure requires that blood pressure measurements (i.e., diastolic and systolic) be obtained during each visit in order to determine the blood pressure reading used to evaluate if an intervention is needed.
Both the systolic and diastolic blood pressure measurements are required for inclusion. If there are multiple blood pressures obtained during a patient visit, only the last, or most recent, pressure measurement will be used to evaluate the measure requirements.
The intent of this measure is to screen patients for high blood pressure and provide recommended follow-up as indicated. The documented follow-up plan must be related to the current blood pressure reading as indicated, example: "Patient referred to primary care provider for BP management."
Telehealth encounters are not eligible for this measure because the measure requires a clinical action that cannot be conducted via telehealth.
This FHIR-based measure has been derived from the QDM-based measure: CMS22v14. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/index.html) for more information on QI-Core and mapping recommendations from QDM to QI-Core STU 6 (https://hl7.org/fhir/us/qicore/STU6/qdm-to-qicore.html).
"/>
<copyright
value="This electronic clinical quality measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare \& Medicaid Services (CMS). CMS contracted (Contract # 75FCMC18D0027/ Task Order #: 75FCMC24F0144) with the American Institutes for Research (AIR) to develop this electronic measure. AIR is not responsible for any use of the Measure. AIR makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and AIR has no liability to anyone who relies on such measures or specifications.
Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. AIR disclaims all liability for use or accuracy of any third-party codes contained in the specifications.
CPT(R) contained in the Measure specifications is copyright 2004-2024 American Medical Association. LOINC(R) is copyright 2004-2024 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT\[R\]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 is copyright 2024 World Health Organization. All Rights Reserved.
"/>
<effectivePeriod>
<start value="2026-01-01"/>
<end value="2026-12-31"/>
</effectivePeriod>
<author>
<name value="American Institutes for Research (AIR)"/>
<telecom>
<system value="url"/>
<value value="https://www.air.org"/>
</telecom>
</author>
<relatedArtifact>
<type value="citation"/>
<citation
value="Appleton, S. L., Neo, C., Hill, C. L., Douglas, K. A., \& Adams, R. J. (2013). Untreated hypertension: prevalence and patient factors and beliefs associated with under-treatment in a population sample. Journal of Human Hypertension, 27, 453-462. https://doi.org/10.1038/jhh.2012.62
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="Garrison, G. M. \& Oberhelman, S. (2013). Screening for hypertension annually compared with current practice. Annals of Family Medicine, 11 (2), 116-121. doi:10.1370/afm.1467
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="Luehr, D., Woolley, T., Burke, R., Dohmen, F., Hayes, R., Johnson, M...., Schoenleber, M. (2012). Hypertension diagnosis and treatment; Institute for Clinical Systems Improvement health care guideline. Updated November, 2012
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="Reeves, L., Robinson, K., McClelland, T., Adedoyin, C., Broeseker, A., and Adunlin, G. (2020). "Pharmacist Interventions in the Management of Blood Pressure Control and Adherence to Antihypertensive Medications: A Systematic Review of Randomized Controlled Trials." Journal of Pharmacy Practice. Available at https://doi.org/10.1177/0897190020903573. Accessed October 5, 2020
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="U.S. Department of Health and Human Services, National Institutes of Health, National Heart, Lung, and Blood Institute \& National High Blood Pressure Education Program (2003). The Seventh Report of the Joint National Committee on the Prevention, Detection, Evaluation, and Treatment of High Blood Pressure (JNC-7). NIH Publication No. 03-5233
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="U.S. Preventive Services Task Force (USPSTF) (2021). Screening for hypertension in adults. US Preventive Services Task Force reaffirmation recommendation statement. Journal of the American Medical Association, 325(16): 1650-1656. doi:10.1001/jama.2021.4987
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="Whelton, P.K., Carey, R.M., Aronow, W.S., Casey, D.E., Collins, K., Dennison Himmelfarb, C., Depalma, S.M., Gidding, S., Jamerson, K.A., Jones, D.W., MacLaughlin, E.J, Muntener, P., Ovbiaggele, B., Smith, S.C., Spencer, C.C., Stafford, R.S., Taler, S.J., Thomas, R.J., Williams, K. A., Williamson, J.D., Wright, J.T., (2018). 2017 ACC/AHA/AAPA/ABC/ACPM/AGS/APhA/ASH/ASPC/NMA/PCNA Guideline for the Prevention, Detection, Evaluation, and Management of High Blood Pressure in Adults: A Report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Hypertension, 71(6), e13-e115. doi.org/10.1161/HYP.0000000000000065
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="Winter, K. H., Tuttle, L. A. \& Viera, A.J. (2013). Hypertension. Primary Care Clinics in Office Practice, 40, 179-194. doi:10.1016/j.pop.2012.11.008
"/>
</relatedArtifact>
<library
value="https://madie.cms.gov/Library/CMS22FHIRPCSBPScreeningFollowUp"/>
<disclaimer
value="These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or \[R\] and unregistered trademarks are indicated by (TM) or \[TM\].
"/>
<rationale
value="Hypertension is a prevalent condition that affects approximately 66.9 million people in the United States. It is estimated that about 20-40% of the adult population has hypertension; the majority of people over age 65 have a hypertension diagnosis (Appleton et al., 2013 and Luehr et al., 2012). Winter (2013) noted that 1 in 3 American adults have hypertension and the lifetime risk of developing hypertension is 90%. The African American population or non-Hispanic Blacks, the elderly, diabetics and those with chronic kidney disease are at increased risk of stroke, myocardial infarction and renal disease. Non-Hispanic Blacks have the highest prevalence at 38.6% (Winter et al., 2013). Hypertension is a major risk factor for ischemic heart disease, left ventricular hypertrophy, renal failure, stroke and dementia (Luehr et al., 2012). Prevention of hypertension and the treatment of established hypertension are complementary approaches to reducing cardiovascular disease risk in the population, but prevention of hypertension provides the optimal means of reducing risk and avoiding harmful consequences. Periodic blood pressure (BP) screening can identify individuals who develop elevated BP over time. More frequent BP screening may be particularly important for individuals with elevated atherosclerotic cardiovascular disease (ASCVD) risk (Whelton et al., 2018).
Hypertension is the most common reason for adult office visits other than pregnancy. Garrison (2013) stated that in 2007, 42 million ambulatory visits were attributed to hypertension (Garrison \& Oberhelman, 2013). It also has the highest utilization of prescription drugs. Numerous resources and treatment options are available, yet only about 40-50% of the hypertensive patients have their blood pressure under control (\<140/90) (Appleton et al., 2013 and Luehr et al., 2012). In addition to medication non-compliance, poor outcomes are also attributed to poor adherence to lifestyle changes such as a low-sodium diet, weight loss, increased exercise and limiting alcohol intake. Many adults find it difficult to continue medications and lifestyle changes when they are asymptomatic. Symptoms of elevated blood pressure usually do not occur until secondary problems arise such as with vascular diseases (myocardial infarction, stroke, heart failure and renal insufficiency) (Luehr et al., 2012).
Appropriate follow-up after blood pressure measurement is a pivotal component in preventing the progression of hypertension and the development of heart disease. Detection of marginally or fully elevated blood pressure by a specialty clinician warrants referral to a provider familiar with the management of hypertension and prehypertension.
The American College of Cardiology/American Heart Association (ACC/AHA) 2017 Guidelines provide updated recommendations for ASCVD risk. For additional information please refer to the 2017 ACC/AHA guidelines: https://www.acc.org/latest-in-cardiology/ten-points-to-remember/2017/11/09/11/41/2017-guideline-for-high-blood-pressure-in-adults.
Lifestyle modifications have demonstrated effectiveness in lowering blood pressure (U.S. Department of Health and Human Services, 2003). The synergistic effect of several lifestyle modifications results in greater benefits than a single modification alone. Baseline diagnostic/laboratory testing establishes if a co-existing underlying condition is the etiology of hypertension and evaluates if end organ damage from hypertension has already occurred. Landmark trials such as the Antihypertensive and Lipid-Lowering Treatment to Prevent Heart Attack Trial (ALLHAT) have repeatedly proven the efficacy of pharmacologic therapy to control blood pressure and reduce the complications of hypertension. A review of 35 studies found that the pharmacist-led interventions involved medication counseling and patient education. Twenty-nine of the 35 studies showed statistically significant improvement in BP levels of the intervention groups at follow-up (Reeves et al., 2020). Follow-up intervals based on blood pressure control have been established by the 2017 ACC/AHA guideline and the United States Preventive Services Task Force (Whelton et al., 2018; USPSTF, 2021).
"/>
<clinicalRecommendationStatement
value="The U.S. Preventive Services Task Force (USPSTF, 2021) recommends screening for high blood pressure in adults aged 18 years and older. This is a grade A recommendation.
"/>
<group id="Group_1">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis">
<valueCode value="Encounter"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type">
<valueCodeableConcept>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="process"/>
<display value="Process"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="increase"/>
<display value="Increased score indicates improvement"/>
</coding>
</valueCodeableConcept>
</extension>
<description
value="Percentage of patient visits for patients aged 18 years and older seen during the measurement period who were screened for high blood pressure AND a recommended follow-up plan is documented, as indicated, if blood pressure is elevated or hypertensive
"/>
<population id="InitialPopulation_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</code>
<description
value="All patient visits for patients aged 18 years and older at the beginning of the measurement period
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="Denominator_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
<display value="Denominator"/>
</coding>
</code>
<description value="Equals Initial Population
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator"/>
</criteria>
</population>
<population id="DenominatorExclusion_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exclusion"/>
<display value="Denominator Exclusion"/>
</coding>
</code>
<description value="Patient has an active diagnosis of hypertension
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exclusions"/>
</criteria>
</population>
<population id="Numerator_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
<display value="Numerator"/>
</coding>
</code>
<description
value="Patient visits where patients were screened for high blood pressure AND have a recommended follow-up plan documented, as indicated, if the blood pressure is elevated or hypertensive
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Numerator"/>
</criteria>
</population>
<population id="DenominatorException_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exception"/>
<display value="Denominator Exception"/>
</coding>
</code>
<description
value="Documentation of medical reason(s) for not screening for high blood pressure (e.g., patient is in an urgent or emergent medical situation where time is of the essence and to delay treatment would jeopardize the patient's health status).
Documentation of patient reason(s) for not screening for blood pressure measurements or for not ordering an appropriate follow-up intervention if patient BP is elevated or hypertensive (e.g., patient refuses).
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exceptions"/>
</criteria>
</population>
</group>
<supplementalData id="sde-ethnicity">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Ethnicity
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Ethnicity"/>
</criteria>
</supplementalData>
<supplementalData id="sde-payer">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Payer
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Payer"/>
</criteria>
</supplementalData>
<supplementalData id="sde-race">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Race
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Race"/>
</criteria>
</supplementalData>
<supplementalData id="sde-sex">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Sex
"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Sex"/>
</criteria>
</supplementalData>
</Measure>