Skip to content
FonteumThe Graph

By use case

Exclusion & monitoring (self-serve)Free roster screen — no accountExclusion & sanctions screeningCredentialing & provider-data enrichmentAudit evidence & defensible programsProvider data for AI / RAGM&A & network diligence

By buyer

Compliance & riskDevelopers & AI teams

By industry

HealthcareProviders & facilitiesFederal contractingSAM · USASpending · FAPIIS

The capability layer

APIREST + bulk accessMCP serverCallable by AI agentsFHIR R4 APIBulk exportAttestation & audit packReconciliationSource-vs-source diffsEntity graphSnapshotsPoint-in-time, bitemporal

The differentiator

Coverage & sourcesThe catalogFreshnessMethodologyCare CompareFacility qualityBrowse all datasets →
Research

The dev on-ramp

DocsAPI referenceMCP — connect your agentOne-paste installFHIR sandboxLive API surfaceQuickstartStatusChangelogSDKs & integrations
Pricing
Sign inFree roster screen →Get a signed certificate →

Solutions

Exclusion & monitoring (self-serve)Exclusion & sanctions screeningCredentialing & provider-data enrichmentAudit evidence & defensible programsProvider data for AI / RAGM&A & network diligenceCompliance & riskDevelopers & AI teamsHealthcareFederal contracting

Platform

APIMCP serverFHIR R4 APIBulk exportAttestation & audit packReconciliationEntity graphSnapshots

Data

Coverage & sourcesFreshnessMethodologyCare CompareBrowse all datasets →
Research

Developers

DocsAPI referenceMCP — connect your agentFHIR sandboxQuickstartStatusChangelogSDKs & integrations
Pricing
Sign inFree roster screen →Get a signed certificate →
  1. All studies
  2. /Barred, but still listed: excluded providers stay active in the provider directory
FINANCIAL DISTRESS · ISSUE 088
oig-leieOriginal Research

Barred, but still listed: excluded providers stay active in the provider directory

Of 6,150 providers barred from federal health programs by the OIG who appear in NPPES — the national provider identity registry — 6,123 (99.6%) are still listed as active. NPPES does not deactivate a National Provider Identifier when its holder is excluded, so the directory most credentialing checks resolve against shows them as ordinary.

BY FONTEUM RESEARCH BUREAU · JUNE 20, 2026 · 10 MIN READ · ASSERTED VIA SLSA L2REVIEWED BY DR. JENNIFER MONTECILLO, MDSNAPSHOT 2026-06-20 · DOI 10.5072/fonteum/excluded-providers-active-in-nppes-2026 · LAST UPDATED JUNE 20, 2026
OIG LEIE · 2026-06-20
Reviewed by Dr. Jennifer Montecillo, MD, non-practicing medical reviewer. Gullas College of Medicine, 2019. Non-practicing medical reviewer focused on source interpretation, terminology, and limitations language. About our reviewers →
Reproduce this study →
What a federal exclusion looks like inside the national provider directoryoig-leie · 2026-06
In-force exclusions (NPI)
6880
Found in NPPES
6150
Still active in NPPES
6123
Built on OIG LEIE · snapshot 2026-06-20 · reproducible · re-derive the figures yourself
Key findings
6,123
of 6,150 OIG-excluded providers who can be found in NPPES — 99.6% — are still listed as active in the national provider identity registry, matched on NPI and never on a name
nppes · CMS
89.0%
of all 6,880 in-force NPI-identified federal exclusions still hold an active NPPES record; only 27 of those found in NPPES (0.4%) carry an NPI deactivation
oig-leie · CMS
3,530
have been excluded for five years or more and are still active in NPPES — too long to be a refresh-cycle lag; 1,890 have stood for ten years or more
oig-leie · CMS
27
of the 6,150 excluded providers in NPPES carry an NPI deactivation flag — NPPES treats identity and exclusion as unrelated, and an NPI is permanent
nppes · CMS
On this page
The number, in one lineIdentity is not enrollmentThey have been barred for yearsThe most serious bases are the largestWho they are, and whereWhat this means for screeningMethodologyLimitationsSources

The National Provider Identifier is the closest thing US healthcare has to a universal key for a provider. Almost every claim, credentialing file, electronic health record, and directory entry carries one, and almost every one of them is resolved against NPPES — the federal registry that issues NPIs and records whether each is active. The OIG List of Excluded Individuals and Entities is the federal registry of who has been barred from Medicare, Medicaid, and every other federal health program. The two registries are run by the same department. They do not talk to each other.

This study measures what that disconnect produces. It joins the in-force federal exclusion list to NPPES on the NPI and asks one question: of the providers the OIG has barred, how many are still listed as active in the national provider directory? The answer is nearly all of them — and unlike the Medicare billing system, which we found correctly drops all but a handful of barred-but-billable providers, the identity directory keeps essentially every one.

The number, in one line

Of the 6,150 in-force NPI-identified federal OIG exclusions that appear in NPPES at all, 6,123 — 99.6% — are still listed as active. Only 27 carry an NPI deactivation. Across the full set of 6,880 in-force NPI-identified exclusions, 6,123 (89.0%) hold an active NPPES record and 730 are absent from NPPES entirely.

Step from exclusion list to provider directoryProvidersShare
In-force federal OIG exclusions carrying an NPI6,880—
…found in NPPES6,15089.4% of 6,880
…still listed active in NPPES6,12399.6% of those found
…carrying an NPI deactivation in NPPES270.4% of those found
…absent from NPPES entirely73010.6% of 6,880

