Möjligheter

En deklarativ regelmotor för onkologirekommendationer. JSON profil i Plan med två alternativa spår (standard + aggressiv) ut, varje fordran frakt med ett citering till sin källa.

Solo-projektet. En underhållare levererar uppdateringar med automatiska kontroller och källspårbarhet. Extern klinisk granskning är valfri och registreras separat.

Kliniskt innehåll är informationellt, tekniska kontroller är inte godkännande av behandling.

103
sjukdomar i KB
834
indications (265 1L · 175 2L+)
407
behandling
321
Läkemedel (ATC/RxNorm)
671
röda flaggor
576
Antagna källor
16
klinikens kompetens (MDT)
Solo
En utvecklare
01Inte en svart låda
Every algorithm step in the trace. LLM doesn't make clinical decisions (CHARTER §8.3).
02Varje påstående med hänvisning
source_id + position + omformulerad offert + sida/avsnitt. Pjäs-tid vakt.
03Integritet enligt utformning
CLI / Pyodide / Python import. No server. Patient JSON never leaves the machine.
04Planen lever kvar
revise_plan() uppdaterar rekommendationen när nya biomarkörer eller fynd anländer.

Vad finns i kunskapsbasen

Detta är en inventering av publicerade register, inte ett mått på klinisk fullständighet. Sjukdomsnivå täckning och kontroll status visas separat i matrisen nedan.

103
Sjukdomar i KB

Sjukdomar med dedikerade strukturerade register.

16
Klinikiernas färdigheter

MDT-roller representerade i routing.

407
Behandlingsregimer

Strukturerade behandlingar, inte automatiska recept.

321
Narkotika

Drogjournaler med maskinläsbar kontext.

131
Provningar

Diagnostiska och molekylära tester representerade i KB.

24
Arbete

Uppbyggnadssatta arbetssamlingar.

671
Röda flaggor

Signaler som kräver en kliniks andra titt.

576
Källor

Certifierade källkodsregister som är kopplade till fordringar.

Täckmatris

/diseases.html — per-sjukdom tabell: antalet biomarkörer / läkemedel / indikationer / röda flaggor, 1L+2L kontrollmärken, fyll% och verifierad%. Grupperade av lymfoid + myeloid hematologi och solida tumörer. /disease_coverage.json. → Visa matris

/gallery.html — 448 public examples. Each contains a full Plan, Diagnostic Brief, or molecular scenario with source links. Internal QA profiles do not appear in the user-facing library. → Visa exempel

6-stage request processing

Klinikern ger motorn en JSON-profil. Motorn kör 6 steg i följd och returnerar en plan med ≥2 spår (CHARTER §15.2 C6 – alternativ aldrig dold).

Steg 1
Sjukdom + algoritm lösa
disease.id + line_of_therapy + disease_state → Algoritm enhet.
Steg 2
Fynd platta
Sammanfogar demografiska och biomarkers + fynd till ett platt ordförråd.
Steg 3
RedFlag eval
671 RF mot resultat (any_of/all_of/none_of med tröskelvärden).
Steg 4
Algoritmevandring
Decision tree step by step. Trace records fired_red_flags at each node.
Steg 5
Spår materialiseras
Indikation → spår (standard / aggressiv / övervakning) med biomarker filter.
Steg 6
Lös upp per spår
Indikation → Regimen (med faser) + Övervakning + SupportiveCare + AccessMatrix.

CIViC actionability

Aktiverbarhetsdata brukade komma från OncoKB — men deras ToS blockerade icke-kommersiella offentliga derivat (konflikt med CHARTER §2). Vi migrerade till CIViC (CC0) Motorn läser en lokal nattlig YAML-bild (knowledge_base/hosted/civic/<date>/) — deterministic + offline. The fusion-aware matcher handles both point mutations (BRAF V600E) and fusions (BCR::ABL1). Render: ESCAT tier — primary, CIViC evidence rating — in details. Monthly refresh CI opens a PR with the diff.

Flerfasregimer

Regimen.phases är en beställd lista över namngivna block (induktion → konsolidering → underhåll), var och en med sin egen cykel schema och övergångsutlösare. Real-world protokoll (R-CHOP × 6 → underhåll, AML 7+3 → HiDAC konsolidering, axiocel överbryggning → infusion). bridging_options — bridging regimens between phases (for CAR-T). Legacy single-phase YAMLs auto-wrap into one-phase form via auto_wrap_legacy_components().

