Fonctionnalités

Un moteur de règle déclarative pour les recommandations oncologiques. Plan avec deux pistes alternatives (standard + agressif) sortie, chaque expédition de revendication avec une citation à sa source.

Projet individuel. Une personne responsable publie les mises à jour avec des contrôles automatisés et des sources traçables. La relecture clinique externe est facultative et consignée séparément.

Le contenu clinique est informatif ; les contrôles techniques ne constituent pas une approbation du traitement.

103
maladies en KB
834
indications (265 1L · 175 2L+)
407
traitement
321
médicaments (ATC/RxNorm)
671
drapeaux rouges
576
Sources citées
16
compétences des cliniciens (TMD)
Solo
One maintainer
01Pas une boîte noire
Every algorithm step in the trace. LLM doesn't make clinical decisions (CHARTER §8.3).
02Chaque réclamation avec une citation
source_id + position + citation paraphrasée + page/section.
03Protection des renseignements personnels par conception
CLI / Pyodide / Python import. Pas de serveur. Patient JSON ne quitte jamais la machine.
04Le plan reste en vie
revise_plan() rafraîchit la recommandation à mesure que de nouveaux biomarqueurs ou découvertes arrivent.

Ce qui est dans la base de connaissances

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.

103
Maladies en KB

Maladies avec des dossiers structurés dédiés.

16
Compétences des cliniciens

Rôles de MDT représentés dans l'acheminement.

407
Traitements

Régimes structurés, pas ordonnances automatiques.

321
Médicaments

Fiches de médicaments avec un contexte lisible par machine.

131
Essais

Les tests diagnostiques et moléculaires sont représentés dans le KB.

24
Travaux

Ensembles de travail structurés.

671
Signaux d’alerte

Signaux qui nécessitent un deuxième regard d'un clinicien.

576
Sources

Les dossiers de source cités liés aux revendications.

Matrice de couverture

/diseases.html — tableau par maladie: nombre de biomarqueurs / médicaments / indications / drapeaux rouges, 1L+2L marques de contrôle, remplissage % et vérifié %. Groupe par lymphoïde + hématologie myéloïde et tumeurs solides. /disease_coverage.json. → Afficher la matrice

/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. → Afficher des exemples

Traitement des demandes en 6 étapes

Le clinicien alimente le moteur avec un profil JSON. Le moteur effectue 6 étapes séquentielles et retourne un plan avec ≥ 2 pistes (CHARTER §15.2 C6 — alternative jamais cachée).

Étape 1
Maladie + résolution d' algorithme
disease.id + line_of_therapy + disease_state → Algorithme.
Étape 2
Constatations aplaties
Fusionne les données démographiques + biomarqueurs + résultats en un seul dict.
Étape 3
Éval. du Rouge
671 demandes de renseignements contre les constatations (any_of/all_of/none_of avec seuils).
Étape 4
Promenade d'algorithme
Arbre de décision étape par étape. La trace consigne fired_red_flags à chaque nœud.
Étape 5
Les pistes se matérialisent
Indication → pistes (standard / agressif / surveillance) avec filtre biomarqueur.
Étape 6
Résolution par voie
Indication → Régimen (avec phases) + Surveillance + SupportCare + AccessMatrix.

CIViC actionability

Les données de faisabilité utilisées pour venir d'OncoKB — mais leurs TOS bloquaient les dérivés publics non commerciaux (conflit avec CHARTER §2). CIViC (CC0) (WashU). Le moteur lit un instantané YAML local chaque nuit (knowledge_base/hosted/civic/<date>/) — déterministe + hors ligne. Le combineur averti de la fusion gère en détail les mutations pointues (BRAF V600E) et les fusions (BCR::ABL1). Rendre: niveau ESCAT — primaire, indice de données CIVIC — en détail.

Régimes multiphasiques

