Who is buying home-health agencies, hospices and nursing homes: a year of ownership changes by acquirer
Twelve months of CMS ownership-change events for 975 home-health agencies, 642 hospices, 85 nursing homes and 17 hospitals, grouped by the organisation that took ownership, with the share that maps to a listed operator and a dialysis roster count by chain.
Scope, and what the data does not cover
This note counts ownership_change events in provider_change_events with an event_date on or after 2025-09-01. The filter uses the index on (event_type, event_date); an EXPLAIN confirmed an index scan before any query ran (docs/data-dictionaries/provider_change_events.md).
Two sources feed the event type. Hospital and skilled nursing facility rows come from the CMS Change of Ownership (CHOW) file: a filed transaction with buyer and seller CCN, NPI and organisation name, and an effective date. Home-health agency and hospice rows come from a proxy diff of the CMS All Owners files: each row is a new owner-to-facility association with its date, owner name, owner type and CMS's private equity, REIT and holding-company flags. A proxy row is an owner appearing on a facility's filing, not a CHOW.
Neither source carries dialysis clinics or ambulatory surgery centers, and the operator_crosswalk facility types are hospital, SNF, HHA and hospice, so no dialysis CCN maps to a ticker through it. Dialysis appears here only as a roster count by chain from Care Compare. ASCs do not appear at all.
Which dates
The event date is the date the source publishes: the CHOW effective date, or the All Owners association date. CHOW effective dates run back to 2016-01-01; All Owners association dates begin 2025-06-17. The dictionary's July 2026 baseline applies to the six diff-derived types (order-and-referring, pending enrollment, CLIA, MQSA), not to ownership changes. All counts below use event_date, not ingest date.
Both sources were last ingested 2026-07-29 from the 2026-07-27 vintage, but the CHOW file lags its effective dates. The table holds 743 SNF and 105 hospital CHOWs dated 2024, 396 and 57 dated 2025, and 3 and 6 dated 2026. The twelve-month window captures 102 CHOW events, against 885 SNF CHOWs alone in 2023. The CHOW counts here are a floor and will rise as CMS publishes later filings.
Events and facilities by type
| Facility type | Source | Events | Distinct facilities (CCN) | First event | Last event |
|---|---|---|---|---|---|
| Home health agency | All Owners proxy | 3,724 | 975 | 2025-09-01 | 2026-10-31 |
| Hospice | All Owners proxy | 2,975 | 642 | 2025-09-01 | 2026-06-10 |
| Skilled nursing facility | CHOW | 85 | 2025-09-01 | 2026-02-01 | |
| Hospital | CHOW | 17 | 2025-09-01 | 2026-04-12 |
The gap between events and facilities in the proxy rows is structural: each owner entity on a filing produces its own event, so a facility bought through a stack of holding companies produces one event per layer. Quote the distinct-CCN column. Of the 3,724 HHA events, 2,316 name an individual owner and 1,408 an organisation; for hospices it is 1,309 and 1,666. The single 2026-10-31 row is an association date filed ahead of its effective date.
Of the 102 CHOW events, 95 are coded CHANGE OF OWNERSHIP and 7 ACQUISITION/MERGER.
CHOW buyers and sellers, hospitals and SNFs
Top buyers by facilities acquired, September 2025 onward:
| Buyer organisation (as filed) | Facilities | Type |
|---|---|---|
| North Big Horn Hospital District | 8 | SNF |
| Northwest Iowa Hospital Corporation | 3 | hospital, SNF |
| Union Hospital Inc | 3 | hospital |
| Guadalupe County Hospital Board | 2 | SNF |
| Atrium Health Hospitals Inc | 2 | hospital |
Every other buyer appears once. Among them are OpCo LLCs named for a street address (701 S Market St OpCo LLC, 700 S Bowie Dr OpCo LLC, 305 Bonita St OpCo LLC) and four Aspire Senior Living entities, one per town. The buyer string is the acquiring licensee, so a chain buying through per-facility LLCs shows as many buyers of one.
Top sellers: Northport Health Services of Missouri LLC 4 (SNF), City of Ennis 4 (SNF), Terre Haute Regional Hospital LP 3 (hospital), Virginia Health Services Inc 3 (SNF), The Charlotte-Mecklenburg Hospital Authority 2 (hospital), Marian Health Center-SMHC 2 (hospital). All others appear once.
Share of CHOW buyers that map to a ticker: all 102 events carry a buyer CCN; 5 of those CCNs are in the crosswalk and 2 map to a ticker, both to ENSG (The Ensign Group). That is 2.0% of events.
All Owners proxy, home health and hospice
Organisation owners ranked by distinct facilities newly associated. The layering is visible.
| Type | Owner name (as filed) | Facilities | Events | PE flag | Dates |
|---|---|---|---|---|---|
| HHA | BrightSpring Health Services Inc | 57 | 57 | no | 2025-09 to 2025-12 |
| HHA | Phoenix Intermediate Holdings Inc. | 57 | 57 | no | 2025-09 to 2025-12 |
| HHA | Res-Care Inc | 57 | 57 | no | 2025-09 to 2025-12 |
| HHA | Phoenix Guarantor Inc. | 57 | 57 | no | 2025-09 to 2025-12 |
| HHA | Adoration Home Health Acquisitions, LLC | 56 | 98 | no | 2025-12 |
| HHA | Adoration Home Health Care LLC | 56 | 56 | no | 2025-09 to 2025-12 |
| HHA | ResCare Holdings Inc | 55 | 55 | no | 2025-09 to 2025-12 |
| HHA | Adoration Home Health & Hospice Inc | 55 | 55 | no | 2025-09 to 2025-12 |
| HHA | BrightSpring Health Holdings Corp. | 53 | 53 | no | 2025-12 |
| Hospice | SCHP Midco Inc (and Purchaser, Intermediate, Topco, Holdings LP) | 37 | 37 | no | 2025-10-24 |
| Hospice | HIG STCH II LP | 37 | 37 | no | 2025-10-24 |
| Hospice | QSuper Global Private Equity Tr | 32 | 58 | no | 2025-10-24 |
| Hospice | Partners Group Access PF 882 LP (and three other Partners Group entities) | 32 | 32 | yes | 2025-10-24 |
Two things the data shows. First, the HHA rows are one ownership stack: of the 59 CCNs listing BrightSpring Health Services as a new owner in the window (57 of them typed as an organisation owner, the table's basis), all 59 also list Res-Care Inc and 58 list Adoration Home Health Care LLC. Second, the largest hospice block is 37 facilities filed on one day, 2025-10-24, under six SCHP entities and HIG STCH II LP; a 32-facility subset of the same CCNs also lists QSuper and four Partners Group vehicles, the latter flagged private equity by CMS. The data records the filing, not the transaction terms or closing date.
CMS's private equity flag is set on 127 distinct hospice CCNs and 53 distinct HHA CCNs in the window.
Ticker mapping for the proxy rows: 65 of 1,617 distinct facilities (4.0%) carry a ticker through the crosswalk. UNH 43 (28 under the Amedisys entity, 15 under Optum), HUM 6, HCA 5, ADUS 5, PNTG 3, EHAB 2, AVAH 2, CYH 1. The crosswalk ticker column was verified 2026-07-28 and is not continuously maintained (docs/data-dictionaries/operator_crosswalk.md).
Monthly flow by distinct facilities peaked in January 2026 (282 HHAs, 163 hospices) and April 2026 (230 and 146). May and June 2026 hold 10 and 60 HHAs and 19 and 7 hospices, which reflects the file vintage more than a slowdown.
Dialysis: roster, not transactions
cms_care_compare_dialysis holds 7,569 facilities at the 2026-07-31 vintage. By chain organisation: DaVita 2,801; Fresenius Medical Care 2,770; Independent 747; US Renal Care 453; Dialysis Clinic Inc 244; American Renal Associates 219; Other 95; Kaiser Permanente 22.
DaVita's disclosed US clinic count is not held in this repository. DaVita's Q2 2026 results, Exhibit 99.1 to Form 8-K dated August 4, 2026 (https://www.sec.gov/Archives/edgar/data/927066/000092706626000105/dva63026ex991.htm), state: "As of June 30, 2026, we provided dialysis services to a total of approximately 298,500 patients at 3,266 outpatient dialysis centers, of which 2,671 centers were located in the United States and 595 centers were located in 14 countries outside of the United States." The Care Compare roster carries 2,801 DaVita-labelled facilities, 130 more than DaVita's 2,671 US centers. Care Compare lists CCNs and DaVita counts centers, so joint-venture, managed and home-program certifications can carry the DaVita label without being counted as a DaVita center, and the two dates differ (2026-07-31 file against a June 30, 2026 quarter-end). The Care Compare figure counts Medicare-certified facilities carrying the chain label.
Appendix: queries
Run 2026-09-10 against production Postgres over DIRECT_URL, read-only, statement_timeout = 60s. Each ran in under 110 ms. W below stands for event_type = 'ownership_change' AND event_date >= '2025-09-01'.
EXPLAIN SELECT id FROM provider_change_events WHERE W LIMIT 1;
-- Index Scan using idx_pce_type_date on provider_change_events
-- Events by source and facility type
SELECT source, details->>'provider_kind' AS provider_kind,
(details->>'proxy') IS NOT NULL AS proxy,
count(*) AS events, min(event_date), max(event_date)
FROM provider_change_events WHERE W GROUP BY 1, 2, 3 ORDER BY 4 DESC;
-- Distinct facilities, owner type, PE flag (proxy rows)
SELECT details->>'provider_kind' AS kind, count(*) AS events, count(DISTINCT ccn) AS distinct_ccn,
count(DISTINCT ccn) FILTER (WHERE (details->>'private_equity') = 'true') AS pe_flagged_ccn
FROM provider_change_events WHERE W AND source <> 'cms_chow' GROUP BY 1;
SELECT details->>'provider_kind' AS kind, details->>'owner_type' AS owner_type, count(*)
FROM provider_change_events WHERE W AND source <> 'cms_chow' GROUP BY 1, 2;
-- CHOW type, top buyers, top sellers
SELECT details->>'chow_type', count(*) FROM provider_change_events
WHERE W AND source = 'cms_chow' GROUP BY 1;
SELECT details->'buyer'->>'org' AS buyer_org, count(*) AS facilities,
string_agg(DISTINCT details->>'provider_kind', ',') AS kinds
FROM provider_change_events WHERE W AND source = 'cms_chow'
GROUP BY 1 ORDER BY 2 DESC LIMIT 15;
-- same with details->'seller'->>'org' for sellers
-- CHOW buyer CCN to ticker
WITH e AS (SELECT id, details->'buyer'->>'ccn' AS bccn
FROM provider_change_events WHERE W AND source = 'cms_chow')
SELECT count(*) AS chow_events, count(bccn) AS with_buyer_ccn,
count(DISTINCT e.id) FILTER (WHERE x.ccn IS NOT NULL) AS in_crosswalk,
count(DISTINCT e.id) FILTER (WHERE x.ticker IS NOT NULL) AS ticker_mapped
FROM e LEFT JOIN provider_operator_crosswalk x ON x.ccn = e.bccn;
-- Proxy organisation owners by distinct facility
SELECT details->>'provider_kind' AS kind, details->>'owner_name' AS owner_name,
count(DISTINCT ccn) AS facilities, count(*) AS events,
bool_or((details->>'private_equity') = 'true') AS pe_flag,
min(event_date), max(event_date)
FROM provider_change_events WHERE W AND source <> 'cms_chow' AND (details->>'owner_type') = 'O'
GROUP BY 1, 2 ORDER BY 3 DESC, 4 DESC LIMIT 20;
-- Proxy facilities to ticker
SELECT x.ticker, x.operator_legal_name, count(DISTINCT e.ccn) AS facilities
FROM provider_change_events e JOIN provider_operator_crosswalk x ON x.ccn = e.ccn
WHERE e.W AND e.source <> 'cms_chow' AND x.ticker IS NOT NULL GROUP BY 1, 2 ORDER BY 3 DESC;
SELECT count(DISTINCT e.ccn) AS facilities,
count(DISTINCT e.ccn) FILTER (WHERE x.ticker IS NOT NULL) AS ticker_mapped
FROM provider_change_events e
LEFT JOIN provider_operator_crosswalk x ON x.ccn = e.ccn AND x.ticker IS NOT NULL
WHERE e.W AND e.source <> 'cms_chow';
-- Ownership-stack overlap check (HHA; hospice analogue with SCHP MIDCO INC, HIG STCH II LP,
-- PARTNERS GROUP ACCESS PF 882 LP, QSUPER GLOBAL PRIVATE EQUITY TR returned 37, 37, 32, 32)
WITH a AS (SELECT DISTINCT ccn FROM provider_change_events WHERE W AND source <> 'cms_chow'
AND details->>'owner_name' = 'BRIGHTSPRING HEALTH SERVICES INC'),
b AS (SELECT DISTINCT ccn FROM provider_change_events WHERE W AND source <> 'cms_chow'
AND details->>'owner_name' = 'RES-CARE INC'),
c AS (SELECT DISTINCT ccn FROM provider_change_events WHERE W AND source <> 'cms_chow'
AND details->>'owner_name' = 'ADORATION HOME HEALTH CARE LLC')
SELECT (SELECT count(*) FROM a), (SELECT count(*) FROM a JOIN b USING (ccn)),
(SELECT count(*) FROM a JOIN c USING (ccn)); -- 59, 59, 58
-- Monthly flow (proxy), CHOW by year (all history), vintages
SELECT to_char(event_date, 'YYYY-MM') AS month, details->>'provider_kind' AS kind,
count(*) AS events, count(DISTINCT ccn) AS facilities
FROM provider_change_events WHERE W AND source <> 'cms_chow' GROUP BY 1, 2 ORDER BY 1, 2;
SELECT extract(year FROM event_date)::int AS yr, details->>'provider_kind' AS kind, count(*)
FROM provider_change_events WHERE event_type = 'ownership_change' AND source = 'cms_chow'
GROUP BY 1, 2 ORDER BY 1, 2;
SELECT source, min(event_date), max(event_date), max(source_vintage), max(ingested_at)::date
FROM provider_change_events WHERE event_type = 'ownership_change' GROUP BY 1;
-- Dialysis roster by chain; crosswalk facility types for selected tickers
SELECT chain_organization, count(*) FROM cms_care_compare_dialysis GROUP BY 1 ORDER BY 2 DESC LIMIT 8;
SELECT count(*), max(ingested_at)::date FROM cms_care_compare_dialysis;
SELECT ticker, facility_type, count(*) FROM provider_operator_crosswalk
WHERE ticker IN ('DVA','FMS','SGRY','ADUS','ENSG','UNH') GROUP BY 1, 2;
-- returned no DVA or FMS rows: the crosswalk has no dialysis facility type
Not run: nothing scanned provider_change_events without the event_type and event_date filter except the two all-history CHOW queries, which also filter on event_type. DaVita's disclosed clinic count was not queried; a grep of docs/ for it returned nothing, and the count quoted in the dialysis section was read from DaVita's August 4, 2026 8-K exhibit on 2026-09-10.