Georeferenziazione delle patologie oncologiche veterinarie per future azioni di prevenzione primaria

Documenti analoghi
Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Manuale Utente Albo Pretorio GA

Concetti di base di ingegneria del software

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Lezione 1. Introduzione e Modellazione Concettuale

Strumenti di modellazione. Gabriella Trucco

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Capitolo 4 Pianificazione e Sviluppo di Web Part

MArine Coastal Information SysTEm

SISTEMI MULTIAGENTE. Esercizio

5.2 UTILIZZO DELL APPLICAZIONE

PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152)

WEBGIS 1.0. Guida per l utente

Manuale LiveBox APPLICAZIONE ANDROID.

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

PIATTAFORMA DOCUMENTALE CRG

Il web server Apache Lezione n. 3. Introduzione

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

FPf per Windows 3.1. Guida all uso

Progettaz. e sviluppo Data Base

1. BASI DI DATI: GENERALITÀ

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Installazione & Configurazione Php e MySQL su Mac Os X. Php

ARTICOLO TECNICO Smart-MED-Parks: il Software

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Manuale LiveBox APPLICAZIONE ANDROID.

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

La Metodologia adottata nel Corso

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Esercizio data base "Biblioteca"

GUIDA UTENTE PRIMA NOTA SEMPLICE

marketing highlights Google Analytics A cura di: dott. Fabio Pinello

Cookie Policy per

WorkFLow (Gestione del flusso pratiche)

Manuale LiveBox APPLICAZIONE IOS.

Progetto ittorario Anno scol

EXPLOit Content Management Data Base per documenti SGML/XML

SOLUZIONE Web.Orders online

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Database. Si ringrazia Marco Bertini per le slides

sito web sito Internet

Configurazione di Outlook Express

MANUALE D USO DELLA PIATTAFORMA ITCMS

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Manuale LiveBox APPLICAZIONE WINDOWS PHONE V (465)

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Generazione Automatica di Asserzioni da Modelli di Specifica

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Database 1 biblioteca universitaria. Testo del quesito

Il database management system Access

TRAVELPLAN.IT PRODOTTI E SERVIZI IL PORTALE DEDICATO AL TURISMO IN ITALIA INFORMAZIONI DI QUALITÀ, VENDITA E GRANDE VISIBILITÀ INTERNAZIONALE

Addition X DataNet S.r.l.

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

File, Modifica, Visualizza, Strumenti, Messaggio

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

developed by Emanuele De Carlo

CONTENT MANAGEMENT SY STEM

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Manuale LiveBox WEB ADMIN.

Introduzione...3 Accesso al sistema...3 Interrogazione Base Dati...4 Come ottenere i dati...5 Filtri...6 Raggruppamenti...

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Il calendario di Windows Vista

Base di dati e sistemi informativi

Esercizi di JavaScript

Cosa è un foglio elettronico

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

On-line Corsi d Informatica sul web

Automazione Industriale (scheduling+mms) scheduling+mms.

BDCC : Guida rapida all utilizzo

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Il controllo della visualizzazione

lem logic enterprise manager

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Attività federale di marketing

STRUMENTI DI PRESENTAZIONE MODULO 6

Architetture Applicative

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

MService La soluzione per ottimizzare le prestazioni dell impianto

Aggiornamento Titoli

Transcript:

