Open Hospital, la rivoluzione del computer

In quest’articolo si racconta una storia, una di quelle storie che hanno il lieto fine. I protagonisti sono il Team di progetto di ISF – Informatici Senza Frontiere (Paolo,Chiara, Alessandro,Fabrizio) che ha realizzato ed implementato Open Hospital in alcuni ospedali dell’Africa, dimostrando come con un mix di competenza e voglia di fare sia possibile fare volontariato, utilizzando la tecnologia come leva abilitante per dare a persone più sfortunate di noi, un’altra possibilità. Nelle loro risposte alle mie domande viene descritto il progetto partendo dalla genesi per arrivare fino allo stato attuale evidenziando le scelte tecnologiche sostenute.

TI PIACE QUESTO ARTICOLO?

Iscriviti alla nostra newsletter per essere sempre aggiornato.

Quando e come nasce il Progetto Open Hospital?   

Il progetto nasce dall’incontro tra i fondatori di ISF (Informatici Senza Frontiere) e il Dott. Mario Marsiaj, che da oltre 40 anni coordina e sostiene l’ospedale St. Luke di Angal, un ospedale fondato circa un secolo fa dai padri Comboniani.

La struttura si trova in una regione rurale molto povera del nord dell’Uganda, con un bacino di utenza di circa 120.000 persone; l’ospedale è dotato di 280 posti letto divisi nei reparti maschile, femminile, pediatria, maternità, isolamento ed è attrezzato con un laboratorio di analisi chimiche e microbiologiche, radiologia e sala operatoria; vi sono impiegate 136 persone.

L’incontro tra il dott. Marsiaj ed i responsabili di ISF ha reso possibile lo scambio tra una offerta di know how informatico alla ricerca di concretizzazione ed una palese necessità gestionale difficilmente superabile con mezzi propri. Prese il via così Open Hospital, un progetto molto complesso che in questi anni è stato portato avanti in modo estremamente pragmatico, passo dopo passo.

Nonostante, si sia voluto semplificare il progetto, rendere essenziali le sue funzionalità, e implementare una interfaccia utente necessariamente poco evoluta, il progetto ha comunque richiesto parecchi mesi uomo tra sviluppo, test, installazione e manualistica.

Come si è articolato il Progetto?

Il primo step ha previsto la comprensione delle reali necessità dell’ospedale (logistiche, funzionali, organizzative, tecnologiche), nonché le capacità e gli skill delle risorse umane coinvolte;  infermieri e medici senza alcuna esperienza informatica. Si trattava naturalmente di un contesto assolutamente sconosciuto ai tecnici abituati ad operare, nel mondo occidentale, allo stato dell’arte della tecnologia e dell’organizzazione.

Il secondo step  è stato un viaggio nel cuore dell’Africa, per cercare di svelare l’anima che doveva dare corpo al progetto finale. Anche se leggermente fuori contesto non si può non accennare alle emozioni di un viaggio in questa terra primordiale, povera ma colma di dignità, dove di giorno si parla con il telefonino e di notte con gli spiriti, di giorno si va dal medico e di notte dallo stregone, dove il cielo è immenso ed alle sette la luce del giorno si spegne all’improvviso come si fosse scaricata la batteria.

Il risultato di questa fase ha portato alla definizione di una analisi funzionale rivelatasi in seguito perfettamente corrispondente alle esigenze della struttura. Il passaggio dal lato funzionale a quello tecnico è stato a sua volta carico di valore, in quanto sono stati individuati nell’ambito dell’open source il sistema operativo, il linguaggio di programmazione, l’ambiente di sviluppo ed il sistema di database.

Quali sono state le scelte tecnologiche?

Il sistema operativo scelto è stato XUbuntu un sistema Linux a tutti gli effetti ma più leggero delle altre distribuzioni, adattissimo quindi ai personal computer non di ultima generazione che molto probabilmente sarebbero stati quelli utilizzati dagli operatori di Open Hospital. La successiva scelta tecnica, il linguaggio di programmazione, è ricaduta su Java, un linguaggio che pur non esente da difetti è molto potente, la cui conoscenza è diffusa a livello mondiale, disponibile praticamente per tutti i sistemi operativi, con un enorme corredo di librerie ed utilities di sviluppo.

