River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Provider Credentialing Expiration Tracker

Two documents and three sheets that hold every renewal date for every provider, with the issuer's real lead time behind each one.

Free download  ·  No account needed

Expirable Register

One row per provider and credential

Arrives seeded with the credential types and the terms regulation sets. You add the providers and the dates.

CredentialTypeTierLead time neededAct By
State licenceDated expiryA90 to 120 days
DEA registrationDated expiryA45 to 60 days
State CDS registrationDated expiryB20 to 30 days
Malpractice policyDated expiryB30 days
Portal attestationDated expiryCSame day
Medicare revalidationNotice-triggeredA60 days from notice
Practice location changeEvent-triggeredTNone. Clock starts on the event30 days
Change of ownershipEvent-triggeredTNone. Clock starts on the event30 days
Adverse legal actionEvent-triggeredTNone. Clock starts on the event30 days

A months · B weeks · C days · T triggered, no date exists

The shaded rows have no expiry date anywhere, which is why a tracker built on expiry dates cannot hold them.

Remaining columns: Provider, Issuer, Identifier, Issued, Expires, Term, Must Be Done First, Date Source, Verified On, Status, Owner, Notes.

Every credentialing spreadsheet has a column of expiry dates and a rule that turns a cell red thirty days out. That works for exactly one kind of obligation. A state licence renewal sitting behind a continuing education audit and a board queue needed four months, not thirty days, and a portal attestation that expires every hundred and twenty days needs three days and no more. One threshold is either far too late or pure noise, and staff learn to scroll past it.

So every row here carries the lead time its issuer actually needs, and the sweep reads that rather than a date. It also holds what a spreadsheet cannot. Medicare revalidation is two clocks thirty days apart: the application is due within sixty calendar days of notification, while deactivation only becomes available at ninety. A practitioner's first DEA registration is assigned to a calendar month group rather than a clean thirty six months, so adding three years to a registration date is wrong.

Ashgrove Family Medicine opened a second office on the second of March. A practice location change is reportable within thirty days, so it fell due on the first of April and went in on the third of May. Deactivation for a late report back dates to the day compliance broke, leaving thirty one days and two hundred and fourteen Medicare encounters inside a window that does not reopen. No expiry alert would have fired, because a location has no expiry date at all.

Every document in the pack

The Expirable Register, the Renewal Status sheet, and the Lapse Response Note.

Expirable Register

Illustrative rows for a fictional practice, Ashgrove Family Medicine.

ProviderCredentialTierExpiresAct ByState
Aldenmoor, R.State licenceA31 Jul2 AprPast Act By
Aldenmoor, R.DEA registrationA30 Sep1 AugCurrent
Aldenmoor, R.Portal attestationC18 Jun18 JunDue
Bramwell, T.Malpractice policyB1 Jul1 JunDue
Bramwell, T.State licenceAnot sourcedunknownNo date
PracticeLocation addedTnone1 AprOverrun

Aldenmoor state licence. Expires 31 July and the Act By is 2 April, because the board audits continuing education and she is 9 hours short in the audited category. Tier A, so the sweep raised it while the expiry was still four months out.

Bramwell state licence. The only source is a photocopy in the credentialing file, so the date cell stays blank rather than carrying a plausible guess. A row nobody can date is the most urgent row in the register.

Sorted by tier, then by days within tier. Never by days remaining alone.

Renewal Status

The same practice, mid renewal. This sheet holds rows between started and closed.

CredentialStageBlocked onDays
Aldenmoor state licencePrerequisites9 CE hours short, audited category26
Bramwell malpracticeFiledCarrier quoted 10 days, now 2424
Aldenmoor DEANot startedWaits on the state licence above

Why the DEA row is not late

A DEA registration renewal needs the state licence current first, so these are one piece of work with two steps rather than two independent rows. Starting the DEA filing now would stall against the licence, and recording them separately produces the wrong order of work.

Filed is not closed

The malpractice row has been in Filed for 24 days against a quoted 10. That is a finding rather than a status, and it is only visible because the quoted processing time was recorded when the renewal was opened. A row closes when the new expiry is written back to the register with its source.

Prerequisite named with a quantity, so it can be chased: hours short, in which category, by when.

Lapse Response Note

Practice location reported late

Location in use from2 MarchReportable within30 days
Report fell due1 AprilActually reported3 May

