OnCo

Roadmap: how OnCo keeps expanding and stays current

Every upgrade idea we have, with a status the corpus can contradict. The gauges are computed from the data at build time; where a claim of “shipped” is not borne out, the idea is shown as needing work and the gauge says what to do.

A. How healthy is the corpus

24 coverage checks over 4,455 records, recomputed on every build from src/lib/health.ts. Each gauge is passing records over records checked; each names the worst offenders and the one edit that fixes them. Adding a check is one entry in an array.

5 met19 need workSorted worst first. The tick on each bar is the target; a “shipped” idea below its target is shown as “needs work” in the list below.
93/ 37724.7%

The pipeline tracker should show live phase 2/3 counts for every product, not just the ones it was first run on.

What to do

Run `npm run fetch:trials` (weekly workflow) for the missing products; check the query term if a product returns nothing.

Worst 25 of 284 failing
  1. 131I-MIBG (iobenguane I-131) therapyno trials snapshot
  2. 177Lu-edotreotideno trials snapshot
  3. 177Lu-PSMA-I&Tno trials snapshot
  4. 212Pb-DOTAMTATEno trials snapshot
  5. 5-Aminolevulinic acid (oral, for glioma surgery)no trials snapshot
  6. Abiraterone acetateno trials snapshot
  7. Acalabrutinibno trials snapshot
  8. ADU-S100 (MIW815)no trials snapshot
  9. Afatinibno trials snapshot
  10. Aldesleukin (high-dose IL-2)no trials snapshot
  11. Alectinibno trials snapshot
  12. Alpelisibno trials snapshot
  13. Anitocabtagene autoleucelno trials snapshot
  14. Apalutamideno trials snapshot
  15. Arsenic trioxideno trials snapshot
  16. ARX788no trials snapshot
  17. Asciminibno trials snapshot
  18. Asparaginase (pegaspargase, calaspargase pegol, Erwinia asparaginase)no trials snapshot
  19. Atirmociclibno trials snapshot
  20. Avapritinibno trials snapshot
  21. Avelumabno trials snapshot
  22. Avutometinib + defactinibno trials snapshot
  23. Axitinibno trials snapshot
  24. Azacitidineno trials snapshot
  25. Belinostatno trials snapshot

Institutions with peopleinstitutions

needs work
73/ 42117.3%

An institution page should name the clinicians and scientists who work there.

What to do

Add person records under data/people/ with `institutionId` set to this institution.

Worst 25 of 348 failing
  1. A.C. Camargo Cancer Centerno people
  2. Aarhus University Hospitalno people
  3. Advanced Centre for Treatment, Research and Education in Cancerno people
  4. Advanced Research Projects Agency for Healthno people
  5. Agência Nacional de Vigilância Sanitáriano people
  6. Aichi Cancer Centerno people
  7. All India Institute of Medical Sciences, New Delhino people
  8. American Society for Radiation Oncologyno people
  9. American Society of Hematologyno people
  10. ANZUP Cancer Trials Groupno people
  11. Apollo Hospitals (Apollo Cancer Centres)no people
  12. Arc Instituteno people
  13. ARCAGY-GINECOno people
  14. Atrium Health Wake Forest Baptist Comprehensive Cancer Centerno people
  15. Auckland City Hospital / Te Pūriri o Te Ora Cancer and Blood Serviceno people
  16. Australasian Gastro-Intestinal Trials Groupno people
  17. Austrian Breast & Colorectal Cancer Study Groupno people
  18. Barbara Ann Karmanos Cancer Instituteno people
  19. Barts Cancer Institute / Barts Health NHS Trustno people
  20. BC Cancerno people
  21. Beatson West of Scotland Cancer Centre / CRUK Scotland Instituteno people
  22. Breast Cancer Research Foundationno people
  23. Breast Cancer Trialsno people
  24. Butaro Cancer Center of Excellenceno people
  25. Canadian Cancer Societyno people
875/ 4,45519.6%

The 'simple' reading layer (about a 12-year-old reading age) needs its own text on every record.

What to do

Add a sentence for this id in data/simple/part-b.ts.

Worst 25 of 3,580 failing
  1. MONALEESA-2no simple text
  2. MONARCH 3no simple text
  3. PALOMA-2no simple text
  4. SOLAR-1no simple text
  5. CAPItello-291no simple text
  6. INAVO120no simple text
  7. EMERALDno simple text
  8. EMBER-3no simple text
  9. SERENA-6no simple text
  10. evERAno simple text
  11. persevERAno simple text
  12. lidERAno simple text
  13. postMONARCHno simple text
  14. TAILORxno simple text
  15. RxPONDER (SWOG S1007)no simple text
  16. SOFT & TEXTno simple text
  17. PALLAS & PENELOPE-Bno simple text
  18. TROPiCS-02no simple text
  19. FOURLIGHT-1no simple text
  20. CAMBRIA-1 & CAMBRIA-2no simple text
  21. Letrozole (and other aromatase inhibitors)no simple text
  22. Exemestaneno simple text
  23. Tamoxifenno simple text
  24. Fulvestrantno simple text
  25. Camizestrantno simple text
1,795/ 4,45540.3%

Every record should cite at least one external source (a label, paper, registry, or regulator page) so a reader can check it.

What to do

Add a `links` entry with a primary source URL and a label. For trials an `nct` id counts.

Worst 25 of 2,660 failing
  1. Pasritamigno source
  2. Flotufolastat F-18no source
  3. Decipher Prostateno source
  4. Elironrasibno source
  5. MRTX1133no source
  6. Rindopepimutno source
  7. Camizestrantno source
  8. Imlunestrantno source
  9. Giredestrantno source
  10. Atirmociclibno source
  11. Pyrotinibno source
  12. Trastuzumab rezetecanno source
  13. Trastuzumab brengitecanno source
  14. ARX788no source
  15. Camrelizumab + rivoceranibno source
  16. Tinengotinibno source
  17. 177Lu-edotreotideno source
  18. Capecitabine + temozolomide (CAPTEM)no source
  19. Serplulimabno source
  20. Gemcitabine intravesical system (TAR-200)no source
  21. Cretostimogene grenadenorepvecno source
  22. Nogapendekin alfa inbakiceptno source
  23. Zelenectide pevedotinno source
  24. Avutometinib + defactinibno source
  25. Rinatabart sesutecanno source
2,003/ 4,45545%

Every page should show its last commit, author, and diff; that comes from public/provenance.json, rebuilt weekly.

What to do

Run `npm run provenance` (the weekly fact-check workflow does this) so new records get a provenance line.