La scelta del sistema di base dati è risultata meno scontata, d’altro canto con alcuni accorgimenti risulta pressoché trasparente per la scrittura del codice sorgente, rendendo meno impegnativa l’adozione di una delle 2 o 3 alternative piu’ diffuse. Per lo sviluppo e per la prima installazione di OH è stato selezionato il motore di database MySQL.

Ultimo tassello tecnologico da citare è l’ambiente di sviluppo Eclipse, un vero e proprio gioiello sviluppato inizialmente da IBM e trasformato nel 2004 in un progetto totalmente free gestito da un ente non profit denominato Eclipse Foundation.

Dove ha trovato le forze e le risorse un Ente no profit come ISF?

È importante sottolineare, il coinvolgimento dell’Istituto Tecnico Volterra di S.Donà di Piave tramite il lungimirante lavoro dei professori Carrer e Voltolina.

Per un intero anno un team di ragazzi delle classi quinte ha lavorato con entusiasmo, sotto la guida attenta ed instancabile dei loro professori, allo sviluppo del software, prima lavorando alla sua architettura interna di tipo MVCModel View Control, poi alle funzioni di I/O, quindi all’interfaccia utente ed infine alle stampe e alle statistiche.

Il progetto è stato consegnato a ISF pressoché completo in tutte le sue funzioni, già installato e configurato in una rete comprendente un server e 4 portatili. In due missioni successive compiute da volontari ISF nel novembre 2006, è stato quindi trasportato l’hardware, cablata la rete locale, effettuata l’istruzione degli operatori.

Non sono mancate situazione rocambolesche, qualche difficoltà di comprensione – e di interazione con la burocrazia ministeriale ugandese, ma è stato indubbiamente un successo al di là di ogni aspettativa.

In meno di 3 settimane una dozzina tra infermieri e contabili ha imparato – utilizzando per la prima volta un computer – a caricare le schede paziente, ad inserire le accettazioni e le dimissioni dei pazienti in reparto, a gestire il magazzino di prodotti farmaceutici, gli esami di laboratorio, le visite ambulatoriali. Gli operatori selezionati dal dott. Marsiaj facevano gli straordinari pur di partecipare a questa “rivoluzione del computer”, e seppur con qualche laboriosità nel digitare i dati ed in particolare nel maneggiare il mouse si sono rivelati precisi e non hanno evidenziato particolari difficoltà nell’uso del sistema.

Quali sono state le criticità che avete dovuto affrontare?

A onor del vero si sono verificati alcuni errori, ma per la maggior parte sono stati corretti nel corso della missione ed in ogni caso nessuno ha impedito l’utilizzo del sistema, che ha sempre continuato a funzionare ed è tutt’ora operativo.

Una volta lasciato Angal siamo stati con il fiato sospeso per parecchio tempo avendo come unico legame con l’ospedale il telefono dell’amministrazione. Già capirsi guardando contemporaneamente il computer non era banale, figuriamoci per telefono!

Ma anche sotto questo aspetto c’è stata una svolta, l’anno successivo, con la visita del figlio del Dott. Marsiaj, Piero Marsiaj, un informatico anche lui esperto in ambito open source, che in un modo ancora adesso incomprensibile ha configurato un allacciamento ad internet che consente di collegarsi ed eseguire un qualche servizio di aggiornamento remoto.

Il collegamento è di una lentezza tale che si vedono i singoli bytes transitare sullo schermo quando si trasmette un aggiornamento, ma è comunque incomparabilmente migliore di un viaggio di 2 giorni (sola andata) magari per aggiungere un totale ad una stampa.

Qual è ora lo stato dell’arte di Open Hospital?

Oggi la situazione per quanto riguarda lo sviluppo di Open Hospital è radicalmente cambiata, per una serie di fattori quali il maggior numero di iscritti a ISF, il tipo di sviluppo più puntuale e limitato ad alcune funzioni, ed anche perché i ragazzi del Volterra sono stati giustamente promossi.

