-- Who Owns Hospitals? Every Ownership Change, Tracked (2026)
-- Fonteum reproducible query — https://fonteum.com/research/hospital-ownership-changes-2026
-- Data as of: 2026-06-17  ·  methodology: cms-hospital-chow/v1
-- Source datasets: CMS Provider Data Catalog
-- Run against the frozen federal snapshot to reproduce the published figures.
-- License: U.S. Government Works (federal sources; 17 U.S.C. §105).

-- Who is buying America's hospitals — and the answer is: almost everyone, a
-- little. Fully reproducible query.
--
-- Question: across the hospital Change-of-Ownership (CHOW) transactions CMS
-- publishes, what kind of ownership change is it, who is on the buying side,
-- when did it take effect, and where? The lead figure: the ten most active
-- buyers account for just 87 of 755 changes (11.5%), 59.9% of all buyers
-- appear exactly once, and the single largest cluster on the file is one
-- health system reorganizing itself. A CHOW filing records a transaction, NOT
-- a quality, fraud, or wrongdoing signal of any kind.
--
-- Source:
--   public.cms_hospital_chow — CMS "Hospital Change of Ownership" public-use
--     file, published via the CMS data catalog (data.cms.gov, Medicare
--     provider enrollment / PECOS). 755 transaction rows across 742 distinct
--     Medicare CCNs; snapshot 2026-06-17. Public, read-only. License:
--     US-Government-Works (17 U.S.C. Sec. 105).
--     methodology_version = 'cms-hospital-chow/v1'.
--
-- Universe: this study reads the published file AS A WHOLE — every row is one
--   hospital ownership-change transaction CMS lists, with a buyer identity, a
--   seller identity, a CHOW type, an effective date, and a state. The file is
--   a single point-in-time snapshot (snapshot 2026-06-17) of the transactions
--   on record; it is not a complete census of every U.S. hospital deal ever.
--
-- Counting note: the unit of analysis is the TRANSACTION (one row), not the
--   hospital. A hospital (CCN) can appear in more than one transaction across
--   the period. Buyer / seller names are the organizational entities recorded
--   on the filing; no individual person is named in the study, and names are
--   used only as the factual aggregate unit of a count.

-- ============================================================================
-- (1) Universe reconciliation — the published file at a glance.
-- ============================================================================
-- audit-claim: universe
SELECT
  count(*)                                                          AS events,
  count(DISTINCT ccn)                                               AS distinct_ccn,
  count(DISTINCT buyer_name)                                        AS distinct_buyers,
  count(DISTINCT seller_name)                                       AS distinct_sellers,
  count(*) FILTER (WHERE buyer_name IS NULL OR buyer_name = '')     AS null_buyer,
  count(*) FILTER (WHERE seller_name IS NULL OR seller_name = '')   AS null_seller,
  count(*) FILTER (WHERE state IS NULL OR state = '')               AS null_state,
  min(chow_effective_date)                                          AS earliest,
  max(chow_effective_date)                                          AS latest,
  max(snapshot_date)                                                AS snapshot
FROM public.cms_hospital_chow;
--  events 755 · distinct_ccn 742 · distinct_buyers 461 · distinct_sellers 491
--  null_buyer 0 · null_seller 0 · null_state 0
--  earliest 2016-01-01 · latest 2025-12-28 · snapshot 2026-06-17

-- ============================================================================
-- (2) WHAT KIND of change. 85.6% are plain CHANGE OF OWNERSHIP filings; only
--     14.4% are coded ACQUISITION/MERGER. Most hospital ownership change is a
--     quiet reassignment of the Medicare billing entity, not a headline merger.
-- ============================================================================
-- audit-claim: type-vector
SELECT
  chow_type_code,
  chow_type,
  count(*)                                                          AS events,
  round(100.0 * count(*) / sum(count(*)) OVER (), 1)                AS pct_of_all,
  count(*) FILTER (WHERE chow_effective_date >= DATE '2020-01-01')  AS since_2020,
  round(
    100.0 * count(*) FILTER (WHERE chow_effective_date >= DATE '2020-01-01')
    / count(*),
    1
  )                                                                 AS since_2020_pct