An NPI is permanent. An exclusion is a bar. The national provider directory keeps the first and never records the second — so 6,123 barred providers read as active.

That 99.6% is not a screening failure inside NPPES; it is what NPPES is built to do. An NPI is assigned once and effectively never reused, and NPPES deactivates it only for death, duplicate enumeration, or the provider's own request. There is no field, flag, or process by which a federal exclusion deactivates an NPI. The directory is doing its job — the mistake is asking it a question it was never designed to answer.

Identity is not enrollment

The contrast with the Medicare billing system is the sharpest way to see the gap. Medicare enrollment lives in PECOS, which gates who may bill, order, and refer; it screens against the exclusion list, and it works — we found only 19 excluded providers still holding an active Medicare enrollment record, and only 170 still cleared to order or refer. The same exclusion list, joined to the same providers, produces 19 hits against the billing gate and 6,123 against the identity directory.

The difference is function. PECOS is a gate — it decides eligibility, so it has to consult the exclusion list. NPPES is a registry — it records identity, so it does not. Any system that treats "active in NPPES" as a proxy for "in good standing" inherits the registry's blindness: it is reading an identity record as if it were an eligibility record.

They have been barred for years

If this were a timing artifact — exclusions entered just before a directory refresh — the still-active set would skew heavily toward recent bars. It does the opposite.

Years since exclusion (still active in NPPES)ProvidersShare of 6,123
Under 1 year4667.6%
1 to 4 years2,12734.7%
5 to 9 years1,64026.8%
10 to 19 years1,86430.4%
20 years or more260.4%
5 years or more3,53057.7%

More than half — 3,530 — have been excluded for five years or more and are still active; 1,890 for ten years or more. A bar that has coexisted with an active NPI listing for a decade is not a refresh-cycle lag. It is the steady-state behaviour of two registries that never reconcile, the same kind of cadence mismatch we measured between a triggering event and CMS deactivation in the deactivation-lag study.

The most serious bases are the largest

The still-active set is not dominated by administrative terminations. The single largest basis is the most serious one — a program-related criminal conviction.

Statutory basis of exclusion (SSA §1128)Active in NPPES
§1128(a)(1) — program-related conviction2,434
§1128(b)(4) — state license revocation, suspension, or surrender1,783
§1128(a)(4) — felony controlled-substance conviction704
§1128(a)(3) — felony health-care-fraud conviction500
§1128(a)(2) — patient-abuse-or-neglect conviction295
§1128(b)(14) — default on a health-education loan obligation129
All other §1128 bases (12 codes)278
Total6,123

The four mandatory §1128(a) conviction bases together account for 3,933 of the 6,123 — nearly two in three. These are the exclusions an organization most needs a screen to catch, and they are exactly the ones an NPPES-only check waves through.

Who they are, and where

The still-active providers are overwhelmingly clinicians, not back-office entities: by NPPES entity type, 5,866 are individuals and 257 are organizations.

Provider category (OIG general description)Active in NPPES
Licensed health-care service provider (individual)2,650
Physician (MD, DO)2,080
Business owner or executive335
Employee — private sector194
Medical practice (entity)192
Other business176
Individual (unaffiliated)99
Nursing profession61
Chiropractic practice60
Dental practice34

The geography tracks population and exclusion volume rather than any one state's practice, with no single state driving the count.

State of the excluded partyActive in NPPES
California772
Florida556
Ohio489
New York460
Texas389
Pennsylvania296
Michigan181
Illinois155
West Virginia152
New Jersey149
All other states / territories2,524
Total6,123
The state is the excluded party's address on the OIG record, not a place of current practice. A smaller state such as West Virginia can rank above its population share because a localized run of exclusions lifts its count more easily than a large state's; the per-state figures are descriptive of these records, not a per-capita rate, and should be read as illustrative.

What this means for screening

The operational lesson is narrow and blunt: an active NPPES record is not an exclusion clearance. Confirming that a provider's NPI is live in the national directory — a check built into countless onboarding and directory workflows — tells you nothing about whether that provider is barred from federal programs. 6,123 barred providers pass that exact check today.

A complete process screens the OIG LEIE and the applicable state Medicaid exclusion lists, on hire and on an ongoing basis, because employing or contracting an excluded party in a federally billable role carries civil-monetary-penalty exposure under a knew-or-should-have-known standard. Fonteum exposes the exclusion layers behind a single NPI lookup — the federal OIG LEIE and the state Medicaid exclusion lists — so a "barred anywhere on the lists we hold" answer does not depend on which registry a screener happened to open. You can run a single NPI against the OIG exclusion search, screen a provider against the federal and state lists at /screening, or, to screen an entire roster at once against every list Fonteum holds, request a free roster screen. It is a screening aid: re-confirm any match against the primary source before acting, and read the absence of a match as "nothing in the lists Fonteum currently holds," never as a guarantee that none exists.

Methodology

Every figure is a direct join between two public, read-only Postgres tables: oig_leie_exclusions (the OIG monthly LEIE bulk download, release 2026-05-08, 68,055 active records, 7,025 with an NPI) and nppes_providers (the CMS NPPES snapshot — the National Plan and Provider Enumeration System, 9,034,519 records, one row per NPI). The join key is the 10-digit NPI, trimmed of whitespace; a name is never used to assert a match, and the OIG sentinel value 0000000000 is excluded.

