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