Georeferenziazione delle patologie oncologiche veterinarie per future azioni di prevenzione primaria Allievo Ing. Gabriele Maida 1 Relatore Prof. Marco La Cascia Correlatori aziendali Dott. Ing. Maurizio Orlando, Dott. Guido Ruggero Loria Abstract Questo documento sintetizza l attività che il laureando Gabriele Maida ha svolto presso l Istituto Zooprofilattico Sperimentale della Sicilia. Oggetto di tale attività è stata l implementazione di un interfaccia grafica GUI che faciliti la consultazione del Registro Tumori Animali. L obiettivo è stato raggiunto mediante la creazione di una libreria object oriented capace di georeferenziare sulle mappe di Google i casi patologici presenti nel database. Ciò evidenzierà la distribuzione dei tumori animali nel territorio permettendo una ricerca migliore dei possibili agenti inquinanti presenti nell'ambiente. Index Terms Sistema Informativo Territoriale, Interfaccia grafica GUI, Programmazione Orientata ad Oggetti, Registro Tumori Animali, Sistemi GIS. L I. INTRODUZIONE A necessità di rappresentare i fenomeni oncologici in modo conveniente e comprensibile da una larga maggioranza di utenti, appartenenti ad estrazioni culturali e tecniche diverse, ha motivato la costruzione di una interfaccia grafica semplice nell uso ed efficace nella rappresentazione delle casistiche tumorali presenti in un qualsiasi territorio di riferimento, in questo caso la Sicilia. L idea nasce, all interno dell Istituto Zooprofilattico Sperimentale della Sicilia (IZSSi), da una teoria che individua gli animali domestici come indicatori e sentinelle dell inquinamento ambientale. L'ipotesi è motivata dal fatto che negli animali le patologie oncologiche si sviluppano precocemente, in relazione alla breve durata della loro vita rispetto a quella dell uomo, in presenza dei medesimi fattori di rischio ambientale. Questa teoria ha portato l'izssi a decidere di monitorare i trend oncologici negli animali domestici, che vivono in stretta connessione con l uomo (cani e gatti), attraverso la realizzazione di un Sistema Informativo Territoriale specifico. La costruzione dell'interfaccia grafica di questo Sistema Informativo Territoriale è avvenuta grazie alla creazione di una libreria Object Oriented che si occupa anche della Questa relazione di tesi è stata svolta a completamento del triennio di Ingegneria di Informatica presso l Università di Palermo. Lo spunto è stato dato dall attività di stage presso l Istituto Zooprofilattico Sperimentale della Sicilia, sotto la supervisione del Dott. Ing. Maurizio Orlando (email: maurizio.orlando@izssicilia.it) e del Dott. Guido Ruggero Loria (email: guidoruggero.loria@izssicilia.it) responsabile del Laboratorio di Istopatologia Animale della Sicilia, nell ambito della ricerca scientifica legata alla realizzazione del primo Registro Tumori Animali Domestici della Regione. comunicazione con la base dati di riferimento. Tale libreria, realizzata per questo software, può essere però riutilizzata in altri contesti perché altamente generalizzata per la georeferenziazione di qualsiasi informazione, riuscendo a garantire allo stesso tempo la personalizzazione delle funzionalità in modo semplice ed immediato. Lo studio svolto completa quello già iniziato con la creazione di una banca dati oncologica online dell'izssi, permettendo così la pubblicazione di un software Web che sarà di riferimento per i casi specifici oncologici, ma anche come strumento di monitoraggio ambientale utile a tutta la comunità scientifica per gli studi nel settore sanitario. II. PROBLEMATICA AFFRONTATA Il compito che l'izssi ha voluto portare a termine è stato la realizzazione di un Sistema Informativo Territoriale, o in inglese Geographical Information System (GIS), per il monitoraggio dei casi oncologici veterinari. La volontà di creare tale sistema nasce dall'esigenza pratica di dover visualizzare nel territorio gli animali domestici affetti da patologie oncologiche che sono, per questo motivo, indicatori precoci di rischio ambientale. Il modello seguito per tale realizzazione si basa sui sistemi tipici di monitoraggio e di supervisione territoriale, quali appunto quello del GIS. Si tratta di sistemi informativi automatizzati che permettono: l'acquisizione e la registrazione dei dati in modo georeferenziato; l'analisi qualitativa e statistica dei dati in modo spaziale; l'elaborazione automatizzata dei dati per ottenere informazioni utili. Per costruire un GIS sono necessari tre tipi di dato: Geometrico: relativo alla forma, dimensione e posizione geografica nella mappa dell oggetto; Topologico: riferito alle relazioni reciproche fra gli oggetti (es. adiacenza); Informativo: riguardante i dati o le informazioni caratterizzanti l'oggetto. Il GIS mette in relazione tra loro oggetti, sulla base del loro comune riferimento geografico, in modo da creare nuove informazioni a partire dai dati esistenti. Offre ampie possibilità di interazione con l'utente, grazie ad un'interfaccia intuitiva, e un insieme di strumenti che ne facilitano la personalizzazione e l'adattamento alle problematiche specifiche del contesto applicativo. Rispetto ad una applicazione per cartografia, che ha lo scopo principale di

2 riprodurre delle mappe, un GIS può gestire e analizzare dati, diventando così strumento, per gli esperti, di supporto per decisioni e pianificazione di interventi mirati. L importanza della georeferenziazione su mappa degli oggetti da rappresentare nasce dalla possibilità di ottenere un risultato visuale, che evidenzia la distribuzione del fenomeno nella zona di interesse e dalla possibilità di poter effettuare query spaziali. Questa tipologia di query permette di selezionare gli oggetti presenti nella base dati usando criteri geografici quali per esempio: la loro vicinanza territoriale o la loro collocazione all'interno dell'area impostata. L'utilizzo delle query spaziali ci permette di studiare le componenti della variabilità spaziale dei fenomeni. Queste componenti si distinguono in: Componente di larga scala : che rappresenta il trend territoriale; Componente di piccola scala : che costituisce le strutture spaziali localizzate del fenomeno [1]. Al fine di analizzare questi fenomeni è stato previsto lo studio dei livelli di aggregazione geografica che si distinguono in: Aggregazione dei casi per macro-area; Aggregazione dei casi per provincia. Questa metodologia migliora l interpretabilità dei risultati rispetto a studi su larga scala, presenta minore suscettibilità al bias i ecologico e migliora la capacità di individuare effetti associati a fattori ambientali (es. inquinamento ambientale) [1]. I dati geometrici, topologici ed informativi necessari sono memorizzati in una base dati costruita ad hoc (DB). Nel nostro caso il DB utilizzato è il Registro Tumori Animali che contiene i dati relativi ai casi oncologici veterinari e per cui è stata prevista la componente informativa geografica tipica di un sistema GIS. Il compito che l'izssi ha voluto affidare a questo lavoro di tesi è stato, in particolare, la realizzazione di un software Web con una interfaccia grafica che, avvalendosi di tutte le tecniche descritte, potesse dare un immediato risultato in merito all'agente inquinante presente nel caso in esame. Questo software Web permetterà inoltre, ai veterinari che partecipano alle attività territoriali diagnostiche, di avere un interfaccia grafica per effettuare ricerche su una banca dati aggiornata costantemente che è il Registro Tumori Animali. I risultati delle ricerche, visualizzati su mappa e su grafici statistici, saranno di aiuto nelle analisi dei fattori di rischio associati a determinate patologie. I risultati che saranno ricavati, dopo la loro approvazione, potranno essere resi pubblici a tutta la comunità scientifica, attraverso la stessa interfaccia grafica presente nella pagina Web (Figura 1). i La parola bias (dall'inglese bias, inclinazione) indica gli effetti d'un errore sistematico in varie discipline. Il bias è una forma di distorsione causata dal pregiudizio verso un punto di vista o un'ideologia. Un sistema decisionale, come per esempio un algoritmo, può presentare dei bias. Come la distorsione in generale, non è possibile eliminarli ma si può tenerne conto a posteriori, correggendo la percezione per diminuirne gli effetti. Figura 1: Flusso delle attività associato all'applicativo Web L'uso dell'applicativo renderà più facile lo studio della epidemiologia spaziale, risolvendo così un gravoso problema per i ricercatori. Per epidemiologia spaziale si intende la descrizione e l'analisi delle variazioni geografiche delle patologie in osservazione, in relazione a fattori di rischio demografico, ambientale, comportamentale, genetico, socioeconomico e di infezione. I risultati ottenibili da tali studi possono orientare analisi specifiche rivolte a possibili fattori associati ad un aumento del rischio e quindi sono utili per attività di controllo e sorveglianza [1]. Per visualizzare su una mappa gli oggetti rappresentativi del fenomeno, si è deciso di utilizzare le Application Program Interface ii (API) fornite da Google iii. Le API di Google permettono di integrare le Google Maps iv con le pagine Web sviluppate tramite l'ausilio di codice client-side scritto in linguaggio JavaScript. Queste API forniscono una interfaccia ricca di servizi e di molteplici utilities per manipolare le mappe, gli oggetti contenuti in esse (es. i markers v ) e i relativi controlli di visualizzazione (es. livello di zoom, tipo di mappa). Le API di Google sono attualmente in versione Beta e sono disponibili in forma gratuita per tutti gli utenti di internet. Per realizzare la comunicazione fra il DB e le API di Google si è resa necessaria la creazione di una libreria di classi ad oggetti (framework) che è stata chiamata GMapsLibrary. La libreria è collocata architetturalmente in uno strato intermedio tra il DB e le pagine Web che conterranno la mappa. Compito della libreria è quello di interrogare il DB attraverso appositi servizi implementati dalle classi, ii Le Application Programming Interface, sono ogni insieme di procedure disponibili al programmatore, di solito raggruppate a formare un set di strumenti specifici per un determinato compito. Permettono di evitare ai programmatori di scrivere tutte le funzioni dal nulla. iii Google è un motore di ricerca per Internet che non si limita a catalogare il World Wide Web, ma si occupa anche di immagini, foto, newsgroup, notizie, mappe, video, oltre a mantenere una copia cache di tutte le pagine visitate. iv Google Maps è un servizio accessibile dal relativo sito web e che consente la ricerca e la visualizzazione di mappe geografiche di buona parte della Terra. v I markers sono dei simboli che rappresentano l'oggetto nella mappa.

