Sei sulla pagina 1di 11

Progetto Didattico per il corso di Informatica e Informatica Medica

Ingegneria Biomedica - A.A. 2012/2013


Prof.ssa Sara Marceglia

Eleonora Miglietta
Giovanna Nitidi
Valeria Preda
Alessandro Savarese

Il progetto ha come scopo la creazione di un sistema, semplificato ma


funzionante, in grado di fornire un supporto al telemonitoraggio di pazienti a
rischio cardiologico al di fuori dei centri ospedalieri o cliniche mediche.
Attraverso la registrazione dellelettrocardiogramma (ECG) tramite sensori
indossabili, posti per esempio su una maglietta, il sistema analizza
automaticamente i dati rilevati, riconosce il livello di gravit di uneventuale
anomalia (in questo caso specifico di aritmie) e invia gli opportuni allarmi.
Inoltre, fornisce uninterfaccia adatta ai vari utenti che possono usufruire del
sistema (paziente, caregiver, medico cardiologo). La nostra scelta ricaduta
su pazienti di et compresa tra i 6 ed i 12 anni. Abbiamo deciso di monitorare
tre pazienti con lo stesso cardiologo e pediatra.

CRITERI DI SELEZIONE DEI REPERTI BIBLIOGRAFICI:


BIBLIOGRAFICI
Abbiamo selezionato le informazioni necessarie alla documentazione
prevalentemente dal sito PubMed e da qualche ricerca specifica su
Google (Enciclopedia Medica), focalizzandoci sugli articoli che
contenevano le parole-chiave: telemedicina, home care, monitoraggio,
aritmia, ECG, bambini.
Criteri per la selezione degli articoli:
- affidabilit della fonte
- pertinenza con largomento trattato
- attinenza alla tipologia del paziente scelto (bambini tra i 6 e i 12 anni
a rischio cardiologico)
- data di pubblicazione (<10 anni)

ATTORI
Soggetti:
1) Tre Pazienti
2) Genitore/Tutore (Caregiver)
3) Medico Cardiologo
4) Pediatra (PLS)
5) Insegnante/Allenatore

Oggetti:
Oggetti
1) Cartella clinica
2) Diario delle attivit del paziente
3) Agenda degli appuntamenti
4) Tracciato ECG e SMS
5) Braccialetto a led e GPS

AZIONI
1) Paziente:
Paziente indossa la maglietta con i sensori per registrare lECG, che
viene trasmesso al sistema; indossa un braccialetto a led che
alloccorrenza manda un segnale luminoso, cui il paziente associa il
rischio di aritmia e linterruzione dellattivit fisica.
2

2) Genitore/Tutore:
Genitore/Tutore riceve istruzioni di comportamento dal sistema tramite
messaggio e segnali dallarme in base alla gravit dellaritmia; cura il
diario delle attivit del paziente; visualizza gli appuntamenti con i
medici; invia SMS ai medici.
3) Medico Cardiologo:
Cardiologo riceve messaggi e segnali dallarme in base alla
gravit dellaritmia e pu ricevere i valori registrati dellECG; invia
unambulanza in caso di necessit; manda SMS al caregiver;
consulta/modifica la cartella clinica del paziente; fissa/cancella gli
appuntamenti con i genitori dei pazienti, visualizza il diario delle attivit
del paziente compilato dai genitori.
4) PLS:
PLS monitora i parametri del paziente; riceve messaggi e segnali
dallarme dal sistema in base alla gravit dellaritmia; invia SMS al
caregiver; visiona/aggiorna la cartella clinica; fissa/cancella gli
appuntamenti con i genitori dei pazienti, visualizza il diario delle attivit
del paziente compilato dai genitori.
5) Insegnante/Allenatore:
Insegnante/Allenatore riceve, nelle ore di competenza, istruzioni di
comportamento dal sistema tramite messaggio e segnali dallarme in
base alla gravit dellaritmia; comunica con il caregiver.

VINCOLI
Il sito di riferimento per scaricare gli ECG (Physionet) non fornisce
registrazioni attinenti al nostro range di et (6-12 anni). Per questo motivo
abbiamo utilizzato valori di ECG di persone adulte che, normalmente,
hanno una frequenza cardiaca di circa 60-100 battiti per minuto (bpm),
contro gli 80-120 bpm dei bambini.
Vista la giovane et dei bambini, non ci sar uninterfaccia personale
del paziente, che avr esclusivamente un ruolo passivo. Tutte le
operazioni e le interazioni con il programma sono svolte dai rispettivi
genitori/tutori.
Al momento del login, allutente viene chiesto di impostare il giorno e
lora. Il programma infatti stima con queste informazioni la posizione del
bambino, che solitamente ha degli impegni ben scanditi. Per questo siamo
interessati solo al giorno della settimana ed alla fascia oraria in cui ci
troviamo, senza specifiche per data e minuti. Grazie a queste informazioni,
il sistema in grado di assegnare al GPS la posizione attuale del bambino
(che per comodit uguale a tutti i pazienti esaminati): dal Luned al
3