A LEIE record is treated as in force when its reinstatement date is null or still in the future relative to the publish date — the same test the production exclusion lookup applies; the OIG file drops reinstated parties, so every in-force NPI is a standing bar. A provider is "active in NPPES" when npi_deactivation_date is null. The matchable denominator is the set of distinct, in-force, NPI-identified federal exclusions (6,880); records with no NPI are excluded from it and reported separately. The breakdown cuts pick one LEIE row per NPI by most-recent exclusion date so each provider is counted once. The exact SQL is in the reproducibility block below, and the provenance methodology documents the source-provenance contract. Methodology version: nppes-exclusion/v1.

Limitations

  • NPI is the floor, not the ceiling. Only 10.3% of LEIE records carry an NPI; the 89.6% that do not are unmatchable to NPPES by identifier and are excluded from every figure here, never matched by name. The study describes the NPI-identified federal exclusion set only — the exclusion-list anatomy study covers the composition of the full list.
  • NPPES activity is identity, not eligibility. "Active in NPPES" means the NPI has not been deactivated; it is not a claim that the provider is currently practising, billing, or enrolled in any program. This study deliberately separates the identity registry from the Medicare billing gate — see the barred-but-billable cut for the enrollment side.
  • Snapshot, not real time. Both lists are point-in-time: the LEIE reflects the 2026-05-08 release and NPPES its current monthly snapshot. A reinstatement or a deactivation in transit between snapshots can move an individual record, though the aggregate is stable because no mechanism links the two systems.
  • State is an address, not a practice location. The per-state figures use the excluded party's address on the OIG record, which may differ from any current practice location, and small clusters from a single enforcement wave can lift a state's count.
  • A compliance signal, aggregate-only. An exclusion-list entry is an administrative and screening fact, never a measure of care quality and never a wrongdoing finding this study makes about any provider. No individual excluded party is named, surfaced, or attached to any provider profile anywhere in this study.

Sources

  • NPPES — NPI Registry and downloadable data — the national provider identity registry and the directory side of the join.
  • OIG LEIE — online database and monthly downloads — the federal exclusion list and the bar side of the join.
  • OIG — effect of an exclusion (screening duty, civil monetary penalties) — the obligation to screen all applicable lists and the knew-or-should-have-known penalty standard.
  • CMS — National Plan and Provider Enumeration System (NPPES) — the NPI standard and the rules under which an NPI is deactivated.
  • Fonteum — federal OIG LEIE data and state Medicaid exclusion data — the consolidated exclusion layers behind a single NPI lookup.
  • 42 U.S.C. § 1320a-7 (Social Security Act § 1128) — the federal exclusion statute and the §1128(a)/(b) bases tabulated above.

Frequently asked questions

What does this study actually measure?
It measures how many providers the OIG has excluded from all federal health programs are still listed as active in NPPES — the National Plan and Provider Enumeration System, the federal registry of National Provider Identifiers. Of the 6,150 in-force NPI-identified federal exclusions that appear in NPPES at all, 6,123 (99.6%) carry no NPI deactivation, so the national provider directory shows them as active. The match is made on the 10-digit NPI only, never on a name.
Doesn't an exclusion remove a provider from NPPES?
No. NPPES is an identity registry, not a sanctions registry. An NPI is a permanent identifier assigned once and effectively never reused; NPPES deactivates an NPI on death, duplicate enumeration, or a provider's own request — not because the OIG has excluded the holder. The two federal systems are not wired together, so an exclusion leaves no mark in NPPES. That is the finding: the directory of record for provider identity has no concept of exclusion.
Is being active in NPPES the same as being able to bill Medicare?
No, and the distinction is the point. NPPES is provider identity; Medicare billing eligibility lives in PECOS, the enrollment system. PECOS gates who may bill, order, and refer, and it correctly drops almost every excluded provider — we measured only 19 still enrolled in a separate study. NPPES gates nothing. But NPPES is the registry that credentialing teams, payers, clearinghouses, EHRs, and provider-directory products resolve an NPI against, so a check that confirms only that an NPI is active in NPPES can clear a barred provider.
Could this just be a data-lag artifact?
Lag cannot explain it. An NPI deactivation in NPPES is not the mechanism by which an exclusion is recorded — there is no mechanism — so the figure does not converge toward zero as snapshots refresh. The vintage breakdown confirms it directly: 3,530 of the still-active providers (57.7%) were excluded five years or more ago, and 1,890 ten years or more ago. These are standing bars that have coexisted with an active NPI listing for years.
Are these serious exclusions or administrative ones?
Both, weighted toward the serious. Among the 6,123 still-active providers, 2,434 sit on a §1128(a)(1) program-related criminal conviction and another 1,499 on other mandatory §1128(a) conviction bases (patient abuse or neglect, health-care-fraud felonies, controlled-substance felonies). 1,783 rest on §1128(b)(4) state license actions. The most serious, conviction-based category is the single largest, not a long tail of paperwork terminations.
Does this name or accuse any individual provider?
No. Every figure is an aggregate count. No individual or organization is named, surfaced, or labelled a wrongdoer anywhere in this study, and an exclusion-list entry is an administrative fact, never a finding of guilt that this study makes. The study reports how two federal lists do and do not agree, in totals only. Anyone screening a specific provider should confirm a match directly against the OIG LEIE and the provider's own NPPES record before acting.
What should a screening or credentialing process take from this?
That an active NPPES record is not an exclusion clearance. Confirming a provider's NPI is active in the national directory says nothing about whether that provider is barred from federal programs — 6,123 barred providers pass that exact check. A complete process screens the OIG LEIE and the applicable state Medicaid exclusion lists on hire and on an ongoing basis, because employing or contracting an excluded party in a federally billable role carries civil-monetary-penalty exposure under a knew-or-should-have-known standard.
Can I reproduce these numbers?
Yes. Every figure is a direct NPI join between two public, read-only tables — oig_leie_exclusions (the OIG monthly LEIE bulk download, release 2026-05-08) and nppes_providers (the CMS NPPES snapshot). The exact SQL is published in the reproducibility block below; each count resolves to specific rows in specific frozen snapshots, NPPES carries one row per NPI so the join never multiplies, and no match is ever inferred from a name.