Worst 25 of 2,452 failing
  1. Diet, Exercise & Lifestyleno provenance entry
  2. Fabrice Barlesino provenance entry
  3. Fabrice Andréno provenance entry
  4. Jean-Charles Soriano provenance entry
  5. Benjamin Besseno provenance entry
  6. Aurélien Marabelleno provenance entry
  7. Karim Fizazino provenance entry
  8. Laurence Zitvogelno provenance entry
  9. Nicholas Turnerno provenance entry
  10. Johann de Bonono provenance entry
  11. Andrew Tuttno provenance entry
  12. Nicholas Jamesno provenance entry
  13. David Cunninghamno provenance entry
  14. James Larkinno provenance entry
  15. Uwe Oelfkeno provenance entry
  16. Kristian Helinno provenance entry
  17. Paul Workmanno provenance entry
  18. Christopher Lordno provenance entry
  19. Kevin Harringtonno provenance entry
  20. Mel Greavesno provenance entry
  21. Charles Swantonno provenance entry
  22. Paul Nurseno provenance entry
  23. Caetano Reis e Sousano provenance entry
  24. Erik Sahaino provenance entry
  25. Michelle Mitchellno provenance entry
114/ 34832.8%

Each technology page should show its own wireframe schematic, not the generic one borrowed from its front.

What to do

Add a builder for this id in data/schematics.ts (static) or data/animated.ts (animated).

Worst 25 of 234 failing
  1. Active surveillancegeneric schematic
  2. Active surveillance of papillary microcarcinomageneric schematic
  3. ADC bioconjugation manufacturing (CDMOs)generic schematic
  4. AI auto-contouring and adaptive planninggeneric schematic
  5. AI compute and model platforms for oncologygeneric schematic
  6. Aidoc CARE (clinical radiology foundation model)generic schematic
  7. Alcohol reduction, pricing and cancer warning labelsgeneric schematic
  8. Allogeneic donor and iPSC master cell banksgeneric schematic
  9. Allogeneic stem cell transplantationgeneric schematic
  10. Alpha-emitter nanogenerators and daughter trappinggeneric schematic
  11. AlphaFold 3generic schematic
  12. AlphaGenomegeneric schematic
  13. AlphaMissensegeneric schematic
  14. Antibody manufacturing (CHO bioprocessing)generic schematic
  15. Antibody-oligonucleotide conjugatesgeneric schematic
  16. Antiemetics for chemotherapy-induced nausea and vomitinggeneric schematic
  17. Apheresis and starting-material collectiongeneric schematic
  18. Aspirin for cancer prevention and adjuvant therapygeneric schematic
  19. Atlas (Aignostics, Mayo Clinic, Charité)generic schematic
  20. Auger-electron therapygeneric schematic
  21. Autologous stem cell transplant (high-dose therapy)generic schematic
  22. Bacteriophage-based tumour deliverygeneric schematic
  23. Bariatric surgery and cancer incidencegeneric schematic
  24. BH3 profiling (functional apoptosis testing)generic schematic
  25. Biliary stenting and drainagegeneric schematic
448/ 4,45510.1%

Multilingual TL;DRs (Spanish, Mandarin, Portuguese, Hindi) exist only where every language has a translation for the record.

What to do

Add the TL;DR translation for this id in data/i18n/{es,zh,pt,hi}.ts, marked machine-assisted until reviewed.

Worst 25 of 4,007 failing
  1. NLST & NELSON (low-dose CT screening)missing es, zh, pt, hi
  2. CROWNmissing es, zh, pt, hi
  3. ALINAmissing es, zh, pt, hi
  4. PACIFICmissing es, zh, pt, hi
  5. LAURAmissing es, zh, pt, hi
  6. CheckMate 816missing es, zh, pt, hi
  7. KEYNOTE-671missing es, zh, pt, hi
  8. KEYNOTE-024 & KEYNOTE-189missing es, zh, pt, hi
  9. HARMONi-2missing es, zh, pt, hi
  10. HARMONi-3missing es, zh, pt, hi
  11. HERTHENA-Lung02missing es, zh, pt, hi
  12. TROPION-Lung05missing es, zh, pt, hi
  13. KRYSTAL-12missing es, zh, pt, hi
  14. CodeBreaK 200missing es, zh, pt, hi
  15. Krascendo 1missing es, zh, pt, hi
  16. LIBRETTO-431missing es, zh, pt, hi
  17. TeliMET NSCLC-01missing es, zh, pt, hi
  18. ALKOVE-1missing es, zh, pt, hi
  19. SOHO-01missing es, zh, pt, hi
  20. Amivantamab + lazertinib (first-line EGFR NSCLC)missing es, zh, pt, hi
  21. PD-1 blockade + chemotherapy in PD-L1-low NSCLCmissing es, zh, pt, hi
  22. Sequence: targeted therapy before immunotherapy in driver-positive NSCLCmissing es, zh, pt, hi
  23. Curiummissing es, zh, pt, hi
  24. Sumitomo Pharma (Myovant)missing es, zh, pt, hi
  25. Veracyte (Decipher)missing es, zh, pt, hi
2,582/ 4,45558%

The technical summary should say what the thing is, how it works, and what the evidence shows; under 300 characters it cannot.

What to do

Expand `summary` with mechanism, evidence, and open questions, in paragraphs separated by blank lines.

Worst 25 of 1,873 failing
  1. JNCI: Journal of the National Cancer Institute21 characters
  2. Breast Cancer Research Foundation22 characters
  3. Healio Hematology/Oncology23 characters
  4. ESMO Open26 characters
  5. San Antonio Breast Cancer Symposium28 characters
  6. Nature Briefing: Cancer28 characters
  7. CancerNetwork (ONCOLOGY)30 characters
  8. Fierce Biotech31 characters
  9. BioPharma Dive31 characters
  10. Dimensions32 characters
  11. bioRxiv34 characters
  12. Targeted Oncology34 characters
  13. Medscape Oncology34 characters
  14. Cancer Research38 characters
  15. ASH Annual Meeting45 characters
  16. ASTRO Annual Meeting45 characters
  17. Menarini / Stemline46 characters
  18. Macmillan Cancer Support48 characters
  19. awesome-cancer-variant-resources51 characters
  20. EU Clinical Trials Register / CTIS51 characters
  21. Medable52 characters
  22. Pancreatic Cancer Action Network (PanCAN)52 characters
  23. FLAURA253 characters
  24. PubMed & Europe PMC53 characters
  25. Hospital General Universitario Gregorio Marañón54 characters
440/ 82653.3%

Companies, institutions, and collections should show a self-hosted logo so lists are scannable.

What to do

Run `npm run fetch:logos`; add a Wikidata QID override in the script if the automatic match fails.