Citationsskydd — 3 lager

Ett trelagers kontrollsystem – tre platser där vi fångar outsourcade krav:

LagerVarVad
L1 · Lastare YAML-belastning (Pydantisk) SRC-* referential integrity. Unknown SRC-ID → load fail.
L2 · Verifierare Bidragsgivare Trelagers grundning: källan finns, omskrivningen grundad, ankare i avsnitt.
L3 · Teckningar HTML- utdata No citation → warn-badge (lenient) or skip cell (strict_citation_guard=True).

Tre sätt att springa

CLI
Lokalt

python -m knowledge_base.engine.cli --patient profile.json --render plan.html- Offline.

Pyodide
I webbläsaren (try.html)

Python WASM + mikropip + motor bunt (~2.4 MB). Första laddningen 8-15 s, sedan som en lokal CLI. Servicearbetare för offline.

Bibliotek
Import från Python

from knowledge_base.engine import generate_plan, revise_plan — EHR/CSV/batch testning. Statligt, deterministisk.

Vad motorn läser från en profil

Only structured fields with explicit semantics. Unknown fields are ignored — no hidden effects.

KategoriFältHur vi använder det
Sjukdom (ingångspunkt) disease.id · icd_o_3_morphology · line_of_therapy · disease_state bestämmer vilken algoritm som ska köras
Diagnostiskt läge suspicion.lineage_hint · tissue_locations · presentation aktiverar Diagnostiseringsplan istället för Plan
Demografi age · ecog · fit_for_transplant · decompensated_cirrhosis · pregnancy_status filtrera på Indication.applicable_to.demographic_constraints
Biomarkörer någon BIO-X från KB: BIO-CLL-HIGH-RISK-GENETICS, BIO-HCV-RNA, … utlöser RedFlags, filterindikationer, karta till CIViC
Resultat Hundratals strukturerade fält — dominant_nodal_mass_cm, ldh_ratio_to_uln, tp53_mutation, … Trösklar i RedFlag-utlösare
Tidigare tester prior_tests_completed: [TEST-IDs] utesluter redan avslutade tester från workup_steps

Vad motorn återkommer – Plan

FältInnehåll
tracks[]≥2 alternative tracks (default first): indication + regimen (+ phases) + monitoring + supportive_care + contraindications
access_matrixSammanlagda uppgifter per spår: registreringar, ersättning, kostnadsintervall, AccessPathway. Skådekostad varning > 180 dagar.
experimental_optionsTredje spåret – enumerate_experimental_options() Frågar ClinicalTrials.gov v2. 7-dagars TTL cache.
actionability_hitsCIViC matches with ESCAT-primary + variant, evidence rating, clinical significance, source citations
fda_complianceFDA Criterion 4 fields: intended_use, patient_population_match, algorithm_summary, automation_bias_warning
tracestep-by-step walk_algorithm history: step / outcome / branch / fired_red_flags
warningsschema/ref errors, time_critical disqualifications, missing data hints, citation-guard warnings
supersedes / superseded_byversionskedjan mellan planer för samma patient

Alternativt aktiverad: MDT-kortfattat — orchestrate_mdt() lägger till obligatoriska/rekommendations-/valfria roller från 16 virtuella specialister + öppna frågor + ursprungsgraf.

Planuppdateringar – revise_plan()

Tre lagliga övergångar + en förbjuden. Den tidigare planen är inte muterad - en djup kopia returneras med superseded_by set. Per CHARTER § 10.2, gamla versioner kvarstår på obestämd tid.

FrånÄndraÖvergångResultat
Diagnostiseringsplan vNEndast misstankediagnostik → diagnostikDiagnostisk plan v(N+1)
Diagnostiseringsplan vNhistologi bekräftaddiagnostik → behandling (främjande)Plan v1
Plan vNuppdatering med histologibehandling → behandlingPlan v(N+1)
Plan vNHistologi borttagenILEGAL – värdefel, CHARTER §15.2 C7
Integritet. Patient JSON never leaves the user's machine. No logs, no DB. Reproducibility: Plan.knowledge_base_state.algorithm_version registrerar KB-versionen → samma input + samma KB = samma utdata.

Öppna frågor – motor vägrar att besluta utan data

Istället för en tyst standard, motorn uttryckligen flaggar vilka fält som saknas och vilka test eller rapport behövs (MDT_ORCHESTRATOR_SPEC §3). Utgjord i planen som en separat sektion, aldrig dold.

