{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [ {
    "fullUrl": "https://madie.cms.gov/Measure/CMS645FHIRBoneDensityPCADTherapy",
    "resource": {
      "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\" class=\"col-12\">\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<td class=\"content-container\">Bone Density Evaluation for Patients with Prostate Cancer and Receiving Androgen Deprivation TherapyFHIR</td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n<td class=\"content-container\">1.0.000</td>\n</tr>\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Short Name</th>\n\n\n<td class=\"content-container\">CMS645FHIR</td>\n</tr>\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">GUID (Version Independent)</th>\n\n\n<td class=\"content-container\">urn:uuid:299de9c4-755d-4f5a-ac9e-fa74fe34f759</td>\n</tr>\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">GUID (Version Specific)</th>\n\n\n<td class=\"content-container\">urn:uuid:5cd769d8-9a63-4637-b18e-76ee9c68cbf9</td>\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<td class=\"content-container\">645FHIR</td>\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<td class=\"content-container\">2026-01-01 through 2026-12-31</td>\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<td class=\"content-container\">Oregon Urology</td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Developer</th>\n\n\n<td class=\"content-container\">Oregon Urology</td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n<td class=\"content-container\"><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></td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Copyright</th>\n\n\n<td class=\"content-container\"><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></td>\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Disclaimer</th>\n\n\n<td class=\"content-container\"><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 &quot;AS IS&quot; 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></td>\n</tr>\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<td class=\"content-container\"><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></td>\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Clinical Recommendation Statement</th>\n\n\n<td class=\"content-container\"><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></td>\n</tr>\n\n\n\n\n<tr>\n  \n  \n  \n  \n\n<th scope=\"row\" class=\"row-header\">Citation</th>\n\n\n  \n  \n  <td class=\"content-container\">\n    \n    \n    \n    <p>Cosman, F., deBeur, S.J., LeBoff, M.S., Lewiecki, E. M., Tanner, B., Randall, S., &amp; 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    \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  <td class=\"content-container\">\n    \n    \n    \n    <p>Finkelstein, J., &amp; 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    \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  <td class=\"content-container\">\n    \n    \n    \n    <p>Guise, T.A., Oefelein, M.G., Eastham, J.A., Cookson, M.S., Higano, C.S., &amp; Smith, M.R. (2007). Estrogenic side effects of androgen deprivation therapy. Reviews in urology, 9(4), 163-180.</p>\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  <td class=\"content-container\">\n    \n    \n    \n    <p>Qaseem, A., Snow, V., Shekelle, P., Hopkins, R., Forciea, M. A., Owens, D. K., &amp; 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    \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  <td class=\"content-container\">\n    \n    \n    \n    <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    \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  <td class=\"content-container\">\n    \n    \n    \n    <p>Watts, N. B., Adler, R. A., Bilezikian, J. P., Drake, M. T., Eastell, R., Orwoll, E. S., &amp; Finkelstein, J. S. (2012). Osteoporosis in Men: An Endocrine Society Clinical Practice Guideline. The Journal of Clinical Endocrinology &amp; Metabolism, 97(6), 1802–1822. https://doi.org/10.1210/jc.2011-3045</p>\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<td class=\"content-container\">Dual Energy X-ray Absorptiometry (DEXA): <p>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.</p></td>\n</tr>\n\n\n  \n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Definition</th>\n\n\n<td class=\"content-container\">First Androgen Deprivation Therapy: <p>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.</p></td>\n</tr>\n\n\n  \n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Definition</th>\n\n\n<td class=\"content-container\">Peripheral Dual Energy X-ray Absorptiometry (PDXA): <p>Bone mineral density measurement of the wrist, heel, or finger.</p></td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Guidance (Usage)</th>\n\n\n<td class=\"content-container\"><p>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.</p>\n<p>This eCQM is a patient-based measure.</p>\n<p>This 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).</p></td>\n</tr>\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<td class=\"content-container\">boolean</td>\n</tr>\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Scoring</th>\n\n\n<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']</td>\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']</td>\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<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']</td>\n</tr>\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\"><p>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</p></p>\n        \n        \n          \n            \n            <em>Logic Definition</em>: <a href=\"#primary-cms645fhirbonedensitypcadtherapy-initial-population\">Initial Population</a> \n          \n        \n      </td>\n    </tr>\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\"><p>Equals Initial Population</p></p>\n        \n        \n          \n            \n            <em>Logic Definition</em>: <a href=\"#primary-cms645fhirbonedensitypcadtherapy-denominator\">Denominator</a> \n          \n        \n      </td>\n    </tr>\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\"><p>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</p></p>\n        \n        \n          \n            \n            <em>Logic Definition</em>: <a href=\"#primary-cms645fhirbonedensitypcadtherapy-numerator\">Numerator</a> \n          \n        \n      </td>\n    </tr>\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\"><p>Patient refused the bone density evaluation at the time ordered or did not have it performed within 3 months after the start of ADT</p></p>\n        \n        \n          \n            \n            <em>Logic Definition</em>: <a href=\"#primary-cms645fhirbonedensitypcadtherapy-denominator-exception\">Denominator Exception</a> \n          \n        \n      </td>\n    </tr>\n  \n\n  \n\n\n  \n    \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Guidance</th>\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</tr>\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>: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]\n        \n        <br/>\n      \n    \n    \n      <em>Description</em>: SDE Ethnicity\n    \n    \n      \n        <br/>\n        \n        <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-ethnicity\">SDE Ethnicity</a> \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>: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]\n        \n        <br/>\n      \n    \n    \n      <em>Description</em>: SDE Payer\n    \n    \n      \n        <br/>\n        \n        <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-payer\">SDE Payer</a> \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>: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]\n        \n        <br/>\n      \n    \n    \n      <em>Description</em>: SDE Race\n    \n    \n      \n        <br/>\n        \n        <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-race\">SDE Race</a> \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>: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]\n        \n        <br/>\n      \n    \n    \n      <em>Description</em>: SDE Sex\n    \n    \n      \n        <br/>\n        \n        <em>Logic Definition</em>: <a href=\"#cms645fhirbonedensitypcadtherapy-sde-sex\">SDE Sex</a> \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<td class=\"content-container\">https://madie.cms.gov/Library/CMS645FHIRBoneDensityPCADTherapy</td>\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  </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    <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            <tr>\n  <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n    \n      \n      <a name=\"primary-cms645fhirbonedensitypcadtherapy-initial-population\"> </a>\n    \n    \n    Initial Population\n    \n  </th>\n</tr>\n<tr>\n\n  <td>\n    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Initial Population&quot;:\n  &quot;Has Qualifying Encounter&quot;\n    and exists &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;</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            <tr>\n  <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n    \n      \n      <a name=\"primary-cms645fhirbonedensitypcadtherapy-denominator\"> </a>\n    \n    \n    Denominator\n    \n  </th>\n</tr>\n<tr>\n\n  <td>\n    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Denominator&quot;:\n  &quot;Initial Population&quot;</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            <tr>\n  <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n    \n      \n      <a name=\"primary-cms645fhirbonedensitypcadtherapy-numerator\"> </a>\n    \n    \n    Numerator\n    \n  </th>\n</tr>\n<tr>\n\n  <td>\n    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Numerator&quot;:\n  &quot;Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT&quot;</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            <tr>\n  <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n    \n      \n      <a name=\"primary-cms645fhirbonedensitypcadtherapy-denominator-exception\"> </a>\n    \n    \n    Denominator Exception\n    \n  </th>\n</tr>\n<tr>\n\n  <td>\n    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Denominator Exception&quot;:\n  exists ( &quot;No Bone Density Scan Ordered Due to Patient Refusal&quot; )\n    or exists ( &quot;No Bone Density Scan Performed Due to Patient Refusal&quot; )</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  <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    \n      \n      <a name=\"supplementaldataelements-sde-sex\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Sex&quot;:\n  case\n    when Patient.sex = '248153007' then &quot;Male (finding)&quot;\n    when Patient.sex = '248152002' then &quot;Female (finding)&quot;\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    \n      \n      <a name=\"supplementaldataelements-sde-payer\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Payer&quot;:\n  [Coverage: type in &quot;Payer Type&quot;] 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    \n      \n      <a name=\"supplementaldataelements-sde-ethnicity\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Ethnicity&quot;:\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    \n      \n      <a name=\"supplementaldataelements-sde-race\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Race&quot;:\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<tr>\n  <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-sde-sex\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Sex&quot;:\n  SDE.&quot;SDE Sex&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-androgen-deprivation-therapy-for-urology-care-medication-active-start-dates\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Androgen Deprivation Therapy for Urology Care Medication Active Start Dates&quot;:\n  [MedicationRequest: &quot;Androgen Deprivation Therapy for Urology Care&quot;] 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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-androgen-deprivation-therapy-for-urology-care-medication-order-start-dates\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Androgen Deprivation Therapy for Urology Care Medication Order Start Dates&quot;:\n  [MedicationRequest: &quot;Androgen Deprivation Therapy for Urology Care&quot;] 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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-prostate-cancer-diagnosis\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Prostate Cancer Diagnosis&quot;:\n  ( [ConditionProblemsHealthConcerns: &quot;Prostate Cancer&quot;]\n    union [ConditionEncounterDiagnosis: &quot;Prostate Cancer&quot;] ) ProstateCancer\n    where ProstateCancer.prevalenceInterval ( ) overlaps day of &quot;Measurement Period&quot;\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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-first-adt-in-3-months-before-to-9-months-after-start-of-measurement-period\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;First ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;:\n  First((&quot;Androgen Deprivation Therapy for Urology Care Medication Active Start Dates&quot;\n      union &quot;Androgen Deprivation Therapy for Urology Care Medication Order Start Dates&quot;) ADTDateTime\n      with &quot;Prostate Cancer Diagnosis&quot; ProstateCancer\n        such that ADTDateTime during day of ProstateCancer.prevalenceInterval()\n          and ADTDateTime during day of Interval[start of &quot;Measurement Period&quot; - 3 months, start of &quot;Measurement Period&quot; + 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    \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    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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;:\n  [ServiceRequest: &quot;Injection of leuprolide acetate for twelve month period (regime/therapy)&quot;] OrderTwelveMonthADT\n    with &quot;First ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; FirstADTMP\n      such that OrderTwelveMonthADT.authoredOn on or after day of FirstADTMP\n        and OrderTwelveMonthADT.authoredOn during day of Interval[start of &quot;Measurement Period&quot; - 3 months, start of &quot;Measurement Period&quot; + 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    \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    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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT&quot;:\n  exists ( ( [ServiceRequest: &quot;DEXA Bone Density for Urology Care&quot;] DEXAOrdered\n        with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; 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: &quot;DEXA Bone Density for Urology Care&quot;] DEXAPerformed\n          with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; 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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-numerator\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Numerator&quot;:\n  &quot;Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-no-bone-density-scan-ordered-due-to-patient-refusal\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;No Bone Density Scan Ordered Due to Patient Refusal&quot;:\n  [ServiceNotRequested: &quot;DEXA Bone Density for Urology Care&quot;] DEXANotOrdered\n    with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; OrderTwelveMonthsADT\n      such that DEXANotOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n        and DEXANotOrdered.reasonRefused in &quot;Patient Declined&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-no-bone-density-scan-performed-due-to-patient-refusal\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;No Bone Density Scan Performed Due to Patient Refusal&quot;:\n  [ObservationCancelled: &quot;DEXA Bone Density for Urology Care&quot;] DEXANotPerformed\n    with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; OrderTwelveMonthsADT\n      such that DEXANotPerformed.issued 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\n        and DEXANotPerformed.notDoneReason in &quot;Patient Declined&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-denominator-exception\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Denominator Exception&quot;:\n  exists ( &quot;No Bone Density Scan Ordered Due to Patient Refusal&quot; )\n    or exists ( &quot;No Bone Density Scan Performed Due to Patient Refusal&quot; )</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-has-qualifying-encounter\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Has Qualifying Encounter&quot;:\n  exists ( [&quot;Encounter&quot;: &quot;Office Visit&quot;] OfficeVisit\n      where OfficeVisit.period during day of &quot;Measurement Period&quot;\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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-initial-population\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Initial Population&quot;:\n  &quot;Has Qualifying Encounter&quot;\n    and exists &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-denominator\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;Denominator&quot;:\n  &quot;Initial Population&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-sde-payer\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Payer&quot;:\n  SDE.&quot;SDE Payer&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-sde-ethnicity\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;</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    \n      \n      <a name=\"cms645fhirbonedensitypcadtherapy-sde-race\"> </a>\n    \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    <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;</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<tr>\n  <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n    \n      \n      <a name=\"fhirhelpers-tostring\"> </a>\n    \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    <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    \n      \n      <a name=\"fhirhelpers-tointerval\"> </a>\n    \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    <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.&quot;start&quot; is null then\n            Interval(period.&quot;start&quot;.value, period.&quot;end&quot;.value]\n        else\n            Interval[period.&quot;start&quot;.value, period.&quot;end&quot;.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    \n      \n      <a name=\"fhirhelpers-tocode\"> </a>\n    \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    <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  <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<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>: http://snomed.info/sct\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<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>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352\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>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319\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>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582\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>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001\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>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591\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  \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>: QICore model information\n    \n    <br/>\n    \n    \n    \n    \n    \n    \n    <em>Resource</em>: http://hl7.org/fhir/Library/QICore-ModelInfo\n    <br/>\n    <em>Canonical URL</em>: <tt>http://hl7.org/fhir/Library/QICore-ModelInfo</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>: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000\n    <br/>\n    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/SupplementalDataElements|5.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>: https://madie.cms.gov/Library/FHIRHelpers|4.4.000\n    <br/>\n    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/FHIRHelpers|4.4.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 QICoreCommon\n    \n    <br/>\n    \n    \n    \n    \n    \n    \n    <em>Resource</em>: https://madie.cms.gov/Library/QICoreCommon|4.0.000\n    <br/>\n    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/QICoreCommon|4.0.000</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  <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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: extension, url\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: medication, dosageInstruction, status, status.value, intent, intent.value, authoredOn, authoredOn.value\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: medication.reference.value, dosageInstruction, status, status.value, intent, intent.value, authoredOn, authoredOn.value\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: id.value, code\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>: Condition\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, authoredOn, authoredOn.value, status, status.value, intent, intent.value\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      http://snomed.info/sct#456381000124102: 'Injection of leuprolide acetate for twelve month period (regime/therapy)'\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, authoredOn, authoredOn.value, status, status.value, intent, intent.value\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, effective, status, status.value\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, authoredOn, authoredOn.value, extension\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, issued, issued.value, extension\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: type, period, status, status.value\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001\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>: Coverage\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591\n    <br/> \n  \n  \n  \n   \n  </td>\n</tr>\n\n  \n  \n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.4.8 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-logicDefinition",
          "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.prevalenceInterval ( ) 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.prevalenceInterval()\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  [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 uri): value.value"
          }, {
            "url": "displaySequence",
            "valueInteger": 21
          } ]
        }, {
          "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": 22
          } ]
        }, {
          "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": 23
          } ]
        } ],
        "name": "EffectiveDataRequirements",
        "status": "active",
        "type": {
          "coding": [ {
            "system": "http://terminology.hl7.org/CodeSystem/library-type",
            "code": "module-definition"
          } ]
        },
        "relatedArtifact": [ {
          "type": "depends-on",
          "display": "QICore model information",
          "resource": "http://hl7.org/fhir/Library/QICore-ModelInfo"
        }, {
          "type": "depends-on",
          "display": "Library SDE",
          "resource": "https://madie.cms.gov/Library/SupplementalDataElements|5.1.000"
        }, {
          "type": "depends-on",
          "display": "Library FHIRHelpers",
          "resource": "https://madie.cms.gov/Library/FHIRHelpers|4.4.000"
        }, {
          "type": "depends-on",
          "display": "Library QICoreCommon",
          "resource": "https://madie.cms.gov/Library/QICoreCommon|4.0.000"
        }, {
          "type": "depends-on",
          "display": "Code system SNOMEDCT",
          "resource": "http://snomed.info/sct"
        }, {
          "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": "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": "Initial Population",
          "use": "out",
          "min": 0,
          "max": "1",
          "type": "boolean"
        }, {
          "name": "SDE Sex",
          "use": "out",
          "min": 0,
          "max": "1",
          "type": "Coding"
        }, {
          "name": "SDE Payer",
          "use": "out",
          "min": 0,
          "max": "*",
          "type": "Resource"
        }, {
          "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://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient" ],
          "mustSupport": [ "extension", "url" ]
        }, {
          "type": "MedicationRequest",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest" ],
          "mustSupport": [ "medication", "dosageInstruction", "status", "status.value", "intent", "intent.value", "authoredOn", "authoredOn.value" ],
          "codeFilter": [ {
            "path": "medication",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352"
          } ]
        }, {
          "type": "MedicationRequest",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest" ],
          "mustSupport": [ "medication.reference.value", "dosageInstruction", "status", "status.value", "intent", "intent.value", "authoredOn", "authoredOn.value" ]
        }, {
          "type": "Medication",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication" ],
          "mustSupport": [ "id.value", "code" ]
        }, {
          "type": "Condition",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-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://hl7.org/fhir/us/qicore/StructureDefinition/qicore-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/us/qicore/StructureDefinition/qicore-servicerequest" ],
          "mustSupport": [ "code", "authoredOn", "authoredOn.value", "status", "status.value", "intent", "intent.value" ],
          "codeFilter": [ {
            "path": "code",
            "code": [ {
              "system": "http://snomed.info/sct",
              "code": "456381000124102",
              "display": "Injection of leuprolide acetate for twelve month period (regime/therapy)"
            } ]
          } ]
        }, {
          "type": "ServiceRequest",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest" ],
          "mustSupport": [ "code", "authoredOn", "authoredOn.value", "status", "status.value", "intent", "intent.value" ],
          "codeFilter": [ {
            "path": "code",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
          } ]
        }, {
          "type": "Observation",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result" ],
          "mustSupport": [ "code", "effective", "status", "status.value" ],
          "codeFilter": [ {
            "path": "code",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
          } ]
        }, {
          "type": "ServiceRequest",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested" ],
          "mustSupport": [ "code", "authoredOn", "authoredOn.value", "extension" ],
          "codeFilter": [ {
            "path": "code",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
          } ]
        }, {
          "type": "ServiceRequest",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested" ],
          "mustSupport": [ "code", "authoredOn", "authoredOn.value", "extension" ],
          "codeFilter": [ {
            "path": "code",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
          } ]
        }, {
          "type": "Observation",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled" ],
          "mustSupport": [ "code", "issued", "issued.value", "extension" ],
          "codeFilter": [ {
            "path": "code",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
          } ]
        }, {
          "type": "Observation",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled" ],
          "mustSupport": [ "code", "issued", "issued.value", "extension" ],
          "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/us/qicore/StructureDefinition/qicore-encounter" ],
          "mustSupport": [ "type", "period", "status", "status.value" ],
          "codeFilter": [ {
            "path": "type",
            "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"
          } ]
        }, {
          "type": "Coverage",
          "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-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",
        "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-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/StructureDefinition/cqf-definitionTerm",
        "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/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
        "valueReference": {
          "reference": "#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": "2025-08-22T18:20:09+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"
        }
      } ]
    },
    "request": {
      "method": "POST",
      "url": "Measure/CMS645FHIRBoneDensityPCADTherapy"
    }
  }, {
    "fullUrl": "https://madie.cms.gov/Library/CMS645FHIRBoneDensityPCADTherapy",
    "resource": {
      "resourceType": "Library",
      "id": "CMS645FHIRBoneDensityPCADTherapy",
      "meta": {
        "profile": [ "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary", "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library" ]
      },
      "language": "en",
      "text": {
        "status": "extensions",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"col-12\">\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<td class=\"content-container\">CMS645FHIRBoneDensityPCADTherapy</td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n<td class=\"content-container\">1.0.000</td>\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n<td class=\"content-container\">CMS645FHIRBoneDensityPCADTherapy</td>\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<td class=\"content-container\">Oregon Urology</td>\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n<td class=\"content-container\">CMS645FHIRBoneDensityPCADTherapy</td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/library-type#logic-library]</td>\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>: ServiceRequest\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, authoredOn, authoredOn.value, status, status.value, intent, intent.value\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: medication\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: medication.reference.value\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: id.value, code\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>: Condition\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: code, effective, status, status.value\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359\n    <br/> \n  \n  \n  \n   \n  </td>\n</tr>\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">library CMS645FHIRBoneDensityPCADTherapy version '1.0.000'\r\n\r\nusing QICore version '6.0.0'\r\n\r\ninclude FHIRHelpers version '4.4.000' called FHIRHelpers\r\ninclude SupplementalDataElements version '5.1.000' called SDE\r\ninclude QICoreCommon version '4.0.000' called QICoreCommon\r\n\r\ncodesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'\r\n\r\nvalueset &quot;Androgen Deprivation Therapy for Urology Care&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352'\r\nvalueset &quot;DEXA Bone Density for Urology Care&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359'\r\nvalueset &quot;Office Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\r\nvalueset &quot;Patient Declined&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582'\r\nvalueset &quot;Prostate Cancer&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319'\r\n\r\ncode &quot;Injection of leuprolide acetate for twelve month period (regime/therapy)&quot;: '456381000124102' from &quot;SNOMEDCT&quot; display 'Injection of leuprolide acetate for twelve month period (regime/therapy)'\r\n\r\nparameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;\r\n\r\ncontext Patient\r\n\r\ndefine &quot;Initial Population&quot;:\r\n  &quot;Has Qualifying Encounter&quot;\r\n    and exists &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;\r\n\r\ndefine &quot;Denominator&quot;:\r\n  &quot;Initial Population&quot;\r\n\r\ndefine &quot;Numerator&quot;:\r\n  &quot;Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT&quot;\r\n\r\ndefine &quot;Denominator Exception&quot;:\r\n  exists ( &quot;No Bone Density Scan Ordered Due to Patient Refusal&quot; )\r\n    or exists ( &quot;No Bone Density Scan Performed Due to Patient Refusal&quot; )\r\n\r\ndefine &quot;SDE Ethnicity&quot;:\r\n  SDE.&quot;SDE Ethnicity&quot;\r\n\r\ndefine &quot;SDE Payer&quot;:\r\n  SDE.&quot;SDE Payer&quot;\r\n\r\ndefine &quot;SDE Race&quot;:\r\n  SDE.&quot;SDE Race&quot;\r\n\r\ndefine &quot;SDE Sex&quot;:\r\n  SDE.&quot;SDE Sex&quot;\r\n\r\ndefine &quot;Has Baseline DEXA Scan Two Years Prior to the Start of or Less than Three Months After the Start of ADT&quot;:\r\n  exists ( ( [ServiceRequest: &quot;DEXA Bone Density for Urology Care&quot;] DEXAOrdered\r\n        with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; OrderTwelveMonthsADT\r\n          such that DEXAOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\r\n            or DEXAOrdered.authoredOn 2 years or less before day of OrderTwelveMonthsADT.authoredOn\r\n        where DEXAOrdered.status in { 'active', 'completed' }\r\n          and DEXAOrdered.intent = 'order'\r\n    )\r\n      union ( [ObservationClinicalResult: &quot;DEXA Bone Density for Urology Care&quot;] DEXAPerformed\r\n          with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; OrderTwelveMonthsADT\r\n            such that DEXAPerformed.effective.toInterval ( ) 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\r\n              or DEXAPerformed.effective.toInterval ( ) 2 years or less before day of OrderTwelveMonthsADT.authoredOn\r\n          where DEXAPerformed.status in { 'final', 'amended', 'corrected' }\r\n      )\r\n  )\r\n\r\ndefine &quot;No Bone Density Scan Ordered Due to Patient Refusal&quot;:\r\n  [ServiceNotRequested: &quot;DEXA Bone Density for Urology Care&quot;] DEXANotOrdered\r\n    with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; OrderTwelveMonthsADT\r\n      such that DEXANotOrdered.authoredOn 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\r\n        and DEXANotOrdered.reasonRefused in &quot;Patient Declined&quot;\r\n\r\ndefine &quot;No Bone Density Scan Performed Due to Patient Refusal&quot;:\r\n  [ObservationCancelled: &quot;DEXA Bone Density for Urology Care&quot;] DEXANotPerformed\r\n    with &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; OrderTwelveMonthsADT\r\n      such that DEXANotPerformed.issued 3 months or less on or after day of OrderTwelveMonthsADT.authoredOn\r\n        and DEXANotPerformed.notDoneReason in &quot;Patient Declined&quot;\r\n\r\ndefine &quot;First ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;:\r\n  First((&quot;Androgen Deprivation Therapy for Urology Care Medication Active Start Dates&quot;\r\n      union &quot;Androgen Deprivation Therapy for Urology Care Medication Order Start Dates&quot;) ADTDateTime\r\n      with &quot;Prostate Cancer Diagnosis&quot; ProstateCancer\r\n        such that ADTDateTime during day of ProstateCancer.prevalenceInterval()\r\n          and ADTDateTime during day of Interval[start of &quot;Measurement Period&quot; - 3 months, start of &quot;Measurement Period&quot; + 9 months]\r\n      sort ascending\r\n  )\r\n\r\ndefine &quot;Order for 12 Months of ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot;:\r\n  [ServiceRequest: &quot;Injection of leuprolide acetate for twelve month period (regime/therapy)&quot;] OrderTwelveMonthADT\r\n    with &quot;First ADT in 3 Months Before to 9 Months After Start of Measurement Period&quot; FirstADTMP\r\n      such that OrderTwelveMonthADT.authoredOn on or after day of FirstADTMP\r\n        and OrderTwelveMonthADT.authoredOn during day of Interval[start of &quot;Measurement Period&quot; - 3 months, start of &quot;Measurement Period&quot; + 9 months]\r\n        and OrderTwelveMonthADT.status in { 'active', 'completed' }\r\n        and OrderTwelveMonthADT.intent = 'order'\r\n\r\ndefine &quot;Androgen Deprivation Therapy for Urology Care Medication Active Start Dates&quot;:\r\n  [MedicationRequest: &quot;Androgen Deprivation Therapy for Urology Care&quot;] ADTActive\r\n    let firstMedicationPeriod: First((collapse(ADTActive.dosageInstruction.timing.repeat.bounds DoseTime\r\n          return DoseTime.toInterval()\r\n      )) DrugPeriods\r\n        sort by start of $this\r\n    ),\n\n    //get the very first event as interval\r\n    \r\n    firstMedicationEvent: First((ADTActive.dosageInstruction.timing dosageTiming\n        //returns first event for the specific dosageTiming\r\n        \r\n        return First(dosageTiming.event dosageTimingEvents\r\n            sort ascending\r\n        )) firstEvents\r\n        sort ascending\r\n    ),\r\n    medicationDateTime: Min({ firstMedicationEvent, start of firstMedicationPeriod, \r\n      end of firstMedicationPeriod }\r\n    )\r\n    where ADTActive.status in { 'active', 'completed' }\r\n      and ADTActive.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }\r\n    return medicationDateTime\r\n\r\ndefine &quot;Androgen Deprivation Therapy for Urology Care Medication Order Start Dates&quot;:\r\n  [MedicationRequest: &quot;Androgen Deprivation Therapy for Urology Care&quot;] ADTOrder\r\n    let firstMedicationPeriod: First((collapse(ADTOrder.dosageInstruction.timing.repeat.bounds DoseTime\r\n          return DoseTime.toInterval()\r\n      )) DrugPeriods\r\n        sort by start of $this\r\n    ),\r\n    medicationDateTime: Min({ ADTOrder.authoredOn, start of firstMedicationPeriod, \r\n      end of firstMedicationPeriod }\r\n    )\r\n    where ADTOrder.status in { 'active', 'completed' }\r\n      and ADTOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }\r\n    return medicationDateTime\r\n\r\ndefine &quot;Has Qualifying Encounter&quot;:\r\n  exists ( [&quot;Encounter&quot;: &quot;Office Visit&quot;] OfficeVisit\r\n      where OfficeVisit.period during day of &quot;Measurement Period&quot;\r\n        and OfficeVisit.status = 'finished'\r\n  )\r\n\r\ndefine &quot;Prostate Cancer Diagnosis&quot;:\r\n  ( [ConditionProblemsHealthConcerns: &quot;Prostate Cancer&quot;]\r\n    union [ConditionEncounterDiagnosis: &quot;Prostate Cancer&quot;] ) ProstateCancer\r\n    where ProstateCancer.prevalenceInterval ( ) overlaps day of &quot;Measurement Period&quot;\r\n      and ProstateCancer.isVerified ( )\n\n/*      \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*/\r\n\r\n\r\ndefine fluent function isVerified(condition Choice&lt;ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns&gt;):\r\n  condition.verificationStatus is not null implies ( condition.verificationStatus ~ QICoreCommon.&quot;confirmed&quot;\r\n      or condition.verificationStatus ~ QICoreCommon.&quot;unconfirmed&quot;\r\n      or condition.verificationStatus ~ QICoreCommon.&quot;provisional&quot;\r\n      or condition.verificationStatus ~ QICoreCommon.&quot;differential&quot;\r\n  )</code></pre>\n      </td>\n    </tr>\n    \n    \n    \n  \n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.4.8 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
      },
      "extension": [ {
        "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": "https://madie.cms.gov/Library/CMS645FHIRBoneDensityPCADTherapy",
      "identifier": [ {
        "use": "official",
        "system": "https://madie.cms.gov/login",
        "value": "CMS645FHIRBoneDensityPCADTherapy"
      } ],
      "version": "1.0.000",
      "name": "CMS645FHIRBoneDensityPCADTherapy",
      "title": "CMS645FHIRBoneDensityPCADTherapy",
      "status": "active",
      "experimental": false,
      "type": {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/library-type",
          "code": "logic-library"
        } ]
      },
      "date": "2025-08-22T18:20:11+00:00",
      "publisher": "Oregon Urology",
      "description": "CMS645FHIRBoneDensityPCADTherapy",
      "relatedArtifact": [ {
        "type": "depends-on",
        "display": "QICore model information",
        "resource": "http://hl7.org/fhir/Library/QICore-ModelInfo"
      }, {
        "type": "depends-on",
        "display": "Library SDE",
        "resource": "https://madie.cms.gov/Library/SupplementalDataElements|5.1.000"
      }, {
        "type": "depends-on",
        "display": "Library FHIRHelpers",
        "resource": "https://madie.cms.gov/Library/FHIRHelpers|4.4.000"
      }, {
        "type": "depends-on",
        "display": "Library QICoreCommon",
        "resource": "https://madie.cms.gov/Library/QICoreCommon|4.0.000"
      }, {
        "type": "depends-on",
        "display": "Code system SNOMEDCT",
        "resource": "http://snomed.info/sct"
      }, {
        "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"
      } ],
      "dataRequirement": [ {
        "type": "ServiceRequest",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest" ],
        "mustSupport": [ "code", "authoredOn", "authoredOn.value", "status", "status.value", "intent", "intent.value" ],
        "codeFilter": [ {
          "path": "code",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
        } ]
      }, {
        "type": "MedicationRequest",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest" ],
        "mustSupport": [ "medication" ],
        "codeFilter": [ {
          "path": "medication",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.352"
        } ]
      }, {
        "type": "MedicationRequest",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest" ],
        "mustSupport": [ "medication.reference.value" ]
      }, {
        "type": "Medication",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication" ],
        "mustSupport": [ "id.value", "code" ]
      }, {
        "type": "Condition",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-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://hl7.org/fhir/us/qicore/StructureDefinition/qicore-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": "Observation",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result" ],
        "mustSupport": [ "code", "effective", "status", "status.value" ],
        "codeFilter": [ {
          "path": "code",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
        } ]
      }, {
        "type": "ServiceRequest",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested" ],
        "mustSupport": [ "code" ],
        "codeFilter": [ {
          "path": "code",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
        } ]
      }, {
        "type": "ServiceRequest",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested" ],
        "mustSupport": [ "code" ],
        "codeFilter": [ {
          "path": "code",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
        } ]
      }, {
        "type": "Observation",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled" ],
        "mustSupport": [ "code" ],
        "codeFilter": [ {
          "path": "code",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
        } ]
      }, {
        "type": "Observation",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled" ],
        "mustSupport": [ "code" ],
        "codeFilter": [ {
          "path": "code",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.359"
        } ]
      } ],
      "content": [ {
        "contentType": "text/cql",
        "data": "[encoded data, 10796 characters]"
      }, {
        "contentType": "application/elm+json",
        "data": "[encoded data, 576476 characters]"
      } ]
    },
    "request": {
      "method": "POST",
      "url": "Library/CMS645FHIRBoneDensityPCADTherapy"
    }
  }, {
    "fullUrl": "https://madie.cms.gov/Library/SupplementalDataElements",
    "resource": {
      "resourceType": "Library",
      "id": "SupplementalDataElements",
      "meta": {
        "profile": [ "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary", "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library" ]
      },
      "language": "en",
      "text": {
        "status": "extensions",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"col-12\">\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<td class=\"content-container\">SupplementalDataElements</td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n<td class=\"content-container\">5.1.000</td>\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n<td class=\"content-container\">67e5bc4d88f4d211353e632e</td>\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<td class=\"content-container\">ICF</td>\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n<td class=\"content-container\">This is the QI-Core 6.0.0 version of the Supplemental Data Elements library containing the CMS SDE definitions for Payer, Race, Ethnicity and Sex</td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/library-type#logic-library]</td>\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: extension, url\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>: Coverage\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage\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> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591\n    <br/> \n  \n  \n  \n   \n  </td>\n</tr>\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\r\n@update: GCW 2025-03-27 -&gt;\r\nUpdated to reflect valueset name change from CMS Sex to Federal Administrative Sex\r\n*/\r\nlibrary SupplementalDataElements version '5.1.000'\r\n\r\nusing QICore version '6.0.0'\r\n\r\ninclude FHIRHelpers version '4.4.000' called FHIRHelpers\r\n\r\ncodesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'\r\n\r\nvalueset &quot;Ethnicity&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\r\nvalueset &quot;Federal Administrative Sex&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1021.121'\r\nvalueset &quot;Payer Type&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\r\nvalueset &quot;Race&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\r\n\r\ncode &quot;Male (finding)&quot;: '248153007' from &quot;SNOMEDCT&quot; display 'Male (finding)'\r\ncode &quot;Female (finding)&quot;: '248152002' from &quot;SNOMEDCT&quot; display 'Female (finding)'\r\n\r\ncontext Patient\r\n\r\ndefine &quot;SDE Ethnicity&quot;:\r\n  Patient.ethnicity E\r\n    return Tuple {\r\n      codes: { E.ombCategory } union E.detailed,\r\n      display: E.text\r\n    }\r\n\r\ndefine &quot;SDE Payer&quot;:\r\n  [Coverage: type in &quot;Payer Type&quot;] Payer\r\n    return {\r\n      code: Payer.type,\r\n      period: Payer.period\r\n    }\r\n\r\ndefine &quot;SDE Race&quot;:\r\n  Patient.race R\r\n    return Tuple {\r\n      codes: R.ombCategory union R.detailed,\r\n      display: R.text\r\n    }\r\n\r\ndefine &quot;SDE Sex&quot;:\r\n  case\r\n    when Patient.sex = '248153007' then &quot;Male (finding)&quot;\r\n    when Patient.sex = '248152002' then &quot;Female (finding)&quot;\r\n    else null\r\n  end</code></pre>\n      </td>\n    </tr>\n    \n    \n    \n  \n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.4.8 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
      },
      "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": "https://madie.cms.gov/Library/SupplementalDataElements",
      "identifier": [ {
        "use": "official",
        "system": "https://madie.cms.gov/login",
        "value": "67e5bc4d88f4d211353e632e"
      } ],
      "version": "5.1.000",
      "name": "SupplementalDataElements",
      "title": "SupplementalDataElements",
      "status": "active",
      "experimental": false,
      "type": {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/library-type",
          "code": "logic-library"
        } ]
      },
      "date": "2025-08-22T18:20:12+00:00",
      "publisher": "ICF",
      "description": "This is the QI-Core 6.0.0 version of the Supplemental Data Elements library containing the CMS SDE definitions for Payer, Race, Ethnicity and Sex",
      "relatedArtifact": [ {
        "type": "depends-on",
        "display": "QICore model information",
        "resource": "http://hl7.org/fhir/Library/QICore-ModelInfo"
      }, {
        "type": "depends-on",
        "display": "Library FHIRHelpers",
        "resource": "https://madie.cms.gov/Library/FHIRHelpers|4.4.000"
      }, {
        "type": "depends-on",
        "display": "Code system SNOMEDCT",
        "resource": "http://snomed.info/sct"
      }, {
        "type": "depends-on",
        "display": "Value set Payer Type",
        "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
      } ],
      "dataRequirement": [ {
        "type": "Patient",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient" ],
        "mustSupport": [ "extension", "url" ]
      }, {
        "type": "Coverage",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage" ],
        "mustSupport": [ "type", "period" ],
        "codeFilter": [ {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"
        } ]
      } ],
      "content": [ {
        "contentType": "text/cql",
        "data": "LyoNCkB1cGRhdGU6IEdDVyAyMDI1LTAzLTI3IC0+DQpVcGRhdGVkIHRvIHJlZmxlY3QgdmFsdWVzZXQgbmFtZSBjaGFuZ2UgZnJvbSBDTVMgU2V4IHRvIEZlZGVyYWwgQWRtaW5pc3RyYXRpdmUgU2V4DQoqLw0KbGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnNS4xLjAwMCcNCg0KdXNpbmcgUUlDb3JlIHZlcnNpb24gJzYuMC4wJw0KDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuNC4wMDAnIGNhbGxlZCBGSElSSGVscGVycw0KDQpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jw0KDQp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycNCnZhbHVlc2V0ICJGZWRlcmFsIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwMjEuMTIxJw0KdmFsdWVzZXQgIlBheWVyIFR5cGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScNCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicNCg0KY29kZSAiTWFsZSAoZmluZGluZykiOiAnMjQ4MTUzMDA3JyBmcm9tICJTTk9NRURDVCIgZGlzcGxheSAnTWFsZSAoZmluZGluZyknDQpjb2RlICJGZW1hbGUgKGZpbmRpbmcpIjogJzI0ODE1MjAwMicgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0ZlbWFsZSAoZmluZGluZyknDQoNCmNvbnRleHQgUGF0aWVudA0KDQpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOg0KICBQYXRpZW50LmV0aG5pY2l0eSBFDQogICAgcmV0dXJuIFR1cGxlIHsNCiAgICAgIGNvZGVzOiB7IEUub21iQ2F0ZWdvcnkgfSB1bmlvbiBFLmRldGFpbGVkLA0KICAgICAgZGlzcGxheTogRS50ZXh0DQogICAgfQ0KDQpkZWZpbmUgIlNERSBQYXllciI6DQogIFtDb3ZlcmFnZTogdHlwZSBpbiAiUGF5ZXIgVHlwZSJdIFBheWVyDQogICAgcmV0dXJuIHsNCiAgICAgIGNvZGU6IFBheWVyLnR5cGUsDQogICAgICBwZXJpb2Q6IFBheWVyLnBlcmlvZA0KICAgIH0NCg0KZGVmaW5lICJTREUgUmFjZSI6DQogIFBhdGllbnQucmFjZSBSDQogICAgcmV0dXJuIFR1cGxlIHsNCiAgICAgIGNvZGVzOiBSLm9tYkNhdGVnb3J5IHVuaW9uIFIuZGV0YWlsZWQsDQogICAgICBkaXNwbGF5OiBSLnRleHQNCiAgICB9DQoNCmRlZmluZSAiU0RFIFNleCI6DQogIGNhc2UNCiAgICB3aGVuIFBhdGllbnQuc2V4ID0gJzI0ODE1MzAwNycgdGhlbiAiTWFsZSAoZmluZGluZykiDQogICAgd2hlbiBQYXRpZW50LnNleCA9ICcyNDgxNTIwMDInIHRoZW4gIkZlbWFsZSAoZmluZGluZykiDQogICAgZWxzZSBudWxsDQogIGVuZA=="
      }, {
        "contentType": "application/elm+xml",
        "data": "[encoded data, 61716 characters]"
      }, {
        "contentType": "application/elm+json",
        "data": "[encoded data, 121536 characters]"
      } ]
    },
    "request": {
      "method": "POST",
      "url": "Library/SupplementalDataElements"
    }
  }, {
    "fullUrl": "https://madie.cms.gov/Library/QICoreCommon",
    "resource": {
      "resourceType": "Library",
      "id": "QICoreCommon",
      "meta": {
        "profile": [ "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary", "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library" ]
      },
      "language": "en",
      "text": {
        "status": "extensions",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"col-12\">\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<td class=\"content-container\">QICoreCommon</td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n<td class=\"content-container\">4.0.000</td>\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n<td class=\"content-container\">67cb33c19e9ab93ec36dad45</td>\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<td class=\"content-container\">ICF</td>\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n<td class=\"content-container\">Common terminologies and functions used in QI-Core-based CQL artifacts</td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/library-type#logic-library]</td>\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>: Resource\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/StructureDefinition/Resource\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: id, id.value\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    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: birthDate, birthDate.value\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>: DeviceRequest\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest\n    <br/>        \n  \n   \n   \n    <em>Must Support Elements</em>: modifierExtension\n    <br/>\n   \n   \n  </td>\n</tr>\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">library QICoreCommon version '4.0.000'\n\nusing QICore version '6.0.0'\n\ninclude FHIRHelpers version '4.4.000' called FHIRHelpers\n\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\ncodesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'\ncodesystem &quot;ActCode&quot;: 'http://terminology.hl7.org/CodeSystem/v3-ActCode'\ncodesystem &quot;RoleCode&quot;: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'\ncodesystem &quot;Diagnosis Role&quot;: 'http://terminology.hl7.org/CodeSystem/diagnosis-role'\ncodesystem &quot;RequestIntent&quot;: 'http://hl7.org/fhir/request-intent'\ncodesystem &quot;MedicationRequestCategory&quot;: 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\ncodesystem &quot;ConditionClinicalStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/condition-clinical'\ncodesystem &quot;ConditionVerificationStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/condition-ver-status'\ncodesystem &quot;AllergyIntoleranceClinicalStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical'\ncodesystem &quot;AllergyIntoleranceVerificationStatusCodes&quot;: 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification'\ncodesystem &quot;ObservationCategoryCodes&quot;: 'http://terminology.hl7.org/CodeSystem/observation-category'\ncodesystem &quot;USCoreObservationCategoryExtensionCodes&quot;: 'http://hl7.org/fhir/us/core/CodeSystem/us-core-observation-category'  \ncodesystem &quot;ConditionCategory&quot;: 'http://terminology.hl7.org/CodeSystem/condition-category'\ncodesystem &quot;USCoreConditionCategoryExtensionCodes&quot;: 'http://hl7.org/fhir/us/core/CodeSystem/condition-category'\ncodesystem &quot;TaskCodeSystem&quot;: 'http://hl7.org/fhir/CodeSystem/task-code' \n\n\n\ncode &quot;Birthdate&quot;: '21112-8' from &quot;LOINC&quot; display 'Birth date'\ncode &quot;Dead&quot;: '419099009' from &quot;SNOMEDCT&quot; display 'Dead'\ncode &quot;ER&quot;: 'ER' from &quot;RoleCode&quot; display 'Emergency room'\ncode &quot;ICU&quot;: 'ICU' from &quot;RoleCode&quot; display 'Intensive care unit'\ncode &quot;Billing&quot;: 'billing' from &quot;Diagnosis Role&quot; display 'Billing'\n\n//Task codes\ncode &quot;Fulfill&quot;: 'fulfill' from &quot;TaskCodeSystem&quot; display 'Fulfill'\n\n// Encounter Class Codes\ncode &quot;ambulatory&quot;: 'AMB' from ActCode display 'ambulatory'\ncode &quot;emergency&quot;: 'EMER' from ActCode display 'emergency'\ncode &quot;field&quot;: 'FLD' from ActCode display 'field'\ncode &quot;home health&quot;: 'HH' from ActCode display 'home health'\ncode &quot;inpatient encounter&quot;: 'IMP' from ActCode display 'inpatient encounter'\ncode &quot;inpatient acute&quot;: 'ACUTE' from ActCode display 'inpatient acute'\ncode &quot;inpatient non-acute&quot;: 'NONAC' from ActCode display 'inpatient non-acute'\ncode &quot;observation encounter&quot;: 'OBSENC' from ActCode display 'observation encounter'\ncode &quot;pre-admission&quot;: 'PRENC' from ActCode display 'pre-admission'\ncode &quot;short stay&quot;: 'SS' from ActCode display 'short stay'\ncode &quot;virtual&quot;: 'VR' from ActCode display 'Virtual'\n\n// Condition Category Codes\ncode &quot;problem-list-item&quot;: 'problem-list-item' from &quot;ConditionCategory&quot; display 'Problem List Item'\ncode &quot;encounter-diagnosis&quot;: 'encounter-diagnosis' from &quot;ConditionCategory&quot; display 'Encounter Diagnosis'\ncode &quot;health-concern&quot;: 'health-concern' from &quot;USCoreConditionCategoryExtensionCodes&quot; display 'Health Concern'\n\n// Condition Clinical Status Codes - Consider value sets for these\ncode &quot;active&quot;: 'active' from &quot;ConditionClinicalStatusCodes&quot; display 'Active'\ncode &quot;recurrence&quot;: 'recurrence' from &quot;ConditionClinicalStatusCodes&quot; display 'Recurrence'\ncode &quot;relapse&quot;: 'relapse' from &quot;ConditionClinicalStatusCodes&quot; display 'Relapse'\ncode &quot;inactive&quot;: 'inactive' from &quot;ConditionClinicalStatusCodes&quot; display 'Inactive'\ncode &quot;remission&quot;: 'remission' from &quot;ConditionClinicalStatusCodes&quot; display 'Remission'\ncode &quot;resolved&quot;: 'resolved' from &quot;ConditionClinicalStatusCodes&quot; display 'Resolved'\n\n// Condition Verification Status Codes - Consider value sets for these\ncode &quot;unconfirmed&quot;: 'unconfirmed' from ConditionVerificationStatusCodes display 'Unconfirmed'\ncode &quot;provisional&quot;: 'provisional' from ConditionVerificationStatusCodes display 'Provisional'\ncode &quot;differential&quot;: 'differential' from ConditionVerificationStatusCodes display 'Differential'\ncode &quot;confirmed&quot;: 'confirmed' from ConditionVerificationStatusCodes display 'Confirmed'\ncode &quot;refuted&quot;: 'refuted' from ConditionVerificationStatusCodes display 'Refuted'\ncode &quot;entered-in-error&quot;: 'entered-in-error' from ConditionVerificationStatusCodes display 'Entered in Error'\n\ncode &quot;allergy-active&quot;: 'active' from &quot;AllergyIntoleranceClinicalStatusCodes&quot; display 'Active'\ncode &quot;allergy-inactive&quot;: 'inactive' from &quot;AllergyIntoleranceClinicalStatusCodes&quot; display 'Inactive'\ncode &quot;allergy-resolved&quot;: 'resolved' from &quot;AllergyIntoleranceClinicalStatusCodes&quot; display 'Resolved'\n\n// Allergy/Intolerance Verification Status Codes - Consider value sets for these\ncode &quot;allergy-unconfirmed&quot;: 'unconfirmed' from AllergyIntoleranceVerificationStatusCodes display 'Unconfirmed'\ncode &quot;allergy-confirmed&quot;: 'confirmed' from AllergyIntoleranceVerificationStatusCodes display 'Confirmed'\ncode &quot;allergy-refuted&quot;: 'refuted' from AllergyIntoleranceVerificationStatusCodes display 'Refuted'\n\n// MedicationRequest Category Codes\ncode &quot;Inpatient&quot;: 'inpatient' from &quot;MedicationRequestCategory&quot; display 'Inpatient'\ncode &quot;Outpatient&quot;: 'outpatient' from &quot;MedicationRequestCategory&quot; display 'Outpatient'\ncode &quot;Community&quot;: 'community' from &quot;MedicationRequestCategory&quot; display 'Community'\ncode &quot;Discharge&quot;: 'discharge' from &quot;MedicationRequestCategory&quot; display 'Discharge'\n\n// Diagnosis Role Codes\ncode &quot;AD&quot;: 'AD' from &quot;Diagnosis Role&quot; display 'Admission diagnosis'\ncode &quot;DD&quot;: 'DD' from &quot;Diagnosis Role&quot; display 'Discharge diagnosis'\ncode &quot;CC&quot;: 'CC' from &quot;Diagnosis Role&quot; display 'Chief complaint'\ncode &quot;CM&quot;: 'CM' from &quot;Diagnosis Role&quot; display 'Comorbidity diagnosis'\ncode &quot;pre-op&quot;: 'pre-op' from &quot;Diagnosis Role&quot; display 'pre-op diagnosis'\ncode &quot;post-op&quot;: 'post-op' from &quot;Diagnosis Role&quot; display 'post-op diagnosis'\ncode &quot;billing&quot;: 'billing' from &quot;Diagnosis Role&quot; display 'Billing'\n\n// Observation Category Codes\ncode &quot;social-history&quot;: 'social-history' from &quot;ObservationCategoryCodes&quot; display 'Social History'\ncode &quot;vital-signs&quot;: 'vital-signs' from &quot;ObservationCategoryCodes&quot; display 'Vital Signs'\ncode &quot;imaging&quot;: 'imaging' from &quot;ObservationCategoryCodes&quot; display 'Imaging'\ncode &quot;laboratory&quot;: 'laboratory' from &quot;ObservationCategoryCodes&quot; display 'Laboratory'\ncode &quot;procedure&quot;: 'procedure' from &quot;ObservationCategoryCodes&quot; display 'Procedure'\ncode &quot;survey&quot;: 'survey' from &quot;ObservationCategoryCodes&quot; display 'Survey'\ncode &quot;exam&quot;: 'exam' from &quot;ObservationCategoryCodes&quot; display 'Exam'\ncode &quot;therapy&quot;: 'therapy' from &quot;ObservationCategoryCodes&quot; display 'Therapy'\ncode &quot;activity&quot;: 'activity' from &quot;ObservationCategoryCodes&quot; display 'Activity'\n\ncontext Patient\n\n/* Candidates for FHIRCommon */\n\n/*\n@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse\n*/\ndefine fluent function isActive(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\n  condition.clinicalStatus ~ &quot;active&quot;\n    or condition.clinicalStatus ~ &quot;recurrence&quot;\n    or condition.clinicalStatus ~ &quot;relapse&quot;\n\n/*\n@description: Returns true if the given condition has the given category\n*/\ndefine fluent function hasCategory(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;, category Code):\n  exists (condition.category C\n    where C ~ category\n  )\n\n/*\n@description: Returns true if the given condition is a problem list item.\n*/\ndefine fluent function isProblemListItem(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\n  exists (condition.category C\n    where C ~ &quot;problem-list-item&quot;\n  )\n\n/*\n@description: Returns true if the given condition is an encounter diagnosis\n*/\ndefine fluent function isEncounterDiagnosis(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\n  exists (condition.category C\n    where C ~ &quot;encounter-diagnosis&quot;\n  )\n\n/*\n@description: Returns true if the given condition is a health concern\n*/\ndefine fluent function isHealthConcern(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\n  exists (condition.category C\n    where C ~ &quot;health-concern&quot;\n  )\n\n/*\n@description: Returns true if the given observation has the given category\n*/\ndefine fluent function hasCategory(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;, \ncategory Code):\n  exists (observation.category C\n    where C ~ category\n  )\n\n/*\n@description: Returns true if the given observation is a social history observation\n*/\ndefine fluent function isSocialHistory(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;social-history&quot;\n  )\n\n/*\n@description: Returns true if the given observation is a vital sign\n*/\ndefine fluent function isVitalSign(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;vital-signs&quot;\n  )\n\n/*\n@description: Returns true if the given observation is an imaging observation\n*/\ndefine fluent function isImaging(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;imaging&quot;\n  )\n\n/*\n@description: Returns true if the given observation is a laboratory observation\n*/\ndefine fluent function isLaboratory(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;laboratory&quot;\n  )\n\n/*\n@description: Returns true if the given observation is a procedure observation\n*/\ndefine fluent function isProcedure(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;procedure&quot;\n  )\n\n/*\n@description: Returns true if the given observation is a survey observation\n*/\ndefine fluent function isSurvey(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;survey&quot;\n  )\n\n/*\n@description: Returns true if the given observation is an exam observation\n*/\ndefine fluent function isExam(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;exam&quot;\n  )\n\n/*\n@description: Returns true if the given observation is a therapy observation\n*/\ndefine fluent function isTherapy(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;therapy&quot;\n  )\n\n/*\n@description: Returns true if the given observation is an activity observation\n*/\ndefine fluent function isActivity(observation Choice&lt;&quot;SimpleObservation&quot;, \n&quot;ObservationCancelled&quot;,\n&quot;NonPatientObservation&quot;,\n&quot;LaboratoryResultObservation&quot;,\n&quot;ObservationClinicalResult&quot;,\n&quot;ObservationScreeningAssessment&quot;&gt;):\n  exists (observation.category C\n    where C ~ &quot;activity&quot;\n  )\n\n/*\n@description: Returns true if the given MedicationRequest has a category of Community\n*/\ndefine fluent function isCommunity(medicationRequest Choice&lt;MedicationRequest, MedicationNotRequested&gt;):\n  exists (medicationRequest.category C\n    where C ~ Community\n  )\n\n/*\n@description: Returns true if the given MedicationRequest has a category of Discharge\n*/\ndefine fluent function isDischarge(medicationRequest Choice&lt;MedicationRequest, MedicationNotRequested&gt;):\n  exists (medicationRequest.category C\n    where C ~ Discharge\n  )\n\n/*\n@description: Returns true if the given DeviceRequest is a negation (i.e. do not perform this order)\n@deprecated: This function is no longer required in QICore 6.0.0 and above\n*/\ndefine fluent function doNotPerform(deviceRequest DeviceRequest):\n  // KNOWN ISSUE: The translator reports this as an error but the execution still works, this is under investigation\n  deviceRequest.doNotPerform\n\n/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of DateTime, Quanitty, Interval&lt;DateTime&gt;, or Interval&lt;Quantity&gt; 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 QICore, allowing this function to be used across any resource.\nThe input can be provided as a DateTime, Quantity, Interval&lt;DateTime&gt; or Interval&lt;Quantity&gt;.\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 Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,\nand the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.\nIf the input is a DateTime Interval, the result is the input.\nIf the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result\nis a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending\nimmediately before one year later than the date the patient turned the age given as the end of the quantity interval.\nIf the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval\n@deprecated: This function is deprecated. Use the fluent function `toInterval()` instead\n*/\ndefine function ToInterval(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;, Timing&gt;):\n  case\n\t  when choice is DateTime then\n    \tInterval[choice as DateTime, choice as DateTime]\n\t\twhen choice is Interval&lt;DateTime&gt; then\n  \t\tchoice as Interval&lt;DateTime&gt;\n\t\twhen choice is Quantity then\n\t\t  Interval[Patient.birthDate + (choice as Quantity),\n\t\t\t  Patient.birthDate + (choice as Quantity) + 1 year)\n\t\twhen choice is Interval&lt;Quantity&gt; then\n\t\t  Interval[Patient.birthDate + (choice.low as Quantity),\n\t\t\t  Patient.birthDate + (choice.high as Quantity) + 1 year)\n\t\twhen choice is Timing then\n      Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval&lt;DateTime&gt;\n\t\telse\n\t\t\tnull as Interval&lt;DateTime&gt;\n\tend\n\n/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of DateTime, Quanitty, Interval&lt;DateTime&gt;, or Interval&lt;Quantity&gt; 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 QICore, allowing this function to be used across any resource.\nThe input can be provided as a DateTime, Quantity, Interval&lt;DateTime&gt; or Interval&lt;Quantity&gt;.\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 Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,\nand the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.\nIf the input is a DateTime Interval, the result is the input.\nIf the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result\nis a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending\nimmediately before one year later than the date the patient turned the age given as the end of the quantity interval.\nIf the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval\n*/\ndefine fluent function toInterval(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;, Timing&gt;):\n  case\n\t  when choice is DateTime then\n    \tInterval[choice as DateTime, choice as DateTime]\n\t\twhen choice is Interval&lt;DateTime&gt; then\n  \t\tchoice as Interval&lt;DateTime&gt;\n\t\twhen choice is Quantity then\n\t\t  Interval[Patient.birthDate + (choice as Quantity),\n\t\t\t  Patient.birthDate + (choice as Quantity) + 1 year)\n\t\twhen choice is Interval&lt;Quantity&gt; then\n\t\t  Interval[Patient.birthDate + (choice.low as Quantity),\n\t\t\t  Patient.birthDate + (choice.high as Quantity) + 1 year)\n\t\twhen choice is Timing then\n      Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval&lt;DateTime&gt;\n\t\telse\n\t\t\tnull as Interval&lt;DateTime&gt;\n\tend\n\n/*\n@description: Returns an interval representing the normalized abatement of a given Condition.\n@comment: If the abatement element of the Condition is represented as a DateTime, the result\nis an interval beginning and ending on that DateTime.\nIf the abatement is represented as a Quantity, the quantity is expected to be a calendar-duration and is interpreted as the age of the patient. The\nresult is an interval from the date the patient turned that age to immediately before one year later.\nIf the abatement is represented as a Quantity Interval, the quantities are expected to be calendar-durations and are interpreted as an age range during\nwhich the abatement occurred. The result is an interval from the date the patient turned the starting age of the quantity interval, and ending immediately\nbefore one year later than the date the patient turned the ending age of the quantity interval.\n@deprecated: This function is deprecated. Use the fluent function `abatementInterval()` instead.\n*/\ndefine function ToAbatementInterval(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\n\tif condition.abatement is DateTime then\n\t  Interval[condition.abatement as DateTime, condition.abatement as DateTime]\n\telse if condition.abatement is Quantity then\n\t\tInterval[Patient.birthDate + (condition.abatement as Quantity),\n\t\t\tPatient.birthDate + (condition.abatement as Quantity) + 1 year)\n\telse if condition.abatement is Interval&lt;Quantity&gt; then\n\t  Interval[Patient.birthDate + (condition.abatement.low as Quantity),\n\t\t  Patient.birthDate + (condition.abatement.high as Quantity) + 1 year)\n\telse if condition.abatement is Interval&lt;DateTime&gt; then\n\t  Interval[condition.abatement.low, condition.abatement.high)\n\telse null as Interval&lt;DateTime&gt;\n\n/*\n@description: Returns an interval representing the normalized abatement of a given Condition.\n@comment: If the abatement element of the Condition is represented as a DateTime, the result\nis an interval beginning and ending on that DateTime.\nIf the abatement is represented as a Quantity, the quantity is expected to be a calendar-duration and is interpreted as the age of the patient. The\nresult is an interval from the date the patient turned that age to immediately before one year later.\nIf the abatement is represented as a Quantity Interval, the quantities are expected to be calendar-durations and are interpreted as an age range during\nwhich the abatement occurred. The result is an interval from the date the patient turned the starting age of the quantity interval, and ending immediately\nbefore one year later than the date the patient turned the ending age of the quantity interval.\n*/\ndefine fluent function abatementInterval(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\n\tif condition.abatement is DateTime then\n\t  Interval[condition.abatement as DateTime, condition.abatement as DateTime]\n\telse if condition.abatement is Quantity then\n\t\tInterval[Patient.birthDate + (condition.abatement as Quantity),\n\t\t\tPatient.birthDate + (condition.abatement as Quantity) + 1 year)\n\telse if condition.abatement is Interval&lt;Quantity&gt; then\n\t  Interval[Patient.birthDate + (condition.abatement.low as Quantity),\n\t\t  Patient.birthDate + (condition.abatement.high as Quantity) + 1 year)\n\telse if condition.abatement is Interval&lt;DateTime&gt; then\n\t  Interval[condition.abatement.low, condition.abatement.high)\n\telse null as Interval&lt;DateTime&gt;\n\n/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition.\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\nonset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting \ninterval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.\n@deprecated: This function is deprecated. Use the `prevalenceInterval()` fluent function instead\n*/\ndefine function ToPrevalenceInterval(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\nif condition.clinicalStatus ~ &quot;active&quot;\n  or condition.clinicalStatus ~ &quot;recurrence&quot;\n  or condition.clinicalStatus ~ &quot;relapse&quot; then\n  Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition)]\nelse\n   (end of ToAbatementInterval(condition)) abatementDate\n    return if abatementDate is null then\n      Interval[start of ToInterval(condition.onset), abatementDate)\n    else\n      Interval[start of ToInterval(condition.onset), abatementDate]\n\n/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition.\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\nonset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting \ninterval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.\n*/\ndefine fluent function prevalenceInterval(condition Choice&lt;&quot;ConditionEncounterDiagnosis&quot;, &quot;ConditionProblemsHealthConcerns&quot;&gt;):\nif condition.clinicalStatus ~ &quot;active&quot;\n  or condition.clinicalStatus ~ &quot;recurrence&quot;\n  or condition.clinicalStatus ~ &quot;relapse&quot; then\n  Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]\nelse\n    (end of condition.abatementInterval()) abatementDate\n    return if abatementDate is null then\n      Interval[start of condition.onset.toInterval(), abatementDate)\n    else\n      Interval[start of condition.onset.toInterval(), abatementDate]\n\n/*\n@description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).\n@comment: This function can be used to determine the logical id of a given resource. It can be used in\na single-server environment to trace references. However, this function does not attempt to resolve\nor distinguish the base of the given url, and so cannot be used safely in multi-server environments.\n@deprecated: This function is deprecated. Use the fluent function `getId()` instead\n*/\ndefine function GetId(uri String):\n  Last(Split(uri, '/'))\n\n/*\n@description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).\n@comment: This function can be used to determine the logical id of a given resource. It can be used in\na single-server environment to trace references. However, this function does not attempt to resolve\nor distinguish the base of the given url, and so cannot be used safely in multi-server environments.\n*/\ndefine fluent function getId(uri String):\n  Last(Split(uri, '/'))\n\n/*\n@description: Returns true if the given reference is to the given resource\n@comment: Returns true if the `id` element of the given resource exactly equals the tail of the given reference.\nNOTE: This function assumes resources from the same source server.\n*/\ndefine fluent function references(reference Reference, resource Resource):\n  resource.id = Last(Split(reference.reference, '/'))  \n\n/*\n@description: Returns true if the given reference is to the given resourceId\n@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.\nNOTE: This function assumes resources from the same source server.\n*/\ndefine fluent function references(reference Reference, resourceId String):\n  resourceId = Last(Split(reference.reference, '/'))\n\n/*\n@description: Returns true if any of the given references are to the given resource\n@comment: Returns true if the `id` element of the given resource exactly equals the tail of any of the given references.\nNOTE: This function assumes resources from the same source server.\n*/\ndefine fluent function references(references List&lt;Reference&gt;, resource Resource):\n  exists (references R where R.references(resource))\n  \n/*\n@description: Returns true if any of the given references are to the given resourceId\n@comment: Returns true if the `resourceId` parameter exactly equals the tail of any of the given references.\nNOTE: This function assumes resources from the same source server.\n*/\ndefine fluent function references(references List&lt;Reference&gt;, resourceId String):\n  exists (references R where R.references(resourceId))\n\n/*\n@description: Returns true if the given code is in the given codeList\n@comment: Returns true if the `code` is equivalent to any of the codes in the given `codeList`, false otherwise.\n*/\ndefine fluent function includesCode(codeList List&lt;Concept&gt;, code Code):\n  exists (codeList C where C ~ code)\n\n/*\n@description: Given an interval, return true if the interval has a starting boundary specified\n(i.e. the start of the interval is not null and not the minimum DateTime value)\n@deprecated: This function is deprecated. Uee the fluent function `hasStart()` instead\n*/\ndefine function &quot;HasStart&quot;(period Interval&lt;DateTime&gt; ):\n  not ( start of period is null\n      or start of period = minimum DateTime\n  )\n\n/*\n@description: Given an interval, return true if the interval has a starting boundary specified\n(i.e. the start of the interval is not null and not the minimum DateTime value)\n*/\ndefine fluent function hasStart(period Interval&lt;DateTime&gt; ):\n  not ( start of period is null\n      or start of period = minimum DateTime\n  )\n\n/*\n@description: Given an interval, returns true if the interval has an ending boundary specified\n(i.e. the end of the interval is not null and not the maximum DateTime value)\n@deprecated: This function is deprecated. Use the fluent function `hasEnd()` instead\n*/\ndefine function &quot;HasEnd&quot;(period Interval&lt;DateTime&gt; ):\n  not (\n    end of period is null\n      or end of period = maximum DateTime\n  )\n\n/*\n@description: Given an interval, returns true if the interval has an ending boundary specified\n(i.e. the end of the interval is not null and not the maximum DateTime value)\n*/\ndefine fluent function hasEnd(period Interval&lt;DateTime&gt; ):\n  not (\n    end of period is null\n      or end of period = maximum DateTime\n  )\n\n/*\n@description: Given an interval, returns the ending point if the interval has an ending boundary specified,\notherwise, returns the starting point\n@deprecated: This function is deprecated. Use the fluent function `latest()` instead\n*/\ndefine function &quot;Latest&quot;(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;&gt; ):\n  (choice.toInterval()) period\n    return\n      if (HasEnd(period)) then end of period\n      else start of period\n\n/*\n@description: Given an interval, returns the ending point if the interval has an ending boundary specified,\notherwise, returns the starting point\n*/\ndefine fluent function latest(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;&gt; ):\n  (choice.toInterval()) period\n    return\n      if (period.&quot;hasEnd&quot;()) then end of period\n      else start of period\n\n/*\n@description: Given an interval, return the starting point if the interval has a starting boundary specified,\notherwise, return the ending point\n@deprecated: This function is deprecated. Use the fluent function `earliest()` instead\n*/\ndefine function &quot;Earliest&quot;(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;&gt; ):\n  (choice.toInterval()) period\n    return\n      if (HasStart(period)) then start of period\n      else end of period\n\n/*\n@description: Given an interval, return the starting point if the interval has a starting boundary specified,\notherwise, return the ending point\n*/\ndefine fluent function earliest(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;&gt; ):\n  (choice.toInterval()) period\n    return\n      if (period.&quot;hasStart&quot;()) then start of period\n      else end of period\n\n/*\n@description: Creates a list of integers from 1 to how many days are in the interval. Note, this wont create an index for\nthe final day if it is less than 24 hours. This also includes the first 24 hour period.\n@deprecated: This function is deprecated. Use the fluent function `toDayNumbers()` instead\n*/\ndefine function &quot;Interval To Day Numbers&quot;(Period Interval&lt;DateTime&gt;):\n  ( expand { Interval[1, duration in days between start of Period and end of Period]} ) DayNumber\n    return end of DayNumber\n\n/*\n@description: Creates a list of integers from 1 to how many days are in the interval. Note, this wont create an index for\nthe final day if it is less than 24 hours. This also includes the first 24 hour period.\n*/\ndefine fluent function toDayNumbers(Period Interval&lt;DateTime&gt;):\n  ( expand { Interval[1, duration in days between start of Period and end of Period]} ) DayNumber\n    return end of DayNumber\n\n/*\n@description: Creates a list of 24 hour long intervals in an interval paired with the index (1 indexed) to which 24 hour interval it is.\nNote that the result will include intervals that are closed at the beginning and open at the end\n@deprecated: This function is deprecated. Use the fluent function `daysInPeriod()` instead\n*/\ndefine function &quot;Days In Period&quot;(Period Interval&lt;DateTime&gt;):\n  ( &quot;Interval To Day Numbers&quot;(Period)) DayIndex\n    let startPeriod: start of Period + (24 hours * (DayIndex - 1)),\n    endPeriod: if (hours between startPeriod and end of Period &lt; 24) then startPeriod\n      else start of Period + (24 hours * DayIndex)\n    return Tuple {\n      dayIndex: DayIndex,\n      dayPeriod: Interval[startPeriod, endPeriod)\n    }\n\n/*\n@description: Creates a list of 24 hour long intervals in an interval paired with the index (1 indexed) to which 24 hour interval it is.\nNote that the result will include intervals that are closed at the beginning and open at the end\n*/\ndefine fluent function daysInPeriod(Period Interval&lt;DateTime&gt;):\n  ( &quot;Interval To Day Numbers&quot;(Period)) DayIndex\n    let startPeriod: start of Period + (24 hours * (DayIndex - 1)),\n    endPeriod: if (hours between startPeriod and end of Period &lt; 24) then startPeriod\n      else start of Period + (24 hours * DayIndex)\n    return Tuple {\n      dayIndex: DayIndex,\n      dayPeriod: Interval[startPeriod, endPeriod)\n    }</code></pre>\n      </td>\n    </tr>\n    \n    \n    \n  \n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.4.8 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
      },
      "extension": [ {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://loinc.org",
          "code": "21112-8",
          "display": "Birthdate"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://snomed.info/sct",
          "code": "419099009",
          "display": "Dead"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode",
          "code": "ER",
          "display": "ER"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode",
          "code": "ICU",
          "display": "ICU"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "billing",
          "display": "Billing"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://hl7.org/fhir/CodeSystem/task-code",
          "code": "fulfill",
          "display": "Fulfill"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "AMB",
          "display": "ambulatory"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "EMER",
          "display": "emergency"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "FLD",
          "display": "field"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "HH",
          "display": "home health"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "IMP",
          "display": "inpatient encounter"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "ACUTE",
          "display": "inpatient acute"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "NONAC",
          "display": "inpatient non-acute"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "OBSENC",
          "display": "observation encounter"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "PRENC",
          "display": "pre-admission"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "SS",
          "display": "short stay"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
          "code": "VR",
          "display": "virtual"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-category",
          "code": "problem-list-item",
          "display": "problem-list-item"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-category",
          "code": "encounter-diagnosis",
          "display": "encounter-diagnosis"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://hl7.org/fhir/us/core/CodeSystem/condition-category",
          "code": "health-concern",
          "display": "health-concern"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code": "active",
          "display": "active"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code": "recurrence",
          "display": "recurrence"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code": "relapse",
          "display": "relapse"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code": "inactive",
          "display": "inactive"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code": "remission",
          "display": "remission"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
          "code": "resolved",
          "display": "resolved"
        }
      }, {
        "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"
        }
      }, {
        "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": "refuted",
          "display": "refuted"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
          "code": "entered-in-error",
          "display": "entered-in-error"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
          "code": "active",
          "display": "allergy-active"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
          "code": "inactive",
          "display": "allergy-inactive"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
          "code": "resolved",
          "display": "allergy-resolved"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
          "code": "unconfirmed",
          "display": "allergy-unconfirmed"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
          "code": "confirmed",
          "display": "allergy-confirmed"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
          "code": "refuted",
          "display": "allergy-refuted"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category",
          "code": "inpatient",
          "display": "Inpatient"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category",
          "code": "outpatient",
          "display": "Outpatient"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category",
          "code": "community",
          "display": "Community"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category",
          "code": "discharge",
          "display": "Discharge"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "AD",
          "display": "AD"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "DD",
          "display": "DD"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "CC",
          "display": "CC"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "CM",
          "display": "CM"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "pre-op",
          "display": "pre-op"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "post-op",
          "display": "post-op"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
          "code": "billing",
          "display": "billing"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "social-history",
          "display": "social-history"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "vital-signs",
          "display": "vital-signs"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "imaging",
          "display": "imaging"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "laboratory",
          "display": "laboratory"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "procedure",
          "display": "procedure"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "survey",
          "display": "survey"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "exam",
          "display": "exam"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "therapy",
          "display": "therapy"
        }
      }, {
        "url": "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
        "valueCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "activity",
          "display": "activity"
        }
      } ],
      "url": "https://madie.cms.gov/Library/QICoreCommon",
      "identifier": [ {
        "use": "official",
        "system": "https://madie.cms.gov/login",
        "value": "67cb33c19e9ab93ec36dad45"
      } ],
      "version": "4.0.000",
      "name": "QICoreCommon",
      "title": "QICoreCommon",
      "status": "active",
      "experimental": false,
      "type": {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/library-type",
          "code": "logic-library"
        } ]
      },
      "date": "2025-08-22T18:20:12+00:00",
      "publisher": "ICF",
      "description": "Common terminologies and functions used in QI-Core-based CQL artifacts",
      "relatedArtifact": [ {
        "type": "depends-on",
        "display": "QICore model information",
        "resource": "http://hl7.org/fhir/Library/QICore-ModelInfo"
      }, {
        "type": "depends-on",
        "display": "Library FHIRHelpers",
        "resource": "https://madie.cms.gov/Library/FHIRHelpers|4.4.000"
      }, {
        "type": "depends-on",
        "display": "Code system USCoreConditionCategoryExtensionCodes",
        "resource": "http://hl7.org/fhir/us/core/CodeSystem/condition-category"
      }, {
        "type": "depends-on",
        "display": "Code system ObservationCategoryCodes",
        "resource": "http://terminology.hl7.org/CodeSystem/observation-category"
      }, {
        "type": "depends-on",
        "display": "Code system ConditionClinicalStatusCodes",
        "resource": "http://terminology.hl7.org/CodeSystem/condition-clinical"
      }, {
        "type": "depends-on",
        "display": "Code system MedicationRequestCategory",
        "resource": "http://terminology.hl7.org/CodeSystem/medicationrequest-category"
      }, {
        "type": "depends-on",
        "display": "Code system ConditionCategory",
        "resource": "http://terminology.hl7.org/CodeSystem/condition-category"
      } ],
      "dataRequirement": [ {
        "type": "Resource",
        "profile": [ "http://hl7.org/fhir/StructureDefinition/Resource" ],
        "mustSupport": [ "id", "id.value" ]
      }, {
        "type": "Patient",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient" ],
        "mustSupport": [ "birthDate", "birthDate.value" ]
      }, {
        "type": "DeviceRequest",
        "profile": [ "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest" ],
        "mustSupport": [ "modifierExtension" ]
      } ],
      "content": [ {
        "contentType": "text/cql",
        "data": "[encoded data, 43100 characters]"
      }, {
        "contentType": "application/elm+xml",
        "data": "[encoded data, 1733416 characters]"
      }, {
        "contentType": "application/elm+json",
        "data": "[encoded data, 2930368 characters]"
      } ]
    },
    "request": {
      "method": "POST",
      "url": "Library/QICoreCommon"
    }
  }, {
    "fullUrl": "https://madie.cms.gov/Library/FHIRHelpers",
    "resource": {
      "resourceType": "Library",
      "id": "FHIRHelpers",
      "meta": {
        "profile": [ "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary", "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library" ]
      },
      "language": "en",
      "text": {
        "status": "extensions",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"col-12\">\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<td class=\"content-container\">FHIRHelpers</td>\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n<td class=\"content-container\">4.4.000</td>\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n<td class=\"content-container\">660d90bc01598d085de46056</td>\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<td class=\"content-container\">ICF</td>\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n<td class=\"content-container\">This library defines functions to convert between FHIR\n data types and CQL system-defined types, as well as functions to support\n FHIRPath implementation. For more information, the FHIRHelpers wiki page:\n https://github.com/cqframework/clinical_quality_language/wiki/FHIRHelpers</td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n<td class=\"content-container\">[http://terminology.hl7.org/CodeSystem/library-type#logic-library]</td>\n</tr>\n\n\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">library FHIRHelpers version '4.4.000'\n\r\nusing FHIR version '4.0.1'\r\n\r\n/*\r\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\r\nvalue to a CQL DateTime Interval\r\n@comment: If the start value of the given period is unspecified, the starting\r\nboundary of the resulting interval will be open (meaning the start of the interval\r\nis unknown, as opposed to interpreted as the beginning of time).\r\n*/\r\ndefine function ToInterval(period FHIR.Period):\r\n    if period is null then\r\n        null\r\n    else\r\n        if period.&quot;start&quot; is null then\r\n            Interval(period.&quot;start&quot;.value, period.&quot;end&quot;.value]\r\n        else\r\n            Interval[period.&quot;start&quot;.value, period.&quot;end&quot;.value]\r\n\r\n/*\r\n@description: Converts a UCUM definite duration unit to a CQL calendar duration\r\nunit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities) \r\ntopic of the CQL specification.\r\n@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate\r\n*/\r\ndefine function ToCalendarUnit(unit System.String):\r\n    case unit\r\n        when 'ms' then 'millisecond'\r\n        when 's' then 'second'\r\n        when 'min' then 'minute'\r\n        when 'h' then 'hour'\r\n        when 'd' then 'day'\r\n        when 'wk' then 'week'\r\n        when 'mo' then 'month'\r\n        when 'a' then 'year'\r\n        else unit\r\n    end\r\n\r\n/*\r\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) \r\nvalue to a CQL Quantity\r\n@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity\r\nhas a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)\r\nan error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.\r\n@seealso: ToCalendarUnit\r\n*/\r\ndefine function ToQuantity(quantity FHIR.Quantity):\r\n    case\r\n        when quantity is null then null\r\n        when quantity.value is null then null\r\n        when quantity.comparator is not null then\r\n            Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')\r\n        when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\r\n              or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\r\n            System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\r\n        else\r\n            Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' &amp; quantity.unit.value &amp; ' (' &amp; quantity.system.value &amp; '|' &amp; quantity.code.value &amp; ')')\r\n    end\r\n\r\n/*\r\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) value to a CQL Quantity, ignoring\r\nthe comparator element. This function should only be used when an application is justified in ignoring the comparator value (i.e. the\r\ncontext is looking for boundary).\r\n@comment: If the given quantity has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units \r\n(i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`) an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function \r\nis used.\r\n@seealso: ToCalendarUnit\r\n*/\r\ndefine function ToQuantityIgnoringComparator(quantity FHIR.Quantity):\r\n    case\r\n        when quantity is null then null\r\n        when quantity.value is null then null\r\n        when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'\r\n              or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then\r\n            System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }\r\n        else\r\n            Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' &amp; quantity.unit.value &amp; ' (' &amp; quantity.system.value &amp; '|' &amp; quantity.code.value &amp; ')')\r\n    end\r\n\r\n/*\r\n@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity) value to a CQL Interval of Quantity.\r\n@comment: If the given quantity has a comparator, it is used to construct an interval based on the value of the comparator. If the comparator\r\nis less than, the resulting interval will start with a null closed boundary and end with an open boundary on the quantity. If the comparator\r\nis less than or equal, the resulting interval will start with a null closed boundary and end with a closed boundary on the quantity. If the \r\ncomparator is greater or equal, the resulting interval will start with a closed boundary on the quantity and end with a closed null boundary.\r\nIf the comparator is greatter than, the resulting interval will start with an open boundary on the quantity and end with a closed null boundary.\r\nIf no comparator is specified, the resulting interval will start and end with a closed boundary on the quantity.\r\n*/\r\ndefine function ToInterval(quantity FHIR.Quantity):\r\n    if quantity is null then null else\r\n        case quantity.comparator.value\r\n            when '&lt;' then\r\n                Interval[\r\n                    null,\r\n                    ToQuantityIgnoringComparator(quantity)\r\n                )\r\n            when '&lt;=' then\r\n                Interval[\r\n                    null,\r\n                    ToQuantityIgnoringComparator(quantity)\r\n                ]\r\n            when '&gt;=' then\r\n                Interval[\r\n                    ToQuantityIgnoringComparator(quantity),\r\n                    null\r\n                ]\r\n            when '&gt;' then\r\n                Interval(\r\n                    ToQuantityIgnoringComparator(quantity),\r\n                    null\r\n                ]\r\n            else\r\n                Interval[ToQuantity(quantity), ToQuantity(quantity)]\r\n        end\r\n\r\n/*\r\n@description: Converts the given FHIR [Ratio](https://hl7.org/fhir/datatypes.html#Ratio) value to a CQL Ratio.\r\n*/\r\ndefine function ToRatio(ratio FHIR.Ratio):\r\n    if ratio is null then\r\n        null\r\n    else\r\n        System.Ratio { numerator: ToQuantity(ratio.numerator), denominator: ToQuantity(ratio.denominator) }\r\n\r\n/*\r\n@description: Converts the given FHIR [Range](https://hl7.org/fhir/datatypes.html#Range) value to a CQL Interval of Quantity\r\n*/\r\ndefine function ToInterval(range FHIR.Range):\r\n    if range is null then\r\n        null\r\n    else\r\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\r\n\r\n/*\r\n@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.\r\n*/\r\ndefine function ToCode(coding FHIR.Coding):\r\n    if coding is null then\r\n        null\r\n    else\r\n        System.Code {\r\n          code: coding.code.value,\r\n          system: coding.system.value,\r\n          version: coding.version.value,\r\n          display: coding.display.value\r\n        }\r\n\r\n/*\r\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\r\n*/\r\ndefine function ToConcept(concept FHIR.CodeableConcept):\r\n    if concept is null then\r\n        null\r\n    else\r\n        System.Concept {\r\n            codes: concept.coding C return ToCode(C),\r\n            display: concept.text.value\r\n        }\r\n\r\n/*\r\n@description: Converts the given value (assumed to be a URI) to a CQL [ValueSet](https://cql.hl7.org/09-b-cqlreference.html#valueset)\r\n*/\r\ndefine function ToValueSet(uri String):\r\n    if uri is null then\r\n        null\r\n    else\r\n        System.ValueSet {\r\n            id: uri\r\n        }\r\n\r\n/*\r\n@description: Constructs a FHIR [Reference](https://hl7.org/fhir/datatypes.html#Reference) from the given reference (assumed to be a FHIR resource URL)\r\n*/\r\ndefine function reference(reference String):\r\n    if reference is null then\r\n        null\r\n    else\r\n        Reference { reference: string { value: reference } }\r\n\r\n/*\r\n@description: Converts the given value to a CQL value using the appropriate accessor or conversion function.\r\n@comment: TODO: document conversion\r\n*/\r\ndefine function ToValue(value Choice&lt;base64Binary,\r\n        boolean,\r\n        canonical,\r\n        code,\r\n        date,\r\n        dateTime,\r\n        decimal,\r\n        id,\r\n        instant,\r\n        integer,\r\n        markdown,\r\n        oid,\r\n        positiveInt,\r\n        string,\r\n        time,\r\n        unsignedInt,\r\n        uri,\r\n        url,\r\n        uuid,\r\n        Address,\r\n        Age,\r\n        Annotation,\r\n        Attachment,\r\n        CodeableConcept,\r\n        Coding,\r\n        ContactPoint,\r\n        Count,\r\n        Distance,\r\n        Duration,\r\n        HumanName,\r\n        Identifier,\r\n        Money,\r\n        Period,\r\n        Quantity,\r\n        Range,\r\n        Ratio,\r\n        Reference,\r\n        SampledData,\r\n        Signature,\r\n        Timing,\r\n        ContactDetail,\r\n        Contributor,\r\n        DataRequirement,\r\n        Expression,\r\n        ParameterDefinition,\r\n        RelatedArtifact,\r\n        TriggerDefinition,\r\n        UsageContext,\r\n        Dosage,\r\n        Meta&gt;):\r\n    case\r\n      when value is base64Binary then (value as base64Binary).value\r\n      when value is boolean then (value as boolean).value\r\n      when value is canonical then (value as canonical).value\r\n      when value is code then (value as code).value\r\n      when value is date then (value as date).value\r\n      when value is dateTime then (value as dateTime).value\r\n      when value is decimal then (value as decimal).value\r\n      when value is id then (value as id).value\r\n      when value is instant then (value as instant).value\r\n      when value is integer then (value as integer).value\r\n      when value is markdown then (value as markdown).value\r\n      when value is oid then (value as oid).value\r\n      when value is positiveInt then (value as positiveInt).value\r\n      when value is string then (value as string).value\r\n      when value is time then (value as time).value\r\n      when value is unsignedInt then (value as unsignedInt).value\r\n      when value is uri then (value as uri).value\r\n      when value is url then (value as url).value\r\n      when value is uuid then (value as uuid).value\r\n      when value is Age then ToQuantity(value as Age)\r\n      when value is CodeableConcept then ToConcept(value as CodeableConcept)\r\n      when value is Coding then ToCode(value as Coding)\r\n      when value is Count then ToQuantity(value as Count)\r\n      when value is Distance then ToQuantity(value as Distance)\r\n      when value is Duration then ToQuantity(value as Duration)\r\n      when value is Quantity then ToQuantity(value as Quantity)\r\n      when value is Range then ToInterval(value as Range)\r\n      when value is Period then ToInterval(value as Period)\r\n      when value is Ratio then ToRatio(value as Ratio)\r\n      else value as Choice&lt;Address,\r\n        Annotation,\r\n        Attachment,\r\n        ContactPoint,\r\n        HumanName,\r\n        Identifier,\r\n        Money,\r\n        Reference,\r\n        SampledData,\r\n        Signature,\r\n        Timing,\r\n        ContactDetail,\r\n        Contributor,\r\n        DataRequirement,\r\n        Expression,\r\n        ParameterDefinition,\r\n        RelatedArtifact,\r\n        TriggerDefinition,\r\n        UsageContext,\r\n        Dosage,\r\n        Meta&gt;\r\n    end\r\n\r\n/*\r\n@description: Resolve the given reference as a url to a resource. If the item resolves, the Resource is returned, otherwise the result is null.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function resolve(reference String) returns Resource: external\r\n/*\r\n@description: Resolve the reference element of the given Reference. If the item resolves, the Resource is returned, otherwise the result is null.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function resolve(reference Reference) returns Resource: external\r\n/*\r\n@description: Constructs a Reference to the given Resource. The resulting reference will typically be relative, but implementations may provide a base URL if one can be unambiguously determined.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function reference(resource Resource) returns Reference: external\r\n/*\r\n@description: Returns any extensions with the given url defined on the given element.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function extension(element Element, url String) returns List&lt;Extension&gt;: external\r\n/*\r\n@description: Returns any extensions with the given url defined on the given resource.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function extension(resource DomainResource, url String) returns List&lt;Extension&gt;: external\r\n/*\r\n@description: Returns any modifier extensions with the given url defined on the given element.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function modifierExtension(element BackboneElement, url String) returns List&lt;Extension&gt;: external\r\n/*\r\n@description: Returns any modifier extensions with the given url defined on the given resource.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function modifierExtension(resource DomainResource, url String) returns List&lt;Extension&gt;: external\r\n/*\r\n@description: Returns true if the element is a FHIR primitive type with a value element (as opposed to having only extensions); false otherwise\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function hasValue(element Element) returns Boolean: external\r\n/*\r\n@description: Returns the value of the FHIR primitive; null otherwise\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function getValue(element Element) returns Any: external\r\n/*\r\n@description: Returns a list containing only those elements in the input that are of the given type, specified as a string.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function ofType(identifier String) returns List&lt;Any&gt;: external\r\n/*\r\n@description: Returns true if the input is of the given type; false otherwise\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function is(identifier String) returns Boolean: external\r\n/*\r\n@description: If the input is of the given type; returns the value as that type; null otherwise.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function as(identifier String) returns Any: external\r\n/*\r\n@description: Returns the FHIR element definition for the given element\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function elementDefinition(element Element) returns ElementDefinition: external\r\n/*\r\n@description: Returns the given slice as defined in the given structure definition. The structure argument is a uri that resolves to the structure definition, and the name must be the name of a slice within that structure definition. If the structure cannot be resolved, or the name of the slice within the resolved structure is not present, an error is thrown.\r\n@comment: For every element in the input collection, if the resolved slice is present on the element, it will be returned. If the slice does not match any element in the input collection, or if the input collection is empty, the result is an empty collection ({ }).\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function slice(element Element, url String, name String) returns List&lt;Element&gt;: external\r\n/*\r\n@description: For each element in the input collection, verifies that there are no modifying extensions defined other than the ones given by the modifier argument. If the check passes, the input collection is returned. Otherwise, an error is thrown.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function checkModifiers(resource Resource) returns Resource: external\r\n/*\r\n@description: For each element in the input collection, verifies that there are no modifying extensions defined other than the ones given by the modifier argument. If the check passes, the input collection is returned. Otherwise, an error is thrown.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function checkModifiers(resource Resource, modifier String) returns Resource: external\r\n/*\r\n@description: For each element in the input collection, verifies that there are no modifying extensions defined other than the ones given by the modifier argument. If the check passes, the input collection is returned. Otherwise, an error is thrown.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function checkModifiers(element Element) returns Element: external\r\n/*\r\n@description: For each element in the input collection, verifies that there are no modifying extensions defined other than the ones given by the modifier argument. If the check passes, the input collection is returned. Otherwise, an error is thrown.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function checkModifiers(element Element, modifier String) returns Element: external\r\n/*\r\n@description: Returns true if the single input element conforms to the profile specified by the structure argument, and false otherwise. If the structure cannot be resolved to a valid profile, an error is thrown. If the input contains more than one element, an error is thrown. If the input is empty, the result is empty.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function conformsTo(resource Resource, structure String) returns Boolean: external\r\n/*\r\n@description: Returns true if the given code is equal to a code in the valueset, so long as the valueset only contains one codesystem. If the valueset contains more than one codesystem, an error is thrown.\r\n@comment: If the valueset cannot be resolved as a uri to a value set, an error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\nFor example:\r\n```fhirpath\r\nObservation.component.where(code.memberOf('http://hl7.org/fhir/ValueSet/observation-vitalsignresult'))\r\n```\r\nThis expression returns components that have a code that is a member of the observation-vitalsignresult valueset.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function memberOf(code code, valueSet String) returns Boolean: external\r\n/*\r\n@description: Returns true if the code is a member of the given valueset.\r\n@comment: If the valueset cannot be resolved as a uri to a value set, an error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\nFor example:\r\n```fhirpath\r\nObservation.component.where(code.memberOf('http://hl7.org/fhir/ValueSet/observation-vitalsignresult'))\r\n```\r\nThis expression returns components that have a code that is a member of the observation-vitalsignresult valueset.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function memberOf(coding Coding, valueSet String) returns Boolean: external\r\n/*\r\n@description: Returns true if any code in the concept is a member of the given valueset.\r\n@comment: If the valueset cannot be resolved as a uri to a value set, an error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\nFor example:\r\n```fhirpath\r\nObservation.component.where(code.memberOf('http://hl7.org/fhir/ValueSet/observation-vitalsignresult'))\r\n```\r\nThis expression returns components that have a code that is a member of the observation-vitalsignresult valueset.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function memberOf(concept CodeableConcept, valueSet String) returns Boolean: external\r\n/*\r\n@description: Returns true if the source code is equivalent to the given code, or if the source code subsumes the given code (i.e. the source code is an ancestor of the given code in a subsumption hierarchy), and false otherwise.\r\n@comment: If the Codings are from different code systems, the relationships between the code systems must be well-defined or a run-time error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function subsumes(coding Coding, subsumedCoding Coding) returns Boolean: external\r\n/*\r\n@description: Returns true if any Coding in the source or given elements is equivalent to or subsumes the given code.\r\n@comment: If the Codings are from different code systems, the relationships between the code systems must be well-defined or a run-time error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function subsumes(concept CodeableConcept, subsumedConcept CodeableConcept) returns Boolean: external\r\n/*\r\n@description: Returns true if the source code is equivalent to the given code, or if the source code is subsumed by the given code (i.e. the source code is a descendant of the given code in a subsumption hierarchy), and false otherwise.\r\n@comment: If the Codings are from different code systems, the relationships between the code systems must be well-defined or a run-time error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function subsumedBy(coding Coding, subsumingCoding Coding) returns Boolean: external\r\n/*\r\n@description: Returns true if any Coding in the source or given elements is equivalent to or subsumed by the given code.\r\n@comment: If the Codings are from different code systems, the relationships between the code systems must be well-defined or a run-time error is thrown.\r\nNote that implementations are encouraged to make use of a terminology service to provide this functionality.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function subsumedBy(concept CodeableConcept, subsumingConcept CodeableConcept) returns Boolean: external\r\n/*\r\n@description: When invoked on an xhtml element, returns true if the rules around HTML usage are met, and false if they are not. The return value is undefined (null) on any other kind of element.\r\n@seealso: https://hl7.org/fhir/fhirpath.html#functions\r\n*/\r\ndefine function htmlChecks(element Element) returns Boolean: external\r\n\r\ndefine function ToString(value AccountStatus): value.value\r\ndefine function ToString(value ActionCardinalityBehavior): value.value\r\ndefine function ToString(value ActionConditionKind): value.value\r\ndefine function ToString(value ActionGroupingBehavior): value.value\r\ndefine function ToString(value ActionParticipantType): value.value\r\ndefine function ToString(value ActionPrecheckBehavior): value.value\r\ndefine function ToString(value ActionRelationshipType): value.value\r\ndefine function ToString(value ActionRequiredBehavior): value.value\r\ndefine function ToString(value ActionSelectionBehavior): value.value\r\ndefine function ToString(value ActivityDefinitionKind): value.value\r\ndefine function ToString(value ActivityParticipantType): value.value\r\ndefine function ToString(value AddressType): value.value\r\ndefine function ToString(value AddressUse): value.value\r\ndefine function ToString(value AdministrativeGender): value.value\r\ndefine function ToString(value AdverseEventActuality): value.value\r\ndefine function ToString(value AggregationMode): value.value\r\ndefine function ToString(value AllergyIntoleranceCategory): value.value\r\ndefine function ToString(value AllergyIntoleranceCriticality): value.value\r\ndefine function ToString(value AllergyIntoleranceSeverity): value.value\r\ndefine function ToString(value AllergyIntoleranceType): value.value\r\ndefine function ToString(value AppointmentStatus): value.value\r\ndefine function ToString(value AssertionDirectionType): value.value\r\ndefine function ToString(value AssertionOperatorType): value.value\r\ndefine function ToString(value AssertionResponseTypes): value.value\r\ndefine function ToString(value AuditEventAction): value.value\r\ndefine function ToString(value AuditEventAgentNetworkType): value.value\r\ndefine function ToString(value AuditEventOutcome): value.value\r\ndefine function ToString(value BindingStrength): value.value\r\ndefine function ToString(value BiologicallyDerivedProductCategory): value.value\r\ndefine function ToString(value BiologicallyDerivedProductStatus): value.value\r\ndefine function ToString(value BiologicallyDerivedProductStorageScale): value.value\r\ndefine function ToString(value BundleType): value.value\r\ndefine function ToString(value CapabilityStatementKind): value.value\r\ndefine function ToString(value CarePlanActivityKind): value.value\r\ndefine function ToString(value CarePlanActivityStatus): value.value\r\ndefine function ToString(value CarePlanIntent): value.value\r\ndefine function ToString(value CarePlanStatus): value.value\r\ndefine function ToString(value CareTeamStatus): value.value\r\ndefine function ToString(value CatalogEntryRelationType): value.value\r\ndefine function ToString(value ChargeItemDefinitionPriceComponentType): value.value\r\ndefine function ToString(value ChargeItemStatus): value.value\r\ndefine function ToString(value ClaimResponseStatus): value.value\r\ndefine function ToString(value ClaimStatus): value.value\r\ndefine function ToString(value ClinicalImpressionStatus): value.value\r\ndefine function ToString(value CodeSearchSupport): value.value\r\ndefine function ToString(value CodeSystemContentMode): value.value\r\ndefine function ToString(value CodeSystemHierarchyMeaning): value.value\r\ndefine function ToString(value CommunicationPriority): value.value\r\ndefine function ToString(value CommunicationRequestStatus): value.value\r\ndefine function ToString(value CommunicationStatus): value.value\r\ndefine function ToString(value CompartmentCode): value.value\r\ndefine function ToString(value CompartmentType): value.value\r\ndefine function ToString(value CompositionAttestationMode): value.value\r\ndefine function ToString(value CompositionStatus): value.value\r\ndefine function ToString(value ConceptMapEquivalence): value.value\r\ndefine function ToString(value ConceptMapGroupUnmappedMode): value.value\r\ndefine function ToString(value ConditionalDeleteStatus): value.value\r\ndefine function ToString(value ConditionalReadStatus): value.value\r\ndefine function ToString(value ConsentDataMeaning): value.value\r\ndefine function ToString(value ConsentProvisionType): value.value\r\ndefine function ToString(value ConsentState): value.value\r\ndefine function ToString(value ConstraintSeverity): value.value\r\ndefine function ToString(value ContactPointSystem): value.value\r\ndefine function ToString(value ContactPointUse): value.value\r\ndefine function ToString(value ContractPublicationStatus): value.value\r\ndefine function ToString(value ContractStatus): value.value\r\ndefine function ToString(value ContributorType): value.value\r\ndefine function ToString(value CoverageStatus): value.value\r\ndefine function ToString(value CurrencyCode): value.value\r\ndefine function ToString(value DayOfWeek): value.value\r\ndefine function ToString(value DaysOfWeek): value.value\r\ndefine function ToString(value DetectedIssueSeverity): value.value\r\ndefine function ToString(value DetectedIssueStatus): value.value\r\ndefine function ToString(value DeviceMetricCalibrationState): value.value\r\ndefine function ToString(value DeviceMetricCalibrationType): value.value\r\ndefine function ToString(value DeviceMetricCategory): value.value\r\ndefine function ToString(value DeviceMetricColor): value.value\r\ndefine function ToString(value DeviceMetricOperationalStatus): value.value\r\ndefine function ToString(value DeviceNameType): value.value\r\ndefine function ToString(value DeviceRequestStatus): value.value\r\ndefine function ToString(value DeviceUseStatementStatus): value.value\r\ndefine function ToString(value DiagnosticReportStatus): value.value\r\ndefine function ToString(value DiscriminatorType): value.value\r\ndefine function ToString(value DocumentConfidentiality): value.value\r\ndefine function ToString(value DocumentMode): value.value\r\ndefine function ToString(value DocumentReferenceStatus): value.value\r\ndefine function ToString(value DocumentRelationshipType): value.value\r\ndefine function ToString(value EligibilityRequestPurpose): value.value\r\ndefine function ToString(value EligibilityRequestStatus): value.value\r\ndefine function ToString(value EligibilityResponsePurpose): value.value\r\ndefine function ToString(value EligibilityResponseStatus): value.value\r\ndefine function ToString(value EnableWhenBehavior): value.value\r\ndefine function ToString(value EncounterLocationStatus): value.value\r\ndefine function ToString(value EncounterStatus): value.value\r\ndefine function ToString(value EndpointStatus): value.value\r\ndefine function ToString(value EnrollmentRequestStatus): value.value\r\ndefine function ToString(value EnrollmentResponseStatus): value.value\r\ndefine function ToString(value EpisodeOfCareStatus): value.value\r\ndefine function ToString(value EventCapabilityMode): value.value\r\ndefine function ToString(value EventTiming): value.value\r\ndefine function ToString(value EvidenceVariableType): value.value\r\ndefine function ToString(value ExampleScenarioActorType): value.value\r\ndefine function ToString(value ExplanationOfBenefitStatus): value.value\r\ndefine function ToString(value ExposureState): value.value\r\ndefine function ToString(value ExtensionContextType): value.value\r\ndefine function ToString(value FHIRAllTypes): value.value\r\ndefine function ToString(value FHIRDefinedType): value.value\r\ndefine function ToString(value FHIRDeviceStatus): value.value\r\ndefine function ToString(value FHIRResourceType): value.value\r\ndefine function ToString(value FHIRSubstanceStatus): value.value\r\ndefine function ToString(value FHIRVersion): value.value\r\ndefine function ToString(value FamilyHistoryStatus): value.value\r\ndefine function ToString(value FilterOperator): value.value\r\ndefine function ToString(value FlagStatus): value.value\r\ndefine function ToString(value GoalLifecycleStatus): value.value\r\ndefine function ToString(value GraphCompartmentRule): value.value\r\ndefine function ToString(value GraphCompartmentUse): value.value\r\ndefine function ToString(value GroupMeasure): value.value\r\ndefine function ToString(value GroupType): value.value\r\ndefine function ToString(value GuidanceResponseStatus): value.value\r\ndefine function ToString(value GuidePageGeneration): value.value\r\ndefine function ToString(value GuideParameterCode): value.value\r\ndefine function ToString(value HTTPVerb): value.value\r\ndefine function ToString(value IdentifierUse): value.value\r\ndefine function ToString(value IdentityAssuranceLevel): value.value\r\ndefine function ToString(value ImagingStudyStatus): value.value\r\ndefine function ToString(value ImmunizationEvaluationStatus): value.value\r\ndefine function ToString(value ImmunizationStatus): value.value\r\ndefine function ToString(value InvoicePriceComponentType): value.value\r\ndefine function ToString(value InvoiceStatus): value.value\r\ndefine function ToString(value IssueSeverity): value.value\r\ndefine function ToString(value IssueType): value.value\r\ndefine function ToString(value LinkType): value.value\r\ndefine function ToString(value LinkageType): value.value\r\ndefine function ToString(value ListMode): value.value\r\ndefine function ToString(value ListStatus): value.value\r\ndefine function ToString(value LocationMode): value.value\r\ndefine function ToString(value LocationStatus): value.value\r\ndefine function ToString(value MeasureReportStatus): value.value\r\ndefine function ToString(value MeasureReportType): value.value\r\ndefine function ToString(value MediaStatus): value.value\r\ndefine function ToString(value MedicationAdministrationStatus): value.value\r\ndefine function ToString(value MedicationDispenseStatus): value.value\r\ndefine function ToString(value MedicationKnowledgeStatus): value.value\r\ndefine function ToString(value MedicationRequestIntent): value.value\r\ndefine function ToString(value MedicationRequestPriority): value.value\r\ndefine function ToString(value MedicationRequestStatus): value.value\r\ndefine function ToString(value MedicationStatementStatus): value.value\r\ndefine function ToString(value MedicationStatus): value.value\r\ndefine function ToString(value MessageSignificanceCategory): value.value\r\ndefine function ToString(value Messageheader_Response_Request): value.value\r\ndefine function ToString(value MimeType): value.value\r\ndefine function ToString(value NameUse): value.value\r\ndefine function ToString(value NamingSystemIdentifierType): value.value\r\ndefine function ToString(value NamingSystemType): value.value\r\ndefine function ToString(value NarrativeStatus): value.value\r\ndefine function ToString(value NoteType): value.value\r\ndefine function ToString(value NutritiionOrderIntent): value.value\r\ndefine function ToString(value NutritionOrderStatus): value.value\r\ndefine function ToString(value ObservationDataType): value.value\r\ndefine function ToString(value ObservationRangeCategory): value.value\r\ndefine function ToString(value ObservationStatus): value.value\r\ndefine function ToString(value OperationKind): value.value\r\ndefine function ToString(value OperationParameterUse): value.value\r\ndefine function ToString(value OrientationType): value.value\r\ndefine function ToString(value ParameterUse): value.value\r\ndefine function ToString(value ParticipantRequired): value.value\r\ndefine function ToString(value ParticipantStatus): value.value\r\ndefine function ToString(value ParticipationStatus): value.value\r\ndefine function ToString(value PaymentNoticeStatus): value.value\r\ndefine function ToString(value PaymentReconciliationStatus): value.value\r\ndefine function ToString(value ProcedureStatus): value.value\r\ndefine function ToString(value PropertyRepresentation): value.value\r\ndefine function ToString(value PropertyType): value.value\r\ndefine function ToString(value ProvenanceEntityRole): value.value\r\ndefine function ToString(value PublicationStatus): value.value\r\ndefine function ToString(value QualityType): value.value\r\ndefine function ToString(value QuantityComparator): value.value\r\ndefine function ToString(value QuestionnaireItemOperator): value.value\r\ndefine function ToString(value QuestionnaireItemType): value.value\r\ndefine function ToString(value QuestionnaireResponseStatus): value.value\r\ndefine function ToString(value ReferenceHandlingPolicy): value.value\r\ndefine function ToString(value ReferenceVersionRules): value.value\r\ndefine function ToString(value ReferredDocumentStatus): value.value\r\ndefine function ToString(value RelatedArtifactType): value.value\r\ndefine function ToString(value RemittanceOutcome): value.value\r\ndefine function ToString(value RepositoryType): value.value\r\ndefine function ToString(value RequestIntent): value.value\r\ndefine function ToString(value RequestPriority): value.value\r\ndefine function ToString(value RequestStatus): value.value\r\ndefine function ToString(value ResearchElementType): value.value\r\ndefine function ToString(value ResearchStudyStatus): value.value\r\ndefine function ToString(value ResearchSubjectStatus): value.value\r\ndefine function ToString(value ResourceType): value.value\r\ndefine function ToString(value ResourceVersionPolicy): value.value\r\ndefine function ToString(value ResponseType): value.value\r\ndefine function ToString(value RestfulCapabilityMode): value.value\r\ndefine function ToString(value RiskAssessmentStatus): value.value\r\ndefine function ToString(value SPDXLicense): value.value\r\ndefine function ToString(value SearchComparator): value.value\r\ndefine function ToString(value SearchEntryMode): value.value\r\ndefine function ToString(value SearchModifierCode): value.value\r\ndefine function ToString(value SearchParamType): value.value\r\ndefine function ToString(value SectionMode): value.value\r\ndefine function ToString(value SequenceType): value.value\r\ndefine function ToString(value ServiceRequestIntent): value.value\r\ndefine function ToString(value ServiceRequestPriority): value.value\r\ndefine function ToString(value ServiceRequestStatus): value.value\r\ndefine function ToString(value SlicingRules): value.value\r\ndefine function ToString(value SlotStatus): value.value\r\ndefine function ToString(value SortDirection): value.value\r\ndefine function ToString(value SpecimenContainedPreference): value.value\r\ndefine function ToString(value SpecimenStatus): value.value\r\ndefine function ToString(value Status): value.value\r\ndefine function ToString(value StrandType): value.value\r\ndefine function ToString(value StructureDefinitionKind): value.value\r\ndefine function ToString(value StructureMapContextType): value.value\r\ndefine function ToString(value StructureMapGroupTypeMode): value.value\r\ndefine function ToString(value StructureMapInputMode): value.value\r\ndefine function ToString(value StructureMapModelMode): value.value\r\ndefine function ToString(value StructureMapSourceListMode): value.value\r\ndefine function ToString(value StructureMapTargetListMode): value.value\r\ndefine function ToString(value StructureMapTransform): value.value\r\ndefine function ToString(value SubscriptionChannelType): value.value\r\ndefine function ToString(value SubscriptionStatus): value.value\r\ndefine function ToString(value SupplyDeliveryStatus): value.value\r\ndefine function ToString(value SupplyRequestStatus): value.value\r\ndefine function ToString(value SystemRestfulInteraction): value.value\r\ndefine function ToString(value TaskIntent): value.value\r\ndefine function ToString(value TaskPriority): value.value\r\ndefine function ToString(value TaskStatus): value.value\r\ndefine function ToString(value TestReportActionResult): value.value\r\ndefine function ToString(value TestReportParticipantType): value.value\r\ndefine function ToString(value TestReportResult): value.value\r\ndefine function ToString(value TestReportStatus): value.value\r\ndefine function ToString(value TestScriptRequestMethodCode): value.value\r\ndefine function ToString(value TriggerType): value.value\r\ndefine function ToString(value TypeDerivationRule): value.value\r\ndefine function ToString(value TypeRestfulInteraction): value.value\r\ndefine function ToString(value UDIEntryType): value.value\r\ndefine function ToString(value UnitsOfTime): value.value\r\ndefine function ToString(value Use): value.value\r\ndefine function ToString(value VariableType): value.value\r\ndefine function ToString(value VisionBase): value.value\r\ndefine function ToString(value VisionEyes): value.value\r\ndefine function ToString(value VisionStatus): value.value\r\ndefine function ToString(value XPathUsageType): value.value\r\ndefine function ToString(value base64Binary): value.value\r\ndefine function ToBoolean(value boolean): value.value\r\ndefine function ToDate(value date): value.value\r\ndefine function ToDateTime(value dateTime): value.value\r\ndefine function ToDecimal(value decimal): value.value\r\ndefine function ToDateTime(value instant): value.value\r\ndefine function ToInteger(value integer): value.value\r\ndefine function ToString(value string): value.value\r\ndefine function ToTime(value time): value.value\r\ndefine function ToString(value uri): value.value\r\ndefine function ToString(value xhtml): value.value</code></pre>\n      </td>\n    </tr>\n    \n    \n    \n  \n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.4.8 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
      },
      "url": "https://madie.cms.gov/Library/FHIRHelpers",
      "identifier": [ {
        "use": "official",
        "system": "https://madie.cms.gov/login",
        "value": "660d90bc01598d085de46056"
      } ],
      "version": "4.4.000",
      "name": "FHIRHelpers",
      "title": "FHIRHelpers",
      "status": "active",
      "experimental": false,
      "type": {
        "coding": [ {
          "system": "http://terminology.hl7.org/CodeSystem/library-type",
          "code": "logic-library"
        } ]
      },
      "date": "2025-08-22T18:20:12+00:00",
      "publisher": "ICF",
      "description": "This library defines functions to convert between FHIR\n data types and CQL system-defined types, as well as functions to support\n FHIRPath implementation. For more information, the FHIRHelpers wiki page:\n https://github.com/cqframework/clinical_quality_language/wiki/FHIRHelpers",
      "relatedArtifact": [ {
        "type": "depends-on",
        "display": "FHIR model information",
        "resource": "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"
      } ],
      "content": [ {
        "contentType": "text/cql",
        "data": "[encoded data, 52440 characters]"
      }, {
        "contentType": "application/elm+xml",
        "data": "[encoded data, 1342916 characters]"
      }, {
        "contentType": "application/elm+json",
        "data": "[encoded data, 2177516 characters]"
      } ]
    },
    "request": {
      "method": "POST",
      "url": "Library/FHIRHelpers"
    }
  } ]
}