informazione e codifica - homes.di.unimi.it · perché codificare/classificare in medicina “if we...
TRANSCRIPT
Programma del corso
1. Introduzione – Informazione e codifica
2. Basi di dati
3. Basi di dati
4. Basi di dati
5. Sistema informativo sanitario
6. Elaborazione dati
7. Elaborazione dati
8. Elaborazione dati
Informazione
Dal dizionario De Mauro Paravia, informazione:
elemento o dato che permette di venire a conoscenza di qualcosa (definizione
generale)
qualsiasi messaggio inviato secondo un determinato codice da un trasmettitore
a un ricevente (definizione scientifica)
L’informazione
riguarda i dati
si codifica tramite un codice
fornisce conoscenza
Dati, informazione, conoscenza
Dati: consistono di fatti
125/70 mmHg
Informazione: dati che assumono significato in un certo contesto
La pressione è 125/70 mmHg
Conoscenza: definisce le relazioni tra diversi tipi di informazioni
Pressione di un paziente superiore a 135/95 mmHg in tre diverse occasioni il
paziente ha una pressione sanguigna alta
Sistema informativo
Insieme delle informazioni utilizzate, prodotte e trasformate da un'azienda
Concetti base: dati, informazioni e processi
Gestire quantità sempre maggiori di informazioni in modo efficace
Prendere decisioni velocemente richiede la possibilità di disporre di tutte le informazioni necessarie in tempi rapidi, il che è possibile solo se l'impresa è dotata di un sistema informativo in grado di rendere disponibili le informazioni in tempo reale
Sistema informativo aziendale come sistema nervoso dell'azienda stessa
Informatizzazione del sistema informativo aziendale per:
controllare, pianificare e gestire in modo integrato tutte le attività
elaborare velocemente una grande quantità di dati ed informazioni
Sistema informatico: parte del sistema informativo composta dai calcolatori, dalle reti informatiche, dalle procedure per la memorizzazione e la trasmissione elettronica delle informazioni
Il sistema informatico usa
uno o più database per l'archiviazione e il reperimento delle informazioni
appositi moduli software per l'inserimento e la gestione
Sistemi esperti Programma che cerca di riprodurre le prestazioni di una o più persone esperte in un determinato
campo di attività
applicazione dell'intelligenza artificiale: i programmi utilizzati dai sistemi esperti sono in grado di porre in atto procedure di inferenza adeguate alla risoluzione di problemi particolarmente complessi
Sistema esperto composto da tre sezioni:
una base di conoscenza, in cui sono accumulate le regole deduttive e i dettami procedurali di cui il sistema si serve nel suo operato
un motore inferenziale, in cui il programma si occupa di applicare in concreto le nozioni contenute nella base dati
un'interfaccia utente, che permette '’interazione fra il soggetto umano e il programma che deve dare risposta ai sui problemi.
I sistemi esperti basati su regole sono dei programmi composti da regole nella forma IF condizione THEN azione. Dati una serie di fatti, i sistemi esperti, grazie alle regole di cui sono composti, riescono a dedurre nuovi fatti.
Esempio: forniamo al sistema esperto i seguenti fatti:
ho mal di testa
sono raffreddato
la temperatura corporea è di 38 °C
il sistema esperto assume i fatti e sceglie una regola così formata:
IF ((mal di testa) AND (raffreddore) AND (temperatura >= 38)) THEN (Il suo problema è l'INFLUENZA).
Codifica dell’informazione
Affinché un dato diventi informazione, esso deve essere interpretato
tramite un codice, secondo il contesto di riferimento
Es: codice Morse
Una sequenza di punti e linee non è informazione se non
riusciamo ad interpretarla! Abbiamo bisogno di sapere il
codice...
Codifica dell’informazione
Un codice comprende due componenti distinte:
Un alfabeto per descrivere come rappresentare il dato
Una semantica per descrivere come interpretare tale dato
L’alfabeto del codice Morse
Semantica del codice Morse
Esempio: il questionario
Esempio di codice: domande contenute nel questionario
Alfabeto: i simboli “a”, “b” e “c”
Semantica: il testo della risposta
Tramite questo codice specifichiamo come un dato (es. “b”) debba essere
interpretato (es. come “La scienza che studia l’informazione”) affinché
fornisca informazione
Alfabeto
Alfabeto: insieme di simboli
Parola del codice: sequenza di tali simboli
Esempio:
alfabeto relativo all’età di un paziente:
{0, 1, 2, ..., 8, 9}
Dato “28”: rappresentato nell’alfabeto
decimale dalla parola composta dalla
sequenza 2 e 8
Alfabeto binario
Alfabeto del calcolatore: alfabeto binario – contenente il numero minimo
di simboli {0, 1}
Caratteristiche:
semplicità
efficienza: esecuzione veloce di operazioni
sistema di non immediata comprensione per l’uomo
Alfabeto binario
Parola lunga n = 1 bit (binary digit)
Parola lunga n = 8 byte
Parola lunga n = 16 word
I moderni calcolatori lavorano con parole lunghe 32 o 64 bit, mentre i
dispositivi portatili (cellulari, palmari) usano ancora parole a 8 o 16 bit
Lunghezza n della parola possibile rappresentare fino a 2n valori distinti
Esempio: n = 3
0 = 000 4 = 100
1 = 001 5 = 101
2 = 010 6 = 110
3 = 011 7 = 111
Tipi di dato elementari
Il calcolatore tratta tre tipologie di informazione elementari:
Informazione booleana: vero/falso
Informazione numerica: valore numerico intero/reale
Informazione testuale: carattere
Per aggregazione di questi tipi di dato elementari, si esprimono gli altri tipi
di dato (tipi derivati o strutturati)
Informazioni booleane
Alfabeto
Per rappresentare una informazione booleana vero/falso si utilizza un solo bit
Le parole booleane sono quindi sequenze di lunghezza uno
Semantica
0 ) FALSO
1 ) VERO
Informazioni numeriche
Alfabeto
Informazione numerica – intera o reale – rappresentata tramite sequenze di
lunghezza finita di bit
Semantica
Informazioni numeriche intere notazione posizionale
Informazioni numeriche reali notazione scientifica
Notazione posizionale
Numero x in base b, espresso dalla sequenza di n cifre Cn−1, ..., C1, C0,
valore = Cn−1 · bn−1 + ... + C1 · b1 + C0 · b0
Esempio: supponiamo che il calcolatore stia trattando il numero binario 1010
b = 2
C3 = 1, C2 = 0, C1 = 1, C0 = 0
valore = C3 · b3 + C2 · b2 + C1 · b1 + C0 · b0 =
1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = 1 · 8 + 0 · 4 + 1 · 2 + 0 · 1 = 10
Quindi, la sequenza binaria 1010, interpretata come numero intero senza
segno, corrisponde al numero 10
Numeri interi con segno
La notazione posizionale, così come introdotta, ci permette di
rappresentare solo numeri positivi
Per rappresentare anche i numeri negativi, si utilizza il bit più a sinistra
assumendo che
0: numero positivo
1: numero negativo
Esempio: 11001010 = “-” 2^6 + 2^3 + 2^1 = −74
Dimensione delle parole e limiti per i
numeri interi
n bit numeri interi positivi da 0 fino a 2n − 1
Usando 8 bit [0, 255]
Usando 16 bit [0, 65535]
numeri con segno interi da−2n−1 + 1 fino a 2n−1 − 1
Usando 8 bit [−127, 127]
Usando 16 bit [−32767, 32767]
Notazione scientifica
Usata per i numeri reali
Anche chiamata rappresentazione a virgola mobile
valore = mantissa · b esponente
Esempio: numero 23.45 rappresentabile in notazione scientifica come
0.2345 · 102 dove
mantissa = 0.2345
b = 10
esponente = 2
Notazione scientifica
La rappresentazione a virgola mobile per numeri binari tipicamente è a 32 bit
Esponente 8 bit
Mantissa 24 bit
Sia l’esponente che la mantissa devono essere interpretati utilizzando la
notazione posizionale
Notazione scientifica: esempio
Sequenza di 32 bit: 10000110 000000000000001110110101
esponente = 10000110
mantissa = 000000000000001110110101
esponente = −(2^1 + 2^2) = −(2 + 4) = −6
mantissa = 2^0 + 2^2 + 2^4 + 2^5 + 2^7 + 2^8 + 2^9 =1 + 4 + 16 + 32 + 128 +
256 + 512 = 949
valore = 949 · 2−6 = 14.828125
Informazioni testuali
Alfabeto
Informazioni testuali (cioè caratteri) rappresentate come sequenze di bit
Semantica
Interpretazione delle sequenze di bit in caratteri tramite tabelle di conversione ad una certa sequenza di bit viene associato uno ed un
solo carattere
ASCII
Acronimo di American
Standard Code for
Information Interchange
Sistema di codifica dei
caratteri proposto nel
1961 dall’ingegnere
dell’IBM Bob Bemer (1920,
2004)
Alfabeto: sequenze di 7
bit
Semantica - tavola ASCII
Extended ASCII
Alla specifica iniziale basata su codici di 7 bit fa seguito l’extended ASCII
(comprendente le vocali accentate, simboli semigrafici, ed altro)
Alfabeto: sequenze di 8 bit
Semantica
Varie tavole di conversione, ciascuna relativa ad una lingua:
ISO/IEC 8859-1 Europa occidentale
...
ISO/IEC 8859-16 Europa sud-orientale
Unicode
Sistema di codifica che assegna una combinazione (di lunghezza variabile)
di bit a ogni carattere in maniera indipendente da programma,
piattaforma e lingua
Unicode codifica i caratteri usati in quasi tutte le lingue vive e in alcune
lingue morte, simboli matematici e chimici, cartografici, l’alfabeto Braille,
ideogrammi, ecc.
Codifica e classificazione
Da un punto di vista più strettamente medico:
Codifica: trasposizione di un concetto medico in un codice per una
successiva analisi
Classificazione: processo di organizzazione dei codici
Il modo più comune – ma non unico – è quello gerarchico
Codifica e classificazione
Classificazione: ordinare un insieme di concetti secondo un determinato
criterio logico, in modo da poter essere facilmente reperiti da un potenziale
utente della classificazione
Codifica: riguarda la determinazione e assegnamento di un codice per
associare un caso individuale alla corretta classe di appartenenza
Perché codificare/classificare in
medicina
“If we cannot name it, we cannot control it, finance it, research it, teach it, or put it
into public policy.” Dr. Norma Lang (International Council of Nurses, 1993, p.2)
Utile per tutte quelle attività di natura sanitaria che prevedono la necessità di
misurare sia le attività in programmazione, che in corrente attuazione, sia per
valutare i risultati ottenuti
Vantaggi
Terminologia standardizzata
Possibilità di fare analisi statistiche
Supporto alla gestione e organizzazione
Interfacciamento con i sistemi di supporto alle decisioni
Classificazione
Concetti ordinati in accordo a relazioni generiche
Relazioni generiche: relazioni del tipo «A è un tipo di B»
Esempio: la polmonite è un tipo di malattia del polmone
Polmonite: concetto più specifico
Malattie del polmone: concetto più ampio
Principi di classificazione:
Locazione anatomica
Eziologia
Morfologia
Disfunzione
Ogni aspetto può essere usato per un diverso ordinamento
Classificazione multiassiale: usa diversi principi di ordinamento contemporaneamente
Codifica
Assegnare un individuo ad una classe o un insieme di classi (classificazione
multiassiale) tramite un codice
Codici formati da numeri, caratteri alfabetici, o entrambi
Diversi tipi di codici
Codici numerici: assegnamento sequenziale
Codici mnemonici: formati da uno o più caratteri che facilmente identificano la
classe di appartenenza
Es: CAR: cardiologia, GIN: ginecologia
Codici gerarchici: generati per estensione di codici esistenti con uno o più
caratteri per ogni livello di dettaglio
Sistemi di classificazione
Esistono diversi sistemi di classificazione in medicina, tra cui:
ICD: International Classification of Deseases
ICPC: International Classification of Primary Care
DSM: Diagnostic and Statistical Manual for Mental Disorders
SNOMED: Systematized Nomenclature of Human and Veterinary Medicine
ICD-O: International Classification of Deseases for Oncology
CPT: Current Procedural Terminology
ICPM: International Classification of Procedures in Medicine
RCC: Read Clinical Classification
ATC: Anatomic Therapeutic Chemical Code
DRG: Diagnosis Related Groups
Classificazione internazionale delle
malattie
International Classification of Diseases (ICD)
permette la raccolta sistematica e l’analisi statistica di dati riguardanti morbilità
e mortalità provenienti da nazioni diverse
riferimento mondiale per classificare le malattie
Struttura della classificazione
Classificazione gerarchica a tre livelli, divisa in
capitoli
blocchi
patologie
ICD9-CM
In Italia si usa la versione ICD9-CM (ICD versione 9, Clinical Modifications)
http://www.icd9data.com/
Limiti
L’ICD si è sviluppata nel tempo come classificazione per finalità pratiche
piuttosto che teoriche
Vi sono stati quindi compromessi tra una classificazione basata
sull’eziologia, o sulla sede anatomica, ecc.
E’ risultata quindi in un “compromesso” fra diverse necessità sanitarie in
alcune applicazioni, è necessario aggiungere livelli di dettaglio non
presenti nello standard
Gruppi correlati alla diagnosi
Diagnosis Related Groups (DRG) mettono in relazione la diagnosi del
paziente ai costi del trattamento
Nascono negli Stati Uniti con lo scopo di razionalizzare la spesa sanitaria,
cercando cioè di individuare la spesa “adeguata” per trattare ogni
patologia
Un DRG individua quindi un costo fisso, sufficiente a trattare un paziente,
per quella determinata patologia
Gruppi correlati alla diagnosi
Ad ogni ricovero viene assegnato un DRG
La procedura è la seguente
Ad ogni paziente viene assegnato un codice ICD9-CM
Tali codici vengono ripartiti in circa 23 categorie diagnostiche principali (MDC)
Lo scopo di questo passo è di raggruppare i codici in categorie simili che riflettono un similare consumo di risorse e/o trattamento
In base poi alla presenza di complicanze, età del paziente, durata del ricovero,
viene assegnato un DRG
La struttura sanitaria, sulla base del DRG, chiede quindi il rimborso
(attualmente alla Regione)
(molte migliaia) ICD9-CM MDC DRG (poche centinaia)
SNOMED
Sistema di codifica
Il sistema SNOMED si occupa di sistematizzare la memorizzazione di “[...]
tutti gli eventi che si trovano in una cartella clinica [...]” (Cotè et al., 1993)
Sistema multiassiale: ogni asse forma un sistema di classificazione
gerarchico completo
SNOMED: assi
In totale 11 assi, tra cui:
T: topografia termini anatomici
M: morfologia variazioni in cellule, tessuti, organi, …
L: organismi viventi virus e batteri
D: diagnosi
P: procedure amministrative, diagnostiche e terapeutiche
F: funzioni sintomi
Esempio: codice della malattia D-13510 (polmonite da pneumococco) equivalente alla combinazione di:
T-28000: polmone
M-40000: infiammazione
L-25116: streptococcus pneumoniae
Conclusioni
L’informatica è la scienza che studia come trattare l’informazione in maniera automatica
In realtà, l’informatica tratta sia i dati, che l’informazione, che la conoscenza
Il dato è un valore, una misura di un certo fenomeno del mondo reale; il dato, posto in un certo contesto ed interpretato secondo un codice, diventa informazione; un insieme di informazioni, messe in relazione fra loro, possono fornire la conoscenza
Il calcolatore utilizza l’alfabeto binario per tutti i tipi di dati, mentre utilizza una semantica differente a seconda del tipo di informazione da trattare
In medicina, il processo di codifica consiste essenzialmente nell’assegnazione di un codice ad un concetto medico (sia per le patologie, che per i costi, che per gli eventi clinici)