Built 2026-10-03 19:38 UTC. All 19 automated feeds have a snapshot, none is stale. Every one of the 19,545 records has been checked within the last 60 days. Each feed is a script that runs on a schedule, saves what it fetched and opens a pull request; the site reads those snapshots when it is built, so nothing here is live.
| Feed | Snapshot | Source and schedule | |||||
|---|---|---|---|---|---|---|---|
ClinicalTrials.gov phase 2/3 counts scripts/fetch-trials.ts | fresh | 2026-09-28 | 5 d | 1,088 products with a trial snapshot | trials/index.json | ClinicalTrials.gov API v2. Every 7 days, automatically. | automatically |
Trial status changes scripts/fetch-trials.ts | fresh | 2026-09-28 | 5 d | 298 changes detected in the last 90 days | trials/changes.json | ClinicalTrials.gov API v2 (diff against previous snapshot). Every 7 days, automatically. | automatically |
Literature snapshot scripts/fetch-papers.ts | due | 2026-09-25 | 8 d | 3,683 objects with paper counts | papers/index.json | Europe PMC REST API. Every 7 days, automatically. | automatically |
Institution research output scripts/fetch-openalex.ts | fresh | 2026-09-06 | 27 d | 52 Citation sums pending: OpenAlex rate-limited the collection run; the next refresh fills them in. | openalex/institutions.json | OpenAlex (CC0). Every 90 days, by hand. | by hand |
Institution research output, five years scripts/fetch-institution-research.ts | fresh | 2026-10-01 | 2 d | 569 120 institutions unresolved | openalex/research-index.json | OpenAlex works by institution lineage (CC0). Every 7 days, automatically. | automatically |
Key paper citation counts scripts/fetch-citations.ts | fresh | 2026-10-01 | 2 d | 2,538 key papers with a citation count | citations/index.json | Europe PMC REST API (citedByCount by DOI or PMID). Every 7 days, automatically. | automatically |
Key paper citations by year scripts/fetch-openalex-papers.ts | fresh | 2026-10-01 | 2 d | 2,515 key papers with yearly citation counts | openalex/papers.json | OpenAlex works by DOI (CC0). Every 7 days, automatically. | automatically |
GLOBOCAN incidence and mortality scripts/fetch-globocan.ts | fresh | 2026-09-08 | 25 d | 186 estimates for 2022 | globocan/countries.json | IARC Global Cancer Observatory. Every 365 days, by hand. | by hand |
FDA oncology approvals scripts/fetch-fda.ts | fresh | 2026-09-30 | 3 d | 20 0 not yet in corpus | fda/recent.json | FDA OCE approval notifications and openFDA drugsfda. Every 7 days, automatically. | automatically |
EMA register check scripts/fetch-ema.ts | fresh | 2026-09-30 | 3 d | 15 275 rows verified | regional/candidates.json | EMA medicines data (xlsx). Every 7 days, automatically. | automatically |
Congress abstract harvest scripts/fetch-abstracts.ts | fresh | 2026-10-01 | 2 d | 400 ASCO Annual Meeting 2026 | digests/candidates.json | Crossref (JCO, Annals of Oncology, Blood, Cancer Research supplements). Every 7 days, automatically. | automatically |
HTA decisions scripts/fetch-hta.ts | fresh | 2026-10-01 | 2 d | 310 decisions with a fetched date or document | hta/index.json | NICE, G-BA, PBAC. Every 30 days, automatically. | automatically |
Automated research pulse scripts/fetch-pulse.ts | fresh | 2026-10-01 | 2 d | 100 6 of 7 feeds reachable | pulse/auto.json | Journal and news RSS feeds, FDA OCE. Every 7 days, automatically. | automatically |
Survival statistics scripts/fetch-survival.ts | fresh | 2026-10-01 | 2 d | 31 SEER sites with survival tables | survival/index.json | SEER Cancer Stat Facts (NCI). Every 90 days, automatically. | automatically |
Preprints scripts/fetch-preprints.ts | fresh | 2026-09-30 | 3 d | 3,353 | preprints/index.json | Europe PMC preprint records. Every 7 days, automatically. | automatically |
Registry fact check scripts/factcheck.ts | fresh | 2026-09-28 | 5 d | 351 mismatches | factcheck.json | openFDA labels, ClinicalTrials.gov. Every 7 days, automatically. | automatically |
Corpus audit scripts/audit.ts | fresh | 2026-09-28 | 5 d | 4,732 findings | audit.json | corpus rules. Every 7 days, automatically. | automatically |
Provenance scripts/provenance.ts | fresh | 2026-09-27 | 6 d | 19,280 records with a last-edit commit | provenance.json | git blame. Every 7 days, automatically. | automatically |
Change proposals scripts/propose-updates.ts | fresh | 2026-10-03 | 0 d | 105 drafted patches awaiting review | proposals/latest.json | fact check, trial changes, FDA and EMA feeds. Every 1 days, automatically. | automatically |
A feed is due once it is older than its cadence and stale at twice the cadence. Counts are the headline number each snapshot carries; details on the pages that use the feed: regulatory, calendar, digests, pulse, papers, HTA, survival, audit.
| Workflow | When | Runs |
|---|---|---|
CIci.yml | on push and pull request | validate, typecheck, lint, test, build |
Trial counts and changesrefresh-trials.yml | Mondays 06:17 UTC | fetch-trials (with change detection) |
Fact check, audit, provenancefactcheck.yml | Mondays 06:41 UTC | audit, provenance, factcheck |
Literature snapshotrefresh-papers.yml | Tuesdays 05:41 UTC | fetch-papers |
FDA approvalsrefresh-fda.yml | Wednesdays 06:07 UTC | fetch-fda |
EMA register checkrefresh-regional.yml | Wednesdays 06:37 UTC | fetch-ema |
Pulse, abstracts, citationsrefresh-pulse.yml | Thursdays 05:17 UTC | fetch-pulse, fetch-abstracts, fetch-citations, fetch-openalex-papers |
HTA decisions and survivalrefresh-hta.yml | 1st of the month 05:47 UTC | fetch-hta, fetch-survival |
Change proposalspropose.yml | daily 03:23 UTC | propose-updates (opens a bot-proposal PR) |
Scheduled workflows open a pull request with the changed snapshots; a maintainer merges after review. The proposal bot never merges.
The first run of scripts/fetch-hta.ts fetched every technology appraisal page cited in src/data/coverage-uk.ts and found pages whose title names a different medicine (for example TA982, cited for enfortumab vedotin, is a terminated baricitinib appraisal). Those rows are flagged on /hta/ until the TA numbers are corrected.
/hta/The first EMA register check found products recorded as under review in regional-approvals.ts that the register lists as authorised (camizestrant, tarlatamab, lurbinectedin, vimseltinib), one recorded as approved that EMA lists as withdrawn (pralsetinib), and products with an EPAR but no EU row. They are listed in public/regional/candidates.json and drafted as proposals; the EPAR_CHECKED stamp is not moved until the rows agree.
public/regional/candidates.jsonThe institution research-output run was rate-limited by OpenAlex, so works counts were collected but citation sums are null. The snapshot carries the note; re-running npm run fetch:openalex fills them.
public/openalex/institutions.jsonThe FDA approved daraxonrasib for metastatic pancreatic adenocarcinoma on 26 August 2026. The corpus recorded it on 8 September, when the weekly fact check flagged an openFDA label for a product not recorded as approved. The FDA approvals feed (scripts/fetch-fda.ts) now surfaces OCE notices on /regulatory/ within a week of publication.
FDA noticeEvery incident carries a date and a pointer you can check. Spotted a feed that is wrong or behind? Tell us.
No record was last checked more than 60 days ago (every record carries the date it was last checked). When any fall behind they are listed on the audit page; oncology moves weekly, so anything over 60 days is due. Raw data: audit.json.