3 individuando i dati che serviranno per posizionare sulla mappa, tramite le API di Google, i markers appositamente contestualizzati per il dominio applicativo. L'interfaccia grafica realizzata permetterà all'utente di effettuare facilmente le ricerche sui casi presenti nel DB. Tramite un pannello di controllo per la selezione dei parametri si potranno inserire i valori di interesse che faranno da filtro per le query sul DB. Il risultato della ricerca sarà visualizzato sia nella mappa presente nella pagina Web che sotto forma di istogrammi e diagrammi a torta per eventuali analisi qualitative e statistiche. Le caratteristiche dell'interfaccia realizzata hanno permesso di raggiungere un obiettivo importante e centrale per questa tesi, che è la possibilità di rendere usabile la gestione di un GIS anche per utenti che non possiedono competenze specifiche su sistemi cartografici. In Figura 2 possiamo vedere l'architettura del software: III. Figura 2: Architettura del Software PROGETTAZIONE DELLA LIBRERIA GMAPSLIBRARY Il lavoro svolto in team con il comitato scientifico ha permesso lo sviluppo del progetto secondo le seguenti fasi: Analisi della problematica; Individuazione dei requisiti sia lato utente che lato sistema; Studio di fattibilità. Da queste fasi sono state dedotte le specifiche software, funzionali e non funzionali, su cui si è fatto riferimento per la realizzazione della libreria: 1)requisiti funzionali La libreria deve essere in grado di comunicare con una base dati e pertanto: deve gestire l'apertura e la chiusura della connessione al database; deve permettere all'utente di impostare le query dall'esterno senza conoscere come avvenga l'interazione con il DB. La libreria deve gestire le Google Maps, quindi: Deve visualizzare nella pagina Web la mappa per permetterne l'utilizzo; Deve permettere l'inserimento nella mappa dei controlli selezionati dall'utente; Deve creare e posizionare i markers rappresentanti il risultato di una ricerca effettuata dall'utente; Deve permettere all'utente di selezionare i markers contenuti all'interno di una determinata area della mappa per effettuare le query spaziali ; Deve essere in grado di evidenziare immediatamente la concentrazione o densità dei casi rilevati nella stessa zona. 2)requisti non funzionali Nell'elenco sono descritti i requisiti non funzionali che la libreria deve avere: Usabilità: l'interfaccia grafica restituita deve risultare semplice e di facile impiego in modo da risultare veloce l apprendimento dell utilizzo del software. Sicurezza: deve essere garantita la tutela dei requisiti di accesso al database e la salvaguardia dei dati (backup). Portabilità: deve essere capace di gestire fenomeni diversi per poter essere usata in molti contesti. Prestazioni: cambiando i tipi di dati la velocità di esecuzione non deve cambiare e deve essere basso il tempo di risposta relativo agli eventi eseguiti dagli utenti. Scalabilità: deve risultare semplice l'incremento delle proprie prestazioni. Manutenibilità: deve essere facile l'attivazione delle procedure di manutenzione. Per le caratteristiche del linguaggio stesso, che rispondono alle necessità dell'applicativo, è stato deciso di usare il linguaggio PHP per scrivere il codice della libreria GMapsLibrary. Il PHP (acronimo ricorsivo di PHP Hypertext Preprocessor) è un linguaggio di scripting server-side che viene incorporato nell HTML (HyperText Markup Launguage). L obiettivo, nella scelta di questo linguaggio, è stato quello di consentire la costruzione rapida e semplice di pagine Web dinamiche vi senza oneri per l'azienda. PHP viene interpretato da un server Web ed il suo uso è indipendente dalla piattaforma, infatti può essere utilizzato su diversi sistemi operativi, tra cui quelli della famiglia Microsoft Windows e quelli basati su UNIX. PHP è incorporato nel documento HTML con speciali tag di apertura e chiusura che permettono di inserire il codice da eseguire, in questo modo l utente finale può visualizzare le pagine Web dinamiche e il risultato delle sue azioni. Una delle sue caratteristiche più vi Le pagine Web dinamiche sono quelle il cui contenuto viene prodotto automaticamente da un programma ogni volta che vi si accede. L interazione tra utente e base dati permette la modifica del contenuto della pagina.

