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 |
{
"resourceType" : "Measure",
"id" : "CMS645FHIRBoneDensityPCADTherapy",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablemeasure"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cql-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/elm-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Metadata</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">Bone Density Evaluation for Patients with Prostate Cancer and Receiving Androgen Deprivation TherapyFHIR\n</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">1.0.000</td>\n\n\n</tr>\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Short Name</th>\n\n\n\n<td class=\"content-container\">CMS645FHIR</td>\n\n\n</tr>\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">GUID (Version Independent)</th>\n\n\n\n<td class=\"content-container\">urn:uuid:299de9c4-755d-4f5a-ac9e-fa74fe34f759</td>\n\n\n</tr>\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">GUID (Version Specific)</th>\n\n\n\n<td class=\"content-container\">urn:uuid:5cd769d8-9a63-4637-b18e-76ee9c68cbf9</td>\n\n\n</tr>\n\n\n\n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">CMS Identifier</th>\n\n\n\n<td class=\"content-container\">645FHIR</td>\n\n\n</tr>\n\n \n\n\n\n\n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Effective Period</th>\n\n\n\n<td class=\"content-container\">2026-01-01 through 2026-12-31</td>\n\n\n</tr>\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">Oregon Urology</td>\n\n\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Developer</th>\n\n\n\n<td class=\"content-container\">Oregon Urology</td>\n\n\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>Percentage of patients determined as having prostate cancer who are currently starting or undergoing androgen deprivation therapy (ADT), for an anticipated period of 12 months or greater and who receive an initial bone density evaluation. The bone density evaluation must be prior to the start of ADT or within 3 months of the start of ADT.</p>\n</div></td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Copyright</th>\n\n\n\n<td class=\"content-container\"><div><p>Limited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. Oregon Urology Institute (OUI) and Large Urology Group Practice Association (LUGPA) disclaim all liability for the use or accuracy of third-party codes contained in the specifications.</p>\n<p>CPT(R) contained in the Measure specifications is copyright 2004-2024. American Medical Association. LOINC(R) 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 copyright 2024 World Health Organization. All Rights Reserved.</p>\n</div></td>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Disclaimer</th>\n\n\n\n<td class=\"content-container\"><div><p>The performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications.</p>\n<p>THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.</p>\n<p>Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>\n</div></td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Rationale</th>\n\n\n\n<td class=\"content-container\"><div><p>Androgen suppression as a treatment for prostate cancer can cause osteoporosis (Qaseem, 2008). Patients with prostate cancer undergoing prolonged androgen deprivation therapy (ADT) incur bone loss at a rate higher than menopausal patients (Guise, 2007). In preserving bone health, the goal is to prevent or treat osteopenia/osteoporosis for the patient on ADT and to prevent or delay skeletal-related events. The National Osteoporosis Foundation recommendations include a baseline assessment of bone density with a dual-energy X-ray absorptiometry (DEXA) scan and daily calcium and Vitamin D supplementation (Watts, 2012). The DEXA scan is the gold standard for bone density screening. Patients at risk for adverse bone consequences from chronic ADT do not always receive care according to evidence-based guidelines. These findings call for improved processes that standardize evidence-based practice, including baseline and follow-up bone density assessment (Watts, 2012).</p>\n</div></td>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Clinical Recommendation Statement</th>\n\n\n\n<td class=\"content-container\"><div><p>Bone density screening should be performed at the start of Androgen Deprivation Therapy (ADT) for prostate cancer. It should also be performed every 2 years for the patient with continued ADT or for patients with known osteoporosis. Current insurance practice is to possibly cover the cost of bone density screening if osteoporosis is known or if there is a high-risk drug. Some patients choose to delay bone density screening until after ADT is started and they therefore have insurance authorization due to the administration of a high-risk drug.</p>\n</div></td>\n\n\n</tr>\n\n\n\n<tr>\n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n \n \n \n <td class=\"content-container\">\n \n \n \n <div><p>Cosman, F., deBeur, S.J., LeBoff, M.S., Lewiecki, E. M., Tanner, B., Randall, S., & Lindsay, R. (2014). Clinician's Guide to Prevention and Treatment of Osteoporosis. Osteoporosis International, 25(10), 2359--2381. https://doi.org/10.1007/s00198-014-2794-2</p>\n</div>\n \n \n \n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n \n \n \n <td class=\"content-container\">\n \n \n \n <div><p>Finkelstein, J., & Yu, E. (2017). Clinical manifestations, diagnosis, and evaluation of osteoporosis in men. Retrieved from https://www.uptodate.com/contents/clinical-manifestations-diagnosis-and-evaluation-of-osteoporosis-in-men/print?source=see_link</p>\n</div>\n \n \n \n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n \n \n \n <td class=\"content-container\">\n \n \n \n <div><p>Guise, T.A., Oefelein, M.G., Eastham, J.A., Cookson, M.S., Higano, C.S., & Smith, M.R. (2007). Estrogenic side effects of androgen deprivation therapy. Reviews in urology, 9(4), 163-180.</p>\n</div>\n \n \n \n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n \n \n \n <td class=\"content-container\">\n \n \n \n <div><p>Qaseem, A., Snow, V., Shekelle, P., Hopkins, R., Forciea, M. A., Owens, D. K., & for the Clinical Efficacy Assessment Subcommittee of the American College of Physicians. (2008). Annals of Internal Medicine. Screening for osteoporosis in men: A clinical practice guideline from the American College of Physicians, 2008. Annals of Internal Medicine, 148(9), 680-684. https://doi.org/10.7326/0003-4819-148-9-200805060-00008</p>\n</div>\n \n \n \n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n \n \n \n <td class=\"content-container\">\n \n \n \n <div><p>Ward, R. J., Roberts, C. C., Bencardino, J. T., Arnold, E., Baccei, S. J., Cassidy, R. C., ... Weissman, B. N. (2017). ACR Appropriateness Criteria (R) Osteoporosis and Bone Mineral Density. Journal of the American College of Radiology, 14(5), S189--S202. https://doi.org/10.1016/j.jacr.2017.02.018</p>\n</div>\n \n \n \n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n \n \n \n <td class=\"content-container\">\n \n \n \n <div><p>Watts, N. B., Adler, R. A., Bilezikian, J. P., Drake, M. T., Eastell, R., Orwoll, E. S., & Finkelstein, J. S. (2012). Osteoporosis in Men: An Endocrine Society Clinical Practice Guideline. The Journal of Clinical Endocrinology & Metabolism, 97(6), 1802--1822. https://doi.org/10.1210/jc.2011-3045</p>\n</div>\n \n \n \n \n \n \n \n </td>\n</tr>\n\n\n\n\n\n\n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Definition</th>\n\n\n\n<td class=\"content-container\">Dual Energy X-ray Absorptiometry (DEXA): A scan that measures the bone of the spine, hip, or total body and measures bone mineral density. It is considered one of the most accurate measurements.\n</td>\n\n\n</tr>\n\n\n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Definition</th>\n\n\n\n<td class=\"content-container\">First Androgen Deprivation Therapy: The first Androgen Deprivation Therapy (ADT) is measured as the first order or administration of ADT for an anticipated period of 12 months or greater to a patient with prostate cancer.\n</td>\n\n\n</tr>\n\n\n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Definition</th>\n\n\n\n<td class=\"content-container\">Peripheral Dual Energy X-ray Absorptiometry (PDXA): Bone mineral density measurement of the wrist, heel, or finger.\n</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Guidance (Usage)</th>\n\n\n\n<td class=\"content-container\">In order to capture the practitioner's intent of androgen deprivation therapy (ADT) for a period of 12 months or greater, SNOMEDCT 456381000124102 which is Injection of leuprolide acetate for the twelve-month period (regime/therapy) is the correct code.\n\nThis eCQM is a patient-based measure.\n\nThis FHIR-based measure has been derived from the QDM-based measure CMS645v9. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/) 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).\n</td>\n\n\n</tr>\n\n\n\n \n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate) (ID: Group_1)</th>\n\n\n</tr>\n \n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Basis</th>\n\n\n\n<td class=\"content-container\">boolean</td>\n\n\n</tr>\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Scoring</th>\n\n\n\n<td class=\"content-container\">\n Proportion\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Improvement Notation</th>\n\n\n\n<td class=\"content-container\">\n Increased score indicates improvement\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n Process\n\n\n</td>\n\n\n</tr>\n\n\n\n\n \n \n\n \n \n \n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Initial Population</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: InitialPopulation_1\n <br/>\n \n \n <em>Description</em>:\n <p style=\"white-space: pre-line\" class=\"tab-one\">Patients with a qualifying encounter in the measurement period AND with a diagnosis of prostate cancer AND with an order for ADT or an active medication of ADT with an intent for treatment greater than or equal to 12 months during the measurement period AND order for ADT in 3 months before to 9 months after the start of the measurement period\n</p>\n \n \n \n \n \n <em>Criteria</em>: <a href=\"#Group_1-InitialPopulation_1\">Initial Population</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n \n\n \n \n \n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Denominator</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: Denominator_1\n <br/>\n \n \n <em>Description</em>:\n <p style=\"white-space: pre-line\" class=\"tab-one\">Equals Initial Population\n</p>\n \n \n \n \n \n <em>Criteria</em>: <a href=\"#Group_1-Denominator_1\">Denominator</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n \n\n \n \n \n\n \n \n \n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Denominator Exception</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: DenominatorException_1\n <br/>\n \n \n <em>Description</em>:\n <p style=\"white-space: pre-line\" class=\"tab-one\">Patient refused the bone density evaluation at the time ordered or did not have it performed within 3 months after the start of ADT\n</p>\n \n \n \n \n \n <em>Criteria</em>: <a href=\"#Group_1-DenominatorException_1\">Denominator Exception</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n \n\n \n \n \n \n \n \n <tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Numerator</th>\n\n\n \n <td class=\"content-container\">\n \n <em>ID</em>: Numerator_1\n <br/>\n \n \n <em>Description</em>:\n <p style=\"white-space: pre-line\" class=\"tab-one\">Patients with a bone density evaluation within the two years prior to the start of or less than three months after the start of ADT treatment\n</p>\n \n \n \n \n \n <em>Criteria</em>: <a href=\"#Group_1-Numerator_1\">Numerator</a> \n \n \n \n \n \n \n </td>\n </tr>\n \n\n \n \n\n \n \n \n\n \n\n\n \n\n\n\n\n\n\n\n \n \n \n \n \n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\"/>\n\n\n\n<td class=\"content-container\"><p>For every patient evaluated by this measure also identify payer, race, ethnicity and sex</p></td>\n\n\n</tr>\n\n \n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Supplemental Data Elements</th>\n\n\n</tr>\n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-ethnicity\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: SDE Ethnicity\n\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-ethnicity\">SDE Ethnicity</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-payer\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: SDE Payer\n\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-payer\">SDE Payer</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-race\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: SDE Race\n\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-race\">SDE Race</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-sex\n \n <br/>\n \n \n \n \n \n <em>Usage Code</em>: <span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}\">Supplemental Data</span>\n \n <br/>\n \n \n \n <em>Description</em>: SDE Sex\n\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-sex\">SDE Sex</a> \n \n \n \n </td>\n</tr>\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Logic</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Primary Library</th>\n\n\n\n<td class=\"content-container\"><code>https://madie.cms.gov/Library/CMS645FHIRBoneDensityPCADTherapy</code></td>\n\n\n</tr>\n\n\n\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Contents</th>\n <td class=\"content-container\">\n <em><a href=\"#population-criteria\">Population Criteria</a></em>\n <br/>\n <em><a href=\"#definitions\">Logic Definitions</a></em>\n <br/>\n <em><a href=\"#terminology\">Terminology</a></em>\n <br/>\n <em><a href=\"#dependencies\">Dependencies</a></em>\n <br/>\n <em><a href=\"#data-requirements\">Data Requirements</a></em>\n <br/>\n <em><a href=\"#parameters\">Parameters</a></em>\n <br/>\n </td>\n</tr>\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"population-criteria\"> </a>Population Criteria</th>\n\n\n</tr>\n \n \n \n\n \n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate) (ID: Group_1)</th>\n\n\n</tr>\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Initial Population\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"Group_1-InitialPopulation_1\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n "Has Qualifying Encounter"\n and exists "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period"</code></pre>\n \n \n <a href=\"#cms645fhirbonedensitypcadtherapy-initial-population\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Denominator\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"Group_1-Denominator_1\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n \n \n <a href=\"#cms645fhirbonedensitypcadtherapy-denominator\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Denominator Exception\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"Group_1-DenominatorException_1\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator Exception":\n exists ( "No Bone Density Scan Ordered Due to Patient Refusal" )\n or exists ( "No Bone Density Scan Performed Due to Patient Refusal" )</code></pre>\n \n \n <a href=\"#cms645fhirbonedensitypcadtherapy-denominator-exception\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n <tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n Numerator\n \n </th>\n</tr>\n<tr>\n\n <td>\n \n \n \n \n \n <a name=\"Group_1-Numerator_1\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n "Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT"</code></pre>\n \n \n <a href=\"#cms645fhirbonedensitypcadtherapy-numerator\"><em>Definition</em></a>\n \n </td>\n\n</tr>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n\n \n\n\n \n\n\n \n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"definitions\"> </a>Logic Definitions</th>\n\n\n</tr>\n \n \n \n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-sex\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Sex":\n case\n when Patient.sex() = '248153007' then "Male (finding)"\n when Patient.sex() = '248152002' then "Female (finding)"\n else null\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-payer\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Payer":\n [USQualityCore.Coverage: type in "Payer Type"] Payer\n return {\n code: Payer.type,\n period: Payer.period\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-ethnicity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Ethnicity":\n (Patient.ethnicity()) E\n return Tuple {\n codes: { E.ombCategory } union E.detailed,\n display: E.text\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelements-sde-race\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Race":\n (Patient.race()) R\n return Tuple {\n codes: R.ombCategory union R.detailed,\n display: R.text\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-sde-sex\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Sex":\n SDE."SDE Sex"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-androgen-deprivation-therapy-for-urology-care-medication-active-start-dates\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Androgen Deprivation Therapy for Urology Care Medication Active Start Dates":\n [MedicationRequest: "Androgen Deprivation Therapy for Urology Care"] ADTActive\n let firstMedicationPeriod: First((collapse(ADTActive.dosageInstruction.timing.repeat.bounds DoseTime\n return DoseTime.toInterval()\n )) DrugPeriods\n sort by start of $this\n ),\n\n //get the very first event as interval\n \n firstMedicationEvent: First((ADTActive.dosageInstruction.timing dosageTiming\n //returns first event for the specific dosageTiming\n \n return First(dosageTiming.event dosageTimingEvents\n sort ascending\n )) firstEvents\n sort ascending\n ),\n medicationDateTime: Min({ firstMedicationEvent, start of firstMedicationPeriod, \n end of firstMedicationPeriod }\n )\n where ADTActive.status in { 'active', 'completed' }\n and ADTActive.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }\n return medicationDateTime</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-androgen-deprivation-therapy-for-urology-care-medication-order-start-dates\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Androgen Deprivation Therapy for Urology Care Medication Order Start Dates":\n [MedicationRequest: "Androgen Deprivation Therapy for Urology Care"] ADTOrder\n let firstMedicationPeriod: First((collapse(ADTOrder.dosageInstruction.timing.repeat.bounds DoseTime\n return DoseTime.toInterval()\n )) DrugPeriods\n sort by start of $this\n ),\n medicationDateTime: Min({ ADTOrder.authoredOn, start of firstMedicationPeriod, \n end of firstMedicationPeriod }\n )\n where ADTOrder.status in { 'active', 'completed' }\n and ADTOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }\n return medicationDateTime</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-prostate-cancer-diagnosis\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Prostate Cancer Diagnosis":\n ( [ConditionProblemsHealthConcerns: "Prostate Cancer"]\n union [ConditionEncounterDiagnosis: "Prostate Cancer"] ) ProstateCancer\n where ProstateCancer.onset.toInterval ( ) overlaps day of "Measurement Period"\n and ProstateCancer.isVerified ( )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-first-adt-in-3-months-before-to-9-months-after-start-of-measurement-period\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "First ADT in 3 Months Before to 9 Months After Start of Measurement Period":\n First(("Androgen Deprivation Therapy for Urology Care Medication Active Start Dates"\n union "Androgen Deprivation Therapy for Urology Care Medication Order Start Dates") ADTDateTime\n with "Prostate Cancer Diagnosis" ProstateCancer\n such that ADTDateTime during day of ProstateCancer.onset.toInterval ( )\n and ADTDateTime during day of Interval[start of "Measurement Period" - 3 months, start of "Measurement Period" + 9 months]\n sort ascending\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-order-for-12-months-of-adt-in-3-months-before-to-9-months-after-start-of-measurement-period\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period":\n [ServiceRequest: "Injection of leuprolide acetate for twelve month period (regime/therapy)"] OrderTwelveMonthADT\n with "First ADT in 3 Months Before to 9 Months After Start of Measurement Period" FirstADTMP\n such that OrderTwelveMonthADT.authoredOn on or after day of FirstADTMP\n and OrderTwelveMonthADT.authoredOn during day of Interval[start of "Measurement Period" - 3 months, start of "Measurement Period" + 9 months]\n and OrderTwelveMonthADT.status in { 'active', 'completed' }\n and OrderTwelveMonthADT.intent = 'order'</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-has-baseline-dexa-scan-two-years-prior-to-the-start-of-or-less-than-three-months-after-the-start-of-adt\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT":\n exists ( ( [ServiceRequest: "DEXA Bone Density for Urology Care"] DEXAOrdered\n with "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period" OrderTwelveMonthsADT\n such that DEXAOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n or DEXAOrdered.authoredOn 2 years or less before day of OrderTwelveMonthsADT.authoredOn\n where DEXAOrdered.status in { 'active', 'completed' }\n and DEXAOrdered.intent = 'order'\n )\n union ( [ObservationClinicalResult: "DEXA Bone Density for Urology Care"] DEXAPerformed\n with "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period" OrderTwelveMonthsADT\n such that DEXAPerformed.effective.toInterval ( ) 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n or DEXAPerformed.effective.toInterval ( ) 2 years or less before day of OrderTwelveMonthsADT.authoredOn\n where DEXAPerformed.status in { 'final', 'amended', 'corrected' }\n )\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-numerator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n "Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-no-bone-density-scan-ordered-due-to-patient-refusal\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "No Bone Density Scan Ordered Due to Patient Refusal":\n [ServiceNotRequested: "DEXA Bone Density for Urology Care"] DEXANotOrdered\n with "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period" OrderTwelveMonthsADT\n such that DEXANotOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n and DEXANotOrdered.reasonRefused ( ) in "Patient Declined"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-no-bone-density-scan-performed-due-to-patient-refusal\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "No Bone Density Scan Performed Due to Patient Refusal":\n [ObservationCancelled: "DEXA Bone Density for Urology Care"] DEXANotPerformed\n with "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period" OrderTwelveMonthsADT\n such that DEXANotPerformed.issued 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n and DEXANotPerformed.notDoneReason ( ) in "Patient Declined"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-denominator-exception\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator Exception":\n exists ( "No Bone Density Scan Ordered Due to Patient Refusal" )\n or exists ( "No Bone Density Scan Performed Due to Patient Refusal" )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-has-qualifying-encounter\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Has Qualifying Encounter":\n exists ( ["Encounter": "Office Visit"] OfficeVisit\n where OfficeVisit.period during day of "Measurement Period"\n and OfficeVisit.status = 'finished'\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-initial-population\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n "Has Qualifying Encounter"\n and exists "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-denominator\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-sde-payer\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Payer":\n SDE."SDE Payer"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-sde-ethnicity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Ethnicity":\n SDE."SDE Ethnicity"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-sde-race\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "SDE Race":\n SDE."SDE Race"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CMS645FHIRBoneDensityPCADTherapy</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"cms645fhirbonedensitypcadtherapy-isverified\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/* \n@description: Returns true if the given condition either has no verification status or has a verification status of confirmed, unconfirmed, provisional, or differential\n*/\n\n\ndefine fluent function isVerified(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):\n condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status."confirmed"\n or condition.verificationStatus ~ Status."unconfirmed"\n or condition.verificationStatus ~ Status."provisional"\n or condition.verificationStatus ~ Status."differential"\n )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> USQualityCoreCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"usqualitycorecommon-reasonrefused\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the value of the recorded extension for a Medication Administration Not Done\n*/\ndefine fluent function reasonRefused(serviceNotRequested ServiceNotRequested):\n serviceNotRequested.ext('http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-doNotPerformReason').value as FHIR.CodeableConcept</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> USQualityCoreCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"usqualitycorecommon-notdonereason\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the notDoneReason for an ObservationCancelled\n*/\ndefine fluent function notDoneReason(observationCancelled ObservationCancelled):\n observationCancelled.ext('http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-notDoneReason').value as FHIR.CodeableConcept</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value string): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value uri): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-toconcept\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tocode\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.\n*/\ndefine function ToCode(coding FHIR.Coding):\n if coding is null then\n null\n else\n System.Code {\n code: coding.code.value,\n system: coding.system.value,\n version: coding.version.value,\n display: coding.display.value\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todatetime\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDateTime(value dateTime): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tointerval\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n if period."start" is null then\n Interval(period."start".value, period."end".value]\n else\n Interval[period."start".value, period."end".value]</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todatetime\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDateTime(value instant): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-todate\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToDate(value date): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-toquantity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) \nvalue to a CQL Quantity\n@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity\nhas a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)\nan error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.\n@seealso: ToCalendarUnit\n*/\ndefine function ToQuantity(quantity FHIR.Quantity):\n case\n when quantity is null then null\n when quantity.value is null then null\n when quantity.comparator is not null then\n Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\n when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\n or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\n System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\n else\n Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tocalendarunit\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts a UCUM definite duration unit to a CQL calendar duration\nunit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities) \ntopic of the CQL specification.\n@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate\n*/\ndefine function ToCalendarUnit(unit System.String):\n case unit\n when 'ms' then 'millisecond'\n when 's' then 'second'\n when 'min' then 'minute'\n when 'h' then 'hour'\n when 'd' then 'day'\n when 'wk' then 'week'\n when 'mo' then 'month'\n when 'a' then 'year'\n else unit\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value MedicationRequestStatus): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value MedicationRequestIntent): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value ServiceRequestStatus): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value ServiceRequestIntent): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value ObservationStatus): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRHelpers</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhirhelpers-tostring\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define function ToString(value EncounterStatus): value.value</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhircommon-ext\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the single extension (if present) on the given resource with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\ndefine fluent function ext(domainResource DomainResource, url String):\n singleton from domainResource.exts(url)</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhircommon-exts\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns any extensions defined on the given resource with the specified url\n*/\ndefine fluent function exts(domainResource DomainResource, url String):\n domainResource.extension E\n where E.url = url\n return E</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhircommon-tointerval\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in FHIR, allowing this function to be used across any resource.\n\nThe input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.\nThe intent of this function is to provide a clear and concise mechanism to treat single\nelements that have multiple possible representations as intervals so that logic doesn't have to account\nfor the variability. More complex calculations (such as medication request period or dispense period\ncalculation) need specific guidance and consideration. That guidance may make use of this function, but\nthe focus of this function is on single element calculations where the semantics are unambiguous.\nIf the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.\nIf the input is a Period, the result is a DateTime Interval.\nIf the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.\nIf the input is an instant, the result is a DateTime Interval beginning and ending on that instant.\nIf the input is a string, an error is raised indicating a single interval cannot be computed from a string.\nIf the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,\nand ending immediately prior to when the patient was the given Age plus one year.\nIf the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given\nby the low end of the Range, and ending immediately prior to when the patient was the Age given by the\nhigh end of the Range plus one year.\n\nNOTE: Due to the\ncomplexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used\nwith a Timing or String.\n*/\ndefine fluent function toInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):\n case\n when choice is FHIR.dateTime then\n Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n when choice is FHIR.Period then\n FHIRHelpers.ToInterval(choice as FHIR.Period)\n when choice is FHIR.instant then\n Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]\n when choice is FHIR.Age then\n Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),\n FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)\n when choice is FHIR.Range then\n Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),\n FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)\n when choice is FHIR.Timing then\n Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported')\n when choice is FHIR.string then\n Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')\n else\n null as Interval<DateTime>\n end</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhircommon-ext\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the single extension (if present) on the given element with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given element with the specified url.\n*/\ndefine fluent function ext(element Element, url String):\n singleton from element.exts(url)</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> FHIRCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"fhircommon-exts\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns any extensions defined on the given element with the specified url.\n*/\ndefine fluent function exts(element Element, url String):\n element.extension E\n where E.url = url\n return E</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> USCoreCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"uscorecommon-sex\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the sex element as defined for the USCore patient profile\n*/\ndefine fluent function sex(patient Patient):\n patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex').value as FHIR.code</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> USCoreCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"uscorecommon-ethnicity\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define fluent function ethnicity(patient Patient):\n (patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity')) E\n return {\n ombCategory: E.ext('ombCategory').value as FHIR.Coding,\n detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,\n text: E.ext('text').value as FHIR.string\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> USCoreCommon</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"uscorecommon-race\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define fluent function race(patient Patient):\n (patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race')) E\n return {\n ombCategory: (E.exts('ombCategory')) o return o.value as FHIR.Coding,\n detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,\n text: E.ext('text').value as FHIR.string\n }</code></pre>\n </td>\n\n</tr>\n\n\n\n\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"terminology\"> </a>Terminology</th>\n\n\n</tr>\n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system SNOMEDCT\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">SNOMED CT (all versions)</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://snomed.info/sct</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system ConditionVerificationStatusCodes\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-condition-ver-status.html\">ConditionVerificationStatus</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set DEXA Bone Density for Urology Care\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.359-20250312\">DEXA Bone Density for Urology Care</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Androgen Deprivation Therapy for Urology Care\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.352-20250312\">Androgen Deprivation Therapy for Urology Care</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Prostate Cancer\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.319/expansion\">Prostate Cancer</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Patient Declined\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1582/expansion\">Patient Declined</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Office Visit\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1001/expansion\">Office Visit</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Payer Type\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</tt>\n \n </td>\n</tr>\n \n\n\n \n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Male (finding)\n <br/>\n \n <em>Code</em>: 248153007\n <br/>\n <em>System</em>: <tt>http://snomed.info/sct</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Female (finding)\n <br/>\n \n <em>Code</em>: 248152002\n <br/>\n <em>System</em>: <tt>http://snomed.info/sct</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Injection of leuprolide acetate for twelve month period (regime/therapy)\n <br/>\n \n <em>Code</em>: 456381000124102\n <br/>\n <em>System</em>: <tt>http://snomed.info/sct</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: confirmed\n <br/>\n \n <em>Code</em>: confirmed\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: unconfirmed\n <br/>\n \n <em>Code</em>: unconfirmed\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: provisional\n <br/>\n \n <em>Code</em>: provisional\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: differential\n <br/>\n \n <em>Code</em>: differential\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status</tt>\n </td>\n </tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"dependencies\"> </a>Dependencies</th>\n\n\n</tr>\n \n \n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: USQualityCore model information\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>https://madie.cms.gov/Library/USQualityCore-ModelInfo|0.1.0-cibuild</code>\n <br/>\n <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/USQualityCore-ModelInfo|0.1.0-cibuild</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: USCore model information\n \n <br/>\n \n \n \n \n \n \n <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>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/us/cql/Library/USCore-ModelInfo|6.1.0-derived</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: FHIR model information\n \n <br/>\n \n \n \n \n \n \n <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>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library SDE\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Library-SupplementalDataElements.html\">SupplementalDataElements</a> version: 6.1.000\n <br/>\n <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/SupplementalDataElements|6.1.000</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library FHIRHelpers\n \n <br/>\n \n \n \n \n \n \n <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>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library USCommon\n \n <br/>\n \n \n \n \n \n \n <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>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/us/cql/Library/USCoreCommon|2.0.0-ballot</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library FHIRCommon\n \n <br/>\n \n \n \n \n \n \n <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>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library Status\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Library-Status.html\">Status</a> version: 2.1.000\n <br/>\n <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/Status|2.1.000</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library USQualityCoreCommon\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Library-USQualityCoreCommon.html\">US Quality Core Common</a> version: 0.1.0-cibuild\n <br/>\n <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/USQualityCoreCommon|0.1.0-cibuild</tt>\n \n </td>\n</tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n \n \n\n\n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"data-requirements\"> </a>Data Requirements</th>\n\n\n</tr>\n \n \n \n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-patient</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: ombCategory, detailed, text\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: birthDate\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Medication\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medication.html\">Medication</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: id, code\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.352-20250312\">Androgen Deprivation Therapy for Urology Care</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: MedicationRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medicationrequest.html\">MedicationRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: medication.reference, dosageInstruction, status, intent, authoredOn\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: MedicationRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medicationrequest.html\">MedicationRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: medication, dosageInstruction, status, intent, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: medication</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.352-20250312\">Androgen Deprivation Therapy for Urology Care</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Condition\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-condition-problems-health-concerns</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.319/expansion\">Prostate Cancer</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Condition\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-condition-encounter-diagnosis</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.319/expansion\">Prostate Cancer</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn, status, intent\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n <a href=\"http://snomed.info/id/456381000124102\">SNOMED CT: 456381000124102</a> (Injection of leuprolide acetate for twelve month period (regime/therapy))\n \n \n </span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>Path</em>: intent</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n [not stated]: order (order)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/servicerequest.html\">ServiceRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn, status, intent\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.359-20250312\">DEXA Bone Density for Urology Care</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Observation\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observation-clinical-result</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, effective, status\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.359-20250312\">DEXA Bone Density for Urology Care</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: ServiceRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, authoredOn\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.359-20250312\">DEXA Bone Density for Urology Care</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Observation\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, issued\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://tx.fhir.org/r4/ValueSet/2.16.840.1.113762.1.4.1248.359-20250312\">DEXA Bone Density for Urology Care</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Encounter\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/encounter.html\">Encounter</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, period, status\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1001/expansion\">Office Visit</a>\n <br/> \n \n \n \n \n <span class=\"tab-one\"><em>Path</em>: status</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n [not stated]: finished (finished)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Coverage\n <br/>\n \n <em>Profile(s)</em>: \n \n <code>http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-coverage</code>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <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>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n \n \n <tr>\n \n\n<th scope=\"row\" class=\"row-header\"/>\n\n\n <td class=\"content-container\">\n <table>\n <thead>\n <tr>\n <td><em>Name</em></td>\n <td><em>Use</em></td>\n <td><em>Card.</em></td>\n <td><em>Type</em></td>\n <td><em>Documentation</em></td>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <td>Measurement Period</td>\n <td>In</td>\n <td>0..1</td>\n <td>Period</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Sex</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n <tr>\n <td>Numerator</td>\n <td>Out</td>\n <td>0..1</td>\n <td>boolean</td>\n <td/>\n </tr>\n \n <tr>\n <td>Denominator Exception</td>\n <td>Out</td>\n <td>0..1</td>\n <td>boolean</td>\n <td/>\n </tr>\n \n <tr>\n <td>Denominator</td>\n <td>Out</td>\n <td>0..1</td>\n <td>boolean</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Payer</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Resource</td>\n <td/>\n </tr>\n \n <tr>\n <td>Initial Population</td>\n <td>Out</td>\n <td>0..1</td>\n <td>boolean</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Ethnicity</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Resource</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Race</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Resource</td>\n <td/>\n </tr>\n \n </tbody>\n </table>\n </td>\n</tr>\n\n \n \n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.4 of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "248153007",
"display" : "Male (finding)"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "248152002",
"display" : "Female (finding)"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "456381000124102",
"display" : "Injection of leuprolide acetate for twelve month period (regime/therapy)"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"code" : "confirmed",
"display" : "confirmed"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"code" : "unconfirmed",
"display" : "unconfirmed"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"code" : "provisional",
"display" : "provisional"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
"code" : "differential",
"display" : "differential"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Sex"
},
{
"url" : "statement",
"valueString" : "define \"SDE Sex\":\n case\n when Patient.sex() = '248153007' then \"Male (finding)\"\n when Patient.sex() = '248152002' then \"Female (finding)\"\n else null\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "SDE Sex"
},
{
"url" : "statement",
"valueString" : "define \"SDE Sex\":\n SDE.\"SDE Sex\""
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Androgen Deprivation Therapy for Urology Care Medication Active Start Dates"
},
{
"url" : "statement",
"valueString" : "define \"Androgen Deprivation Therapy for Urology Care Medication Active Start Dates\":\n [MedicationRequest: \"Androgen Deprivation Therapy for Urology Care\"] ADTActive\n let firstMedicationPeriod: First((collapse(ADTActive.dosageInstruction.timing.repeat.bounds DoseTime\n return DoseTime.toInterval()\n )) DrugPeriods\n sort by start of $this\n ),\n\n //get the very first event as interval\n \n firstMedicationEvent: First((ADTActive.dosageInstruction.timing dosageTiming\n //returns first event for the specific dosageTiming\n \n return First(dosageTiming.event dosageTimingEvents\n sort ascending\n )) firstEvents\n sort ascending\n ),\n medicationDateTime: Min({ firstMedicationEvent, start of firstMedicationPeriod, \n end of firstMedicationPeriod }\n )\n where ADTActive.status in { 'active', 'completed' }\n and ADTActive.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }\n return medicationDateTime"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Androgen Deprivation Therapy for Urology Care Medication Order Start Dates"
},
{
"url" : "statement",
"valueString" : "define \"Androgen Deprivation Therapy for Urology Care Medication Order Start Dates\":\n [MedicationRequest: \"Androgen Deprivation Therapy for Urology Care\"] ADTOrder\n let firstMedicationPeriod: First((collapse(ADTOrder.dosageInstruction.timing.repeat.bounds DoseTime\n return DoseTime.toInterval()\n )) DrugPeriods\n sort by start of $this\n ),\n medicationDateTime: Min({ ADTOrder.authoredOn, start of firstMedicationPeriod, \n end of firstMedicationPeriod }\n )\n where ADTOrder.status in { 'active', 'completed' }\n and ADTOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }\n return medicationDateTime"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Prostate Cancer Diagnosis"
},
{
"url" : "statement",
"valueString" : "define \"Prostate Cancer Diagnosis\":\n ( [ConditionProblemsHealthConcerns: \"Prostate Cancer\"]\n union [ConditionEncounterDiagnosis: \"Prostate Cancer\"] ) ProstateCancer\n where ProstateCancer.onset.toInterval ( ) overlaps day of \"Measurement Period\"\n and ProstateCancer.isVerified ( )"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "First ADT in 3 Months Before to 9 Months After Start of Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"First ADT in 3 Months Before to 9 Months After Start of Measurement Period\":\n First((\"Androgen Deprivation Therapy for Urology Care Medication Active Start Dates\"\n union \"Androgen Deprivation Therapy for Urology Care Medication Order Start Dates\") ADTDateTime\n with \"Prostate Cancer Diagnosis\" ProstateCancer\n such that ADTDateTime during day of ProstateCancer.onset.toInterval ( )\n and ADTDateTime during day of Interval[start of \"Measurement Period\" - 3 months, start of \"Measurement Period\" + 9 months]\n sort ascending\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period\":\n [ServiceRequest: \"Injection of leuprolide acetate for twelve month period (regime/therapy)\"] OrderTwelveMonthADT\n with \"First ADT in 3 Months Before to 9 Months After Start of Measurement Period\" FirstADTMP\n such that OrderTwelveMonthADT.authoredOn on or after day of FirstADTMP\n and OrderTwelveMonthADT.authoredOn during day of Interval[start of \"Measurement Period\" - 3 months, start of \"Measurement Period\" + 9 months]\n and OrderTwelveMonthADT.status in { 'active', 'completed' }\n and OrderTwelveMonthADT.intent = 'order'"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT"
},
{
"url" : "statement",
"valueString" : "define \"Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT\":\n exists ( ( [ServiceRequest: \"DEXA Bone Density for Urology Care\"] DEXAOrdered\n with \"Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period\" OrderTwelveMonthsADT\n such that DEXAOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n or DEXAOrdered.authoredOn 2 years or less before day of OrderTwelveMonthsADT.authoredOn\n where DEXAOrdered.status in { 'active', 'completed' }\n and DEXAOrdered.intent = 'order'\n )\n union ( [ObservationClinicalResult: \"DEXA Bone Density for Urology Care\"] DEXAPerformed\n with \"Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period\" OrderTwelveMonthsADT\n such that DEXAPerformed.effective.toInterval ( ) 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n or DEXAPerformed.effective.toInterval ( ) 2 years or less before day of OrderTwelveMonthsADT.authoredOn\n where DEXAPerformed.status in { 'final', 'amended', 'corrected' }\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "define \"Numerator\":\n \"Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT\""
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "No Bone Density Scan Ordered Due to Patient Refusal"
},
{
"url" : "statement",
"valueString" : "define \"No Bone Density Scan Ordered Due to Patient Refusal\":\n [ServiceNotRequested: \"DEXA Bone Density for Urology Care\"] DEXANotOrdered\n with \"Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period\" OrderTwelveMonthsADT\n such that DEXANotOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n and DEXANotOrdered.reasonRefused ( ) in \"Patient Declined\""
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "No Bone Density Scan Performed Due to Patient Refusal"
},
{
"url" : "statement",
"valueString" : "define \"No Bone Density Scan Performed Due to Patient Refusal\":\n [ObservationCancelled: \"DEXA Bone Density for Urology Care\"] DEXANotPerformed\n with \"Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period\" OrderTwelveMonthsADT\n such that DEXANotPerformed.issued 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n and DEXANotPerformed.notDoneReason ( ) in \"Patient Declined\""
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Denominator Exception"
},
{
"url" : "statement",
"valueString" : "define \"Denominator Exception\":\n exists ( \"No Bone Density Scan Ordered Due to Patient Refusal\" )\n or exists ( \"No Bone Density Scan Performed Due to Patient Refusal\" )"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Has Qualifying Encounter"
},
{
"url" : "statement",
"valueString" : "define \"Has Qualifying Encounter\":\n exists ( [\"Encounter\": \"Office Visit\"] OfficeVisit\n where OfficeVisit.period during day of \"Measurement Period\"\n and OfficeVisit.status = 'finished'\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "define \"Initial Population\":\n \"Has Qualifying Encounter\"\n and exists \"Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "define \"Denominator\":\n \"Initial Population\""
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Payer"
},
{
"url" : "statement",
"valueString" : "define \"SDE Payer\":\n [USQualityCore.Coverage: type in \"Payer Type\"] Payer\n return {\n code: Payer.type,\n period: Payer.period\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "SDE Payer"
},
{
"url" : "statement",
"valueString" : "define \"SDE Payer\":\n SDE.\"SDE Payer\""
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Ethnicity"
},
{
"url" : "statement",
"valueString" : "define \"SDE Ethnicity\":\n (Patient.ethnicity()) E\n return Tuple {\n codes: { E.ombCategory } union E.detailed,\n display: E.text\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "SDE Ethnicity"
},
{
"url" : "statement",
"valueString" : "define \"SDE Ethnicity\":\n SDE.\"SDE Ethnicity\""
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "SupplementalDataElements"
},
{
"url" : "name",
"valueString" : "SDE Race"
},
{
"url" : "statement",
"valueString" : "define \"SDE Race\":\n (Patient.race()) R\n return Tuple {\n codes: R.ombCategory union R.detailed,\n display: R.text\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "SDE Race"
},
{
"url" : "statement",
"valueString" : "define \"SDE Race\":\n SDE.\"SDE Race\""
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value string): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "USCoreCommon"
},
{
"url" : "name",
"valueString" : "sex"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the sex element as defined for the USCore patient profile\n*/\ndefine fluent function sex(patient Patient):\n patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex').value as FHIR.code"
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRCommon"
},
{
"url" : "name",
"valueString" : "ext"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the single extension (if present) on the given resource with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given resource with the specified url.\n*/\ndefine fluent function ext(domainResource DomainResource, url String):\n singleton from domainResource.exts(url)"
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRCommon"
},
{
"url" : "name",
"valueString" : "exts"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns any extensions defined on the given resource with the specified url\n*/\ndefine fluent function exts(domainResource DomainResource, url String):\n domainResource.extension E\n where E.url = url\n return E"
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value uri): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 25
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToConcept"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCode"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.\n*/\ndefine function ToCode(coding FHIR.Coding):\n if coding is null then\n null\n else\n System.Code {\n code: coding.code.value,\n system: coding.system.value,\n version: coding.version.value,\n display: coding.display.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 27
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRCommon"
},
{
"url" : "name",
"valueString" : "toInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instance, FHIR.string, FHIR.Age, or FHIR.Range types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in FHIR, allowing this function to be used across any resource.\n\nThe input can be provided as a dateTime, Period, Timing, instant, string, Age, or Range.\nThe intent of this function is to provide a clear and concise mechanism to treat single\nelements that have multiple possible representations as intervals so that logic doesn't have to account\nfor the variability. More complex calculations (such as medication request period or dispense period\ncalculation) need specific guidance and consideration. That guidance may make use of this function, but\nthe focus of this function is on single element calculations where the semantics are unambiguous.\nIf the input is a dateTime, the result a DateTime Interval beginning and ending on that dateTime.\nIf the input is a Period, the result is a DateTime Interval.\nIf the input is a Timing, an error is raised indicating a single interval cannot be computed from a Timing.\nIf the input is an instant, the result is a DateTime Interval beginning and ending on that instant.\nIf the input is a string, an error is raised indicating a single interval cannot be computed from a string.\nIf the input is an Age, the result is a DateTime Interval beginning when the patient was the given Age,\nand ending immediately prior to when the patient was the given Age plus one year.\nIf the input is a Range, the result is a DateTime Interval beginning when the patient was the Age given\nby the low end of the Range, and ending immediately prior to when the patient was the Age given by the\nhigh end of the Range plus one year.\n\nNOTE: Due to the\ncomplexity of determining a single interval from a Timing or String type, this function will throw a run-time exception if it is used\nwith a Timing or String.\n*/\ndefine fluent function toInterval(choice Choice<FHIR.dateTime, FHIR.Period, FHIR.Timing, FHIR.instant, FHIR.string, FHIR.Age, FHIR.Range>):\n case\n when choice is FHIR.dateTime then\n Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n when choice is FHIR.Period then\n FHIRHelpers.ToInterval(choice as FHIR.Period)\n when choice is FHIR.instant then\n Interval[FHIRHelpers.ToDateTime(choice as FHIR.instant), FHIRHelpers.ToDateTime(choice as FHIR.instant)]\n when choice is FHIR.Age then\n Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age),\n FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(choice as FHIR.Age) + 1 year)\n when choice is FHIR.Range then\n Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),\n FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year)\n when choice is FHIR.Timing then\n Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported')\n when choice is FHIR.string then\n Message(null as Interval<DateTime>, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a String value is not supported')\n else\n null as Interval<DateTime>\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 28
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDateTime"
},
{
"url" : "statement",
"valueString" : "define function ToDateTime(value dateTime): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 29
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n if period.\"start\" is null then\n Interval(period.\"start\".value, period.\"end\".value]\n else\n Interval[period.\"start\".value, period.\"end\".value]"
},
{
"url" : "displaySequence",
"valueInteger" : 30
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDateTime"
},
{
"url" : "statement",
"valueString" : "define function ToDateTime(value instant): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 31
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDate"
},
{
"url" : "statement",
"valueString" : "define function ToDate(value date): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 32
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToQuantity"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) \nvalue to a CQL Quantity\n@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity\nhas a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)\nan error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.\n@seealso: ToCalendarUnit\n*/\ndefine function ToQuantity(quantity FHIR.Quantity):\n case\n when quantity is null then null\n when quantity.value is null then null\n when quantity.comparator is not null then\n Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\n when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\n or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\n System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\n else\n Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 33
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCalendarUnit"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts a UCUM definite duration unit to a CQL calendar duration\nunit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities) \ntopic of the CQL specification.\n@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate\n*/\ndefine function ToCalendarUnit(unit System.String):\n case unit\n when 'ms' then 'millisecond'\n when 's' then 'second'\n when 'min' then 'minute'\n when 'h' then 'hour'\n when 'd' then 'day'\n when 'wk' then 'week'\n when 'mo' then 'month'\n when 'a' then 'year'\n else unit\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 34
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value MedicationRequestStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 35
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value MedicationRequestIntent): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 36
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CMS645FHIRBoneDensityPCADTherapy"
},
{
"url" : "name",
"valueString" : "isVerified"
},
{
"url" : "statement",
"valueString" : "/* \n@description: Returns true if the given condition either has no verification status or has a verification status of confirmed, unconfirmed, provisional, or differential\n*/\n\n\ndefine fluent function isVerified(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):\n condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status.\"confirmed\"\n or condition.verificationStatus ~ Status.\"unconfirmed\"\n or condition.verificationStatus ~ Status.\"provisional\"\n or condition.verificationStatus ~ Status.\"differential\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 37
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ServiceRequestStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 38
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ServiceRequestIntent): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 39
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ObservationStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 40
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "USQualityCoreCommon"
},
{
"url" : "name",
"valueString" : "reasonRefused"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the value of the recorded extension for a Medication Administration Not Done\n*/\ndefine fluent function reasonRefused(serviceNotRequested ServiceNotRequested):\n serviceNotRequested.ext('http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-doNotPerformReason').value as FHIR.CodeableConcept"
},
{
"url" : "displaySequence",
"valueInteger" : 41
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "USQualityCoreCommon"
},
{
"url" : "name",
"valueString" : "notDoneReason"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the notDoneReason for an ObservationCancelled\n*/\ndefine fluent function notDoneReason(observationCancelled ObservationCancelled):\n observationCancelled.ext('http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-notDoneReason').value as FHIR.CodeableConcept"
},
{
"url" : "displaySequence",
"valueInteger" : 42
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value EncounterStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 43
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "USCoreCommon"
},
{
"url" : "name",
"valueString" : "ethnicity"
},
{
"url" : "statement",
"valueString" : "define fluent function ethnicity(patient Patient):\n (patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity')) E\n return {\n ombCategory: E.ext('ombCategory').value as FHIR.Coding,\n detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,\n text: E.ext('text').value as FHIR.string\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 44
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRCommon"
},
{
"url" : "name",
"valueString" : "ext"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the single extension (if present) on the given element with the specified url.\n@comment: This function uses singleton from to ensure that a run-time exception is thrown if there\nis more than one extension on the given element with the specified url.\n*/\ndefine fluent function ext(element Element, url String):\n singleton from element.exts(url)"
},
{
"url" : "displaySequence",
"valueInteger" : 45
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRCommon"
},
{
"url" : "name",
"valueString" : "exts"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns any extensions defined on the given element with the specified url.\n*/\ndefine fluent function exts(element Element, url String):\n element.extension E\n where E.url = url\n return E"
},
{
"url" : "displaySequence",
"valueInteger" : 46
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "USCoreCommon"
},
{
"url" : "name",
"valueString" : "race"
},
{
"url" : "statement",
"valueString" : "define fluent function race(patient Patient):\n (patient.ext('http://hl7.org/fhir/us/core/StructureDefinition/us-core-race')) E\n return {\n ombCategory: (E.exts('ombCategory')) o return o.value as FHIR.Coding,\n detailed: (E.exts('detailed')) d return d.value as FHIR.Coding,\n text: E.ext('text').value as FHIR.string\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 47
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "USQualityCore model information",
"resource" : "https://madie.cms.gov/Library/USQualityCore-ModelInfo|0.1.0-cibuild"
},
{
"type" : "depends-on",
"display" : "USCore model information",
"resource" : "http://hl7.org/fhir/us/cql/Library/USCore-ModelInfo|6.1.0-derived"
},
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIR-ModelInfo|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library SDE",
"resource" : "https://madie.cms.gov/Library/SupplementalDataElements|6.1.000"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library USCommon",
"resource" : "http://hl7.org/fhir/us/cql/Library/USCoreCommon|2.0.0-ballot"
},
{
"type" : "depends-on",
"display" : "Library FHIRCommon",
"resource" : "http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0"
},
{
"type" : "depends-on",
"display" : "Library Status",
"resource" : "https://madie.cms.gov/Library/Status|2.1.000"
},
{
"type" : "depends-on",
"display" : "Library USQualityCoreCommon",
"resource" : "https://madie.cms.gov/Library/USQualityCoreCommon|0.1.0-cibuild"
},
{
"type" : "depends-on",
"display" : "Code system SNOMEDCT",
"resource" : "http://snomed.info/sct"
},
{
"type" : "depends-on",
"display" : "Code system ConditionVerificationStatusCodes",
"resource" : "http://terminology.hl7.org/CodeSystem/condition-ver-status"
},
{
"type" : "depends-on",
"display" : "Value set DEXA Bone Density for Urology Care",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
},
{
"type" : "depends-on",
"display" : "Value set Androgen Deprivation Therapy for Urology Care",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352"
},
{
"type" : "depends-on",
"display" : "Value set Prostate Cancer",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319"
},
{
"type" : "depends-on",
"display" : "Value set Patient Declined",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582"
},
{
"type" : "depends-on",
"display" : "Value set Office Visit",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"
},
{
"type" : "depends-on",
"display" : "Value set Payer Type",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "SDE Sex",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Coding"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator Exception",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "SDE Payer",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Resource"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "SDE Ethnicity",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
},
{
"name" : "SDE Race",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-patient"
],
"mustSupport" : [
"ombCategory",
"detailed",
"text"
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
],
"mustSupport" : [
"birthDate"
]
},
{
"type" : "Medication",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Medication"
],
"mustSupport" : [
"id",
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352"
}
]
},
{
"type" : "Medication",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Medication"
],
"mustSupport" : [
"id",
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352"
}
]
},
{
"type" : "MedicationRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
],
"mustSupport" : [
"medication.reference",
"dosageInstruction",
"status",
"intent",
"authoredOn"
]
},
{
"type" : "MedicationRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
],
"mustSupport" : [
"medication",
"dosageInstruction",
"status",
"intent",
"authoredOn"
],
"codeFilter" : [
{
"path" : "medication",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352"
}
]
},
{
"type" : "Condition",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-condition-problems-health-concerns"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319"
}
]
},
{
"type" : "Condition",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-condition-encounter-diagnosis"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn",
"status",
"intent"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://snomed.info/sct",
"code" : "456381000124102",
"display" : "Injection of leuprolide acetate for twelve month period (regime/therapy)"
}
]
},
{
"path" : "intent",
"code" : [
{
"code" : "order"
}
]
}
],
"dateFilter" : [
{
"path" : "authoredOn",
"valuePeriod" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi-analysisException",
"valueString" : "Error attempting to determine filter value: toFhirValue not implemented for Subtract"
}
]
}
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
],
"mustSupport" : [
"code",
"authoredOn",
"status",
"intent"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observation-clinical-result"
],
"mustSupport" : [
"code",
"effective",
"status"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-servicenotrequested"
],
"mustSupport" : [
"code",
"authoredOn"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
}
]
},
{
"type" : "Observation",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-observationcancelled"
],
"mustSupport" : [
"code",
"issued"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Encounter"
],
"mustSupport" : [
"type",
"period",
"status"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"
},
{
"path" : "status",
"code" : [
{
"code" : "finished"
}
]
}
]
},
{
"type" : "Coverage",
"profile" : [
"http://fhir.org/guides/astp/us-quality-core/StructureDefinition/us-quality-core-coverage"
],
"mustSupport" : [
"type",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
}
]
}
]
}
],
"extension" : [
{
"id" : "supplementalDataGuidance",
"extension" : [
{
"url" : "guidance",
"valueString" : "<p>For every patient evaluated by this measure also identify payer, race, ethnicity and sex</p>"
},
{
"url" : "usage",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data",
"display" : "Supplemental Data"
}
],
"text" : "Supplemental Data Guidance"
}
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance"
},
{
"extension" : [
{
"url" : "term",
"valueString" : "Dual Energy X-ray Absorptiometry (DEXA)"
},
{
"url" : "definition",
"valueMarkdown" : "A scan that measures the bone of the spine, hip, or total body and measures bone mineral density. It is considered one of the most accurate measurements.\n"
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-definitionTerm"
},
{
"extension" : [
{
"url" : "term",
"valueString" : "First Androgen Deprivation Therapy"
},
{
"url" : "definition",
"valueMarkdown" : "The first Androgen Deprivation Therapy (ADT) is measured as the first order or administration of ADT for an anticipated period of 12 months or greater to a patient with prostate cancer.\n"
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-definitionTerm"
},
{
"extension" : [
{
"url" : "term",
"valueString" : "Peripheral Dual Energy X-ray Absorptiometry (PDXA)"
},
{
"url" : "definition",
"valueMarkdown" : "Bone mineral density measurement of the wrist, heel, or finger.\n"
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-definitionTerm"
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
}
],
"url" : "https://madie.cms.gov/Measure/CMS645FHIRBoneDensityPCADTherapy",
"identifier" : [
{
"use" : "usual",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "short-name",
"display" : "Short Name"
}
]
},
"system" : "https://madie.cms.gov/measure/shortName",
"value" : "CMS645FHIR"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "version-independent",
"display" : "Version Independent"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:299de9c4-755d-4f5a-ac9e-fa74fe34f759"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "version-specific",
"display" : "Version Specific"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:5cd769d8-9a63-4637-b18e-76ee9c68cbf9"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/artifact-identifier-type",
"code" : "publisher",
"display" : "Publisher"
}
]
},
"system" : "https://madie.cms.gov/measure/cmsId",
"value" : "645FHIR",
"assigner" : {
"display" : "CMS"
}
}
],
"version" : "1.0.000",
"name" : "CMS645FHIRBoneDensityPCADTherapy",
"title" : "Bone Density Evaluation for Patients with Prostate Cancer and Receiving Androgen Deprivation TherapyFHIR\n",
"status" : "active",
"experimental" : false,
"date" : "2026-01-16T18:18:13+00:00",
"publisher" : "Oregon Urology",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "www.oregonurology.com"
}
]
}
],
"description" : "Percentage of patients determined as having prostate cancer who are currently starting or undergoing androgen deprivation therapy (ADT), for an anticipated period of 12 months or greater and who receive an initial bone density evaluation. The bone density evaluation must be prior to the start of ADT or within 3 months of the start of ADT.\n",
"usage" : "In order to capture the practitioner's intent of androgen deprivation therapy (ADT) for a period of 12 months or greater, SNOMEDCT 456381000124102 which is Injection of leuprolide acetate for the twelve-month period (regime/therapy) is the correct code.\n\nThis eCQM is a patient-based measure.\n\nThis FHIR-based measure has been derived from the QDM-based measure CMS645v9. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/) 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).\n",
"copyright" : "Limited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. Oregon Urology Institute (OUI) and Large Urology Group Practice Association (LUGPA) disclaim all liability for the use or accuracy of third-party codes contained in the specifications.\n\nCPT(R) contained in the Measure specifications is copyright 2004-2024. American Medical Association. LOINC(R) 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 copyright 2024 World Health Organization. All Rights Reserved.\n",
"effectivePeriod" : {
"start" : "2026-01-01",
"end" : "2026-12-31"
},
"author" : [
{
"name" : "Oregon Urology",
"telecom" : [
{
"system" : "url",
"value" : "www.oregonurology.com"
}
]
}
],
"relatedArtifact" : [
{
"type" : "citation",
"citation" : "Cosman, F., deBeur, S.J., LeBoff, M.S., Lewiecki, E. M., Tanner, B., Randall, S., \\& Lindsay, R. (2014). Clinician's Guide to Prevention and Treatment of Osteoporosis. Osteoporosis International, 25(10), 2359--2381. https://doi.org/10.1007/s00198-014-2794-2\n"
},
{
"type" : "citation",
"citation" : "Finkelstein, J., \\& Yu, E. (2017). Clinical manifestations, diagnosis, and evaluation of osteoporosis in men. Retrieved from https://www.uptodate.com/contents/clinical-manifestations-diagnosis-and-evaluation-of-osteoporosis-in-men/print?source=see_link\n"
},
{
"type" : "citation",
"citation" : "Guise, T.A., Oefelein, M.G., Eastham, J.A., Cookson, M.S., Higano, C.S., \\& Smith, M.R. (2007). Estrogenic side effects of androgen deprivation therapy. Reviews in urology, 9(4), 163-180.\n"
},
{
"type" : "citation",
"citation" : "Qaseem, A., Snow, V., Shekelle, P., Hopkins, R., Forciea, M. A., Owens, D. K., \\& for the Clinical Efficacy Assessment Subcommittee of the American College of Physicians. (2008). Annals of Internal Medicine. Screening for osteoporosis in men: A clinical practice guideline from the American College of Physicians, 2008. Annals of Internal Medicine, 148(9), 680-684. https://doi.org/10.7326/0003-4819-148-9-200805060-00008\n"
},
{
"type" : "citation",
"citation" : "Ward, R. J., Roberts, C. C., Bencardino, J. T., Arnold, E., Baccei, S. J., Cassidy, R. C., ... Weissman, B. N. (2017). ACR Appropriateness Criteria (R) Osteoporosis and Bone Mineral Density. Journal of the American College of Radiology, 14(5), S189--S202. https://doi.org/10.1016/j.jacr.2017.02.018\n"
},
{
"type" : "citation",
"citation" : "Watts, N. B., Adler, R. A., Bilezikian, J. P., Drake, M. T., Eastell, R., Orwoll, E. S., \\& Finkelstein, J. S. (2012). Osteoporosis in Men: An Endocrine Society Clinical Practice Guideline. The Journal of Clinical Endocrinology \\& Metabolism, 97(6), 1802--1822. https://doi.org/10.1210/jc.2011-3045\n"
}
],
"library" : [
"https://madie.cms.gov/Library/CMS645FHIRBoneDensityPCADTherapy"
],
"disclaimer" : "The performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications.\n\nTHE MEASURES AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\n\nDue to technical limitations, registered trademarks are indicated by (R) or \\[R\\] and unregistered trademarks are indicated by (TM) or \\[TM\\].\n",
"rationale" : "Androgen suppression as a treatment for prostate cancer can cause osteoporosis (Qaseem, 2008). Patients with prostate cancer undergoing prolonged androgen deprivation therapy (ADT) incur bone loss at a rate higher than menopausal patients (Guise, 2007). In preserving bone health, the goal is to prevent or treat osteopenia/osteoporosis for the patient on ADT and to prevent or delay skeletal-related events. The National Osteoporosis Foundation recommendations include a baseline assessment of bone density with a dual-energy X-ray absorptiometry (DEXA) scan and daily calcium and Vitamin D supplementation (Watts, 2012). The DEXA scan is the gold standard for bone density screening. Patients at risk for adverse bone consequences from chronic ADT do not always receive care according to evidence-based guidelines. These findings call for improved processes that standardize evidence-based practice, including baseline and follow-up bone density assessment (Watts, 2012).\n",
"clinicalRecommendationStatement" : "Bone density screening should be performed at the start of Androgen Deprivation Therapy (ADT) for prostate cancer. It should also be performed every 2 years for the patient with continued ADT or for patients with known osteoporosis. Current insurance practice is to possibly cover the cost of bone density screening if osteoporosis is known or if there is a high-risk drug. Some patients choose to delay bone density screening until after ADT is started and they therefore have insurance authorization due to the administration of a high-risk drug.\n",
"group" : [
{
"id" : "Group_1",
"extension" : [
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion",
"display" : "Proportion"
}
]
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis",
"valueCode" : "boolean"
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-type",
"code" : "process",
"display" : "Process"
}
]
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
"code" : "increase",
"display" : "Increased score indicates improvement"
}
]
}
}
],
"population" : [
{
"id" : "InitialPopulation_1",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population",
"display" : "Initial Population"
}
]
},
"description" : "Patients with a qualifying encounter in the measurement period AND with a diagnosis of prostate cancer AND with an order for ADT or an active medication of ADT with an intent for treatment greater than or equal to 12 months during the measurement period AND order for ADT in 3 months before to 9 months after the start of the measurement period\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "Denominator_1",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator",
"display" : "Denominator"
}
]
},
"description" : "Equals Initial Population\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"id" : "Numerator_1",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator",
"display" : "Numerator"
}
]
},
"description" : "Patients with a bone density evaluation within the two years prior to the start of or less than three months after the start of ADT treatment\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
},
{
"id" : "DenominatorException_1",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator-exception",
"display" : "Denominator Exception"
}
]
},
"description" : "Patient refused the bone density evaluation at the time ordered or did not have it performed within 3 months after the start of ADT\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator Exception"
}
}
]
}
],
"supplementalData" : [
{
"id" : "sde-ethnicity",
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"description" : "SDE Ethnicity\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Ethnicity"
}
},
{
"id" : "sde-payer",
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"description" : "SDE Payer\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Payer"
}
},
{
"id" : "sde-race",
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"description" : "SDE Race\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Race"
}
},
{
"id" : "sde-sex",
"usage" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-data-usage",
"code" : "supplemental-data"
}
]
}
],
"description" : "SDE Sex\n",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "SDE Sex"
}
}
]
}