NPI Provider Check - NPPES Registry + OIG Exclusion List (LEIE)
Pricing
from $10.00 / 1,000 provider records
NPI Provider Check - NPPES Registry + OIG Exclusion List (LEIE)
Check US healthcare providers by NPI number or name: NPPES registry status and specialty, plus a match against the HHS-OIG exclusion list (LEIE), with the field behind every risk flag. Official public data, no API key, no phone or address output.
Pricing
from $10.00 / 1,000 provider records
Rating
0.0
(0)
Developer
Doohan Kim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Check a US healthcare provider or organization before you contract, credential or pay it. Give an NPI number or a name and state and get one record per provider, built from two official public sources: the CMS NPPES NPI Registry and the HHS-OIG List of Excluded Individuals/Entities (LEIE). No scraping, no API key.
This is a verification tool, not a lead list: phone numbers, fax numbers, street addresses, e-mail addresses, authorized-official names, gender and dates of birth are deliberately not returned.
What you get (one row per provider)
| Section | Fields |
|---|---|
| Identity | npi, enumerationType (Individual / Organization), name, credential (e.g. M.D.), enumerationDate, lastUpdated |
| Status | status (Active / Deactivated), deactivationDate |
| Specialty | taxonomies[]: code, description, primary flag and license state (license numbers are not returned) |
| Location | practiceLocation: city, state, 5-digit ZIP only |
| Exclusion check | leie.checked, leie.matches[] (type, exclusion type code, exclusion date, reinstatement date, general category, specialty, state) |
| Risk flags | riskFlags (codes), riskLevel, riskFlagDetails[] - every flag lists the source and the field/column and value that triggered it |
| Freshness | dataAsOf.nppes (time of the query), dataAsOf.leie (last update of the OIG file), disclaimer |
Risk flags
| Flag | Severity | Rule |
|---|---|---|
EXCLUDED_NPI_MATCH | high | The NPI appears on the OIG exclusion list. Evidence: EXCLTYPE, EXCLDATE, REINDATE of every matching row. |
POSSIBLE_EXCLUSION_NAME_MATCH | low | Only for OIG rows that carry no NPI: exact last + first name (or organization name) and a state of the provider's practice location match. This can be a different person with the same name - confirm it on the OIG online search with an SSN/EIN. |
EXCLUSION_REINSTATED | low | A matching OIG row shows a reinstatement date. |
NPI_DEACTIVATED | medium | NPPES reports the NPI as deactivated (see limits below). |
NEWLY_ENUMERATED | low | The NPI was issued less than 90 days ago. |
PARTIAL_DATA | - | A source could not be queried; the result is incomplete. |
A flag is a reason to look closer, not a verdict. riskLevel is high when an NPI match is
confirmed (even if another source failed), otherwise unknown if a source failed, then medium
or low. An OIG row that has an NPI different from the provider's is never treated as a name match.
No silent failures
- An input that matches nothing is returned as
found: falsewith areason(not charged). - If NPPES could not be queried, the row has
found: nulland anerror- it does not claim the provider does not exist. The OIG check still runs on the NPI. - If the OIG file could not be downloaded,
leie.checkedisfalse,sectionErrors.leieexplains why andPARTIAL_DATAis raised. A missing check is never reported as "not excluded". found: falserows still carry the OIG result for the NPI: excluded providers often have a deactivated NPPES record, which the Registry does not return.
Input
{"npiNumbers": ["1134262819"],"providers": [{"firstName": "Jane", "lastName": "Doe", "state": "MD"},{"organizationName": "Johns Hopkins Hospital", "state": "MD"}],"maxResultsPerName": 5}
All fields are optional. With an empty input the Actor checks an example hospital (NPI 1134262819).
NPIs are validated locally (10 digits and the NPI check digit); invalid ones are returned as
found: false without a lookup. Name searches return only records whose name matches exactly
(organization names match by prefix); maxResultsPerName is 1-20. A malformed input (for example
npiNumbers that is not an array) fails the run with an English error message.
Pricing
Pay-per-event, event name provider-record (one provider record returned). Inputs that are not
found, or that fail, are not charged. Price: $0.01 per record plus a $0.005 start fee.
Data sources
- NPPES NPI Registry API v2.1 (
npiregistry.cms.hhs.gov/api), queried live with a pause between requests and exponential back-off on throttling or server errors. NPPES publishes no numeric rate limit ("limited per hour"); for bulk work CMS points to its downloadable file, so this Actor is meant for lists of tens or hundreds of providers, not millions. - HHS-OIG LEIE downloadable database (
oig.hhs.gov/exclusions/downloadables/UPDATED.csv), downloaded at the start of every run (about 11 MB) and matched in memory. OIG refreshes it monthly (seedataAsOf.leie). Date of birth and address columns are discarded while reading the file.
Limits
- The NPI Registry does not return deactivated or never-issued NPIs. Such an NPI is reported as
found: false;NPI_DEACTIVATEDcan only appear if NPPES ever returns a deactivated record. In a sample of OIG-excluded NPIs, about one in ten was not returned for this reason - the OIG match is still reported on thefound: falserow. - The LEIE file lists exclusions currently in effect; reinstated providers are removed from it, so a non-match cannot distinguish "never excluded" from "reinstated".
- The downloadable OIG file has no SSN/EIN. Name matches are candidates only.
- An NPI does not verify that a provider is licensed or credentialed.
- NPPES data is self-reported by providers. NPPES and LEIE public data, provided for informational purposes only; not legal advice; verify with CMS/OIG before relying on it.