Muligheder
En deklarativ regelmotor til onkologi anbefalinger. JSON profil i Plan med to alternative spor (standard + aggressive) ud, hver fordringsforsendelse med en henvisning til sin kilde.
Klinisk indhold er oplysningsmæssigt; teknisk kontrol er ikke godkendelse af behandling.
En JSON profil → to behandlingsplaner, alle de nævnte påstande.
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 algoritme
- Resultater af Flatup
- Eval 671 RødFlags
- Træ til beslutning om gåafgang
- Materialiser spor
- Opløs regimer
revise_plan() genopfrisker henstillingen, når der kommer nye biomarkører eller resultater.Hvad er der i vidensbasen
Dette er en fortegnelse over offentliggjorte registre, ikke et mål for klinisk fuldstændighed. Sygdomsniveau dækning og kontrol status vises separat i matrixen nedenfor.
Sygdomme med dedikerede strukturerede optegnelser.
MDT-roller repræsenteret i routing.
Strukturerede regimer, ikke automatiske recepter.
Narkotika journaler med maskinlæsbar kontekst.
Diagnostiske og molekylære tests repræsenteret i KB.
Opbyggede arbejdssæt.
Signaler, der kræver en klinikkers ekstra kig.
Oplysning om anprisninger.
Overdækningsmatrix
/diseases.html — per-sygdom tabel: antal biomarkører / lægemidler / indikationer / røde flag, 1L+2L kontrolmærker, fyld% og verificeret%. Grupperet af lymfoid + myeloid hæmatologi og solid tumorer.
/disease_coverage.json.
→ Vis matrix
/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
Behandling af 6-trins anmodning
Klinikkeren fodrer motoren med JSON-profil. Motoren kører 6 sekvensielle stadier og returnerer en plan med ≥2 spor (CHARTER §15.2 C6 — alternativ aldrig skjult).
disease.id + line_of_therapy + disease_state → Algoritmeenhed.any_of/all_of/none_of med tærskler).CIViC actionability
Actionability data used to come from OncoKB — but their ToS blocked non-commercial public derivatives (conflict with CHARTER §2). We migrated to CIViC (CC0) Motoren læser et lokalt øjebliksbillede af YAML.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.
Flerfaseregimer
Regimen.phases er en ordnet liste over navngivne blokke (induction → konsolidering → vedligeholdelse), hver med sin egen cyklus tidsplan og overgang udløser. Real-world protokoller (R-CHOP × 6 → vedligeholdelse, AML 7+3 → HiDAC konsolidering, axi-cel overblik → 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().
Citationsbeskyttelse — 3 lag
Et trelagssystem for verifikation — tre steder, hvor vi fanger uoplagrede krav:
| Lag | Hvor | Hvad |
|---|---|---|
| L1 · Loader | YAML- belastning (Pydantisk) | SRC-* referential integrity. Unknown SRC-ID → load fail. |
| L2 · Verifikator | Bidragyder PR (CI) | Trelags jording: kilde findes, omsætningsgrundlagt, anker i sektion. |
| L3 · Opsløring | HTML- output | No citation → warn-badge (lenient) or skip cell (strict_citation_guard=True). |
Tre måder at løbe på
python -m knowledge_base.engine.cli --patient profile.json --render plan.htmlFrakoblet.
Python WASM + mikropip + motor bundle (~2.4 MB). Første indlæsning 8-15 s, derefter som en lokal CLI. Service arbejder til offline.
from knowledge_base.engine import generate_plan, revise_plan — EHR / CSV / batch test. Stateless, deterministic.
Hvad motoren læser fra en profil
Only structured fields with explicit semantics. Unknown fields are ignored — no hidden effects.
| Kategori | Felter | Hvordan vi bruger det |
|---|---|---|
| Sygdom (indgangspunkt) | disease.id · icd_o_3_morphology · line_of_therapy · disease_state |
afgør hvilken algoritm der skal køres |
| Diagnosetilstand | suspicion.lineage_hint · tissue_locations · presentation |
aktiverer DiagnosePlan i stedet for Plan |
| Demografiske | age · ecog · fit_for_transplant · decompensated_cirrhosis · pregnancy_status |
filtrer på Indication.applicable_to.demographic_constraints |
| Biomarkører | en hvilken som helst BIO-X fra KB: BIO-CLL-HIGH-RISK-GENETICS, BIO-HCV-RNA, … |
udløser RedFlags, filterindikationer, kort til CIViC |
| Resultater | hundreds of structured fields — dominant_nodal_mass_cm, ldh_ratio_to_uln, tp53_mutation, … |
Tærskler i RedFlag-udløsere |
| Forhåndsprøvning | prior_tests_completed: [TEST-IDs] |
udelukker allerede afsluttede tests fra workup_steps |
Hvad motoren returnerer — Plan
| Felt | Indhold |
|---|---|
tracks[] | ≥2 alternative tracks (default first): indication + regimen (+ phases) + monitoring + supportive_care + contraindications |
access_matrix | pr. spor: registreringer, godtgørelse, omkostningsintervaller AccessPathway. Saglig advarsel > 180 dage. |
experimental_options | Tredje spor — enumerate_experimental_options() Forespørgsler ClinicalTrials.gov v2. 7-dage TTL cache. |
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 | versionskæde mellem planer for samme patient |
Valgfrit aktiveret: MDT-kortfattet — orchestrate_mdt() tilføjer de ønskede/anbefalede/valgfrie roller fra 16 virtuelle specialister + åbne spørgsmål + herkomst graf.
Opdateringer af planen — revise_plan()
Tre juridiske overgange + en forbudt. Den tidligere plan er ikke muteret — en dyb kopi returneres med superseded_by pr. TEKSTER § 10.2, gamle versioner vedvarer på ubestemt tid.
| Fra | Ændr | Overgang | Resultat |
|---|---|---|---|
| Diagnoseplan vN | Kun mistanke | diagnostisk → diagnostisk | Diagnoseplan v(N+1) |
| Diagnoseplan vN | histologi bekræftet | diagnostisk → behandling (fremme) | Plan v1 |
| Plan vN | ajourføring med histologi | behandling → behandling | Plan v(N+1) |
| Plan vN | Histologi fjernet | ILEGAL — værdifejl, CHARTER §15.2 C7 | |
Plan.knowledge_base_state.algorithm_version registrerer KB version → samme input + samme KB = samme output.
Åbne spørgsmål — motor nægter at træffe afgørelse uden data
I stedet for en tavs standard, motoren udtrykkeligt flager hvilke felter mangler, og hvilke test eller rapport er nødvendig (MDT_ORCHESTRATOR_SPEC §3). Tegnet ind i planen som en separat sektion, aldrig skjult.
| Kode | Udløser | Hvad motoren udgiver |
|---|---|---|
| Q1 | Histologi ikke bekræftet | »Behandlingsplan genereret udelukkende mod ICD-O-3 kode; bekræfte primær histologi før behandling« |
| Q2 | Stage mangler | »Lugano/Ann Arbor-stadie, der er nødvendig for at kunne opnå sikker risikostratificering« |
| Q3 | RF-klausulen er ufuldstændig | »Cytogenetisk panel er ufuldstændigt; højrisikostatus vurderet med delvise data« |
| Q4 | Biomarkør mangler | »IGHV-mutationsstatus + FISH del(17p) påkrævet for at bekræfte 1L-anbefaling« |
| Q5 | Ydelsesstatus mangler | »ECOG påkrævet til vurdering af transplantationselektricitet«: falder tilbage til konservativ standard |
| Q6 | Ikke-refunderet stof | »D-VRd: Daratumumab, der ikke refunderes i øjeblikket; verificér finansieringsvejen« |
| DQ1-4 | Diagnose-tilstand: væv / slægt / præsentation / hypoteser mangler | lowers workup match confidence; lineage_hint + tissue dominate |
Personlige huller — bevidst
»Personalisering« i OpenOnco er regelbaseret udvælgelse fra et fast katalog, ikke AI-generation. Forbehold arkitektonisk valg (CHARTER §8.3).
No per-patient dose calculation
Lagerbeholdninger standarddosis (bortezomib 1.3 mg/m²), not multiplied by patient BSA, not adjusted automatically for CrCl 30. By design — to avoid FDA device classification.
No response-adapted cycles
Spidser til foranstaltninger total_cycles: 6 + 2 maintenance. Ikke automatisk tilpasset ved reaktion (PR vs CR efter PET2). Genoptagelse via en separat revise_plan.
Genomisk matchning begrænset til CIViC
Outside CIViC (rare, novel variants) emits a warning «no actionability evidence», without creative interpretations.
StøttendeCare identisk på tværs af 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 struktureret felt; klinikkeren fortolker manuelt.
TJENESTEYDELSER — vil ikke ændre sig
Principielle arkitektoniske beslutninger, der går FDA / klinisk sikkerhed.
LLM doesn't decide clinically
Kun LLM: kedelplade, dok-uddrag, ekstraktion (med menneskelig verifikation), oversættelse med klinisk gennemgang. Ikke: valg af behandling, doser, biomarkør fortolkning.
No histology — no Plan
Behandlingsplan disease.id bekræftes. Ellers diagnostiskPlan mode. revise_plan behandling → diagnostik er forbudt.
No time-critical
Not intended for emergency oncology (oncologic emergencies). Indication with time_critical: true → diskvalificering advarsel.
To-reviewer fusion
Solo-projektet. En vedligeholder leverer opdateringer med automatiske kontroller og kildesporbarhed. Ekstern klinisk gennemgang er valgfri og registreres separat.
Antiautomation-bias
Altid ≥2 spor side-ved-side. Alternativ er aldrig begravet, aldrig "klik for at udvide". Klinikken ser et valg, ikke et direktiv.
Patientoplysninger er aldrig i repo
patient_plans/ gitignored. Stedet viser kun syntetiske eksempler. Telemetri forbudt uden udtrykkelig samtykke.
Før aldrig optegn — hvad motoren aldrig gør
Skjul det alternative spor
Both recommendations are always shown. The UI has no «expand to see alternative» pattern.
Generér indikation via LLM
Everything from the curated KB. No matching Indication → warning, not «creative invention».
Ændr doser
Dosis kommer fra standard NCCN/ESMO. Justeringer kun via eksplicit 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 billeddannelse
»Bulky disease« kommer som et struktureret felt, ikke fra billedanalyse. Billedanalyse = enhedsklassificering.
Samspil med cohort
»N patienter valgte X i M% af tilfældene« — kræver et vedvarende patientregister + privatlivets fred. Ikke endnu.
Den nuværende dækning — status og huller i STUB
| Kategori | Tilstand | Betydning |
|---|---|---|
| Sygdomme med fuld kæden | 86 / 103 | Resten er delvis modelleret |
| Indikationer 1L | 265 | Første linje for alle 103 sygdomme |
| Indikationer 2L+ | 175 | 34 rib + 21 fast stof, andet fast 2L+ delvis. |
| Børnesygdomme | 0 | Ude af MVP-dækningsområde — separat spor |
| Strålingsterapi | delvis | RT in multimodal Indications; not modeled as a standalone entity |
| Operering | ikke modelleret | Kirurgiske onkologiske indikationer mangler |
| Formelfoder | statisk flag | Hårdkodet på regimer; ikke autofrisket |
| Ekstern klinisk gennemgang | Valgfrit | Indspillet separat, ikke en udviklings- eller publikationsportal. |
| Live- gabet- instrumentbræt | → link | Opbygningsrelateret revision (afmelding, solid 2L+, operation, RT, understøttende pleje) |
Klinikiansk arbejdsgang
Motoren forbereder til en tumor bræt, det erstatter ikke en. Klinikken:
1) kontrollerer kilder (hver anprisning citeret, vagt allerede droppet uciterede celler) →
2) lukker Åbne Spørgsmål (ordrer test, opkald revise_plan) →
3) tilpasser sig patienten (doser, understøttende behandling, regional tilgængelighed) →
4) diskuterer på tumor bestyrelsen (MDT kort — struktureret dagsorden). Motor: udkast. Clinician: endelig.
TaskTorrent — verificer algoritmer med din AI's tokens
Solo-projektet. En vedligeholder leverer opdateringer med automatiske kontroller og kildesporbarhed. Ekstern klinisk gennemgang er valgfri og registreres separat.
En vedligeholder offentliggør en "sunk" — en selvstændig opgave (~100k-300k tokens): "verificer BMA dokumentation for DLBCL × 17 enheder" eller "backfill kildelicens til 8 kilder". En bidragyder hævder batch, AI udføres, PR åbner.
Et AI-værktøj med et symbolbudget (Claude Code Pro+, Codex, Cursor, ChatGPT med web). GitHub + gh CLI. Python 3.10+. ~1-3 timer af din tid. No clinical expertise required — du udløser struktureret tekst; den vedligeholder kontrollerer ændringen; ekspert feedback er valgfri.
Kopiér 8- linjes prompt fra
CONTRIBUTOR_QUICKSTART.md
Den finder en tilgængelig blok, hævder det, kører arbejdet, kører validator, åbner en PR.
Vedligeholderen kontrollerer kilder, test og skemaer. Ekstern gennemgang er valgfri. Sammenflet → sidevogn landing → opsert i hostet KB → rendering. Tildeling registreret i _contribution_meta.yaml.
Nylig aktivitet
I løbet af de sidste 4 dage TaskTorrent sav 7 bølger, snesevis af stykker, ~73 BMA kandidater, 23 BMA udkast klar til klinisk afmærkning, 53 kildestubber, 1.251 UA-sprog felter udarbejdet. Seneste strukturelle opdateringer:
- CIViC pivot — motor + 29 BIO + 399 BMA YAMLs migreret fra OncoKB-skema; månedlig opdatering af øjebliksbilleder CI.
- Flerfaseregimer (PR1-3) —
Regimen.phases,bridging_options, fase-bevidst rend, back-compat auto-wrap. - Citationssikring L3 — kontrol af hver BMA-celle.
- Overdækningsmatrix — /diseases.html per-disease drill-down.
- 448 public examples in the gallery — klarplaner, diagnosekortlægninger og molekylære scenarier for revision og verifikation.