Funcionalidades

Un motor de regla declarativa para recomendaciones oncológicas. Plan con dos pistas alternativas (estándar + agresivo) fuera, cada envío de reclamo con una cita a su fuente.

Proyecto individual. Una persona responsable publica las actualizaciones con comprobaciones automáticas y trazabilidad de las fuentes. La revisión clínica externa es opcional y se registra por separado.

El contenido clínico es informativo; las comprobaciones técnicas no constituyen una aprobación del tratamiento.

103
enfermedades en KB
834
indications (265 1L · 175 2L+)
407
régimen de tratamiento
321
fármacos (ATC/RxNorm)
671
banderas rojas
576
Fuentes citadas
16
habilidades de los médicos (MDT)
Solo
One maintainer
01No es una caja negra
Every algorithm step in the trace. LLM doesn't make clinical decisions (CHARTER §8.3).
02Cada reclamación con una citación
source_id + posición + cita parafraseada + página/sección. Render-time guard.
03Privacidad por diseño
CLI / Pyodide / Importación de Python. No hay servidor. El paciente JSON nunca sale de la máquina.
04El plan sigue vivo
revise_plan() actualiza la recomendación a medida que llegan nuevos biomarcadores o hallazgos.

Lo que hay en la base de conocimiento

Se trata de un inventario de registros publicados, no una medida de la completitud clínica. La cobertura y el estado de verificación de nivel de enfermedad se muestran por separado en la matriz siguiente.

103
Enfermedades en KB

Enfermedades con registros estructurados dedicados.

16
Destrezas de los clínicos

Papel de MDT representado en el enrutamiento.

407
Régimen de tratamiento

Régimen estructurado, no prescripciones automáticas.

321
Medicamentos

Fichas de medicamentos con contexto legible por máquina.

131
Pruebas

Pruebas de diagnóstico y molecular representadas en el KB.

24
Atenciones

Sets de trabajo estructurados.

671
Señales de alerta

Señales que requieren la segunda mirada de un médico.

576
Fuentes

Registros de fuentes citados relacionados con reclamaciones.

Matriz de cobertura

/diseases.html — tabla per-doencias: recuento de biomarcadores / fármacos / indicaciones / banderas rojas, 1L+2L marca, relleno% y verificado%. agrupado por linfoide + hematología mieloide y tumores sólidos. /disease_coverage.json. → Ver la matriz

/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. → Ver ejemplos

Tramitación de solicitudes en 6 etapas

El médico alimenta el motor con un perfil JSON. El motor funciona 6 etapas secuenciales y devuelve un Plan con ≥ 2 pistas (CHARTER §15.2 C6 — alternativa nunca ocultada).

Etapa 1
Enfermedad + Resolución de Algoritmo
disease.id + line_of_therapy + disease_state → Entidad Algoritm.
Etapa 2
Los hallazgos se aplanan
fusiona demografías + biomarcadores + hallazgos en un dictado plano.
Etapa 3
Evalación de la flag roja
671 RF contra las conclusiones (any_of/all_of/none_of con umbrales).
Etapa 4
Caminata por algoritmo
Árbol de decisión paso a paso. El registro documenta fired_red_flags en cada nodo.
Etapa 5
Las pistas se materializan
Indicación → pistas (estándar / agresivo / vigilancia) con filtro de biomarcador.
Etapa 6
Resolución por pista
Indicación → Régimen (con fases) + Monitoreo + Cuidado de soporte + AccesoMatrix.

La capacidad de acción del CIViC

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). El motor lee una instantánea local de YAML (knowledge_base/hosted/civic/<date>/) — determinista + offline. El combinador de fusión-aware maneja tanto mutaciones de puntos (BRAF V600E) y fusión (BCR::ABL1). Render: nivel ESCAT — primaria, CIViC calificación de evidencia — en detalles.

Régimen multifase

Regimen.phases es una lista ordenada de bloques llamados (inducción → consolidación → mantenimiento), cada uno con su propio cronograma de ciclo y gatillo de transición. Protocolos del mundo real (R-CHOP × 6 → mantenimiento, AML 7+3 → consolidación HiDAC, puente axi-cel → infusión). bridging_options — bridging regimens between phases (for CAR-T). Legacy single-phase YAMLs auto-wrap into one-phase form via auto_wrap_legacy_components().