Venerd, dalle 8 alle 16, a scuola; il Luned e il Gioved, dalle 17 alle 19, al
campo sportivo e nelle altre opzioni a casa.
Le comunicazioni che avvengono tra i genitori e i medici sono state
simulate attraverso uno scambio di SMS fittizi, che vengono visualizzati a
video dal destinatario solo dopo il suo login al sistema.
Il paziente dotato di un braccialetto a led che, in caso di aritmia,
sillumina: al bambino viene solo detto di associare questo segnale
allazione dinterrompere lattivit fisica. Il dispositivo provvisto anche di
un sistema GPS che segnala in tempo reale la posizione del paziente,
facilitando larrivo dei soccorsi. Non avendo a disposizione questi
strumenti, allinterno del programma implementato, il funzionamento del
braccialetto simulato da una struct. Essa costituita da due parametri:
LUCE e POSIZIONE GPS (casa, scuola, campo), che permette la stampa
a video dello stato corrente in base ai valori impostati dagli utenti al
momento del login (giorno della settimana e orario). In rete abbiamo
trovato un prototipo del braccialetto che viene utilizzato per la supervisione
dei bambini a distanza.
Linterfaccia dellutente baby-sitter, anche se prevista in una situazione
reale, stata volutamente tralasciata poich sarebbe unulteriore
ripetizione delle figure dell'insegnante e dellallenatore.
Gli utenti Insegnante e Allenatore non interagiscono con il sistema ma
ricevono solamente i messaggi di allarme, per questo motivo non sono
state implementate le loro personali interfacce. Allinterno del programma,
se viene impostato un giorno e un orario che rientra nella loro area di
competenza (dal Luned al Venerd, dalle 8 alle 16, per linsegnante e il
Luned e il Gioved, dalle 17 alle 19, per lallenatore), nellSMS che il
genitore riceve quando si verifica unaritmia viene visualizzata lavvenuta
ricezione del loro personale messaggio.
da prendere in considerazione leventualit che siano effettuati degli
errori nellanalisi dellECG e che, di conseguenza, siano rilevate delle false
aritmie, causate magari da un tocco accidentale dei sensori o dalla pratica
di attivit sportive. Per questo motivo, verrebbe applicato un accelerometro
triassiale al dispositivo, che registri i movimenti del paziente. Il cardiologo
riceve simultaneamente i tracciati ECG e i dati raccolti dallaccelerometro,
per poterli confrontare, e giudicare cos lattendibilit dei risultati ottenuti
dalle analisi automatiche.
Il dispositivo, per fornire unadeguata assistenza, dovrebbe registrare e
analizzare 24/24 h i tracciati ECG del bambino: questo comporterebbe una
4

richiesta di memoria molto superiore a quella a nostra disposizione. Nel


programma, gli ECG utilizzati sono registrazioni di un minuto che non
avvengono in tempo reale ma sono analizzati su richiesta dellutente.
In uno scenario reale, un bambino affetto da malattie cardiache dovr
sicuramente assumere dei farmaci specifici, ma abbiamo deciso di non farne
menzione nellimplementazione del nostro progetto.
STATI DEL SISTEMA
- Condizione di normalit:
normalit il sistema non rileva anomalie durante lanalisi
dellECG e non invia nessun tipo di segnale e/o allarme. Stampa a
video: BRACCIALETTO SPENTO.
- Condizioni di allarme:
allarme
ATTACCO LIEVE: se si verificano meno di quattro battiti anomali consecutivi
(tachicardici o bradicardici) o se ci sono pi di 10 battiti anomali isolati in un
minuto. Il sistema invia un messaggio al PLS, al genitore/tutore e, nelle ore di
competenza, allinsegnante o allallenatore. Il paziente riceve il segnale
luminoso dal braccialetto.
ATTACCO MODERATO: se si verificano almeno quattro battiti anomali
consecutivi (tachicardici o bradicardici) in un minuto. Il sistema invia un
messaggio e un allarme sonoro al cardiologo che decide se inviare
unambulanza in base al tracciato ECG, al genitore/tutore, al PLS e, nelle ore
di competenza, allinsegnante o allallenatore. Invia al cardiologo il segnale
ECG. Il paziente riceve il segnale luminoso dal braccialetto.
ATTACCO GRAVE: se si verifica almeno un battito di fibrillazione o di grave
bradicardia. Il sistema invia un messaggio e un allarme sonoro al cardiologo,
al genitore/tutore e, nelle ore di competenza, allinsegnante/allenatore.
Chiama unambulanza. Invia al cardiologo il segnale ECG. Il paziente riceve il
segnale luminoso dal braccialetto.