OH è gestito in un repository di progetti open source (il più grande al mondo, sourceforge.net), con gestione del versioning dei sorgenti, bug tracking, feature request, documentazione, download, statistiche sulle attività di sviluppo e sul download.

In questo modo non è più necessario lavorare gomito a gomito ma ci si può suddividere il lavoro a prescindere da dove si è fisicamente, ed infatti oggi gli sviluppatori più attivi sono in puglia, in africa ed in veneto.

Open Hospital,  è un’avventura entusiasmante che è solo all’inizio ..

Quali sono le features? 

Open Hospital consente la gestione in modo semplice ed efficace delle
operazioni amministrative richieste in un ospedale quali:

* gestione magazzino farmaci;

* gestione laboratorio analisi;

* gestione OPD (Out Patient Department);

* gestione ricoveri dei pazienti;

* gestione gravidanze;

* gestione controlli malnutrizione;

* statistiche e stampa di report.

L’applicazione è dotata di un’interfaccia molto semplice a pulsanti che richiamano le funzioni elencate.

A prima vista è molto diversa dalle applicazioni a cui siamo abituati, tuttavia questo è stato un punto a favore della diffusione e adozione di Open Hospital che, da feedback raccolto dagli utilizzatori finali, è stato riscontrato essere molto facile e intuitiva da usare.

Dal punto di vista tecnologico cosa c’è sotto?

Open Hospital è un’applicazione stand alone, realizzata in puro Java, e non richiede librerie specifiche di alcun sistema operativo. La possibilità di essere svincolati dall’ambiente operativo è un grosso vantaggio sia dal punto di vista dell’installazione che dello sviluppo e consente di fatto una grande libertà nella scelta della piattaforma di destinazione; poiché si presume che Open Hospital venga installata solitamente in Paesi in via di sviluppo, non si può sapere a priori quale sarà la disponibilità di hardware e software di base sul quale
verrà ospitata l’applicazione. Pur essendo Linux il sistema operativo maggiormente scelto per le sue doti di stabilità e possibilità di diffusione, nulla vieta di poter scegliere Windows o altro per le installazioni. Al tempo stesso ogni componente del gruppo di sviluppo può scegliere il sistema operativo di preferenza, alcuni di noi
infatti sviluppano su Windows, altri su Ubuntu o Debian GNU/Linux e questo è un vantaggio anche dal punto di vista dei test, potendo verificare come l’applicazione si comporta su piattafome differenti.

Gli strumenti sono naturalmente anch’essi cross platform, il Java Development Kit di Sun ed Eclipse come IDE.

Open Hospital inoltre usa un server database MySQL per la persistenza dei dati al quale l’applicazione si connette mediante le API standard JDBC. La scelta sull’uso di questi strumenti è dovuta senz’altro alla loro grande popolarità e supporto da parte della comunità open source.

La procedura di installazione di Open Hospital non è particolarmente complessa per chi ha un po’ di dimestichezza con questi strumenti ma può risultare difficile se non impossibile per gli utenti finali più inesperti. Per questa ragione il gruppo pugliese di ISF ha creato una versione “portabile” di Open Hospital, ovvero un file compresso liberamente scaricabile che contiene al suo interno tutto ciò che è necessario al funzionamento, la macchina virtuale Java, un server MySQL configurato ad hoc con i dati di base già caricati e naturalmente il core dell’applicazione. E’ sufficiente scompattare il file compresso e lanciare uno script affinché venga avviato Open Hospital. La cosa interessante della versione portabile è che in tal caso Open Hospital può essere eseguita da qualsiasi percorso a piacimento o persino da una chiavetta USB e successivamente anche copiato anche su un altro computer per avere sempre l’applicazione a
disposizione con tutti i dati utilizzati fino a quel momento. La versione portabile di Open Hospital è stata realizzata sia per Windows che per Linux.

