ELABORAZIONE DEI DATI
La raccolta e la memorizzazione dei dati è finalizzata alla trasmissione di informazione al clinico. Per
estrarre informazione semantica dai dati è necessario elaborare i dati (data processing).
Affinché un computer possa fare una qualunque cosa, bisogna dargli istruzioni ed un programma è
una lista di istruzioni per il computer. Il programma sa dove e come recuperare i dati, come elaborarli
e come presentare i risultati. Il programmatore definisce come queste azioni devono venire effettuate
ed il programma semplicemente dice al computer cosa fare. Il programma e i dati sono memorizzati
nella memoria del computer.
COMPUTER
Il computer è formato da due parti: l’hardware, che rappresenta la componente fisica del sistema, ed
il software, che rappresenta i programmi.
Di seguito sono riportati due esempi di utilizzo del computer:
- Sistema di elaborazione dell’informazione, in cui il computer supporta il clinico nello stadio
dell’osservazione, e, in parte, negli stadi diagnostici e terapeutici;
- Sistema di controllo del processo, in cui il computer elabora variabili ed aggiusta il processo
affinché questo proceda in modo sicuro.
Nel caso di sistema di controllo di processo, il processo decisionale fa parte del computer, cioè l’utente
non è parte del ciclo diagnostico terapeutico, mentre nel sistema di elaborazione dell’informazione
l’utente è colui che prende la decisione.
Esempio: Sistema di controllo di processo
Un esempio di sistema di controllo di processo è il pancreas artificiale, che decide la quantità di
insulina da iniettare senza l’intervento da parte dell’operatore umano.
SISTEMA DI ELABORAZIONE DELL’INFORMAZIONE
Il sistema di elaborazione dell’informazione ha due protagonisti principali: l’operatore umano (user)
ed il computer.
Il sistema di elaborazione delle informazioni è formato da cinque componenti, ciascuna delle quali
necessita di hardware e software:
1. Utente;
2. Inserimento dati;
3. Interfaccia utente;
4. Software di elaborazione dati;
5. Presentazione dati.
Operatore umano (utente)
L’operatore umano (o utente) è essenziale in ogni sistema di elaborazione dell’informazione ed è
responsabile dell’inserimento dei dati nel sistema e nel controllo del processo.
Nel settore dell’healthcare esistono tre tipi di utente:
Utente occasionale
L’utente occasionale conosce le funzioni fornite dal sistema ma non conosce tutte le sue
potenzialità e tutte le sue funzioni nel dettaglio. Questo utente necessita di assistenza per la
navigazione attraverso il sistema informatico. Il sistema deve prevedere protezioni adeguate
da danni catastrofici (perdita di dati) e deve avere un servizio di help-on-demand.
Utente di routine
L’utente di routine ha una conoscenza dettagliata di tutte le funzioni dell’applicazione che usa
e conosce esattamente il comportamento del sistema nell’applicazione delle funzioni. Questo
utente può essere disturbato dall’avere sullo schermo informazioni superflue che rendono
difficile leggere lo schermo a colpo d’occhio ed infatti, in questo caso, help è spesso non
necessario e non apprezzato. L’utente di routine richiede un’interazione “amichevole” con il
computer, con particolare riguardo alla velocità e facilità dell’inserimento dei dati (ad esempio
consentendo il typing ahead).
Utente esperto
L’utente esperto è interessato allo svolgimento di compiti altamente specializzati e specifici.
Questo utente guarda alla funzionalità e al loro risultato dell’applicazione, più che all’efficienza
e alla user friendliness (ad esempio il ricercatore che scrive e modifica i suoi programmi). In
questo caso help è raramente utilizzato, viene utilizzato solo quando l’utente vuole
familiarizzare con un nuovo programma.
Inserimento dati (data entry)
I dati possono essere inseriti in due modi:
o Manualmente Nell’inserimento manuale l’utente è il trasduttore che converte i dati in un
formato leggibile dal computer. Alcuni esempi possono essere il riempimento manuale di
moduli, il bar code, il riconoscimento automatico di caratteri ed il voice input.
o Automaticamente
Nell’inserimento automatico la conversione dei dati è effettuata dallo strumento che misura e
in genere elabora i dati. Alcuni esempi possono essere gli autoanalizzatori (usati nei laboratori
clinici), i dispositivi di registrazione ( ) ed i dispositivi per il monitoraggio del paziente ( ).
ECG ICU
L’inserimento di dati manuale è più soggetto ad errori di quello automatico e dati di bassa qualità
danno luogo a informazione non affidabile o erronea.
Un sistema di feedback on-line può automaticamente ridurre significativamente il tasso di errori
durante il data entry e l’inserimento dei dati il più vicino possibile alla sorgente, possibilmente fatto
da persone ‘competenti’ riduce la possibilità di errori.
I dati dovrebbero essere inseriti sempre in presenza del paziente in modo da poter correggere in
tempo reale possibili errori (bedside terminal, point-of-care system). Le trascrizioni su fogli per
successivo inserimento, eventualmente perfino da altro operatore, sono assolutamente da evitare,
perché la possibilità di errore cresce enormemente.
Esistono vari tipi di rilevatori/correttori automatici di errori:
- Rilevatori e correttori di errori sintattici: controllano che le regole di scrittura dei dati siano
rispettate (ad esempio controllano le regole di scrittura di una data: 2 cifre/2 cifre/4 cifre);
- Rilevatori e correttori di errori semantici: controllano che i dati inseriti siano possibili e
plausibili (ad esempio il peso commisurato all’età);
- Help on-line (spiegazione ed esempi).
Interfaccia utente (user interface)
L’interfaccia utente è quella parte dell’applicazione che comunica con l’utente ed è usata per
controllare l’esecuzione ed il flusso del programma e per un data entry interattivo.
I requisiti per la user interface dipendono dal tipo di utente ed una volta che l’utente ne ha compreso
il funzionamento, è essenziale che il comportamento del sistema sia consistente.
Esistono due tipologie base di interfaccia utente:
Interfaccia a riga di comando (CLI)
Nell’interfaccia a riga di comando sono ammessi solo simboli di tastiera come mezzi di
comunicazione tra utente ed elaboratore, quindi è presente un’interazione testuale. La CLI
richiede velocità di trasmissione molto basse e quindi è ideale per trasmissioni remote (ad
esempio quando l’utente è connesso in remoto attraverso cavo telefonico) ed inoltre da
maggiore controllo sull’esecuzione ma non è molto user-friendly.
Interfaccia grafica (GUI)
L’interfaccia grafica consente all’utente di interagire con l’elaboratore controllando oggetti
grafici convenzionali in maniera molto user-friendly. La GUI permette una standardizzazione
nell’aspetto e nell’uso dei sistemi di interfaccia (il desktop è il piano di lavoro e le finestre sono
le applicazioni) ed inoltre consente una programmazione di tipo event-drive.
Esistono due tipi di interfaccia grafica: l’interfaccia grafica a finestre e la programmazione
event-drive.
Interfaccia grafica a finestre
L’interfaccia grafica a finestre è formata da un bordo (barra del titolo, dispositivi di controllo per
chiudere, ridurre a icona, portare a tutto-schermo, spostare, ridimensionare, ecc.) e da una parte
interna, inoltre, più finestre possono essere aperte contemporaneamente ma solo una attiva.
Esempio di interfaccia grafica a finestre:
Dispositivi di monitoraggio del glucosio
In questo dispositivo vi è un ago fisso sottocute grazie al quale si misura, ogni cinque minuti, il valore
di glicemia nel sangue. Dato che la glicemia viene misurata ogni cinque minuti e l’ago viene cambiato
ogni quattordici giorni, al mese si avranno un’enorme quantità di dati. Tutta questa mole di dati mi
aiuta a tenere traccia della storia glicemica del paziente.
Questo sotto riportato è un software open, ovvero un software che permette di analizzare e fare
statistiche sui valori glicemici e ne esistono circa 12/ 13 (scritti in Matlab, Pyton, ecc.).
Programmazione event-drive
La programmazione event-drive è uno stile di programmazione in cui il programma è pilotato (driven)
da eventi esterni (un evento è una parte di codice da eseguire quando l'utente utente interagisce con
un comando della finestra); è diverso dal programma tradizionale in cui l’esecuzione delle istruzioni è
fissa. L’idea base è quella di gestire una coda di eventi in modo tale che, quando l’ambiente (mondo
esterno al programma) è operativo genera eventi che vengono inseriti nella coda.
I programmi event-driven sono composti da:
- Event handlers, che sono piccole porzioni di codice eseguite quando si verificano determinati
eventi esterni;
Event
- dispatcher, che attiva gli event handlers tramite l’uso di event queue che memorizzano
gli eventi non ancora processati.
Elaborazione dati (data processing)
Durante il data processing i dati sono analizzati e trasformati in modo tale che l’informazione richiesta
possa essere presentata all’utente.
Di seguito sono riportate alcune tipologie di data processing:
o Data sorting
Nel data sorting i dati vengono ordinati a seconda di quanto richiesto (crescente, alfabetico,
ecc.).
o Data storage and retrieval
Con data storage si intende la struttura con il quale il dato viene memorizzato, mentre con
data retrieval si intende l’estrazione di determinati parametri (ossia dare in output solo quello
che viene richiesto). Nel data sorting and retrieval i dati vengono salvati o recuperati,
raramente come voci indipendenti, ma piuttosto raggruppati insieme in classi. In particolare,
i database sono classi strutturate, che attraverso l’uso di query-languages permettono la
memorizzazione e il recupero di dati pressoché istantaneamente.
Esempio:
Nel database dei pazienti ricoverati nel reparto cardiologia devo estrarre tutti i pazienti di età
inferiore ai 30 anni.
o Data computations
Nel data computations i dati vengono elaborati attraverso operazioni matematiche
(algebriche, logiche, statistiche). In questo tipo di data processing possono essere anche fatte
elaborazioni numeriche complesse, come quelle utilizzate per l’analisi di immagini, di segnali
biomedici o algoritmi per la risoluzione di equazioni differenziali nella modellazione di sistemi
biologici (vera e propria elaborazione).
o Data transformation
Nel data transformation i dati vengono trasformati da un dominio ad un altro (ad esempio da
tempo a frequenza, da immagini 2D a 3D, ecc).
Esempio:
La tomografia computerizzata consente di riprodurre sezioni del paziente ed effettuare
elaborazioni tridimensionali.
Presentazione dati
In questa fase l’utente deve poter specificare come vuole che gli sia presentata l’informazione (per
esempio se l’utente è anziano dobbiamo chiederci se sia abituato ad usare la tecnologia). La
presentazione corretta di informazione all’utente è essenziale per una adeguata comprensione e deve
essere presentata solo l’informazione sulla quale l’utente vuole basare la sua decisione. In genere si
preferisce presentare l’informazione in modo grafico anziché numerico, dato che con il grafico si ha
un’immediata comprensione dei dati.
Esempio:
Pressione sanguigna rappresentata in forma grafica e numerica.
La multimedialità dei computer può oggi venire sfruttata inserendo anche suoni, filmati oltre ai classici
modi di rappresentare i dati.
La presentazione dei dati può essere a schermo o su carta: la maggior parte delle presentazioni è
digitalizzata, ma una piccola parte è presentata ancora su carta (ad esempio l'ecg, che presentato su
carta millimetrata).
La risoluzione dello schermo è fondamentale nella rappresentazione di immagini (ad esempio nelle
immagini radiografiche) e adoperando lo zoom su parti dell’immagine digitale, questa acquista alta
risoluzione.
SISTEMI DI ARCHIVIAZIONE (STORAGE) DEI DATI
Il termine RAID (Redundant Array on Independent Disk) è utilizzato per indicare schemi di
archiviazione dei dati che dividono e duplicano i dati tra diverse unità disco. Il RAID è stato progettato
con due obiettivi principali: aumentare la sicurezza dei dati ed aumentare le prestazioni I/O
(input/output). Un RAID aggrega fisicamente gli hard disk in una singola unità logica, utilizzando
speciali soluzioni hardware e software.
Esistono tre livelli di RAID:
o RAID tipo 0
Il RAID tipo 0 è una tecnica detta «striping» che suddivide ogni blocco di dati in due o più parti
e le salva su hard disk diversi (non vi è ridondanza).
o RAID tipo 1
Il RAID tipo 1 è una tecnica detta «mirroring» che scrive contemporaneamente gli stessi dati
su due o più hard disk (vi è massima ridondanza).
Concetto di parità
Dati 8 bit, ho un nono bit di parità, calcolato come la somma modulo 2 dei bit di dati. Il valore
del nono bit di parità ha valore 0 se il numero di 1 nel byte è pari altrimenti è 1.
Esempio: →
0 0 1 0 1 1 0 1 0
→
1 0 1 1 0 1 1 0 1
o RAID tipo 5
Il RAID tipo 5 è una delle implementazioni più diffuse ed utilizza una suddivisione dei dati a
livello di blocchi e memorizza le informazioni di parità su più dischi. Se un disco si guasta il
controller se ne accorge e l’informazione viene ricostruita con la parità.
SOFTWARE
Quando il computer viene acceso, si avvia il boot che è memorizzato in una memoria detta ROM (Read
Only Memory). Il boot controlla l’hardware e poi cerca il sistema operativo, che è sempre presente
nella memoria interna una volta che il computer è stato avviato dal boot. I programmi delle
applicazioni utilizzano software tools, librerie e utilities per costruire un’applicazione completa.
Il software è organizzato in strati intorno all’ hardware ed i programmi più esterni sono più facilmente
trasferibili da un computer ad un altro dei programmi interni.
ANALISI DEI SEGNALI BIOLOGICI
Tutti gli organismi viventi producono segnali di varia origine e principalmente possono essere: segnali
elettrici, segnali meccanici e segnali chimici.
I segnali biologici sono d’interesse per la diagnosi, per il monitoraggio e per la ricerca clinica.
I segnali biologici sono sempre corrotti, a volte nascosti, da rumore o da altri segnali di cui non siamo
direttamente interessati (interferenze – crosstalk).
Il processamento dei segnali biologici consiste sostanzialmente nel filtrare i segnali stessi da tutto ciò
che non interessa o che disturba (noise) e nel ridurre la grande quantità di dati a pochi parametri
rilevanti.
Lo scopo del processamento dei segnali biologici è quello di derivare informazione dai parametri
estratti.
Il signal processing consiste, di solito, in quattro stadi fondamentali:
1. Misura dell’osservazione (acquisizione del segnale)
Al primo stadio di acquisizione si usano trasduttori o elettrodi (se il segnale è già in forma
elettrica) e si deve cercare di mantenere bassa l’entropia del segnale ovvero alto il rapporto
segnale-rumore. Una volta che i segnali sono stati tradotti in forma elettrica devono essere
digitalizzati in modo da essere processati da computer.
2. Trasformazione e riduzione dei segnali
Al secondo stadio, quello del signal trasformation o preprocessing, i dati devono essere
trasformati in modo tale che al terzo stadio si possa estrarne il contenuto semantico
(ridondanza dei dati). Talvolta la ridondanza dei dati viene usata per eliminare componenti di
rumore, ad esempio mediante il filtraggio; quindi, al secondo stadio si vuole ridurre il rumore
e ridurre la quantità di dati
3. Calcolo dei parametri che sono significativi per la diagnosi
Il terzo stadio, quello del parameter selection, rileva parametri rilevanti dal punto di vista
semantico (features), che possono essere usati come input a ulteriori procedure di clinical
decision making. Tali features devono avere potere discriminante che consenta di associare al
paziente la malattia A o la B, o di definire se c’è una tendenza nel decorso della malattia
4. Interpretazione e classificazione dei segnali
Al quarto stadio di signal classification si cerca di interpretare o classificare i risultati dello
stadio precedente. Le metodologie utilizzate sono analoghe a quelle proprie della pattern
recognition ovvero basate su logica, ragionamento euristico, statistica, o una loro
combinazione
Tipi di segnali biologici
I segnali biologici vengono classificati in due gruppi principali:
o Segnali deterministici, che a loro volta si suddividono in segnali periodici, quasi periodici e
transitori;
o Segnali stocastici, che a loro volta si suddividono in segnali stazionari e non stazionari.
Aree di applicazione dell’analisi dei segnali biomedici
L’analisi dei segnali biomedici può essere applicata in varie aree:
- Analisi funzionale;
- Screening di popolazioni (bisogna fare riferimento a dei dati che sono molto meno informativi
e si basa su dei modelli costruiti su dati meno "pregiati", per esempio l’analisi dei dati della
cartella clinica elettronica);
- Analisi on-line (si basa su computazioni facilmente gestibili nell'arco di tempo in cui l'analisi
deve essere fatta, quindi in tempo reale);
- Ricerca di base (si appoggia anche su dati della cartella clinica).
Esempio di elaborazione del dato nel contesto degli studi sul metabolismo (analisi di tipo funzionale):
IVGTT (test di tolleranza al glucosio per via endovenosa) In questo grafico il segnale è stazionario,
quindi prima dell’inie
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Informatica medica
-
Appunti Informatica medica
-
Appunti Fondamenti di informatica medica
-
Appunti di Informatica medica