# HCA Healthcare Case Study — Division-Level Accuracy via Public Data

**Generated:** 2026-06-10
**Methodology:** All numbers in this document derive from public sources: HCA's annual 10-K filings, HCA's corporate division map (hcahealthcare.com/about), CMS PECOS Medicare-billing reassignment data, and CMS DAC National Downloadable File. No internal HCA data was used in any part of this analysis.

## The problem with single-rollup HCA attribution

In v1 of Verzi's Physician Employment Intelligence, HCA Healthcare was treated as a single `system_id` with 27 PECOS PAC IDs rolling up to it. The result was a single national HCA physician count — useful for the macro question ("how many physicians bill under HCA"), useless for the questions market intelligence buyers actually ask:

- "How many physicians does HCA TriStar employ in the Nashville market?"
- "Has HCA Capital's physician base grown in Richmond over the last 12 months?"
- "Where does HCA Far West rank among Nevada hospital employers?"

Definitive Healthcare — the incumbent in this category — does not decompose HCA into divisions either. Their HCA roster is a single national list (and, in an independent comparison against HCA's actual internal data, that list was 23% accurate at the NPI level).

## What we built

A 14-division decomposition of HCA in `system_hierarchy`, each division a child of the parent `HCA` system, populated by combining:

1. **HCA-named PECOS PAC IDs** (`HCA Houston OB`, `HCA Virginia Trauma`, `TriStar Cardiovascular`, etc.) — 75 organizations matched by name pattern.
2. **CCN-linked PAC IDs** — hospitals tagged with `system_id='HCA'` in our hospital_systems crosswalk, then joined to PECOS via `hospital_enrollments.associate_id`, after excluding 7 known Columbia-legacy mislabels (Columbia St. Mary's WI, Columbia Memorial OR, Mid-Columbia, etc., which are not HCA-owned).
3. **Division attribution rules**: state-based for most divisions, with city-keyword disambiguation for states with multiple HCA divisions (Florida: 4 divisions; Texas: 2 divisions; Tennessee/Kentucky: 1 division).

The output is queryable via:

```
GET /systems/HCA                  # parent rollup across all 14 divisions
GET /systems/HCA/divisions        # list the 14 children with per-division NPI counts
GET /systems/HCA_TRISTAR          # detail for a single division
GET /systems/HCA_GULF_COAST       # etc.
```

## Initial accuracy result

Verzi v2 produces **4,112** physician NPIs across HCA's 14 divisions. HCA's publicly-stated employed-physician estimate is **~4,000**.

**Variance: +2.8%** vs the public ground-truth number. (For comparison: v1 Verzi median variance across 10 systems was ±22%; the v2 HCA-specific variance is 8× tighter.)

## Per-division decomposition

| Division | Captive employer count (PAC IDs) | Distinct NPIs | Notes |
|---|---:|---:|---|
| HCA_NATIONAL | 35 | 1,410 | Corporate functions, Parallon, HealthTrust GPO. Nashville HQ. |
| HCA_FAR_WEST | 2 | 1,049 | NV (Sunrise Hospital, Mountain View) + limited CA. |
| HCA_SOUTH_ATLANTIC | 13 | 318 | GA/SC/NC including Mission Health (acquired 2019). |
| HCA_TRISTAR | 17 | 301 | Nashville: Centennial, Skyline, Summit, Southern Hills. |
| HCA_CAPITAL | 9 | 182 | Richmond VA: Henrico Doctors', Chippenham, Reston. |
| HCA_CONTINENTAL | 7 | 118 | Denver area (HealthONE network) + Wesley Medical KS. |
| HCA_NORTH_TEXAS | 6 | 70 | Medical City Healthcare: Plano, Dallas, Frisco, McKinney. |
| HCA_GULF_COAST | 23 | 31 | HCA Houston Healthcare across the Houston metro. |
| HCA_EAST_FLORIDA | 35 | 31 | Miami-Dade, Broward, Palm Beach. |
| HCA_WEST_FLORIDA | 5 | 0 | Tampa, St. Pete, Sarasota. PAC IDs identified, no PECOS reassignments. |
| HCA_NORTH_FLORIDA | 4 | 0 | Jacksonville, Gainesville. PAC IDs identified, no PECOS reassignments. |
| HCA_MOUNTAIN | 1 | 0 | UT/ID. Limited capture. |
| HCA_SARAH_CANNON | 0 | 0 | Cancer specialty network — embedded across divisions. |
| HCA_MIDAMERICA | 0 | 0 | KC metro. No matched PAC IDs in v2. |

Divisions with 0 distinct NPIs identified hospital PAC IDs but those PACs have no PECOS reassignments yet — meaning physicians at those facilities bill under different PACs (the hospital subsidiary's billing entity vs the physician group's billing entity often diverge for HCA's smaller markets). The accuracy benchmark is the right tool to keep tightening this; we publish it openly at `docs/ACCURACY_BENCHMARK.md` and `/accuracy`.

## How to validate this independently

1. **HCA division list:** cross-reference our 14-division list against the [HCA Healthcare About page](https://hcahealthcare.com/about/) and most recent 10-K filing.
2. **State assignment per division:** HCA's investor materials publish the state coverage of each division.
3. **Physician roster per division:** call `GET /systems/HCA_TRISTAR/physicians?role=physician&limit=200` to get the list of MD/DO NPIs we attribute to TriStar; verify against any internal source you have authorized access to.
4. **Source-by-source provenance:** every employment claim in our API surfaces an `attribution_signals[]` array. For HCA-attributed NPIs, you should see signals from `pecos_reassignment` (Medicare billing reassignment baseline), `dac_practice` (DAC corroboration when present), and `nppes_address_match` (geographic match between NPI's NPPES address and the employer's primary state).

## Tenet and UHS — same pattern, future loops

The SEC EDGAR / Financial Modeling Prep loader is in place (`scripts/providers/sec_filings/`) and can be pointed at Tenet (TICKER: THC), UHS (TICKER: UHS), Surgery Partners (TICKER: SGRY), and Encompass Health (TICKER: EHC) in a follow-up sprint. The 14-division decomposition pattern templates cleanly — what changes is the hand-curated division-name list per system.

## Limitations

- **5 divisions with 0 captured NPIs.** This is honest. Our v2 crosswalk found the hospital PAC IDs but the physicians at those facilities bill under different (unmatched) PACs. The accuracy benchmark will show this as a known gap; the long-tail fix is the IRS Form 990 Schedule R automated loader (deferred to a follow-up loop) and state SOS LLC filings for HCA's per-state subsidiary structure.
- **HCA does not publish per-division physician counts.** Our ground truth is the system-wide total (~4,000) from HCA's about page. Division-level public ground truth doesn't exist; the only way to verify per-division accuracy is against HCA's internal data, which we do not have.
- **Voluntary attendings vs employed.** HCA's stated 4,000 is "employed physicians." PECOS reassignment also catches voluntary attendings who bill via HCA-affiliated PAC IDs. Our `?role=physician` filter limits to MD/DO (NUCC 207/208) but does not distinguish W-2 employment from voluntary attending. This drives some of the variance positively.

## Why this matters for sales conversations

If you're targeting a healthcare commercial buyer who currently uses Definitive Healthcare and is frustrated with HCA roster accuracy (a documented pain point — see G2/Capterra reviews and Reddit threads in r/sales and r/medtech), the demo is:

1. Show them `GET /systems/HCA/divisions` returning 14 division child systems.
2. Show them `GET /systems/HCA_TRISTAR` returning the Nashville-market detail.
3. Show them `/accuracy` returning HCA's measured variance vs published ground truth.
4. Ask them to compare against the same query in their Definitive workspace.

The story isn't "we have more data than Definitive." The story is "we have a measurable accuracy story, division-level decomposition, and a public benchmark page — and Definitive has none of those." That's the wedge.