4 interessanti è la presenza di librerie per l'interfacciamento con una vasta gamma di motori di database. Al momento sono supportate più di venti tecnologie di database diverse [2]. Grazie alle caratteristiche di PHP, la libreria costruita eredita queste possibilità di interfacciamento relazionandosi a sua volta con diverse tecnologie di database. La gestione della comunicazione con il DB è gestita da una classe specializzata che implementa un'interfaccia generica Database contenuta nel framework. Per rendere la libreria funzionale ad altri tipi di database basterà creare le nuove classi relative che contengano i metodi specificati nell'interfaccia. Per il DB Registro Tumori Animali è stata adottata la tecnologia MySQL che garantisce prerogative tecnologiche necessarie ed economicità del prodotto; quindi la libreria è stata progettata prevedendo una implementazione di una classe specializzata per operare con questo sistema adeguatamente. MySQL è un DataBase Management System (DBMS) di tipo relazionale, il relativo codice è di proprietà della omonima società, viene però distribuito con la licenza GNU GPL vii oltre che con una licenza commerciale. Una base dati è una collezione di dati gestita da un DBMS [3]. Il DBMS, in generale, è un sistema software in grado di gestire collezioni di dati, anche di grandi dimensioni, in modo condiviso e persistente, assicurando, come avviene in ogni prodotto informatico professionale, un funzionamento affidabile e la corretta protezione e privatezza dei dati. È stato deciso di strutturare la libreria GMapsLibrary in tre parti distinte (Figura 3): Figura 3: Struttura della Libreria 1)Il file di configurazione. Nel file di configurazione sono presenti delle variabili che andranno a personalizzare il funzionamento della libreria e i dati relativi alla connessione del database. L'utente che usa la GMapsLibrary può personalizzare le funzionalità offerte semplicemente modificando le variabili presenti in questo file, non dovendo accedere direttamente al codice della libreria. 2)Il file manager. Nel file manager vengono istanziate le classi personalizzate, usando i valori contenuti nel file di configurazione. Per utilizzare la libreria è necessario vii La General Public License (GNU GPL) è una licenza per software libero. includere questo file nella pagina Web che adopererà le Google Maps. 3)Parte relativa l'implementazione delle classi. La libreria GMapsLibrary è un package che contiene tutte le classi, i suoi compiti si possono riassumere in: Selezione di tutti i casi che rispondono alla ricerca effettuata. Prelevamento dal DB dei dati toponomastici (indirizzo,città) di questi casi. Sostituzione, attraverso l'uso di un geocoder viii, dei dati toponomastici con le coordinate (latitudine e longitudine) per trovare il punto sulla mappa. Prelevamento delle informazioni associate ad ogni oggetto. Creazione e posizionamento su mappa del marker, con associata relativa icona e informazioni. L output dalla libreria è uno script client-side in codice JavaScript che, attraverso le API di Google, permette l'utilizzo delle Google Maps all'interno di qualsiasi pagina Web. JavaScript è un linguaggio di scripting orientato agli oggetti, comunemente usato nei siti Web quando l interazione fra utente e pagina Web supera le capacità di interazione fornite da HTML. Il Javascript, tecnologia matura ed ormai usata da molto tempo, ha una sintassi vicina a quella del linguaggio Java di Sun Microsystems ma non ne condivide le stesse finalità e potenzialità [4]. La scelta di adottare tecnologie Open Source ha permesso di mantenere bassi i costi di realizzazione, mantenendo, allo stesso tempo, alti i livelli di qualità delle soluzioni fornite. La scelta di adoperare le Google Maps permette all'applicativo di: Lavorare indipendentemente dal territorio di riferimento poiché possiamo prendere in analisi tutte le regioni censite a livello mondiale da Google; Essere indipendente dalla lingua utilizzata e quindi, con alcune modifiche marginali, garantire una realizzazione multilingue. Queste caratteristiche forniscono ulteriori prospettive evolutive al software realizzato, fornendo i presupposti per un uso più vasto sia in termini spaziali o territoriali che nella tipologia dei fenomeni da studiare. IV. PROGETTAZIONE DELLE CLASSI Per la progettazione della libreria si è pensato di utilizzare un approccio metodologico e progettuale Object Oriented. La programmazione orientata agli oggetti (OOP) si basa sull incapsulazione delle variabili all interno di oggetti e sulla creazione di codice che descrive il comportamento viii Geocoder è un particolare servizio incluso nelle API di Google, comunicando direttamente con i server di Google è in grado di restituire l indirizzo se riceve come input le coordinate sotto forma di latitudine e longitudine e viceversa. Mantiene nella propria cache gli indirizzi per non ripetere le query al server.