Worst 25 of 386 failing
  1. Sumitomo Pharma (Myovant)no logo
  2. ESSA Pharmano logo
  3. Jiangsu Hengrui Pharmaceuticalsno logo
  4. Elevar Therapeutics (HLB)no logo
  5. Jiangsu Hengrui Pharmaceuticalsno logo
  6. TransThera Sciencesno logo
  7. Shanghai Henlius Biotechno logo
  8. Sichuan Kelun-Biotechno logo
  9. SystImmune / Sichuan Biokinno logo
  10. RemeGenno logo
  11. Duality Biotherapeuticsno logo
  12. CARsgen Therapeuticsno logo
  13. IBA (Ion Beam Applications)no logo
  14. Keymed Biosciences (KYM Biosciences)no logo
  15. Bulsara Bioworksno logo
  16. Valius Sciencesno logo
  17. SEngine Precision Medicineno logo
  18. Aktis Oncologyno logo
  19. Tubulis (Gilead)no logo
  20. Harbinger Healthno logo
  21. Xilisno logo
  22. National Cancer Center Hospitalno logo
  23. Cancer Institute Hospital of JFCRno logo
  24. Fondazione IRCCS Istituto Nazionale dei Tumorino logo
  25. UCSF Helen Diller Family Comprehensive Cancer Centerno logo
546/ 88162%

Drug, target, cancer, and technology pages show what the literature is publishing; that needs a snapshot per record.

What to do

Run `npm run fetch:papers` (weekly workflow) so new records are included in public/papers/.

Worst 25 of 335 failing
  1. In vivo base and prime editing for cancerno papers snapshot
  2. Epigenetic editing (durable gene silencing)no papers snapshot
  3. Self-amplifying and circular RNA therapeuticsno papers snapshot
  4. CAR-T against stroma: fibroblasts and myeloid cellsno papers snapshot
  5. Engineered bacteria as living cancer drugsno papers snapshot
  6. Bacteriophage-based tumour deliveryno papers snapshot
  7. Microbiome modulation to unlock immunotherapyno papers snapshot
  8. Targeting the tumour's own microbesno papers snapshot
  9. DNA origami nanorobotsno papers snapshot
  10. Magnetic nanoparticle hyperthermiano papers snapshot
  11. Photothermal (plasmonic) nanoparticle ablationno papers snapshot
  12. Sonodynamic therapyno papers snapshot
  13. Radiodynamic therapy and radiosensitising nanoparticlesno papers snapshot
  14. Very-high-energy electron therapyno papers snapshot
  15. Proton arc therapyno papers snapshot
  16. Lattice and GRID radiotherapyno papers snapshot
  17. Auger-electron therapyno papers snapshot
  18. Alpha-emitter nanogenerators and daughter trappingno papers snapshot
  19. Radioligand plus DNA-repair inhibitor combinationsno papers snapshot
  20. Cancer neuroscience: cutting the nerve supplyno papers snapshot
  21. Cachexia-directed therapy (GDF-15 blockade)no papers snapshot
  22. Chronotherapy: timing treatment to the body clockno papers snapshot
  23. Metabolic therapy: starving the tumour of a nutrientno papers snapshot
  24. Senolytics and senescence-directed therapyno papers snapshot
  25. Intratumoural gene electrotransfer (IL-12 plasmid)no papers snapshot
228/ 35763.9%

Glossary terms promise a Wikipedia link for readers who want the long version.

What to do

Set `wikipedia` on the term record to the matching article URL.

Worst 25 of 129 failing
  1. 340B Drug Pricing Programno Wikipedia link
  2. Acid-labile hydrazone (AcBut)no Wikipedia link
  3. ADC sequencingno Wikipedia link
  4. Adolescent and young adult (AYA) oncologyno Wikipedia link
  5. Alpha vs beta emittersno Wikipedia link
  6. BCG-unresponsiveno Wikipedia link
  7. Bethesda category (thyroid cytology)no Wikipedia link
  8. Biochemical recurrence (BCR)no Wikipedia link
  9. BIOSECURE Actno Wikipedia link
  10. Blinded independent central review (BICR)no Wikipedia link
  11. Breakthrough Therapy / Priority Review / Priority Voucherno Wikipedia link
  12. Bystander effect (ADC)no Wikipedia link
  13. Cancer during pregnancyno Wikipedia link
  14. Cancer health disparities and equityno Wikipedia link
  15. CDMO (contract development and manufacturing organisation)no Wikipedia link
  16. Cell of origin (GCB vs ABC)no Wikipedia link
  17. CL2Ano Wikipedia link
  18. Clinical complete response (cCR)no Wikipedia link
  19. Combined positive score (CPS)no Wikipedia link
  20. Companion diagnosticno Wikipedia link
  21. Consensus molecular subtypes (CMS1-4)no Wikipedia link
  22. Deauville five-point scaleno Wikipedia link
  23. del(17p) / TP53 aberration in CLLno Wikipedia link
  24. Disseminated tumour cells (DTCs)no Wikipedia link
  25. DM4no Wikipedia link
2,909/ 4,43665.6%

A record nothing links to can only be found by search; it should be referenced by at least one other page.

What to do

Find the cancer, product, trial, or idea this record belongs with and add this id to its relation arrays.

Worst 25 of 1,527 failing
  1. Vulvar cancerno incoming links
  2. Idelalisibno incoming links
  3. Duvelisibno incoming links
  4. Copanlisibno incoming links
  5. Umbralisibno incoming links
  6. Ixazomibno incoming links
  7. Elotuzumabno incoming links
  8. Thalidomideno incoming links
  9. Panobinostatno incoming links
  10. Asparaginase (pegaspargase, calaspargase pegol, Erwinia asparaginase)no incoming links
  11. Belumosudilno incoming links
  12. Treosulfanno incoming links
  13. Dacomitinibno incoming links
  14. Mobocertinibno incoming links
  15. Sunvozertinibno incoming links
  16. Ceritinibno incoming links
  17. Brigatinibno incoming links
  18. Ensartinibno incoming links
  19. Taletrectinibno incoming links
  20. Sipuleucel-Tno incoming links
  21. Leuprolide (leuprorelin) and GnRH agonistsno incoming links
  22. Degarelixno incoming links
  23. Bicalutamideno incoming links
  24. Oxaliplatinno incoming links
  25. Eribulinno incoming links
205/ 29769%

An approved product should say where it is approved (US, EU, UK, Japan, China, Australia), not just that it is.

What to do

Add a row for this product in regional-approvals.ts with a regulator source per region.

Worst 25 of 92 failing
  1. 5-Aminolevulinic acid (oral, for glioma surgery)no regional row
  2. Afatinibno regional row
  3. Aldesleukin (high-dose IL-2)no regional row
  4. Arsenic trioxideno regional row
  5. Asparaginase (pegaspargase, calaspargase pegol, Erwinia asparaginase)no regional row
  6. Belinostatno regional row
  7. Belumosudilno regional row
  8. Bendamustineno regional row
  9. Bicalutamideno regional row
  10. Bleomycinno regional row
  11. Bosutinibno regional row
  12. Brexucabtagene autoleucelno regional row
  13. Brigatinibno regional row
  14. CAPOX (capecitabine, oxaliplatin)no regional row
  15. Ceritinibno regional row
  16. Cladribineno regional row
  17. Cosibelimabno regional row
  18. Crizotinibno regional row
  19. Cyclophosphamideno regional row
  20. Cytarabine + anthracycline ('7+3')no regional row
  21. Dacomitinibno regional row
  22. Dactinomycin (actinomycin D)no regional row
  23. Degarelixno regional row
  24. Duvelisibno regional row
  25. Elotuzumabno regional row

