Highest overdose-death / treatment-supply mismatch: Mason Co WA, Scioto Co OH, Cecil Co MD lead among mid-to-large counties
CDC VSRR county overdose deaths (12 months ending Dec 2025) vs. CMS behavioral-health facility counts, counties ≥65,000 population
Summary
Using CDC provisional county overdose-death data (12 months ending December 2025) and a CMS facility-count proxy for behavioral-health/addiction treatment capacity, the counties with the largest gap between overdose burden and treatment supply — among counties with population 65,000+ — are Mason County, WA (61.2 deaths/100k, 0 listed facilities), Scioto County, OH (49.2/100k, 0 facilities), Cecil County, MD (45.0/100k, 0 facilities), Roanoke city, VA (43.6/100k, 0 facilities), and Marion County, OH (43.0/100k, 0 facilities). Every county in the top 15 by this mismatch score has zero facilities in our proxy category despite death rates roughly 2-3x the concurrent national average. This pattern — rural and small-metro counties with high overdose mortality and near-zero visible treatment infrastructure — closely matches the peer-reviewed "risk-availability mismatch" finding of Rizk et al. (PLOS ONE, 2024), which used the actual SAMHSA Behavioral Health Treatment Locator and found 35.1% of U.S. counties had no listed opioid treatment facility in 2019.
Important limitation: This corpus (AskAmerica/govdata) does not carry the SAMHSA Behavioral Health Treatment Locator or the N-SSATS/N-MHSS facility census that the published literature on this exact question uses — confirmed by a catalog search returning no match for "SAMHSA," "licensed," or "locator." The facility count used here is a proxy: CMS Provider-of-Services (POS) categories 06 (psychiatric/behavioral residential treatment) and 19 (community mental health center), which is narrower than SAMHSA's facility count (2,716 facilities nationally here vs. 11,111 in the SAMHSA-sourced 2019 academic study) and omits standalone methadone clinics (opioid treatment programs) and office-based buprenorphine prescribers entirely. The ranking below should be read as directionally consistent with — but not a replacement for — the SAMHSA-based literature.
Method and exclusion disclosure
Overdose deaths: health.cdc_county_overdose_deaths (CDC VSRR, provisional, 12-month-ending window), year=2025, month-ending 2025-12-31.
Exclusion disclosure (provisional_drug_overdose IS NOT NULL): the filter provisional_drug_overdose IS NOT NULL was applied because CDC suppresses (sets to NULL) any county's 12-month death count under 10, for privacy. Of the 3,144 county rows in the 2025-12-31 window, this predicate excludes 1,630 rows (52%) — these are the smaller-death-count, generally lower-population counties. Without this filter, no death rate is computable for those rows at all (NULL, not zero), so they could not be included in either the headline ranking or the '265 of 844' zero-facility statistic below; both are therefore computed only over the 1,514 counties (3,144 minus the 1,630 excluded) that report a non-suppressed count. This exclusion is not a random sample: it disproportionately removes the smallest, most rural counties, which independent rural-access literature (cited below) identifies as the places most likely to be severe treatment deserts — meaning the true worst-mismatch counties nationally are plausibly smaller places this analysis cannot see at all.
Exclusion disclosure (county_fips IS NOT NULL, applied twice, on two different tables): on health.cms_pos_facilities (filtered to provider_category_code IN ('06','19')), this predicate excludes 1 facility record nationally (out of 2,717 in that category) that lacks a resolvable state/county FIPS code; that 1 excluded facility is simply absent from whichever county it should have counted toward, which can only understate a facility count, never overstate one, and with n=1 nationally has no material effect on any ranking here. On census.acs_population (year=2023, geography='county'), the same-named predicate excludes 0 rows — every county row in that vintage already carries a non-null county_fips, so this filter changed nothing on the population side.
Treatment-facility proxy: health.cms_pos_facilities, provider_category_code IN ('06','19') (psychiatric/behavioral residential treatment facilities and community mental health centers), counted per county.
Population: census.acs_population, 2023 5-year ACS vintage (most recent available; the overdose-death data is 2025, so there is a ~2-year vintage gap between numerator and denominator years — a real limitation, though county population changes slowly enough that this does not materially change rankings).
Mismatch score: for each county with population ≥65,000, computed the percentile rank of its overdose-death rate per 100k minus the percentile rank of its facility rate per 100k, following the same directional logic as the SAMHSA-locator-based "risk-availability mismatch" definition in Rizk et al. (2024) (national thresholds: 20.67 deaths/100k, 4.72 facilities/100k; this analysis uses within-sample percentile ranks rather than those exact thresholds, since our facility base is a different, narrower census). Restricting to population ≥65,000 avoids small-county rate instability but means true rural "treatment deserts" are further undercounted here; see Limitations.
Cross-checked against the literature: of 844 counties with population ≥65,000 in this corpus, 265 (31%) have zero facilities in our narrower proxy category — comparable in direction, if not in exact magnitude, to the 35.1% of all 3,130 U.S. counties found to have zero SAMHSA-listed OUD facilities in the peer-reviewed study.
Top 15 mismatch counties (population 65,000+)
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
| 1 | Mason County | WA | 41 | 66,968 | 61.2 | 0 |
| 2 | Scioto County | OH | 36 | 73,118 | 49.2 | 0 |
| 3 | Cecil County | MD | 47 | 104,366 | 45.0 | 0 |
| 4 | Roanoke city | VA | 43 | 98,677 | 43.6 | 0 |
| 5 | Marion County | OH | 28 | 65,145 | 43.0 | 0 |
| 6 | Howard County | IN | 34 | 83,610 | 40.7 | 0 |
| 7 | District of Columbia | DC | 272 | 672,079 | 40.5 | 0 |
| 8 | Allegany County | MD | 26 | 67,762 | 38.4 | 0 |
| 9 | Madison County | KY | 36 | 94,064 | 38.3 | 0 |
| 10 | McKinley County | NM | 27 | 71,172 | 37.9 | 0 |
| 11 | Aroostook County | ME | 25 | 67,227 | 37.2 | 0 |
| 12 | Columbiana County | OH | 36 | 101,203 | 35.6 | 0 |
| 13 | Carbon County | PA | 23 | 65,191 | 35.3 | 0 |
| 14 | Richmond city | VA | 80 | 227,595 | 35.2 | 0 |
| 15 | Kent County | DE | 65 | 185,043 | 35.1 | 0 |
All 15 counties have zero facilities in the narrower CMS proxy category, which is why the ranking above them is ordered purely by death rate — the mismatch score saturates at zero facilities. Note that even large, urban-adjacent counties (DC, Richmond city VA) surface here, underscoring that this specific CMS category (psychiatric/behavioral residential + CMHC) is a genuinely thin proxy and likely misses real treatment capacity (hospital-based programs, office-based buprenorphine, standalone OTPs) that exists in these places but isn't captured by provider_category_code 06/19.
What the published literature adds
The closest matching peer-reviewed study — Rizk, Saini, Kim, Pathan & Qato, "County-level factors associated with a mismatch between opioid overdose mortality and availability of opioid treatment facilities," PLOS ONE, April 2024 — asks essentially this question directly, using SAMHSA's own Behavioral Health Treatment Services Locator (11,111 facilities providing or allowing medications for opioid use disorder, 2018-2019) against CDC NVSS county overdose mortality. Their national thresholds: mean overdose mortality of 20.67/100k and mean facility rate of 4.72/100k in 2018-2019; 1,203 of 3,130 counties (38.4%) had above-average mortality, and 1,098 (35.1%) had zero facilities. Their adjusted regression found metropolitan counties, not rural ones, had higher odds of being "mismatch" counties (OR 1.85) after controlling for other factors — counter to the simple rural-desert narrative — along with higher shares of white residents, unemployment, and uninsured residents.
Separately, rural-access research (PMC9019866) and the American Institutes for Research review report that roughly 88.6% of large rural counties lack sufficient opioid treatment programs, 30% of rural residents (vs. 2% of urban residents) lack a buprenorphine provider within reasonable reach, and methadone clinics in rural counties studied averaged a 49-minute drive versus 17 minutes for primary care — a distance/access dimension this connector's facility count (which has no location/drive-time data joined) cannot capture at all.
A companion operations-research paper (Sun et al., Manufacturing & Service Operations Management, 2025) models optimal statewide allocation of new treatment centers specifically to minimize this same county-level mismatch, reinforcing that mismatch, not aggregate national capacity, is the actionable policy lever.
Limitations
- Facility proxy is narrow and undercounts true treatment supply. This corpus has no SAMHSA Behavioral Health Treatment Locator, N-SSATS, or N-MHSS facility census — confirmed absent by catalog search. The CMS POS categories used (psychiatric/behavioral residential treatment, community mental health center) are CMS-certified facilities only; they exclude standalone opioid treatment programs (methadone clinics), office-based buprenorphine prescribers, and non-CMS-certified outpatient counseling — all central to the SAMHSA-based definition of "opioid treatment facility" in the cited literature. This is why the top-15 list above is saturated at zero facilities: 2,716 facilities nationally in this proxy vs. 11,111 in the SAMHSA-sourced academic study.
- Vintage mismatch. Overdose deaths are the 12-month period ending December 2025; population is 2023 ACS (most recent available in this corpus); the CMS facility snapshot is the current 2026 quarter (CMS replaces this file wholesale each quarter and does not retain history).
- DC is included as a county-equivalent alongside real counties; it is a fully urban city-state, not comparable to rural or suburban counties on this list.
What This Report Does Not Answer
- 'Licensed addiction-treatment providers' specifically (not a general health facility count): This corpus has no SAMHSA Behavioral Health Treatment Locator, N-SSATS, or licensed-addiction-treatment-provider table (confirmed via catalog search: 'samhsa' and 'licensed' return zero matches). Substituted a CMS Provider-of-Services proxy (psychiatric/behavioral residential treatment + community mental health center categories), which is narrower and excludes standalone opioid treatment programs and buprenorphine prescribers -- explicitly labeled as a proxy throughout, with the true SAMHSA-based national study (Rizk et al. 2024) cited for comparison and methodology.
- 'Nearby' — implies some geographic/distance dimension, not just same-county presence: No facility location/drive-time data is joined here; 'nearby' is operationalized as 'within the same county' only, which the cited rural-access literature notes can still miss real distance barriers (e.g. a facility located at the county's edge, 45+ minutes from residents on the other side). This is a coarser operationalization than true proximity.
Every query behind this report
13 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
query — 1 rows — 1389 ms
SELECT max(monthendingdate) FROM health.cdc_county_overdose_deaths WHERE year='2025'query — 5 rows — 3885 ms
SELECT provider_category_code, count(*) FROM health.cms_pos_facilities GROUP BY provider_category_code ORDER BY 2 DESCquery — 2 rows — 6084 ms
SELECT DISTINCT geography FROM census.acs_population LIMIT 10query — 4272 ms
WITH od AS (
SELECT fips, countyname, state_name, CAST(provisional_drug_overdose AS DOUBLE) AS deaths
FROM health.cdc_county_overdose_deaths
WHERE year='2025' AND monthendingdate='2025-12-31' AND provisional_drug_overdose IS NOT NULL
),
pop AS (
SELECT county_fips, total_population AS population
FROM census.acs_population
WHERE "year"='2023' AND county_fips IS NOT NULL AND geography = 'county'
),
fac AS (
SELECT county_fips, count(*) AS n_facilities
FROM health.cms_pos_facilities
WHERE provider_category_code IN ('06','19') AND county_fips IS NOT NULL
GROUP BY county_fips
)
SELECT od.fips, od.countyname, od.state_name, od.deaths, p.population,
COALESCE(f.n_facilities,0) AS n_facilities,
od.deaths / (p.population/100000.0) AS deaths_per_100k,
COALESCE(f.n_facilities,0) / (p.population/100000.0) AS facilities_per_100k,
od.deaths / (COALESCE(f.n_facilities,0)+0.5) AS deaths_per_facility
FROM od
JOIN pop p ON p.county_fips = od.fips
LEFT JOIN fac f ON f.county_fips = od.fips
WHERE p.population >= 50000
ORDER BY deaths_per_facility DESC
FETCH FIRST 20 ROWS ONLY
query — 1686 ms
SELECT fips, countyname FROM health.cdc_county_overdose_deaths WHERE year='2025' AND monthendingdate='2025-12-31' AND provisional_drug_overdose IS NOT NULL FETCH FIRST 5 ROWS ONLYquery — 5 rows — 1136 ms
SELECT county_fips FROM census.acs_population WHERE "year"='2023' AND geography='county' FETCH FIRST 5 ROWS ONLYquery — 5 rows — 1204 ms
SELECT fips, countyname, provisional_drug_overdose, monthendingdate FROM health.cdc_county_overdose_deaths WHERE year='2025' FETCH FIRST 5 ROWS ONLYquery — 20 rows — 4664 ms
WITH od AS (
SELECT LPAD(fips,5,'0') AS fips, countyname, state_name, CAST(provisional_drug_overdose AS DOUBLE) AS deaths
FROM health.cdc_county_overdose_deaths
WHERE year='2025' AND monthendingdate = TIMESTAMP '2025-12-31 00:00:00' AND provisional_drug_overdose IS NOT NULL
),
pop AS (
SELECT county_fips, total_population AS population
FROM census.acs_population
WHERE "year"='2023' AND county_fips IS NOT NULL AND geography = 'county'
),
fac AS (
SELECT county_fips, count(*) AS n_facilities
FROM health.cms_pos_facilities
WHERE provider_category_code IN ('06','19') AND county_fips IS NOT NULL
GROUP BY county_fips
)
SELECT od.fips, od.countyname, od.state_name, od.deaths, p.population,
COALESCE(f.n_facilities,0) AS n_facilities,
od.deaths / (p.population/100000.0) AS deaths_per_100k,
COALESCE(f.n_facilities,0) / (p.population/100000.0) AS facilities_per_100k,
od.deaths / (COALESCE(f.n_facilities,0)+0.5) AS deaths_per_facility
FROM od
JOIN pop p ON p.county_fips = od.fips
LEFT JOIN fac f ON f.county_fips = od.fips
WHERE p.population >= 50000
ORDER BY deaths_per_facility DESC
FETCH FIRST 20 ROWS ONLY
query — 15 rows — 4503 ms
WITH od AS (
SELECT LPAD(fips,5,'0') AS fips, countyname, state_name, CAST(provisional_drug_overdose AS DOUBLE) AS deaths
FROM health.cdc_county_overdose_deaths
WHERE year='2025' AND monthendingdate = TIMESTAMP '2025-12-31 00:00:00' AND provisional_drug_overdose IS NOT NULL
),
pop AS (
SELECT county_fips, total_population AS population
FROM census.acs_population
WHERE "year"='2023' AND county_fips IS NOT NULL AND geography = 'county'
),
fac AS (
SELECT county_fips, count(*) AS n_facilities
FROM health.cms_pos_facilities
WHERE provider_category_code IN ('06','19') AND county_fips IS NOT NULL
GROUP BY county_fips
),
base AS (
SELECT od.fips, od.countyname, od.state_name, od.deaths, p.population,
COALESCE(f.n_facilities,0) AS n_facilities,
od.deaths / (p.population/100000.0) AS deaths_per_100k,
COALESCE(f.n_facilities,0) / (p.population/100000.0) AS facilities_per_100k
FROM od
JOIN pop p ON p.county_fips = od.fips
LEFT JOIN fac f ON f.county_fips = od.fips
WHERE p.population >= 65000
)
SELECT fips, countyname, state_name, deaths, population, n_facilities, deaths_per_100k, facilities_per_100k,
percent_rank() OVER (ORDER BY deaths_per_100k) AS death_pctl,
percent_rank() OVER (ORDER BY facilities_per_100k) AS fac_pctl,
percent_rank() OVER (ORDER BY deaths_per_100k) - percent_rank() OVER (ORDER BY facilities_per_100k) AS mismatch_score
FROM base
ORDER BY mismatch_score DESC
FETCH FIRST 15 ROWS ONLY
query — 1 rows — 2968 ms
WITH pop AS (
SELECT county_fips, total_population AS population
FROM census.acs_population
WHERE "year"='2023' AND county_fips IS NOT NULL AND geography = 'county' AND total_population >= 65000
),
fac AS (
SELECT county_fips, count(*) AS n_facilities
FROM health.cms_pos_facilities
WHERE provider_category_code IN ('06','19') AND county_fips IS NOT NULL
GROUP BY county_fips
)
SELECT count(*) AS n_counties,
sum(CASE WHEN COALESCE(f.n_facilities,0)=0 THEN 1 ELSE 0 END) AS zero_facility_counties
FROM pop p LEFT JOIN fac f ON f.county_fips=p.county_fips
query — 1 rows — 1709 ms
SELECT
sum(CASE WHEN provisional_drug_overdose IS NULL THEN 1 ELSE 0 END) AS suppressed_rows,
count(*) AS total_rows
FROM health.cdc_county_overdose_deaths
WHERE year='2025' AND monthendingdate = TIMESTAMP '2025-12-31 00:00:00'
query — 1 rows — 2359 ms
SELECT count(*) FROM health.cms_pos_facilities WHERE county_fips IS NULL AND provider_category_code IN ('06','19')query — 1 rows — 1193 ms
SELECT count(*) FROM census.acs_population WHERE "year"='2023' AND geography='county' AND county_fips IS NULLSources
- CDC county overdose deaths, 12mo ending 2025-12-31 — CDC VSRR provisional 12-month-ending county overdose mortality
Show tool call
query(sql="SELECT ... FROM health.cdc_county_overdose_deaths WHERE year='2025' AND monthendingdate=TIMESTAMP '2025-12-31 00:00:00'") - CMS Provider of Services facilities, categories 06/19 — Proxy for behavioral-health/addiction treatment facility count, current 2026-Q snapshot
- Census ACS 5-year county population, 2023 — Population denominator
- Rizk JG, Saini J, Kim K, Pathan U, Qato DM. County-level factors associated with a mismatch between opioid overdose mortality and availability of opioid treatment facilities. PLOS ONE 2024;19(4):e0301863.
- Improving Rural Access to Opioid Treatment Programs
- Exploring Urban-Rural Disparities in Accessing Treatment for Opioid Use Disorder — American Institutes for Research
- Sun et al., Reducing Overdose Deaths and Mitigating County Disparities: Optimal Allocation of Substance Use Treatment Centers. M&SOM 2025.