Who uses this data

The source data behind this study is public

Compliance teams, journalists, and researchers work from the same federal source families cited above — queried by NPI or facility identifier through Fonteum’s open dataset pages and API. Every figure traces to a frozen, downloadable snapshot you can reproduce yourself.

Browse OIG LEIE→Query the API →How we built this →

Datasets used

OIG LEIE→NPPES→

Reproducibility

Every claim, reproducible

The SQL+
excluded-providers-active-in-nppes-2026.sql
-- Barred, but still listed: excluded providers stay active in the national
-- provider directory — fully reproducible query.
--
-- Question: of the providers the OIG has EXCLUDED from all federal health
-- programs (by NPI), how many are still listed as ACTIVE in NPPES — the
-- national provider identity registry that credentialing, claims, EHR, and
-- directory checks resolve a provider against? NPPES is an identity registry,
-- not a sanctions registry: it does not deactivate an NPI when its holder is
-- excluded, so a check that only confirms an NPI is "active in NPPES" can
-- clear a barred provider.
--
-- This is the IDENTITY-registry cut. It is distinct from the Medicare
-- BILLING-enrollment cut (excluded-providers-still-enrolled-2026, LEIE x PECOS)
-- and the ORDER/REFER-eligibility cut (excluded-providers-ordering-referring-2026):
-- PECOS gates who may bill/order and correctly drops nearly all excluded
-- providers; NPPES gates nothing — it is the directory of record for provider
-- identity, and it keeps them.
--
-- Sources (all public, read-only):
--   public.oig_leie_exclusions — OIG List of Excluded Individuals and Entities,
--                                federal monthly bulk download, release
--                                2026-05-08 (latest exclusion 2026-05-20),
--                                68,055 active records (7,025 carry an NPI).
--   public.nppes_providers     — CMS NPPES, the National Plan & Provider
--                                Enumeration System (the NPI registry),
--                                9,034,519 records, single monthly snapshot.
--                                npi_deactivation_date IS NULL => the NPI is
--                                active in NPPES.
--
-- Join key: NPI only (10-digit, btrim). We NEVER match on name — a name match
-- is not a defensible identity assertion, so LEIE rows with no NPI are excluded
-- from the matchable denominator and reported separately.
--
-- "In force" mirrors the production exclusion lookup (src/lib/exclusions):
--   LEIE in force = reinstatement_date IS NULL OR reinstatement_date > today.
-- The OIG file drops reinstated parties, so every in-force NPI is a standing
-- federal bar. Date basis: current_date (2026-06-20 at publish).
-- nppes_providers carries one NPI per row (0 duplicate-NPI rows), so the join
-- never multiplies. Methodology version: nppes-exclusion/v1.
--
-- Every headline figure in the study resolves to one of the rows below.

-- ── HEADLINE: excluded providers still active in the NPI registry ───────────
WITH leie_inforce AS (             -- distinct in-force, NPI-identified federal OIG exclusions
  SELECT DISTINCT nullif(btrim(npi), '') AS npi
  FROM public.oig_leie_exclusions
  WHERE nullif(btrim(npi), '') IS NOT NULL
    AND length(nullif(btrim(npi), '')) = 10
    AND nullif(btrim(npi), '') <> '0000000000'
    AND (reinstatement_date IS NULL OR reinstatement_date > current_date)
)
SELECT
  count(*)                                                                            AS leie_inforce_npi, -- 6,880
  count(n.npi)                                                                        AS found_in_nppes,   -- 6,150
  count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NULL)       AS active_in_nppes,  -- 6,123 (HEADLINE)
  count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NOT NULL)   AS deactivated,      -- 27
  count(*) FILTER (WHERE n.npi IS NULL)                                               AS not_in_nppes,     -- 730
  round(100.0 * count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NULL)
        / nullif(count(n.npi), 0), 1)                                                 AS pct_active_of_found, -- 99.6
  round(100.0 * count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NULL)
        / count(*), 1)                                                                AS pct_active_of_all   -- 89.0
FROM leie_inforce l
LEFT JOIN public.nppes_providers n ON n.npi = l.npi;
--  leie_inforce_npi  found_in_nppes  active_in_nppes  deactivated  not_in_nppes  pct_active_of_found  pct_active_of_all
--       6,880            6,150           6,123            27           730             99.6                89.0
--  => Of the 6,150 OIG-excluded providers who exist in NPPES, 6,123 (99.6%) are still listed ACTIVE.
--  => Across all 6,880 NPI-identified in-force exclusions, 6,123 (89.0%) hold an active NPPES record;
--     only 27 (0.4% of those found) carry an NPI deactivation. 730 are absent from NPPES entirely.

