dQM QICore Content Implementation Guide
2025.0.0 - CI Build

dQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-qicore-2025/ and changes regularly. See the Directory of published versions

Measure: Weight Assessment and Counseling for Nutrition and Physical Activity for Children/AdolescentsFHIR

Official URL: https://madie.cms.gov/Measure/CMS155FHIRWgtAssessCounseling Version: 1.0.000
Active as of 2025-07-25 Responsible: National Committee for Quality Assurance Computable Name: CMS155FHIRWgtAssessCounseling
Other Identifiers: Short Name: CMS155FHIR (use: usual, ), UUID:ced3e428-2d50-4738-badb-3693cb0df02c (use: official, ), UUID:df68edd6-40f5-4549-80f9-fff557c07b99 (use: official, ), Publisher: 155FHIR (use: official, )

Copyright/Legal: This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of the measure or specification. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure may be used for internal, noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. All other uses, including a commercial use (including but not limited to vendors using or embedding the measures and specifications into any product or service to calculate measure results for customers for any purpose), must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2025 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data are copyright 2025. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use. Some measure specifications contain coding from LOINC(R) (https://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2025 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at https://loinc.org/kb/license/. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 copyright 2025 World Health Organization. All Rights Reserved. Some measures use RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the measures and does not endorse or recommend this or any other product. “HL7” is the registered trademark of Health Level Seven International.

Percentage of patients 3-17 years of age who had an outpatient visit with a primary care physician (PCP) or obstetrician/gynecologist (OB/GYN) and who had evidence of the following during the measurement period. - Percentage of patients with height, weight, and body mass index (BMI) percentile documentation - Percentage of patients with counseling for nutrition - Percentage of patients with counseling for physical activity

Metadata
Title Weight Assessment and Counseling for Nutrition and Physical Activity for Children/AdolescentsFHIR
Version 1.0.000
Short Name CMS155FHIR
GUID (Version Independent) urn:uuid:ced3e428-2d50-4738-badb-3693cb0df02c
GUID (Version Specific) urn:uuid:df68edd6-40f5-4549-80f9-fff557c07b99
CMS Identifier 155FHIR
Effective Period 2026-01-01 through 2026-12-31
Steward (Publisher) National Committee for Quality Assurance
Developer National Committee for Quality Assurance
Description Percentage of patients 3-17 years of age who had an outpatient visit with a primary care physician (PCP) or obstetrician/gynecologist (OB/GYN) and who had evidence of the following during the measurement period. - Percentage of patients with height, weight, and body mass index (BMI) percentile documentation - Percentage of patients with counseling for nutrition - Percentage of patients with counseling for physical activity
Copyright This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of the measure or specification. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure may be used for internal, noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. All other uses, including a commercial use (including but not limited to vendors using or embedding the measures and specifications into any product or service to calculate measure results for customers for any purpose), must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2025 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data are copyright 2025. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use. Some measure specifications contain coding from LOINC(R) (https://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2025 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at https://loinc.org/kb/license/. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 copyright 2025 World Health Organization. All Rights Reserved. Some measures use RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the measures and does not endorse or recommend this or any other product. “HL7” is the registered trademark of Health Level Seven International.
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. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
Rationale Over the last four decades, childhood obesity has more than tripled in children and adolescents 2 to 19 years of age (from a rate of approximately 5 percent to 18.5 percent) (Fryar, Carroll, & Ogden, 2014; Hales et al., 2017). Non-Hispanic black and Hispanic youth are more likely to be obese than their non-Hispanic white and non-Hispanic Asian counterparts. In 2015-2016, approximately 22 percent of non-Hispanic black and 26 percent of Hispanic youth were obese compared to approximately 14 percent of non-Hispanic white and 11 percent of non-Hispanic Asian youth (Hales et al., 2017). Childhood obesity has both immediate and long-term effects on health and well-being. Children who are obese have higher rates of physical health conditions, such as risk factors for cardiovascular disease (like high blood pressure and high cholesterol), type 2 diabetes, asthma, sleep apnea, and joint problems. There is also a correlation between childhood obesity and mental health conditions, such as anxiety and depression (Centers for Disease Control and Prevention [CDC], 2016). In addition, children who are obese are more likely to be obese as adults and are therefore at risk for adult health problems, such as heart disease, type 2 diabetes, and several types of cancer (CDC, 2016). The direct medical costs associated with childhood obesity total $1.32 billion per year (Ward et al., 2021). Because obesity can become a lifelong health issue, it is important to screen for obesity in children and adolescents, and to provide interventions that promote weight loss (U.S. Preventive Services Task Force, 2017).
Clinical Recommendation Statement U.S. Preventive Services Task Force (2017) - The Task Force recommends that clinicians screen for obesity in children and adolescents 6 years and older and offer or refer them to comprehensive, intensive behavioral interventions to promote improvements in weight status. (B recommendation) American Academy of Pediatrics – Bright Futures (Hagan, Shaw, & Duncan, 2017) - Plot and assess BMI percentiles routinely for early recognition of overweight and obesity. - Assess barriers to healthy eating and physical activity. - Provide anticipatory guidance for nutrition and physical activity.
Citation Centers for Disease Control and Prevention. (2016). Childhood Obesity Causes & Consequences. Retrieved from https://www.cdc.gov/obesity/childhood/causes.html
Citation Fryar, C. D., Carroll, M. D., & Ogden, C. L. (2014). Prevalence of Overweight and Obesity Among Children and Adolescents: United States, 1963-1965 through 2011-2012. Health E-Stats. Retrieved from https://www.cdc.gov/nchs/data/hestat/obesity_child_11_12/obesity_child_11_12.htm
Citation Hagan, J. F., Shaw, J. S., & Duncan, P. M. (eds.). (2017). Bright Futures: Guidelines for Health Supervision of Infants, Children, and Adolescents, 4th ed. Elk Grove Village, IL: American Academy of Pediatrics.
Citation Hales, C.M., Carroll, M.D., Fryar, C.D., et al. (2017). Prevalence of Obesity Among Adults and Youth: United States, 2015-2016. NCHS Data Brief. Retrieved from https://www.cdc.gov/nchs/data/databriefs/db288.pdf
Citation U.S. Preventive Services Task Force. (2017). Screening and interventions for overweight in children and adolescents: Recommendation statement. Rockville, MD: Agency for Healthcare Research and Quality. Retrieved from https://www.uspreventiveservicestaskforce.org/Page/Document/UpdateSummaryFinal/obesity-in-children-and-adolescents-screening1?ds=1&s=obesity
Citation Ward, Z. J., Bleich, S. N., Long, M. W., & Gortmaker, S. L. (2021). Association of body mass index with health care expenditures in the United States by age and sex. PLOS ONE, 16(3), e0247307. https://doi.org/10.1371/journal.pone.0247307
Guidance (Usage) The visit must be performed by a PCP or OB/GYN. Because BMI norms for youth vary with age and sex, this measure evaluates whether BMI percentile, rather than an absolute BMI value, is assessed. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure: CMS155v14. 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).
Measure Group (Rate) (ID: Group_1)
Basis boolean
Scoring [http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']
Type [http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']
Rate Aggregation None
Improvement Notation [http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']
Initial Population ID: InitialPopulation_1
Description:

Patients 3-17 years of age by the end of the measurement period, with at least one outpatient visit with a primary care physician (PCP) or an obstetrician/gynecologist (OB/GYN) during the measurement period

Logic Definition: Initial Population
Denominator ID: Denominator_1
Description:

Equals Initial Population

Logic Definition: Denominator
Denominator Exclusion ID: DenominatorExclusion_1
Description:

Exclude patients who are in hospice care for any part of the measurement period. Patients who have a diagnosis of pregnancy during the measurement period.

Logic Definition: Denominator Exclusions
Numerator ID: Numerator_1
Description:

Patients who had a height, weight and body mass index (BMI) percentile recorded during the measurement period.

Logic Definition: Numerator 1
Stratifier ID: Stratification_1_1
Description: Report a total score, and each of the following strata: Stratum 1 - Patients age 3-11 years at the end of the measurement period
Stratifier ID: Stratification_1_2
Description: Stratum 2 - Patients age 12-17 years at the end of the measurement period
Measure Group (Rate) (ID: Group_2)
Basis boolean
Scoring [http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']
Type [http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']
Rate Aggregation None
Improvement Notation [http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']
Initial Population ID: InitialPopulation_2
Description:

Patients 3-17 years of age by the end of the measurement period, with at least one outpatient visit with a primary care physician (PCP) or an obstetrician/gynecologist (OB/GYN) during the measurement period

Logic Definition: Initial Population
Denominator ID: Denominator_2
Description:

Equals Initial Population

Logic Definition: Denominator
Denominator Exclusion ID: DenominatorExclusion_2
Description:

Exclude patients who are in hospice care for any part of the measurement period. Patients who have a diagnosis of pregnancy during the measurement period.

Logic Definition: Denominator Exclusions
Numerator ID: Numerator_2
Description:

Patients who had counseling for nutrition during the measurement period.

Logic Definition: Numerator 2
Stratifier ID: Stratification_2_1
Description: Report a total score, and each of the following strata: Stratum 1 - Patients age 3-11 years at the end of the measurement period
Stratifier ID: Stratification_2_2
Description: Stratum 2 - Patients age 12-17 years at the end of the measurement period
Measure Group (Rate) (ID: Group_3)
Basis boolean
Scoring [http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']
Type [http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']
Rate Aggregation None
Improvement Notation [http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']
Initial Population ID: InitialPopulation_3
Description:

Patients 3-17 years of age by the end of the measurement period, with at least one outpatient visit with a primary care physician (PCP) or an obstetrician/gynecologist (OB/GYN) during the measurement period

Logic Definition: Initial Population
Denominator ID: Denominator_3
Description:

Equals Initial Population

Logic Definition: Denominator
Denominator Exclusion ID: DenominatorExclusion_3
Description:

Exclude patients who are in hospice care for any part of the measurement period. Patients who have a diagnosis of pregnancy during the measurement period.

Logic Definition: Denominator Exclusions
Numerator ID: Numerator_3
Description:

Patients who had counseling for physical activity during the measurement period.

Logic Definition: Numerator 3
Stratifier ID: Stratification_3_1
Description: Report a total score, and each of the following strata: Stratum 1 - Patients age 3-11 years at the end of the measurement period
Stratifier ID: Stratification_3_2
Description: Stratum 2 - Patients age 12-17 years at the end of the measurement period
Supplemental Data Guidance For every patient evaluated by this measure also identify payer, race, ethnicity and sex
Supplemental Data Elements
Supplemental Data Element ID: sde-ethnicity
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Ethnicity
Logic Definition: SDE Ethnicity
Supplemental Data Element ID: sde-payer
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Payer
Logic Definition: SDE Payer
Supplemental Data Element ID: sde-race
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Race
Logic Definition: SDE Race
Supplemental Data Element ID: sde-sex
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Sex
Logic Definition: SDE Sex
Measure Logic
Primary Library https://madie.cms.gov/Library/CMS155FHIRWgtAssessCounseling
Contents Population Criteria
Logic Definitions
Terminology
Dependencies
Data Requirements
Population Criteria
Measure Group (Rate) (ID: Group_1)
Initial Population
define "Initial Population":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 17]
    and exists "Qualifying Encounters"
Denominator
define "Denominator":
  "Initial Population"
Denominator Exclusion
define "Denominator Exclusions":
  Hospice."Has Hospice Services"
    or exists "Pregnancy Diagnosis Which Overlaps Measurement Period"
Numerator
define "Numerator 1":
  exists "BMI Percentile in Measurement Period"
    and exists "Height in Measurement Period"
    and exists "Weight in Measurement Period"
Stratifier
define "Stratification 1":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 11]
Stratifier
define "Stratification 2":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[12, 17]
Measure Group (Rate) (ID: Group_2)
Initial Population
define "Initial Population":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 17]
    and exists "Qualifying Encounters"
Denominator
define "Denominator":
  "Initial Population"
Denominator Exclusion
define "Denominator Exclusions":
  Hospice."Has Hospice Services"
    or exists "Pregnancy Diagnosis Which Overlaps Measurement Period"
Numerator
define "Numerator 2":
  exists ( ( [Procedure: "Counseling for Nutrition"] ).isInterventionPerformed ( ) ) NutritionCounseling
    where NutritionCounseling.performed.toInterval ( ) during day of "Measurement Period"
Stratifier
define "Stratification 1":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 11]
Stratifier
define "Stratification 2":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[12, 17]
Measure Group (Rate) (ID: Group_3)
Initial Population
define "Initial Population":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 17]
    and exists "Qualifying Encounters"
Denominator
define "Denominator":
  "Initial Population"
Denominator Exclusion
define "Denominator Exclusions":
  Hospice."Has Hospice Services"
    or exists "Pregnancy Diagnosis Which Overlaps Measurement Period"
Numerator
define "Numerator 3":
  exists ( ( [Procedure: "Counseling for Physical Activity"] ).isInterventionPerformed ( ) ) ActivityCounseling
    where ActivityCounseling.performed.toInterval ( ) during day of "Measurement Period"
Stratifier
define "Stratification 1":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 11]
Stratifier
define "Stratification 2":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[12, 17]
Logic Definitions
Logic Definition Library Name: Hospice
define "Has Hospice Services":
  exists ((([Encounter: "Encounter Inpatient"]).isEncounterPerformed()) InpatientEncounter
      where (InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to home for hospice care (procedure)"
          or InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to healthcare facility for hospice care (procedure)"
      )
        and InpatientEncounter.period ends during day of "Measurement Period"
  )
    or exists ((([Encounter: "Hospice Encounter"]).isEncounterPerformed()) HospiceEncounter
        where HospiceEncounter.period overlaps day of "Measurement Period"
    )
    or exists ((([ObservationScreeningAssessment: "Hospice care [Minimum Data Set]"]).isAssessmentPerformed()) HospiceAssessment
        where HospiceAssessment.value ~ "Yes (qualifier value)"
          and HospiceAssessment.effective.toInterval() overlaps day of "Measurement Period"
    )
    or exists ((([ServiceRequest: "Hospice Care Ambulatory"]).isInterventionOrder()) HospiceOrder
        where HospiceOrder.authoredOn during day of "Measurement Period"
    )
    or exists ((([Procedure: "Hospice Care Ambulatory"]).isInterventionPerformed()) HospicePerformed
        where HospicePerformed.performed.toInterval() overlaps day of "Measurement Period"
    )
    or exists ((([ConditionProblemsHealthConcerns: "Hospice Diagnosis"]
        union [ConditionEncounterDiagnosis: "Hospice Diagnosis"]).verified()) HospiceCareDiagnosis
        where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
    )
Logic Definition Library Name: SupplementalDataElements
define "SDE Sex":
  case
    when Patient.sex = '248153007' then "Male (finding)"
    when Patient.sex = '248152002' then "Female (finding)"
    else null
  end
Logic Definition Library Name: SupplementalDataElements
define "SDE Payer":
  [Coverage: type in "Payer Type"] Payer
    return {
      code: Payer.type,
      period: Payer.period
    }
Logic Definition Library Name: SupplementalDataElements
define "SDE Ethnicity":
  Patient.ethnicity E
    return Tuple {
      codes: { E.ombCategory } union E.detailed,
      display: E.text
    }
Logic Definition Library Name: SupplementalDataElements
define "SDE Race":
  Patient.race R
    return Tuple {
      codes: R.ombCategory union R.detailed,
      display: R.text
    }
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "SDE Sex":
  SDE."SDE Sex"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Numerator 3":
  exists ( ( [Procedure: "Counseling for Physical Activity"] ).isInterventionPerformed ( ) ) ActivityCounseling
    where ActivityCounseling.performed.toInterval ( ) during day of "Measurement Period"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Stratification 2":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[12, 17]
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Stratification 1":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 11]
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Qualifying Encounters":
  ( ( [Encounter: "Office Visit"]
      union [Encounter: "Preventive Care Services Individual Counseling"]
      union [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]
      union [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]
      union [Encounter: "Preventive Care Services Group Counseling"]
      union [Encounter: "Home Healthcare Services"]
      union [Encounter: "Telephone Visits"]
  ).isEncounterPerformed ( ) ) ValidEncounters
    where ValidEncounters.period during day of "Measurement Period"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Initial Population":
  AgeInYearsAt(date from 
    end of "Measurement Period"
  ) in Interval[3, 17]
    and exists "Qualifying Encounters"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Denominator":
  "Initial Population"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "BMI Percentile in Measurement Period":
  ( ( [USCorePediatricBMIforAgeObservationProfile] ).isObservationPediatricBMI ( ) ) BMIPercentile
    where BMIPercentile.effective.toInterval ( ) during day of "Measurement Period"
      and BMIPercentile.value is not null
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Height in Measurement Period":
  ( ( [USCoreBodyHeightProfile] ).isObservationBodyHeight ( ) ) HeightExam
    where HeightExam.effective.toInterval ( ) during day of "Measurement Period"
      and HeightExam.value is not null
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Weight in Measurement Period":
  ( ( [USCoreBodyWeightProfile] ).isObservationBodyWeight ( ) ) WeightExam
    where WeightExam.effective.toInterval ( ) during day of "Measurement Period"
      and WeightExam.value is not null
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Numerator 1":
  exists "BMI Percentile in Measurement Period"
    and exists "Height in Measurement Period"
    and exists "Weight in Measurement Period"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "SDE Payer":
  SDE."SDE Payer"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Numerator 2":
  exists ( ( [Procedure: "Counseling for Nutrition"] ).isInterventionPerformed ( ) ) NutritionCounseling
    where NutritionCounseling.performed.toInterval ( ) during day of "Measurement Period"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "SDE Ethnicity":
  SDE."SDE Ethnicity"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Pregnancy Diagnosis Which Overlaps Measurement Period":
  ( ( [ConditionProblemsHealthConcerns: "Pregnancy"]
      union [ConditionEncounterDiagnosis: "Pregnancy"]
  ).verified ( ) ) PregnancyDiag
    where PregnancyDiag.prevalenceInterval ( ) overlaps "Measurement Period"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "Denominator Exclusions":
  Hospice."Has Hospice Services"
    or exists "Pregnancy Diagnosis Which Overlaps Measurement Period"
Logic Definition Library Name: CMS155FHIRWgtAssessCounseling
define "SDE Race":
  SDE."SDE Race"
Logic Definition Library Name: QICoreCommon
/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in QICore, allowing this function to be used across any resource.
The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
If the input is a DateTime Interval, the result is the input.
If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
If 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
*/
define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
  case
	  when choice is DateTime then
    	Interval[choice as DateTime, choice as DateTime]
		when choice is Interval<DateTime> then
  		choice as Interval<DateTime>
		when choice is Quantity then
		  Interval[Patient.birthDate + (choice as Quantity),
			  Patient.birthDate + (choice as Quantity) + 1 year)
		when choice is Interval<Quantity> then
		  Interval[Patient.birthDate + (choice.low as Quantity),
			  Patient.birthDate + (choice.high as Quantity) + 1 year)
		when choice is Timing then
      Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
		else
			null as Interval<DateTime>
	end
Logic Definition Library Name: FHIRHelpers
define function ToString(value uri): value.value
Logic Definition Library Name: FHIRHelpers
/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
    if period is null then
        null
    else
        if period."start" is null then
            Interval(period."start".value, period."end".value]
        else
            Interval[period."start".value, period."end".value]
Logic Definition Library Name: FHIRHelpers
/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
    if coding is null then
        null
    else
        System.Code {
          code: coding.code.value,
          system: coding.system.value,
          version: coding.version.value,
          display: coding.display.value
        }
Logic Definition Library Name: Status
//Intervention, Performed
define fluent function isInterventionPerformed(Proc List<Procedure>):
  Proc P
    where P.status ~ 'completed'
Logic Definition Library Name: Status
//Encounter, Performed
//General usage unless required otherwise by measure intent (e.g., follow-up encounters)
define fluent function isEncounterPerformed(Enc List<Encounter>):
  Enc E
    where E.status = 'finished'
Logic Definition Library Name: Status
//Observation Pediatric BMI
define fluent function isObservationPediatricBMI(Obs List<USCorePediatricBMIforAgeObservationProfile>):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
Logic Definition Library Name: Status
define fluent function isObservationBodyHeight(Obs List<USCoreBodyHeightProfile>):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
Logic Definition Library Name: Status
define fluent function isObservationBodyWeight(Obs List<USCoreBodyWeightProfile>):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
Logic Definition Library Name: Status
//Assessment, Performed
define fluent function isAssessmentPerformed(Obs List<ObservationScreeningAssessment>):
  Obs O
    where O.status in { 'final', 'amended', 'corrected' }
Logic Definition Library Name: Status
//Intervention, Order
define fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):
  ServiceRequest S
    where S.status in { 'active', 'completed' }
      and S.intent in {'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order'}
Logic Definition Library Name: Status
//This library contains functions used to constrain FHIR resource elements for measures authored by NCQA, based on QICore 6.0.0 resources including IG and authoring patterns. The functions may appear similar to some QICoreCommon functions but differ in that they have constraints that are relevant for measures authored by NCQA.

//Condition
//Returns conditions in the given list that either have no verification status or have a verification status of confirmed, unconfirmed, provisional, or differential
define fluent function verified(conditions List<Choice<ConditionProblemsHealthConcerns, ConditionEncounterDiagnosis>>):
  conditions C
    where C.verificationStatus is not null implies
      (C.verificationStatus ~ "confirmed"
        or C.verificationStatus ~ "unconfirmed"
        or C.verificationStatus ~ "provisional"
        or C.verificationStatus ~ "differential"
      )
Terminology
Code System Description: Code system SNOMEDCT
Resource: http://snomed.info/sct
Canonical URL: http://snomed.info/sct
Code System Description: Code system LOINC
Resource: http://loinc.org
Canonical URL: http://loinc.org
Code System Description: Code system ConditionVerificationStatusCodes
Resource: http://terminology.hl7.org/CodeSystem/condition-ver-status
Canonical URL: http://terminology.hl7.org/CodeSystem/condition-ver-status
Value Set Description: Value set Counseling for Physical Activity
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1035
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1035
Value Set Description: Value set Office Visit
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
Value Set Description: Value set Preventive Care Services Individual Counseling
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026
Value Set Description: Value set Preventive Care, Established Office Visit, 0 to 17
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024
Value Set Description: Value set Preventive Care Services, Initial Office Visit, 0 to 17
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022
Value Set Description: Value set Preventive Care Services Group Counseling
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027
Value Set Description: Value set Home Healthcare Services
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
Value Set Description: Value set Telephone Visits
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080
Value Set Description: Value set Payer Type
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Value Set Description: Value set Counseling for Nutrition
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.195.12.1003
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.195.12.1003
Value Set Description: Value set Encounter Inpatient
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
Value Set Description: Value set Hospice Encounter
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
Value Set Description: Value set Hospice Care Ambulatory
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Value Set Description: Value set Hospice Diagnosis
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
Value Set Description: Value set Pregnancy
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378
Direct Reference Code Display: Male (finding)
Code: 248153007
System: http://snomed.info/sct
Direct Reference Code Display: Female (finding)
Code: 248152002
System: http://snomed.info/sct
Direct Reference Code Display: Discharge to home for hospice care (procedure)
Code: 428361000124107
System: http://snomed.info/sct
Direct Reference Code Display: Discharge to healthcare facility for hospice care (procedure)
Code: 428371000124100
System: http://snomed.info/sct
Direct Reference Code Display: Hospice care [Minimum Data Set]
Code: 45755-6
System: http://loinc.org
Direct Reference Code Display: Yes (qualifier value)
Code: 373066001
System: http://snomed.info/sct
Direct Reference Code Display: confirmed
Code: confirmed
System: http://terminology.hl7.org/CodeSystem/condition-ver-status
Direct Reference Code Display: unconfirmed
Code: unconfirmed
System: http://terminology.hl7.org/CodeSystem/condition-ver-status
Direct Reference Code Display: provisional
Code: provisional
System: http://terminology.hl7.org/CodeSystem/condition-ver-status
Direct Reference Code Display: differential
Code: differential
System: http://terminology.hl7.org/CodeSystem/condition-ver-status
Dependencies
Dependency Description: QICore model information
Resource: http://hl7.org/fhir/Library/QICore-ModelInfo
Canonical URL: http://hl7.org/fhir/Library/QICore-ModelInfo
Dependency Description: Library SDE
Resource: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000
Canonical URL: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000
Dependency Description: Library FHIRHelpers
Resource: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
Canonical URL: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
Dependency Description: Library Status
Resource: https://madie.cms.gov/Library/Status|1.15.000
Canonical URL: https://madie.cms.gov/Library/Status|1.15.000
Dependency Description: Library QICoreCommon
Resource: https://madie.cms.gov/Library/QICoreCommon|4.0.000
Canonical URL: https://madie.cms.gov/Library/QICoreCommon|4.0.000
Dependency Description: Library Hospice
Resource: https://madie.cms.gov/Library/Hospice|6.18.000
Canonical URL: https://madie.cms.gov/Library/Hospice|6.18.000
Data Requirements
Data Requirement Type: Patient
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient
Must Support Elements: extension, birthDate, birthDate.value, url
Data Requirement Type: Procedure
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, performed, status, status.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1035
Data Requirement Type: Procedure
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, performed, status, status.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.195.12.1003
Data Requirement Type: Procedure
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, performed, status, status.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, hospitalization, hospitalization.dischargeDisposition, period, status, status.value
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, period, status, status.value
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
Data Requirement Type: Observation
Profile(s): http://hl7.org/fhir/us/core/StructureDefinition/pediatric-bmi-for-age
Must Support Elements: effective, value, status, status.value
Data Requirement Type: Observation
Profile(s): http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-height
Must Support Elements: effective, value, status, status.value
Data Requirement Type: Observation
Profile(s): http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-weight
Must Support Elements: effective, value, status, status.value
Data Requirement Type: Coverage
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage
Must Support Elements: type, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Data Requirement Type: Observation
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-screening-assessment
Must Support Elements: code, value, effective, status, status.value
Code Filter(s):
Path: code
Code(s): http://loinc.org#45755-6: 'Hospice care [Minimum Data Set]'
Data Requirement Type: ServiceRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
Must Support Elements: code, authoredOn, authoredOn.value, status, status.value, intent, intent.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378
Generated using version 0.4.8 of the sample-content-ig Liquid templates