FROM public.cms_hospital_chow
GROUP BY chow_type_code, chow_type
ORDER BY events DESC;
--  CH  CHANGE OF OWNERSHIP   646  85.6% · since 2020 348 (53.9%)
--  AM  ACQUISITION/MERGER    109  14.4% · since 2020  66 (60.6%)

-- ============================================================================
-- (3) HEADLINE: buyer-side concentration. The ten most active buyers hold just
--     87 of 755 changes (11.5%); the single most active buyer took 12 (1.6%).
--     There is no national roll-up here.
-- ============================================================================
-- audit-claim: buyer-vector
SELECT
  buyer_name,
  count(*)                                                          AS acquisitions,
  count(DISTINCT seller_name)                                       AS distinct_sellers,
  count(DISTINCT state)                                             AS states
FROM public.cms_hospital_chow
GROUP BY buyer_name
ORDER BY acquisitions DESC, buyer_name ASC
LIMIT 10;
--  DIGNITY COMMUNITY CARE                  12  · 1 seller  · 2 states
--  HMH HOSPITALS CORPORATION                10  · 4 sellers · 1 state
--  MEDICAL UNIVERSITY HOSPITAL AUTHORITY   10  · 5 sellers · 1 state
--  PRISMA HEALTH-UPSTATE                    10  · 2 sellers · 1 state
--  SUTTER BAY HOSPITALS                     10  · 4 sellers · 1 state
--  CATHOLIC HEALTH INITIATIVES COLORADO      8  · 4 sellers · 2 states
--  BOWLING GREEN-WARREN COUNTY COMMUNITY ..  7  · 4 sellers · 1 state
--  ST JOSEPH HEALTH NORTHERN CALIFORNIA LLC  7  · 4 sellers · 1 state
--  UNIVERSITY OF CALIFORNIA IRVINE           7  · 5 sellers · 1 state
--  OSF HEALTHCARE SYSTEM                     6  · 4 sellers · 1 state
--  (top 10 buyers = 87 of 755 changes = 11.5% of the file.)

-- ============================================================================
-- (4) The concentration, computed directly. 59.9% of buyers appear exactly
--     once; the 185 repeat buyers (2+ changes) drive 63.4% of all changes at
--     2.59 each on average. Consolidation runs through many regional systems,
--     not a handful of national chains.
-- ============================================================================
-- audit-claim: buyer-concentration
WITH b AS (
  SELECT buyer_name, count(*) AS n
  FROM public.cms_hospital_chow
  GROUP BY buyer_name
), ranked AS (
  SELECT
    b.*,
    row_number() OVER (ORDER BY n DESC, buyer_name) AS buyer_rank
  FROM b
)
SELECT
  count(*)                                                          AS distinct_buyers,
  count(*) FILTER (WHERE n = 1)                                     AS one_time_buyers,
  round(100.0 * count(*) FILTER (WHERE n = 1) / count(*), 1)        AS one_time_pct,
  count(*) FILTER (WHERE n >= 2)                                    AS repeat_buyers,
  sum(n) FILTER (WHERE n >= 2)                                      AS events_by_repeat,
  round(100.0 * sum(n) FILTER (WHERE n >= 2) / sum(n), 1)           AS repeat_event_pct,
  round(avg(n), 2)                                                  AS avg_per_buyer,
  round(avg(n) FILTER (WHERE n >= 2), 2)                            AS avg_per_repeat,
  max(n)                                                            AS max_acquisitions,
  sum(n) FILTER (WHERE buyer_rank <= 10)                            AS top10_events,
  round(100.0 * sum(n) FILTER (WHERE buyer_rank <= 10) / sum(n), 1) AS top10_event_pct,
  round(100.0 * max(n) / sum(n), 1)                                 AS max_event_pct