Protección de citación — 3 capas

A three-layer verification system — three places where we catch unsourced claims:

CapaDonde¿Qué?
L1 · Cargador Carga YAML (Pidántica) SRC-* referential integrity. Unknown SRC-ID → load fail.
L2 · Verificador El contribuyente PR (CI) Aterrizaje de tres capas: la fuente existe, parafrase en tierra, ancla en sección.
L3 · Rendición Salida HTML No hay cita → advert-badge (leniente) o pulse la célula (strict_citation_guard=True).

Tres maneras de correr

CLI
Localmente

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

Pioduro
En el navegador (try.html)

Python WASM + micropip + paquete de motor (~2,4 MB). Primero carga 8-15 s, luego como un CLI local. Trabajador de servicio para fuera de línea.

Biblioteca
Importación de Python

from knowledge_base.engine import generate_plan, revise_plan — EHR / CSV / pruebas por lotes.

Lo que el motor lee de un perfil

Solo campos estructurados con semántica explícita. Los campos desconocidos son ignorados — no hay efectos ocultos.

CategoríaCamposCómo lo usamos
Enfermedad (punto de entrada) disease.id · icd_o_3_morphology · line_of_therapy · disease_state determina qué Algoritm ejecutar
Modo de diagnóstico suspicion.lineage_hint · tissue_locations · presentation activa DiagnosticPlan en lugar de Plan
Demografía age · ecog · fit_for_transplant · decompensated_cirrhosis · pregnancy_status filtro encendido Indication.applicable_to.demographic_constraints
Biomarcadores cualquier BIO-X desde KB: BIO-CLL-HIGH-RISK-GENETICS, BIO-HCV-RNA, … desencadenante RedFlags, filtro Indicaciones, mapa a CIVIC
Constataciones cientos de campos estructurados — dominant_nodal_mass_cm, ldh_ratio_to_uln, tp53_mutation, … umbrales en los desencadenantes de RedFlag
Pruebas previas prior_tests_completed: [TEST-IDs] excluye pruebas ya completadas de workup_steps

Lo que el motor devuelve — Plan

CampoContenido
tracks[]≥2 alternative tracks (default first): indication + regimen (+ phases) + monitoring + supportive_care + contraindications
access_matrixagregado por vía: registro, reembolso, intervalos de costes, AccessPathway. Aviso si la antigüedad de los datos de costes es > 180 días.
experimental_optionstercera vía — enumerate_experimental_options() consultas ClinicalTrials.gov v2. cache TTL de 7 días.
actionability_hitsEl CIViC coincide con la variante primaria + ESCAT, puntuación de evidencia, significación clínica, citas de origen
fda_complianceCampos del criterio 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_bycadena de versión entre planes para el mismo paciente

Activado en forma opcional: Encuesta sobre el tratamiento de los residuos — orchestrate_mdt() agrega roles requeridos/recomendados/opcionales de 16 especialistas virtuales + preguntas abiertas + gráfico de procedencia.

Actualización del plan revise_plan()

Tres transiciones legales + una prohibida. El plan anterior no se muta — una copia profunda se devuelve con superseded_by Por CARTA §10.2, las versiones antiguas persisten indefinidamente.

DeCambioTransiciónResultado
Plan de diagnóstico vNsólo sospechasdiagnóstico → diagnósticoPlan de diagnóstico v(N+1)
Plan de diagnóstico vNhistología confirmadadiagnóstico → tratamiento (promoción)Plan v1
Plan vNActualización con histologíatratamiento → tratamientoPlan v(N+1)
Plan vNhistología eliminadaILEGAL — Valor de la deuda, encargo §15.2 C7
Privacidad. El paciente JSON nunca deja la máquina del usuario. Sin registros, sin DB. Reproducibilidad: Plan.knowledge_base_state.algorithm_version registra la versión KB → misma entrada + misma KB = misma salida.

Preguntas abiertas — el motor se niega a decidir sin datos

Instead of a silent default, the engine explicitly flags which fields are missing and which test or report is needed (MDT_ORCHESTRATOR_SPEC §3). Rendered into the Plan as a separate section, never hidden.