Regimen.phases est une liste ordonnée de blocs nommés (induction → consolidation → maintenance), chacun avec son propre calendrier de cycle et déclencheur de transition. Protocoles du monde réel (R-CHOP × 6 → maintenance, AML 7+3 → consolidation HiDAC, pont axi-cel → 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().

Garde de citation — 3 couches

Un système de vérification à trois niveaux — trois endroits où nous captons des revendications non fournies:

CalqueOùQuoi
L1 · Chargeur Charge de YAML (Pydantique) SRC-* referential integrity. Unknown SRC-ID → load fail.
L2 · Vérificateur RP (CI) contributeur Mise à la terre à trois couches : la source existe, la paraphrase mise à la base, l'ancre dans la section.
L3 · Rendement Sortie HTML Pas de citation → avertir-badge (lentissant) ou sauter la cellule (strict_citation_guard=True).

Trois façons de courir

CLI
Localement

python -m knowledge_base.engine.cli --patient profile.json --render plan.html- Non connecté.

Pyodide
Dans le navigateur (try.html)

Python WASM + micropip + paquet moteur (~2,4 Mo). Chargez d'abord 8-15 s, puis comme un CLI local. Travailleur de service pour hors ligne.

Bibliothèque
Importation de python

from knowledge_base.engine import generate_plan, revise_plan — EHR / CSV / essais par lots. Apatrides, déterministes.

Ce que le moteur lit d'un profil

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

CatégorieChampsComment nous l'utilisons
Maladie (point d'entrée) disease.id · icd_o_3_morphology · line_of_therapy · disease_state détermine quel algorithme exécuter
Mode de diagnostic suspicion.lineage_hint · tissue_locations · presentation active DiagnosticPlan au lieu de Plan
Démographie age · ecog · fit_for_transplant · decompensated_cirrhosis · pregnancy_status filtre sur Indication.applicable_to.demographic_constraints
Biomarqueurs tous BIO-X à partir de KB: BIO-CLL-HIGH-RISK-GENETICS, BIO-HCV-RNA, … Déclencher RedFlags, filtre Indications, carte vers CIViC
Constatations des centaines de domaines structurés — dominant_nodal_mass_cm, ldh_ratio_to_uln, tp53_mutation, … seuils dans les déclencheurs de RedFlag
Essais antérieurs prior_tests_completed: [TEST-IDs] exclut les tests déjà terminés de workup_steps

Ce que le moteur retourne — Plan

ZoneSommaire
tracks[]≥2 alternative tracks (default first): indication + regimen (+ phases) + monitoring + supportive_care + contraindications
access_matrixpar voie: enregistrements, remboursement, fourchettes de coûts, AccessPathway. Alerte si les données de coût datent de > 180 jours.
experimental_optionstroisième voie — enumerate_experimental_options() questions ClinicalTrials.gov v2. cache TTL de 7 jours.
actionability_hitsCIViC matches with ESCAT-primary + variant, evidence rating, clinical significance, source citations
fda_complianceChamps du critère 4 de la FDA : 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_bychaîne de version entre plans pour le même patient

Activé en option : Mémoire sur le traitement des données à caractère personnel — orchestrate_mdt() ajoute les rôles requis/recommandés/facultatifs de 16 spécialistes virtuels + questions ouvertes + graphique de provenance.

Mises à jour du plan — revise_plan()

Trois transitions légales + une interdite. Le plan précédent n'est pas muté — une copie profonde est retournée avec superseded_by par CHARTER §10.2, les anciennes versions persistent indéfiniment.

DeChangementTransitionRésultat
Plan diagnostique vNsoupçon seulementdiagnostique → diagnosticPlan diagnostique v(N+1)
Plan diagnostique vNhistologie confirméediagnostic → traitement (promotion)Plan v1
Plan vNmise à jour avec histologietraitement → traitementPlan v(N+1)
Plan vNhistologie enlevéeILEGAL — Valeur erronée, §15.2 C7
Intimité. Le patient JSON ne quitte jamais la machine de l'utilisateur. Pas de registres, pas de DB. Reproductibilité: Plan.knowledge_base_state.algorithm_version enregistre la version KB → même entrée + même KB = même sortie.

Questions ouvertes — Le moteur refuse de décider sans données

Au lieu d'un défaut silencieux, le moteur indique explicitement les champs manquants et les tests ou rapports nécessaires (MDT_ORCHESTRATOR_SPEC §3). Rendus dans le plan comme une section séparée, jamais caché.

CodeDéclencheurCe que le moteur émet
Q1Histology not confirmed«Plan de traitement généré par rapport au code ICD-O-3 seulement; confirmer l'histologie primaire avant le traitement»
Q2Étape manquante«Lugano/Ann Arbor étape nécessaire pour une stratification du risque confiante»
Q3Clause RF incomplète«Panneau cytogénétique incomplet; état à risque élevé évalué avec des données partielles»
Q4Biomarqueur manquant«Statut de mutation de l'IGHV + FISH del(17p) nécessaire pour confirmer la recommandation 1L»
Q5État des résultats manquant«ECOG requis pour l'évaluation de l'admissibilité aux greffes»; revient à la défaillance conservatrice
Q6Drug not reimbursed«D-VRd: daratumumab not currently reimbursed; verify funding pathway»
DQ1-4Mode diagnostique : tissu / lignée / présentation / hypothèses manquantesréduit la confiance dans la correspondance du bilan diagnostique ; lineage_hint et le tissu sont déterminants
Pourquoi pas de défaut silencieux : CHARTER §15.2 C6 (anti automation-bias) — the engine cannot pretend to know when it doesn't.

Lacunes de personnalisation — délibérées

«Personnalisation» dans OpenOnco est une sélection basée sur des règles d'un catalogue fixe, pas de la génération AI. Choix architectural délibéré (CHARTER §8.3).

Écart 1

Pas de calcul de la dose par patient

Magasins de régime la dose standard (bortezomib 1.3 mg/m²), not multiplied by patient BSA, not adjusted automatically for CrCl 30. By design — to avoid FDA device classification.

Écart 2

No response-adapted cycles

Épingles de régime total_cycles: 6 + 2 maintenance. Not adapted automatically by response (PR vs CR after PET2). Re-staging via a separate revise_plan.

Écart 3

Genomic matching limited to CIViC

Outside CIViC (rare, novel variants) emits a warning «no actionability evidence», without creative interpretations.

Écart 4

Soins de soutien identiques dans la cohorte

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

Écart 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 comme un champ structuré; le clinicien interprète manuellement.

Contraintes de la CHARTE — ne changera pas

Décisions architecturales de principe qui entravent la FDA / sécurité clinique.

§8.3

LLM doesn't decide clinically

LLM seulement: chaudière, dresses de doc, extraction (avec vérification humaine), traduction avec examen clinique. Pas: choix de régime, doses, interprétation de biomarqueurs.

§15.2 C7

Pas d'histologie — pas de plan

Plan de traitement seulement si disease.id est confirmé. Autrement, le mode DiagnosticPlan. revise_plan traitement → diagnostic est interdit.

§15.2 C5

Pas de temps critique

Not intended for emergency oncology (oncologic emergencies). Indication with time_critical: true → avertissement de désqualification.

§6.1

Deux-réviseurs fusion

Projet individuel. Une personne responsable publie les mises à jour avec des contrôles automatisés et des sources traçables. La relecture clinique externe est facultative et consignée séparément.

§15.2 C6

Antiautomatisation-bias

Toujours ≥2 pistes côte à côte. Alternative n'est jamais enterrée, jamais «cliquer pour élargir». Le clinicien voit un choix, pas une directive.

§9.3

Données sur les patients jamais en repo

patient_plans/ gitignored. Le site ne présente que des exemples synthétiques. Télémétrie interdite sans consentement explicite.

Ne jamais énumérer — ce que le moteur ne fait jamais

Jamais

Masquer la piste alternative

Les deux recommandations sont toujours présentées. L'interface utilisateur n'a pas de modèle «expansé pour voir une alternative».

Jamais

Générer une indication par LLM

Tout du KB curated. Pas d'indication correspondante → avertissement, pas «invention créative».

Jamais

Modifier les doses

Les doses proviennent des recommandations NCCN/ESMO. Les ajustements suivent uniquement des règles explicites dose_modification_rules.

Jamais

Juge «ce qui est mieux»

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

Jamais

Interpréter l'imagerie

«Bulky disease» arrive comme un champ structuré, non pas à partir de l'analyse d'image. Analyse d' image = classification de l ́appareil.

Jamais

Cohorte correspondante

«N patients ont choisi X dans M% des cas» — nécessite un registre des patients persistant + examen de la vie privée. Pas encore.

Couverture actuelle — Situation et lacunes du STUB

CatégorieÉtatSignification
Maladies à chaîne complète86 / 103Les autres sont partiellement modélisés
Indications 1L265Première ligne pour les 103 maladies
Indications 2L+17534 hemès + 21 solides. Autres 2L+ solides partiels.
Oncologie pédiatrique0En dehors du champ d'application du MVP — voie séparée
RadiothérapiepartielRT in multimodal Indications; not modeled as a standalone entity
Chirurgienot modeledIndications d'oncologie chirurgicale absentes
Alimentation en direct des préparationsdrapeau statiqueHard-coded on regimens; not auto-refreshed
External clinical reviewFacultatifRecorded separately; not a development or publication gate.
Tableau de bord de l'écart→ lienAudit généré par la construction (sign-off, solide 2L+, chirurgie, RT, soins de soutien)
Ce que STUB ne veut pas dire: structured data + algorithm + sources are already in place. STUB describes content maturity; it is not a solo-project release gate or treatment approval.

Flux de travail des cliniciens

Le moteur se prépare pour une carte tumorale, il ne remplace pas. 1) vérifie les sources (chaque revendication citée, garde déjà laissé tomber les cellules non citées) → 2) ferme les questions ouvertes (commande des tests, des appels revise_plan) → 3) s'adapte au patient (doses, soins de soutien, disponibilité régionale) → 4) discute au tableau tumoral (mémoire MDT — ordre du jour structuré).

