{
  "study": {
    "slug": "excluded-providers-landscape-2026",
    "title": "OIG Exclusion Check: The 2026 Excluded-Provider Landscape",
    "standfirst": "At the July 14, 2026 audit cutoff, the OIG LEIE, SAM.gov, and 13 state Medicaid programs contained 10,824 NPI-identified providers barred from a public health program — yet the single most complete list, the OIG LEIE, named only 6,880 of them. Screen against that one source and 36.4% of excluded providers come back clean.",
    "desk": "financial-distress",
    "article_type": "Original Research",
    "published": "2026-06-15",
    "issue": 57,
    "doi": "",
    "url": "https://fonteum.com/research/excluded-providers-landscape-2026",
    "methodology_version": "exclusion-landscape/v1"
  },
  "data_as_of": "2026-07-14",
  "datasets": [
    {
      "slug": "oig-leie",
      "name": "OIG LEIE",
      "publisher": "HHS OIG — List of Excluded Individuals/Entities",
      "upstream_url": null
    }
  ],
  "key_findings": [
    {
      "number": "10,824",
      "finding": "distinct NPI-identified providers were barred from a public health program across the OIG LEIE, SAM.gov, and 13 state Medicaid exclusion lists at the July 14, 2026 audit cutoff",
      "dataset": "exclusion-landscape"
    },
    {
      "number": "63.6%",
      "finding": "is the most any single list covers — the OIG LEIE names 6,880 of the 10,824, so federal-LEIE-only screening misses 3,944 (36.4%)",
      "dataset": "oig-leie"
    },
    {
      "number": "55.7%",
      "finding": "of barred providers (6,031 of 10,824) appear on only one of the three exclusion layers — no two-list check reaches them",
      "dataset": "exclusion-landscape"
    },
    {
      "number": "16,277",
      "finding": "CMS civil money penalty records across 6,884 facilities at the July 14, 2026 audit cutoff sit in the compromised-but-operating layer — and, like the 127 active OIG integrity agreements, carry no NPI to match",
      "dataset": "cms-cmp"
    }
  ],
  "faqs": [
    {
      "q": "How many providers are on a US healthcare exclusion list?",
      "a": "At the July 14, 2026 audit cutoff, 10,824 distinct providers with a National Provider Identifier were barred from a public health program across the federal OIG LEIE (6,880), the federal SAM.gov debarment list (4,694), and 13 state Medicaid programs (4,949), de-duplicated on NPI so a provider on multiple lists is counted once."
    },
    {
      "q": "Does the OIG exclusion list contain every excluded provider?",
      "a": "No. The OIG LEIE is the most complete single list, but it names only 6,880 of the 10,824 NPI-identified barred providers — 63.6%. A federal-LEIE-only screen misses 3,944 providers, 36.4% of the excluded-anywhere population, who are barred by SAM.gov or a state Medicaid program without a matching federal LEIE record."
    },
    {
      "q": "How much do exclusion lists overlap?",
      "a": "Less than you would expect. Of the 10,824 NPI-identified barred providers, 6,031 — 55.7% — appear on only one of the three exclusion layers, and just 906 appear on all three. The lists are complementary, not redundant: each names thousands of providers the others miss."
    },
    {
      "q": "What is the difference between exclusion and a compromised-but-operating flag?",
      "a": "An exclusion bars a provider from billing federal health programs. A compromised flag — an OIG Corporate Integrity Agreement or a CMS civil money penalty — marks a provider under federal monitoring or penalty but still operating. At the July 14, 2026 audit cutoff, production held 127 active integrity agreements and 16,277 civil money penalty records across 6,884 facilities."
    },
    {
      "q": "Why can't the compromised-but-operating layer be matched to the exclusion lists?",
      "a": "Because it carries no NPI. OIG Corporate Integrity Agreements are keyed to an entity name and the CMS civil money penalty file is keyed to a facility certification number (CCN); neither source publishes a National Provider Identifier. With no NPI, these records cannot be joined to the exclusion universe by identifier, so they are reported separately."
    },
    {
      "q": "How many exclusion records have no NPI at all?",
      "a": "A large majority. Across the three exclusion layers, 363,004 in-force records carry no NPI: 286,487 on SAM.gov, 61,030 on the OIG LEIE, and 15,487 on the state Medicaid lists. These name a barred party with no identifier that maps to other lists, so NPI-based screening cannot reach them and they sit outside the 10,824 matchable population."
    },
    {
      "q": "Which states are in the state Medicaid exclusion layer?",
      "a": "At the July 14, 2026 audit cutoff the layer covered 13 programs: New York (2,259 NPIs), Pennsylvania (973), Ohio (673), Iowa (313), Maryland (264), Washington (210), North Carolina (149), Mississippi (138), New Hampshire (51), North Dakota (47), Montana (42), Georgia (35), and Tennessee (9). The production table contains 22,917 source records across those 13 states."
    },
    {
      "q": "Can I reproduce these figures?",
      "a": "Yes. Every count is a direct query against the public oig_leie_exclusions, sam_exclusions, and state_exclusions tables, joined on NPI only, with the compromised layer read from oig_cia_agreements and cms_civil_money_penalties. The exact SQL is published in the reproducibility block below, and no match is ever inferred from a name."
    }
  ],
  "citation": {
    "apa": "Fonteum LLC. (2026, June 15). OIG Exclusion Check: The 2026 Excluded-Provider Landscape. Fonteum Research, Issue 57. https://doi.org/",
    "url": "https://fonteum.com/research/excluded-providers-landscape-2026"
  },
  "reproducible_sql": "-- The excluded-provider landscape — fully reproducible query.\n--\n-- Question: across every exclusion source Fonteum holds, how many providers\n-- are barred somewhere, how does the population split by source, how much do\n-- the lists overlap, and how much does any single list miss?\n--\n-- EXCLUSION layer (the matchable universe — joined on NPI):\n--   public.oig_leie_exclusions — OIG List of Excluded Individuals/Entities,\n--                                federal monthly bulk download, release\n--                                2026-05-08, 68,055 records. Public, read-only.\n--   public.sam_exclusions      — SAM.gov / GSA government-wide debarment list,\n--                                323,930 active, in-force rows at the audit cutoff.\n--   public.state_exclusions    — State Medicaid Exclusion Ring (13 states).\n--                                Public, read-only.\n--\n-- Join key: NPI only (10-digit, btrim). A name match is not a defensible\n-- identity assertion, so rows with no NPI are excluded from the matchable\n-- universe and reported separately (see no-NPI query below).\n--\n-- \"In force\" mirrors the production exclusion lookup (src/lib/exclusions): a row\n-- is in force when reinstatement_date IS NULL OR reinstatement_date > today\n-- (for SAM.gov, the equivalent lapse signal is termination_date; \"Indefinite\"\n-- stores as NULL and stays in force). Audit cutoff: DATE '2026-07-14'.\n--\n-- COMPROMISED-BUT-OPERATING layer (reported separately, NEVER NPI-joined —\n-- neither source carries an NPI):\n--   public.oig_cia_agreements        — OIG Corporate Integrity Agreements\n--                                       (entity-name keyed).\n--   public.cms_civil_money_penalties — CMS Civil Money Penalties (CCN keyed).\n--\n-- Every headline figure in the study resolves to one of the rows below.\n\n-- audit-claim: exclusion-union-overlap\nWITH leie AS (\n  SELECT DISTINCT btrim(npi) AS npi FROM public.oig_leie_exclusions\n  WHERE nullif(btrim(npi), '') IS NOT NULL\n    AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')\n),\nsam AS (\n  SELECT DISTINCT btrim(npi) AS npi FROM public.sam_exclusions\n  WHERE nullif(btrim(npi), '') IS NOT NULL\n    AND status = 'Active'\n    AND (termination_date IS NULL OR termination_date > DATE '2026-07-14')\n),\nst AS (\n  SELECT DISTINCT btrim(npi) AS npi FROM public.state_exclusions\n  WHERE nullif(btrim(npi), '') IS NOT NULL\n    AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')\n),\nall_npi AS (\n  SELECT npi FROM leie UNION SELECT npi FROM sam UNION SELECT npi FROM st\n),\nflags AS (\n  SELECT a.npi,\n         (l.npi IS NOT NULL)::int AS in_leie,\n         (s.npi IS NOT NULL)::int AS in_sam,\n         (t.npi IS NOT NULL)::int AS in_state\n  FROM all_npi a\n  LEFT JOIN leie  l USING (npi)\n  LEFT JOIN sam   s USING (npi)\n  LEFT JOIN st    t USING (npi)\n),\nscored AS (\n  SELECT *, (in_leie + in_sam + in_state) AS src_count FROM flags\n)\nSELECT\n  (SELECT count(*) FROM all_npi)                                  AS excluded_anywhere,   -- 10,824\n  (SELECT count(*) FROM scored WHERE src_count = 1)               AS on_exactly_one,       --  6,031 (55.7%)\n  (SELECT count(*) FROM scored WHERE src_count >= 2)              AS on_two_or_more,       --  4,793 (44.3%)\n  (SELECT count(*) FROM scored WHERE src_count = 3)               AS on_all_three,         --    906 ( 8.4%)\n  (SELECT count(*) FROM scored WHERE in_leie  = 1)                AS leie_npi,             --  6,880 (63.6%)\n  (SELECT count(*) FROM scored WHERE in_sam   = 1)                AS sam_npi,              --  4,694 (43.4%)\n  (SELECT count(*) FROM scored WHERE in_state = 1)                AS state_npi,            --  4,949 (45.7%)\n  (SELECT count(*) FROM scored WHERE src_count = 1 AND in_leie  = 1) AS leie_only,         --  2,278\n  (SELECT count(*) FROM scored WHERE src_count = 1 AND in_sam   = 1) AS sam_only,          --    756\n  (SELECT count(*) FROM scored WHERE src_count = 1 AND in_state = 1) AS state_only,        --  2,997\n  (SELECT count(*) FROM scored WHERE in_leie = 1 AND in_sam   = 1) AS leie_and_sam,        --  3,747\n  (SELECT count(*) FROM scored WHERE in_leie = 1 AND in_state = 1) AS leie_and_state,      --  1,761\n  (SELECT count(*) FROM scored WHERE in_sam  = 1 AND in_state = 1) AS sam_and_state;       --  1,097\n-- Coverage = source_npi / excluded_anywhere. Single most complete list (LEIE)\n-- covers 6,880 / 10,824 = 63.6% → federal-LEIE-only screening misses 3,944 (36.4%).\n\n-- audit-claim: in-force-source-vector\n-- The no-NPI rows are excluded from the universe above and reported separately.\nSELECT 'oig-leie' AS source,\n       count(DISTINCT btrim(npi)) FILTER (WHERE nullif(btrim(npi),'') IS NOT NULL\n         AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')) AS inforce_distinct_npi,\n       count(*) FILTER (WHERE nullif(btrim(npi),'') IS NULL\n         AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')) AS inforce_no_npi\nFROM public.oig_leie_exclusions\nUNION ALL\nSELECT 'sam-gov',\n       count(DISTINCT btrim(npi)) FILTER (WHERE nullif(btrim(npi),'') IS NOT NULL\n         AND status = 'Active'\n         AND (termination_date IS NULL OR termination_date > DATE '2026-07-14')),\n       count(*) FILTER (WHERE nullif(btrim(npi),'') IS NULL\n         AND status = 'Active'\n         AND (termination_date IS NULL OR termination_date > DATE '2026-07-14'))\nFROM public.sam_exclusions\nUNION ALL\nSELECT 'state-medicaid',\n       count(DISTINCT btrim(npi)) FILTER (WHERE nullif(btrim(npi),'') IS NOT NULL\n         AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')),\n       count(*) FILTER (WHERE nullif(btrim(npi),'') IS NULL\n         AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14'))\nFROM public.state_exclusions;\n--  source          inforce_distinct_npi  inforce_no_npi\n--  oig-leie               6,880              61,030\n--  sam-gov                4,694             286,487\n--  state-medicaid         4,949              15,487   (no-NPI records total: 363,004)\n\n-- audit-claim: in-force-state-vector\nSELECT source_key, state,\n  count(DISTINCT btrim(npi)) FILTER (WHERE nullif(btrim(npi),'') IS NOT NULL\n    AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')) AS inforce_distinct_npi\nFROM public.state_exclusions\nGROUP BY source_key, state\nORDER BY inforce_distinct_npi DESC;\n--  ny-omig NY 2,259 | pa-dhs PA 973 | oh-odm OH 673 | ia-medicaid IA 313 | md-mdh MD 264\n--  wa-hca WA 210 | nc-dhhs NC 149 | ms-dom MS 138 | nh-dhhs NH 51 | nd-hhs ND 47\n--  mt-dphhs MT 42 | ga-dch GA 35 | tn-tenncare TN 9\n--  Sum 5,163 vs distinct 4,949 → 214 providers barred by more than one state.\n\n-- audit-claim: in-force-state-summary\nWITH in_force AS (\n  SELECT source_key, state, btrim(npi) AS npi\n  FROM public.state_exclusions\n  WHERE nullif(btrim(npi), '') IS NOT NULL\n    AND (reinstatement_date IS NULL OR reinstatement_date > DATE '2026-07-14')\n), source_state AS (\n  SELECT source_key, state, count(DISTINCT npi) AS distinct_npi\n  FROM in_force\n  GROUP BY source_key, state\n), totals AS (\n  SELECT\n    (SELECT count(DISTINCT npi) FROM in_force) AS distinct_npi,\n    sum(distinct_npi) AS source_state_row_sum\n  FROM source_state\n)\nSELECT\n  distinct_npi,\n  source_state_row_sum,\n  source_state_row_sum - distinct_npi AS cross_state_excess\nFROM totals;\n\n-- audit-claim: compromised-layer-vector\n-- Both sources carry zero NPI (CIA = entity-name keyed; CMP = CCN keyed).\nSELECT 'oig-cia' AS source,\n       count(*) FILTER (WHERE closed_date IS NULL OR closed_date > DATE '2026-07-14') AS active,\n       count(DISTINCT entity_name) AS distinct_entities,\n       count(*) FILTER (WHERE nullif(btrim(npi),'') IS NOT NULL) AS with_npi\nFROM public.oig_cia_agreements\nUNION ALL\nSELECT 'cms-cmp',\n       count(*) AS active,\n       count(DISTINCT ccn) AS distinct_entities,\n       count(*) FILTER (WHERE nullif(btrim(npi),'') IS NOT NULL) AS with_npi\nFROM public.cms_civil_money_penalties;\n--  oig-cia   127 active agreements |   333 entities | 0 with NPI\n--  cms-cmp  16,277 penalties       | 6,884 facilities | 0 with NPI\n\n-- Source-universe totals are separate from the NPI-matchable universe. SAM is\n-- counted with the same Active + termination-window semantics used above;\n-- 167,582 is only the missing-exclusion-date subset, not the SAM universe.\n-- audit-claim: raw-source-totals\nSELECT 'oig-leie' AS source, count(*) AS records\nFROM public.oig_leie_exclusions\nUNION ALL\nSELECT 'sam-gov-active', count(*) FILTER (\n  WHERE status = 'Active'\n    AND (termination_date IS NULL OR termination_date > DATE '2026-07-14')\n)\nFROM public.sam_exclusions\nUNION ALL\nSELECT 'state-medicaid', count(*)\nFROM public.state_exclusions\nORDER BY source;",
  "license": "U.S. Government Works (federal sources; 17 U.S.C. §105)",
  "generated_by": "Fonteum — https://fonteum.com",
  "notes": "Aggregate, source-traced figures frozen to the snapshot above. Reproduce by running reproducible_sql against the cited federal dataset; no per-entity records are included."
}