CódigoActivadorLo que emite el motor
Q1Histología no confirmada«Plan de Tratamiento generado contra el código ICD-O-3 solamente; confirmar histología primaria antes de la terapia»
Q2Etapa faltante«Estado de Lugano/Ann Arbor requerido para una estratificación segura del riesgo»
Q3Cláusula RF incompleta«Panel citogenético incompleto; estado de alto riesgo evaluado con datos parciales»
Q4Falta el biomarcador«Estado de mutación de IGHV + FISH del(17p) requerido para confirmar la recomendación de 1L»
Q5Falta el estado de ejecución«ECOG requerido para la evaluación de la admisibilidad de trasplante»; se vuelve a la situación de incumplimiento conservador
Q6Medicamento no reembolsado«D-VRD: daratumumab no reembolsado actualmente; verificar el camino de financiación»
DQ1-4Modo de diagnóstico: tejido/lineado/presentación/hipótesis que faltanreduce la confianza en la correspondencia del estudio diagnóstico; predominan lineage_hint y el tejido
¿Por qué no hay predeterminado silencioso: CHARTER §15.2 C6 (anti automation-bias) — the engine cannot pretend to know when it doesn't.

Lagunas de personalización: deliberadas

«Personalization» in OpenOnco is rule-based selection from a fixed catalog, not AI-generation. Deliberate architectural choice (CHARTER §8.3).

Laguna 1

No se ha calculado la dosis por paciente

Tiendas de régimen la dosis estándar (bortezomib 1,3 mg/m2), no multiplicado por el paciente BSA, no ajustado automáticamente para CrCl 30. Por diseño - para evitar la clasificación de dispositivos FDA.

Laguna 2

No hay ciclos adaptados a la respuesta

Alfileres de régimen total_cycles: 6 + 2 maintenance. No se adapta automáticamente por respuesta (PR vs CR después de PET2). revise_plan.

Laguna 3

Genomic matching limited to CIViC

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

Laguna 4

Cuidado de apoyo idéntico a toda la cohorte

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

Laguna 5

No hay seguimiento de toxicidad acumulativa

2L plan for a patient who got bortezomib in 1L with grade 2 neuropathy — the profile doesn't carry prior_treatment_history como un campo estructurado; el médico interpreta manualmente.

Las limitaciones de la carga no cambiarán

Decisiones arquitectónicas de principios que limitan la FDA / seguridad clínica.

§8.3

LLM doesn't decide clinically

LLM solamente: caldera, docs Drafts, extracción (con verificación humana), traducción con revisión clínica. No es así.: elección de régimen, dosis, interpretación de biomarcadores.

§15.2 C7

Sin histología — sin plan

Plan de tratamiento sólo si: disease.id es confirmado. De lo contrario, modo DiagnosticPlan. revise_plan tratamiento → diagnóstico es Prohibido.

§15.2 C5

No hay tiempo crítico

No se destina a la oncología de emergencia (urgencias oncológicas). time_critical: true → advertencia de descalificación.

§6.1

Dos revisores fusionan

Proyecto individual. Una persona responsable publica las actualizaciones con comprobaciones automáticas y trazabilidad de las fuentes. La revisión clínica externa es opcional y se registra por separado.

§15.2 C6

Antiautomatización-bias

Siempre ≥ 2 pistas lado a lado. Alternativa nunca se enterra, nunca «click para expandir». El clínico ve una opción, no una directiva.

§9.3

Datos del paciente nunca en repo

patient_plans/ gitignored. Sitio muestra sólo ejemplos sintéticos. Telemetría prohibida sin consentimiento explícito.

Nunca listar — lo que el motor nunca hace

Nunca

Ocultar la pista alternativa

Las dos recomendaciones siempre se muestran. La interfaz de usuario no tiene un patrón «expansivo para ver alternativas».

Nunca

Generar la indicación a través de LLM

Todo desde el KB curado. No hay coincidencia Indicación → advertencia, no «invención creativa».

Nunca

Modificar las dosis

Las dosis proceden de las guías NCCN/ESMO. Los ajustes solo se realizan mediante reglas explícitas dose_modification_rules.

Nunca

Juez «que es mejor»

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

Nunca

Interpretación de imágenes