5 interno ed esterno di tali oggetti. La programmazione OOP si basa sui seguenti concetti: L'universo dei problemi; Gli oggetti; Le classi; I metodi; L ereditarietà; La composizione; Il polimorfismo. L universo dei problemi è un area di applicazione della quale si intende creare un modello tramite il codice dell applicazione. Un universo, in genere, viene realizzato tramite una libreria di classi. Gli oggetti sono gli elementi di un universo. Il comportamento di un oggetto deve essere specifico e descrivibile tramite una serie di modelli di comportamento. La classe è la definizione astratta di un gruppo di oggetti e ne definisce le caratteristiche comuni di tutti quelli appartenenti alla stessa classe. Gli oggetti sono l istanza di una determinata classe. I metodi contengono le istruzioni che descrivono i vari aspetti del comportamento dell oggetto. L ereditarietà è il meccanismo mediante il quale una classe acquisisce tutte le caratteristiche di un'altra classe definita in precedenza. L ereditarietà è una relazione fra classi di tipo is-a. Tale meccanismo porta i seguenti vantaggi: Eliminazione della duplicazione del codice; Localizzazione del codice e quindi un aumento dell affidabilità; Incorporazione delle relazioni logiche fra gruppi di entità. La composizione è una relazione fra classi del tipo has-a ovvero una classe ha delle proprietà definite in un'altra classe. Il polimorfismo è un concetto secondo cui alcune classi correlate hanno tutte un metodo con lo stesso nome, ma comportamento diverso, poiché eseguono operazioni analoghe. Programmare ad un livello di dettaglio superiore conduce alla realizzazione di programmi più facili da scrivere e da manutenere, inoltre è incoraggiato il riutilizzo del software [5]. Le classi della libreria GMapsLibrary sono state scritte usando PHP versione 5, versione di questo linguaggio di programmazione che supporta in modo adeguato la programmazione orientata agli oggetti. Per rendere funzionale la libreria è stata necessaria la creazione delle seguenti classi: Icon; Polygon; Circle (estensione di polygon); Map_Control; Map; Database (interfaccia astratta); Database_Mysql (implementazione di Database); Registro; Registro_Tumori (estensione di registro). Tutte le classi, tranne quelle relative al database, implementano il metodo generatecode(). Questo metodo permette di generare il codice JavaScript, integrato con le API di Google, relativo all'output atteso dalla classe, in funzione dei parametri impostati nel file di configurazione. La classe Icon si occupa di selezionare da una specifica directory l immagine che sarà associata al marker. Gestisce, inoltre, le dimensioni dell'icona che sarà evidenziata, rendendola più grande delle altre se nella zona sono presenti più casi. In caso di assenza dell'immagine nella cartella sarà selezionata l'icona di default. La classe Polygon è in grado di disegnare su mappa un oggetto della classe GPolygon delle API di Google. Di questo poligono si può scegliere il colore e il numero di lati. Inoltre include delle funzioni che sono in grado di restituire l'appartenenza al suo interno di un determinato punto, espresso come latitudine e longitudine, della mappa. La classe Circle estende la classe Polygon e si occupa di disegnare sulla mappa un cerchio con centro nel punto cliccato sulla mappa. Tale poligono è costituito da un array di punti, appositamente creato in base al punto di centro e raggio selezionato dall'utente. Tramite questo cerchio è possibile effettuare le query spaziali, grazie alla possibilità di stabilire se un punto è contenuto in esso si possono selezionare i marker che ne sono all'interno. La classe Map_Control si occupa di inserire sulla mappa oggetti appartenenti alla classe GControl delle API di Google. L'utente può selezionare quali di questi oggetti inserire nella mappa impostando a TRUE le relative variabili booleane presenti nel file di configurazione. Di seguito sono indicate le funzionalità più importanti che possono essere abilitate: Livello di zoom da inserire (large, medium o small); Tipo di mappa da visualizzare (normale, satellitare, ibrida e fisica); Visualizzazione in basso a destra della funzione di pan che permette una migliore localizzazione e navigazione; Visualizzazione della scala relativa alla mappa. La classe Map gestisce le precedenti classi, ovvero le icone, il poligono e i controlli della mappa. Le sue principali funzioni sono: Gestire la Google API key ix che permette l utilizzo delle Google Maps; Centrare la visualizzazione della mappa e lo zoom sulla provincia selezionata o altrimenti su un punto scelto di default, che in questa applicazione è la Sicilia; ix Maps API key è una chiave alfanumerica e serve per connettersi al proprio Google account per poter usare le Google Maps. È valida per una singola directory o dominio. Per registrare una propria Maps API key basta andare all indirizzo: http://www.google.com/apis/maps/signup.html.