Lo sviluppo avviene con l’ausilio dei servizi offerti da Sourceforge (http://www.sourceforge.net/), il noto repository di software open source. Fino a pochi mesi fa, fra tutti i servizi disponibili abbiamo utilizzato esclusivamente il CVS per il controllo delle versioni ma ora che il gruppo di sviluppo inizia ad espandersi sono necessari altri strumenti per la sincronizzazione del lavoro. Da poco abbiamo istituito una mailing list per le discussioni che prima avvenivano solo in copia via email e abbiamo iniziato a usare il tracker per
memorizzare e assegnare agli sviluppatori i nuovi task e la risoluzione dei bug.

In che ospedali è installato?

Attualmente è installato ed utilizzato in:
Ospedale St. Luke’s di Angal in Uganda
Ospedale Indira Ghandi di Kabul in Afghanistan: installazione effettuata nell’ambito dell’operazione di informatizzazione dell’ospedale da parte dei militari italiani.
Ospedale St. Orsola a Matiri (Maru), Kenya: progetto, in collaborazione con l’associazione ‘Un ospedale per Tharaka’

E’ stato installato ma è in fase di valutazione :

Hôpital “La Croix” de Zinvié, Benin: dovremmo integrarlo con il sistema previsto del ministero della Sanità del Benin
Hopital de MoKala, Repubblica Democratica del Congo: progetto in collaborazione con l’”Alleanza Italiana Ospedali nel Mondo
Ospedale di Kimbau Repubblica Democratica del Congo

Anche nel caso della Repubblica Democratica del Congo dovremmo integrarlo con il sistema previsto dal ministero della Sanità

In che modo viene utilizzato il software open source? 

Il software open source viene utilizzato alla stregua di quello proprietario. Immaginiamo una comunità che non ha mai visto un computer, né un mouse e nemmeno una tastiera; quale differenza possa fare operare su un sistema operativo proprietario anziché su uno open source? L’interfaccia (e lo schermo) sono anch’essi nuovi, non c’è termine di paragone, l’unica cosa che si può constatare (ed ha un senso) è che il computer ti aiuta, non si sostituisce al tuo lavoro, ma ti aiuta; ti permette d’informarti e, soprattutto, di farlo gratuitamente. 
Da circa 3 mesi abbiamo assunto qui in Kenya, grazie a ISF, un neolaureato in ing. elettronica come informatico che prenderà il mio posto come Network Manager. La sua conoscenza riguardava alcune “funzioni” di un computer con l’interfaccia Microsoft ma ovviamente non immaginava che quella di Gates fosse in realtà solo una delle possibilità. Da subito si è messo al lavoro per la traduzione in kiswahili di OH, ed ha capito che un software non è confezionato così com’è, ma è stato sviluppato per assolvere dei compiti e che tradurlo è solo un’iniziativa personale, indipendente da chi ha sviluppato il resto del programma. Successivamente ha incominciato a tradurre il CMS Joomla1.5, che attualmente utilizziamo per il sito internet dell’ospedale (www.matirihospital.org); è iscritto al forum delle traduzioni ed è ovviamente autore di quello che produce; si è trovato così da poche conoscenze ad essere detentore di tante conoscenze pronte da condividere con gli altri, ha scoperto la comunità informatica. Ora, in vista dell’installazione di OH su server Linux, ha cominciato a studiare il sistema operativo Unix e le reti, scoprendo che un sistema è composto da tante parti e che per ogni problema c’è sempre una soluzione, alla quale si può arrivare attraverso la conoscenza. 

Per tutti gli altri dipendenti dell’ospedale, avere KDE3.5 anziché Windows non fa molta differenza e, per chi si è già abituato ad OpenOffice la differenza è ancora più piccola. OH open source? Per loro non significa molto, ma sanno che il programma è malleabile e può essere migliorato con il contributo di tutti: con il gruppo di progetto stiamo già prendendo in considerazione le diverse proposte avanzate dai diretti fruitori, in questo caso infermieri e medici kenyoti, senza alcuna esperienza informatica.

Quali sono le difficoltà nel lavorare fuori dall’Italia?

Trovo che non ci sia una grossa differenza tra lavorare in Italia o all’estero; penso invece si possa distinguere tra lavorare per un privato e fare volontariato. E anche qui si deve distinguere tra volontariato nel proprio paese e volontariato all’estero. Per poi arrivare al caso particolare della cooperazione in aree in via di sviluppo, se così si possono ancora chiamare. Nel mio caso infatti il lavoro si è svolto in un’area in cui non c’è alcun programma di sviluppo di tipo governativo; si tratta di un ospedale realizzato dalla Cooperazione Italiana in una delle zone più remote del Kenya, dove si ha difficoltà anche a stimare la densità di popolazione o i decessi. Quando si parla di fare volontariato all’estero bisogna innanzitutto aver chiara la situazione sociale e politica dell’area in cui si va ad operare, della sua storia, dello status quo. In questo modo si può ulteriormente distinguere tra vari casi ognuno con le proprie peculiarità. Lavorare per Google in Italia non è molto diverso che farlo altrove. Ma operare tra i campi profughi del Congo ha qualcosa di profondamente diverso che “computerizzare” giovani laureati kenyoti.  

Lavorare per il sociale è qualcosa di assolutamente complicato, richiede adattamento e soprattutto spirito di osservazione con un forte senso di umiltà. Piombare, nel senso più grave della parola, in una cultura completamente diversa dalla propria, con valori e storia diversi, fa scontrare con qualcosa di nuovo che non è solo nell’ambiente circostante, ma dentro di noi. Puoi scoprire di non essere quello che credevi, puoi avere difficoltà a condividere delle emozioni, anche le più semplici; puoi sentirti limitato; ma puoi anche sentirti ad un palmo da terra, sentirti avanti e credere di avere le soluzioni in pugno, di essere nel giusto e mostrare come si fa. Ancora, puoi capire cose che non capivi, aprire gli occhi e sviluppare concetti nuovi, ma soprattutto capire da dove vieni, come sei cresciuto, che cosa ti ha portato fin lì.

Le difficoltà quindi sono tante, dalla lingua ai concetti più basilari; l’introduzione di strumenti nuovi, il trasferimento della conoscenza, non sempre portano ad un miglioramento se non sono assimilati e compresi nel loro aspetto innovativo dai riceventi; ma anche la professionalità – intesa come capacità di pianificare efficientemente i propri interventi all’interno di un progetto – può essere scambiata per autorità e talvolta difficilmente si coadiuva con le esigenze locali, da qui l’umiltà di capire cosa è importante per il singolo e cosa per i molti, anche al di fuori dell’orario di “lavoro”. 

Lavorare, infine, diventa un’esperienza diversa da quella che conosciamo, che include anche la percezione della comunità. Lavorare come volontario significa dare il meglio che si può al minimo prezzo, perché la ricompensa non è dovuta, ma enorme.

Paolo Rossetto, 50 anni, sposato, con 2 figli, responsabile sviluppo software ed integrazioni alla Zoppas Industries, azienda leader nelle resistenze. In ISF è Responsabile dello sviluppo software, ed uno degli installatori di Open Hospital ad Angal. 

Fabrizio Lippolis di Bari classe 1971, lavora presso Auriga s.p.a.come analista/programmatore di software bancario (Internet Banking,Nuova Architettura CBI). Collabora con ISF dal gennaio 2008 ed è Responsabile della sezione pugliese del progetto Open Hospital. 

Chiara de Felice di Pezze di Greco (Brindisi) classe 1978, lavora presso Auriga s.p.a. come analista/programmatore di software bancario (Internet Banking). Collabora con ISF dal gennaio 2008 ed è Coordinatrice della sezione Puglia. 

Alessandro Domanico, laureato in Ing.Informatica presso il Politecnico di Bari. Attualmente sta curando un progetto d’informatizzazione di un ospedale in Kenya, progetto nato dalla cooperazione italiana e preso in gestione poi da ISF per la quale si sta occupando di sviluppo software.