Provenance

Dataset ID
cdc-places
Entity Type
county
Role
enrichment
Source
CDC
Vintage
2023 Release
Entity Count
40
Last ETL Run
2026-04-13

Overview

CDC PLACES (Population Level Analysis and Community Estimates) is a collaboration between the Centers for Disease Control and Prevention (CDC), the Robert Wood Johnson Foundation, and the CDC Foundation. The dataset provides county-level prevalence estimates for 36+ chronic disease, health behavior, prevention, disability, and health status measures. These estimates are not direct survey measurements — they are model-based small area estimates (SAE) produced by applying multilevel regression and poststratification (MRP) to state-level Behavioral Risk Factor Surveillance System (BRFSS) survey data. The current release (PLACES 2023, Socrata resource swc5-untb) uses BRFSS 2021 survey responses, creating a 2-year lag between data collection and publication.

PLACES answers questions such as: What is the estimated prevalence of diabetes, obesity, or smoking in a given county? How does chronic disease burden compare across counties after controlling for age distribution? Which counties have the highest rates of health risk behaviors or preventive care gaps? Measures span six categories — Health Outcomes, Health Risk Behaviors, Prevention, Disability, Health Status, and Health-Related Social Needs — and are reported as both crude and age-adjusted prevalence percentages with 95% confidence intervals.

Join Strategy

Each row in the source CSV carries a LocationID field containing the county FIPS code. During ETL, the _find_column() function matches this field from a candidate list (locationid, LocationID, CountyFIPS, FIPS) to handle column name variation across data vintages. The raw FIPS value is passed through normalize_fips(), which strips non-digit characters and left-pads to a 5-digit zero-padded string (2-digit state FIPS + 3-digit county FIPS). Rows where the geolevel field is present and not equal to county are filtered out; rows that do not yield a valid 5-digit FIPS after normalization are skipped.

The source data has one row per measure per county. The ETL groups rows by FIPS code, then pivots them into a dictionary keyed by measureid (e.g., DIABETES, OBESITY, CSMOKING) stored under data.places in the county JSON manifest. Each measure entry contains measure (human-readable name), category, value (prevalence percentage), value_type (crude or age-adjusted), low_ci, high_ci, and total_population. The join is a left join from the county entity manifest — county pages without a matching PLACES record display missing-data indicators rather than being omitted. County entity pages at /county/{FIPS} display a highlighted subset of measures (including DIABETES, OBESITY, CHD, COPD, BPHIGH, STROKE, CANCER, DEPRESSION) in a metric grid.

Known Limitations

Data Quality Notes

← Back to Methodology Hub · Report an error