← All studies · askamerica.ai
Original story: https://www.biospace.com/press-releases/usp-annual-drug-shortages-report-finds-rising-discontinuations-hidden-upstream-risk

USP's 2026 drug shortage figures check out against independent FDA data

75 active shortages at year-end 2025, 4 newly reported, ~55% discontinuation jump, ~69% injectable share — reconstructed from FDA's own list

USP 2026 Drug Shortages Report vs. Independent FDA Data USP claims (June 2026) checked against health.fda_drug_shortages_history (Wayback reconstruction of FDA's own list) Active shortages, end of 2025 75 USP: 75 (exact match) health.fda_drug_shortages_history, snapshot 2025-12-16, distinct generic_name, status='Current' Newly reported in 2025 4 of 75 USP: 4 of 75 (exact match) Same snapshot, initial_posting_date in 2025 Distinct drugs discontinued, 2024 vs 2025 0 50 100 150 200 Year Distinct drugs 2024 2025 +55.4% vs USP's stated +60%; same direction, close magnitude Share of active shortages that are injectable 0 10 20 30 40 50 60 70 80 Source % of shortages FDA-derived (askamerica) USP reported 52 of 75 current shortages have an injection/injectable presentation AskAmerica · askamerica.ai
SVG

Summary

USP's June 2026 Annual Drug Shortages Report claims: (1) 75 active drug shortages in the U.S. as of end-2025, with only 4 of the 75 first reported in 2025 (nearly all carried over from 2024); (2) product discontinuations rose an acute 60% from 2024 to 2025, the largest increase since 2019; and (3) sterile injectable drugs make up 71% of all shortages, the largest share of any dosage form. Independently reconstructing FDA's own drug shortage list from Wayback-captured snapshots (askamerica's health.fda_drug_shortages_history table) reproduces the headline 75-active/4-new figures exactly, and reproduces the discontinuation increase (55.4% vs. 60% claimed) and injectable share (69.3% vs. 71% claimed) in the same direction and close magnitude. The claim holds up well against independent government data.

Claim-by-claim verdicts

○○○○ Fidelity: No Pinocchios — true or no significant issues

The press coverage (BioSpace republishing USP's own release verbatim, and Pharmaceutical Commerce citing it directly with page references) accurately quotes USP's report language without distortion, added spin, or dropped qualifiers. No fidelity issues found.

○○○○ Claims Accuracy: No Pinocchios — true or no significant issues

USP's own headline figures hold up well against an independent reconstruction of FDA's underlying drug shortage list. The two most load-bearing numbers -- 75 active shortages at year-end 2025 and only 4 newly reported that year -- match exactly. The two supporting statistics (60% discontinuation rise, 71% injectable share) are close (55.4% and 69.3% respectively, same direction) with gaps small enough to be explained by counting-unit differences (event/NDC-level vs. distinct-drug-level) rather than any overstatement, so this does not rise to a count of 1.

1 true · 1 mostly true · 2 assertions checked

#Assertion (verbatim)Verdict
1As of the end of 2025, there were 75 active drug shortages in the U.S., with only 4 of those 75 first reported in 2025 (nearly all carried over from 2024).true
2Product discontinuations rose 60% from 2024 to 2025 (the largest single-year increase since 2019), and sterile injectable drugs make up 71% of all active shortages, the largest share of any dosage form.mostly true

Verdicts: true, mostly true, partially true, mostly false, false, not checkable here (no table carries the measure), stale vintage (the article cites a release this corpus has not loaded — a freshness gap, not a falsehood).

Claim detail

#1 · true — As of the end of 2025, there were 75 active drug shortages in the U.S., with only 4 of those 75 first reported in 2025 (nearly all carried over from 2024).
Article says
75 active shortages; 4 of 75 first reported in 2025
Warehouse says
75 distinct generic_name with status='Current'; 4 of those with initial_posting_date in 2025 health.fda_drug_shortages_history
Independent evidence
Exact match: 75 and 4
Vintage article / warehouse
June 9, 2026 / FDA snapshot captured 2025-12-16
Why
Independent reconstruction of FDA's own drug shortage list matches USP's headline figures exactly.
Show SQL
SELECT COUNT(DISTINCT generic_name) FROM health.fda_drug_shortages_history WHERE snapshot_date='2025-12-16' AND status='Current'; SELECT COUNT(DISTINCT generic_name) FROM health.fda_drug_shortages_history WHERE snapshot_date='2025-12-16' AND status='Current' AND initial_posting_date LIKE '%2025'
#2 · mostly true — Product discontinuations rose 60% from 2024 to 2025 (the largest single-year increase since 2019), and sterile injectable drugs make up 71% of all active shortages, the largest share of any dosage form.
Article says
60% YoY discontinuation increase; 71% of shortages are sterile injectables
Warehouse says
55.4% YoY discontinuation increase (112 to 174 distinct drugs); 69.3% of current shortages (52 of 75) have an injectable presentation health.fda_drug_shortages_history
Independent evidence
55.4% increase (vs. 60% claimed); 69.3% injectable share (vs. 71% claimed)
Vintage article / warehouse
June 9, 2026 / FDA snapshots captured 2025-01-17 and 2026-01-20
Why
Same direction and close magnitude; small numeric gap likely reflects USP counting discontinuation events/NDCs and a stricter sterile-injectable classification rather than distinct-generic-name text matching used here.
Show SQL
SELECT COUNT(DISTINCT generic_name) FROM health.fda_drug_shortages_history WHERE snapshot_date='2025-01-17' AND discontinued_date LIKE '%/2024'; SELECT COUNT(DISTINCT generic_name) FROM health.fda_drug_shortages_history WHERE snapshot_date='2026-01-20' AND discontinued_date LIKE '%/2025'; SELECT COUNT(DISTINCT generic_name), COUNT(DISTINCT CASE WHEN presentation ILIKE '%Injection%' OR presentation ILIKE '%Injectable%' THEN generic_name END) FROM health.fda_drug_shortages_history WHERE snapshot_date='2025-12-16' AND status='Current'

Why this corpus, not just the press

FDA maintains a live drug shortages feed but purges resolved/discontinued entries roughly six months after resolution, so the current live table (health.fda_drug_shortages) cannot answer 'what did the list look like on Dec 31, 2025.' askamerica's health.fda_drug_shortages_history table solves exactly this: it is a point-in-time reconstruction of FDA's own accessdata.fda.gov CSV export from ~99 Wayback Machine captures spanning Oct 2019 to Jul 2026. This makes it possible to pull the FDA list as it stood in mid-December 2025 — the same window USP says its analysis is 'current as of December 31, 2025' — and recompute USP's headline figures independently rather than merely quoting them.

Method and figures

Active shortages, end of 2025: Using the snapshot closest to year-end (snapshot_date = '2025-12-16'), SELECT COUNT(DISTINCT generic_name) WHERE status = 'Current' returns exactly 75. Of those, the number with initial_posting_date in 2025 is exactly 4. Both match USP's release text verbatim: 'Nearly all active drug shortages at the end of 2025 were carried over from 2024, with only 4 of the 75 active shortages first reported in 2025.'

Discontinuations, 2024 vs. 2025: Using the snapshot closest to each year-end that still carries the prior year's discontinuation dates (2025-01-17 for 2024, 2026-01-20 for 2025), counting distinct generic_name by the year embedded in discontinued_date gives 112 drugs discontinued in 2024 and 174 in 2025 — a 55.4% increase, versus USP's claimed 60%. Same direction, comparable magnitude; the gap is plausibly methodological (USP may count discontinuation events or NDC/package-level exits rather than distinct generic names, or corroborate against ASHP's shortage list in addition to FDA's raw CSV, per the report's own stated methodology of cross-referencing FDA and ASHP data).

Injectable share: Of the 75 distinct generic-name shortages current as of 2025-12-16, 52 have a presentation description containing 'Injection'/'Injectable' — 69.3%, versus USP's reported 71% for 'sterile injectable drugs' specifically. The small gap is consistent with USP using FDA's structured dosage-form/route classification and a stricter 'sterile injectable' definition, versus this check's free-text match on the presentation string.

Exploratory query excluded rows — what it changed

An early exploratory query against the live feed table (health.fda_drug_shortages, not the history table used for the figures above) filtered with WHERE discontinued_date IS NOT NULL to look at discontinuation years present in that table. That filter excluded 1,160 of the table's 1,601 rows (1,150 of 224 distinct generic-name/dosage entries carry a NULL discontinued_date — precisely, 69 of the 224 distinct drugs have every one of their rows null on that column, since they are not discontinuation episodes at all but current/resolved shortages). This filtered live-table query was exploratory only: because the live feed purges resolved/discontinued entries ~6 months after resolution, it cannot reliably reconstruct a clean 2024-vs-2025 comparison, which is exactly why the reported discontinuation figures above (112 vs. 174) were instead computed from the point-in-time history table snapshots, not from this filtered live-table query. No headline figure in this report rests on the excluded rows.

Verdict

The headline figures in USP's report are corroborated by independent reconstruction of FDA's own data. The most checkable, most load-bearing numbers — 75 active shortages and 4 newly reported in 2025 — match exactly. The two supporting statistics (60% discontinuation rise, 71% injectable share) are directionally and magnitudinally consistent (55.4% and 69.3% respectively) but not exact matches, most likely due to differences in counting unit (event/NDC vs. distinct drug) or in dosage-form classification method rather than any overstatement in USP's report.

Every query behind this report

12 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.

query — 3 rows — 1444 ms
SELECT status, COUNT(*) AS episodes, COUNT(DISTINCT generic_name_normalized) AS distinct_drugs FROM health.fda_drug_shortages GROUP BY status ORDER BY episodes DESC
query — 1 rows — 8477 ms
SELECT MIN(snapshot_date) AS min_snap, MAX(snapshot_date) AS max_snap, COUNT(DISTINCT snapshot_date) AS n_snaps FROM health.fda_drug_shortages_history
query — 3 rows — 1190 ms
SELECT DISTINCT snapshot_date FROM health.fda_drug_shortages_history WHERE snapshot_date BETWEEN DATE '2025-10-01' AND DATE '2026-02-01' ORDER BY snapshot_date
query — 3 rows — 10496 ms
SELECT snapshot_date, status, COUNT(*) AS rows, COUNT(DISTINCT generic_name) AS distinct_generic FROM health.fda_drug_shortages_history WHERE snapshot_date = DATE '2025-12-16' GROUP BY snapshot_date, status ORDER BY status
query — 3 rows — 981 ms
SELECT EXTRACT(YEAR FROM discontinued_date) AS disc_year, COUNT(DISTINCT generic_name_normalized) AS distinct_drugs, COUNT(*) AS episodes FROM health.fda_drug_shortages WHERE discontinued_date IS NOT NULL GROUP BY EXTRACT(YEAR FROM discontinued_date) ORDER BY disc_year
query — 3 rows — 1732 ms
SELECT DISTINCT snapshot_date FROM health.fda_drug_shortages_history WHERE snapshot_date BETWEEN '2024-10-01' AND '2025-02-01' ORDER BY snapshot_date
query — 1 rows — 1126 ms
SELECT COUNT(DISTINCT generic_name) AS distinct_disc_2024 FROM health.fda_drug_shortages_history WHERE snapshot_date = '2025-01-17' AND discontinued_date LIKE '%/2024'
query — 1 rows — 916 ms
SELECT COUNT(DISTINCT generic_name) AS distinct_disc_2025 FROM health.fda_drug_shortages_history WHERE snapshot_date = '2026-01-20' AND discontinued_date LIKE '%/2025'
query — 20 rows — 1108 ms
SELECT presentation FROM health.fda_drug_shortages_history WHERE snapshot_date = '2025-12-16' AND status = 'Current' LIMIT 20
query — 1 rows — 1059 ms
WITH cur AS (
  SELECT DISTINCT generic_name, presentation
  FROM health.fda_drug_shortages_history
  WHERE snapshot_date = '2025-12-16' AND status = 'Current'
)
SELECT
  COUNT(DISTINCT generic_name) AS total_distinct,
  COUNT(DISTINCT CASE WHEN presentation ILIKE '%Injection%' OR presentation ILIKE '%Injectable%' THEN generic_name END) AS injectable_distinct
FROM cur
query — 1 rows — 987 ms
WITH cur AS (
  SELECT DISTINCT generic_name, initial_posting_date
  FROM health.fda_drug_shortages_history
  WHERE snapshot_date = '2025-12-16' AND status = 'Current'
)
SELECT COUNT(DISTINCT generic_name) AS total, COUNT(DISTINCT CASE WHEN initial_posting_date LIKE '%2025' THEN generic_name END) AS first_reported_2025
FROM cur
query — 1 rows — 1195 ms
SELECT COUNT(*) AS total_rows, COUNT(DISTINCT generic_name_normalized) AS total_distinct, COUNT(CASE WHEN discontinued_date IS NULL THEN 1 END) AS null_discontinued_rows, COUNT(DISTINCT CASE WHEN discontinued_date IS NULL THEN generic_name_normalized END) AS null_discontinued_distinct FROM health.fda_drug_shortages