KodUtlösareVad motorn släpper ut
Q1Histos inte bekräftad”Behandlingsplan som genereras mot enbart ICD-O-3 kod; bekräfta primär histologi före behandling”
Q2Saknar steg”Lugano/Ann Arbor-stadiet som krävs för säker riskstratifiering”
Q3RF-klausulen är ofullständig”Cytogenetisk panel ofullständig; högriskstatus bedömd med deldata”
Q4Biomarkör saknas”IGHV-mutationsstatus + FISH del(17p) som krävs för att bekräfta 1L-rekommendation”
Q5Prestandastatus saknas”ECOG krävs för bedömning av transplantationsförmånen” går tillbaka till konservativ standard.
Q6Läkemedel som inte återbetalas”D-VRd: Daratumumab som för närvarande inte återbetalas; verifiera finansieringsvägen”
DQ1-4Diagnostisk-modus: vävnad / släkt / presentation / hypotes saknaslowers workup match confidence; lineage_hint + tissue dominate
Why no silent default: CHARTER §15.2 C6 (anti automation-bias) — the engine cannot pretend to know when it doesn't.

Personlighetsluckor – avsiktligt

”Personalisering” i OpenOnco är regelbaserat urval från en fast katalog, inte AI-generation. Avslöjat arkitektonisk val (CHARTER §8.3).

Gap 1

No per-patient dose calculation

Lager för regulatorer standarddos ( Bortezomib 1,3 mg/m2), inte multiplicerat med patientens BSA, inte justerat automatiskt för CrCl 30. Med design – för att undvika klassificering av FDA-enhet.

Gap 2

No response-adapted cycles

Stiftstift total_cycles: 6 + 2 maintenance. Inte anpassat automatiskt genom respons (PR vs CR efter PET2). revise_plan.

Gap 3

Genomologisk matchning begränsad till CIViC

Utanför CIViC (sällsynt, nya varianter) ger en varning om att det inte finns några handlings­besked utan kreativa tolkningar.

Gap 4

StödjandeCare identiskt i kohorten

PJP prophylaxis attached to D-VRd for everyone — the engine doesn't know alternatives (dapsone instead of bactrim). The clinician substitutes.

Gap 5

No cumulative-toxicity tracking

2L plan for a patient who got bortezomib in 1L with grade 2 neuropathy — the profile doesn't carry prior_treatment_history som ett strukturerat fält; klinikern tolkar manuellt.

TJÄNSTERnas begränsningar – kommer inte att ändras

Principiella arkitektoniska beslut som går FDA / klinisk säkerhet.

§8.3

LLM doesn't decide clinically

Endast LLM: pannaplåt, dok utkast, extraktion (med mänsklig kontroll), översättning med klinisk granskning. Inte: val av regim, doser, biomarkör tolkning.

§15.2 C7

No histology — no Plan

Behandlingsplan endast om disease.id bekräftas. Annars diagnosplanläge. revise_plan behandling → diagnostik är förbjuden.

§15.2 C5

No time-critical

Ej avsedd för akut onkologi (onokologiska nödsituationer). time_critical: true → diskvalificering varning.

§6.1

Två-kontrollörssammanslagning

Solo-projektet. En underhållare levererar uppdateringar med automatiska kontroller och källspårbarhet. Extern klinisk granskning är valfri och registreras separat.

§15.2 C6

Antiautomation-bias

Alltid ≥2 spår sida vid sida. Alternativ är aldrig begravd, aldrig "klicka för att expandera". Klinikern ser ett val, inte ett direktiv.

§9.3

Patientuppgifter finns aldrig i repo

patient_plans/ gitignorerad. Webbplatsen visar bara syntetiska exempel. Telemetri förbjuden utan uttryckligt samtycke.

Lista aldrig – vad motorn aldrig gör

Aldrig

Dölj alternativt spår

Both recommendations are always shown. The UI has no «expand to see alternative» pattern.

Aldrig

Generera indikation via LLM

Everything from the curated KB. No matching Indication → warning, not «creative invention».

Aldrig

Ändra doser

Doser kommer från standard NCCN/ESMO. Endast justeringar via uttrycklig dose_modification_rules.

Aldrig

Domare ”som är bättre”

The algorithm picks a default but doesn't claim it's superior. The clinician has full autonomy — automation_bias_warning.

Aldrig

Tolka bildbild

