Medicare Provider Enrollment Revalidation Due Date Check
Pricing
from $0.01 / 1,000 results
Medicare Provider Enrollment Revalidation Due Date Check
Check Medicare revalidation due dates for a list of NPIs against the current CMS Revalidation Due Date List. Flags overdue and due-soon enrollments per provider with dates, provider type, specialty and state. Resolves the live monthly release each run, so it never answers from a stale snapshot.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Malek H
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Give it a list of NPIs. It tells you which of your providers have a Medicare provider enrollment revalidation due — and which are already past due.
Every Medicare-enrolled provider and supplier must revalidate their enrollment every five years (every three for DMEPOS suppliers). CMS publishes the Revalidation Due Date List monthly, but it is a 2.9-million-row file with no lookup interface: you cannot ask it "are any of my 400 providers due?". This Actor does that join.
Miss a revalidation due date and CMS deactivates billing privileges. Reactivation is retroactive only to the date you resubmit, so the practice eats the gap. The whole point of this Actor is that the answer it gives you is trustworthy.
What you get
One row per NPI, with every Medicare enrollment that NPI holds:
| Status | Meaning |
|---|---|
overdue | At least one enrollment is past its revalidation due date |
due_soon | Due within your window (default 180 days) |
due_later | Has a date, beyond your window |
tbd | CMS has not assigned a due date yet — published as TBD |
not_enrolled | No Medicare enrollment record found for this NPI |
invalid_npi | Failed the NPI check digit or the wrong length — not looked up |
A provider with several enrollments is summarised by its most urgent one, so a TBD or a far-future enrollment can never hide an overdue sibling.
Input
{"providers": [{ "recordId": "HR-1041", "npi": "1013960657" },{ "recordId": "HR-1042", "npi": "1053393447" },"1003879883"],"dueWithinDays": 180}
providers accepts bare NPI strings or objects. Any recordId you supply is
echoed back so results reconcile against your credentialing system. Up to 20,000
NPIs per run, batched 50 to a request — 500 providers resolve in about ten
seconds.
Output
{"recordId": "HR-1041","npi": "1013960657","status": "overdue","statusDetail": "2 of 42 Medicare enrollment(s) are past their revalidation due date...","providerName": "Northside Radiology Associates Llc","nextDueDate": "2026-03-31","daysUntilDue": -120,"enrollmentCount": 42,"overdueCount": 2,"dueSoonCount": 5,"tbdCount": 29,"enrollments": [{"enrollmentId": "O20200826003152","status": "overdue","dueDate": "2026-03-31","daysUntilDue": -120,"providerType": "Non-DME Part B","specialty": "Clinic/Group Practice","stateCode": "CA","reassignmentsToOthers": "33"}],"source": {"release": "Revalidation Due Date List : 2026-07-01","published": "2026-07-14","rowCount": 2922248}}
Every row carries the exact CMS release it was answered from, so an audit can reproduce it.
Why the answers are trustworthy
A revalidation checker that quietly returns "nothing due" is worse than no checker at all. Two ways that happens are real, and both are guarded here.
1. The stale-release trap. CMS mints a new dataset ID for every monthly
release and keeps all 87 previous ones live and returning 200 OK. An archived
release answers every query cheerfully with due dates that stopped years ago —
one such snapshot returns 2.55M rows whose newest due date is 2020-09-30.
This Actor never hardcodes a dataset ID. It resolves the release the CMS catalog
marks latest on every run, and then fails the run if that release has fewer
than 2 million rows, is missing an expected column, or has a newest due date that
has already passed.
2. The ignored-filter trap. The CMS API accepts three spellings of a multi-value filter and only one of them actually filters; another silently drops the filter and returns arbitrary providers that look exactly like real results. This Actor uses the correct form and then verifies that every NPI in the response is one it asked for, failing loudly on any stray row rather than attributing a stranger's due date to your provider.
Absence is never a clean bill of health. An NPI with no rows is reported as
not_enrolled, not as "nothing due". A mistyped NPI is caught by its check digit
and reported as invalid_npi rather than silently becoming not_enrolled.
Source
- CMS Revalidation Due Date List — https://data.cms.gov/provider-characteristics/medicare-provider-supplier-enrollment/revalidation-due-date-list
- Public domain US Government data, retrieved through the documented
data.cms.govAPI. No key, no scraping, no rate-limit circumvention. - Updated by CMS monthly; this Actor always reads the current release.
Verify any individual result in PECOS at https://pecos.cms.hhs.gov/.
Pricing
Pay per event: a flat fee per run, charged only after the source passes its integrity checks, plus a small fee per NPI checked. Invalid NPIs are not charged.
Limitations
- Reflects the CMS monthly release. A revalidation you submitted this week will not clear here until CMS republishes.
tbdis CMS's own value — it means no date has been assigned yet, not that the data is missing. CMS normally posts a date about six months ahead.- Reports revalidation due dates only. It is not a full PECOS enrollment record and does not cover payer enrollments outside Medicare.