An eligibility rule that measures once, on a day that has not happened yet
A pharmacy with twenty-four licensed staff can hire one more pharmacist in October 2026 and lose a federal exemption it is already relying on. Nothing announces that. There is no filing, no confirmation, no portal to log into. The exemption is self-assessed, and the assessment turns on a headcount taken on one named day.
We run a free checker for that question, and when FDA moved the date, the checker could no longer honestly return a yes or a no.
What the rule counts
Two things trip people before any date is involved.
The threshold is 25 or fewer full-time employees licensed as pharmacists or qualified as pharmacy technicians, counted at the corporate entity that owns the pharmacy, not per store. An owner with three shops counts the one they are standing in and concludes they qualify. That is the single most common misreading, and it is the reason the tool asks for locations separately and says so in the output when the number is above one.
And "full-time" is not a judgement call. FDA adopted the IRS definition: an average of 30 hours of service a week, or 130 hours a month. Part-time staff below that line do not count at all, which moves plenty of pharmacies back under the threshold.

The measuring day moved into the future
The first exemption ran from 27 November 2024 to 27 November 2026, and footnote 7 of the letter granting it froze the headcount at 27 November 2024. A date in the past. Your staff on that day either was or was not 25 or fewer, and the answer is a fact you can look up.
On 6 August 2026 FDA issued a second letter extending the exemption to 27 November 2027, with the stated reason that its own assessment of small dispensers is unfinished. Footnote 14 of that letter reads: "The total number of employees as of November 27, 2026."
That day has not happened. Nobody can state their headcount on it. The question the tool answers changed shape from retrospective to prospective, and a boolean that says exempt: true about a measurement nobody has taken yet is a confident answer to a question that is still open.
| The window running now | The extension year | |
|---|---|---|
| Runs | 27 Nov 2024 to 27 Nov 2026 | 27 Nov 2026 to 27 Nov 2027 |
| Granted by | letter issued 12 July 2024 | letter issued 6 August 2026 |
| Headcount taken on | 27 November 2024 | 27 November 2026 |
| Stated in | footnote 7 | footnote 14 |
| That date is | past, settled | future, not yet measurable |
| Definition wording | ends "according to the applicable state board of pharmacy requirements" | that clause dropped |
| Published at | fda.gov media id 179256, 321,074 bytes | the same media id, 331,269 bytes, the older file replaced in place with no redirect |
Both windows are live at the same time, which is the part that surprised me. Until 27 November 2026 arrives, the current window is still decided by the 2024 count. So a pharmacy that was over the line in 2024 and is under it now sits outside the first exemption and inside the second, and needs both answers rather than one.
That is why the code carries both dates rather than replacing one with the other:
// The date FDA freezes the 25-employee headcount at for the extension year (footnote 14
// of the 6 August 2026 letter). It is in the future, which is the whole reason the
// wording below hedges: nobody can yet state their headcount on that date as a fact.
export const FTE_AS_OF = 'November 27, 2026';
// The date that governed the window running now, under the 12 July 2024 letter. Kept // because until 27 November 2026 this is still the operative test, and a pharmacy that // was over the line then but is under it now needs both answers, not one. export const FTE_AS_OF_PRIOR = 'November 27, 2024'; ```
Naming the question instead of softening the answer
The response field is exempt_now, and "now" is the honest scope of it. The status a qualifying pharmacy gets back is exempt_until_sunset, and the finding printed alongside it says the count for the extra year is taken on a day that has not arrived, so hiring past 25 licensed full-time staff between today and then puts them outside it.
The determination itself is a rule read against six answers, so it returns in milliseconds. The panel streams the four decisions as they are made, each carrying the elapsed time it genuinely took, and none of them sleep.
This is how we built DoseTrace: https://dosetrace.thecompound.tech/?utm_source=compound-devto&utm_medium=social&utm_campaign=compound
---
One shipped product, taken apart, once a month. What it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did, read off the repository and the live site, not written from memory. Join the list.