Roadmap
Fondamenta
Signal Processing
Classificazione
Analisi Cliniche
Referto
Validazione
Dettaglio fasi
Definizione dell'architettura, scelta dei formati dati e setup dell'ambiente di sviluppo. Base solida per tutte le fasi successive.
- Formato dati WFDB (PhysioNet) — standard mondiale per ECG
- Ambiente Python 3.11+ con librerie core (wfdb, neurokit2, scipy)
- Struttura modulare del progetto (preprocessing, detection, analysis, classification, reporting)
- Sistema di configurazione YAML centralizzato per parametri clinici
- I/O per caricamento record WFDB con annotazioni gold standard
- Logging strutturato per tracciabilità clinica
- CLI con Click, repository Git privata
Fase più critica per l'attendibilità. Un errore nel preprocessing si propaga a cascata su tutta l'analisi. Il principio guida: meglio segnalare un segmento come “non interpretabile” che forzare un'analisi su dati corrotti.
- Rimozione baseline wander (filtro passa-alto Butterworth 0.5 Hz)
- Rimozione interferenza di rete (notch filter 50 Hz)
- Filtro passa-banda 0.5 – 40 Hz
- Valutazione qualità segnale (SNR, saturazione, stabilità baseline, artefatti)
- Algoritmo Pan-Tompkins (implementazione completa)
- XQRS (libreria wfdb, algoritmo primario)
- NeuroKit2 detection (algoritmo secondario)
- Cross-validazione multi-algoritmo con confidence scoring
- Post-filtering fisiologico (RR < 200ms)
- Onset/offset onde P, QRS, T (metodo DWT via NeuroKit2)
- Calcolo intervalli: PR, QRS, QT, QTc (Bazett e Fridericia)
- Validazione clinica automatica dei risultati
Confronto beat-by-beat con le annotazioni gold standard su tutti i 48 record del MIT-BIH Arrhythmia Database (110.098 battiti).
Doppio approccio: classificazione basata su feature cliniche esplicite (interpretabile) e deep learning (CNN-BiLSTM). L'ensemble dei due modelli garantisce attendibilità: quando concordano, alta confidenza; quando discordano, il battito viene marcato per revisione umana.
- Estrazione feature cliniche (durata QRS, morfologia, intervallo PR, ampiezza R)
- Classificatore basato su regole cliniche / Random Forest
- Validazione su MIT-BIH (5 classi AAMI: N, S, V, F, Q)
- Architettura CNN-BiLSTM (morfologia locale + contesto temporale)
- Training su MIT-BIH
- Target: accuratezza >97%, recall classe V >95%
- Logica ensemble implementata
- Integrazione con classificatori reali
- Calibrazione probabilità (temperature / Platt scaling)
- Soglia di confidenza e flag “da verificare”
Rilevamento automatico delle aritmie, analisi della variabilità della frequenza cardiaca (HRV), segmento ST e intervallo QT. Ogni analisi produce un indice di confidenza.
| Priorità | Aritmia | Criterio chiave |
|---|---|---|
| Critica | Fibrillazione atriale | Assenza onde P, RR irregolare |
| Critica | Tachicardia ventricolare | QRS >120ms, FC >120 bpm, ≥3 battiti |
| Critica | Blocco AV 2° e 3° grado | PR progressivo / dissociazione P-QRS |
| Alta | Flutter atriale | Onde F a dente di sega ~300/min |
| Alta | Bradicardia / Arresto sinusale | FC <50 bpm / pause >2s |
| Alta | PVC | Conteggio, coppie, run, bigeminismo |
| Media | PAC | Conteggio e distribuzione |
| Media | Tachicardia sopraventricolare | FC >150, QRS stretti |
| Media | Blocchi di branca | RSR' in V1, QRS >120ms |
| Bassa | Sindrome WPW | Onda delta, PR corto, QRS largo |
- Time domain: SDNN, SDANN, RMSSD, pNN50
- Frequency domain: VLF, LF, HF, rapporto LF/HF
- Profilo circadiano giorno/notte e Lorenz plot
- Deviazione ST rispetto a baseline, durata episodi
- QTc medio, massimo, minimo e trend circadiano
- Rilevamento episodi QT lungo (>500ms)
Generazione di un referto PDF strutturato conforme agli standard ACC/AHA e ISHNE-HRS, con indice di confidenza per ogni sezione e segnalazione esplicita degli eventi a bassa certezza.
- Dati del paziente e qualità della registrazione
- Ritmo di base con percentuale di tempo
- Frequenza cardiaca: minima, media, massima con orario
- Aritmie sopraventricolari e ventricolari
- Disturbi di conduzione e blocchi
- Analisi ST, QT e HRV
- Indice di confidenza per ogni sezione
- Sezione “Da verificare” con strip ECG
- Export PDF + JSON/XML per integrazione sistemi
Validazione sul campo con operatori Holter. Confronto cieco tra refertazione automatica e manuale su 100–200 registrazioni reali. Almeno 3 cicli di validazione-correzione.
- Raccolta dataset Holter reali (100–200 registrazioni)
- Identificazione dispositivo e formato export degli operatori
- Converter per formato proprietario
- Blind comparison software vs operatori
- Analisi errori e cicli di miglioramento
| Categoria | Sensibilità | Specificità |
|---|---|---|
| Aritmie critiche (FA, VT, blocchi) | ≥ 95% | ≥ 90% |
| Aritmie maggiori (PVC, PAC, bradicardia) | ≥ 90% | ≥ 85% |
| Classificazione battiti (AAMI) | Concordanza ≥ 95% | |
| Cohen's Kappa software-operatore | ≥ 0.80 (eccellente) | |