People with paperspeople

needs work
335/ 46472.2%

A person record should list selected publications so the claim of expertise can be checked.

What to do

Add `papers` entries (title, journal, year, url or doi) to the person record.

Worst 25 of 129 failing
  1. Alexandra "Alex" Scottno papers
  2. Ananya Choudhuryno papers
  3. André Ilbawino papers
  4. Andrés Cervantesno papers
  5. Andrew Wardleyno papers
  6. Angelika Eggertno papers
  7. Angelina Jolieno papers
  8. Anna Fagottino papers
  9. Anthony Gonçalvesno papers
  10. Artur Katzno papers
  11. Ashya Kingno papers
  12. Audre Lordeno papers
  13. Barbara Bradfieldno papers
  14. Beatriz Castelono papers
  15. Bernard Fisherno papers
  16. Betty Fordno papers
  17. Brian Drukerno papers
  18. Bud Romineno papers
  19. Carlos Barriosno papers
  20. Carsten Bokemeyerno papers
  21. Chadwick Bosemanno papers
  22. Christof von Kalleno papers
  23. Claus Belkano papers
  24. Dame Cicely Saundersno papers
  25. Dame Deborah Jamesno papers
76/ 9282.6%

For each target we should say how common it is in each cancer, with a source, so the prevalence matrix is complete.

What to do

Add `prevalence` rows ({ cancerId, pct, measure, source }) to the target record.

All 16 failing
  1. CCR4no prevalence rows
  2. CD3no prevalence rows
  3. CD30no prevalence rows
  4. CD52no prevalence rows
  5. CD7no prevalence rows
  6. CD73 / adenosine axisno prevalence rows
  7. CSF1Rno prevalence rows
  8. EpCAMno prevalence rows
  9. GD2 (disialoganglioside)no prevalence rows
  10. GRPR (gastrin-releasing peptide receptor)no prevalence rows
  11. KLK2 (kallikrein-2)no prevalence rows
  12. LIV-1 (SLC39A6)no prevalence rows
  13. ROS1no prevalence rows
  14. STEAP1no prevalence rows
  15. TIM-3no prevalence rows
  16. VISTAno prevalence rows
0/ 4,4360%

Pages should carry a named expert or patient-advocate reviewer with a date and a conflict-of-interest statement.

What to do

Recruit a reviewer for this record and add an entry to data/reviews.ts (track, reviewer, role, date, coi).

Worst 25 of 4,436 failing
  1. Triple-negative breast cancer (TNBC)not reviewed
  2. HR-positive / HER2-negative breast cancernot reviewed
  3. HER2-positive breast cancernot reviewed
  4. Non-small-cell lung cancernot reviewed
  5. Small-cell lung cancernot reviewed
  6. Colorectal cancernot reviewed
  7. Pancreatic ductal adenocarcinomanot reviewed
  8. Gastric & gastro-oesophageal junction cancernot reviewed
  9. Oesophageal cancernot reviewed
  10. Hepatocellular carcinomanot reviewed
  11. Biliary tract cancer (cholangiocarcinoma)not reviewed
  12. Prostate cancernot reviewed
  13. Bladder & urothelial cancernot reviewed
  14. Renal cell carcinomanot reviewed
  15. Ovarian cancernot reviewed
  16. Endometrial cancernot reviewed
  17. Cervical cancernot reviewed
  18. Melanomanot reviewed
  19. Glioma & glioblastomanot reviewed
  20. Head and neck squamous cell carcinomanot reviewed
  21. Sarcomas (soft tissue, bone, GIST)not reviewed
  22. Thyroid cancernot reviewed
  23. Neuroendocrine tumoursnot reviewed
  24. Mesotheliomanot reviewed
  25. Neuroblastoma (paediatric)not reviewed
346/ 40186.3%

Every trial should carry arms, N, endpoints, and hazard ratios so pictograms and evidence scores can render.

What to do

Add an entry in trial-outcomes.ts with the primary endpoint, arms, and the source publication.

Worst 25 of 55 failing
  1. ACTION-1no outcomes
  2. AHOD2131 (COG / NCTN)no outcomes
  3. AlphaBreak (FPI-2265) & AcTION (225Ac-PSMA-617)no outcomes
  4. ASCENT-05 / OptimICE-RD (AFT-65, GBG 119, NSABP B-63)no outcomes
  5. BELLWAVE-011no outcomes
  6. CaDAnCe-304no outcomes
  7. CAMBRIA-1 & CAMBRIA-2no outcomes
  8. CARTITUDE-5no outcomes
  9. CELESTIAL-TNCLLno outcomes
  10. COG ANBL1531no outcomes
  11. DeLLphi-305no outcomes
  12. EPCORE DLBCL-2no outcomes
  13. FIRST-308no outcomes
  14. FORTIFI-HN01no outcomes
  15. GOLSEEK-1no outcomes
  16. HERIZON-BTC-302no outcomes
  17. IDeate-Lung02no outcomes
  18. iStopMMno outcomes
  19. IZABRIGHT-Breast01no outcomes
  20. LiGeR-HN1no outcomes
  21. MEVPRO-1no outcomes
  22. myeloMATCHno outcomes
  23. OptimICE-pCR (A012103)no outcomes
  24. PRISM-MEL-301no outcomes
  25. SCARLET (SWOG S2212)no outcomes
370/ 37798.1%

Small molecules should rotate on their page; biologics, cells, and tests should show a placeholder that says why there is no molecule.

What to do

Add the product to structures.ts (PubChem CID or PDB id) and run `npm run fetch:structures`, or set a `modality` the placeholder recognises.

All 7 failing
  1. Decipher Prostatemodality "Gene-expression genomic classifier" has no structure or placeholder
  2. Intravesical BCGmodality "Live bacterial immunotherapy (intravesical)" has no structure or placeholder
  3. Moxetumomab pasudotoxmodality "Anti-CD22 immunotoxin (Pseudomonas exotoxin A fragment)" has no structure or placeholder
  4. Nogapendekin alfa inbakiceptmodality "IL-15 superagonist (intravesical, with BCG)" has no structure or placeholder
  5. Radium-223 dichloridemodality "Targeted alpha therapy (bone-seeking)" has no structure or placeholder
  6. Ropeginterferon alfa-2bmodality "Long-acting mono-pegylated interferon alfa" has no structure or placeholder
  7. Tagraxofuspmodality "Recombinant cytotoxin (IL-3 fused to diphtheria toxin)" has no structure or placeholder
4,442/ 4,45599.7%

The plain-language TL;DR is the first thing a patient reads; it should be at least one complete sentence of 60 characters or more.

What to do

Rewrite `tldr` as one or two plain sentences ending in a full stop; no jargon, no fragments.