ARTICOLI

SCOPI

Riduzione del numero


dei decessi causati da
malattie cardiache in
Giappone tramite
analisi delle aritmie.

METODI

RISULTATI

Realizzazione dellalgoritmo atto al


riconoscimento di pazienti a rischio PAF
e prevenzione di possibili ictus negli
stessi.

Dimostrazione tramite esperimenti


dellefficacia del telemonitoraggio nella
prevenzione e nel riconoscimento di
attacchi cardiaci.

Progettazione di un
Riconoscimento tempestivo di aritmie
sistema di monitoraggio isolate altrimenti fatali.
diverso dallHolter che
permetta di essere
utilizzato in maniera
continua, sia dentro che
fuori casa.
Telemonitoraggio dei
pazienti per mezzo di
smartphone e specifiche
apps.

Implementazione di un
programma utilizzabile
dai vari attori coinvolti
nel monitoraggio di un
paziente tramite
internet.

UTILIT
UTILIT

Larticolo ci ha indirizzati alla


scelta del paziente (bambini
affetti da malattie congenite).

Registrazione del segnale


In base alla gravit

Dallarticolo abbiamo preso


lidea di installare un
accelerometro nel sistema,
per evitare falsi allarmi dovuti
a movimenti improvvisi.

60 < f.c.< 100 (bpm)

An m-Health
Telemonitoraggio
Monitoring System
continuo di
for Children with
bambini affetti da
Suspected
NCLV
Arrhythmias
(NonCompaction
of the Left
Ventricle)

E. Kyriacou, C. Pattichis,
M. Pattichis, A. Jossif,
L. Paraskeva

Development of
Wearable Heart
Disease Monitoring
and Alerting System
associated with
Smartphone
Hyuma Watanabe,
Masatoshi Kawarasaki,
Akira Sato, Kentaro
Yoshida

Easy G
Fornire un metodo per
Electrocardiogram lo screening di PAF
Analysis System (Paroxysmal Atrial
Graz
Fibrillation) basato
sullECG di routine
registrato a lungo
termine.

C. Peer, G. Schreier, P.
Kastner, W. Marko, J.
Messmer, B. Rotma, P.
Lercher, W. Klein

AZIONE

CODIZIONE

Dallarticolo abbiamo preso


spunto per limplementazione
dellinterfaccia del sistema.

TIPO EVENTO
Ritmo sinusale normale

Bradicardia sinusale

Grave bradicardia

Tachicardia sinusale

Fibrillazione atriale

Ischemia miocardica

Infarto miocardico

30 < f.c.< 60 (bpm)

dell'evento il sistema
risponde
Condizione di massima
gravit: il sistema risponde
f.c. < 30
inviando un segnale di
allarme sonoro e un
messaggio diretto ai vari
utenti.
In base alla gravit
100 < f.c.< 250 (bpm)
dell'evento il sistema
risponde
300 < f.c.< 600 (bpm)
Condizione di massima
(anche se la frequenza
gravit: il sistema risponde
percepita normalmente pi inviando un segnale di
bassa perch sinstaura un allarme sonoro e un
blocco nella conduzione
messaggio diretto ai vari
atrioventricolare)
utenti.
Sottoslivellamento del tratto Patologia non analizzata dal
ST con o senza inversione programma.
dell'onda T come
conseguenza dell'alterata
ripolarizzazione
Comparsa di onde Q
Patologia non analizzata dal
profonde a causa della
programma.
mancanza della corrente di
depolarizzazione in
corrispondenza del tessuto
necrotico

METODOLOGIE E ALGORITMO DI ANALISI ECG


Per poter analizzare i tracciati dell'ECG, abbiamo scelto di applicare
unoperazione che converta i dati forniti da Physionet, intervalli tra i picchi R
in secondi, in battiti per minuto (bpm). La frequenza cardiaca pu essere cos
calcolata:
battiti al secondo = 1/intervallo RR [s]
frequenza cardiaca (battiti al minuto) = battiti al secondo x 60 [bpm]
Una volta convertiti, i dati saranno confrontati con i parametri in frequenza
delle patologie cardiologiche analizzate (aritmie).
Il programma analizza un valore alla volta del file: se ne trova uno che non
compreso nel range di normalit (60-100 bpm), incrementa la variabile che
conteggia i battiti anomali isolati (s). Se anche il battito successivo
7

