Data currency
Built 2026-09-10 00:09 UTC. 16 of 17 automated feeds have a snapshot; 0 are stale and 1 have never run. 0 of 4734 records have not been checked in 60 days. Every feed is a script that writes JSON under public/ on a schedule and opens a pull request; the site reads the snapshots at build time, so nothing here is live.
Feeds
| Feed | State | Fetched | Age | Count | Snapshot | Source and schedule |
|---|---|---|---|---|---|---|
ClinicalTrials.gov phase 2/3 counts scripts/fetch-trials.ts | fresh | 2026-09-09 | 1 d | 377 products with a trial snapshot | trials/index.json | ClinicalTrials.gov API v2. Every 7 days, via refresh-trials.yml. |
Trial status changes scripts/fetch-trials.ts | fresh | 2026-09-09 | 1 d | 14 changes detected in the last 90 days | trials/changes.json | ClinicalTrials.gov API v2 (diff against previous snapshot). Every 7 days, via refresh-trials.yml. |
Literature snapshot scripts/fetch-papers.ts | fresh | 2026-09-08 | 2 d | 546 objects with paper counts | papers/index.json | Europe PMC REST API. Every 7 days, via refresh-papers.yml. |
Institution research output scripts/fetch-openalex.ts | fresh | 2026-09-06 | 4 d | 52 Citation sums pending: OpenAlex rate-limited the collection run. Re-run npm run fetch:openalex to fill them. | openalex/institutions.json | OpenAlex (CC0). Every 90 days, by hand. |
Key paper citations scripts/fetch-citations.ts | fresh | 2026-09-09 | 1 d | 108 key papers with citation counts | openalex/papers.json | OpenAlex works by DOI (CC0). Every 7 days, via refresh-pulse.yml. |
GLOBOCAN incidence and mortality scripts/fetch-globocan.ts | fresh | 2026-09-08 | 2 d | 186 estimates for 2022 | globocan/countries.json | IARC Global Cancer Observatory. Every 365 days, by hand. |
FDA oncology approvals scripts/fetch-fda.ts | fresh | 2026-09-09 | 1 d | 23 1 not yet in corpus | fda/recent.json | FDA OCE approval notifications and openFDA drugsfda. Every 7 days, via refresh-fda.yml. |
EMA register check scripts/fetch-ema.ts | fresh | 2026-09-09 | 1 d | 138 143 rows verified | regional/candidates.json | EMA medicines data (xlsx). Every 7 days, via refresh-regional.yml. |
Congress abstract harvest scripts/fetch-abstracts.ts | fresh | 2026-09-09 | 1 d | 400 ASCO Annual Meeting 2026 | digests/candidates.json | Crossref (JCO, Annals of Oncology, Blood, Cancer Research supplements). Every 7 days, via refresh-pulse.yml. |
HTA decisions scripts/fetch-hta.ts | fresh | 2026-09-09 | 1 d | 246 decisions with a fetched date or document | hta/index.json | NICE, G-BA, PBAC. Every 30 days, via refresh-hta.yml. |
Automated research pulse scripts/fetch-pulse.ts | fresh | 2026-09-09 | 1 d | 93 7 of 7 feeds reachable | pulse/auto.json | Journal and news RSS feeds, FDA OCE. Every 7 days, via refresh-pulse.yml. |
Survival statistics scripts/fetch-survival.ts | fresh | 2026-09-09 | 1 d | 31 SEER sites with survival tables | survival/index.json | SEER Cancer Stat Facts (NCI). Every 90 days, via refresh-hta.yml. |
Preprints scripts/fetch-preprints.ts | not run | preprints/index.json | Europe PMC preprint records. Every 7 days, via refresh-preprints.yml. | |||
Registry fact check scripts/factcheck.ts | fresh | 2026-09-08 | 2 d | 9 mismatches | factcheck.json | openFDA labels, ClinicalTrials.gov. Every 7 days, via factcheck.yml. |
Corpus audit scripts/audit.ts | fresh | 2026-09-09 | 1 d | 2,377 findings | audit.json | corpus rules. Every 7 days, via factcheck.yml. |
Provenance scripts/provenance.ts | fresh | 2026-09-09 | 1 d | 4,420 records with a last-edit commit | provenance.json | git blame. Every 7 days, via factcheck.yml. |
Change proposals scripts/propose-updates.ts | fresh | 2026-09-10 | 0 d | 104 drafted patches awaiting review | proposals/latest.json | fact check, trial changes, FDA and EMA feeds. Every 1 days, via propose.yml. |
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.
Schedules
| 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 |
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.
Incident log
- 2026-09-09openhtaNICE TA numbers that do not name the cited product
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/ - 2026-09-09openregionalEU rows recorded as under review that EMA lists as authorised
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.json - 2026-09-06openopenalex-institutionsOpenAlex citation sums missing for institutions
The 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.json - 2026-08-26resolved 2026-09-08fdaDaraxonrasib approval not reflected for two weeks
The 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 notice
Add incidents to src/data/incidents.ts with a date and a checkable pointer.
0 records were last checked more than 60 days ago and 0 more than 180 days ago (the asOf field on every record). The oldest are listed on the audit page; oncology moves weekly, so anything over 60 days is due. Raw data: audit.json.