”Bulky disease” kommer som ett strukturerat fält, inte från bildanalys. Bildanalys = enhetsklassificering.

Aldrig

Cohortmatchning

”N patienter valde X i M% av fallen” – kräver en permanent patientregister + integritetsbedömning. Inte än.

Den nuvarande täckningen – status och brister i STUB

KategoriTillståndBetydande
Sjukdomar med fullständig kedje86 / 103Resten är delvis modellerade
Indikationer 1L265Första raden för alla 103 sjukdomar
Indikationer 2L+17534 hem + 21 fast. Annat fast 2L+ partiellt.
Pediatrisk onkologi0Utom MVP-gränssnitt – separat spår
StrålbehandlingpartiellRT in multimodal Indications; not modeled as a standalone entity
Kirurgiinte modelleradeKirurgiska onkologiska indikationer saknas
Formularikt foderstatisk flaggaHårdkodad på regimer; ej automatisk uppfriskning
Extern klinisk granskningValfrittInspelad separat, inte en utvecklings- eller publikationsportal.
Inställningsbord för levande springor→ länkBygggenererad revision (sign-off, solid 2L+, operation, RT, stödjande vård)
Vad STUB inte betyder: strukturerade data + algoritm + källor finns redan på plats. STUB beskriver innehållsförfall; det är inte en solo-projekt release gate eller behandlingsgodkännande.

Klinikiernas arbetsflöde

Motorn förbereder för en tumörbräda, det ersätter inte en. Klinikern: 1) verifierar källor (varje påstående citerad, vakt redan tappade ociterade celler) → 2) stänger öppna frågor (ordertest, samtal revise_plan) → 3) anpassas till patienten (doser, stödjande vård, regional tillgänglighet) → 4) diskuterar på tumörtavlan (MDT kort – strukturerad agenda). Motor: utkast. Klinikien: slutlig.

TaskTorrent – verifiera algoritmer med din AI: s tokens

Solo-projektet. En underhållare levererar uppdateringar med automatiska kontroller och källspårbarhet. Extern klinisk granskning är valfri och registreras separat.

1
Vad det är

En utvecklare publicerar en ”junk” – en egen uppgift (~100k–300k tokens): ”verifiera BMA-bevis för DLBCL × 17 enheter” eller ”backfill källlicens för 8 källor”. En bidragsgivare hävdar att biten, AI kör, PR öppnas.

2
Vad du behöver

Ett AI-verktyg med en symbolbudget (Claude Code Pro+, Codex, Cursor, ChatGPT med webben). GitHub + gh CLI. Python 3.10+. ~1-3 timmar av din tid. No clinical expertise required — du utlöser strukturerad textning; ansvarig verifierar ändringen; expertåterkoppling är valfri.

3
8-radsboottrap

Kopiera 8-radsprompt från CONTRIBUTOR_QUICKSTART.md Den hittar en tillgänglig bit, hävdar det, kör arbetet, kör valideraren, öppnar en PR.

4
Vad som händer med PR

Den som sköter kontrollen källkällor, tester och scheman. Extern granskning är valfri. Sammanfoga → sidvagn landning → uppsert i värd KB → rendering. Tilldelningen registrerad i _contribution_meta.yaml.

- Påverkan. Varje verifierad BMA är ett handlingsförmåga krav som vi kan göra som ”godkänd” istället för ”STUB”. En bidragsgivare med Pro+ tokens på en kväll kan trycka 10-20 BMA genom avskrivning prep – cirka en veckas arbete för en person under någon annan modell.

Nyligen genomförd verksamhet

Under de senaste 4 dagarna TaskTorrent såg 7 vågar, dussintals bitar , ~73 BMA kandidater , 23 BMA utkast redo för klinisk avskrivning , 53 källkod stups , 1.251 UA-språk fält utarbetade . Senaste strukturella uppdateringar:

  • CIViC pivot — motor + 29 BIO + 399 BMA YAMLs migrerade av OncoKB schema; månatlig uppdatering av ögonblicksbild CI.
  • Flerfasregimer (PR1-3) — Regimen.phases, bridging_options, fas-medveten regeneration, tillbaka-kompat auto-pack.
  • Citationsskydd L3 — kontroll av varje BMA-cell.
  • Täckmatris — /diseases.html per-sjukdom borrning.
  • 448 public examples in the gallery — Redoplaner, diagnostikblad och molekylära scenarier för granskning och kontroll.