Muligheter
En deklarativ regelmotor for onkologianbefalinger. JSON-profil i — Plan med to alternative spor (standard + aggressive), hver skadetransport med henvisning til kilden.
Klinisk innhold er informasjonsmessig, og teknisk kontroll er ikke godkjenning av behandling.
En JSON- profil → to behandlingsplaner, alle påstander som er angitt.
No LLM in the clinical decision. No server. Patient JSON stays on the machine. Per-profile processing: 50-200 ms.
# example: DLBCL disease: DLBCL-NOS line_of_therapy: 1L biomarkers: CD79B_mut: true MYC_rearr: false COO: ABC findings: ipi: 3 ecog: 1 ldh_ratio: 1.8
- Løs opp algoritm
- Folderesultater
- Eval 671 RedFlags
- Gå på beslutningstreet
- Materialiser spor
- Løs opp regimer
revise_plan() gir en ny anbefaling når nye biomarkører eller funn kommer fram.Hva er kunnskapsbasen?
This is an inventory of published records, not a measure of clinical completeness. Disease-level coverage and verification status are shown separately in the matrix below.
Sykdommer med egne strukturerte registre.
MDT-roller som er representert ved ruting.
Strukturerte behandlingsopplegg, ikke automatiske resepter.
Narkotikaregistre med maskinleselig kontekst.
Diagnostiske og molekylære undersøkelser som er representert i KB.
Oppbygde arbeidssamlinger.
Signaler som krever en klinikers ekstrakikk.
Opplysninger om angitt kilde som er knyttet til påstander.
Dekningsmatrise
/diseases.html — per-sykdomstabell: antall biomarkører/medisiner/indikasjoner/røde flagg, 1L+2L kontrollmerker, fyll% og verifisert%. Gruppert av lymfoide + myeloide hematologi og solide svulster.
/disease_coverage.json.
→ Vis matrise
/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.
→ Vis eksempler
6-stage request processing
The clinician feeds the engine a JSON profile. The engine runs 6 sequential stages and returns a Plan with ≥2 tracks (CHARTER §15.2 C6 — alternative never hidden).
disease.id + line_of_therapy + disease_state → Algoritmeenhet.any_of/all_of/none_of med terskler).CIViC- handlingsevne
Actionability data used to come from OncoKB — but their ToS blocked non-commercial public derivatives (conflict with CHARTER §2). We migrated to CIViC (CC0) (WashU) Motoren leser et lokalt YAML- skjermbilde om natten (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.
Reguleringer med flere faser
Regimen.phases er en ordnet liste over navngitte blokker (induksjon → konsolidering → vedlikehold), hver med sin egen syklusplan og overgangsutløser. Real-world protokoller (R-CHOP × 6 → vedlikehold, AML 7+3 → HiDAC konsolidering, aksik-cel ekstrapolering → infusjon).
bridging_options — bridging regimens between phases (for CAR-T). Legacy single-phase YAMLs auto-wrap into one-phase form via auto_wrap_legacy_components().
Citation guard — 3 layers
Et system med tre lags verifisering — tre steder der vi fanger opp ukildede påstander:
| Lag | der | Hva |
|---|---|---|
| L1 · Laster | YAML- belastning (Pydantisk) | SRC-* referential integrity. Unknown SRC-ID → load fail. |
| L2 · Verifikator | Bidragsyter PR (CI) | Trelags grunning: kilde, grunnet omskrivning, anker i avsnittet. |
| L3 · Opptegning | HTML- utdata | No citation → warn-badge (lenient) or skip cell (strict_citation_guard=True). |
Tre måter å løpe på
python -m knowledge_base.engine.cli --patient profile.json --render plan.html. Frakoblet.
Python WASM + micropip + engine bundle (~2.4 MB). First load 8-15 s, then like a local CLI. Service worker for offline.
from knowledge_base.engine import generate_plan, revise_plan — EHR / CSV / partiprøving, statløs, deterministisk.
Hva motoren leser fra en profil
Only structured fields with explicit semantics. Unknown fields are ignored — no hidden effects.
| Kategori | Felter | Hvordan vi bruker det |
|---|---|---|
| Sykdom (inngangspunkt) | disease.id · icd_o_3_morphology · line_of_therapy · disease_state |
bestemmer hvilken algoritm som skal kjøres |
| Diagnosemodus | suspicion.lineage_hint · tissue_locations · presentation |
aktiverer DiagnosePlan i stedet for Plan |
| Demografiske opplysninger | age · ecog · fit_for_transplant · decompensated_cirrhosis · pregnancy_status |
filtrer på Indication.applicable_to.demographic_constraints |
| Biomarkører | noen BIO-X fra KB: BIO-CLL-HIGH-RISK-GENETICS, BIO-HCV-RNA, … |
utløser RedFlags, filterindikasjoner, kartlegg til CIViC |
| Avvik | hundrevis av strukturerte felt — dominant_nodal_mass_cm, ldh_ratio_to_uln, tp53_mutation, … |
terskelverdier i RedFlag-utløsere |
| Forhåndsprøvinger | prior_tests_completed: [TEST-IDs] |
excludes already-completed tests from workup_steps |
Hva motoren returnerer — plan
| Felt | Innhold |
|---|---|
tracks[] | ≥2 alternative tracks (default first): indication + regimen (+ phases) + monitoring + supportive_care + contraindications |
access_matrix | aggregert for hvert spor: registreringer, refusjon, kostnadsintervaller, AccessPathway. Varsel om journalkostnad > 180 dager. |
experimental_options | tredje spor — enumerate_experimental_options() Spørringer om kliniskTrials.gov v2. 7-dagers TTL-mellomlager. |
actionability_hits | CIViC matches with ESCAT-primary + variant, evidence rating, clinical significance, source citations |
fda_compliance | FDA Criterion 4 fields: intended_use, patient_population_match, algorithm_summary, automation_bias_warning |
trace | step-by-step walk_algorithm history: step / outcome / branch / fired_red_flags |
warnings | schema/ref errors, time_critical disqualifications, missing data hints, citation-guard warnings |
supersedes / superseded_by | versjonskjede mellom planer for samme pasient |
Valgfritt slått på: MDT-kortfattet — orchestrate_mdt() legger til nødvendige/anbefalende/valgfrie roller fra 16 virtuelle spesialister + åpne spørsmål + herkomstgraf.
Ajourføring av planen — revise_plan()
Tre lovlige overganger + en forbudt. Den forrige planen er ikke mutert – en dyp kopi blir returnert med superseded_by set. Per TEKSTER nr. 10.2, fortsetter gamle versjoner på ubestemt tid.
| Fra | Endre | Overgang | Resultat |
|---|---|---|---|
| DiagnosticalPlan vN | Bare mistanke | diagnostisk → diagnostisk | DiagnosticalPlan v(N+1) |
| DiagnosticalPlan vN | histologi bekreftet | diagnostisk → behandling (fremmende) | Plan v1 |
| Plan vN | ajourføring med histologi | behandling → behandling | Plan v(N+1) |
| Plan vN | histologi fjernet | ILEGAL — Verdifeil, CHARTER §15.2 C7 | |
Plan.knowledge_base_state.algorithm_version registrerer KB versjon → samme inndata + samme KB = samme utdata.
Åpne spørsmål — motor nekter å treffe beslutning uten data
I stedet for en stille standard merker motoren uttrykkelig hvilke felter som mangler, og hvilke prøvinger eller rapporter som trengs (MDT_ORCHESTRATOR_SPEC §3). Tegnes inn i planen som et eget avsnitt, aldri skjult.
| Kode | Utløser | Hva motoren sender ut |
|---|---|---|
| Q1 | Histologi ikke bekreftet | «Behandlingsplan generert bare etter ICD-O-3-kode; bekreftelse på primær histologi før behandling» |
| Q2 | Manglende fase | «Lugano-/ann-arbor-trinn som kreves for å oppnå sikker risikostratifisering» |
| Q3 | RF-klausul ufullstendig | «Produsent av et cytogenetisk panel er ufullstendig; status med høy risiko vurdert med delvise data» |
| Q4 | Biomarkør mangler | «IGHV-mutasjonsstatus + FISH del(17p) som kreves for å bekrefte 1L-anbefaling» |
| Q5 | Ytelsesstatus mangler | «ECOG kreves for vurdering av transplantasjonselektrisitet», faller tilbake til forsiktig mislighold |
| Q6 | Narkotika som ikke refunderes | «D-VRd: daratumumab, som ikke refunderes for tiden; kontroller finansieringsveien» |
| DQ1-4 | Diagnosemodus: vev/slekt/presentasjon / hypoteser mangler | lowers workup match confidence; lineage_hint + tissue dominate |
Mangler ved personlig tilpasning — bevisst
«Personalisering» i OpenOnco er regelbasert utvalg fra en fast katalog, ikke AI-generasjon. Forenklet arkitektonisk valg (CHARTER §8.3).
No per-patient dose calculation
Lagerbeholdninger standarddose ( Bortezomib 1.3 mg/m2), ikke multiplisert med pasientens BSA, ikke justert automatisk for CrCl 30. Med utforming — for å unngå klassifisering av FDA-utstyr.
No response-adapted cycles
Stifter til medisiner total_cycles: 6 + 2 maintenance. Ikke automatisk tilpasset ved reaksjon (PR versus CR etter PET2). Omlagring via en separat revise_plan.
genomisk treff begrenset til CIViC
Utenfor CIViC (sjeldne, nye varianter) gir det et varsel om at det ikke foreligger noen handlingsdokumentasjon, uten kreative fortolkninger.
StøttendeCare identisk på tvers av kohorten
PJP prophylaxis attached to D-VRd for everyone — the engine doesn't know alternatives (dapsone instead of bactrim). The clinician substitutes.
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 et strukturert felt; klinikkeren tolker manuelt.
CHARTER-begrensninger — endres ikke
Prinsipperte arkitektoniske beslutninger som fører FDA / klinisk sikkerhet.
LLM doesn't decide clinically
Bare LLM: kjeleplate, dok-utkast, ekstraksjon (med kontroll av mennesker), oversettelse med klinisk vurdering. Ikke: valg av behandlingsplan, doser, fortolkning av biomarkør.
No histology — no Plan
Behandlingsplan bare dersom disease.id bekreftes, ellers diagnostisk plan. revise_plan behandling → diagnose er forbudt.
No time-critical
Not intended for emergency oncology (oncologic emergencies). Indication with time_critical: true → varsel om diskvalificering.
To- gransker fletting
Et solprosjekt. En vedlikeholder leverer oppdateringer med automatiske kontroller og kildesporbarhet. Ekstern klinisk gjennomgang er valgfri og registreres separat.
Skjeve antiautomatisering
Alltid ≥ 2 spor side- ved- side. Alternativ er aldri begravet, aldri « klikk for å utvide». Klinikkeren ser et valg, ikke et direktiv.
Pasientopplysninger finnes aldri i datarepo
patient_plans/ gitignored. Nettstedet viser bare syntetiske eksempler. Telemetri forbudt uten uttrykkelig samtykke.
Før aldri opp liste — hva motoren aldri gjør
Skjul det alternative sporet
Both recommendations are always shown. The UI has no «expand to see alternative» pattern.
Generer indikasjon via LLM
Everything from the curated KB. No matching Indication → warning, not «creative invention».
Endre doser
Doser kommer fra standard NCCN/ ESMO. Justeringer skjer bare ved hjelp av eksplisitte dose_modification_rules.
Dommer «som er bedre»
The algorithm picks a default but doesn't claim it's superior. The clinician has full autonomy — automation_bias_warning.
Tolk bildedannelse
«Bulky disease» kommer som et strukturert felt, ikke fra bildeanalyse. Bildeanalyse = utstyrsklassifisering.
Samspill
«N patients chose X in M% of cases» — requires a persisted patient registry + privacy review. Not yet.
Nåværende dekning — status og hull i STUB
| Kategori | Tilstand | Betydning |
|---|---|---|
| Sykdommer med full kjede | 86 / 103 | Resten er delvis modellert |
| Angivelse 1L | 265 | Første linje for alle 103 sykdommer |
| Angivelse 2L+ | 175 | 34 kube + 21 fast stoff, annet fast stoff i 2L+ delvis. |
| Pediatrisk onkologi | 0 | Ute av MVP-sikteområde — separat spor |
| Strålingsterapi | delvis | RT in multimodal Indications; not modeled as a standalone entity |
| Operasjon | ikke modellert | Mangler kirurgiske onkologiske indikasjoner |
| Formelfôr til levende dyr | statisk flagg | Hardkodet på regimer, ikke automatisk oppfrisket |
| Ekstern klinisk gjennomgåelse | Valgfri | Registrert separat, ikke en utviklings- eller offentliggjøringsportal. |
| Live- mellomrommets instrumentbord | → lenke | Revisjon som utføres ved byggevirksomhet (avtegning, fast 2L+, kirurgi, RT, støttetjenester) |
Klinikum arbeidsgang
Motoren forbereder til et svulstplater, den erstatter ikke et. Klinikken:
1) kontrollerer kilder (hver angitt påstand, vern allerede falt uciterte celler) →
2) lukker åpne spørsmål (ordre- tester, anrop revise_plan) →
3) tilpasning til pasienten (doser, støttehjelp, regional tilgjengelighet) →
4) diskuterer på svulstplaten (kortfattet MDT – strukturert dagsorden). Motor: utkast til klinikum: endelig.
TaskTorrent – kontroller algoritmer med tokens i din datamaskin
Et solprosjekt. En vedlikeholder leverer oppdateringer med automatiske kontroller og kildesporbarhet. Ekstern klinisk gjennomgang er valgfri og registreres separat.
En vedlikeholder publiserer en «junk » – en egen oppgave (~100k– 300k tokens): « verifiser BMA- dokumentasjon for DLBCL × 17 enheter » eller « tilbakefylling kilde- lisens for 8 kilder ». En bidragsyter påstår at blokken, AI kjører, PR åpnes.
Et AI- verktøy med et symbolbudsjett (Claude Code Pro+, Codex, Cursor, ChatGPT med vev). GitHub + gh CLI. Python 3.10+. ~1-3 hours of your time. No clinical expertise required — du setter i gang strukturert teksting; vedlikeholderen kontrollerer endringen. Det er valgfritt å gi tilbakemelding fra sakkyndige.
Kopier 8- linjes spørring fra
CONTRIBUTOR_QUICKSTART.md
i din AI agent. Den finner en tilgjengelig brikke, påstår den, kjører arbeidet, kjører validereren, åpner en PR.
Vedlikeholderen sjekker kilder, tester og skjemaer. Ekstern gjennomgang er valgfritt. Flett → sidevogn- landing → oppsert til verts- opptegnelse for KB →. Tileigneringen er registrert i _contribution_meta.yaml.
Nylig virksomhet
Over de siste 4 dagene TaskTorrent saw 7 bølger, dusinvis av blokker, ~73 BMA- kandidater, 23 BMA kladder klare til klinisk avtegning, 53 kilde- stubber, 1,251 felt i UA- språket skrevet. Siste strukturelle oppdateringer:
- CIViC pivot — motor + 29 BIO + 399 BMA YAML-er som er overført fra OncoKB-skjemaet; oppfriskings-CI for månedlige øyeblikksbilder.
- Reguleringer med flere faser (PR1-3) —
Regimen.phases,bridging_options, opptegning med fasestøtte og tilbakekompat auto-wrap. - Sitatavskjerming L3 — kontroll av opptegningstid på hver BMA-celle.
- Dekningsmatrise — /diseases.html per-sykdomsboring.
- 448 public examples in the gallery — klare planer, diagnoseorienterte dokumenter og molekylære scenarier for gjennomgåelse og kontroll.