FROM ranked;
--  distinct_buyers 461 · one_time_buyers 276 (59.9%) · repeat_buyers 185
--  events_by_repeat 479 (63.4%) · avg_per_buyer 1.64 · avg_per_repeat 2.59
--  max_acquisitions 12 · top10_events 87 (11.5%) · max_event_pct 1.6%

-- ============================================================================
-- (5) The largest single cluster is internal. DIGNITY COMMUNITY CARE's 12
--     acquisitions are all from DIGNITY HEALTH, all effective 2019-02-01, all
--     coded CH (change of ownership) — an intra-system reorganization (the
--     Dignity Health / CommonSpirit transition), not an outside acquisition.
-- ============================================================================
-- audit-claim: dignity-cluster
SELECT
  buyer_name,
  seller_name,
  chow_type_code,
  count(*)                                                          AS events,
  min(chow_effective_date)                                          AS first_effective,
  max(chow_effective_date)                                          AS last_effective
FROM public.cms_hospital_chow
WHERE buyer_name ILIKE '%DIGNITY%' OR seller_name ILIKE '%DIGNITY%'
GROUP BY buyer_name, seller_name, chow_type_code
ORDER BY events DESC
LIMIT 5;
--  DIGNITY COMMUNITY CARE  <- DIGNITY HEALTH  CH  12  2019-02-01 .. 2019-02-01
--  PORT CITY OPERATING COMPANY LLC <- DIGNITY HEALTH  CH  2  2016-06-01
--  DIGNITY HEALTH <- DIGNITY HEALTH  AM  1  2020-01-31

-- ============================================================================
-- (6) WHEN — first-effective year of each change, 2016 onward. Volume runs in
--     waves (2019 = 127, 2024 = 101) rather than rising steadily; 2025 is a
--     partial / still-settling year as late filings arrive.
-- ============================================================================
-- audit-claim: year-vector
SELECT
  extract(year FROM chow_effective_date)::int                       AS effective_year,
  count(*)                                                          AS events,
  count(*) FILTER (WHERE chow_type_code = 'AM')                     AS acquisition_merger
FROM public.cms_hospital_chow
GROUP BY effective_year
ORDER BY effective_year;
--  2016  60  ·  2017  59  ·  2018  95  ·  2019 127  ·  2020  73
--  2021  89  ·  2022  38  ·  2023  74  ·  2024 101  ·  2025  39 (partial)
--  AM     2  ·       7  ·       14  ·       20  ·       12
--  AM    13  ·      13  ·        9  ·        9  ·       10

-- ============================================================================
-- (7) WHERE — the states with the most hospital ownership change. California
--     (74) and Texas (64) lead; no state holds even 10% of the file, the same
--     fragmentation visible on the buyer side.
-- ============================================================================
-- audit-claim: state-vector
SELECT
  state,
  count(*)                                                          AS events,
  round(100.0 * count(*) / sum(count(*)) OVER (), 1)                AS pct_of_all
FROM public.cms_hospital_chow
WHERE state IS NOT NULL AND state <> ''
GROUP BY state
ORDER BY events DESC
LIMIT 10;
--  CA 74 9.8% · TX 64 8.5% · IL 38 5.0% · OK 34 4.5% · NC 32 4.2%
--  FL 31 4.1% · LA 31 4.1% · SC 31 4.1% · GA 29 3.8% · AR 24 3.2%

-- ============================================================================
-- (8) Provider-type mix — every row is a hospital, but a fifth are rural
--     critical-access hospitals (167 of 755 = 22.1%), a reminder that ownership
--     change is not just a big-city, big-system phenomenon.
-- ============================================================================
-- audit-claim: provider-type-vector
SELECT
  provider_type,
  count(*)                                                          AS events,
  round(100.0 * count(*) / sum(count(*)) OVER (), 1)                AS pct_of_all
FROM public.cms_hospital_chow
GROUP BY provider_type
ORDER BY events DESC;
--  PART A PROVIDER - HOSPITAL                    587  77.7%
--  PART A PROVIDER - CRITICAL ACCESS HOSPITAL    167  22.1%
--  PART A PROVIDER - RURAL EMERGENCY HOSPITAL      1   0.1%
