AI Holter Reader / Stato Progetto

Software per la refertazione automatica di Holter cardiaci. Analisi AI di registrazioni ECG continue 24-48h con focus sull'attendibilità del referto.

Avanzamento globale
33%
2 fasi su 6 completate
Benchmark R-Peak
99.6%
Sensibilità su MIT-BIH
Test Suite
20/20
Tutti i test superati
Dataset validazione
110K
Battiti analizzati (MIT-BIH)

Roadmap

Fase 0
Fondamenta
Fase 1
Signal Processing
Fase 2
Classificazione
Fase 3
Analisi Cliniche
Fase 4
Referto
Fase 5
Validazione

Dettaglio fasi

0
Fondamenta
Settimane 1 – 4
Completata

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
Stack tecnologico
Python 3.11+ NumPy SciPy wfdb NeuroKit2 PyTorch scikit-learn ReportLab pytest
1
Signal Processing Pipeline
Settimane 5 – 12
Completata

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.

1.1 Preprocessing del segnale Completato
  • 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)
1.2 Rilevamento QRS / R-peak Completato
  • 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)
1.3 Delineazione completa del battito Completato
  • Onset/offset onde P, QRS, T (metodo DWT via NeuroKit2)
  • Calcolo intervalli: PR, QRS, QT, QTc (Bazett e Fridericia)
  • Validazione clinica automatica dei risultati
1.4 Validazione su MIT-BIH Completato

Confronto beat-by-beat con le annotazioni gold standard su tutti i 48 record del MIT-BIH Arrhythmia Database (110.098 battiti).

Sensibilità
99.60%
Predittività Positiva
99.50%
F1-Score
99.55%
Test Suite
20/20
Target richiesto: Se >99.5%, PPV >99.5%. Entrambi superati. Record problematici noti: 108 (rumoroso), 207 (tachicardia ventricolare).
2
Classificazione dei Battiti
Settimane 13 – 22
Da iniziare

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.

2.1 Classificazione morfologica (feature-based)
  • 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)
2.2 Classificazione deep learning
  • Architettura CNN-BiLSTM (morfologia locale + contesto temporale)
  • Training su MIT-BIH
  • Target: accuratezza >97%, recall classe V >95%
2.3 Strategia ensemble
  • Logica ensemble implementata
  • Integrazione con classificatori reali
  • Calibrazione probabilità (temperature / Platt scaling)
  • Soglia di confidenza e flag “da verificare”
3
Analisi Cliniche Avanzate
Settimane 23 – 32
Da iniziare

Rilevamento automatico delle aritmie, analisi della variabilità della frequenza cardiaca (HRV), segmento ST e intervallo QT. Ogni analisi produce un indice di confidenza.

3.1 Rilevamento aritmie
PrioritàAritmiaCriterio chiave
CriticaFibrillazione atrialeAssenza onde P, RR irregolare
CriticaTachicardia ventricolareQRS >120ms, FC >120 bpm, ≥3 battiti
CriticaBlocco AV 2° e 3° gradoPR progressivo / dissociazione P-QRS
AltaFlutter atrialeOnde F a dente di sega ~300/min
AltaBradicardia / Arresto sinusaleFC <50 bpm / pause >2s
AltaPVCConteggio, coppie, run, bigeminismo
MediaPACConteggio e distribuzione
MediaTachicardia sopraventricolareFC >150, QRS stretti
MediaBlocchi di brancaRSR' in V1, QRS >120ms
BassaSindrome WPWOnda delta, PR corto, QRS largo
3.2 Analisi HRV
  • Time domain: SDNN, SDANN, RMSSD, pNN50
  • Frequency domain: VLF, LF, HF, rapporto LF/HF
  • Profilo circadiano giorno/notte e Lorenz plot
3.3 Analisi segmento ST e intervallo QT
  • Deviazione ST rispetto a baseline, durata episodi
  • QTc medio, massimo, minimo e trend circadiano
  • Rilevamento episodi QT lungo (>500ms)
4
Generazione del Referto
Settimane 33 – 38
Da iniziare

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.

“È meglio un referto che dice ‘non sono sicuro, verifica questo’ piuttosto che un referto che sbaglia con sicurezza.”
Contenuto del referto
  • 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
5
Validazione Clinica
Settimane 39 – 48
Da iniziare

Validazione sul campo con operatori Holter. Confronto cieco tra refertazione automatica e manuale su 100–200 registrazioni reali. Almeno 3 cicli di validazione-correzione.

Protocollo di validazione
  • 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
Criteri di accettabilità
CategoriaSensibilità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)