«Enfermedad bullicia» llega como un campo estructurado, no de análisis de imagen. Análisis de imagen = clasificación de dispositivo.

Nunca

Cohorte de correspondencia

«N pacientes eligieron X en M% de los casos» — requiere un registro de pacientes persistente + revisión de la privacidad. Todavía no.

Cobertura actual — Situación y lagunas de la STUB

CategoríaEstadoSignificado
Enfermedades con cadena completa86 / 103El resto están parcialmente modelados
Indicaciones 1L265Primera línea para las 103 enfermedades
Indicaciones 2L+17534 heme + 21 sólidos. Los demás sólidos 2L+ parciales.
Oncología pediátrica0Excedente del ámbito de aplicación de la VPM — vía separada
RadioterapiaparcialRT en Indicaciones multimodales; no se ha modelado como entidad independiente
Cirugíano se ha modeladoIndicaciones quirúrgicas de oncología ausentes
Alimentación en vivo de fórmulasbandera estáticaCodificados con frecuencia en regímenes; no refrescados automáticamente
External clinical reviewOpcionalRecorded separately; not a development or publication gate.
Panel de interrupción en vivo→ enlaceAuditoría generada por la construcción (firma, sólido 2L+, cirugía, RT, cuidados de apoyo)
Lo que STUB NO significa: structured data + algorithm + sources are already in place. STUB describes content maturity; it is not a solo-project release gate or treatment approval.

Flujo de trabajo de los clínicos

El motor se prepara para una placa tumoral, no reemplaza una. 1) verifica fuentes (cada reclamación citada, guardia ya se han caído células nocitadas) → 2) cierra preguntas abiertas (ordena pruebas, llamadas revise_plan) → 3) se adapta al paciente (dosis, cuidados de apoyo, disponibilidad regional) → 4) discute en el tablero tumoral (método MDT — agenda estructurada). Motor: borrador. Clínico: final.

TaskTorrent — verifique algoritmos con las fichas de su IA

Proyecto individual. Una persona responsable publica las actualizaciones con comprobaciones automáticas y trazabilidad de las fuentes. La revisión clínica externa es opcional y se registra por separado.

1
¿Qué es?

Un mantenedor publica un «chunk» — una tarea autónoma (~100k–300k tokens): «reverifica evidencia BMA para DLBCL × 17 entidades» o «recuperar licencia de fuente-recupero para 8 fuentes». Un contribuyente reclama el trozo, AI ejecuta, PR abre.

2
Lo que necesitas

Una herramienta de IA con un presupuesto de fichas (Claude Code Pro+, Codex, Cursor, ChatGPT con web). gh CLI. Python 3.10+ ~ 1-3 horas de su tiempo. No se requiere experiencia clínica — you trigger structured drafting; the the maintainer verifies the change; expert feedback is optional.

3
- 8 líneas de arranque

Copia el mensaje de 8 líneas desde CONTRIBUTOR_QUICKSTART.md Encuentra un trozo disponible, lo reclama, ejecuta el trabajo, ejecuta la validación, abre una PR.

4
¿Qué le pasa a la RP?

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.

Efecto. Cada BMA verificado es una reclamación de acción que podemos presentar como «aprobado» en lugar de «STUB». Un contribuyente con fichas Pro+ en una noche puede empujar 10-20 BMAs a través de la preparación de firma — aproximadamente una semana de trabajo para una persona bajo cualquier otro modelo.

Actividad reciente

Durante los últimos 4 días TaskTorrent vio 7 olas, decenas de trozos, ~73 candidatos BMA, 23 borradores BMA listos para firma clínica, 53 talones de fuente, 1.251 campos en idioma UA redactados.

  • Pivot de CIViC — motor + 29 BIO + 399 BMA YAMLs migraron fuera del esquema OncoKB; actualización mensual de instantáneas CI.
  • Régimen multifase (PR1-3) — Regimen.phases, bridging_options, render de fases-conocido, back-compat auto-envoltura.
  • Guardia de citación L3 — control de tiempo de renderización de cada celda BMA.
  • Matriz de cobertura — /diseases.html desglose por enfermedad.
  • 448 public examples in the gallery — planes listos, informes de diagnóstico y escenarios moleculares para su revisión y verificación.