Università degli Studi di Trieste FACOLTÁ DI INGEGNERIA Corso di Laurea in Ingegneria Elettronica Biomedica Analisi di mercato sui servizi di telemedicina e progettazione ed implementazione di una lavagna elettronica condivisa per la Workstation HDW Analisi di mercato sui servizi di telemedicina e progettazione ed implementazione di uno strumento di messaggistica per la Workstation HDW Laureandi: Relatore: Alessio GUIDA Luca TODESCO Chiar.mo Prof. Paolo INCHINGOLO Correlatori: Dott. Ing. Marco BELTRAME Dott. Ing. Giorgio FAUSTINI Anno Accademico 2004/2005 Struttura Introduzione Servizi di telemedicina Tecnologie per il progetto Progettazione ed implementazione Conclusioni 2 Introduzione Sviluppo di uno strumento di messaggistica e di una lavagna elettronica condivisa da integrare nella HTL DICOM Workstation versione 2 (HDW2). 3 Introduzione Lavagna elettronica condivisa & strumento di messaggistica: Permettono la condivisione e l’elaborazione di immagini in remoto, l’invio di dati e messaggi. Garantiscono la visualizzazione di immagini secondo lo standard DICOM. Consentono lo sviluppo di servizi quali Second Opinion, Teleconsulto ed e-learning. 4 Struttura • Introduzione • Servizi di telemedicina • Tecnologie per il progetto • Progettazione ed implementazione • Conclusioni 5 Servizi di telemedicina La commissione di esperti dell’Unione Europea, organizzatrice dell’EHTO (European Health Telematics Observatory), definisce Telemedicina: “l’integrazione, il monitoraggio e la gestione dei pazienti, nonché l’educazione dei pazienti e del personale, usando sistemi che consentano un pronto accesso alla consulenza di esperti ed alle informazioni del paziente, indipendentemente da dove il paziente o le informazioni risiedano”. 6 Servizi di telemedicina STORIA Inizio anni ’60 primi sviluppi in ambito aerospaziale 1969 fondazione del National Center for Health Service Research 1980 Medical Information System Development Center In Italia: 1970 primi studi a livello universitario 1980 primi servizi di telesoccorso e teleassistenza 7 Servizi di telemedicina Ricerca preliminare 8 Servizi di telemedicina SERVIZI DISPONIBILI: Teleassistenza Telesoccorso Teleconsulto Second Opinion Telemonitoraggio Teleinformazione Teledidattica 9 Servizi di telemedicina OBIETTIVI Disponibilità di servizi specialistici a distanza Accrescimento delle qualità decisionali Incremento efficienza e produttività del Servizio Sanitario Riduzione tempi di ricovero Interscambio conoscenze medico-scientifiche 10 Servizi di telemedicina REQUISITI TECNICI Rete Telematica in ogni luogo accesso a tutte le informazioni con molteplici modalità 11 Servizi di telemedicina Analisi STRUMENTI PIU’ UTILIZZATI Lavagna elettronica condivisa Strumento di messaggistica 12 Struttura • Introduzione • Servizi di telemedicina • Tecnologie per il progetto • Progettazione ed implementazione • Conclusioni 13 Tecnologie per il progetto JAVA: viene utilizzato dalla workstation HDW2. Tecnologie possibili: - Socket - RMI - RMI over IIOP 14 Tecnologie per il progetto Socket Identificazione: - Protocollo - Indirizzo Locale - Port del Processo Locale - Indirizzo Remoto - Port del Processo Remoto 15 Tecnologie per il progetto Socket • Server Side: ServerSocket classe • Client Socket classe Side: 16 Tecnologie per il progetto RMI: Remote Method Invocation permette l’invocazione di metodi remoti; applicazioni totalmente Java; utilizzo di Java Remote Method Protocol (JRMP). 17 Tecnologie per il progetto RMI: Server RMI: Client I metodi remoti sono eseguiti da un’applicazione su una macchina definita Server. È l’applicazione chiamante che invoca i metodi del server. Utilizza tre classi remote: In essa è presente solamente la: Interface Implementation Class Classe Server Classe Client 18 Tecnologie per il progetto RMI: Comunicazione La struttura della comunicazione RMI tra client e server è organizzata in una serie di strati logici orizzontali sovrapposti, denominati layer. 19 Tecnologie per il progetto RMI over IIOP È un protocollo molto simile ad RMI: RMI-IIOP supporta i protocolli: - JRMP di RMI; - IIOP (Internet Inter Orb Protocol) di CORBA. maggiore interoperabilità; Client e Server non obbligatoriamente Java. 20 Struttura • Introduzione • Servizi di telemedicina • Tecnologie per il progetto • Progettazione ed implementazione • Conclusioni 21 Progettazione ed Implementazione Progettazione - Prima possibilità - Server centrale: Stanza unica Gestione lista IP da parte del server 22 Progettazione ed Implementazione Progettazione - Seconda possibilità - Uno a molti: Stanza unica Gestione lista IP da parte di ogni nodo 23 Progettazione ed Implementazione Scelta effettuata Uno a molti Perché? Stesso codice distribuito su ogni macchina; Server centrale non sempre disponibile; Vantaggioso in termini di traffico. 24 Progettazione ed Implementazione Gestione Profili Utenti Possibilità: Aggiungere nuovo utente: locale remoto Messaggi privati: Invio a singolo utente. 25 Progettazione ed Implementazione Gestione Utenti: Implementazione Utilizzati vettori per memorizzare: Indirizzi Ip Valori controllo Corrispondenti pulsanti Vettore di stringhe Vettore di interi Vettore di oggetti 26 Progettazione ed Implementazione Controlli sugli utenti selezionati Vettore di IP se valore a 0 Vettore di controllo NO se valore a 1 OK Invio a IP corrispondente 27 Progettazione ed Implementazione Procedure di gestione utenti Creazione utente - operazioni in avvio programma - : Creazione pulsante Associazione di un Ascoltatore al pulsante Aggiunta pulsante al Vettore di oggetti Aggiunta utente - operazioni in esecuzione programma - : Aggiunta indirizzo Ip a Vettore di stringhe; Esecuzione procedure di Creazione Utente; Esecuzione in remoto delle procedure Aggiunta utente su tutte le Ws. 28 Progettazione ed Implementazione Memorizzazione su file In avvio Lettura indirizzi IP In chiusura Scrittura indirizzi IP 29 Progettazione ed Implementazione Struttura Socket Strumento di messaggistica PROGETTO Lavagna elettronica condivisa RMI 30 Progettazione ed Implementazione Architettura Sistema di Messaggistica Ogni Workstation: - Lato Client Invio stringhe - Lato Server Ricezione messaggi Sempre in ascolto 31 Progettazione ed Implementazione Lato Client Si Si Si Si Messaggi pubblici 2 possibilità Messaggi privati No Si No No 32 Progettazione ed Implementazione Lato Server - Sempre in ascolto; - Attende connessione da Client; - Gestito a Thread consente: - ascolto contemporaneo di vari utenti; - non genera blocco applicazione se più utenti inviano in contemporanea; 33 Progettazione ed Implementazione Lavagna elettronica condivisa Struttura: Parte grafica Parte di comunicazione utilizzo di RMI Integrata col servizio di messaggistica in un’unica finestra. 34 Progettazione ed Implementazione Parte grafica funzionalità: - disegno a mano libera col mouse - visualizzazione immagini DICOM 35 Progettazione ed Implementazione lato Server: - esecuzione dei metodi remoti - sempre in ascolto sulla porta 1099 Parte di comunicazione lato Client: - chiamata ai metodi remoti Entrambi i lati presenti in ogni Workstation 36 Progettazione ed Implementazione Utilizzo di RMI: Invio di: immagini DICOM: array di byte disegno a mano libera: vector di Point text label: String IP aggiunto in locale: String 37 Progettazione ed Implementazione Utilizzo di RMI: perché? • evita di interpretare messaggi “comando”; • possibilità di chiamare direttamente i metodi grafici di Java; • semplicità nell’implementazione, nel mantenimento delle applicazioni realizzate e nella gestione delle risorse distribuite. 38 Struttura • Introduzione • Servizi di telemedicina • Tecnologie per il progetto • Progettazione ed implementazione • Conclusioni 39 Conclusioni Progetto realizzato: prototipo Caratteristiche: Facilità di integrazione in HDW2 Condivisione di file DICOM Scambio di annotazioni e messaggi Punto di partenza per: - consultazioni mediche a distanza; - diagnosi in tempo reale; - training medico. 40 Conclusioni Sviluppi futuri: Utilizzo di RMI-IIOP; Ulteriori funzionalità grafiche; Modelli di interazione diversi per gli utenti. 41