6 Spostare il centro della mappa se l utente digita un indirizzo nell apposita textbox. L'interfaccia Database definisce quali metodi devono avere le implementazioni relative a particolari DBMS. Questi metodi sono: connectionstart() - per far partire la connessione al DB; connectionclose() - per chiudere la connessione; executequery( query ) - esegue la query passata; numrows( query ) - restituisce il numero di righe del risultato di una query; fillselect( query ) - riempie una select HTML con il risultato di una query. Utile nell interfaccia finale per far filtrare all'utente le ricerche sui dati contenuti nel database. La classe Database_Mysql implementa l'interfaccia Database e definisce le funzioni relativamente alla tecnologia MySQL di cui usufruisce il database Registro Tumori Animali. Questa classe utilizza le funzioni messe a disposizione da PHP per accedere ad un database MySQL. I dati che sono utili da conoscere per poter comunicare con il DB sono: Il server host in cui risiede; Identificativo del database; Nome utente; Password utente. Questi dati saranno adeguatamente protetti usando l'algoritmo crittografico di hashing MD5. La classe Registro è fondamentale per la gestione di tutte le classi della libreria, sia relative al database che alla mappa. Questa classe si occupa di gestire i flussi di codice JavaScript generati dalle classi della libreria restituendo in un unico script client-side le funzionalità desiderate, così da poter essere integrato ed usato da qualsiasi pagina Web. Inoltre si prepara a ricevere come input i parametri per effettuare le query al DB. In base al risultato di queste query si costruiranno i relativi markers e saranno posizionati sulla mappa. I markers verranno costruiti impostando: Punto sulla mappa (latitudine e longitudine) di dove deve essere posizionato; Icona associata; Informazioni relative al caso che rappresenta. Questa classe è già funzionale per la georeferenziazione di oggetti su mappa. Per specializzare il funzionamento in base al risultato voluto è necessario creare una nuova classe che erediterà da questa le caratteristiche principali. L'unica differenza potrà essere su come saranno creati i markers, quindi si dovrà solo modificare il metodo buildmarkers, che si occupa della loro creazione, lasciando invariati tutti gli altri metodi. La classe Registro_Tumori è specifica e caratterizzante per lo scopo per cui è stato realizzato questo software, oggetto di tale lavoro di tesi. Il diagramma delle classi in Figura 4 mostra le relazioni che intercorrono fra le classi della libreria, evidenziando l'importanza della classe Registro. Figura 4: Diagramma delle Classi La classe Registro ha un ruolo fondamentale nell'architettura studiata, essa potrà contenere una istanza personalizzata della classe Map ed una della classe Database, altrimenti queste classi verranno istanziate con valori di default. La classe Map per rappresentare l'informazione può contenere oggetti della classe Polygon e Icon, e permette l'associazione ad una istanza personalizzata della classe Map_Control. Questa architettura caratterizza con una massima versatilità la libreria ed è stata strutturata in questo modo per cercare di garantirne un rapido sviluppo e un facile incremento delle funzionalità. V. INTERFACCIA GRAFICA L interfaccia grafica (GUI) del software è stata implementata tenendo conto delle potenzialità offerte dalla libreria GMapsLibrary. Per GUI (Graphical User Interface) si intende lo strato di un'applicazione software che si occupa del dialogo con l'utente del sistema, utilizzando un ambiente grafico. L attenta progettazione dell interfaccia utente è una parte importante del processo di creazione di un software. È essenziale, affinché il software raggiunga a pieno il proprio scopo, che l'interfaccia sia progettata per adattarsi alle aspettative degli utenti previsti per il sistema. Una buona progettazione della GUI è un requisito critico per l affidabilità del sistema, perché se mal progettata impedisce all utente di accedere ad alcune funzioni del sistema e lo induce a commettere errori [6]. Per realizzare una opportuna interfaccia grafica per questo lavoro di tesi sono stati seguiti i seguenti principi: Familiarità dell utente: utilizzare termini e concetti presi dall esperienza delle persone che faranno maggior uso del sistema; Consistenza: i comandi del sistema e i menu devono avere lo stesso formato; Minima sorpresa: assicurare che azioni simili abbiano effetti simili;

7 Ripristinabilità: permettere agli utenti di ripristinare lo stato in caso di errore; Look and Feel: mantenere un comportamento standard degli oggetti presenti nell'interfaccia con cui l'utente interagisce; Guida all utente: offrire funzionalità di assistenza integrate nel sistema [7]. Il dialogo con gli utenti avviene tramite una pagina Web accessibile dal sito dell IZSSi nella sezione dedicata al Registro Tumori Animali. Tenendo conto delle considerazioni progettuali, precedentemente descritte per la GUI, si è previsto come obiettivo primario di rendere l'interfaccia grafica molto usabile per l'utente. Secondo la definizione data dalla norma ISO 9241-11, l'usabilità è il "grado in cui un prodotto può essere usato da particolari utenti per raggiungere certi obiettivi con efficacia, efficienza e soddisfazione in uno specifico contesto d'uso" [8]. Esistono dei principi generali che possono essere applicati ad un progetto per promuovere la propria usabilità. Questi principi sono divisi in tre categorie principali: Apprendibilità: facilità con cui i nuovi utenti possono iniziare un interazione efficace e raggiungere le massime prestazioni; Flessibilità: molteplicità dei modi in cui l utente e il sistema si scambiano informazioni; Robustezza: livello di supporto fornito all utente per stabilire il raggiungimento e la valutazione degli obiettivi [9]. Tenendo conto delle caratteristiche fondamentali e dei principi per la realizzazione delle GUI si sono svolte nella produzione del software tre attività principali: Analisi dell'utente: per comprendere le attività che eseguono e il loro ambiente di lavoro; Prototipizzazione del sistema: per sviluppare sistemi da presentare agli utenti; Valutazione: per raccogliere informazioni sulle reali esperienze effettuate dagli utenti. Nel nostro caso l'interfaccia grafica è rappresentata da una pagina Web che contiene la mappa con i markers che rappresentano il risultato della ricerca basata su parametri quali: provincia e organo affetto dal tumore. Rappresentando solo gli animali affetti da una patologia oncologica peculiare di un organo si evidenzierà la presenza di una probabile fonte di inquinamento specifica. Per studiare il fenomeno di aggregazione su larga scala si userà un oggetto della classe Circle che è in grado di prelevare i casi presenti in una zona selezionata. Per studiare il fenomeno di aggregazione per provincia è possibile selezionare dal pannello di gestione i casi presenti in una determinata provincia. Per rendere evidente la specie interessata, i markers avranno come icona la rappresentazione di un cane ed un gatto, la dimensione dell'icona è direttamente proporzionale al numero di casi nella stessa zona, per evidenziare la possibilità di un rischio maggiore. Cliccando sul marker si aprirà una pagina contenente tutte le informazioni relative all animale e alla patologia. Sarà anche possibile visualizzare cromaticamente la concentrazione dei casi, le zone con alta concentrazione saranno più scure, così da osservare immediatamente la presenza di maggiore rischio di inquinamento. Come mostrato dalla site view (Figura 5) e dal wireframe x (Figura 6) la pagina Web è distinta in due parti: Figura 5: Site View Figura 6: Wireframe Parte sinistra: contenente la mappa. Parte destra: contenente il pannello di gestione per l utente. Per favorire l'apprendimento all'uso del software, nella parte relativa l interazione con l utente, è presente un messaggio di benvenuto che descrive le funzionalità dell applicativo, utile per chi si collega per la prima volta. Inoltre, posta in ogni sezione dove l utente può interagire, è rappresentata una icona informativa che, al passaggio del mouse, fornisce informazioni sulla relativa sezione di interesse. In questo modo l utenza apprenderà facilmente il modo di operare per usare l applicativo nel migliore dei modi. Sotto il messaggio di benvenuto è presente la parte relativa alla selezione dei dati di filtro per la ricerca. In questa x wireframe o wire frame model (letteralmente modello in fil di ferro ) indica un tipo di rappresentazione grafica da computer, detta anche vettoriale. Con questo metodo vengono disegnati soltanto i bordi dell' oggetto, il quale di fatto resta trasparente al suo interno (sembrando, appunto, costruito con il fil di ferro).questo metodo richiede calcoli molto più semplici rispetto alla rappresentazionedi superfici, ed è quindi considerevolmente più veloce.