All 13 failing
  1. Fortrea47 characters
  2. Pathology AI benchmarks (CAMELYON, PANDA, TCGA slide tasks)51 characters
  3. Marco Guzzo52 characters
  4. All of Us Research Program52 characters
  5. Syndax Pharmaceuticals54 characters
  6. Iovance Biotherapeutics54 characters
  7. ASCO Daily News54 characters
  8. IBA (Ion Beam Applications)56 characters
  9. Mevion Medical Systems56 characters
  10. npj Precision Oncology56 characters
  11. Elena Garralda59 characters
  12. Cancer Research59 characters
  13. HistAI59 characters
64/ 64100%

Every cancer page should reach TNBC depth: at least three standard-of-care settings, three history events, and a pipeline.

What to do

Add `standardOfCare` rows by setting with refs, `history` events with refs, and `pipeline` ids; see cancers.ts for the TNBC model.

B. Every idea, by status

All 121 product, data, and community ideas from three waves, grouped by theme. The number is wave and position (W2·07). Editorial statuses are shipped, building, planned, proposed; needs work is applied automatically when a gauge linked to the idea is below its target, which is currently the case for 16 ideas previously marked shipped or building.

16 needs work2 building2 planned17 proposed84 shipped

Knowledge graph 11

  1. W1·01
    Page per object, backlinks everywhere

    Every technology, target, drug, company, trial, and term has a URL and shows what links to it. That is what makes a hub rather than a list.

    Editorial status was “shipped”, but records something links to is 2,909/4,436 (65.6%, target 95%). Claim it.

    needs work
  2. W3·03
    People of oncology

    Clinicians, scientists and leaders per institution with specialisms, roles and papers at /people/.

    Editorial status was “shipped”, but people with papers is 335/464 (72.2%, target 95%). Claim it.

    needs work
  3. W1·05
    Wikidata / Wikipedia cross-linking and edit-back

    Push structured facts to Wikidata and pull Wikipedia summaries, so the hub and the commons improve each other.

    proposed
  4. W1·02
    Non-technical TL;DR on every page

    Patients, families, journalists, and investors should get the point in one sentence before the jargon.

    Verified: tl;drs that are full sentences is 4,442/4,455 (99.7%, target 95%).

    shipped
  5. W1·03
    Public JSON API of the whole corpus

    Let others build on the data: trial matchers, chatbots, dashboards. Published at /api/v1/.

    shipped
  6. W1·04
    Graph explorer

    An interactive force graph to navigate from a cancer to its targets to the drugs and the companies, visually.

    shipped
  7. W1·06
    'As of' dates and change log on every fact

    Oncology changes weekly. Show when each fact was checked and what changed, like a package changelog.

    Verified: records checked in the last 60 days is 4,455/4,455 (100%, target 90%).

    shipped
  8. W1·07
    Evidence tiers (approved / phase 3 / phase 2 / preclinical / concept) as a visual language

    Colour and badge every claim by evidence level so hype is visible at a glance.

    shipped
  9. W3·09
    Foundation models for cancer and the cell

    Models, companies, datasets and two roadmaps mapped as first-class objects.

    shipped
  10. W3·10
    Mechanism research map

    Hallmarks, metastasis, microenvironment, metabolism and dormancy as pathways, terms and ideas.

    shipped
  11. W3·11
    Supporting technologies and their companies

    Sequencing, pathology, imaging, data, manufacturing and trial infrastructure that everything else depends on.

    shipped

Patients 8

  1. W1·12
    Plain-language trial result explainers

    Translate hazard ratios and pCR rates into 'out of 100 people' pictograms.

    planned
  2. W1·14
    Multilingual TL;DRs

    Start with Spanish, Mandarin, Hindi, Portuguese, Arabic for the TL;DR layer only, where translation is cheap and value is high.

    proposed
  3. W1·08
    'For me' cancer picker

    Select your cancer type(s) and see the technologies, drugs, trials, and ideas relevant to you.

    shipped
  4. W1·09
    Biomarker-aware personalisation

    Add PD-L1, HER2-low, BRCA, TROP2 status and get a narrower, more useful view. No data leaves the browser.

    shipped
  5. W1·10
    Questions to ask your oncologist

    Per cancer and per stage, a printable list drawn from the state-of-art and pipeline sections.

    shipped
  6. W1·11
    Trial finder linked to ClinicalTrials.gov API

    From any drug or cancer page, live recruiting trials near a postcode.

    shipped
  7. W1·13
    Second-opinion and expert-centre directory per cancer

    Which institutions run the key trials for this cancer; how to get referred.

    shipped
  8. W1·15
    Caregiver and survivorship section

    Supportive care, exercise oncology, financial toxicity, fertility, and late effects deserve first-class pages.

    shipped

Pipeline 10

  1. W1·17
    Pipeline tracker with automated ClinicalTrials.gov ingestion

    Nightly job pulls phase 2/3 trials for every drug and target in the corpus and flags new ones for review.

    Editorial status was “shipped”, but products with a clinicaltrials.gov snapshot is 93/377 (24.7%, target 95%). Claim it.

    needs work
  2. W1·16
    Roadmaps per technology family

    History → current → emerging → speculative, with linked evidence. ADC, TROP2, radiopharma, cell therapy, imaging, early detection shipped.

    shipped
  3. W1·18
    Readout calendar

    Expected trial readouts, FDA PDUFA dates, and advisory committees (e.g., Galleri 23 Sep 2026) on one timeline.

    shipped
  4. W1·19
    Conference digests (ASCO, ESMO, AACR, SABCS, ASH)

    Within a week of each congress, update the affected objects and publish a diff.

    shipped
  5. W1·20
    Failure museum

    A section for drugs and ideas that failed (TIGIT, magrolimab, rovalpituzumab, iniparib) with what was learned. Failures are data.

    shipped
  6. W1·21
    Pairings and anti-pairings

    Combinations that work, sequences that work, and cautions, each with rationale and evidence.

    shipped
  7. W1·22
    Open ideas board with maturity grading

    Hypotheses with a proposed test, so the community can argue, refine, and eventually see them tested.

    shipped
  8. W1·23
    Resistance mechanism atlas

    For each drug class, the known escape routes and the drugs designed to close them.

    shipped
  9. W1·24
    Payload and linker registry

    Every ADC payload/linker with permeability, efflux susceptibility, and toxicity profile, cross-referenced to ADCs.

    shipped
  10. W1·25
    Isotope supply tracker

    Ac-225, Lu-177, Pb-212 production capacity and suppliers, because supply gates the radiopharma roadmap.

    shipped

Institutions 5

  1. W1·26
    Global institution map and transparent ranking

    Where the centres that matter are, ranked by a formula anyone can inspect and dispute.

    shipped
  2. W1·27
    University output ranking from open bibliometrics

    Pull Nature Index and OpenAlex counts per institution for oncology journals; publish the query.

    shipped
  3. W1·28
    Trial leadership index

    Which institutions led the pivotal trials in the corpus. A different signal from publication counts.

    shipped
  4. W1·29
    Open cooperative-group directory

    SWOG, NRG, Alliance, EORTC, BIG, GBG, JCOG: what they run and how to join.

    shipped
  5. W1·30
    Funding flows

    NCI, CRUK, ERC, philanthropy: where the money goes by cancer and modality.

    shipped