The window

Compliance broke on 2 April, the day after the reporting period ran out. It was restored on 3 May, the date the contractor received the submission rather than the date it was sent. The window is 31 days.

The exposure

Medicare encounters in the window214Average allowed$118
Exposure$25,252BasisDate of service

That is the amount furnished inside the window for which payment would not be available if a deactivation were imposed on this ground with this effective date. Deactivation is discretionary rather than automatic, so this is an exposure and not a bill.

What this is not

Deactivation is not revocation and has no effect on the provider agreement or on conditions of participation. The window also stops growing the moment compliance is restored, which is what makes filing today the highest value action available.

Dates, days and dollars. What to do about paid claims goes to the practice and its advisers.

What's in the pack

01

Expirable Register

One row per provider and credential, carrying the lead tier, the Act By date, the prerequisite chain and the source behind every date.

02

Recredentialing Calendar

One row per payer product rather than per insurer, because one payer can run four products on four cycles. Pairs with keeping directory data accurate.

03

Renewal Status

The rows between started and closed, with the prerequisite named as a quantity and the issuer's quoted processing time recorded so a stall is visible.

04

Renewal Procedure

The tier definitions, what Act By means, the prerequisite chains, and the two Medicare revalidation clocks that are routinely tracked as one. A hospital affiliation adds its own separate reappointment and NPDB query clocks, held in its own renewal calendar rather than folded in here.

05

Lapse Response Note

The window, the claims furnished inside it, and the exposure with its conditional attached. Says plainly that deactivation is discretionary and is not revocation.

06

Tiered Expiry Watch

A weekly sweep that reads each row against its own lead time, puts undated rows above everything, and stays quiet in a quiet week.

How to use it

  1. 1

    Open in River, or download it

    Open the pack in River and let the agent build the register from your documents, or download the blank Word and CSV files instantly.

  2. 2

    Send the credential documents

    Licences, DEA certificates, declarations pages, attestation exports, recredentialing notices, or a photo of a wall certificate. Every date is read off its own document, and anything unsourceable stays blank.

  3. 3

    Catch up on what changed

    A new office, a closed one, an ownership change. These have no expiry date and the shortest clocks, so they are the first thing to record rather than the last.

  4. 4

    Let the tiers do the reminding

    The weekly sweep raises a licence four months out and an attestation three days out, and tells you which renewal is blocked behind another one.

Frequently asked questions

Is this template free?

Yes. Download the whole pack as Word documents and CSV sheets with no signup and no credit card. "Edit with AI" is a separate, optional path for practices that want the agent to read the credential documents and build the register from them. Other packs are in the template library.

What format are the downloaded files?

Word documents (.docx) for the Renewal Procedure and the Lapse Response Note, and CSV (.csv) for the three tracking sheets, zipped into one file. They open natively in Word, Pages, Google Docs, Excel, Numbers and Sheets, with nothing to convert.

Why not just use conditional formatting on a spreadsheet?

Because one threshold cannot serve a licence that needs four months and an attestation that needs three days, so it fires too late on one and too often on the other. And a rule that colours a date cannot see a row with no date, which is what every reportable change is.

How does it know my state's licence renewal period?

It does not, and it will not guess. Renewal periods differ by state and sometimes by licence class, so the date is read off the licence or the board's own verification page and recorded with that source. Anything it cannot source stays blank with a note saying what would settle it.

What happens if something has already lapsed?

It dates the window, asks your billing system for the encounters with a date of service inside it, and writes the exposure into a note with the uncertainty stated. It will not tell you what to do about claims already paid. That turns on facts and law beyond a template.

Does this replace a credentialing service?

No, and it is often most useful alongside one, because a delegated arrangement still leaves the practice holding the dates and the consequences. If you are deciding whether the current arrangement is working, that is a credentialing workflow review rather than a tracker.

What does 'Edit with AI' actually do?

It creates a free River account, installs this exact pack as a private workspace, and opens it ready to read whatever you send. Nothing is written until you send something. Renewals are one queue; getting a new clinician credentialed in the first place is the other, and the provider credentialing checklist holds it.

Hold every renewal date on the clock it actually runs on

Download the blank pack as Word and CSV files, or open this exact pack in River and let the agent build the register from your own documents.

Edit with AI