8 sezione, come in ogni interfaccia basata sui moduli, l utente fornisce tutte le informazioni richieste e attiva l azione premendo un pulsante. I campi dei moduli possono essere menu, campi a testo libero o pulsanti a selezione multipla. Per quanto riguarda il monitoraggio dei tumori animali è utile il filtraggio delle ricerche: Per provincia (le nove provincie della Sicilia); Per organo colpito da tumore (per evidenziare una particolare possibile fonte di inquinamento). La selezione dei dati appartenenti ai parametri che consentono di filtrare le informazioni da ottenere avverrà scegliendo tra un insieme i valori presenti nelle relative entità della base dati. L'interfaccia sarà sempre automaticamente aggiornata ai cambiamenti effettuati nel DB grazie al metodo fillselect della classe Database precedentemente descritto. Nella mappa saranno presenti i markers, che sono il risultato della ricerca effettuata, creati e posizionati grazie alla GMapsLibrary. Fra i tanti modi di visualizzare la mappa, forniti da Google, i più importanti sono la cartina fisica e tridimensionale che consente di identificare la morfologia del terreno e la presenza di ostacoli naturali. Questa vista permette lo studio delle correnti d'aria e quindi l'analisi dell'inquinamento dovuto al trasporto di particelle nocive (soprattutto amianto) in base alla disposizione dei casi tumorali che ne dimostrano la presenza. Cliccando sulle icone dei markers si aprirà una finestra di dialogo contente l identificativo degli animali domiciliati nell'indirizzo indicato, accanto sarà presente una immagine che ne simboleggia la specie (Figura 7). Tipo; Codice normato; Organo interessato; Possibile descrizione. Figura 8: Referto associato ad ogni Marker Ogni referto può essere stampato per essere usato dal veterinario. È possibile che si voglia studiare il trend oncologico intorno ad una determinata via della città. Per fare ciò è possibile digitare l'indirizzo desiderato nell'apposita textbox e la visualizzazione della mappa si modificherà posizionando al suo centro la via indicata. Grazie all'uso del geocoder disponibile con l'uso delle API di Google, l'utenza non deve conoscere le coordinate geografiche dei casi che deve posizionare, basterà conoscere l'indirizzo completo e il posizionamento sulla mappa avverrà grazie alla richiesta ai server di Google. Una delle funzionalità cardine di questa attività è quella di effettuare una statistica relativa al risultato della ricerca. Cliccando l apposito tasto si aprirà una nuova pagina contenete diverse tipologie di rappresentazione grafica, in particolare in Figura 9 sono mostrati gli istogrammi che rappresentano i casi in base al tipo di tumore e organo interessato ed in Figura 10 i grafici a torta che rappresentano i casi in base al sesso, età e specie degli animali coinvolti. Figura 7: Finestra di Dialogo Cliccando su questi identificativi si aprirà una finestra di dettaglio contenente un referto con le informazioni di interesse relative all animale e alla sua patologia (Figura 8). Per quanto riguarda l animale è significativo conoscere: Sesso; Età; Specie; Razza. Per quanto riguarda la patologia: Figura 9: Istogramma relativo all'elenco dei tumori

9 Figura 10: Diagramma a torta per fascia di età degli animali Per selezionare una particolare zona e portare alle statistiche solo i casi che ne sono all interno è possibile utilizzare un oggetto della classe Circle (Figura 11) che è stato implementato nella libreria. L utente può selezionare il raggio del cerchio nella parte destra della pagina nell'apposita casella di testo, quella relativa l interazione, e cliccare sulla mappa per selezionare il punto di centro dell'area di interesse. Le statistiche di zona saranno relazionate con le statistiche globali per evidenziarne gli aspetti caratterizzanti e se, nella zona in esame, è presente un rischio di inquinamento maggiore rispetto alla totalità dei casi, fornendo indicazioni sulle medie dei casi presenti. Figura 11: Zona di interesse evidenziata dal cerchio di selezione È stata prevista anche la possibilità di colorare con diverse intensità le zone della città in base al livello di rischio di inquinamento. Il numero degli animali colpiti da patologia oncologica determina il grado di rischio, dove sono presenti più casi la zona colorata sarà più scura e più larga (Figura 12). Questo permetterà di identificare e valutare la presenza di eventuali strutture clusterizzate sul territorio. Con il termine cluster ci si riferisce alle aggregazioni di casi di una particolare malattia diverse dal valore atteso (più elevate o più basse) all interno di un gruppo di soggetti, di un area geografica o in un periodo di tempo [1]. Inoltre è possibile scegliere se visualizzare le icone, la colorazione o entrambe. Figura 12: Colorazione in base al numero di casi La rappresentazione dei casi tumorali su mappa, in particolare delle strutture clusterizzate, permetteranno di confermare le teorie che legano la presenza di discariche, insediamenti industriali, elettrodotti e di altri presunti fattori di rischio con lo sviluppo delle patologie oncologiche. VI. SVILUPPI FUTURI L'efficacia di questo strumento di monitoraggio sarà concretizzata al raggiungimento della raccolta di una quantità significativa di casi censiti, stabilita in fase di ricerca, che determinerà con un buon livello di fiducia la certezza dei principali fattori di rischio associati ad ogni patologia oncologica. Queste informazioni, durante il tempo della raccolta dei casi censiti, saranno memorizzate ed usate per calcolare i tassi di incidenza standardizzati e il trend temporale. Attraverso l'analisi di questi dati sarà possibile calcolare il SIR (Standardized Incidence Ratio) utile per effettuare una stima del Rischio Relativo. Il SIR è calcolato come rapporto tra il numero di casi osservati, in una popolazione in esame in un dato arco temporale, ed il numero di casi attesi nella popolazione se questa avesse lo stesso tasso d incidenza, età e sesso specifico, di una popolazione di riferimento usata come standard.[9] La richiesta di sistemi GIS oggi è in crescente aumento, grazie anche alla diffusione di sistemi come Google Maps, per l'esigenza di georeferenziare diverse informazioni: dalla presenza di aziende nel territorio con la relativa condizione economica allo stato di salute dei monumenti. In particolare i sistemi GIS sono importanti per lo studio di quei fenomeni che richiedono la prevenzione della loro diffusione o lo studio e l individuazione di una sorgente, come per esempio la presenza di persone affette da particolari patologie o la localizzazione dell'origine nel territorio (aziende, allevamenti, pascoli) di fenomeni epidemiologici come l'influenza aviaria o la brucellosi. Il software realizzato è in uno stato prototipale avanzato e se ne prevedono sviluppi ulteriori per arricchirlo di nuove funzionalità e migliorie, possibili grazie ad una continua manutenzione e perfezionamento dell'applicativo dovuto al confronto con l'utenza. La versatilità che caratterizza questa libreria è tale da poterla adattare a vari scenari implementando solo le classi che è necessario contestualizzare.