Community 13

  1. W1·32
    Source-required rule

    Like the Open Medical Registry: no claim without a URL and a date. Unknown is better than guessed.

    Editorial status was “shipped”, but records with a primary source is 1,795/4,455 (40.3%, target 95%). Claim it.

    needs work
  2. W1·33
    Expert review badges

    Clinicians and scientists sign off on pages in their area; badge shows reviewer and date.

    Editorial status was “shipped”, but records with a review badge is 0/4,436 (0%, target 10%). Claim it.

    needs work
  3. W1·34
    Patient-advocate review track

    Advocacy groups (LBBC, BCRF, TNBC Foundation, PanCAN) review TL;DRs for clarity and tone.

    proposed
  4. W2·45
    Expert contributor programme

    One named reviewer per cancer and front.

    proposed
  5. W2·47
    Trial sponsor feed

    Sponsors register readouts into the calendar.

    proposed
  6. W2·48
    Congress partnerships

    Structured summaries within a week of each meeting.

    proposed
  7. W2·49
    Teaching packs

    Slides and quizzes per cancer and front.

    proposed
  8. W3·18
    Idea voting and adoption tracking

    Let readers back ideas and record when an organisation picks one up.

    proposed
  9. W1·31
    GitHub-native contribution

    Every object is a TypeScript record; PRs with sources are the edit mechanism. CI validates links and references.

    shipped
  10. W1·35
    Bounties for gaps

    List missing objects and stale facts; recognise contributors who fill them.

    shipped
  11. W1·36
    Weekly 'what changed in oncology' newsletter generated from the diff

    The changelog is the newsletter. Zero extra editorial cost.

    shipped
  12. W2·46
    Organisation self-service edits

    Verified organisations propose changes via /suggest/.

    shipped
  13. W2·50
    Open evaluation

    100 questions, a rubric, and a public leaderboard at /eval/.

    shipped

Tools 8

  1. W1·37
    Full-text search across all objects

    Client-side index; works offline; no server.

    shipped
  2. W1·38
    Compare view

    Side-by-side of two drugs (e.g., sacituzumab vs Dato-DXd) or two technologies with the same fields.

    shipped
  3. W1·39
    Embeddable cards

    One line of HTML to embed an OnCo object card in a blog, hospital site, or Wikipedia talk page.

    shipped
  4. W1·40
    MCP server

    Expose the corpus to AI assistants via Model Context Protocol so any chatbot can cite OnCo.

    shipped
  5. W1·41
    Pathway diagrams with clickable nodes

    Each node links to its target page and the drugs against it.

    shipped
  6. W1·42
    Tumour board mode

    Enter a molecular profile (mutations, IHC) and get the relevant targets, drugs, trials, and cautions in one printable view.

    shipped
  7. W1·43
    Reading paths

    Curated sequences of pages: 'ADCs in 30 minutes', 'Understand your TNBC diagnosis', 'Radiopharma for investors'.

    shipped
  8. W1·44
    Print and PDF export of any page

    Patients bring printouts to appointments.

    shipped

Reach 6

  1. W1·49
    Cancer-by-cancer deep dives with domain experts

    TNBC is first. Next: pancreatic, NSCLC, prostate, glioblastoma, each with a named expert reviewer.

    Editorial status was “shipped”, but records with a review badge is 0/4,436 (0%, target 10%). Claim it.

    needs work
  2. W1·48
    Partnerships with existing collections

    Link out to and ingest from OncoKB, CIViC, ClinicalTrials.gov, ADCdb, NCI PDQ rather than duplicating them.

    building
  3. W1·45
    Open licensing (MIT code, CC BY data)

    Maximise reuse; require attribution so improvements flow back.

    shipped
  4. W1·46
    Static, fast, cheap hosting

    Static export on Vercel; loads anywhere including low-bandwidth settings.

    shipped
  5. W1·47
    Schema.org structured data for search engines

    MedicalCondition, Drug, MedicalStudy markup so the hub is machine-readable to Google and AI crawlers.

    shipped
  6. W1·50
    Annual 'State of the War on Cancer' report

    Generated from the corpus: approvals, failures, roadmap progress, open problems. A yearly reference point.

    shipped

Depth 10

  1. W2·02
    Structured trial outcomes

    Arms, N, endpoints, hazard ratios and confidence intervals on every trial.

    Editorial status was “shipped”, but trials with structured outcomes is 346/401 (86.3%, target 95%). Claim it.

    needs work
  2. W2·09
    Biomarker prevalence tables

    How common each target is in each cancer, sourced; matrix at /prevalence/.

    Editorial status was “shipped”, but targets with sourced prevalence is 76/92 (82.6%, target 95%). Claim it.

    needs work
  3. W2·01
    Build every cancer to TNBC depth

    All 31 cancers now carry standard of care by setting with guideline mapping, history, pipeline, open problems, and landmark trials with structured outcomes.

    Verified: cancers with a deep dive is 64/64 (100%, target 95%).

    shipped
  4. W2·03
    Out-of-100 pictograms

    Percent endpoints drawn as people, time endpoints as median bars.

    shipped
  5. W2·04
    Dosing and schedule on product pages

    Route, cycle, modifications, monitoring, with the label as source.

    shipped
  6. W2·05
    Structured toxicity profiles

    Grade 3+ rates by event, comparable across a class at /toxicity/.

    shipped
  7. W2·06
    Cost and access layer

    Price where disclosed, reimbursement, assistance programmes, generics.

    shipped
  8. W2·07
    Guideline mapping

    NCCN category and ESMO-MCBS grade on standard-of-care rows where sourced.

    shipped
  9. W2·08
    Regulatory timeline objects

    Filings, PDUFA dates, CRLs, label changes as dated events; browse at /regulatory/.

    shipped
  10. W2·10
    Mechanism cards

    Step-by-step animated mechanism on product pages next to the molecule.

    shipped

Users 10

  1. W2·15
    Simplify further

    A reading level for a twelve-year-old, reviewed by advocates.

    Editorial status was “shipped”, but records with a simple explanation is 875/4,455 (19.6%, target 80%). Claim it.

    needs work
  2. W2·20
    Multilingual TL;DRs

    Spanish, Mandarin, Portuguese, Hindi, marked machine-assisted until reviewed.

    Editorial status was “shipped”, but records with a tl;dr in all four languages is 448/4,455 (10.1%, target 50%). Claim it.

    needs work
  3. W2·13
    Appointment prep pack

    Choose questions, add your own, export one page.

    planned
  4. W2·19
    Notifications

    Subscribe to a cancer, product, or target.

    proposed
  5. W2·11
    Saveable browser profile

    Cancer, stage, biomarkers, prior lines, country; nothing leaves the device.

    shipped
  6. W2·12
    Line-of-therapy navigator

    What has been tried, what is next, and the cautions, at /navigator/.

    shipped
  7. W2·14
    Plain-language toggle

    Switch any page between TL;DR only and the full technical layer.

    shipped
  8. W2·16
    Caregiver mode

    Logistics first: side effects to watch, when to call, practical support.

    shipped
  9. W2·17
    Explain this term on hover

    Glossary TL;DRs wherever a term appears.

    shipped
  10. W2·18
    Localised trial finder

    Country and distance filters on live ClinicalTrials.gov results.

    shipped

