Title: |
Weight Assessment and Counseling for Nutrition and Physical Activity for Children/AdolescentsFHIR |
Id: |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Version: |
0.1.001 |
Url: |
Weight Assessment and Counseling for Nutrition and Physical Activity for Children/AdolescentsFHIR |
short-name identifier:
|
CMS155FHIR
|
version-independent identifier:
|
urn:uuid:ced3e428-2d50-4738-badb-3693cb0df02c
|
version-specific identifier:
|
urn:uuid:d139ed55-8531-4c25-ac6a-6242e1e1dc36
|
publisher (CMS) identifier:
|
155FHIR
|
Effective Period: |
2025-01-01..2025-12-31 |
Status: |
draft |
Publisher: |
National Committee for Quality Assurance |
Author: |
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
|
Purpose: |
|
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 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 can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 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 2024. 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) (http://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-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use.
This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.
ICD-10 copyright 2024 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].
|
Scoring: |
Proportion
|
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.
|
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: CMS155v13.
Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html). |
Population Criteria: |
66208f5e0f0a9077c1d5b508 |
Initial Population: |
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 |
Denominator: |
Equals Initial Population |
Denominator Exclusion: |
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. |
Numerator: |
Patients who had a height, weight and body mass index (BMI) percentile recorded during the measurement period. |
Stratifier Criteria:
Stratum: |
Patients age 3-11 years at the end of the measurement period |
Stratum: |
Patients age 12-17 years at the end of the measurement period |
66208f5e0f0a9077c1d5b509 |
Initial Population: |
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 |
Denominator: |
Equals Initial Population |
Denominator Exclusion: |
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. |
Numerator: |
Patients who had counseling for nutrition during the measurement period. |
Stratifier Criteria:
Stratum: |
Report a total score, and each of the following strata:
Stratum 1 - Patients age 3-11 years at the end of the measurement period |
Stratum: |
Stratum 2 - Patients age 12-17 years at the end of the measurement period |
66208f5e0f0a9077c1d5b50a |
Initial Population: |
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 |
Denominator: |
Equals Initial Population |
Denominator Exclusion: |
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. |
Numerator: |
Patients who had counseling for physical activity during the measurement period. |
Stratifier Criteria:
Stratum: |
Report a total score, and each of the following strata:
Stratum 1 - Patients age 3-11 years at the end of the measurement period |
Stratum: |
Stratum 2 - Patients age 12-17 years at the end of the measurement period |
|
Libraries: |
|
Terminology and Other Dependencies: |
Library/Status|1.8.000
Library/QICoreCommon|2.1.000
Library/FHIRHelpers|4.4.000
Library/Hospice|6.12.000
SNOMED CT (all versions)
Observation Category Codes
Logical Observation Identifiers, Names and Codes (LOINC)
Counseling for Physical Activity
Office Visit
Preventive Care Services-Individual Counseling
Preventive Care, Established Office Visit, 0 to 17
Preventive Care Services, Initial Office Visit, 0 to 17
Preventive Care Services - Group Counseling
Home Healthcare Services
Telephone Visits
Counseling for Nutrition
Encounter Inpatient
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
Hospice Care Ambulatory
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
Pregnancy
|
Parameters: |
name |
use |
min |
max |
type |
Measurement Period |
In |
0 |
1 |
Period |
Stratifaction 1 |
Out |
0 |
1 |
boolean |
Numerator 3 |
Out |
0 |
1 |
boolean |
Stratifaction 2 |
Out |
0 |
1 |
boolean |
Denominator |
Out |
0 |
1 |
boolean |
Numerator 1 |
Out |
0 |
1 |
boolean |
Numerator 2 |
Out |
0 |
1 |
boolean |
Initial Population |
Out |
0 |
1 |
boolean |
Denominator Exclusions |
Out |
0 |
1 |
boolean |
|
DataRequirements: |
|
Direct Reference Codes: |
|
Logic Definitions: |
Group |
Scoring |
Population Criteria |
Expression |
66208f5e0f0a9077c1d5b508 |
Group scoring:
proportion
Measure scoring:
Proportion
|
Type: |
Process
|
Rate Aggregation: |
None |
Improvement Notation: |
increase
|
|
|
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" )
|
|
|
|
|
|
|
|
|
66208f5e0f0a9077c1d5b509 |
Group scoring:
proportion
Measure scoring:
Proportion
|
Type: |
Process
|
Rate Aggregation: |
None |
Improvement Notation: |
increase
|
|
|
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"
|
|
|
|
|
|
|
|
|
66208f5e0f0a9077c1d5b50a |
Group scoring:
proportion
Measure scoring:
Proportion
|
Type: |
Process
|
Rate Aggregation: |
None |
Improvement Notation: |
increase
|
|
|
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"
|
|
|
|
|
|
|
|
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Stratifaction 1 |
|
define "Stratifaction 1":
AgeInYearsAt(date from
end of "Measurement Period"
) in Interval[3, 11]
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Numerator 3 |
|
define "Numerator 3":
exists ( ( [Procedure: "Counseling for Physical Activity"] ).isInterventionPerformed ( ) ) ActivityCounseling
where ActivityCounseling.performed.toInterval ( ) during day of "Measurement Period"
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Stratifaction 2 |
|
define "Stratifaction 2":
AgeInYearsAt(date from
end of "Measurement Period"
) in Interval[12, 17]
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Qualifying Encounters |
|
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.toInterval ( ) during day of "Measurement Period"
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Initial Population |
|
define "Initial Population":
AgeInYearsAt(date from
end of "Measurement Period"
) in Interval[3, 17]
and exists ( "Qualifying Encounters" )
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Denominator |
|
define "Denominator":
"Initial Population"
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
BMI Percentile in Measurement Period |
|
define "BMI Percentile in Measurement Period":
( ( ["observation-bmi"] ).isObservationBMI ( ) ) BMIPercentile
where BMIPercentile.effective.toInterval ( ) during day of "Measurement Period"
and BMIPercentile.value is not null
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Height in Measurement Period |
|
define "Height in Measurement Period":
( ( ["observation-bodyheight"] ).isObservationBodyHeight ( ) ) Height
where Height.effective.toInterval ( ) during day of "Measurement Period"
and Height.value is not null
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Weight in Measurement Period |
|
define "Weight in Measurement Period":
( ( ["observation-bodyweight"] ).isObservationBodyWeight ( ) ) Weight
where Weight.effective.toInterval ( ) during day of "Measurement Period"
and Weight.value is not null
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Numerator 1 |
|
define "Numerator 1":
exists ( "BMI Percentile in Measurement Period" )
and exists ( "Height in Measurement Period" )
and exists ( "Weight in Measurement Period" )
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Numerator 2 |
|
define "Numerator 2":
exists ( ( [Procedure: "Counseling for Nutrition"] ).isInterventionPerformed ( ) ) NutritionCounseling
where NutritionCounseling.performed.toInterval ( ) during day of "Measurement Period"
|
Library Name |
Name |
Hospice |
Has Hospice Services |
|
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.toInterval() ends during day of "Measurement Period"
)
or exists ((([Encounter: "Hospice Encounter"]).isEncounterPerformed()) HospiceEncounter
where HospiceEncounter.period.toInterval() overlaps day of "Measurement Period"
)
or exists ((([Observation: "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.toInterval() during day of "Measurement Period"
// and HospiceOrder.doNotPerform is not true
// https://oncprojectracking.healthit.gov/support/browse/CQLIT-447
)
or exists ((([Procedure: "Hospice Care Ambulatory"]).isInterventionPerformed()) HospicePerformed
where HospicePerformed.performed.toInterval() overlaps day of "Measurement Period"
)
or exists (([Condition: "Hospice Diagnosis"]) HospiceCareDiagnosis
where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Pregnancy Diagnosis Which Overlaps Measurement Period |
|
define "Pregnancy Diagnosis Which Overlaps Measurement Period":
( [Condition: "Pregnancy"] ) Pregnancy
where Pregnancy.prevalenceInterval ( ) overlaps "Measurement Period"
|
Library Name |
Name |
WeightAssessmentandCounselingforNutritionandPhysicalActivityforChildrenandAdolescentsFHIR |
Denominator Exclusions |
|
define "Denominator Exclusions":
Hospice."Has Hospice Services"
or exists ( "Pregnancy Diagnosis Which Overlaps Measurement Period" )
|
Library Name |
Name |
Status |
isInterventionPerformed |
|
//Intervention, Performed
define fluent function isInterventionPerformed(Proc List<Procedure>):
Proc P
where P.status ~ 'completed'
|
Library Name |
Name |
Status |
isEncounterPerformed |
|
//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 in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}
|
Library Name |
Name |
QICoreCommon |
toInterval |
|
/*
@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
|
Library Name |
Name |
Status |
isObservationBMI |
|
define fluent function isObservationBMI(Obs List<"QICore.observation-bmi">):
Obs O
where O.status in { 'final', 'amended', 'corrected' }
|
Library Name |
Name |
Status |
isObservationBodyHeight |
|
define fluent function isObservationBodyHeight(Obs List<"QICore.observation-bodyheight">):
Obs O
where O.status in { 'final', 'amended', 'corrected' }
|
Library Name |
Name |
Status |
isObservationBodyWeight |
|
define fluent function isObservationBodyWeight(Obs List<"QICore.observation-bodyweight">):
Obs O
where O.status in { 'final', 'amended', 'corrected' }
|
Library Name |
Name |
Status |
isAssessmentPerformed |
|
//This library contains functions that are based on QDM 5.6 to QICore 4.1.1 March 2023 (https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns---QICore-v4.1.1). The functions may appear similar to some QICoreCommon functions but different in that they have constraints that are relevant for measures authored by NCQA.
//Assessment, Performed
define fluent function isAssessmentPerformed(Obs List<Observation>):
Obs O
where O.status in { 'final', 'amended', 'corrected' }
and exists ( O.category ObservationCategory
where ( ObservationCategory ) ~ "survey"
)
|
Library Name |
Name |
FHIRHelpers |
ToConcept |
|
/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}
|
Library Name |
Name |
Status |
isInterventionOrder |
|
//Intervention, Order: active and completed only
define fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):
ServiceRequest S
where S.status in { 'active', 'completed' }
and S.intent = 'order'
|
Library Name |
Name |
QICoreCommon |
prevalenceInterval |
|
/*
@description: Returns an interval representing the normalized prevalence period of a given Condition.
@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from
onset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting
interval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.
*/
define fluent function prevalenceInterval(condition Condition):
if condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse" then
Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
else
(end of condition.abatementInterval()) abatementDate
return if abatementDate is null then
Interval[start of condition.onset.toInterval(), abatementDate)
else
Interval[start of condition.onset.toInterval(), abatementDate]
|
|