-- ── One deterministic row per excluded NPI (for the breakdown cuts below) ────
-- All breakdown tables operate on the ACTIVE-in-NPPES set (6,123). We pick one
-- LEIE row per NPI by most-recent exclusion date so each provider is counted once.
-- Reusable CTE (re-stated inline in each query below for copy-paste reproducibility):
--   WITH leie AS (
--     SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi,
--            excl_date, exclusion_type, state, general_desc
--     FROM public.oig_leie_exclusions
--     WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10
--       AND nullif(btrim(npi),'') <> '0000000000'
--       AND (reinstatement_date IS NULL OR reinstatement_date > current_date)
--     ORDER BY 1, excl_date DESC
--   ),
--   active AS (
--     SELECT l.* FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi
--     WHERE n.npi_deactivation_date IS NULL          -- 6,123 rows
--   )

-- ── How long they have been excluded yet stayed active in NPPES ─────────────
WITH leie AS (
  SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date
  FROM public.oig_leie_exclusions
  WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10
    AND nullif(btrim(npi),'') <> '0000000000'
    AND (reinstatement_date IS NULL OR reinstatement_date > current_date)
  ORDER BY 1, excl_date DESC
),
active AS (
  SELECT l.npi, date_part('year', age(current_date, l.excl_date)) AS yrs
  FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi
  WHERE n.npi_deactivation_date IS NULL
)
SELECT
  count(*) FILTER (WHERE yrs < 1)                AS under_1yr,   -- 466
  count(*) FILTER (WHERE yrs >= 1 AND yrs < 5)   AS y1_4,        -- 2,127
  count(*) FILTER (WHERE yrs >= 5 AND yrs < 10)  AS y5_9,        -- 1,640
  count(*) FILTER (WHERE yrs >= 10 AND yrs < 20) AS y10_19,      -- 1,864
  count(*) FILTER (WHERE yrs >= 20)              AS y20_plus,    -- 26
  count(*) FILTER (WHERE yrs >= 5)               AS y5_plus,     -- 3,530 (57.7%)
  count(*) FILTER (WHERE yrs >= 10)              AS y10_plus,    -- 1,890 (30.9%)
  count(*)                                       AS total        -- 6,123
FROM active;
--  466 excluded <1yr · 2,127 1-4yr · 1,640 5-9yr · 1,864 10-19yr · 26 20yr+  (sum = 6,123)
--  => 3,530 (57.7%) have been excluded 5+ years and are still active in NPPES; 1,890 (30.9%) 10+ years.

-- ── By statutory basis of exclusion (SSA §1128 / 42 U.S.C. §1320a-7) ────────
WITH leie AS (
  SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date, exclusion_type
  FROM public.oig_leie_exclusions
  WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10
    AND nullif(btrim(npi),'') <> '0000000000'
    AND (reinstatement_date IS NULL OR reinstatement_date > current_date)
  ORDER BY 1, excl_date DESC
)
SELECT l.exclusion_type, count(*) AS active_in_nppes
FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi
WHERE n.npi_deactivation_date IS NULL
GROUP BY l.exclusion_type ORDER BY count(*) DESC;
--  1128a1 (program-related conviction)      2,434
--  1128b4 (license revoke/suspend/surrender)1,783
--  1128a4 (felony controlled-substance)       704
--  1128a3 (felony health-care fraud)          500
--  1128a2 (patient abuse/neglect conviction)  295
--  1128b14 (default on HEAL loan obligation)  129
--  all other §1128 bases (12 codes)           278     (sum = 6,123)