Power 10

  1. W2·21
    Saved views

    Any table state as a short URL pinned to a dashboard.

    proposed
  2. W2·28
    Bulk export and DOI release

    CSV, Parquet, Zenodo.

    proposed
  3. W2·29
    Live widgets

    State-of-the-art panels and trial finders for hospital sites.

    proposed
  4. W2·30
    Offline mode

    A PWA that caches the corpus.

    proposed
  5. W2·22
    Multi-select compare

    Up to five items with a difference highlighter.

    shipped
  6. W2·23
    Cross-kind pivot tables

    Cancers by targets by modalities at /pivot/.

    shipped
  7. W2·24
    Timeline scrubber

    The corpus as it stood in any year, at /timeline/.

    shipped
  8. W2·25
    Graph queries

    Form-based queries over the graph at /query/.

    shipped
  9. W2·26
    Evidence strength scoring

    Disclosed composite per trial and product; ranked at /evidence/.

    shipped
  10. W2·27
    Contradiction and staleness detector

    Recomputed each build at /audit/.

    shipped

Trust 8

  1. W2·32
    Provenance display

    Last edit, author, and diff from git on every page.

    Editorial status was “shipped”, but records with git provenance is 2,003/4,455 (45%, target 95%). Claim it.

    needs work
  2. W2·37
    Patient-advocate review track

    A badge for clarity and tone.

    Editorial status was “shipped”, but records with a review badge is 0/4,436 (0%, target 10%). Claim it.

    needs work
  3. W2·31
    Source-per-sentence citations

    Superscripts and validation on unsourced numbers.

    proposed
  4. W2·33
    Automated fact checks

    Weekly comparison against openFDA and ClinicalTrials.gov.

    shipped
  5. W2·34
    Confidence labels

    Probability ranges on speculative roadmap steps and ideas.

    shipped
  6. W2·35
    Corrections log

    Every factual correction at /corrections/.

    shipped
  7. W2·36
    Conflict-of-interest field

    Shown next to every reviewer badge.

    shipped
  8. W2·38
    Replication notes

    Whether a second trial confirmed the effect, on every trial.

    shipped

Visual 10

  1. W2·42
    Animated process schematics

    ADC internalisation, CAR-T killing, radioligand decay, and more.

    Editorial status was “shipped”, but technologies with a specific schematic is 114/348 (32.8%, target 80%). Claim it.

    needs work
  2. W3·14
    Animated technology cards on front pages

    Each technology on a front page shows its schematic in motion.

    Editorial status was “shipped”, but technologies with a specific schematic is 114/348 (32.8%, target 80%). Claim it.

    needs work
  3. W2·39
    Pathway diagrams that light up

    Select a product and see the nodes it hits and the escape routes.

    shipped
  4. W2·40
    Anatomical entry point

    A clickable body map at /body/.

    shipped
  5. W2·41
    Molecule interaction

    Drag, zoom, hydrogens, pharmacophore colours, drug-target complexes with binding pockets.

    Verified: products with a molecule or an explained placeholder is 370/377 (98.1%, target 95%).

    shipped
  6. W2·43
    Theme toggle and accessibility

    Light, dark, high contrast, skip link, focus rings.

    shipped
  7. W2·44
    Story mode for roadmaps

    Scroll-driven narrative on every roadmap.

    shipped
  8. W3·12
    Resistance atlas visuals

    Category matrix and animated escape-route maps per drug class at /resistance/.

    shipped
  9. W3·13
    Tooltips everywhere

    Every linked object in every table explains itself on hover; headers and statuses too.

    shipped
  10. W3·15
    Design pass

    Type scale, surfaces, tables, header, home and footer made consistent and legible in light, dark and high contrast.

    shipped

Strategy 7

  1. W3·16
    Gap audit against the goal

    A systematic list of what is still missing for total information dominance, turned into work.

    building
  2. W3·17
    Bottleneck scoreboard

    Track each bottleneck over time: is it easing or worsening, and which ideas are being tried.

    proposed
  3. W3·20
    Schedule every refresh script

    Structures, logos, OpenAlex and GLOBOCAN refreshes are manual scripts; trials, papers and the fact check already run weekly in GitHub Actions. Put the rest on a schedule too.

    proposed
  4. W3·21
    Gauge ratchet in CI

    A pull request may not lower a health gauge that is already above its target, so coverage only moves one way.

    proposed
  5. W3·01
    Bottlenecks of the war on cancer

    45 systemic constraints, each with sourced metrics, root causes, current efforts and a page at /bottlenecks/.

    Verified: bottlenecks with ten or more ideas is 45/45 (100%, target 95%).

    shipped
  6. W3·02
    One thousand ideas against the bottlenecks

    Ten waves of 100 ideas, each with a hypothesis, a test, who must act, cost and horizon; filterable at /ideas/.

    shipped
  7. W3·19
    Corpus health gauges on the roadmap

    Coverage metrics computed from the graph at build time, each with the worst offenders and the fix; an idea is only 'shipped' if its gauge agrees.

    shipped

Intelligence 5

  1. W3·04
    Approvals by region

    US, EU, UK, Japan, China and Australia compared product by product, gaps included.

    Editorial status was “shipped”, but approved products with regional rows is 205/297 (69%, target 95%). Claim it.

    needs work
  2. W3·07
    What the world is publishing

    Europe PMC feed and weekly trends on every drug, target, cancer and technology page, and at /papers/.

    Editorial status was “shipped”, but records with a europe pmc snapshot is 546/881 (62%, target 95%). Claim it.

    needs work
  3. W3·05
    Cases by country

    GLOBOCAN incidence per country and cancer with data gaps made explicit at /cases/.

    shipped
  4. W3·06
    Country research ranking

    Output, growth, trials, burden and funders per country at /countries/.

    shipped
  5. W3·08
    Research pulse

    What the leading journals, regulators and news sources are saying this month at /pulse/.

    shipped

C. The method

Two loops. Expansion adds records and features in waves and gates them; currency refreshes what the world has changed and audits what we already say. Each card says what runs, how often, where the code is, and what would make it better.

How expansion works

Gap audit against the goal

Enumerate the universe (ICD-O sites, FDA approvals since 2018, guideline tables, WHO essential medicines), diff it against the corpus, and write the gaps down with size and owner. The gauges above are the automated half; docs/GAPS.md is the editorial half.