TaskTorrent — vérifiez les algorithmes avec les jetons de votre IA

Projet individuel. Une personne responsable publie les mises à jour avec des contrôles automatisés et des sources traçables. La relecture clinique externe est facultative et consignée séparément.

1
Qu'est-ce que c'est

Un responsable publie un «coup» — une tâche autonome (~100k–300k jetons): «vérifier les preuves BMA pour DLBCL × 17 entités» ou «recharger source-licence pour 8 sources». Un contributeur réclame le morceau, AI exécute, PR ouvre.

2
Ce qu'il vous faut

Un outil d'IA avec un budget symbolique (Claude Code Pro+, Codex, Courseur, ChatGPT avec web). gh CLI. Python 3.10+. ~1-3 heures de votre temps. No clinical expertise required — you trigger structured drafting; the the maintainer verifies the change; expert feedback is optional.

3
8 lignes de bootstrap

Copier l'invite de 8 lignes CONTRIBUTOR_QUICKSTART.md dans votre agent d'IA. Il trouve un morceau disponible, le revendique, exécute le travail, exerce le validateur, ouvre une PR.

4
Ce qui arrive aux relations publiques

The maintainer checks sources, tests and schemas. External review is optional. Merge → sidecar landing → upsert into hosted KB → render. Attribution recorded in _contribution_meta.yaml.

Impact. Chaque BMA vérifié est une revendication de faisabilité que nous pouvons rendre comme «approuvée» au lieu de «STUB». Un contributeur avec des jetons Pro+ dans une soirée peut pousser 10-20 BMAs à travers la préparation de signature — environ une semaine de travail pour une personne sous tout autre modèle.

Activité récente

Au cours des 4 derniers jours TaskTorrent a scié 7 vagues, dozens of chunks, ~73 BMA candidates, 23 BMA drafts ready for clinical signoff, 53 source stubs, 1,251 UA-language fields drafted. Recent structural updates:

  • CIViC pivot — moteur + 29 BIO + 399 BMA YAMLs ont migré sur le schéma OncoKB; instantané mensuel rafraîchir CI.
  • Régimes multiphasés (PR1-3) — Regimen.phases, bridging_options, rendu de phases-consciente, retour-compat auto-enveloppement.
  • Garde de citation L3 — contrôle de la durée de rendu sur chaque cellule BMA.
  • Matrice de couverture — /diseases.html détail par maladie.
  • 448 public examples in the gallery — plans prêts, mémoires de diagnostic et scénarios moléculaires pour examen et vérification.