10 L'attività svolta si presta per applicazioni future di supervisione territoriale e monitoraggio ambientale, come dimostra l'interesse da parte di altri dipartimenti all interno dell'izssi e dell'assessorato Regionale alla Sanità. Il software realizzato ha già trovato una potenziale applicazione in fase di studio che vede in una tematica importante, curata dall'assessorato alla Sanità, la sorveglianza dello stato di salute delle aziende nel territorio con animali da reddito. Esse, opportunamente georeferenziate, potranno essere immediatamente individuate territorialmente ed agevolmente analizzate, grazie alle query spaziali, le aziende limitrofe per lo studio di fenomeni epidemiologici territoriali. L'ausilio delle foto satellitari (Figura 13) permette già oggi la localizzazione di quelle aziende che si trovano in zone poco rintracciabili e poco segnalate, agevolando il lavoro del veterinario e dei studiosi che si devono recare in loco. Figura 13: Vista satellitare della azienda La creazione di un pannello di allarme relativo per lo studio delle aziende tra loro limitrofe (Figura 14) è stata possibile avvalendosi di un oggetto della stessa classe Circle, usata precedentemente per l'analisi della zona, istanziata con i parametri opportuni. Questa è un'ulteriore dimostrazione della grande riusabilità di una libreria Object Oriented e degli sviluppi che potrà avere questo lavoro di tesi. Figura 14: Pannello di allarme VII. CONCLUSIONI L applicativo Web, realizzato per questo lavoro di tesi, sarà uno strumento in grado di favorire lo studio dei fattori ambientali in relazione alla genesi dei tumori animali e di aiutare i ricercatori nella pianificazione di interventi di prevenzione che possono avere un impatto sulla salute dei cittadini. In conclusione, si considerano conseguiti i seguenti scopi prefissi: In via generale: Creare uno strumento software versatile per la georeferziazione di oggetti su mappa; Fornire una interfaccia grafica usabile per le ricerche di informazioni presenti in una base dati; Mantenere bassi i costi di realizzazione; In particolare per il Registro Tumori Animali: Favorire lo studio della relazione dei fattori di rischio ambientale con la presenza di casi oncologici animali; Evidenziare le strutture clusterizzate che rappresentano una presenza di rischio maggiore; Rappresentare anche per via statistica i risultati ottenuti; Accompagnare ad ogni caso segnalato un referto che ne sintetizza le informazioni utili; Offrire la possibilità di analizzare i casi presenti in base alla vicinanza geografica; Permettere l utilizzo di un Sistema Informativo Georefenziato agli utenti che non ne hanno le competenze. RIFERIMENTI [1] Monica Pirani, Ivan Rashid, Claudia Cirilli, Massimo Federico: Analisi geografica dei tumori diagnosticati in provincia di Modena negli anni 2000-2005, p. 3, disponibile su: http://www.tumori.net/it/brochures/documenti/geo2005.pdf [2] Simon Stobart, Mike Vassileiou, PHP e MySQL Guida Completa, Ed. Apogeo, p 7. [3] Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone, Basi di Dati, Ed. McGraw-Hill, p.3. [4] Danny Goodman, JavaScript Bible, Gold Edition. Ed Hungry Minds, p. 7. [5] Stephen Blaha: Programmare in C++, Ed Apogeo, pp. 2-10 [6] Ian Sommerville: Ingengeria del Sotfware, Ed. Pearson Addison Wesley, pp 354-357 [7] Ian Sommerville: Ingengeria del Sotfware, Ed. Pearson Addison Wesley, p 369 [8] International Standard ISO 9241-11, disponibile su: http://www.idemployee.id.tue.nl/g.w.m.rauterberg/lecturenotes/iso9241part11.pdf [9] Alan Dix, Janet Finlay, Gregory D. Abow, Russell Beale, Interazione uomo-macchina, Ed. McGraw-Hill, p.255. [10] Monica Pirani, Ivan Rashid, Claudia Cirilli, Massimo Federico: Analisi geografica dei tumori diagnosticati in provincia di Modena negli anni 2000-2005, p. 48, disponibile su: http://www.tumori.net/it/brochures/documenti/geo2005.pdf