università degli studi di trieste facoltÁ di ingegneria anno accademico 2004/2005...
Post on 01-May-2015
218 Views
Preview:
TRANSCRIPT
Università degli Studi di TriesteUniversità degli Studi di Trieste
FACOLTFACOLTÁ DI INGEGNERIAÁ DI INGEGNERIA
Anno Accademico 2004/2005Anno Accademico 2004/2005
Laureandi:Laureandi: Relatore:Relatore:Alessio GUIDAAlessio GUIDA Chiar.mo Prof. Paolo INCHINGOLOChiar.mo Prof. Paolo INCHINGOLOLuca TODESCOLuca TODESCO Correlatori:Correlatori:
Dott. Ing. Marco BELTRAMEDott. Ing. Marco BELTRAMEDott. Ing. Giorgio FAUSTINIDott. Ing. Giorgio FAUSTINI
Analisi di mercato sui servizi Analisi di mercato sui servizi di telemedicina di telemedicina
e progettazione ed implementazione e progettazione ed implementazione di una lavagna elettronica di una lavagna elettronica
condivisacondivisa per la Workstation HDWper la Workstation HDW
Analisi di mercato sui servizi Analisi di mercato sui servizi di telemedicina di telemedicina
e progettazione ed implementazione e progettazione ed implementazione di uno strumento di messaggistica di uno strumento di messaggistica
per la Workstation HDWper la Workstation HDW
Corso di Laurea in Ingegneria Elettronica BiomedicaCorso di Laurea in Ingegneria Elettronica Biomedica
2
StrutturaStruttura
IntroduzioneIntroduzione
Servizi di telemedicinaServizi di telemedicina
Tecnologie per il progettoTecnologie per il progetto
Progettazione ed implementazioneProgettazione ed implementazione
ConclusioniConclusioni
3
IntroduzioneIntroduzione
Sviluppo di uno strumento di messaggistica e di Sviluppo di uno strumento di messaggistica e di una lavagna elettronica condivisa da integrare una lavagna elettronica condivisa da integrare nella HTL DICOM Workstation versione 2 nella HTL DICOM Workstation versione 2 (HDW2).(HDW2).
4
IntroduzioneIntroduzione
Permettono la condivisione e l’elaborazione di immagini in Permettono la condivisione e l’elaborazione di immagini in remoto, l’invio di dati e messaggi.remoto, l’invio di dati e messaggi.
Garantiscono la visualizzazione di immagini secondo lo Garantiscono la visualizzazione di immagini secondo lo standard standard DICOMDICOM..
Consentono lo sviluppo di servizi quali Second Opinion, Consentono lo sviluppo di servizi quali Second Opinion, Teleconsulto ed e-learning.Teleconsulto ed e-learning.
Lavagna elettronica condivisa & strumento di messaggistica:Lavagna elettronica condivisa & strumento di messaggistica:
5
StrutturaStruttura
• IntroduzioneIntroduzione
• Servizi di telemedicinaServizi di telemedicina
• Tecnologie per il progettoTecnologie per il progetto
• Progettazione ed implementazioneProgettazione ed implementazione
• ConclusioniConclusioni
6
Servizi di telemedicinaServizi di telemedicina
““l’integrazione, il monitoraggio e la gestione dei pazienti, l’integrazione, il monitoraggio e la gestione dei pazienti, nonché l’educazione dei pazienti e del personale, usando nonché l’educazione dei pazienti e del personale, usando sistemi che consentano un pronto accesso alla consulenza di sistemi che consentano un pronto accesso alla consulenza di esperti ed alle informazioni del paziente, indipendentemente esperti ed alle informazioni del paziente, indipendentemente da dove il paziente o le informazioni risiedanoda dove il paziente o le informazioni risiedano”.”.
La commissione di esperti dell’Unione Europea, organizzatrice La commissione di esperti dell’Unione Europea, organizzatrice dell’dell’EHTOEHTO ( (European Health Telematics ObservatoryEuropean Health Telematics Observatory), ), definiscedefinisce
Telemedicina:Telemedicina:
7
Servizi di telemedicinaServizi di telemedicina
STORIASTORIA
Inizio anni ’60 primi sviluppi in ambito aerospazialeInizio anni ’60 primi sviluppi in ambito aerospaziale 1969 fondazione del 1969 fondazione del National Center for Health National Center for Health
Service ResearchService Research 1980 1980 Medical Information System Development CenterMedical Information System Development Center
In ItaliaIn Italia:: 1970 primi studi a livello universitario1970 primi studi a livello universitario 1980 primi servizi di telesoccorso e teleassistenza1980 primi servizi di telesoccorso e teleassistenza
8
Servizi di telemedicinaServizi di telemedicina
Ricerca preliminareRicerca preliminare
9
SERVIZI DISPONIBILI:SERVIZI DISPONIBILI:
TeleassistenzaTeleassistenza TelesoccorsoTelesoccorso TeleconsultoTeleconsulto Second OpinionSecond Opinion TelemonitoraggioTelemonitoraggio TeleinformazioneTeleinformazione TeledidatticaTeledidattica
Servizi di telemedicinaServizi di telemedicina
10
OBIETTIVIOBIETTIVI
Disponibilità di servizi specialistici a distanzaDisponibilità di servizi specialistici a distanza Accrescimento delle qualità decisionaliAccrescimento delle qualità decisionali Incremento efficienza e produttività del Incremento efficienza e produttività del
Servizio SanitarioServizio Sanitario Riduzione tempi di ricoveroRiduzione tempi di ricovero Interscambio conoscenze medico-scientificheInterscambio conoscenze medico-scientifiche
Servizi di telemedicinaServizi di telemedicina
11
REQUISITI TECNICIREQUISITI TECNICI
Rete TelematicaRete Telematica accesso a tutte le informazioniaccesso a tutte le informazioni
in ogni luogo in ogni luogo con molteplici modalitàcon molteplici modalità
Servizi di telemedicinaServizi di telemedicina
12
Analisi
STRUMENTI PIU’ UTILIZZATISTRUMENTI PIU’ UTILIZZATI Lavagna elettronica condivisaLavagna elettronica condivisa Strumento di messaggisticaStrumento di messaggistica
Servizi di telemedicinaServizi di telemedicina
13
StrutturaStruttura
• IntroduzioneIntroduzione
• Servizi di telemedicinaServizi di telemedicina
• Tecnologie per il progettoTecnologie per il progetto
• Progettazione ed implementazioneProgettazione ed implementazione
• ConclusioniConclusioni
14
JAVAJAVA: viene utilizzato : viene utilizzato dalla workstation dalla workstation
HDW2.HDW2.
Tecnologie possibiliTecnologie possibili::
- SocketSocket- RMIRMI- RMI over IIOPRMI over IIOP
Tecnologie per il progettoTecnologie per il progetto
15
SocketSocket
Identificazione:Identificazione:
- Protocollo Protocollo
- Indirizzo Locale Indirizzo Locale
- Port del Processo Locale Port del Processo Locale
- Indirizzo Remoto Indirizzo Remoto
- Port del Processo RemotoPort del Processo Remoto
Tecnologie per il progettoTecnologie per il progetto
16
SocketSocket
• Server Side:Server Side: classe classe ServerSocketServerSocket
• ClientClient SideSide: classe : classe SocketSocket
Tecnologie per il progettoTecnologie per il progetto
17
RMI: RMI: Remote Method InvocationRemote Method Invocation
permette l’invocazione di metodi remoti;permette l’invocazione di metodi remoti;
applicazioni totalmente Java;applicazioni totalmente Java;
utilizzo di utilizzo di Java Remote Method ProtocolJava Remote Method Protocol ( (JRMPJRMP).).
Tecnologie per il progettoTecnologie per il progetto
18
RMI: RMI: ServerServer
I metodi remoti sono eseguiti da I metodi remoti sono eseguiti da un’applicazione su una un’applicazione su una macchina definita macchina definita Server.Server.
Utilizza tre classi remote:Utilizza tre classi remote:
InterfaceInterface Implementation ClassImplementation Class Classe ServerClasse Server
RMI: RMI: ClientClient
È l’applicazione chiamante che È l’applicazione chiamante che invoca i metodi del server.invoca i metodi del server.
In essa è presente solamente la: In essa è presente solamente la:
Classe ClientClasse Client
Tecnologie per il progettoTecnologie per il progetto
19
RMI: ComunicazioneRMI: Comunicazione
La struttura della comunicazione RMI tra client e server è organizzata in una La struttura della comunicazione RMI tra client e server è organizzata in una serie di strati logici orizzontali sovrapposti, denominati serie di strati logici orizzontali sovrapposti, denominati layerlayer..
Tecnologie per il progettoTecnologie per il progetto
20
È un protocollo È un protocollo molto simile ad RMImolto simile ad RMI::
RMI-IIOP supporta i protocolli:RMI-IIOP supporta i protocolli:
- - JRMP di RMI;JRMP di RMI;
- - IIOPIIOP ( (Internet Inter Orb ProtocolInternet Inter Orb Protocol) di ) di CORBA.CORBA.
maggiore interoperabilità;maggiore interoperabilità;
Client e Server non obbligatoriamente Client e Server non obbligatoriamente Java.Java.
Tecnologie per il progettoTecnologie per il progetto
RMI over IIOPRMI over IIOP
21
StrutturaStruttura
• IntroduzioneIntroduzione
• Servizi di telemedicinaServizi di telemedicina
• Tecnologie per il progettoTecnologie per il progetto
• Progettazione ed implementazioneProgettazione ed implementazione
• ConclusioniConclusioni
22
Progettazione ed ImplementazioneProgettazione ed Implementazione
ProgettazioneProgettazione - Prima possibilità -- Prima possibilità -
Server centrale:Server centrale:
Stanza unicaStanza unica
Gestione lista IP da parte del Gestione lista IP da parte del serverserver
23
Progettazione ed ImplementazioneProgettazione ed Implementazione
ProgettazioneProgettazione - Seconda possibilità -- Seconda possibilità -
Uno a molti:Uno a molti:
Stanza unicaStanza unica
Gestione lista IP da parte di ogni Gestione lista IP da parte di ogni nodonodo
24
Progettazione ed ImplementazioneProgettazione ed Implementazione
Scelta effettuataScelta effettuata
Uno a moltiUno a molti
Perché?Perché?
Stesso codice distribuito su ogni macchina;Stesso codice distribuito su ogni macchina; Server centrale non sempre disponibile;Server centrale non sempre disponibile; Vantaggioso in termini di traffico.Vantaggioso in termini di traffico.
25
Progettazione ed ImplementazioneProgettazione ed Implementazione
Gestione Profili UtentiGestione Profili Utenti
Possibilità:Possibilità:
Aggiungere nuovo utente:Aggiungere nuovo utente: locale locale
remotoremoto
Messaggi privati:Messaggi privati: Invio a singolo utente.Invio a singolo utente.
26
Progettazione ed ImplementazioneProgettazione ed Implementazione
Gestione Utenti: Implementazione Gestione Utenti: Implementazione
Utilizzati vettori per memorizzare:Utilizzati vettori per memorizzare:
Indirizzi IpIndirizzi Ip Vettore di Vettore di stringhestringhe Valori controlloValori controllo Vettore di Vettore di interiinteri Corrispondenti pulsanti Corrispondenti pulsanti Vettore di Vettore di oggettioggetti
27
Progettazione ed ImplementazioneProgettazione ed Implementazione
Controlli sugli utenti selezionatiControlli sugli utenti selezionati
Vettore di IPVettore di IP
Vettore di controlloVettore di controllo se valore a se valore a 00 NONO se valore a se valore a 11 OKOK
Invio a IP corrispondenteInvio a IP corrispondente
28
Progettazione ed ImplementazioneProgettazione ed Implementazione
Procedure di gestione utentiProcedure di gestione utenti
Creazione utenteCreazione utente - operazioni in avvio programma -- operazioni in avvio programma - : :
Creazione pulsanteCreazione pulsante Associazione di un Ascoltatore al pulsanteAssociazione di un Ascoltatore al pulsante Aggiunta pulsante al Vettore di oggettiAggiunta pulsante al Vettore di oggetti
Aggiunta utenteAggiunta utente - - operazioni in esecuzione programma -operazioni in esecuzione programma - ::
Aggiunta indirizzo Ip a Vettore di stringhe;Aggiunta indirizzo Ip a Vettore di stringhe; Esecuzione procedure di Esecuzione procedure di Creazione UtenteCreazione Utente;; Esecuzione in remoto delle procedure Esecuzione in remoto delle procedure Aggiunta utenteAggiunta utente su tutte le Ws. su tutte le Ws.
29
Progettazione ed ImplementazioneProgettazione ed Implementazione
Memorizzazione su fileMemorizzazione su file
In avvioIn avvio In chiusuraIn chiusura
Lettura indirizzi IPLettura indirizzi IP Scrittura indirizzi IPScrittura indirizzi IP
30
Progettazione ed ImplementazioneProgettazione ed Implementazione
StrutturaStruttura
SocketSocket
Strumento di messaggisticaStrumento di messaggistica
PROGETTOPROGETTOLavagna elettronica condivisaLavagna elettronica condivisa
RMI
31
Progettazione ed ImplementazioneProgettazione ed Implementazione
Architettura Sistema di MessaggisticaArchitettura Sistema di Messaggistica
Ogni Workstation:Ogni Workstation:
- Lato ClientLato Client Invio stringheInvio stringhe
- Lato ServerLato Server Ricezione messaggiRicezione messaggi Sempre in ascolto Sempre in ascolto
32
Progettazione ed ImplementazioneProgettazione ed Implementazione
Lato ClientLato Client
Messaggi pubbliciMessaggi pubblici
2 possibilità2 possibilità
Messaggi privatiMessaggi privati
Si
Si Si
Si
Si
No No
No
33
Progettazione ed ImplementazioneProgettazione ed Implementazione
Lato ServerLato Server
- Sempre in ascolto;Sempre in ascolto;- Attende connessione da Client;Attende connessione da Client;- Gestito a Thread consente:Gestito a Thread consente:
- ascolto contemporaneo di vari utenti;ascolto contemporaneo di vari utenti;
- non genera blocco applicazione se più utenti inviano in contemporanea;non genera blocco applicazione se più utenti inviano in contemporanea;
34
Lavagna elettronica condivisaLavagna elettronica condivisa
Struttura:Struttura:
Parte graficaParte grafica
Parte di comunicazione Parte di comunicazione utilizzo di RMIutilizzo di RMI
Integrata col servizio di messaggistica in un’unica finestra.Integrata col servizio di messaggistica in un’unica finestra.
Progettazione ed ImplementazioneProgettazione ed Implementazione
35
Progettazione ed ImplementazioneProgettazione ed Implementazione
Parte graficaParte grafica
funzionalitàfunzionalità::
- disegno a mano libera col mouse- disegno a mano libera col mouse
- visualizzazione immagini DICOM- visualizzazione immagini DICOM
36
Progettazione ed ImplementazioneProgettazione ed Implementazione
lato Serverlato Server::
- esecuzione dei metodi remoti- esecuzione dei metodi remoti
- sempre in ascolto sulla porta 1099- sempre in ascolto sulla porta 1099
Parte di comunicazioneParte di comunicazione
lato Clientlato Client::
- chiamata ai metodi remoti- chiamata ai metodi remoti
Entrambi i lati presenti in ogni Workstation Entrambi i lati presenti in ogni Workstation
37
Utilizzo di RMIUtilizzo di RMI::
Invio di:Invio di:
immagini DICOM: immagini DICOM: array di bytearray di byte disegno a mano libera: disegno a mano libera: vector di Pointvector di Point text label: text label: StringString IP aggiunto in locale: IP aggiunto in locale: StringString
Progettazione ed ImplementazioneProgettazione ed Implementazione
38
Progettazione ed ImplementazioneProgettazione ed Implementazione
Utilizzo di RMI: perché?Utilizzo di RMI: perché?
• evita di interpretare messaggi “comando”;evita di interpretare messaggi “comando”;
• possibilità di chiamare direttamente i metodi grafici di Java;possibilità di chiamare direttamente i metodi grafici di Java;
• semplicità nell’implementazione, nel mantenimento delle semplicità nell’implementazione, nel mantenimento delle applicazioni realizzate e nella gestione delle risorse distribuite.applicazioni realizzate e nella gestione delle risorse distribuite.
39
StrutturaStruttura
• IntroduzioneIntroduzione
• Servizi di telemedicinaServizi di telemedicina
• Tecnologie per il progettoTecnologie per il progetto
• Progettazione ed implementazioneProgettazione ed implementazione
• ConclusioniConclusioni
40
Progetto realizzatoProgetto realizzato: prototipo: prototipo
CaratteristicheCaratteristiche::
Facilità di integrazione in HDW2Facilità di integrazione in HDW2 Condivisione di file DICOMCondivisione di file DICOM Scambio di annotazioni e messaggiScambio di annotazioni e messaggi Punto di partenza per:Punto di partenza per:
- consultazioni mediche a distanza;- consultazioni mediche a distanza;- diagnosi in tempo reale;- diagnosi in tempo reale;- training medico.- training medico.
ConclusioniConclusioni
41
Sviluppi futuriSviluppi futuri::
Utilizzo di RMI-IIOP;Utilizzo di RMI-IIOP;
Ulteriori funzionalità grafiche;Ulteriori funzionalità grafiche;
Modelli di interazione diversi per gli utenti.Modelli di interazione diversi per gli utenti.
ConclusioniConclusioni
top related