Specifiche
OpenOnco è un progetto di specifiche-primo. Ogni dettaglio architettonico, clinico e di governance è inquadrato in un documento di markdown sotto specs/ that is versioned and open to public review. 10 active specifications cover everything from intended-use design constraints to the shape of every YAML entity in the KB. The full text lives at github.com/romeo111/OpenOnco/specs.
specs/*.md → 3. CLAUDE.md → 4. README.MD. Qualsiasi cosa sotto legacy/ Non è autorevole.
Specifiche attive (10)
CHARTER.md
Carta e governance
Project governance, scope (what it does and what it explicitly does not), intended-use design constraints (§15 with constraints C1-C7), the solo-maintainer workflow for source-traceable content (§6.1), patient-data privacy (§9.3), forbidden prompt patterns for LLMs (§8.3 — LLMs do not make clinical decisions).
CLINICAL_CONTENT_STANDARDS.md
Standard di contenuto clinico
Standard di contenuto clinico: formato di citazione (source_id + posizione + parafrase + pagina), taxonomia a livello di evidenza (Tier 1-6), processo di approvazione del revisore, STUB → criteri di transizione rivisti. Ogni richiesta in un Indicazione / Regime / RedFlag collega ad un Ente Sorgente.
DATA_STANDARDS.md
Norme sui dati — Modello del paziente
Patient profile data model. FHIR R4/R5 + mCODE alignment on the roadmap. Code systems: LOINC + ICD-10/O-3 + RxNorm + CTCAE v5.0. No SNOMED CT and no MedDRA in the MVP (license gates). Profile fields and semantic interoperability.
KNOWLEDGE_SCHEMA_SPECIFICATION.md
Specifica dello schema di conoscenza
Pydantic schemas for every KB entity — Disease / Indication / Regimen / Algorithm / Biomarker / Drug / Test / Workup / RedFlag / Contraindication / MonitoringSchedule / SupportiveCare / Source. Defines fields, validators, referential-integrity rules, and the migration roadmap to PostgreSQL.
SOURCE_INGESTION_SPEC.md
Ingestione e licenze di sorgente
Come ingeriamo le fonti: la matrice hosting (riferito vs hosted vs mixed) con giustificazione H1-H5, i cancelli di classificazione delle licenze, la checklist add-a-source (§8), la liste hosped-source(§20) e il protocollo SourceClient per le API live.
REFERENCE_CASE_SPECIFICATION.md
Caso di riferimento — "Paziente Zero"
Un caso sintetico di riferimento HCV-MZL come test di accettazione P0. Definisce ogni campo richiesto per il profilo del paziente (modelli §2), le asserzioni strutturali critiche per il render output del piano (§1.3) e le tappe principali M1-M6 per l'espansione della copertura.
MDT_ORCHESTRATOR_SPEC.md
Orchestratore MDT + Provenienza della decisione
Orchestrate_mdt rules (R1-R9 for treatment, D1-D6 for diagnostic), role activation logic (required / recommended / optional), the Open Questions mechanism (Q1-Q6 + DQ1-DQ4 — the engine refuses to decide without the required data), and a decision-provenance graph for audit-grade explanation.
DIAGNOSTIC_MDT_SPEC.md
MDT diagnostica a fase (prebiopsia)
Pre-biopsy mode: when histology is not yet available the engine emits a DiagnosticPlan with a workup brief instead of a treatment Plan. CHARTER §15.2 C7 hard rule. DiagnosticWorkup + DiagnosticPlan schemas, generate_diagnostic_brief(), polymorphic orchestrate_mdt with DQ1-DQ4 rules.
WORKUP_METHODOLOGY_SPEC.md
Metodologia di ricerca di lavoro
Come costruire un workup di base per ogni area oncologica.Gerarchia delle sorgenti (Nivello 1: NCCN/ESMO/EHA/BSH/WHO/ASH), liste di controllo di completezza Test/Workup, il processo a 7 fasi per estendere la copertura a un nuovo dominio, anti-patterns.
SKILL_ARCHITECTURE_SPEC.md
Architettura orientata verso le competenze (ruolo MDT come competenze)
Formalizza i ruoli MDT (hematologo / patologo / radiologo / ecc.) come capacità clinicamente verificate — ogni abilità porta versione, fonti, last_reviewed, clinical_lead. Orizzonte di dimensionamento (~12-15 MVP → 50-60 completo), layout 8 domini, piano di rifattura a 5 fasi.
Fonte regolamentare (PDF)
Guidance-Clinical-Decision-Software_5.pdf
Guida software di supporto alla decisione clinica della FDA
The official FDA guidance on non-device CDS classification under §520(o)(1)(E). Hosted under specs/ as a PDF. CHARTER §15 cites concrete criteria 1-4 from this document to justify OpenOnco's non-device positioning.
Come aggiornamo le specifiche
Progetto singolo. Un manutentore fornisce aggiornamenti con controlli automatizzati e tracciabilità delle sorgenti. La revisione clinica esterna è opzionale e viene registrata separatamente.
Tutte le specifiche sono scritte Ucraino-Primo (l'interfaccia e i revisori clinici sono UA), ma termini tecnici e nomi di licenza rimanere in inglese inline. La versione è via git: ogni spec porta v0.1 (draft) nella testata e viene sbattuto su minore/maggiore a seconda delle modifiche di rottura.
Conformità + privacy (visualizzazione rapida)
| Garanzia | Specifiche | Cosa significa? |
|---|---|---|
| FDA non-device CDS | CHARTER.md §15 |
La Carta descrive obiettivi di progettazione; non stabilisce una classificazione normativa né una validazione clinica. |
| No patient data | CHARTER.md §9.3 |
patient_plans/ e qualsiasi paziente HTML è gitignored. Tutti gli esempi sono sintetici. |
| Consegna da solo del manutentore | CHARTER.md §6.1 |
Il responsabile verifica le fonti e i test; la revisione clinica esterna è facoltativa. |
| No LLM clinical judgment | CHARTER.md §8.3 |
I LLM non selezionano regimi, non generano dosi e non interpretano i biomarcatori per la selezione della terapia. |
| No treatment without histology | CHARTER.md §15.2 C7 |
Il motore rifiuta di generare un piano di trattamento senza disease.id or icd_o_3_morphology — solo un piano diagnostico. |
| Antiautomazione-bias | CHARTER.md §15.2 C6 |
≥2 alternative tracks are always shown side-by-side; the alternative is never hidden. |
| Hosting sorgente predefinito = riferimento | SOURCE_INGESTION_SPEC.md §1.4 |
Non duplicamo database esterni; l'hosting richiede una giustificazione esplicita H1-H5. |
| Free public resource → non-commercial | CHARTER.md §2 |
Di questo dipendeno molte licenze (ESMO CC-BY-NC-ND, OncoKB accademico, ATC). Un livello pagato innescherebbe un audit di licenza. |
| Selezionare automaticamente la lingua basata su IP | client-side, opt-out |
Per mostrare l'interfaccia nella tua lingua, il tuo browser cerca il tuo paese dal tuo IP tramite un servizio di terze parti (GeoJS, con Ipapi.co as fallback). Only your IP is sent, with no referrer. These direct geo requests do not use the OpenOnco API; the providers determine their own logging and retention policies. The detected country and your manual language choice are stored only in your browser (localStorage) and the manual switch always overrides the IP guess. Ukrainian is shown only for Ukrainian IP addresses; English everywhere else. By using the site you consent to this country lookup — to avoid it, pick a language manually and your choice is remembered. |