Informatica - Facoltà di Medicina e Chirurgia

Transcript

Informatica - Facoltà di Medicina e Chirurgia
Informatica
Prof. Pierpaolo Vittorini
University of L’Aquila
Dep. of Life, Health and Environmental Sciences
Pierpaolo Vittorini (UnivAQ)
Informatica
1 / 58
L’informazione
Pierpaolo Vittorini (UnivAQ)
Informatica
2 / 58
Che cos’è l’informazione
Dal dizionario De Mauro Paravia, l’informazione è
• un “elemento o dato che permette di venire a conoscenza di qualcosa”
(definizione generale)
• un “qualsiasi messaggio inviato secondo un determinato codice da un
[...] trasmettitore a un ricevente” (definizione scientifica)
In sintesi, l’informazione riguarda i dati, si codifica tramite un
codice, e fornisce conoscenza
Pierpaolo Vittorini (UnivAQ)
Informatica
3 / 58
Dati, informazione, conoscenza
I dati consistono di fatti
290, 34, f, 20.5
Le informazioni sono dati che
assumono significato in un certo
contesto
Di un paziente: il colesterolo totale è 290
mg/dl, l’età è 34 anni, il sesso è femminile,
il BMI è 20.5
La conoscenza definisce le
relazioni tra diversi tipi di
informazioni
Da queste informazioni, si deduce che la
paziente presenta una probabile
ipercolesterolemia di natura familiare
Pierpaolo Vittorini (UnivAQ)
Informatica
4 / 58
Codifica dell’informazione
Affinché un dato diventi informazione, esso deve essere interpretato
tramite un codice, secondo il contesto di riferimento
Storicamente, i primi codici furono il Morse, del 1840, seguito dal
linguaggio delle bandiere usato in marina
Una sequenza di punti e linee certo non è informazione se non riusciamo
ad interpretarla! Abbiamo bisogno del codice...
Pierpaolo Vittorini (UnivAQ)
Informatica
5 / 58
Codifica dell’informazione
Affinché un dato diventi informazione, esso deve essere interpretato
tramite un codice, secondo il contesto di riferimento
Storicamente, i primi codici furono il Morse, del 1840, seguito dal
linguaggio delle bandiere usato in marina
Una sequenza di punti e linee certo non è informazione se non riusciamo
ad interpretarla! Abbiamo bisogno del codice...
Pierpaolo Vittorini (UnivAQ)
Informatica
5 / 58
Codifica dell’informazione (2)
L’alfabeto del codice Morse
Codice
Un codice comprende due
componenti distinte:
La semantica del codice Morse
Un alfabeto per descrivere
come rappresentare il dato
Una semantica per
descrivere come interpretare
tale dato
Pierpaolo Vittorini (UnivAQ)
Informatica
6 / 58
Importanza della codifica
Il mondo reale è formato da fenomeni di natura fisica, dei quali il calcolatore è in
grado di trattarne una rappresentazione
I bambini imparano i numeri e le lettere per rappresentare ciò che li circonda:
inizialmente imparano a riconoscere i simboli dell’alfabeto (e.g. i numeri), quindi
imparano la semantica, cioè ad associare ad una sequenza di simboli il
corrispondente significato (e.g. alla sequenza 2, 8 corrisponde il numero ventotto)
Per il calcolatore valgono i medesimi concetti: affinché sia possibile rappresentare
fenomeni del mondo reale all’interno di un calcolatore, è necessario che usi dei
sistemi di codifica appropriati
Pierpaolo Vittorini (UnivAQ)
Informatica
7 / 58
L’alfabeto
Formalmente, un alfabeto è un insieme di simboli, e una parola di
codice è una sequenza di tali simboli
Ad esempio, l’alfabeto che useremmo
per rappresentare l’età di un paziente
è l’alfabeto decimale, composto dai
simboli
{0, 1, 2, ..., 8, 9}
Una parola di codice è composta da
una sequenza di tali simboli (e.g. 2 e
8), che corrisponde – grazie alla
semantica associata ai numeri
decimali – al numero “ventotto”
Pierpaolo Vittorini (UnivAQ)
Informatica
8 / 58
L’alfabeto binario
Mentre gli esseri umani usano alfabeti diversi per tipi di
informazioni diverse (e.g. il decimale per i numeri, le lettere per il
testo), nel calcolatore si usa sempre un solo alfabeto, i.e. l’alfabeto
binario, contenente il numero minimo di simboli {0, 1}
Si usa l’alfabeto binario essenzialmente perché:
• semplicità: circuiti non sono complessi
• efficienza: esecuzione veloce di operazioni
Pierpaolo Vittorini (UnivAQ)
Informatica
9 / 58
L’alfabeto binario (2)
Tipicamente, a seconda della lunghezza della parola di codice
binaria, si usa darle nomi differenti:
• Una parola lunga n = 1 viene detta bit (binary digit)
• Una parola lunga n = 8 viene detta byte
• Una parola lunga n = 16 viene detta word
I moderni calcolatori lavorano con parole lunghe 32 o 64 bit, mentrei
dispositivi portatili (cellulari, palmari) usano ancora parole a 8 o 16
bit
A seconda della lunghezza n della parola, è possibile rappresentare
fino a 2n valori distinti
Se n = 3, possiamo rappresentare i seguenti valori
000 001 010 011
100 101 110 111
Pierpaolo Vittorini (UnivAQ)
Informatica
10 / 58
Tipi di dato elementari
Di base, il calcolatore tratta tre tipologie di informazione
• Informazione booleana: vero/falso
• Informazione numerica: valore numerico intero/reale
• Informazione testuale: carattere
Per convenzione, chiamiamo
•
•
•
•
bool
char
int float
- booleano
- carattere
numero intero
- numero a virgola mobile
Per aggregazione di questi tipi di dato elementari, si esprimono gli
altri tipi di dato (tipi derivati o strutturati)
Pierpaolo Vittorini (UnivAQ)
Informatica
11 / 58
Informazioni booleane
Le informazioni booleane
Alfabeto
Per rappresentare una
informazione booleana
vero/falso, il calcolatore
utilizza un solo bit
Semantica
La semantica di una parola
booleana sarà invece:
0 ⇒ FALSO
1 ⇒ VERO
Le parole booleane sono
quindi sequenze di
lunghezza uno
Pierpaolo Vittorini (UnivAQ)
Informatica
12 / 58
Informazioni numeriche
Le informazioni numeriche intere/reali
Alfabeto
Semantica
Informazioni numeriche
intere ⇒ notazione
posizionale
Una informazione numerica
– sia essa intera o reale – è
rappresentata dal
calcolatore tramite sequenze
di lunghezza finita di bit
Pierpaolo Vittorini (UnivAQ)
Informazioni numeriche reali
⇒ notazione scientifica
Informatica
13 / 58
Notazione posizionale
Secondo la notazione posizionale, un numero in una base b,
espresso dalla sequenza di n cifre Cn−1 , ..., C1 , C0 , ha un valore
espresso dalla formula
valore = Cn−1 · b n−1 + ... + C1 · b 1 + C0 · b 0
(1)
Se quindi la semantica per le parole di codice relative ad
informazioni numeriche è fornita dalla notazione posizionale, al
presentarsi di una sequenza di bit, l’equazione (1) ci consente di
interpretarle correttamente come numero intero
Pierpaolo Vittorini (UnivAQ)
Informatica
14 / 58
Notazione posizionale (2)
Ad esempio, supponiamo che il calcolatore stia trattando il numero
binario 1, 0, 1, 0
• b=2
• C3 = 1, C2 = 0, C1 = 1, C0 = 0
Applicando l’equazione (1) otteniamo
1·
23
valore = C3 · b 3 + C2 · b 2 + C1 · b 1 + C0 · b 0 =
+ 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
Pierpaolo Vittorini (UnivAQ)
Informatica
15 / 58
Notazione posizionale (3)
11011
C4 = 1, C3 = 1, C2 = 0, C1 = 1, C0 = 1
valore = 1·24 +1·23 +0·22 +1·21 +1·20 = 1·16+1·8+0·4+1·2+1·1 = 27
10100
C4 = 1, C3 = 0, C2 = 1, C1 = 0, C0 = 0
valore = 1·24 +0·23 +1·22 +0·21 +0·20 = 1·16+0·8+1·4+0·2+0·1 = 20
10011
C4 = 1, C3 = 0, C2 = 0, C1 = 1, C0 = 1
valore = 1·24 +0·23 +0·22 +1·21 +1·20 = 1·16+0·8+0·4+1·2+1·1 = 19
Pierpaolo Vittorini (UnivAQ)
Informatica
16 / 58
Valore assoluto 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
se pari a 0 ⇒ Numero positivo
se pari a 1 ⇒ Numero negativo
Quindi, il numero intero binario 1, 1, 0, 0, 1, 0, 1, 0
1
↓
“-”
Segno
1
↓
26
0 0
1
0
1
↓ ↓
↓
↓
↓
0 0 23 0 21
Conversione normale
0
↓
0
6 + 23 + 21 = 64 + 8 + 2 = 74
2
9
=
vale −74
Pierpaolo Vittorini (UnivAQ)
Informatica
17 / 58
Complemento a uno
Il complemento a uno è una modalità alternativa per rappresentare i
numeri negativi
Dato un numero positivo, il corrispondente negativo in complemento
a uno si ottiene invertendo il valore di ogni bit
Ad esempio, dato il numero intero binario 0, 1, 0, 1, 0 = 10, il numero
−10 si ottiene
0
1 0 1 0
NOT bit a bit
1 0 1 0 1
Pierpaolo Vittorini (UnivAQ)
Numero positivo
Complemento a uno
Informatica
18 / 58
Complemento a due
Sia il valore assoluto con segno che il complemento a uno hanno
due rappresentazioni per rappresentare lo zero
Il complemento a due è la modalità realmente usata per
rappresentare i numeri negativi
Dato un numero positivo, il corrispondente negativo in complemento
a due si ottiene a partire dal complemento a uno, sommando una
unità
Ad esempio, dato il numero intero binario 0, 1, 0, 1, 0 = 10, il numero
−10 si ottiene
0
1 0 1 0
NOT bit a bit
1 0 1 0 1
+1
1 0 1 1 0
Pierpaolo Vittorini (UnivAQ)
Numero positivo
Complemento a uno
Complemento a due
Informatica
19 / 58
Dimensione delle parole e limiti per i numeri interi
Come accennato precedentemente, tanto più lunga è una parola di
codice, tanto maggiori sono gli oggetti che possiamo rappresentare
Per i numeri interi senza segno, vale la seguente relazione: usando
parole lunghe n bit, possiamo rappresentare numeri interi da 0 fino a
2n − 1
• Usando 8 bit → [0, 255]
• Usando 16 bit → [0, 65535]
Per i numeri interi con segno, vale invece la seguente relazione:
usando parole lunghe n bit, possiamo rappresentare numeri interi da
−2n−1 + 1 fino a 2n−1 − 1
• Usando 8 bit → [−127, 127]
• Usando 16 bit → [−32767, 32767]
Pierpaolo Vittorini (UnivAQ)
Informatica
20 / 58
Notazione scientifica
I numeri reali vengono rappresentati utilizzando la notazione
scientifica, anche chiamata rappresentazione a virgola mobile
valore = mantissa · b
esponente
(2)
Ad esempio, il numero 23.45 è rappresentabile in notazione
scientifica come 0.2345 · 102 dove mantissa = 0.2345, b = 10,
esponente = 2
Pierpaolo Vittorini (UnivAQ)
Informatica
21 / 58
Notazione scientifica (2)
Nello standard Ieee754:
• l’alfabeto è una sequenza a 32 bit,
• la semantica è: un bit per il segno, 8 bit per l’esponente, e i restanti
23 bit per la mantissa.
I
I
I
Il segno segue la semantica vista precedentemente: 0 → positivo, 1 →
negativo;
L’esponente è un numero intero ad 8 bit in complemento a due;
La mantissa è composta da 23 bit che indichiamo con bi , dove i = 1...23.
valore = (−1)segno ·
1+
23
X
!
bi · 2−i
· 2esponente
(3)
i=1
Pierpaolo Vittorini (UnivAQ)
Informatica
22 / 58
Notazione scientifica (3)
Ad esempio, si consideri la sequenza di bit
Segno
Esponente
Mantissa
0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
b1 b2 ...
... b23
Nell’esempio: il segno è pari a zero 0, l’esponente è 11111101 (pari
a −3 in base 10), e per la mantissa abbiamo b2 = 1.
Applicando l’equazione precedente, si ottiene:
valore = −10 · (1 + 2−2 ) · 2−3 = (1 + 0.25) · 0.125 = 1.25 · 0.125 =
0.15625
Pierpaolo Vittorini (UnivAQ)
Informatica
23 / 58
Informazioni testuali
Le informazioni testuali
Semantica
L’interpretazione delle
sequenze di bit in caratteri
avviene tipicamente tramite
tabelle di conversione, i.e.
ad una certa sequenza di
bit viene associato uno ed
un solo carattere
Alfabeto
Le informazioni testuali, i.e.
caratteri, vengono
rappresentati come
sequenze di bit
Pierpaolo Vittorini (UnivAQ)
Informatica
24 / 58
ASCII
ASCII è l’acronimo di American Standard
Code for Information Interchange
È un sistema di codifica proposto nel 1961
dall’ingegnere dell’IBM Bob Bemer (1920,
2004)
Semantica - tavola ASCII
N
Alfabeto
Sequenze di 7 bit
Pierpaolo Vittorini (UnivAQ)
65
66
Informatica
Sequenza
...
1000001
1000010
...
Car.
A
B
25 / 58
Esempio di codifica ASCII
Ad esempio, la sequenza 67 105 97 111 32 97 32 116 117 116 116
105 codificata in ASCII corrisponde a
67
↓
C
105
↓
i
97
↓
a
Pierpaolo Vittorini (UnivAQ)
111
↓
o
32
↓
97
↓
a
32
↓
Informatica
116
↓
t
117
↓
u
116
↓
t
116
↓
t
105
↓
i
26 / 58
Extended ASCII
Alla specifica iniziale basata su codici di 7 bit fa seguito l’extended
ASCII (comprendente le vocali accentate, simboli semigrafici, ed
altro)
Semantica
Lo standard è dettato
dall’ISO (ISO/IEC 8859)
Esistono varie tavole di
conversione, ciascuna
relativa ad una lingua:
Alfabeto
Sequenze di 8 bit
• ISO/IEC 8859-1 ↔
Europa occidentale
• ...
• ISO/IEC 8859-16 ↔
Europa sud-orientale
Pierpaolo Vittorini (UnivAQ)
Informatica
27 / 58
Unicode
Al fine di armonizzare in un’unica conversione le esigenze delle
differenti lingue, è attualmente usato il più moderno sistema di
codifica chiamato Unicode
Unicode è un sistema di codifica che assegna una combinazione (di
lughezza variabile) di bit a ogni carattere in maniera indipendente
dal programma, piattaforma e dalla lingua
Unicode codifica i caratteri usati in quasi tutte le lingue vive e in
alcune lingue morte, nonché simboli matematici e chimici,
cartografici, l’alfabeto Braille, ideogrammi, il Klingon, etc.
Pierpaolo Vittorini (UnivAQ)
Informatica
28 / 58
Riassumendo
I codici usati dal calcolatore
Booleani
Numeri interi
Numeri reali
Caratteri
Pierpaolo Vittorini (UnivAQ)
Alfabeto
1 bit
sequenza di bit
sequenza di bit
sequenza di bit
Informatica
Semantica
0 = Falso, 1 = Vero
Notazione posizionale
Notazione scientifica
Tavola ASCII o Unicode
29 / 58
Strutture dati
I tipi di dato che abbiamo considerato finora (i.e., booleano,
carattere e numerico) sono detti elementari
In questo corso di informatica, accenneremo brevemente alcune
strutture dati
•
•
•
•
Vettori
Record
Alberi
Grafi
Pierpaolo Vittorini (UnivAQ)
Informatica
30 / 58
I vettori
Un array o vettore è una struttura dati omogenea, che contiene un
numero finito n di elementi dello stesso tipo
Si può immaginare un array come una sorta di casellario, le cui
caselle sono dette celle
Ciascuna delle celle si comporta come una variabile tradizionale;
tutte le celle sono variabili di uno stesso tipo, detto tipo base
dell’array
Questi elementi sono individuati attraverso un indice numerico, che
tipicamente va da 0 a n − 1
Pierpaolo Vittorini (UnivAQ)
Informatica
31 / 58
Esempi di vettori
Ad esempio, una stringa capace di contenere il nome di una persona
(lunga fino ad un massimo di 15 caratteri):
Nome di persona
char nome[15]
Il numero di tessera degli “Amici dell’UNICEF” è un vettore di 15
numeri interi
Tessera “Amici dell’UNICEF”
int numero tessera[10]
Pierpaolo Vittorini (UnivAQ)
Informatica
32 / 58
Accesso ad un elemento di un vettore
Per accedere ad un elemento di un vettore (cioè leggerne il valore o
assegnarvi un nuovo valore), utilizziamo l’operatore “[ ]”
Nome di persona
char a ← nome[0]
nome[1] ← ’i’
nome[4] ← 4.2
Pierpaolo Vittorini (UnivAQ)
Mette nella variabile a il carattere ’P’
Il nome diventa ’PiERPAOLO’
ERRORE! Il vettore può contenere solo caratteri
Informatica
33 / 58
I record
Il record è una struttura dati che può essere eterogenea o
omogenea, e quindi può contenere una combinazione di elementi che
possono essere di diverso tipo, ad esempio un intero, un numero in
virgola mobile e un carattere testuale
Gli elementi di un record sono detti campi, e sono identificati da un
nome
Ad esempio
Numero complesso
struct numero complesso begin
float parte reale
float parte immaginaria
end struct
Pierpaolo Vittorini (UnivAQ)
Informatica
34 / 58
I record nella medicina
Un ulteriore esempio di record – in un contesto medico – è la
cartella clinica
Cartella clinica
struct cartella clinica begin
int numero cartella
char paziente[100]
...
struct diagnosi di ingresso begin
char data e ora[20]
char icd9[5]
char note[1000]
end struct
...
end struct
Pierpaolo Vittorini (UnivAQ)
Informatica
35 / 58
Accesso ai contenuti di un record
L’accesso ai campi di un record avviene usando l’operatore “.”
Accesso ai campi di un record
cartella clinica cc
int n ← cc.numero cartella
cc.paziente ← ’Pierpaolo Vittorini’
cc.diagnosi di ingresso.icd9 ← ’540.9’
Pierpaolo Vittorini (UnivAQ)
Informatica
36 / 58
Gli alberi
Un albero è una struttura
dati di tipo gerarchico
In un albero, ciascun nodo
ha un padre e un certo
numero di figli
Esiste però un nodo speciale
chiamato radice, il quale non
ha alcun padre
Esistono altri nodi chiamati foglie, i quali non hanno figli
Una porzione di albero è a sua volta un albero, chiamato sottoalbero
Ciascun nodo porta con sè un’informazione
Pierpaolo Vittorini (UnivAQ)
Informatica
37 / 58
Grafi
Un grafo è un insieme di elementi
detti nodi o vertici, collegati fra
loro da archi o lati, eventualmente
dotati di etichette
Il grafo è la struttura dati più
complessa e ricca su cui
l’informatica può far riferimento
Pierpaolo Vittorini (UnivAQ)
Informatica
A
ab
ac
C
B
cb
bd
D
38 / 58
Riassumendo
Le strutture dati sono di due tipi: elementari e complesse
• I tipi di dato elementari sono i booleani, i numeri e i caratteri
• I tipi di dato complessi sono i vettori (elenco omogeneo), i record
(aggregazione disomogenea), gli alberi (strutture gerarchiche) e i grafi
(reticolo)
Pierpaolo Vittorini (UnivAQ)
Informatica
39 / 58
Codifica e classificazione
Da un punto di vista più strettamente medico, possiamo definire
Codifica Trasposizione di un concetto medico in un codice per
una successiva analisi
• Un sistema di codifica può raccogliere più concetti
medici in un codice singolo
• I concetti e i codici variano a seconda dell’utilizzo (e.g.,
se per l’analisi epidemiologica, i concetti sono quelli
legati alla salute pubblica)
Classificazione Processo di organizzazione dei codici
• Il modo più comune – ma non unico – è quello
gerarchico
Pierpaolo Vittorini (UnivAQ)
Informatica
40 / 58
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)
Classificare/codificare è 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
Pierpaolo Vittorini (UnivAQ)
Informatica
41 / 58
Origine della codifica e classificazione medica
Il primo tentativo di
codificare le malattie viene
comunemente fatto risalire a
François Boissier de Lacroix
(1706-1777)
A John Graunt (1620-1674)
viene invece attribuito il
primo tentativo pratico di
classificare la malattie a
fine statistico
Pierpaolo Vittorini (UnivAQ)
Informatica
42 / 58
Cosa ottenne?
John Graunt – nel lavoro London Bills of Mortality – tramite il suo
sistema di classificazione/codifica, riuscı̀ a stimare le percentuali di
decessi nei differenti gruppi di età, ottenendo stime che a tutt’ora –
sotto tutti i punti di vista – sono considerate buone
Fu il metodo (i.e. la classificazione delle malattie) che permise a
Graunt di ottenere dei risultati cosı̀ importanti già nel 1600
Pierpaolo Vittorini (UnivAQ)
Informatica
43 / 58
La classificazione internazionale delle malattie
International Classification of Diseases
La International Classification of Diseases (ICD) è pubblicata dalla
WHO, e il suo scopo è quello di permettere la raccolta sistematica e
l’analisi statistica di dati riguardanti morbilità e mortalità provenienti da
nazioni diverse
È il riferimento mondiale de facto per classificare le malattie
Pierpaolo Vittorini (UnivAQ)
Informatica
44 / 58
Struttura della classificazione
È una classificazione gerarchica a tre livelli, divisa in (i) capitoli, (ii)
blocchi e (iii) patologie
In figura l’ultima versione, i.e. ICD-10
Pierpaolo Vittorini (UnivAQ)
Informatica
45 / 58
ICD9-CM
In Italia si usa invece la versione ICD9-CM (ICD versione 9, Clinical
Modifications)
In figura la versione ICD9-CM
Pierpaolo Vittorini (UnivAQ)
Informatica
46 / 58
Alcune domande sull’ICD9-CM
L’ICD9-CM è solo una classificazione o anche una codifica ?
Qual è l’alfabeto dell’ICD9-CM ?
Qual è la semantica dell’ICD9-CM ?
Pierpaolo Vittorini (UnivAQ)
Informatica
47 / 58
Limiti dell’ICD
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, etc.
È risultata quindi in un “compromesso” fra diverse necessità
sanitarie =⇒ in alcune applicazioni, è necessario aggiungere livelli
di dettaglio non presenti nello standard
Pierpaolo Vittorini (UnivAQ)
Informatica
48 / 58
Gruppi correlati alla diagnosi
DRG
I 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
Pierpaolo Vittorini (UnivAQ)
Informatica
49 / 58
Gruppi correlati alla diagnosi (2)
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 MDC
I 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)
Pierpaolo Vittorini (UnivAQ)
Informatica
50 / 58
Struttura dei DRG/MDC
In figura i DRG come da DL 18/10/2012, con validità fino al 31
dicembre 2014
DRG
MDC
1
2
1
1
98
99
100
101
102
103
4
4
4
4
4
5
110
111
5
5
Descrizione
Costo
Craniotomia, età > 17 anni con CC
Craniotomia, età > 17 anni senza CC
...
Bronchite e asma, età < 18 anni
Segni e sintomi respiratori con CC
Segni e sintomi respiratori senza CC
Altre diagnosi relative all’apparato respiratorio con CC
Altre diagnosi relative all’apparato respiratorio senza CC
Trapianto di cuore o impianto di sistema di assistenza cardiaca
...
Interventi maggiori sul sistema cardiovascolare con CC
Interventi maggiori sul sistema cardiovascolare senza CC
...
15.085 e
11.872 e
1.538 e
2.782 e
1.484 e
2.666 e
1.724 e
62.602 e
14.208 e
10.500 e
I DRG sono solo una classificazione o anche una codifica ?
Qual è l’alfabeto dei DRG ?
Qual è la semantica dei DRG ?
Pierpaolo Vittorini (UnivAQ)
Informatica
51 / 58
Limiti dei DRG
Se due ospedali trattano un paziente per la stessa patologia,
entrambe avranno lo stesso DRG e quindi il medesimo rimborso
• Ciò non spinge gli ospedali a usare procedure innovative
• In alcuni casi significa anche limitare la qualità delle cure
Le istituzioni sanitarie con un buon sistema di gestione dei DRG
avrà un rimborso “in linea” con la reale spesa, mentre altri con
sistemi inadeguati saranno svantaggiate
Pierpaolo Vittorini (UnivAQ)
Informatica
52 / 58
SNOMED
Il sistema SNOMED si occupa di sistematizzare la memorizzazione
di “[...] tutti gli eventi che si trovano in una cartella clinica [...]” (Coté
et al., 1993)
• SNOMED basa la sua struttura sul concept (concetto), descritto da
I un codice numerico unico
I un nome unico
I un insieme di termini che lo descrivono, di cui uno è il cosidetto
“preferred term”, mentre gli altri sono i sinonimi
Pierpaolo Vittorini (UnivAQ)
Informatica
53 / 58
SNOMED (2)
I concetti sono raccolti in gerarchie, di cui due maggiori (i.e.
“clinical findings” e “procedure”) e sedici di supporto
Clinical findings Un concetto di tale gerarchia rappresenta il risultato di
una osservazione, valutazione o un giudizio clinico
• Ad esempio: appendicite, panico, vertigini, etc.
Procedure Un concetto di tale gerarchia rappresenta una attività di
natura sia strettamente clinica, che amministrativa, di
diagnostica, che di educazione sanitaria
• Ad esempio: registrazione del paziente,
appendicectomia, radiografia, cambio delle lenzuola,
etc.
Pierpaolo Vittorini (UnivAQ)
Informatica
54 / 58
SNOMED (3)
Tra le gerarchie di supporto, menzioniamo
Observable entities Raccoglie concetti relativi a entità osservabili e/o
misurabili. Ad esempio, la temperatura corporea, la
pressione arteriosa, la circonferenza del cranio, etc.
Body structures Raccoglie concetti sulla struttura del corpo. Ad esempio,
cuore, rene, polmone, etc.
Substances Raccoglie i costituenti attivi di un farmaco, del cibo,
allergeni, etc. Ad esempio, insulina, ketoprofene,
omeprazolo, etc.
Pierpaolo Vittorini (UnivAQ)
Informatica
55 / 58
SNOMED (4)
Una gerarchia di supporto particolarmente importante è quella degli
attributes
Attibutes Concetti appartenenti a questa categoria permettono di
collegare tra di loro concetti appartenenti ad altre categorie,
sotto forma di relazioni
Localizzato in
Tumore
Polmone
Tra tutti i possibili attributi, alcuni fanno riferimento ai
• “clinical findings”, come ad esempio, la localizzazione, l’agente
eziologico, la severità, etc.
• altri alle “procedure”, come ad esempio, il metodo, la priorità, etc.
Pierpaolo Vittorini (UnivAQ)
Informatica
56 / 58
SNOMED (5)
In sintesi, SNOMED è un sistema di codifica estremamente
complesso
Tuttavia, è un sistema che dall’alto della sua ricchezza permette di
codificare tutti gli eventi che possono avvenire durante l’episodio
clinico di un paziente, ed è quindi lo standard de-facto (insieme alla
codifica Read) per le cartelle cliniche informatizzate
È nato negli USA, ma attualmente si è iniziato a tradurlo ed usarlo
anche per le nazioni Europee (in particolare Germania e Spagna)
Pierpaolo Vittorini (UnivAQ)
Informatica
57 / 58
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 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)
Pierpaolo Vittorini (UnivAQ)
Informatica
58 / 58