How often
Gauges: every build. Editorial audit: at the start of each wave.
Where
docs/GAPS.mdsrc/lib/health.ts/gaps/
Better if
Open one GitHub issue per open GAPS.md row automatically, so the audit becomes a work queue rather than a document.

Per-kind agents in parallel with disjoint file ownership

A wave is split into agents, each owning a set of data files nobody else touches (spikes, gap-fill, idea waves, people, key papers). They run in separate git worktrees, so merges are mechanical: no two agents edit the same file.

How often
Per wave; seven agents in the last one.
Where
src/data/spikes/src/data/gap-fill.tssrc/data/ideas-waves/
Better if
An ownership manifest checked in CI, so a change to a file outside an agent's allotment fails the build instead of a merge.

Validate, typecheck, lint, test, build gates

Every push and pull request runs the schema validator (ids, dangling references, duplicates), the TypeScript compiler in strict mode, ESLint, the corpus tests (every TL;DR readable, every reference resolving), and a full static build.

How often
Every push to main and every pull request.
Where
.github/workflows/ci.ymlscripts/validate.tssrc/lib/graph.test.ts
Better if
Turn each gauge target into a ratchet: a pull request may not lower a metric that is already above its target.

Suggest-an-edit issues

Every object page has a form that opens a prefilled GitHub issue (entity, field, proposed value, source, who you are, conflicts) or a direct link to the record's line for a pull request. Organisations may edit their own records under their name.

How often
Continuous; triage within a week.
Where
SuggestEdit.tsxissue templates/suggest/
Better if
A bot that converts an accepted issue into a pull request against the exact line, with the source appended to `links`.

Review tracks

Clinical, scientific, regulatory, patient-advocate, and organisation self-edit tracks, each with named reviewers and a conflict-of-interest field shown next to the badge. The badge component is built; the reviewer list is not yet populated.

How often
On merge of any factual change; badges dated.
Where
.github/REVIEWERS.mdsrc/data/reviews.tsReviewBadge.tsx
Better if
Recruit one named reviewer per cancer and per front; the “Records with a review badge” gauge above is at zero until then.

How currency works

Trials from ClinicalTrials.gov

For every product, pull phase 2/3 studies from the ClinicalTrials.gov v2 API into public/trials/, then open a pull request with the diff for review.

How often
Weekly (Mondays 06:17 UTC) via GitHub Actions; also on demand.
Where
refresh-trials.ymlscripts/fetch-trials.ts
Better if
Cover every product, not just the first batch (see the trials-snapshot gauge), and flag new recruiting trials as candidate trial records.

Literature from Europe PMC

Paper counts per year and the latest titles for every drug, target, cancer, and technology into public/papers/; the /papers/ page recomputes the fastest-growing topics from the snapshot.

How often
Weekly (Tuesdays 05:41 UTC) via GitHub Actions.
Where
refresh-papers.ymlscripts/fetch-papers.ts
Better if
Add the records created since the last run automatically (the papers-snapshot gauge shows the backlog) and tune query terms for ambiguous names.

Fact check against openFDA and ClinicalTrials.gov

Products recorded as US-approved are checked against openFDA labels; trials with an NCT id against the registry's overall status. Mismatches land in public/factcheck.json and on /audit/; confirmed errors go to the corrections log.

How often
Weekly (Mondays 06:41 UTC), in the same job as the audit and provenance refresh.
Where
factcheck.ymlscripts/factcheck.ts
Better if
Add EMA, MHRA, PMDA, and NMPA checks so the regional approvals table is verified, not just the US column.

Audit for staleness and contradictions

A pure function of the corpus: status fields that disagree with approvals, positive trials without results, standard-of-care rows citing withdrawn items, future years, duplicate names, and every record's asOf age.

How often
Every build (rendered at /audit/) and weekly in the fact-check job.
Where
scripts/audit.ts/audit/
Better if
Treat high-severity findings as build failures once the backlog is cleared.

Provenance from git

git blame over every data file maps each record to the last commit that touched it, so every page can say who edited it, when, and link the diff.

How often
Weekly in the fact-check job; needs full history, so it does not run at build time.
Where
scripts/provenance.tsProvenanceLine.tsx
Better if
Run it in the deploy step so new records never wait a week for a provenance line (see the provenance gauge).

Molecule structures from PubChem and PDB

Resolves each product's structure definition to a compact JSON under public/structures/; small molecules rotate on their pages, biologics get an explained placeholder.

How often
Manual: `npm run fetch:structures`. No scheduled workflow yet.
Where
scripts/fetch-structures.tssrc/data/structures.ts
Better if
Schedule it, and derive the PubChem lookup from the product name so new small molecules do not need a hand-written entry.

Logos from Wikidata

For every company, institution, and collection: Wikidata match with domain verification, then Commons logo, with favicon fallback, into public/logos/.

How often
Manual: `npm run fetch:logos`. No scheduled workflow yet.
Where
scripts/fetch-logos.ts
Better if
Schedule it monthly and fail loudly when a logo's licence is missing.

Research output from OpenAlex

Oncology works and citations per institution and per country (OpenAlex subfield 2730), feeding the university and country rankings, with the query published.

How often
Manual: `npm run fetch:openalex` and `npm run fetch:countries`. No scheduled workflow yet.
Where
scripts/fetch-openalex.tsscripts/fetch-countries.ts
Better if
Schedule quarterly; store the run date on the ranking pages so readers can see how fresh the counts are.

Cancer burden from GLOBOCAN

IARC Global Cancer Observatory incidence and mortality by country and cancer into public/globocan/, behind /cases/ and the country pages, with data gaps marked rather than filled.

How often
Manual: `npm run fetch:globocan`. The source updates every few years.
Where
scripts/fetch-globocan.ts
Better if
Watch the GCO version endpoint and open an issue when a new edition appears.

asOf on every record

The schema requires an asOf date on every record: when its facts were last checked. The audit lists the oldest; the staleness gauge above counts anything older than 60 days.

How often
Set by whoever edits the record; checked every build.
Where
src/lib/schema.ts
Better if
A monthly “re-verify” queue of the 50 oldest records, assigned by kind.

Corrections log and changelog

Every confirmed factual error is logged with what was wrong, how it was found, and the fixing commit; every release is summarised in the changelog, which doubles as the weekly newsletter.

How often
Corrections as they are confirmed; changelog per release.
Where
CORRECTIONS.mdCHANGELOG.md
Better if
Generate the changelog's data section from the git diff of src/data/ so no change goes unannounced.

D. Propose an idea

Ideas live in src/data/hub-ideas.ts as records with a title, a one-line why, a theme, a status, and optionally the id of a gauge that measures whether the claim holds. To add one:

  1. Open a roadmap issue with the idea, why it matters, and how we would know it is done. Argue for it there.
  2. Or add the record directly in a pull request. If the idea makes a measurable claim, add a metric for it in src/lib/health.ts and reference it with metric, so the roadmap can never call it shipped when it is not.
  3. Statuses are editorial; the gauges are not. A shipped idea with a failing gauge shows as needing work until the corpus catches up.