| Code | Description | Classification |
|---|---|---|
| E66.01 | Morbid (severe) obesity due to excess calories | Severe Obesity (Class II) |
| E66.09 | Other obesity due to excess calories | Obesity |
| E66.1 | Drug-induced obesity | Obesity |
| E66.2 | Morbid obesity with alveolar hypoventilation | Severe Obesity (Class II) |
| E66.3 | Overweight | Overweight |
| E66.8 | Other obesity | Obesity |
| E66.9 | Obesity, unspecified | Obesity |
| Z68.53 | BMI pediatric, 85th to < 95th percentile | Overweight |
| Z68.54 | BMI pediatric, ≥ 95th percentile | Obesity |
Pediatric Overweight & Obesity at CSVS
Incidence, Severity, and Site-Level Variation — 2020–2025
Data Source: NextGen Report Server (3/31/26) — EHR encounter-level exports with ICD-10 diagnosis fields.
Prepared for QA by: Oguchi Nkwocha, MD., MS., CMO
Study Period: January 2020 – December 2025 | Ages: 2–19 years | Sites: 10 CSVS clinics
1 Objective
This study characterizes the incidence, severity distribution, and site-level variation of pediatric overweight and obesity across all Clinica de Salud del Valle de Salinas (CSVS) clinic sites over a 6-year period (2020–2025).
| Parameter | Value |
|---|---|
| Time Frame | January 2020 – December 2025 (6 calendar years) |
| Age Range | 2–19 years (calculated from date of birth and date of service) |
| Data Source | NextGen Report Server (3/31/26) — EHR encounter-level exports |
| Population | All pediatric patients (ages 2–19) with ≥1 encounter at any of 10 CSVS sites |
| Patient Identifier | MRN (unique patient medical record number) |
2 Methods & Definitions
2.1 Definition of a Case
A case is defined as any unique patient (by MRN) with ≥1 encounter carrying an overweight or obesity ICD-10 diagnosis code (E66.01, E66.09, E66.1, E66.2, E66.3, E66.8, E66.9) or pediatric BMI percentile Z-code (Z68.53, Z68.54) during the study period (2020–2025).
2.2 Incidence
Unique patients with ≥1 encounter with overweight/obesity diagnosis ÷ unique patients with ≥1 encounter, within the defined period and stratum × 100%.
\[ \text{Incidence} = \frac{\text{Unique patients with } \geq 1 \text{ overweight/obesity diagnosis}}{\text{Unique patients with } \geq 1 \text{ encounter}} \times 100 \]
2.3 ICD-10 / Z-Code Capture
2.4 Weight Classification (CDC/AAP)
| Category | BMI-for-Age Percentile |
|---|---|
| Overweight | 85th to < 95th |
| Obesity (Class I) | ≥ 95th to < 120% of 95th |
| Severe Obesity (Class II) | ≥ 120% of 95th percentile or BMI ≥ 35 |
2.5 Denominator Definitions
6-Year Cumulative Denominator: All unique patients (by MRN) aged 2–19 with ≥1 encounter at any CSVS site during 2020–2025. n = 16,628.
Annual Denominator: All unique patients (by MRN) aged 2–19 with ≥1 encounter at any CSVS site during that specific calendar year.
A patient seen in multiple years appears in each year’s annual denominator but only once in the cumulative denominator. Therefore, annual rates cannot be summed to derive the cumulative rate.
3 Data Processing
Data loading and cleaning pipeline
file_denominator <- "ped_obesity_2020-2025_full_denom.xlsx"
file_cases <- "ped Obesity 2020_2025_2.xlsx"
obesity_codes <- tribble(
~code, ~weight_class,
"E66.01","Severe obesity (Class II)","E66.09","Obesity","E66.1","Obesity",
"E66.2","Severe obesity (Class II)","E66.3","Overweight","E66.8","Obesity",
"E66.9","Obesity","Z68.53","Overweight","Z68.54","Obesity"
)
severity_rank <- c("Underweight"=0,"Healthy weight"=1,"Overweight"=2,"Obesity"=3,"Severe obesity (Class II)"=4)
denom_raw <- read.xlsx(file_denominator,startRow=6,skipEmptyRows=TRUE,detectDates=TRUE) %>% clean_names()
cases_raw <- read.xlsx(file_cases,startRow=5,detectDates=TRUE) %>% clean_names()
diag_code_cols <- intersect(paste0("diag_",1:12),names(cases_raw))
diag_desc_cols <- intersect(paste0("diag_",1:12,"_desc"),names(cases_raw))
denom <- denom_raw %>%
mutate(dt_of_svc=as.Date(dt_of_svc),birth_dt=as.Date(birth_dt),
age=as.numeric(difftime(dt_of_svc,birth_dt,units="days"))/365.25,
sex=toupper(str_trim(sex)),md_rc=str_trim(as.character(md_rc)),
per_nbr=str_trim(as.character(per_nbr)),
loc_name=str_trim(loc_name),zip=str_trim(as.character(zip)),
visit_year=year(dt_of_svc)) %>%
filter(age>=2,age<20,visit_year>=2020,visit_year<=2025)
cases <- cases_raw %>%
mutate(across(all_of(c(diag_code_cols,diag_desc_cols)),as.character)) %>%
mutate(dt_of_svc=as.Date(dt_of_svc),birth_dt=as.Date(birth_dt),
age=as.numeric(difftime(dt_of_svc,birth_dt,units="days"))/365.25,
sex=toupper(str_trim(sex)),md_rc=str_trim(as.character(md_rc)),
per_nbr=str_trim(as.character(per_nbr)),
loc_name=str_trim(loc_name),zip=str_trim(as.character(zip)),
visit_year=year(dt_of_svc)) %>%
filter(age>=2,age<20,visit_year>=2020,visit_year<=2025)
cases_for_denom <- cases %>% filter(!md_rc %in% denom$md_rc) %>%
select(all_of(intersect(names(denom),names(cases))))
denom <- bind_rows(denom,cases_for_denom)
cases_long <- cases %>% mutate(row_id=row_number()) %>%
pivot_longer(cols=all_of(diag_code_cols),names_to="diag_position",values_to="diag_code") %>%
filter(!is.na(diag_code)) %>% mutate(diag_code=str_trim(toupper(diag_code)))
cases_matched <- cases_long %>%
inner_join(obesity_codes %>% mutate(code=toupper(code)),by=c("diag_code"="code")) %>%
mutate(rank=severity_rank[weight_class])
icd_summary <- cases_matched %>% group_by(row_id) %>%
summarise(matched_codes=paste(unique(diag_code),collapse="; "),
icd_weight_class=weight_class[which.max(rank)],.groups="drop")
cases <- cases %>% mutate(row_id=row_number()) %>%
left_join(icd_summary,by="row_id") %>%
mutate(weight_class_final=case_when(
icd_weight_class=="Severe obesity (Class II)"~"Severe obesity (Class II)",
!is.na(icd_weight_class)~icd_weight_class,TRUE~NA_character_),
ow_ob_case=weight_class_final %in% c("Overweight","Obesity","Severe obesity (Class II)"))
output <- cases %>% filter(ow_ob_case) %>%
select(loc_name,md_rc,dt_of_svc,visit_year,birth_dt,age,sex,
weight_class=weight_class_final,matched_codes,all_of(diag_code_cols)) %>%
arrange(md_rc,dt_of_svc)
age_breaks <- c(2,5,10,15,20); age_labels <- c("2–4","5–9","10–14","15–19")
denom <- denom %>% mutate(age_group=cut(age,breaks=age_breaks,right=FALSE,labels=age_labels))
output <- output %>% mutate(age_group=cut(age,breaks=age_breaks,right=FALSE,labels=age_labels))4 Results
4.1 Overall Incidence
Over the 6-year study period, 3,721 of 16,628 unique pediatric patients had at least one encounter with an overweight or obesity diagnosis, yielding a 6-year cumulative incidence of 22.4%.
4.2 Incidence (%) Trend by Year
| Year | Denominator | Cases | Incidence |
|---|---|---|---|
| 2,020 | 7,236 | 559 | 7.7% |
| 2,021 | 7,560 | 930 | 12.3% |
| 2,022 | 8,830 | 891 | 10.1% |
| 2,023 | 9,859 | 1,038 | 10.5% |
| 2,024 | 10,640 | 1,026 | 9.6% |
| 2,025 | 10,901 | 845 | 7.8% |
4.3 Incidence (%) by Age Group
4.4 Incidence (%) by Age Group & Sex
Males aged 10–14 show the highest incidence at 22.9%, compared to 19.3% for females in the same age group.
4.5 Incidence (%) by Clinic Site
Sanborn at 33.7% — 1.8× the next highest site.
4.6 Zip Code Analysis
To understand the site-level variation — particularly Sanborn’s 33.7% incidence — we examined overweight/obesity rates by zip code.
| Zip Code | Denominator | Cases | Incidence |
|---|---|---|---|
| 93912 | 54 | 18 | 33.3% |
| 93925 | 93 | 30 | 32.3% |
| 93905 | 5,027 | 1,488 | 29.6% |
| 93915 | 80 | 22 | 27.5% |
| 93906 | 2,563 | 687 | 26.8% |
| 93901 | 767 | 204 | 26.6% |
| 93908 | 87 | 23 | 26.4% |
| 93907 | 547 | 131 | 23.9% |
| 93960 | 1,119 | 259 | 23.1% |
| 93930 | 903 | 153 | 16.9% |
| 93926 | 444 | 68 | 15.3% |
| 95012 | 1,482 | 208 | 14.0% |
| 93933 | 194 | 27 | 13.9% |
| 93927 | 2,399 | 320 | 13.3% |
| 93955 | 118 | 9 | 7.6% |
| 95076 | 338 | 25 | 7.4% |
| 95039 | 59 | 2 | 3.4% |
Sanborn Medical Clinic’s high incidence (33.7%) is largely explained by its patient population: 93905 accounts for 2,556 of Sanborn’s 4,740 patients, and the population-level incidence in 93905 is 29.6% — the highest of any high-volume zip code. Zip codes 93906 (26.8%) and 93901 (26.6%) also contribute disproportionately. These three zip codes together represent 85% of Sanborn’s patient panel, suggesting that the elevated rate reflects the local community burden rather than a site-specific coding or practice anomaly.
4.7 Classification Breakdown
| Category | Patients | % of Cases | % of All Pediatric |
|---|---|---|---|
| Obesity | 1,926 | 51.8% | 11.6% |
| Overweight | 1,727 | 46.4% | 10.4% |
| Severe obesity (Class II) | 68 | 1.8% | 0.4% |
| Total | 3,721 | 100.0% | 22.4% |
| Note: | |||
| % of Cases = share within overweight/obesity patients. | |||
| % of All Pediatric = incidence against full denominator of unique patients. |
4.8 Rolling Cumulative Incidence
To account for encounters where the overweight/obesity diagnosis may not have been recorded, we examine the cumulative build year-by-year. Each row represents all unique patients through that year; classification uses the latest encounter.
| Through | Sex | Denominator | Cases | Incidence |
|---|---|---|---|---|
| 2020 | ||||
| 2,020 | F | 3,543 | 266 | 7.5% |
| 2,020 | M | 3,693 | 293 | 7.9% |
| 2020–2021 | ||||
| 2,021 | F | 4,563 | 625 | 13.7% |
| 2,021 | M | 4,730 | 725 | 15.3% |
| 2020–2022 | ||||
| 2,022 | F | 5,488 | 937 | 17.1% |
| 2,022 | M | 5,698 | 1,062 | 18.6% |
| 2020–2023 | ||||
| 2,023 | F | 6,395 | 1,260 | 19.7% |
| 2,023 | M | 6,599 | 1,388 | 21.0% |
| 2020–2024 | ||||
| 2,024 | F | 7,379 | 1,549 | 21.0% |
| 2,024 | M | 7,595 | 1,709 | 22.5% |
| 2020–2025 | ||||
| 2,025 | F | 8,225 | 1,767 | 21.5% |
| 2,025 | M | 8,405 | 1,954 | 23.2% |
Males consistently higher; both approach ~22–23% by 2025. The asymptotic pattern confirms diminishing new case capture over time.
5 Comparisons
5.1 National Comparison
Our CSVS rates can be contextualized against national projections from the GBD 2021 US Obesity Forecasting study.
| Source | Males | Females | Method |
|---|---|---|---|
| GBD 2021 (US national, ~2025) | ~35% | ~30% | BMI-measured prevalence |
| CSVS (6-year cumulative, 2020–2025) | 23.2% | 21.5% | ICD-10 coded diagnoses |
Source: GBD 2021 US Obesity Forecasting Collaborators. Lancet. 2024 Dec 7;404(10469):2278-2298. doi: 10.1016/S0140-6736(24)01548-4. PMID: 39551059; PMCID: PMC11694015.
5.2 State Comparison
California Health Interview Survey,UCLA. California Health Care Foundation, August 2024.
5.3 Monterey County Comparison
5.4 Comparisons Caveat
Key limitations when comparing CSVS data with external studies:
CSVS study period is 2020–2025. Most frequently cited studies are dated (up to 2020). We included only more recent studies, but even then coverage was only up to 2022. The National Study covers up to 2021, but forecasts to 2050.
CSVS uses diagnostic codes (ICD-10); comparators use BMI. Risk of under-counting is higher with visit-based ICD-10 coding since overweight/obesity, a chronic condition, may only be incidental to the current visit Chief Complaint and therefore may not be documented at the visit. Age-cuts are also different.
6 Provider Response & Management
6.1 Referral to Community Nutrition Services & Programs
- Healthy Together (Aspire)
- Healthy Weight for Life (CCAH)
- Kids Eat Right (Montage)
- Nutrition and Wellness Education (NMC)
- Weight Management Clinic (NMC)
- Nutrition Pathfinders (County Health Department)
- YMCA Youth Fit 4 Life (YF4L)
Also…
- Center for Healthy Weight Pediatric Weight Control Program (Stanford Medicine Children’s Health (Palo Alto))
- WATCH (Weight Assessment for Teen and Child Health) (UCSF Benioff Children’s Hospitals (San Francisco))
6.2 Referral to Behavioral Health Services
Manage comorbid anxiety and depression
6.3 Referral for Pharmacotherapy
- Stanford Medicine Children’s Health (Palo Alto)
- UCSF Benioff Children’s Hospitals (San Francisco
6.4 Referral to Bariatric Surgery
- UCSF Benioff Children’s Hospitals (San Francisco)
- Stanford Medicine Children’s Health (Palo Alto)
UCSF Benioff Children’s Hospitals (San Francisco) also have Pediatric Fatty Liver and Weight Assessment Clinic that considers drug and surgical therapies alongside lifestyle intervention.
6.5 AAP’s 2023 Clinical Guidelines for Pediatric Obesity
There is in fact a guideline, a very useful and empowering tool.
Obesity is a [treatable] Chronic Disease With Complex Contributing Factors
- ≥2 years: BMI screening & lifestyle/behavioral interventions
- (8–11 years: Consensus-based off-label pharmacotherapy consideration in select cases in 2026)
- ≥12 years: Pharmacotherapy (as adjunct to intensive health behavior and lifestyle treatment)
- ≥13 years: Evaluation for referral for metabolic and bariatric surgery in those with severe obesity (BMI ≥120% of the 95th percentile)
Source: 2023 AAP CPG: Pediatrics (2023) 151(2): e2022060641. doi:10.1542/peds.2022-060641
7 Key Findings & Next Steps
- 22.4% cumulative incidence — approximately one in four to five pediatric patients at CSVS had at least one overweight or obesity diagnosis over 6 years.
- Peak in ages 10–14 at 21.2%, with males (22.9%) exceeding females (19.3%).
- Trend analysis — incidence peaked 2021, now stabilizing around 9–10%
- Sanborn site deep-dive — 33.7% rate reflects local community burden. ~50% of entire Ped Obesity population are from Zipcodes 93905 & 93906; 85% Ped Obesity pop from same zipcodes are served by Sanborn clinic
- Severity stratification — 52% obese vs 46% overweight, with 1.8% classified severe
- CSVS overweight / Obesity stats are better than national, state and county (with caveats related to methodologies)
- Resources such as intervention programs, Community Nutrition Services & Programs & Behavioral Health Services need to be evaluated for efficacy and utilized appropriately
- Clinical Practice Guidelines on Pediatric Obesity recommend following considerations:
- Age 12 and above: Pharmacotherapy (GLP-1ra agents) (Resources: Stanford, UCSF Children’s)
- Age 13 and above: Bariatric surgery (Resources: Stanford, UCSF Children’s)
Paradigm shift: Overweight / Obesity is a treatable chronic disease, not a personal choice sequela
8 Limitations
- ICD-10 coded diagnoses undercount true prevalence. Patients with overweight/obesity who were not coded at a given visit are only captured if coded at a subsequent encounter.
- Rolling cumulative approach mitigates undercounting by aggregating across years, but patients who never receive a diagnosis code remain missed.
- No measured BMI data — classification relies entirely on provider-assigned ICD-10/Z-codes.
- Denominator completeness depends on the EHR report extract from NextGen.
- Comparison studies use different methodologies (BMI-measured vs ICD-10 coded), different time periods, and different populations.
9 Appendix
9.1 Denominator Verification
| Year | Unique Patients |
|---|---|
| 2020 | 7,236 |
| 2021 | 7,560 |
| 2022 | 8,830 |
| 2023 | 9,859 |
| 2024 | 10,640 |
| 2025 | 10,901 |
| Cumulative | 16,628 |
9.2 Reproducibility
This report was generated using R 4.4.2 with Quarto. All source code is available in the collapsible code blocks above.
Clinica de Salud del Valle de Salinas — Quality Improvement
Oguchi Nkwocha, MD., MS., CMO
Data Source: NextGen Report Server