-- ── By provider category (LEIE general_desc, top categories) ────────────────
WITH leie AS (
  SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date,
         general_desc
  FROM public.oig_leie_exclusions
  WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10
    AND nullif(btrim(npi),'') <> '0000000000'
    AND (reinstatement_date IS NULL OR reinstatement_date > current_date)
  ORDER BY 1, excl_date DESC
)
SELECT l.general_desc, count(*) AS active_in_nppes
FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi
WHERE n.npi_deactivation_date IS NULL
GROUP BY l.general_desc ORDER BY count(*) DESC LIMIT 10;
--  IND- LIC HC SERV PRO 2,650 · PHYSICIAN (MD, DO) 2,080 · BUS OWNER/EXEC 335 ·
--  EMPLOYEE - PRIVATE S 194 · MEDICAL PRACTICE, MD 192 · OTHER BUSINESS 176 ·
--  INDIVIDUAL (UNAFFILI 99 · NURSING PROFESSION 61 · CHIROPRACTIC PRACT 60 · DENTAL PRACTICE 34.
--  Entity split (NPPES entity_type_code): 5,866 individuals · 257 organizations  (sum = 6,123).

-- ── By state of the excluded party (LEIE state) ─────────────────────────────
WITH leie AS (
  SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date, state
  FROM public.oig_leie_exclusions
  WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10
    AND nullif(btrim(npi),'') <> '0000000000'
    AND (reinstatement_date IS NULL OR reinstatement_date > current_date)
  ORDER BY 1, excl_date DESC
)
SELECT l.state, count(*) AS active_in_nppes
FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi
WHERE n.npi_deactivation_date IS NULL
GROUP BY l.state ORDER BY count(*) DESC LIMIT 12;
--  CA 772 · FL 556 · OH 489 · NY 460 · TX 389 · PA 296 · MI 181 · IL 155 ·
--  WV 152 · NJ 149 · NV 144 · KY 135.  Top 12 = 3,878; all other states = 2,245  (total 6,123).
The snapshot+
dataset_idoig-leie
snapshot_date2026-06-20
doi10.5072/fonteum/excluded-providers-active-in-nppes-2026
The JOINs+
join key: oig_leie_exclusions.npi = nppes_providers.npi  -- 10-digit NPI, btrim, never a name match
LEIE in_force = reinstatement_date IS NULL OR reinstatement_date > current_date
active in NPPES = nppes_providers.npi_deactivation_date IS NULL
matchable = distinct in-force LEIE NPI (10-digit, non-sentinel)  -- 6,880
found_in_nppes = matchable NPI present in nppes_providers  -- 6,150 (nppes carries 0 duplicate-NPI rows)
active_in_nppes = found_in_nppes with npi_deactivation_date IS NULL  -- 6,123 = 99.6% of found, 89.0% of matchable
deactivated = 27; not_in_nppes = 730; rows with no NPI excluded and reported separately
The pipeline version+
methodology_versionnppes-exclusion/v1

Reproduce this

Run the exact query against the frozen 2026-06-20.

-- Barred, but still listed: excluded providers stay active in the national -- provider directory — fully reproducible query. -- -- Question: of the providers the OIG has EXCLUDED from all federal health -- programs (by NPI), how many are still listed as ACTIVE in NPPES — the -- national provider identity registry that credentialing, claims, EHR, and -- directory checks resolve a provider against? NPPES is an identity registry, -- not a sanctions registry: it does not deactivate an NPI when its holder is -- excluded, so a check that only confirms an NPI is "active in NPPES" can -- clear a barred provider. -- -- This is the IDENTITY-registry cut. It is distinct from the Medicare -- BILLING-enrollment cut (excluded-providers-still-enrolled-2026, LEIE x PECOS) -- and the ORDER/REFER-eligibility cut (excluded-providers-ordering-referring-2026): -- PECOS gates who may bill/order and correctly drops nearly all excluded -- providers; NPPES gates nothing — it is the directory of record for provider -- identity, and it keeps them. -- -- Sources (all public, read-only): -- public.oig_leie_exclusions — OIG List of Excluded Individuals and Entities, -- federal monthly bulk download, release -- 2026-05-08 (latest exclusion 2026-05-20), -- 68,055 active records (7,025 carry an NPI). -- public.nppes_providers — CMS NPPES, the National Plan & Provider -- Enumeration System (the NPI registry), -- 9,034,519 records, single monthly snapshot. -- npi_deactivation_date IS NULL => the NPI is -- active in NPPES. -- -- Join key: NPI only (10-digit, btrim). We NEVER match on name — a name match -- is not a defensible identity assertion, so LEIE rows with no NPI are excluded -- from the matchable denominator and reported separately. -- -- "In force" mirrors the production exclusion lookup (src/lib/exclusions): -- LEIE in force = reinstatement_date IS NULL OR reinstatement_date > today. -- The OIG file drops reinstated parties, so every in-force NPI is a standing -- federal bar. Date basis: current_date (2026-06-20 at publish). -- nppes_providers carries one NPI per row (0 duplicate-NPI rows), so the join -- never multiplies. Methodology version: nppes-exclusion/v1. -- -- Every headline figure in the study resolves to one of the rows below. -- ── HEADLINE: excluded providers still active in the NPI registry ─────────── WITH leie_inforce AS ( -- distinct in-force, NPI-identified federal OIG exclusions SELECT DISTINCT nullif(btrim(npi), '') AS npi FROM public.oig_leie_exclusions WHERE nullif(btrim(npi), '') IS NOT NULL AND length(nullif(btrim(npi), '')) = 10 AND nullif(btrim(npi), '') <> '0000000000' AND (reinstatement_date IS NULL OR reinstatement_date > current_date) ) SELECT count(*) AS leie_inforce_npi, -- 6,880 count(n.npi) AS found_in_nppes, -- 6,150 count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NULL) AS active_in_nppes, -- 6,123 (HEADLINE) count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NOT NULL) AS deactivated, -- 27 count(*) FILTER (WHERE n.npi IS NULL) AS not_in_nppes, -- 730 round(100.0 * count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NULL) / nullif(count(n.npi), 0), 1) AS pct_active_of_found, -- 99.6 round(100.0 * count(*) FILTER (WHERE n.npi IS NOT NULL AND n.npi_deactivation_date IS NULL) / count(*), 1) AS pct_active_of_all -- 89.0 FROM leie_inforce l LEFT JOIN public.nppes_providers n ON n.npi = l.npi; -- leie_inforce_npi found_in_nppes active_in_nppes deactivated not_in_nppes pct_active_of_found pct_active_of_all -- 6,880 6,150 6,123 27 730 99.6 89.0 -- => Of the 6,150 OIG-excluded providers who exist in NPPES, 6,123 (99.6%) are still listed ACTIVE. -- => Across all 6,880 NPI-identified in-force exclusions, 6,123 (89.0%) hold an active NPPES record; -- only 27 (0.4% of those found) carry an NPI deactivation. 730 are absent from NPPES entirely. -- ── One deterministic row per excluded NPI (for the breakdown cuts below) ──── -- All breakdown tables operate on the ACTIVE-in-NPPES set (6,123). We pick one -- LEIE row per NPI by most-recent exclusion date so each provider is counted once. -- Reusable CTE (re-stated inline in each query below for copy-paste reproducibility): -- WITH leie AS ( -- SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, -- excl_date, exclusion_type, state, general_desc -- FROM public.oig_leie_exclusions -- WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10 -- AND nullif(btrim(npi),'') <> '0000000000' -- AND (reinstatement_date IS NULL OR reinstatement_date > current_date) -- ORDER BY 1, excl_date DESC -- ), -- active AS ( -- SELECT l.* FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi -- WHERE n.npi_deactivation_date IS NULL -- 6,123 rows -- ) -- ── How long they have been excluded yet stayed active in NPPES ───────────── WITH leie AS ( SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date FROM public.oig_leie_exclusions WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10 AND nullif(btrim(npi),'') <> '0000000000' AND (reinstatement_date IS NULL OR reinstatement_date > current_date) ORDER BY 1, excl_date DESC ), active AS ( SELECT l.npi, date_part('year', age(current_date, l.excl_date)) AS yrs FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi WHERE n.npi_deactivation_date IS NULL ) SELECT count(*) FILTER (WHERE yrs < 1) AS under_1yr, -- 466 count(*) FILTER (WHERE yrs >= 1 AND yrs < 5) AS y1_4, -- 2,127 count(*) FILTER (WHERE yrs >= 5 AND yrs < 10) AS y5_9, -- 1,640 count(*) FILTER (WHERE yrs >= 10 AND yrs < 20) AS y10_19, -- 1,864 count(*) FILTER (WHERE yrs >= 20) AS y20_plus, -- 26 count(*) FILTER (WHERE yrs >= 5) AS y5_plus, -- 3,530 (57.7%) count(*) FILTER (WHERE yrs >= 10) AS y10_plus, -- 1,890 (30.9%) count(*) AS total -- 6,123 FROM active; -- 466 excluded <1yr · 2,127 1-4yr · 1,640 5-9yr · 1,864 10-19yr · 26 20yr+ (sum = 6,123) -- => 3,530 (57.7%) have been excluded 5+ years and are still active in NPPES; 1,890 (30.9%) 10+ years. -- ── By statutory basis of exclusion (SSA §1128 / 42 U.S.C. §1320a-7) ──────── WITH leie AS ( SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date, exclusion_type FROM public.oig_leie_exclusions WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10 AND nullif(btrim(npi),'') <> '0000000000' AND (reinstatement_date IS NULL OR reinstatement_date > current_date) ORDER BY 1, excl_date DESC ) SELECT l.exclusion_type, count(*) AS active_in_nppes FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi WHERE n.npi_deactivation_date IS NULL GROUP BY l.exclusion_type ORDER BY count(*) DESC; -- 1128a1 (program-related conviction) 2,434 -- 1128b4 (license revoke/suspend/surrender)1,783 -- 1128a4 (felony controlled-substance) 704 -- 1128a3 (felony health-care fraud) 500 -- 1128a2 (patient abuse/neglect conviction) 295 -- 1128b14 (default on HEAL loan obligation) 129 -- all other §1128 bases (12 codes) 278 (sum = 6,123) -- ── By provider category (LEIE general_desc, top categories) ──────────────── WITH leie AS ( SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date, general_desc FROM public.oig_leie_exclusions WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10 AND nullif(btrim(npi),'') <> '0000000000' AND (reinstatement_date IS NULL OR reinstatement_date > current_date) ORDER BY 1, excl_date DESC ) SELECT l.general_desc, count(*) AS active_in_nppes FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi WHERE n.npi_deactivation_date IS NULL GROUP BY l.general_desc ORDER BY count(*) DESC LIMIT 10; -- IND- LIC HC SERV PRO 2,650 · PHYSICIAN (MD, DO) 2,080 · BUS OWNER/EXEC 335 · -- EMPLOYEE - PRIVATE S 194 · MEDICAL PRACTICE, MD 192 · OTHER BUSINESS 176 · -- INDIVIDUAL (UNAFFILI 99 · NURSING PROFESSION 61 · CHIROPRACTIC PRACT 60 · DENTAL PRACTICE 34. -- Entity split (NPPES entity_type_code): 5,866 individuals · 257 organizations (sum = 6,123). -- ── By state of the excluded party (LEIE state) ───────────────────────────── WITH leie AS ( SELECT DISTINCT ON (nullif(btrim(npi),'')) nullif(btrim(npi),'') AS npi, excl_date, state FROM public.oig_leie_exclusions WHERE nullif(btrim(npi),'') IS NOT NULL AND length(nullif(btrim(npi),''))=10 AND nullif(btrim(npi),'') <> '0000000000' AND (reinstatement_date IS NULL OR reinstatement_date > current_date) ORDER BY 1, excl_date DESC ) SELECT l.state, count(*) AS active_in_nppes FROM leie l JOIN public.nppes_providers n ON n.npi = l.npi WHERE n.npi_deactivation_date IS NULL GROUP BY l.state ORDER BY count(*) DESC LIMIT 12; -- CA 772 · FL 556 · OH 489 · NY 460 · TX 389 · PA 296 · MI 181 · IL 155 · -- WV 152 · NJ 149 · NV 144 · KY 135. Top 12 = 3,878; all other states = 2,245 (total 6,123).

Download the data: SQL · JSON · CSV

Cite this study

Citation-ready for researchers and AI.

Fonteum Research Bureau (2026). Barred, but still listed: excluded providers stay active in the provider directory. OIG LEIE, snapshot 2026-06-20. https://fonteum.com/research/excluded-providers-active-in-nppes-2026

Check the chain

Each figure is snapshot-attested — re-derive the hash from the federal file.

1
Snapshot
oig-leie · 2026-06-20
2
Field hash
SHA-256 a3f1c9…7e6b
3
Signed
Ed25519 · verifiable
✓ Chain signed · check it in Attest →

Related studies

  • FINANCIAL DISTRESS · JUN 2026Barred but billable: excluded providers still enrolled in Medicare19 providers barred from all federal health programs by the OIG still hold an active Medicare enrollment record in PECOS — out of 6,880 in-force NPI-identified federal exclusions. Most trace to a single refresh cycle's lag, but two have stood for over a year, one excluded since 2015.
  • FINANCIAL DISTRESS · JUN 2026Barred but order-eligible: excluded providers still cleared to order and refer in Medicare170 of 2,008,019 providers cleared to order and refer in Medicare carry an active exclusion or sanction — matched on NPI, never on name. The screening mostly holds, but 105 of the 170 have stood for over a year, the oldest excluded since 1987. A match is a flag for review, not a proven claim.
  • FINANCIAL DISTRESS · JUN 2026The OIG exclusion list, explained: who gets barred from Medicare, and whyThe OIG List of Excluded Individuals and Entities (LEIE) holds 68,055 active exclusions spanning 1977–2026. The most common reason to be barred from Medicare is not fraud — it is losing a state license: §1128(b)(4) license actions are 41% of the list. And only 10.3% of records carry an NPI, so the list is mostly non-clinicians.
  • FINANCIAL DISTRESS · JUN 2026The exclusion gap: federal screening misses most state Medicaid barsFederal-only exclusion screening misses most state Medicaid exclusions: of 4,851 NPI-identified providers excluded across ten state Medicaid programs, 3,117 — 64.3% — carry no record on the federal OIG LEIE. An organization checking the federal list alone clears nearly two in three state-barred providers as clean.
  • FINANCIAL DISTRESS · JUN 2026Excluded by a state, invisible to a federal checkOf 4,950 providers with an active state Medicaid exclusion across the 13 state programs Fonteum ingests, 3,189 — 64.4% — have no record on the federal OIG LEIE. Adding the SAM.gov debarment list recovers only 191: 2,998 stay invisible to both federal lists. And 198 are barred across two or more states at once.

Federal source citations

  1. [1]OIG LEIE · snapshot 2026-06-20 · federal source family · US-Government-Works
  2. [2]NPPES · snapshot 2026-06-20 · federal source family · US-Government-Works
Dataset catalog →Source registry →Methodology →Chain integrity →All research →Provider lookup →

Fonteum Research · June 20, 2026 · All figures trace to the frozen federal-data snapshot cited above.

The substrate, by the numbers

44federal source familiesDistinct CMS, OIG, HRSA, FDA and peer datasets
35dataset pagesCitable, downloadable /data catalog pages
70reproducible studiesEach shipping the SQL behind its figures

Built on the authoritative federal record

The primary sources, named on every page.

These are the federal agencies whose public datasets Fonteum ingests and attributes — the issuing authorities, not customers or partners. Every figure on the site links back to one of them.

  • CMS
  • HHS-OIG
  • HRSA
  • FDA
  • NLM
  • NUCC
  • Census
  • BLS
  • BEA

See the full source registry, with license and refresh cadence for each →

Reproducible by design

Every figure traces to its federal source.

14-tuple provenance

Every rendered fact ties to a source URL, dataset ID, snapshot date, row key, and SHA-256 — the full chain-of-custody record.

Reproducible SQL

Each study ships the exact query behind its figures, run against the cited federal snapshot. Re-run it yourself.

Daily count checks

Published counts are checked against the upstream federal datasets on a daily cadence, with drift logged.

Named medical review

Reviewed by Jennifer Montecillo, MD, medical reviewer. Non-practicing medical reviewer.

Read the full provenance and attestation methodology →

Two doors

Use the free API and open data

Query providers, facilities, sanctions, and quality scores — each field carrying its federal source. Self-serve, no call to start.

Explore the API →Browse the data catalog →

Talk to us

Managed pilots, enterprise terms, and audit-ready, signed attestation packages for compliance, risk, and research teams.

Talk to us →
Fonteum
Platform
Platform overviewAPIMCP serverFHIR R4 APIBulk exportAttestation & audit packReconciliationEntity graphSnapshots
Solutions
All solutionsExclusion & sanctions screeningCredentialing & enrichmentAudit evidenceProvider data for AI / RAGM&A & network diligenceCompliance & riskDevelopers & AI teams
Data & sources
Coverage & sourcesBrowse all datasetsState Medicaid exclusionsFreshnessMethodologyCare CompareSanctionsOwnershipStaffingDeficienciesSpecial Focus Facilities
Federal contracting
OverviewAwards during active exclusionFederal debarment scorecardProcurement questionsContractor lookup8(a) certification guide
Developers
Developer hubDocsAPI referenceQuickstartStatusChangelogSDKs & integrationsWebhooks
Research & guides
Research hubGuidesHealthcare provider dataExclusion & sanctions screeningProvider credentialing dataHealthcare data for AIHospital margin gapProvider access gapsGlossaryComparisonsCitationsWhy Fonteum
Company
AboutPressCustomersPricingContactEditorial policyCorrections
Trust & legal
TrustTrust markQualitySecurityPrivacy policyTerms of serviceAPI & MCP termsMedical disclaimer

Reviewed by Jennifer Montecillo, MD, medical reviewer. Non-practicing medical reviewer.

© 2026 Fonteum LLC. All rights reserved.

·hello@fonteum.com

The U.S. healthcare graph AI can cite — every fact carries its source.

Every fact Fonteum serves carries a signed, re-checkable trust mark — source, as-of date, and an Ed25519 signature travel with the data. Re-check any fact at fonteum.com/verify · the trust-mark standard (W3C Verifiable Credentials 2.0, C2PA-aligned).
Request access→