Today we release a major overhaul of our NIH grants data that includes some big improvements to how we track and display disruptions to NIH funding. Briefly, we now track grants across support years, we better track terminated supplements and subprojects, we have added per-grant event history, and we have begun rolling out a new status of “non-renewal”.
Tracking grants across support years
Each row now represents a unique grant ID comprised of the institution code and serial number of a grant which, in the vast majority of cases, is consistent from year to year even when activity codes change or when new support years are awarded. E.g when 5R21AA027597-02 is renewed as 4R33AA027597-03, the grant_id, AA027597, connects these across time. We still display the most recent FAIN and full award number on our website, but if you download the data, you’ll see a grant_id column you can use as a primary key.
Separate rows for supplements and subprojects
When just a supplement or subproject is terminated, or has a different status than the parent award, it now has a separate row in our data. Previously, supplements and subprojects were combined with their parent grant into a single row.

Event history
Every row has an event_history that is a bulleted list showing dates, “events” and their data sources (with links when possible). When trying to determine what happened to a grant and why it has the status it does, it is helpful to look at this event history. Events include things that help us determine grant status like the date of a termination letter, the date an institutional freeze was enacted, grant renewals, or the date of important court decisions, for example. We hope this better tells the story of what has happened to grants as many experience multiple attacks and reprieves in sequence or at the same time. For us, the event history makes it easier to look into “complicated” grants and determine their current status. One thing to note here is that there are duplicated events when the same information is reported in multiple sources. A future update will streamline the event history to make it easier to read by combining redundant information and remove less relevant events.

Non-renewals
When a grant is 60 days past its current budget end date, but not past its project end date, we give it the status “non-renewal”.
Currently, we only show non-renewals that have also had some other disruption. As we validate this signal further, we plan to add other grants experiencing non-renewals.