anomalo, s si azzera e viene incrementato un secondo contatore (c) che


memorizza quanti battiti anomali consecutivi si verificano. In base al valore
finale di c lanomalia (tachicardia o bradicardia) viene classificata come lieve
o media. Se il valore registrato dellECG superiore ai 300 bpm si aggiorna
la variabile della fibrillazione (F), se inferiore ai 30 bpm si aggiorna la
variabile della bradicardia grave (B): basta una sola registrazione di queste
anomalie per attivare lallarme grave. Il programma memorizza anche il
numero di battiti normali (N) registrati nel minuto analizzato.

DEFINIZIONE DELLE STRUTTURE DATI


#define NUM_PAZIENTI

3
8

#define
#define
#define
#define
#define
#define
#define
#define

NUM_MEDICI 2
MAX_PAG 7
MAX_SMS 6
MAX_ECG 250
GIORNI 5
ORA_INIZIO 8
ORA_FINE 19
FASCE (ORA_FINE ORA_INIZIO)

typedef struct {
int giorno;
int ora;
int s;
int tlieve;
int tmedio;
int blieve;
int bmedio;
int f;
int b;
} valori;

//da 1 a 7 (Luned-Domenica)
//senza i minuti, nel formato 24h
//conteggio dei battiti anomali isolati (>10 anomalia)
// tachicardie inferiori ai 4 batti anomali consecutivi
//tachicardie di almeno 4 battiti anomali consecutivi
//bradicardie inferiori ai 4 battiti anomali consecutivi
//bradicardie di almeno 4 battiti anomali consecutivi
//conteggio delle fibrillazioni (frequenza>300 bpm)
//conteggio delle bradicardie gravi (frequenza<30 bpm)

typedef struct {
char nome [20+1];
char cognome [20+1];
char sesso;
int anno;
char CF [16+1];
char indirizzo [50+1];
char civico [5+1];
char citta [50+1];
char provincia [2+1];
char CAP [5+1];
int telefono;
char patologia [20+1];
int codice;
char anamnesi [1000+1];
valori aritmia [ MAX_PAG ];
} cartella_clinica;
cartella_clinica archivio_pazienti [ NUM_PAZIENTI ];
float ECG [ MAX_ECG ];
typedef struct {
9

char nome [20+1];


char cognome [20+1];
int matricola;
char tipologia [30+1];
} medico;

//pediatra o cardiologo

medico albo [ NUM_MEDICI ];


typedef enum { casa, scuola, campo } posizione;
typedef struct {
int acceso;
posizione GPS;
} tipo;
tipo braccialetto;
typedef struct {
int giorno;
int ora;
int mittente;
int destinatario;
char testo [160+1];
} messaggio;
messaggio SMS [ MAX_SMS ];
typedef struct {
int giorno;
int ora [5+1];
char testo [1000+1];
} pagina;
pagina diario [ MAX_PAG ];

//un diario per ogni genitore

int agenda [ GIORNI ][ FASCE ]; //2 agende per i medici e 3 per i genitori

PROTOTIPI DELLE FUNZIONI UTILIZZATE


10

void leggi_ECG ();


La procedura apre e legge il file ECG, converte i valori da secondi a
battiti al minuto.
void analizza_ECG ();
Aggiorna i valori delle variabili che identificano la tachicardia, bradicardia,
fibrillazione, grave bradicardia, battiti anomali isolati e battiti normali.
void allarmi ();
In base ai valori ottenuti dallanalisi dellECG, la procedura invia gli
opportuni SMS e/o allarmi sonori ai rispettivi utenti. A seconda del giorno e
dellorario impostati dallutente, invia anche la posizione rilevata dal GPS.
void chiama_ambulanza ();
Nel caso in cui il cardiologo decida di inviare soccorsi, il genitore del
paziente riceve in automatico un SMS di avviso.
void luce (tipo braccialetto);
In base ai valori ottenuti dallanalisi dellECG e a seconda delle
impostazioni di giorno e ora, stampa a video lattivazione del braccialetto e
la sua posizione.
void nuovo_appuntamento ();
void cancella_appuntamento ();
void stampa_cartella ();
void modifica_cartella ();
void inserisci_ora ();
void stampa_spazi (char stringa [ ]);
void conversione_spazi (char stringa [ ]);

11

Potrebbero piacerti anche