Indice
1 Introduzione
1
1.1
Le cliniche africane . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Considerazioni e specifiche . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Gli strumenti utilizzati . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Software per l’ambito sanitario
5
2.1
Software Gestionali: HIS - EMR . . . . . . . . . . . . . . . . . . . . .
7
2.2
Proposte Open - Source . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3
Care2X
2.3.1
2.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Problemi riscontrati
. . . . . . . . . . . . . . . . . . . . . . . 12
Altri Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1
FreeMed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2
GnuMed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3
OpenMRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.4
Open Infrastructure for Outcomes - OIO . . . . . . . . . . . . 17
2.4.5
OpenClinic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.6
OpenEMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.7
OpenHospital . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 La scelta
21
3.1
3.2
Definizione dei criteri di sperimentazione ed analisi . . . . . . . . . . 21
3.1.1
Criteri tecnologici . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2
Criteri Funzionali . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.3
Criteri di Usabilitá . . . . . . . . . . . . . . . . . . . . . . . . 27
Schema di valutazione . . . . . . . . . . . . . . . . . . . . . . . . . . 30
I
3.3
3.4
Sperimentazione ed Analisi sul software: risultati della valutazione .
3.3.1 Valutazione Care2X - HIS . . . . . . . . . . . . . . . . . . .
3.3.2 Valutazione OpenEMR - HIS . . . . . . . . . . . . . . . . .
3.3.3 Valutazione OpenHospital - HIS . . . . . . . . . . . . . . . .
3.3.4 Valutazione FreeMed - EMR . . . . . . . . . . . . . . . . . .
3.3.5 Valutazione GnuMed - EMR . . . . . . . . . . . . . . . . . .
3.3.6 Valutazione OpenMRS - EMR . . . . . . . . . . . . . . . . .
3.3.7 Valutazione OIO - Open Infrastructure for Outcomes - EMR
3.3.8 Valutazione OpenClinic - EMR . . . . . . . . . . . . . . . .
Confronto dei risultati . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
32
33
34
35
36
37
38
39
40
41
4 Conclusioni
45
4.1 La scelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Proposta per lo sviluppo futuro . . . . . . . . . . . . . . . . . . . . . 46
A Script
49
B Configurazione sorgenti
54
B.1 Installazione del web server Apache da sorgenti . . . . . . . . . . . . 55
B.2 Configurazione sorgenti PHP 4.x . . . . . . . . . . . . . . . . . . . . 56
C Creazione distribuzione personalizzata
58
C.1 Prerequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
C.2 Personalizzare la distribuzione . . . . . . . . . . . . . . . . . . . . . . 59
D Immagini Care2X
62
E Immagini Altri Software
E.1 FreeMed . . . . . . . . . . . . . . . . . .
E.2 GnuMed . . . . . . . . . . . . . . . . . .
E.3 OpenClinic . . . . . . . . . . . . . . . .
E.4 OpenEMR . . . . . . . . . . . . . . . . .
E.5 OpenMRS . . . . . . . . . . . . . . . . .
E.6 OpenHospital . . . . . . . . . . . . . . .
E.7 OIO - Open Infrastructure for Outcomes
70
70
74
76
79
82
85
89
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Elenco delle tabelle
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
Classificazione software sanitari .
Elenco Software . . . . . . . . . .
Prerequisiti installazione Care2X
1a Prova installazione Care2X . .
2a Prova installazione Care2X . .
3a Prova installazione Care2X . .
4a Prova installazione Care2X . .
5a Prova installazione Care2X . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
10
13
13
14
14
14
15
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
Care2X: risultati della valutazione . . . .
OpenEMR: risultati della valutazione . .
OpenHospital: risultati della valutazione
FreeMed: risultati della valutazione . . .
GnuMed: risultati della valutazione . . .
OpenMRS: risultati della valutazione . .
OIO: risultati della valutazione . . . . .
OpenClinic: risultati della valutazione .
Totale risultati della valutazione . . . . .
Totale risultati per l’Usabilitá . . . . . .
Classifica finale . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
35
36
37
38
39
40
42
43
44
III
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Elenco delle figure
2.1
Debian-Med 1: home-page del progetto . . . . . . . . . . . . . . . . .
6
2.2
Debian-Med 2: home-page del progetto . . . . . . . . . . . . . . . . .
7
2.3
Debian-Med 3: home-page classe HIS . . . . . . . . . . . . . . . . . .
8
2.4
Debian-Med 4: home-page classe EMR . . . . . . . . . . . . . . . . .
9
2.5
Wikipedia: lista software sanitari . . . . . . . . . . . . . . . . . . . . 10
3.1
Tabella d’esempio per valutazione EMR
3.2
Tabella d’esempio per valutazione HIS . . . . . . . . . . . . . . . . . 31
3.3
Risultati della valutazione completa . . . . . . . . . . . . . . . . . . . 42
3.4
Risultati della valutazione, dettaglio usabilitá . . . . . . . . . . . . . 43
3.5
Risultati della valutazione, conclusioni . . . . . . . . . . . . . . . . . 44
. . . . . . . . . . . . . . . . 30
D.1 Care2X: download . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
D.2 Care2X: ced 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
D.3 Care2X: ced 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
D.4 Care2X: ced 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
D.5 Care2X: errore ced . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
D.6 Care2X: accetazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
D.7 Care2X: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
D.8 Care2X: sottosistema emr 1 . . . . . . . . . . . . . . . . . . . . . . . 66
D.9 Care2X: sottosistema emr 2 . . . . . . . . . . . . . . . . . . . . . . . 66
D.10 Care2X: home page amministratore . . . . . . . . . . . . . . . . . . . 67
D.11 Care2X: home page personalizzata . . . . . . . . . . . . . . . . . . . . 67
D.12 Care2X: nuovo paziente . . . . . . . . . . . . . . . . . . . . . . . . . . 68
D.13 Care2X: parametri 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
D.14 Care2X: parametri 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IV
E.1 FreeMed login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
E.2 FreeMed home utente 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 71
E.3 FreeMed home utente 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 71
E.4 FreeMed ricerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
E.5 FreeMed risultato ricerca . . . . . . . . . . . . . . . . . . . . . . . . . 72
E.6 FreeMed cartella clinica . . . . . . . . . . . . . . . . . . . . . . . . . 73
E.7 FreeMed amministrazione . . . . . . . . . . . . . . . . . . . . . . . . 73
E.8 GnuMed: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
E.9 GnuMed: finestra principale . . . . . . . . . . . . . . . . . . . . . . . 75
E.10 OpenClinic: pagina iniziale . . . . . . . . . . . . . . . . . . . . . . . . 76
E.11 OpenClinic: EMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
E.12 OpenClinic: ricerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
E.13 OpenClinic: amministrazione 1 . . . . . . . . . . . . . . . . . . . . . 78
E.14 OpenClinic: amministrazione 2 . . . . . . . . . . . . . . . . . . . . . 78
E.15 OpenEMR: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
E.16 OpenEMR: EMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
E.17 OpenEMR: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
E.18 OpenEMR: pagina iniziale . . . . . . . . . . . . . . . . . . . . . . . . 81
E.19 OpenMRS: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
E.20 OpenMRS: ricerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
E.21 OpenMRS: dizionario . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
E.22 OpenMRS: EMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
E.23 OpenMRS: amministrazione . . . . . . . . . . . . . . . . . . . . . . . 84
E.24 OpenHospital: menú . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
E.25 OpenHospital 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
E.26 OpenHospital 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
E.27 OpenHospital 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
E.28 OIO: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
E.29 OIO: pagina iniziale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
E.30 OIO: nuovo paziente . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
E.31 OIO: forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
E.32 OIO: errore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
E.33 OIO amministrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
V
E.34 OIO: utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
E.35 OIO: reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
E.36 OIO: dettaglio report . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
VI
Capitolo 1
Introduzione
Il lavoro presentato in questo elaborato é parte del progetto di collaborazione e sostegno a strutture cliniche sanitarie africane, voluto dal prof. Aldo Franco Dragoni
dell’Universitá Politecnica delle Marche con la collaborazione dell’ASUR di Ancona.
Il progetto ha come scopo la fornitura di sistemi hardware e software per sfruttare
le risorse disponibili in queste realtá e completare la collaborazione preesistente con
la facoltá di medicina della stessa facoltá.
Questa parte del progetto si occupa di trovare un software gestionale che permetta di
agevolare il normale svolgimento delle attivitá sanitarie, predisponendo un sistema
per la raccolta e consultazione dei dati dei pazienti curati. Ovviamente essendo una
situazione molto particolare, quella in cui ci si trova ad operare, vanno tenuti in considerazione diversi fattori prima di passare alla parte pratica, tra cui l’ambiente dove
sono situate queste cliniche, le difficoltá che vengono quotidianamente affrontate e
le particolari richieste. Tutto questo ha condotto alla stesura di un certo numero di
specifiche, inscindibili da quelle tecniche, derivanti dall’approccio ingegneristico del
problema.
Innanzitutto si intende presentare brevemente quella che é la realtá in questione
insieme alle richieste di chi opera sul campo, quelle che sono state le considerazioni scaturite in conseguenza dell’approccio con questa situazione e che sono state il
filo conduttore di tutta l’analisi e sperimentazione descritte nei seguenti capitoli,
in ultimo una descrizione degli strumenti e dell’ambiente utilizzato per svolgere il
progetto.
1
1 – Introduzione
1.1
Le cliniche africane
Le strutture che sono state contatatte ed oggetto di riflessione per studiare i requisiti
e le caratteristiche minime necessarie al software, si trovano nello stato dello Zambia
e sono tra le piú grandi presenti nel paese. Oltre alle sfide che vengono affrontate
ogni giorno in ambito medico, si trovano a dover convivere con la scarsitá di personale e l’inadeguatezza di spazi e strumenti che hanno a disposizione, a fronte di un
elevato numero di pazienti. Le normali procedure burocratiche passano in secondo
piano e sono registrate solamente su carta, il che genera diversi tipi di difficoltá,
basti pensare alla necessitá di recuperare informazioni su un utente che era stato
curato a distanza di qualche mese, o peggio ancora di un anno.
Un ulteriore aspetto che é stato fortemente sottolineato durante le conversazioni, riguarda l’analfabetismo informatico, nel senso che la semplicitá di utilizzo deve essere
la prioritá in ogni valutazione, altrimenti gli strumenti che hanno a disposizione, ma
non sono in grado di usare, rimarrebbero nell’attuale condizione.
1.2
Considerazioni e specifiche
Date le premesse, si rende evidente come sia necessario un supporto informatico
a queste realtá. Tenendo presenti le necessitá e le problematiche ambientali si é
quindi giunti alla individuazione di alcune linee guida per la scelta dei progetti da
analizzare e per la valutazione conseguente, che sono:
• Open Source
L’aspetto economico é di fondamentale importanza, al momento non é possibile investire risorse in ambito informatico perché altre sono le prioritá, tra
cui i laboratori e le attrezzature. Il panorama Open Source offre un ampia
varietá di soluzioni, alcune giá in uso e supportate dalle comunitá che possono rappresentare un’ottima alternativa, a costo zero, nei confronti di altri
strumenti a pagamento; inoltre i sistemi operativi gratuiti, attualmente in circolazione, GNU/Linux in particolare, sono migliorati sensibilmente dal punto
di vista della facilitá di utilizzo rendendo possibile il loro impiego senza alcuna
difficoltá anche ad utenti inesperti.
2
1 – Introduzione
• Facilitá di apprendimento
Quest’aspetto non é da sottovalutare per due motivi su tutti, il primo, pratico,
é che non si puó gravare ulteriormente il carico di lavoro di medici e personale
imponendo un corso di formazione che andrebbe a togliere tempo impiegato
con i pazienti. Il secondo aspetto, direttemente derivante, é che tale corso
dovrebbe essere tenuto da chi ha l’incarico di portare ed installare il sistema
in Africa, ció andrebbe ad aumentare notevolmente i costi. Per queste ragioni
si cerca un sistema che abbia una buona comunitá alle spalle, per il supporto
tecnico, ed una buona documentazione che faciliti l’apprendimento e l’utilizzo.
• Semplicitá di messa in opera
Come accennato per quanto riguarda l’apprendimento, non si deve dimenticare
che i costi sono la principale difficoltá da affrontare, quindi un programma che
necessiti di poche risorse e sia installabile in poco tempo é l’obiettivo cercato.
Queste sono le specifiche che saranno ripetute piú volte durante la spiegazione delle
diverse fasi di realizzazione del progetto, proprio a sottolineare quale sia la loro
importanza e che hanno guidato tutte le scelte sostenute.
1.3
Gli strumenti utilizzati
Gli strumenti utilizzati per affrontare questi argomenti sono stati gli stessi che si
é pensato di portare in Africa, per sperimentare in prima persona quelle che potrebbero essere le difficoltá e cercare una soluzione preventiva. Il Sistema Operativo
utilizzato é la distribuzione GNU/Linux
Ubuntu-8.04.1-desktop-i386
nella configurazione di default, la stessa che é possibile scaricare dal sito della comunitá 1 . A conclusione del presente lavoro sará presentata una distribuzione preparata appositamente per la portabilitá in Africa, costruita partendo da questa appena
menzionata. Particolari software utilizzati, complementari allo svolgimento di test
ed esperimenti, sono stati il web server
Apache (v.2.0),
l’interprete del linguaggio
1
www.ubuntu.com
3
1 – Introduzione
PHP ( ≥ v.4.4),
i due principali DBMS 2 , disponibili gratuitamente:
MySQL ( ≥ v.4.1) e
POSTGRESQL ( ≥ v.7.9).
Infine si é utilizzata una macchina virtuale attraverso l’applicazione qemu per poter
provare immagini .iso di distribuzioni linux (principalmente knoppix) predisposte con i vari sistemi software studiati, distribuite attraverso i siti dei produttorimanutentori. Il vantaggio di questo prodotto é che senza mai riavviare il sistema
si é in grado emulare un altro pc, con altra architettura hardware e quindi avere a
disposizione una nuova macchina dove fare prove e test senza rischiare di causare
danni e conflitti nel sistema originale, il tutto a scapito delle prestazioni, ovviamente, ridotte; in particolare il sistema utilizzato é stato:
qemu, il software di virtualizzazione vero e proprio,
qtemu, l’interfaccia grafica.
2
DataBase Management Systems
4
Capitolo 2
Software per l’ambito sanitario
I software esistenti per l’utilizzo specifico in ambito sanitario sono divisibili in diverse categorie, a seconda di quale sia l’ambito previsto di utilizzo. In base a quella
che é la classificazione proposta dal portale Debian-Med 1 questa suddivisione é
abbastanza articolata e viene riportata nella tabella 2.1. Quelle classi su cui ci si é
concentrati maggiormente per lo sviluppo del progetto, sono le due differenziazioni
di gestionali alle quali, da questo momento in poi, si fará riferimento utilizzando
gli acronimi: HIS 2 ed EMR 3 ; nel prossimo paragrafo verrá spiegato il perché e
si affronterá la descrizione ed il confronto tra le due, quindi si proverá a chiarire se
esiste effettivamente un’importante differenza tra le due e che cosa questo comporti
al fine dello svolgimento della ricerca.
1
http://www.debian.org/devel/debian-med/
Sito del progetto Debian dedicato alla sanitá, che si propone di realizzare una distribuzione completa specifica per l’utilizzo in qualsiasi branca della medicina, dalla gestione ospedaliera alla ricerca,
passando per la veterinaria.
Nell’ambiente Open Source é una delle maggiori fonti di informazioni e novitá in tale ambito.
2
Hospital Information System
3
Electronic Medical Record
5
2 – Software per l’ambito sanitario
Branca
Gestionali per cartelle cliniche elettroniche (EMR)
Gestionali per strutture sanitarie (HIS)
Ricerca Medica
Biologia Molecolare e Genetica
Visione e Modifica di Immagini esami
Odontoiatria
Veterinaria
Database Farmaceutici (medicine e droghe)
Gestione Farmacie
Fisioterapia
Documentazione per la ricerca
Altro
Tabella 2.1.
Classificazione dei software sanitari secondo il progetto Debian-Med
Figura 2.1.
Home-page del progetto Debian Med
6
2 – Software per l’ambito sanitario
Figura 2.2.
2.1
Home-page del progetto Debian Med, elenco software sanitari open source
Software Gestionali: HIS - EMR
I software gestionali per l’ambito sanitario sono strumenti che permettono di organizzare e memorizzare informazioni riguardo pazienti e cure ma anche relative agli
aspetti burocratici e statistici legati alle procedure amministrative, complementari
allo svolgimento della professione medica. In questo panorama si collocano le famiglie di software che sono state introdotte in precedenza, gli HIS e gli EMR. A fronte
della richiesta di aiuto e collaborazione lanciata da quanti lavorano nelle strutture
africane, si é subito intuito che il primo passo per aumentare il grado di automazione
dei procedimenti ospedalieri, dovesse riguardare il modo in cui vengono raccolti ed
archiviati i dati relativi alle attivitá svolte, quindi un sistema gestionale é risultata
la soluzione preferibile.
Come giá detto in questo campo le prospettive sono molte e variegate, ora si intende presentare le principali differenze tra le due classi di software per poi passare
alla presentazione delle possibili scelte trovate. La prima differenza, fondamentale,
riguarda il fatto che un software della classe HIS si puó definire come un pacchetto
7
2 – Software per l’ambito sanitario
di servizi tra cui un sottosistema EMR. Questo significa che un software di gestione
ospedaliera (HIS) ovviamente al suo interno fornisce un insieme di servizi per i pazienti che viene chiamato cartella clinica elettronica, il quale realizza in tutto e per
tutto un software di tipo EMR. Un’altra differenza riguarda il fatto che gli HIS prevedono una minore integrazione con altri software, hanno implementate all’interno
molte funzioni puntando all’autosufficienza; gli EMR, dal canto loro, permettono di
collegare ad ogni paziente dei documenti e file che peró non si occupano di gestire. Altre differenze risiedono nelle funzioni che mettono a disposizione, ma questo
aspetto sará sottolineato in fase di analisi e sperimentazione (sez.3.1).
Nel confronto tra le due classi, a livello generico, non si é riuscito a stabilire quale
fosse la migliore soluzione, quale strada intraprendere, perché da un lato (HIS) i
vantaggi rappresentati dalle numerose funzioni e completezza dei sistemi si scontra
con la complessitá, mentre dall’altro (EMR) l’estrema semplicitá si scontra con la
limitatezza degli strumenti a disposizione. Per questo si é deciso di percorrere parallelamente entrambe le strade, lasciando al termine dell’analisi e sperimentazione
la scelta di quale fosse la migliore soluzione per l’eventuale installazione in Africa.
Figura 2.3.
Home-page della sezione HIS di Debian Med
8
2 – Software per l’ambito sanitario
Figura 2.4.
2.2
Home-page della sezione EMR di Debian Med
Proposte Open - Source
Come si é detto (sez.1.2) lo studio é stato indirizzato verso il mondo del software
Open Source, che in quest’ambito fornisce numerose soluzioni, alcune molto interessanti, che sono state prese in considerazione. Nella tabella 2.2 sono riportati tutti i
software studiati, organizzati secondo le categorie precedentemente descritte.
Nello stilare questa lista si é fatta una comparazione tra due fonti informative, presenti sul web, che contengono al loro interno un gran numero di proposte, ma tra
progetti collegati a link non piú esistenti ed altri che comparivano solamente in una
delle due fonti, si é scelto di procedere con quanti fossero appartenuti ad entrambe
e che avessero un collegamento funzionante ad un proprio portale di riferimento.
Queste due fonti sono il giá citato Debian-Med 4 (sez. 2) e la pagina wikipedia
relativa all’ healthcare software 5 .
4
5
http://www.debian.org/devel/debian-med/
http://en.wikipedia.org/wiki/List of open source healthcare software
9
2 – Software per l’ambito sanitario
Nel resto del capitolo, questi selezionati, verranno presentati singolarmente per chiarire quali sono le caratteristiche macroscopiche ed agevolare la comprensione delle
schede di valutazione che sono presentate nella sezione 3.3.
Software della classe EMR
FreeMed
GnuMed
OIO
OpenClinic
OpenMRS
Software della classe HIS
Care2x
OpenEMR
OpenHospital
Tabella 2.2. Elenco completo dei software analizzati, organizzati per
classi di appartenenza
Figura 2.5. Pagine web del portale wikipedia in cui sono elencati software
sanitari Open Source
10
2 – Software per l’ambito sanitario
2.3
Care2X
Il primo prodotto che é stato preso in considerazione é stato il Care2X, un software appartenente alla famiglia degli Hospital Information System, che era giá stato
oggetto di studio presso l’azienda sanitaria di Ancona in previsione di un possibile
utilizzo, in virtú di ció si é pensato, fin dall’inizio, che la risposta alla richiesta di
sostegno dall’africa, fosse proprio questa. In realtá cosı́ non é stato dato che alcuni
aspetti non si sono potuti trascurare nella valutazione.
Il programma Care2X si presenta come un sistema integrato di gestione di servizi
sanitari azzerando l’incompatibilitá tra i vari formati dei dati utilizzati dai software
presenti attualmente nelle strutture e diminuendo la ridondanza dei dati grazie all’utilizzo di un unico database. É un progetto Open Source quindi il codice sorgente
é disponibile e modificabile, anche se con qualche difficoltá, da chiunque, inoltre ha
il supporto di una comunitá con piú di 100 membri, ma sembra tutto fermo ormai
da tempo; é disponibile in 17 lingue, ed é per questo che la sua diffusione é a livello
globale.
Il Care2x permette di gestire quasi completamente una struttura sanitaria, dagli
aspetti amministrativo-burocratici, stipendi e statistiche, alla programmazione degli interventi per il reparto di ortopedia, tanto per fare un esempio, in ogni caso
esiste una versione dimostrativa, funzionante, raggiungibile tramite il sito web del
progetto:
http://www.care2x.org -> HIS -> Online Demo, oppure,
http://www.care2x.com/foundry/?lang=it.
Una volta che si é preso confidenza con il sistema peró ci si accorge che non é cosı́
semplice da utilizzare come presentato nella documentazione ufficiale e, provare ad
installarlo in un sistema relativamente recente, é quasi impossibile. Come si é giá
detto il software in questione era giá stato provato presso l’azienda sanitaria di Ancona nel 2006 e i problemi riscontrati dal personale sanitario, coinvolto nell’utilizzo,
sono stati un ottimo punto di partenza per concentrare l’attenzione, durante la fase di analisi, su aspetti molto pratici che sono risultati i piú importanti al fine di
determinare un vincitore.
11
2 – Software per l’ambito sanitario
2.3.1
Problemi riscontrati
I problemi riscontrati utilizzando questo programma si possono dividere in tre gruppi, il primo problema riguarda il sottosistema su cui si installa il software vero e
proprio, si tratta, in altre parole, del server web su cui va eseguito il Care2X. Questo server é molto datato e non piú disponibile nei siti ufficiali di distribuzione in
quanto sono necessari il pre-processore di linguaggio PHP versione ≤ 4.3.4, ed il
DBMS MySQL versione ≤ 4.0.x insieme ad Apache utilizzabile in qualsiasi versione.
Il guaio é che sia i sorgenti che i pacchetti pre-compilati per le diverse distribuzioni
GNU/Linux, non sono piú supportati dalla comunitá, per quel che concerne il PHP,
né dalla Sun Microsystems, proprietaria del marchio MySQL, né sono reperibili nei
canali tradizionali come i siti dei progetti o i repository delle distribuzioni, il che
equivale a dire che ormai sono obsoleti ed inutilizzabili. Il secondo problema é strettamente legato al precedente e forse ne spiega il motivo dato che ci si riferisce alla
comunitá di sviluppo del programma bloccata da oltre un anno, per quanto riguarda
l’aggiornamento della release stabile disponibile per il download, ben oltre per quanto riguarda le news pubblicate sul sito. In questa situazione é forte la sensazione
che ci sia qualche problema all’interno, dato che le tappe dello sviluppo non sono
state raggiunte definitivamente ed in molti si attendono un upgrade ad un ambiente
LAMP piú aggiornato.
In ultimo si presentano le osservazioni fatte utilizzando il prodotto in prima persona. Delle difficoltá in fase di installazione si é giá accennato e si rimanda alle
tabelle successive (dalla tabella 2.8 in poi) che contengono una sintesi delle 5 prove
svolte con i relativi dettagli. Le altre difficoltá sono legate all’utilizzo, come si puó
vedere negli screenshots raccolti nell’appendice D, si riferiscono alla possibilitá di
personalizzare l’interfaccia grafica del prodotto e alla usabilitá. La personalizzazione
possibile é male organizzata perché in ogni sezione si ha la possibilitá di cambiare
dei parametri, non c’é un unico strumento (vedi shots: D.2, D.7, D.13, D.14) per le
modifiche che sono comunque vincolate al template classico originale; per modificare
il template si deve possedere un ottima conoscenza del linguaggio PHP oltre che del
CSS, dato che i template e gli stili sono gestiti da un sottosistema che prende il nome
di Smarty Template Engine 6 . A livello grafico si é giunti alla stessa conclusione che
6
www.smarty.net
É un progetto sviluppato in php integrabile in qualsiasi portale, realizzato con lo stesso linguaggio,
12
2 – Software per l’ambito sanitario
aveva spinto l’azienda sanitaria di Ancona ad abbandonare il progetto di utilizzo,
data la complessitá del prodotto l’interfaccia grafica é inadeguata, oscura, disomogenea e complicata, in un’unica parola inutilizzabile.
A fronte di quanto detto si é stabilito che il progetto Care2X fosse temporaneamente
accantonato in attesa di un aggiornamento o, comunque, di un confronto con le altre
proposte ritrovate in rete per cercare innanzitutto di portare aiuto in Africa dove
una soluzione simile sarebbe risultata eccessiva, complicata ed inadeguata.
Care2X installazioni, problemi e soluzioni
Prerequisiti Apache 1.x, PHP (4.0.4p11 − 4.3.4), MySQL
(3.2x−4.0.x), Realizzato uno script per la shell che
verifica l’installazione e funzionamento di questo
ambiente, vedi appendice A.
Tabella 2.3.
Sistema
Errori
Soluzione
Risultato
Prerequisiti all’installazione del software Care2X
1a installazione
Kubuntu 8.04 amd64 desktop.
L’ambiente
LAMP viene installato dai repository attraverso
il Synaptic Package manager.
I repository ufficiali della distro contengono il
LAMP aggiornato all’ultima versione, non adatto
al Care2X
Installazione, nell’ordine, di PHP4 e MySQL4, dai
repository di Ubuntu 6.10, a seguire Apache 1.3.34
dai repository Ubuntu 7.04.
Il software funziona correttamente
Tabella 2.4.
1a Prova di installazione del software Care2X
allo scopo di separare il livello codice dal livello grafico semplificando il lavoro ad entrambe le parti.
13
2 – Software per l’ambito sanitario
Sistema
Errori
Soluzione
Risultato
2a installazione
Kubuntu 8.04 amd64 desktop. Installato, sul sistema della prima prova, il DBMS PostgreSQL da
sorgenti.
La routine automatina di installazione del Care2X non porta a compimento l’installazione con
PostgreS.
Si passa all’utilizzo della distribuzione Kubuntu
8.04 i386 desktop.
Saltuari errori durante il salvataggio dei permessi
avanzati per utenti. Con un riavvio del server il
problema scompare (bug).
Tabella 2.5.
Sistema
Errori
Soluzione
Risultato
3a installazione
Kubuntu 8.04 i386 desktop. Installazione dell’ambiente LAMP da sorgenti alla versione richiesta, tranne che per il MySQL, sorgenti introvabili,
utilizzata versione 4.1
La routine automatica del Care2X si interrompe
durante la verifica.
Utilizzati sorgenti recuperati da un server non
ufficiale alla versione 4.0.13.
Come per la prova precedente.
Tabella 2.6.
Sistema
Errori
Risultato
2a Prova di installazione del software Care2X
3a Prova di installazione del software Care2X
4a installazione
Kubuntu 8.04 i386 desktop.
Installazione
da sorgenti dell’ambiente Apache 2, PHP 4,
MySQL4.0.13
Nessuno in fase d’installazione.
Come per la prova precedente.
Tabella 2.7.
4a Prova di installazione del software Care2X
14
2 – Software per l’ambito sanitario
Sistema
Errori
Risultato
5a installazione
Kubuntu 8.04 i386 desktop. Installazione da sorgenti dell’ambiente Apache 2, PHP 4, PostgreSQL
8.0
Nessuno in fase d’installazione.
Come per la prova precedente.
Tabella 2.8.
2.4
5a Prova di installazione del software Care2X
Altri Software
I software rimanenti sono presentati in maniera meno dettagliata rispetto al precedente, si parte da una presentazione del progetto, descrivendo alcune delle caratteristiche principali e sottolineando, se ci sono, degli aspetti di notevole importanza;
fino ad una breve descrizione dell’installazione evidenziando quali sono gli aspetti
piú significativi.
Come per il precedente, tutte le immagini sono state raccolte nell’appendice E.
2.4.1
FreeMed
http://www.freemedsoftware.org/
FreeMed é un software appartenente alla classe EMR, specificamente progettato per
gestire una cartella clinica individuale e le procedure sanitarie collegate ad essa.
Attualmente é alla versione stable: 0.8.4 e la comunitá sembra sia attiva ed al
lavoro verso una nuova versione, come si puó vedere dalle statistiche generate da
Sourceforge.net dove é ospitato il download.
Il progetto é sviluppato nei linguaggi JavaScript, Perl e PHP, mentre per il database il sistema preferito é il MySQL. La documentazione presente sul sito é decisamente scarsa ed indirizzata soltanto agli utilizzatori, quindi le specifiche tecniche
vanno recuperate guardando i sorgenti o contattando direttamente i manutentori.
Per quanto riguarda l’installazione si deve dire che esiste un live cd, distribuito sempre attraverso Sourceforge.net, attraverso il quale é possibile valutare potenzialitá e
15
2 – Software per l’ambito sanitario
difetti del software, in ogni caso l’installazione non é complicata dato che puó essere
installato su un ambiente LAMP di ultima generazione e predispone un file di configurazione, scritto in PHP, con il quale vengono installati il database e configurata
la connessione. In pratica una volta scompattati i sorgenti all’interno della cartella
pubblica del nostro server, si procede a modificare il file settings.php nella directory freemed/lib/. Una volta settati i parametri per la connessione al database
ed il path del progetto, come descritto quı́ di seguito, si deve aggiornare il file di
configurazione del PHP, cambiando i limiti di memoria da 8MB portandoli a 64MB o
200MB. Modifica delle seguenti righe nel file settings.php:
define
define
define
define
define
define
2.4.2
(’INSTALLATION’, "Stock FreeMED Install"); // installation name
(’DB_HOST’, "localhost"); // database (SQL) host location
(’DB_NAME’, "freemed"); // database name
(’DB_USER’, "root"); // SQL server username
(’DB_PASSWORD’, ""); // SQL server password
(’PHYSICAL_LOCATION’, "/var/www/htdocs/freemed");
GnuMed
http://wiki.gnumed.de/bin/view/Gnumed
GNUMed é un’applicazione Open Source per la gestione di dati medici, appartiene
alla classe EMR. L’applicazione nasce in Germania, é scritta in Python e distribuita
con licenza Gpl. Lo stato del progetto é abbastanza avanzato, anche se il software é ben lontano dalla maturitá e numerose funzioni interessanti aspettano uno
sviluppatore. L’architettura prevede un vero database e per il momento supporta
PostgreSQL.
Il software in questione fa parte del progetto Savannah 7 della GNU. I software per
entrare a far parte di questo progetto devono rispondere a molti requisiti perché
i visitatori possano trovare prodotti liberi e di qualitá. Lo stesso Savannah offre
anche un servizio di assistenza e raccoglie le segnalazioni di bug.
GNUMed puó girare su diversi sistemi operativi (GNU/Linux, Apple’s MacOSX e
MS Windows) e l’installazione é molto semplice anche per utenti Linux perché é
disponibile un pacchetto .deb nei repository supportati dalla comunitá, quelli che
7
http://savannah.gnu.org
16
2 – Software per l’ambito sanitario
sono etichettati come universe, contenente il client che puó essere provato e fatto
funzionare collegandosi ad un database pubblico, completamente funzionante. Per
quanto riguarda il lato server, a differenza dei sistemi web based, non ha bisogno di
un’applicazione specifica, ma soltanto del database per la condivisione dei dati; l’installazione di quest’ultimo é anch’essa molto semplice dato che nel sito del progetto
sono disponibili script per l’installazione per le diverse distribuzioni Linux, oltre alle
istruzioni per svolgere tutto manualmente.
2.4.3
OpenMRS
http://openmrs.org/wiki/OpenMRS
OpenMRS é un software Open-Source della classe EMR sviluppato da una comunitá
che ha il principale intento di sostenere i paesi in via di sviluppo dal punto di vista
informatico sanitario, specialmente dove HIV/AIDS, tubercolosi e malaria affliggono
l’esistenza di milioni di persone. Il programma é realizzato utilizzando il linguaggio
Java e si appoggia su un database MySQL, fa largo uso di form caricabili all’interno
del sistema stesso ma questi sono realizzati con il software MS Office InfoPath.
Sul sito del progetto, molto curato tranne che per la documentazione che risulta
ancora in fase di sviluppo, si trovano tantissime informazioni riguardanti il progetto,
la comunitá ed anche dati tecnici per sviluppatori e tester. Per quel che riguarda
l’installazione tutta la documentazione fa riferimento a sistemi MS Windows, dato
che prevede l’integrazione con i prodotti MS Office. Utilizza un server Tomcat,
derivato da Apache, per eseguire il codice Java da server ed é predisposto un file
.sql per l’installazione del database direttamente da query browser MySQL o qualsiasi
altra interfaccia.
2.4.4
Open Infrastructure for Outcomes - OIO
http://http://www.txoutcome.org/
Quest’applicazione web appartiene alla categoria EMR ed é pensata per permettere
a quanti non conoscono i linguaggi di programmazione e formattazione del testo, di
creare record e documenti flessibili e portabili riguardanti dati di pazienti e ricerche.
Il sistema infatti si sviluppa a partire da due componenti fondamentali, il server
OIO e la libreria OIO. Il server é altamente flessibile ed ha la funzione di gestore
17
2 – Software per l’ambito sanitario
delle informazioni-documenti, indipendentemente dal tipo delle stesse, mentre la libreria é lo strumento dove queste vengono salvate, un contenitore di metadati, come
viene definito dagli stessi sviluppatori, per facilitare lo scambio e la disponibilitá dei
contenuti.
La comunitá alle spalle sembra importante, perché coinvolge universitá ed altri gruppi Open Source, come si legge nella presentazione del prodotto, ed anche la documentazione é molto dettagliata, tranne nelle specifiche tecniche. Quello che lascia
un po’ riflettere é che l’ultimo aggiornamento alla versione stabile risale al 2005 e
non ci sono discussioni aperte di recente sul forum, probabilmente perché il prodotto
ha raggiunto una maturitá tale da ritenere gli sviluppatori soddisfatti.
Per quanto riguarda l’installazione del sistema completo si puó dire che la documentazione a supporto sia dettagliata tanto da renderla possibile anche a chi non
dovesse essere esperto di sistemi server, il punto in questione é che viene utilizzata
un’applicazione, dal nome Zope 8 , che realizza il server OIO e si occupa della comunicazione ed interazione con il database PostgreSQL, soltanto che la configurazione
ottimale richiede numerosi passaggi manuali, come giá detto spiegati nel dettaglio
all’interno della documentazione; altrimenti é possibile utilizzare una distribuzione
live basata su Knoppix 9 che ha al proprio interno una routine per l’installazione del
sistema completo.
2.4.5
OpenClinic
http://openclinic.sourceforge.net/
OpenClinic é un software della classe EMR molto semplice ed essenziale, pensato
per essere un gestore di informazioni ed infatti le sue funzioni non vanno oltre questi
scopi. La comunitá alle spalle sembra inesistente, a parte lo sviluppatore, e l’ultima
versione completa, resa disponibile, risale al dicembre 2004. L’interesse suscitato
da questo prodotto riguarda la semplicitá con cui é realizzata la grafica, come si
puó vedere dagli screenshots riportati nell’appendice E, anche se alcune soluzioni
non sono sembrate le piú adatte, ma per questo si rimanda alla sezione di analisi
(sez.3.3.8).
8
9
http://www.zope.org/WhatIsZope
http://www.knoppix.org/
18
2 – Software per l’ambito sanitario
L’installazione é molto semplice e supportata da una breve guida, comunque sufficiente, presente sul sito del progetto. Una volta installato Apache web-server ed il
PHP con i moduli per il collegamento al DBMS, MySQL, va creato il database vero
e proprio e quindi le tabelle usate da OpenClinic, ma per quest’ultimo passo della
procedura é presente uno script, applicazione che automatizza la procedura. A questo punto non resta che settare i giusti permessi di lettura e scrittura per i file del
programma all’interno della cartella pubblica di Apache e collegarsi tramite browser.
2.4.6
OpenEMR
http://www.oemr.org//
Il software OpenEMR appartiene alla classe HIS, anche se non permette di gestire
nel dettaglio una struttura sanitaria, nel senso che non possiede una funzione di
organizzazione dei turni del personale o i dettagli dei reparti in cui si suddivide,
ma é molto di piú di un software per la gestione di cartelle cliniche elettroniche. In
particolare si puó dire che oltre alla gestione dei dati personali e clinici ha un sistema
di organizzazione degli appuntamenti, di gestione delle prescrizioni e procedure come
possono essere esami e test, oltre a questo, che esula dallo scopo sanitario, ha anche
la possibilitá di gestire la fatturazione, secondo il sistema anglosassone, ed i dati
relativi.
La comunitá alle spalle é viva, e l’ultimo aggiornamento al sistema completo risale ad
agosto scorso. Per quanto riguarda i dettagli tecnici e l’installazione, si é notato che
i documenti prodotti sul web, all’interno del sito stesso o comunque collegati ad esso,
sono molti ed esaustivi in merito alle procedure di installazione, mentre i dettagli
tecnici specifici, per esempio riguardo il database, non sono molto approfonditi.
Ritornando all’installazione, vengono messe a disposizione degli utenti delle guide
passo-passo relative alla distribuzione GNU/Linux adottata, che si rivelano lunghe
ed incomprensibili, ma ottime e che conducono al perfetto set-up del server.
2.4.7
OpenHospital
http://www.informaticisenzafrontiere.org/viewprog.php?id=1
Il presente programma é un’applicazione Java che viene inserita nella categoria
19
2 – Software per l’ambito sanitario
EMR, é sviluppato da un’associazione no-profit, italiana, chiamata “informatici senza frontiere”, che, con la collaborazione di enti statali e coinvolgendo le scuole, realizza progetti di sostegno e sviluppo dedicati ad istituti sanitari, scuole, associazioni,
carceri. . . ovunque nel mondo, dove ce ne sia il bisogno.
Il programma é molto semplice ed essendo prodotto in Java ha il vantaggio di servirsi di un server solo per alloggiare il database, MySQL in questo caso, e non ha bisogno
di installazioni e risoluzione di dipendenze; d’altro canto peró la grafica swing 10 e
la necessitá di dover portare fisicamente su ogni macchina gli aggiornamenti o la
soluzione di problemi, ne fanno una soluzione scomoda.
10
Librerie Java che realizzano l’interfaccia grafica.
20
Capitolo 3
La scelta
A fronte della varietá delle alternative presentate nel paragrafo precedente (sez. 2.2)
si rende evidente la necessitá di affrontare una scelta oggettiva su quale sia la migliore
soluzione per far fronte alle esigenze africane. Come si é diffusamente spiegato
nell’introduzione l’aspetto di maggior interesse, riguardo la scelta, é l’usabilitá, ma
nella sperimentazione ed analisi si é seguita una procedura standardizzata in cui si
é tenuto conto di diversi fattori. Nelle seguenti sezioni si presentano le procedure e
gli schemi utilizzati fino al compimento della valutazione.
3.1
Definizione dei criteri di sperimentazione ed
analisi
Il procedimento che si é seguito per valutare i diversi prodotti scelti (pensato ed
organizzato con la supervisione del tutor aziendale) é stato strutturato in due fasi,
la prima dedicata alla conoscenza con il prodotto - sperimentazione e la seconda
volta all’ analisi - valutazione.
La fase di conoscenza - sperimentazione é stata svolta in maniera graduale, nel
senso che si é partiti studiando la documentazione e leggendo le recensioni trovate
all’interno dei canali informativi sul web1 , passando poi all’utilizzo fino a giungere
alla sperimentazione, una prova di funzionamento reale “simulata: cioé si é finto di
gestire un struttura clinica, compiendo le normali procedure mediche e burocratiche,
1
www.wikipedia.com, www.debian.org/debian-med
21
3 – La scelta
testando il funzionamento di ogni singola parte, provando l’efficenza e la sicurezza.
Con questo sistema si é ottenuta una migliore e profonda conoscenza delle reali capacitá e limiti di ogni prodotto.
La fase di analisi - valutazione é stata complicata dal fatto che la maggior parte
delle proposte non si differenziano, né dal punto di vista tecnico né da quello grafico
e di utilizzo. In ogni modo grazie alla stesura di uno schema di valutazione rigoroso
si é semplificato molto il processo e si sono ottenuti risultati soddisfacenti, che rispecchiano la realtá dei fatti.
Di seguito sono elencati e spiegati i criteri utilizzati nella valutazione, per ognuno é
specificato a quale classe é stato associato, nella compilazione dei voti: ció sottolinea la differenza che intercorre tra le due classi, spiegata nel capitolo 2. Gli stessi
criteri sono stati organizzati in un documento OpenOffice - Calc 2 per effettuare la
valutazione ed i calcoli conclusivi presentati (sez. 3.4) sotto forma di grafici.
Il punteggio associato ad ogni singola voce della scheda di valutazione va da un
minimo di 0 ad un massimo di 3 punti.
3.1.1
Criteri tecnologici
Valutazione delle scelte di progettazione, programmazione e realizzazione.
In questa sezione si analizza che tipo di software é stato prodotto e quali paradigmi
sono stati seguiti, quale struttura é stata data e quali piattaforme é possibile utilizzare, privilegiando l’Open Source e le grandi comunitá alla base del progetto. In
questo senso prodotti che sfruttano software proprietari per il loro funzionamento
sono stati scartati a priori o penalizzati nel punteggio.
Open-Source e community
Vengono presi in esame solo i software il cui codice non é proprietario, la valutazione
prende in considerazione anche l’attivitá e vitalitá della comunitá di sviluppo alle
spalle.
Valutato per le classi: HIS – EMR.
2
L’equivalente Open Source del piú noto Microsoft Excel
22
3 – La scelta
Paradigma di progetto
Viene valutato se il software funziona in locale o se risiede su un server web, se ha
una logica di progetto client-server, se lo si utilizza con il browser web, soluzione
preferita, o possiede un’applicazione client.
Punteggio: 1→Software locale;
2→Paradigma client-server che non utilizza il browser web;
3→Paradigma client-server che utilizza il browser web.
Valutato per le classi: HIS – EMR.
Database
Vengono valutati diversi aspetti, dal numero delle tabelle presenti in relazione alle
funzioni messe a disposizione, al sistema di gestione utilizzato.
Punteggio:
0→Database non piú supportato dalle comunitá o societá
(ad esempio il MySQL versione ≤ 4.0.x);
1-3→In base al numero di tabelle e ridondanza delle
informazioni salvate.
Valutato per le classi: HIS – EMR.
Installazione
Viene valutata la facilitá di installazione del sistema completo, seguendo la documentazione ufficilale messa a disposizione dai manutentori del progetto.
Punteggio: 1→scarsa documentazione, elevato numero di dipendenze
da altri software complicazione elevata della procedura;
2→complessitá della procedura ma buona documentazione;
3→ottima documentazione ed elevata facilitá, oppure
disponibilitá di pacchetti precompilati.
Valutato per le classi: HIS – EMR.
Personalizzazione
Viene valutata la facilitá con cui é possibile personalizzare il programma sia da un
punto di vista grafico che funzionale.
23
3 – La scelta
Punteggio:
1→Scarsa e relativa solo ad alcuni aspetti tipo possibilitá
di scelta dei template ma nessuno disponibile oppure
possibilitá di scegliere quali funzioni rendere visibili o
meno;
2→Personalizzazione disponibile per diverse funzioni ma
non completa;
3→Possibilitá di personalizzare tutto il sistema.
Valutato per le classi: HIS – EMR.
Integrazione
Viene valutato se il programma prevede l’integrazione con altri software, la facilitá
con cui si realizzano queste funzioni e con che tipo di software.
Punteggio: 0-1→Nulla o solo per file di sistema;
2-3→Permette upload di file esterni, differenza in base
all’organizzazione degli stessi.
Valutato per le classi: HIS – EMR.
Sicurezza
Viene valutato se il software utilizza delle tecnologie per rendere sicuri i dati e le
comunicazioni, ad esempio password criptate e protocolli di comunicazione sicuri.
Punteggio: 1→Nulla;
2→Password criptate;
3→Password criptate e protocollo SSL.
Valutato per le classi: HIS – EMR.
Riservatezza
Viene valutato se il software rispetta eventuali normative sulla privacy o se le informazioni sono chiare ed accessibili a chiunque.
24
3 – La scelta
Punteggio:
0-1→Accesso con password e database visibile completamente;
2→Accesso con password e permessi avanzati di accesso alle
sezioni, ma completa visibilitá del database;
3→Accesso con password, permessi avanzati e visibilitá dei
soli dati di interesse.
Valutato per le classi: HIS – EMR.
3.1.2
Criteri Funzionali
Analisi della varietá di funzioni implementate ed organizzazione delle stesse.
In questa sezione si cerca di capire se il software fornisce le funzioni di base per
gestire le relazioni medico-paziente e la storia sanitaria degli individui.
Gestione struttura
Viene valutato in che modo e quanto dettagliatamente é possibile rappresentare la
struttura dell’ospedale o clinica all’interno del sistema software.
Punteggio: 0-2→Funzionalitá limitata;
3→Funzionalitá supportata in pieno.
Valutato per la classe: HIS.
Gestione accessi
Viene valutato se l’accesso al sistema é protetto oppure no, quindi se é possibile
tenere traccia di quanti interagiscono con esso.
Punteggio: 0→Funzionalitá non supportata;
3→Funzionalitá supportata in pieno.
Valutato per le classi: HIS – EMR.
25
3 – La scelta
Gestione privilegi
Viene valutato se ed in che modo vengono distribuite le credenziali di accesso alle
varie sezioni del software, in particolare se viene fatta una distinzione degli utenti
attraverso permessi di lettura, scrittura e modifica, articolata secondo l’organizzazione della struttura sanitaria rappresentata.
Punteggio: 0→Funzionalitá non supportata;
3→Funzionalitá supportata in pieno.
Valutato per la classe: HIS.
Database medico
Viene valutato se ed in che modo é implementato un database medico, concernente
le valutazioni, le diagnosi e le terapie. In questa sezione é stato attribuito il massimo punteggio a quei software che utilizzano la codifica ICD 3 , in quanto essendo
riconosciuta a livello internazionale ed essendo completamente gratuito e disponibile
é sembrata la scelta piú ovvia e consona.
Punteggio:
0→Funzionalitá non supportata;
1-2→Funzionalitá supportata in parte con ultilizzo di altre
soluzioni tipo tabella testuale nel database;
3→Funzionalitá supportata in pieno ed utilizzando un
database standardizzato come l’ICD.
Valutato per le classi: HIS – EMR.
Database farmaceutico
Viene valutato se é disponibile un database farmaceutico, in questo caso non esistendo uno standard internazionale sono stati privilegiati quei sistemi che sono provvisti
di uno giá parzialmente compilato.
3
La classificazione ICD (dell’inglese International Classification of Diseases)é la classificazione
internazionale delle malattie e dei problemi correlati, stilata dall’Organizzazione Mondiale della
Sanitá (OMS).
26
3 – La scelta
Punteggio:
0→Funzionalitá non supportata;
2→Funzionalitá supportata in parte con ultilizzo di altre
soluzioni tipo tabella testuale nel database;
3→Funzionalitá supportata in pieno.
Valutato per le classi: HIS – EMR.
Statistica
Vengono valutate le varietá di funzioni che generano report ed in che modo sono
implementate, se con procedura guidata o con query SQL al database.
Punteggio: 0→Funzioni di estrazione report non predisposte;
2→Funzioni predisposte in parte o con errori;
3→Funzioni predisposte in maniera completa.
Valutato per le classi: HIS – EMR.
Cartella clinica elettronica
Viene valutato il metodo di memorizzazione delle informazioni sanitarie, la loro organizzazione e facilitá di lettura. É la parte centrale del software, la varietá di funzioni
e la semplicitá di utilizzo sono fondamentali perché un sistema sia adottabile in ambienti “particolari”. Ovviamente si prende in considerazione questa caratteristica
solo per la classe HIS dato che rappresenta il sottosistema EMR di questi software
(vedi sez. 2.1); per la classe EMR vale la considerazione che l’analisi nel suo complesso e tutte le valutazioni tengono conto di quanto detto riguardo la semplicitá.
Punteggio: 1→Incompleta;
2→Non completa o di difficile utilizzo;
3→Completa e di utilizzo immediato.
Valutato per la classe: HIS.
3.1.3
Criteri di Usabilitá
Verifica della semplicitá di utilizzo e della documentazione esistente.
27
3 – La scelta
In questa sezione si valuta come sono state organizzate, nella user-interface, le funzioni predisposte, privilegiando le semplicitá di raggiungimento dello scopo rispetto
alla qualitá grafica in senso stretto.
Accessibilitá
Viene valutata l’organizzazione delle funzioni, se siano facilmente raggiungibili, se
esistano percorsi univoci per raggiungere uno scopo o se si generi confusione nell’utilizzatore a fronte di una distribuzione scriteriata di menú e pulsanti.
Punteggio: 1→Funzioni raggiungibili attraverso diversi percorsi ed
organizzate in molti menú;
2→Molte funzioni organizzate in maniera confusa;
3→Tutte le funzioni sono raggiungibili univocamente
tramite il menú.
Valutato per le classi: HIS – EMR.
User Interface
Viene valutata la presentazione di dati e funzioni, in particolare sono stati privilegiati sistemi che presentano un unico menú ed i dati sono organizzati in maniera
chiara e leggibile, a scapito di colori ed immagini che non sono significativi allo scopo
di quest’analisi.
Punteggio: 1→Disomogeneitá nella rappresentazione degli elementi
grafici e schemi di colore contrastanti;
2→Alcune scelte non condivisibili nella scelta degli elementi
grafici;
3→Interfaccia grafica semplice, funzionale e classica.
Valutato per le classi: HIS – EMR.
Documentazione
Viene valutata la completezza e chiarezza delle guide relative ai programmi, specialmente per quanto riguarda installazione e messa a punto iniziale.
28
3 – La scelta
Punteggio:
0-1→Inesistente, scarsa o in fase di sviluppo;
2→Completa ma con alcune lacune;
3→Completa ed efficace.
Valutato per le classi: HIS – EMR.
29
3 – La scelta
3.2
Schema di valutazione
Le immagini 3.1 e 3.2 rappresentano lo schema base del documento OpenOffice Calc utilizzato per effettuare la valutazione, si noti il differente numero di record
nella sezione FUNZIONALI, come precisato nella introduzione alla definizione dei
criteri (sez. 3.1).
Figura 3.1. Schema della tabella per la valutazione dei software appartenenti alla classe EMR
30
3 – La scelta
Figura 3.2. Schema della tabella per la valutazione dei software appartenenti alla classe HIS
31
3 – La scelta
3.3
Sperimentazione ed Analisi sul software: risultati della valutazione
Lo schema di valutazione appena presentato si é utilizzato per valutare tutti i software elencati nella sezione 2.2, per poter confrontare i punteggi ottenuti e scegliere
quello che maggiormente risponde alle specifiche presentate nell’introduzione.
Di seguito sono elencati in forma di tabelle le valutazioni ed i commenti che poi
verranno confrontati nella sezione seguente 3.4.
32
3 – La scelta
3.3.1
Valutazione Care2X - HIS
Criteri
TECNOLOGICI
Open-Source e Community
Giudizio
Dettagli
1
Paradigmi di progetto
2
Database
1
Installazione
2
Personalizzazione
1
Integrazione
Sicurezza
1
2
Riservatezza
2
Aggiornamenti non costanti e significativi, ultima
release risalente al 2007/12/01.
Paradigma client-server basato sul web, sviluppato
utilizzando codice php versione 4.
Complesso, ridondante per alcuni aspetti e carente
in altri, implementato con MySQL 4.0.x, non piú
supportato dalla Sun Microsystem.
La complessitá risiede nel fatto che necessitá di
software obsoleti.
Permette di scegliere quali funzioni visualizzare e
cosa nascondere, ma modificare la smarty template, programmata in php, per modificare i temi e la
grafica risulta difficile.
Nulla.
Non utilizza protocolli di comunicazione sicuri,
soltanto password criptate.
Gestisce accessi privilegiati ma informazioni visibili
a tutti.
FUNZIONALI
Gestione struttura
Gestione accessi
Gestione privilegi
Database medico
3
3
3
3
Database farmaceutico
Statistica
2
1
Cartella clinica elettronica
2
USABILITÁ
Accessibilitá
1
User Interface
1
Documentazione
2
TOTALE
33
MEDIA
1,83
Tabella 3.1.
Funzionalitá supportata in pieno.
Funzionalitá supportata in pieno.
Funzionalitá supportata in pieno.
Utilizza il database ICD 10, dando la possibilitá di
scegliere la lingua da installare.
Predisposto ma da compilare.
Non mette a disposizione funzioni, unica soluzione
é interagire direttamente col database.
Completa ma di difficile utilizzo.
Le funzioni possono essere raggiunte seguendo
diversi percorsi.
Non c’é uniformitá di rappresentazione grafica tra
le varie sezioni.
Dettagliata ma non esaustiva.
Care2X: risultati della valutazione
33
3 – La scelta
3.3.2
Valutazione OpenEMR - HIS
Criteri
TECNOLOGICI
Open-Source e Community
Paradigmi di progetto
Giudizio
Dettagli
2
3
Database
Installazione
2
2
Personalizzazione
1
Integrazione
2
Sicurezza
Riservatezza
3
1
Ristretta comunitá di sviluppatori.
Paradigma client-server basato sul web, implementato in php.
Ben strutturato, utilizza il MySQL DBMS.
Non semplice ma dispone di una buona documentazione a supporto.
Possibile solo a livello di codice, utilizza la smarty
template del php.
Permette di fare l’upload sul server di file relativi ai
pazienti che possono poi essere scaricati ed utilizzati
nella macchina client.
Possibilitá di integrazione del protocollo SSL.
Gestisce gli accessi riservati ma non gestisce in alcun
modo la privacy.
FUNZIONALI
Gestione struttura
2
Gestione accessi
Gestione privilegi
3
1
Database medico
1
Database farmaceutico
Statistica
1
3
Cartella clinica elettronica
2
USABILITÁ
Accessibilitá
2
User Interface
Documentazione
1
2
TOTALE
34
MEDIA
1,89
Tabella 3.2.
Funzionalitá supportata in parte perché permette di
definire le diverse sedi della struttura ma l’organizzazione interna va descritta in senso lato, dato che
alcuni parametri vanno ripetuti (indirizzo, telefono
. . . ).
Funzionalitá supportata in pieno.
Gestisce solo la differenza tra utente privilegiato (amministratore) e non (medico, infermiere o
impiegato, dati inseribili tra le note).
Da compilare attraverso delle form, prevede la possibilitá di inserire i relativi codici della classificazione
ICD.
Utilizza lo stesso db medico compilato dall’utente.
Permette di stampare statistiche per un singolo individuo o di creare report generici attraverso delle
form predisposte.
Completa ma di difficile utilizzo.
Il menú é di difficile comprensione ma le funzioni
sono tutte facilmente raggiungibili tramite lo stesso.
La grafica risulta confusa e di difficile comprensione.
Dettagliata ma non esaustiva.
OpenEMR: risultati della valutazione
34
3 – La scelta
3.3.3
Valutazione OpenHospital - HIS
Criteri
TECNOLOGICI
Open-Source e Community
Giudizio
Dettagli
3
Paradigmi di progetto
2
Database
Installazione
2
3
Personalizzazione
1
Integrazione
0
Sicurezza
0
Riservatezza
0
Sviluppato dalla organizzazione no-profit informatici senza frontiere in collaborazione con enti pubblici
ed un istituto di istruzione superiore italiano.
Paradigma client - server che sfrutta un’apllicazione
Java come client remoto.
Essenziale, manca la documentazione a riguardo.
Semplice, sono disponibili le classi Java o i file binari
per il client, sul server viene caricato soltanto il db.
Non sono disponibili funzioni per modificare la visualizzazione dei dati o l’utilizzo del sistema, l’unica
possibilitá é di modificare i sorgenti.
Non permette l’upload di file esterni e non utilizza
altri software per aumentare le proprie funzionalitá.
Non gestisce gli accessi privilegiati ne é presente documentazione rigurdante l’implementazione di
protocolli di sicurezza.
Non gestisce alcun tipo di privacy.
FUNZIONALI
Gestione struttura
1
Gestione accessi
Gestione privilegi
Database medico
0
0
1
Database farmaceutico
Statistica
1
2
Cartella clinica elettronica
2
USABILITÁ
Accessibilitá
3
User Interface
2
Documentazione
2
TOTALE
25
MEDIA
1,39
Tabella 3.3.
Permette di definire nel db quali sono i reparti ma
non si riflette in una differenziazione delle funzioni
e della struttura del software.
Funzionalitá non implementata.
Funzionalitá non implementata.
Va inserito manualmente, composto di campi di
testo, probabilmente é possibile inserire la codifica ICD ma manca totalmente la documentazione a
riguardo.
Come per quello medico.
La funzione statistica mette a disposizione diversi
report preimpostati.
Molto semplice e con poche funzionalitá ma di
utilizzo immediato.
Le funzioni sono abbastanza articolate all’interno
del menú che peró é ben organizzato e di facile
utilizzo.
Utilizza finestre multiple che rendono l’utilizzo complicato ed i dati sono presentati in tabelle molto
scarne.
In fase di sviluppo, presenta solo una descrizione
delle funzioni.
OpenHospital: risultati della valutazione
35
3 – La scelta
3.3.4
Valutazione FreeMed - EMR
Criteri
TECNOLOGICI
Open-Source e Community
Giudizio
Dettagli
2
Paradigmi di progetto
3
Database
2
Installazione
2
Personalizzazione
3
Integrazione
2
Sicurezza
2
Riservatezza
1
Ultima versione pubblicata a maggio del 2007,
comunitá di modeste dimensioni.
Paradigma client - server basato sul web, sviluppato
utilizzando javascript, perl e php.
Manca la documentazione sul sito del progetto,
essenziale.
Esiste un pacchetto .deb, ma manca la documentazione.
Permette di personalizzare la visualizzazione delle funzioni e caratteristiche del programma agendo
direttamente sulle tabelle generate in automatico.
Permette di fare l’upload sul server di file per i pazienti che possono essere scaricati e visualizzati dal
client.
Password criptate ma non c’é documentazione su
altre tecnologie di sicurezza implementate.
Non implementa alcun tipo di riservatezza dei dati,
visibili a chiunque.
FUNZIONALI
Gestione accessi
Database medico
Database farmaceutico
Statistica
3
3
3
3
Funzionalitá supportata in pieno.
Funzionalitá supportata in pieno.
Funzionalitá supportata in pieno.
Mette a disposizione numerose funzioni per creare
report, sia sul singolo paziente che generiche.
USABILITÁ
Accessibilitá
3
User Interface
2,5
Documentazione
1
Le sezioni del software sono tutte raggiungibili dal
menú superiore, le funzioni sono poi organizzate per
tabella che viene generata.
Molto intuitiva ma essendo molte le funzioni e le
informazioni presentate, in alcune parti del sistema,
la lettura risulta complicata.
Decisamente scarsa ed insufficiente.
TOTALE
35,5
MEDIA
2,37
Tabella 3.4.
FreeMed: risultati della valutazione
36
3 – La scelta
3.3.5
Valutazione GnuMed - EMR
Criteri
TECNOLOGICI
Open-Source e Community
Paradigmi di progetto
Giudizio
Dettagli
3
3
Database
Installazione
3
3
Personalizzazione
Integrazione
1
3
Sicurezza
2
Riservatezza
1
Progetto appartenente alla distribuzione Debian.
Paradigma client - server che utilizza una interfaccia grafica basata sulle librerie dello Gnome desktop
enviroment.
Utilizza il PostgreSQL, essenziale.
Pacchetto .deb disponibile per diverse distribuzioni
GNU/Linux, installabile con qualsiasi package manager, per installare il server é disponibile uno script
per la shell sul sito del progetto.
Necessita la conoscenza del linguaggio Python.
Permette l’upload di file relativi ai pazienti, che
possono essere scaricati e visualizzati dal client,
utilizzando software esterni al programma..
Non utilizza protocolli di comunicazione sicuri,
soltanto password criptate.
Gestisce accessi privilegiati ma informazioni visibili
a tutti.
FUNZIONALI
Gestione accessi
Database medico
3
0
Database farmaceutico
Statistica
0
2
USABILITÁ
Accessibilitá
3
User Interface
3
Documentazione
3
TOTALE
33
MEDIA
2,2
Tabella 3.5.
Funzionalitá supportata in pieno.
Non disponibile,diagnosi e valutazioni inseribili con
campo di testo.
Come per quello medico.
É disponibile una funzione per eseguire query al
database, alcune sono preimpostate.
Le funzioni sono organizzate in maniera semplice,
diretta e di immediata comprensione.
L’interfaccia grafica é essenziale e le informazioni
sono presentate in maniera chiara.
All’interno del programma é disponibile un browser
per visualizzare il manuale utente in formato html,
completo, dettaglaito e sempre disponibile.
GnuMed: risultati della valutazione
37
3 – La scelta
3.3.6
Valutazione OpenMRS - EMR
Criteri
TECNOLOGICI
Open-Source e Community
Giudizio
Dettagli
2
Paradigmi di progetto
3
Database
2
Installazione
Personalizzazione
3
3
Integrazione
1
Sicurezza
Riservatezza
3
1
Il client va utilizzato su sistema MS Windows perché
prevede l’integrazione con la suite MS Office.
Paradigma client - server basato sul web, sviluppato
in Java, necessita quindi di un server Tomcat.
Essenziale ma persone ed utenti sono raccolti in
un’unica anagrafica, usa il MySQL DBMS.
Documentazione dettagliata.
Nella sezione amministratore sono disponibili
numerose funzioni per la personalizzazione.
Utilizza il software MS InfoPath della suite MS
Office.
Possibilitá di utilizzo del protocollo SSL.
Nessun tipo di privacy, deriva dalla logica del progetto di creare una comunitá per lo scambio di
informazioni riguardanti i malati di AIDS.
FUNZIONALI
Gestione accessi
Database medico
Database farmaceutico
Statistica
3
1
2
1
Funzionalitá supportata in pieno.
Utilizza un dizionario interno da compilare.
Utilizza lo stesso dizionario medico.
Altamente difficile creare un report personalizzato, usa una descrizione XML e codice Java per
interagire con il db.
USABILITÁ
Accessibilitá
2
User Interface
Documentazione
2
2
Le funzioni sono diverse ma non sono semplicemente
raggiungibili.
Sono utilizzati solo link, non esistono bottoni.
Buona ma ancora in fase di sviluppo.
TOTALE
30
MEDIA
2
Tabella 3.6.
OpenMRS: risultati della valutazione
38
3 – La scelta
3.3.7
Valutazione OIO - Open Infrastructure for Outcomes
- EMR
Criteri
TECNOLOGICI
Open-Source e Community
Giudizio
Dettagli
3
Paradigmi di progetto
2
Database
1
Installazione
1
Personalizzazione
2
Integrazione
1
Sicurezza
Riservatezza
3
2
Comunitá importante, alla quale partecipano
universitá ed altre comunitá come OpenHealt.com.
Paradigma client - server basato sul web, é implementato con php ed utilizza un server Zope per
gestire i moduli di cui é composto.
Permette di scegliere quale utilizzare ma manca la
documentazione a riguardo.
Complicata, necessita di vari software a supporto e
la documentazione é essenziale.
Disponibile in varie lingue, possibilitá di creare form
personalizzate, possibilitá di personalizzare i moduli caricati anche se questo richiede una notevole
conoscenza del server Zope alla base.
Non offre funzioni di upload sul server, utilizza invece file XML per descrivere le form, questi ultimi
invece sono caricabili.
Utilizza il protocollo SSL e password criptate.
Gestisce accessi privilegiati e permessi avanzati
per accesso ai moduli del programma, ma non é
implementata alcun tipo di privacy.
FUNZIONALI
Gestione accessi
Database medico
3
0
Database farmaceutico
Statistica
0
2
USABILITÁ
Accessibilitá
2,5
User Interface
2
Documentazione
3
TOTALE
27,5
MEDIA
1,83
Tabella 3.7.
Funzionalitá supportata in pieno.
Non presente, le informazioni sono salvate come
testo.
Come per quello medico.
Possibilitá di composizione query con procedura
guidata.
Le funzioni, non molte, sono tutte presenti nel menú
orizzontale, facilmente leggibili e raggiungibili.
L’interfaccia utente utilizza dei colori molto
contrastati che facilitano l’enfatizzazione ma la
presentazione dei dati é di difficile lettura.
Molto buona la parte relativa all’utilizzo del
prodotto, piú scarsa quella tecnica.
OIO: risultati della valutazione
39
3 – La scelta
3.3.8
Valutazione OpenClinic - EMR
Criteri
TECNOLOGICI
Open-Source e Community
Giudizio
Dettagli
0
Paradigmi di progetto
2
Database
1
Installazione
3
Personalizzazione
1
Integrazione
1
Sicurezza
Riservatezza
1
1
Ultima versione pubblicata datata 2004, progetto
con un’unico sviluppatore, comunitá inesistente.
Paradigma client - server basato sul web, sviluppato
utilizzando codice php versione 4.
Utilizza MySQL 4.0.x non piú supportato dalla Sun
Microsystem.
Il software é essenziale quindi l’installazione é
semplice e veloce, documentazione efficace a
supporto.
Possibilitá di scelta tra temi preimpostati o di scrivere il proprio. Niente a riguardo di funzioni o
report.
Permette di fare l’upload sul server di documenti
relativi ad un paziente.
Password criptate.
Accessi riservati ma dati visibili a tutti gli
utilizzatori.
FUNZIONALI
Gestione accessi
Database medico
3
0
Database farmaceutico
Statistica
0
0
USABILITÁ
Accessibilitá
2
User Interface
2
Documentazione
1
TOTALE
18
MEDIA
1,2
Tabella 3.8.
Funzionalitá supportata in pieno.
Non predisposto nel db, qualunque diagnosi o
terapia viene inserita e salvata come testo.
Come per il db medico.
Non esistono funzioni a riguardo.
Le funzioni implementate, poche, sono organizzate
in maniera non ottimale.
Non esistono bottoni, ogni funzione va attivata tramite link a parole o frasi, grafica essenziale come
tutto il progetto.
Scarsa, ottimo il documento relativo all’installazione, manca totalmente la descrizione del db, manca
la descrizione delle funzionalitá implementate.
OpenClinic: risultati della valutazione
40
3 – La scelta
3.4
Confronto dei risultati
Al termine dell’analisi si é affrontato il confronto dei risultati per giungere alla scelta
della migliore tra le soluzione valutate. In realtá, durante tutto il periodo di studio
e sperimentazione dei software, si sono messe in relazione le singole caratteristiche
tra diversi prodotti e si é stesa la valutazione tenendo conto di quelle che erano le
differenze di realizzazione, ma anche avendo ben chiaro quello che si stava cercando.
Tutto questo si é tradotto in una valutazione su due livelli, il primo che si definisce
livello generico, e prende in considerazione la graduatoria risultante dal totale dei
punteggi ottenuti nella valutazione; il secondo livello, definito livello specifico, si
riferisce alla graduatoria stilata prendendo in considerazione soltanto i punteggi
ottenuti nelle 3 domande conclusive del test, sull’usabilitá. Si é optato per questa
scelta nel momento in cui ci si é trovati di fronte risutati, a livello generico, molto
omogenei, in cui nessun software potesse essere scelto per la superioritá dimostrata;
in questo modo si é tenuta in maggior considerazione la parte “pubblica, come si
presenta ogni software analizzato, perché, non esistendo grandi differenze a livello
di progetto e tecnologia, si é preferito privilegiare la facilitá di apprendimento ed
utilizzo.
Nel grafico 3.3 relativo alla tabella 3.9, sono elencati i punteggi totalizzati dai singoli
prodotti analizzati, evidenziando la classe di appartenenza. Si noti la presenza di
un punteggio percentuale, calcolato sul massimo ottenibile per la specifica classe: in
questo modo si é ottenuto un criterio di paragone, indipendente dalla famiglia, per
i risultati e per la compilazione della graduatoria finale.
41
3 – La scelta
Nome
Totale
Media
OpenEMR
Care2x
OpenHospital
34 pt.
33 pt.
25 pt.
1,89 pt.
1,83 pt.
1,39 pt.
FreeMed
GnuMed
OpenMRS
OIO
OpenClinic
35,5 pt.
33 pt.
30 pt.
27,5 pt.
18 pt.
2,37 pt.
2,2 pt.
2 pt.
1,83 pt.
1,2 pt.
Tabella 3.9.
Percentuale Posizione
HIS – max: 54 pt.
62,96 %
4
61,11 %
5
46,3 %
7
EMR – max: 45 pt.
78,89 %
1
73,33 %
2
66,67 %
3
61,11 %
5
40 %
8
Totale dei punteggi ottenuti nella valutazione, dettaglio per classi
Figura 3.3.
Grafico dei risultati della valutazione completa
Nel grafico 3.4 relativo alla tabella 3.10 sono raccolti e confrontati i punteggi
relativi alla sezione USABILITÁ dello schema di valutazione.
42
3 – La scelta
Nome
OpenEMR
Care2x
OpenHospital
FreeMed
GnuMed
OpenMRS
OIO
OpenClinic
Tabella 3.10.
Figura 3.4.
Accessibilitá
2 pt.
1 pt.
3 pt.
3 pt.
3 pt.
2 pt.
2,5 pt.
2 pt.
U.I.
1 pt.
1 pt.
2 pt.
2,5 pt.
3 pt.
2 pt.
2 pt.
2 pt.
Doc.
2 pt.
2 pt.
2 pt.
1 pt.
3 pt.
2 pt.
3 pt.
1 pt.
Totale
5 pt.
4 pt.
7 pt.
7,5 pt.
9 pt.
6 pt.
7,5 pt.
5 pt.
Posizione
6
8
3
4
1
5
2
6
Totale dei punteggi ottenuti nella sola sezione Usabilitá.
Grafico dei risultati relativi alla sola sezione Usabilitá
Nel grafico 3.5 relativo alla tabella 3.11 e disegnato in maniera inversamente
proporzionale, sono rappresentate le classifiche relative ai risultati precedenti (3.9 e
3.10) e la classifica definitiva con la quale si é scelto il software piú idoneo allo scopo.
43
3 – La scelta
Nome
OpenEMR
Care2x
OpenHospital
FreeMed
GnuMed
OpenMRS
OIO
OpenClinic
Tabella 3.11.
Rank 1
4
5
7
1
2
3
5
8
Rank 2
6
8
3
4
1
5
2
6
Somma
10
13
10
5
3
8
7
14
Classifica
5
7
5
2
1
4
3
8
Calcolo della classifica definitiva dalle graduatorie intermedie
Figura 3.5.
Grafico dei risultati conclusivi
Si rimanda al capitolo seguente per i dettagli della scelta.
44
Capitolo 4
Conclusioni
4.1
La scelta
Nel capitolo precedente si é giunti a stabilire quale tra i software analizzati fosse il
migliore per affrontare il successivo passo del sostegno a strutture sanitarie africane.
Innanzitutto si devono precisare alcune scelte che hanno condotto a queste conclusioni. Giá si é parlato riguardo il confronto tra software appartenenti a due classi
distinte della famiglia dei gestionali (vedi sezione 2.1), ora é necessario spiegare perché ne é stato preferito uno della classe EMR che potrebbe sembrare incompleto e
dalle funzionalitá ridotte.
A tal proposito bisogna sottolineare ancora una volta quello che é il fine ultimo
per cui si é svolto questo studio, ovvero l’aiuto a persone che lavorano in situazioni
svantaggiate, che non possiedono una elevata conoscenza della tecnologia oggi disponibile e soprattutto che hanno altre prioritá rispetto a quest’ultima. A fronte
di ció risulta evidente come la classe EMR, per le proprie caratteristiche, risponda
all’esigenza di semplicitá e facilitá di apprendimento che sono necessarie e sono state
sottolineate piú volte durante i contatti instaurati tra la facoltá, nella persona del
Prof. Dragoni, ed il personale che lavora sul campo.
Inoltre si é immaginato uno scenario in cui questo sia il primo passo di una collaborazione volta alla realizzazione di un sistema ancora piú avanzato e ricco di
funzioni. In questo progetto, presentato nella successiva sezione 4.2, il software
GnuMed rappresenta il sistema di gestione delle relazioni medico-paziente, che si
45
4 – Conclusioni
andrebbe ad affiancare ad una suite di altri software dedicati alla gestione degli altri
servizi medico-clinici. I vantaggi sarebbero notevoli perché il collegamento tra i software sarebbe realizzato esclusivamente da un sistema di gestione di comunicazioni e
scambio dati, permettendo una configurazione di server distribuito e l’indipendenza
dei servizi offerti.
In ultimo si vuole sottolineare un aspetto forse scontato ma molto rilevante, il denaro.
Si pensi a quale sia la portata del progetto: viaggi e soggiorni in Africa di personale tecnico e predisposizione di tutto l’hardware necessario alla realizzazione di un
sistema software distribuito, ma anche manutenzione e risoluzione dei problemi. É
evidente come il software GnuMed sia risultato la scelta piú ovvia data la sua semplicitá di installazione, di predisposizione del lato server e per la grande comunitá
alle spalle che ne garantisce sostegno e sviluppo nel tempo. Tutti aspetti non di
secondaria importanza quando giá le difficoltá geografiche e logistiche impongono
un notevole dispendio di tempo, risorse ed energie.
Al fine di facilitare ulteriormente la fase di installazione e predisposizione iniziale
del sistema si é realizzata una guida per preparare una distribuzione GNU/Linux
ad hoc, nella quale si é provveduto ad installare il software in questione ed il relativo sistema server. I dettagli e la guida seguita per la realizzazione sono raccolti
nell’Appendice C.
4.2
Proposta per lo sviluppo futuro
Durante lo studio dei criteri di valutazione ed analisi é apparso evidente come un
sistema software in abito clinico, o piú semplicemente medico, abbia la necessitá di
essere distribuito, affidabile ed in tempo reale. Queste caratteristiche si sono poi
venute a riassumere nel concetto di sistema event-driven. Con questo termine si
intende un paradigma di progetto per un sistema di comunicazione, basato su logica
client-server, che interagisca con una suite di software, i servizi offerti dal sistema
completo, occupandosi della gestione di relazioni e scambio dati tra i componenti,
in cui ogni evento costituisce l’interruttore di avvio per l’aggiornamento immediato
di tutto il sistema.
Si consideri ad esempio una piccola clinica che utilizza alcuni software scollegati
46
4 – Conclusioni
tra loro: uno per l’anagrafica e gestione degli appuntamenti, uno per le operazioni
economico-burocratiche ed infine, un altro per la visione di referti ed esami come
radiografie o tac. In questo modo oltre a dover imparare ad utilizzare tre diversi
software, con tutte le difficoltá connesse, nel caso in cui si dovessero passare dei
dati da un programma all’altro, considerando la piena compatibilitá tra standard
e formati, scenario abbastanza improbabile di per se, soltanto il tempo di attesa,
ad esempio per il trasferimento di un documento, costituisce tempo impiegato in
maniera non proficua, con il rischio di perdersi nella ridondanza dell’informazione.
In un sistema ad eventi, come si é immaginato, tutti questi software rappresentano i
servizi offerti e ad uno strato inferiore si trova il sistema di gestione delle comunicazioni ed interazioni tra i servizi stessi, il tutto accessibile attraverso una interfaccia
grafica web based. Considerando ancora l’esempio precedente della clinica, si puó
pensare che nel momento in cui un utilizzatore, attraverso un client, inserisce un
paziente, immediatamente ad un altro client arriva il messaggio e si aggiorna l’elenco dei pazienti, per esempio nel servizio che gestisce i pagamenti piuttosto che
nel servizio che gestisce i laboratori, senza che chi sta di fronte abbia chiesto un
aggiornamento.
In questo scenario i primi problemi eliminati sono la ridondanza di informazioni, un
unico database per tutti i servizi, in primo luogo e di conseguenza il problema di
compatiblitá e portabilitá dei formati di memorizzazione. Un ulteriore vantaggio é
dovuto al fatto che il lato server potrebbe essere distribuito su diverse macchine e
che ogni servizio é realmente indipendente dagli altri quindi, la manutenzione risulta
semplificata e con disagio pressoché nullo: nel caso un software vada aggiornato o,
addirittura sostituito, basterebbe interrompere solo quel servizio oppure predisporre
un nuovo hardware per limitare al massimo l’interruzione stessa.
Il problema fondamentale é che un sistema del genere non sembra ancora esistere ma
gli sforzi di altri studenti della facoltá si stanno rivolgendo a realizzare tale progetto
in cui lo GnuMed potrebbe integrarsi alla perfezione. Infatti ci si é resi conto, durante la ricerca di software adatti allo scopo di questo progetto, che attualmente esistono
tutti gli strumenti di base per iniziare lo sviluppo di una suite event-driven, il che
non si limita all’esistenza di un panorama molto vasto di programmi specifici per
quasi ogni disciplina medica, ma all’esistenza di uno standard per le comunicazioni
e lo scambio di messaggi in ambito clinico. Questo protocollo, denominato HL7,
47
4 – Conclusioni
é il punto di partenza per l’idea appena esposta, infatti é la standardizzazione di
qualsiasi possibile evento-messaggio generabile in ambito sanitario, comprensivo di
protocollo di scambio ed incapsulamento, in ultimo esiste anche un software che
implementa un gestore di comunicazioni basato su HL7, dal nome Mirth, molto
embrionale e lontano da quello che si é esposto, ma comunque un punto di partenza
importante per pensare di portare a termine un progetto cosı́ ambizioso.
In ultimo si vuole sottolineare come le realtá africane in oggetto siano vergini, cioé
prive di preconcetti e pregiudizi, in ambito di software sanitari e sarebbe il terreno
adatto per l’installazione di un sistema cosı́ innovativo ed avanzato, libero da vincoli (si pensi alle licenze) e completamente personalizzabile. In quest’ottica si pone
il lavoro presentato, lo GnuMed é risultato il miglior punto di partenza, disponibile attualmente, nel panorama Open Source, completamente compatibile con uno
sviluppo futuro nella direzione event-driven.
48
Appendice A
Script
Script per la verifica dei prerequisiti di sistema necessari all’installazione di Care2x.
#! /bin/bash
## Rossi Maurizio 2008-07-24 [email protected]
## This script is intended to search for software needed by care2x to run.
## The hardware used to do this script is an ASUS F5SL intel core 2 duo T5500,
## the OS is a GNU/Linux Kubuntu 8.04 amd64 "Hardy Heron" with kernel 2.6.24.
############################
## Section 1
##
## Variable definition
##
############################
## Array for needed packages
dip=([1]=apache [2]=apache-common [3]=apache2-utils [4]=libapache-mod-php4 [5]=php4
[6]=php4-gd [7]=php4-imap [8]=php4-mcal [9]=php4-mysql [10]=mysql-client-4.1
[11]=mysql-server-4.1 [12]=mysql-common)
## Log file saved in the current directory
LOG="log_conf-care2x.txt"
## Flag: TRUE if all the packages are presents (default)
flag=true
49
A – Script
## Error Codes and messages
## 23 -> one or more packages are not found in the system
## 24 -> one or more packages found in the system are not yet installed or configured
## 25 -> one or more packages are updated on the wrong version
ERR_PACK_NOT_FOUND=23
err_pack_not_fnd_str="One ore more packages are not present in /var/lib/dpkg/status...
\n\t...more details in log file: $LOG"
ERR_PACK_NOT_INST=24
err_pack_not_inst_str="One or more packages present in /var/lib/dpkg/status are
not yet installed or wrong configured...\n\t...more details in log file: $LOG"
ERR_PACK_WRONG_VER=25
err_pack_wrong_ver_str="One or more packages are updated on the wrong version...
\n\t...more details in log file: $LOG"
# Redirects stdandard error output in log file within other information
{
echo -e "\nConfigure4care2x-0.2\nstart:" >> $LOG
date >> $LOG
echo -e "\n" >> $LOG
###########################################################
## Section 2
##
## Searching for packages listed in /var/lib/dpkg/status ##
###########################################################
for i in ${dip[@]}
do
echo "searching for $i package..."
if
dpkg-query -l $i 1> /dev/null
# with no output use: dpkg-query -l $i &> /dev/null
then
echo -e "\t$i ...found"
else
echo -e "\tERROR $i ...not found"
flag=false
fi
echo #blank line in log file
done
## When a package is not found in the directory the script exit with error code 23
if !($flag)
50
A – Script
then
echo -e $err_pack_not_fnd_str
exit $ERR_PACK_NOT_FOUND
fi
##############################
## Section 3
##
## Verifing packages status ##
##############################
for i in ${dip[@]}
do
echo "verifing package $i status..."
if dpkg-query -s $i | grep installed 1> /dev/null
then
echo -e "\t$i ...installed"
else
echo -e "\tERROR ...$i not installed"
flag=false
fi
echo #blank line in log file
done
## When a package is not installed the script exit with error code 24
if !($flag)
then
echo -e $err_pack_not_inst_str
exit $ERR_PACK_NOT_INST
fi
##############################
## Section 4
##
## Verifing package version ##
##############################
# Apache
# Care2x needs the 1.3.XX branch
ap_v1=$(dpkg-query -s apache | grep Version | sed -e s/Version:\ //
-e s/\-[0-9]*\.[0-9]*// -e s/[\.][0-9]*// -e s/[\.][0-9]*//)
ap_v2=$(dpkg-query -s apache | grep Version | sed -e s/Version:\ //
-e s/\-[0-9]*\.[0-9]*// -e s/^[0-9]*[\.]// -e s/[\.][0-9]*//)
ap_v3=$(dpkg-query -s apache | grep Version | sed -e s/Version:\ //
51
A – Script
-e s/\-[0-9]*\.[0-9]*// -e s/^[0-9]*[\.]// -e s/^[0-9]*[\.]//)
if
[ $ap_v1 -eq 1 ]
then if [ $ap_v2 -eq 3 ]
then echo "apache version ...ok"
elif [ $ap_v2 -lt 3 ]
then echo "apache version ...ok"
else
echo "apache wrong version"
flag=false
fi
else
echo "apache wrong version"
flag=false
fi
## If apache version is wrong the script exit with error code 25
if !($flag)
then
echo -e $err_pack_wrong_ver_str
exit $ERR_PACK_WRONG_VER
fi
echo #blank line
# MYSQL
# Care2x needs the 4.1.XX branch
mq_v=$(mysqladmin version | grep ’[Ss]erver [vV]ersion’ |
sed -e ’s/[\-][0-9a-zA-Z]*\.[0-9a-zA-Z]//g’ -e ’s/[a-zA-Z]*[\ \t]//g’
-e ’s/\-[a-zA-Z\_0-9]*//g’)
mq_v1=$(mysqladmin version | grep ’[Ss]erver [vV]ersion’ |
sed -e ’s/[\-][0-9a-zA-Z]*\.[0-9a-zA-Z]//g’ -e ’s/[a-zA-Z]*[\ \t]//g’
-e ’s/\-[a-zA-Z\_0-9]*//g’ -e ’s/[\.][0-9]*//g’ -e ’s/[\.][0-9]*//g’)
mq_v2=$(mysqladmin version | grep ’[Ss]erver [vV]ersion’ |
sed -e ’s/[\-][0-9a-zA-Z]*\.[0-9a-zA-Z]//g’ -e ’s/[a-zA-Z]*[\ \t]//g’
-e ’s/\-[a-zA-Z\_0-9]*//g’ -e ’s/^[0-9]*[\.]//g’ -e ’s/[\.][0-9]*//g’)
mq_v3=$(mysqladmin version | grep ’[Ss]erver [vV]ersion’ |
sed -e ’s/[\-][0-9a-zA-Z]*\.[0-9a-zA-Z]//g’ -e ’s/[a-zA-Z]*[\ \t]//g’
-e ’s/\-[a-zA-Z\_0-9]*//g’ -e ’s/^[0-9]*[\.]//g’ -e ’s/^[0-9]*[\.]//g’)
#echo $mq_v $mq_v1 $mq_v2 $mq_v3
# This script consider the release 4.1.15 as the last mysql4 version
52
A – Script
if
[ $mq_v1 -eq 4 ]
then if [ $mq_v2 -eq 1 ]
then echo "mysql version ...ok"
elif [ $mq_v2 -lt 1 ]
then echo "mysql version ...ok"
else
echo "mysql wrong version"
flag=false
fi
elif [ $mq_v1 -eq 3 ]
then if [ $mq_v2 -gt 19 ]
then echo "mysql_version ...ok"
else echo "mysql wrong version"
fi
else
echo "mysql wrong version"
flag=false
fi
## If mysql version is wrong the script exit with error code 25
if !($flag)
then
echo -e $err_pack_wrong_ver_str
exit $ERR_PACK_WRONG_VER
fi
echo #blank line
## In this section is not made the search for php4 version
## because it was preceding verified the package presence.
} 2> $LOG
#############
## Exit ok ##
#############
echo
echo
date
exit
-e "\nConfigure completed with no errors...\tREADY TO INSTALL CARE2X"
-e "\n\tNO ERROR FOUND IN THE SYSTEM\n\tend:" >> $LOG
>> $LOG
0
#########
## End ##
#########
53
Appendice B
Configurazione sorgenti
In questa appendice si descrive la procedura seguita per l’installazione del web-server
Apache e del pre-processore di linguaggio PHP, seguita durante la fase preliminare
dell’installazione del software Care2X, si tralascia la descrizione della procedura relativa all’installazione dei DBMS MySQL e PostgreSQL, dato che si sono seguite le
istruzioni all’interno dei pacchetti contenenti i sorgenti, mentre per i primi due si
sono duvute apportare delle aggiunte alla configurazione di default. L’installazione
di software attraverso la compilazione dei sorgenti é una procedura complessa ed a
volte lunga, che prevede la conoscenza delle dipendenze e dei prerequisiti di ogni
software da risolvere in anticipo, oltre alla predisposizione degli strumenti necessari
alla compilazione. In un sistema Ubuntu spesso non vengono installati di default
i pacchetti necessari a questo scopo e quindi bisogna provvedere manualmente, in
questo caso si é utilizzato il software Synaptic package manager per installare i seguenti pacchetti:
build-essential, meta pacchetto che installa una serie di strumenti tra cui compilatori e librerie.
linux-headers-generic, meta pacchetto che installa gli headers del kernel installato, utilizzati per compilare quei programmi che necessitano di funzioni eseguite
direttamente da moduli del kernel, o che vanno ad aumentarne le funzionalitá.
54
B – Configurazione sorgenti
B.1
Installazione del web server Apache da sorgenti
Per installare il web server Apache dai sorgenti anziché con i metodi tradizionali si
devono scaricare gli stessi e poi provvedere alla configurazione, questa é la procedura
seguita:
si é scaricato l’archivio compresso dal sito del progetto:
http://httpd.apache.org/download.cgi
in seguito da linea di comando, si entra nella directory dove é stato salvato il file e
si lanciano i seguenti comandi:
\$ tar -xzf httpd-x.tar.gz
\$ cd httpd-x
\$ sudo ./configure --prefix=/usr/local/apache2 --enable-so
da notare la presenza della parola chiave sudo necessaria perché il programma viene
installato all’interno della cartella /usr/local/ al di fuori della home utente.
In secondo luogo la presenza del path dove effettuare l’installazione --prefix=. . . .
In ultimo l’opzione necessaria alla compilazione, come moduli, delle estenzioni disponibili per il web-server, che permette anche di abilitare il caricamento dinamico delle
stesse. Una volta conclusa, a buon fine, la configurazione si esegue la compilazione
ed installazione con i comandi concatenati:
\$ sudo make && sudo make install
A questo punto il web server si avvia digitando il comando:
\$ sudo /usr/local/apache2/bin/apachectl start
La cartella dove vanno inserite le pagine da pubblicare é la:
/usr/local/apache2/htdocs/ .
55
B – Configurazione sorgenti
B.2
Configurazione sorgenti PHP 4.x
La procedura di installazione del PHP si é rivelata piú complessa rispetto a tutte le
altre, per le quali é stato sufficiente consultare il documento install.txt distribuito
insieme ai sorgenti e seguire la procedura di default. Per questo componente invece é stato necessario confrontare le dipendenze del software care2X con la guida
d’installazione dei sorgenti, per provvedere alla configurazione di tutte le estensioni
necessarie alla compilazione dei moduli, non standard, ma necessari al software. In
questo senso é servito installare tutti i pacchetti headers delle librerie elencate in
seguito nel comando di configurazione. Una volta compiuto questo passo si é proceduto alla compilazione. La procedura seguita é stata la seguente:
Download dei sorgenti dal sito:
http://www.php.net/downloads.php,
estrazione dell’archivio e configurazione:
\$ cd ./Download/
\$ tar xzf php-x.tar.gz
\$ cd php-x/
\$./configure --with-apxs2=/usr/bin/apxs2 --with-mysql
--with-pgsql --with-gd --with-mcal --with-mcrypt
--with-pear --enable-calendar --enable-mbstring
--with-jpeg-dir=/usr/lib/libjpeg.so
--with-png-dir=/usr/lib/libpng.so
--with-zlib-dir=/usr/lib/zlibrary/ui/zlib-gtk.so
--with-xpm-dir=/usr/lib/libXpm.so
\$ make
\$ sudo make install
\$ sudo cp php.ini-dist /usr/local/lib/php.ini
Una volta compilati ed installati i sorgenti, l’ultima riga serve per installare il
file di inizializzazione del php, si devono aggiungere le seguenti righe al file di
configurazione di apache:
\$ sudo vim /etc/apache2/httpd.conf
Nella sezione Load Modules
56
B – Configurazione sorgenti
LoadModule php4_module modules/libphp4.so
Nella sezione AddType
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
Al termine di questa procedura per provare il funzionamento si crea un file dal nome
info.php nella cartella pubblica del server web apache con il seguente codice scritto
all’interno:
// Print the complete php installation info.
<?php
phpinfo();
?>
Ora si riavvia il server web con il comando:
\$ sudo /usr/local/apache2/bin/apachectl restart
Poi una volta aperto il browser si digita la seguente url:
http://localhost/info.php
Se tutto funziona correttamente si carica una pagina con la descrizione della versione
installata del preprocessore di linguaggio e dei moduli caricati.
57
Appendice C
Creazione distribuzione
personalizzata
Questa breve guida é volta alla presentazione e spiegazione della realizzazione di
una distribuzione GNU/linux personalizzata, per le proprie esigenze. In questo senzo si é voluta realizzare una distribuzione che avesse pre-installato il software frutto
della scelta commentata nei precedenti capitoli, in modo da avere a disposizione
uno strumento di uso immediato nel momento in cui la collaborazione tra la facoltá di ingegneria e le cliniche africane fosse possibile. La distribuzione in oggetto
si basa su una Ubuntu-8.04.1-desktop-i386, come quella utilizzata durante lo
svolgimento del lavoro; lo strumento di personalizzazione utilizzato é il progetto
UCK - Ubuntu Customization Kit, distribuito attraverso Sourceforge.net. Il software in questione, sfruttando la tecnica della virtualizzazione del sistema attraverso
un emulatore interno, carica la distribuzione di partenza e permette di modificarla
con i software classici, ad esempio Synaptic package manager o attraverso la console, una volta terminate le modifiche, l’immagine, viene nuovamente compressa e poi
salvata con estensione .iso.
C.1
Prerequisiti
Innanzitutto bisogna provvedere al recupero degli strumenti necessari.
Si deve recuperare una immagine .iso della distribuzione scelta come modello, in
58
C – Creazione distribuzione personalizzata
questo caso si é scaricata dal sito:
http://www.ubuntu.com/getubuntu/download,
l’immagine della distribuzione ubuntu-8.04.1-desktop-i386.
In secondo luogo attraverso il portale Sourceforge.net
(http://sourceforge.net/projects/uck/)
si scarica l’ultima versione pubblicata del progetto UCK, attualmente é disponibile il
pacchetto: uck 2.0.4 all.deb.
A questo punto per procedere all’installazione del software si consiglia di utilizzare
un package manager che abbia la funzionalitá di controllare e risolvere le dipendenze
in maniera automatica, ad esempio GDebi - Package Manager. Ora si é pronti per
la creazione della propria distribuzione.
C.2
Personalizzare la distribuzione
Si avvia il programma UCK, si dovrebbe trovare all’interno del menú nella sottosezione sistema, oppure lanciando da shell il comando:
\$ uck-gui
Tutta la procedura é guidata si seguono le istruzioni a video che, in ordine, permettono di scegliere quali lingue di sistema installare e quale scegliere come lingua
predefinita. Si possono scegliere diverse lingue ma questo comporterá una maggiore
dimensione della immagine .iso che si andrá a realizzare.
In seguito viene chiesto quale desktop manager installare, kde, gnome o altro, anche
quı́ si possono effettuare scelte multiple. Successivamente viene chiesto di indicare
al programma il path dove é salvata l’immagine della distribuzione di partenza che
si é provveduto a scaricare, poi di inserire un nome per salvare la propria distro.
Le restanti due schermate chiedono se si vuole procedere alla modifica attraverso
strumenti diversi dagli script, i quali andrebbero predisposti in precedenza, e se si
vogliono eliminare i file temporanei al termine della procedura, quindi é necessario
rispondere in maniera affermativa ad entrambe le richieste, specialmente alla prima che ci permette di eseguire la macchina virtuale interna e modificare, al volo la
distribuzione. Al termine, si chiude l’interfaccia grafica e si digita la password di
amministratore per permettere al programma di procedere alla esecuzione.
59
C – Creazione distribuzione personalizzata
Questa operazione puó risultare lunga poiché inizialmente l’immagine viene scompattata e montata all’interno del file-system come fosse un supporto rimovibile,
dopodiché il programma si mette in pausa e chiede all’utente di selezionare il metodo di modifica tra: package manager, console oppure termina la personalizzazione e
procedi alla scrittura, al termine di ogni passo di modifica si ritorna a questo punto
fino a che non si selezione l’ultima opzione.
Per procedere all’installazione di GnuMed si sceglie, innanzitutto, di utilizzare il
packcage manager. Una volta aperto il Synaptic, ricordandosi che si é in macchina
virtuale, si modificano i repository abilitando anche quelli etichettati come universe
e multiverse, si selezionano il DBMS Postgres ed il GnuMed, poi si procede all’installazione cliccando su applica.
La procedura termina con un errore dato che in emulazione non é possibile far partire il server postgres o riavviare il sistema ma questo inconveniente sará risolto
automaticament, in fase di sonfigurazione al momento dell’installazione effettiva.
Non potendo quindi creare il database effettivamente si puó comunque precaricare
nella distribuzione tutto il necessario per configurare il server senza l’utilizzo di una
connessione internet veloce e cioé le istruzioni scaricate dal sito del progetto (ad
esempio sotto forma di pagina web completa) ed il pacchetto contenente gli script
per la creazione del database ed altre operazioni di pulizia e test. Il link é il seguente:
Istruzioni: http://wiki.gnumed.de/bin/view/Gnumed/ServerInstallUpgrade,
Pacchetto:
http://www.gnumed.de/downloads/server/GNUmed-server.latest.tgz.
In questo caso si é caricato il pacchetto e le istruzioni aprendo una console di sistema
ed un altra dalla finestra di personalizzazione generata da UCK perché con la prima
si copiano i file dal proprio hard-disk al file-system temporaneo, generato dalla macchina virtuale, mentre con la seconda verifichiamo che effettivamente venga caricato,
si digitano i seguenti comandi:
Shell del proprio sistema:
\$ sudo cp -r /home/x/Download/istruzioni-GnuMed*
/home/x/tmp/remaster-root/home/x/
\$ sudo cp /home/x/Download/GNUmed-server.latest.tgz
/home/x/tmp/remaster-root/home/x/
60
C – Creazione distribuzione personalizzata
Dove /home/x/Download/ é il path dove l’utente x salva i dati scaricati. I file
istruzioni-GnuMed* rappresentano la pagina web completa salvata e la relativa
cartella, per questo l’opzione -r al comando di copia cp, il pacchetto
GNUmed-server.latest.tgz
é un file compresso, il tutto fatto da utente privilegiato poiché il file-system temporaneo é stato creato come super-user.
Shell aperta da processo UCK:
\$ ls /home/x/
In questo caso dovrebbero venire elencati i file copiati nelle istruzioni precedenti.
Il path é identico a quello di sistema dato che il processo UCK usa come esempio
proprio quello per creare il file-system temporaneo. A questo punto utilizzando
un software di virtualizzazione come il Qemu, presentato in precedenza é possibile
provare la distribuzione prima della masterizzazione per verificare la presenza di
quanto introdotto.
61
Appendice D
Immagini Care2X
Figura D.1. Pagina di download del programma, cerchiata in rosso é la data
di ultimo aggiornamento.
62
D – Immagini Care2X
Figura D.2. CED: pagina principale per la configurazione del sistema accessibile
per gli utenti amministratori.
Figura D.3. CED: pagina per la modifica delle impostazioni di visualizzazione
delle form di inserimento dati.
63
D – Immagini Care2X
Figura D.4. CED: pagina per la creazione e modifica dei privilegi d’accesso di
utenti che possono accedere al sistema, la differenza tra i ruoli, ad esempio un
dottore ed un dipendente amministrativo, si determina in base ai permessi specifici
che vengono assegnati: sola lettura, lettura e scrittura oppure nessuno.
Figura D.5. CED: errore di visualizzazione quando si chiude la pagina utilizzando
il bottone in alto a destra nel frame principale, il refresh crea un nuovo menú CED
a fianco del precedente ogni volta che si compie questa azione.
64
D – Immagini Care2X
Figura D.6. Pagina di accettazione pazienti, form per la ricerca di una persona precedentemente registrata, altrimenti é possibile passare all’inserimento
di un nuovo record nel database, cliccando sulla tab Nuova Persona sopra il
riquadro di inserimento testo.
Figura D.7. Pagina successiva al login con cui é possibile immettere una
descrizione del pc in uso.
65
D – Immagini Care2X
Figura D.8. Sottosistema EMR specifico per pazienti inseriti all’interno di un reparto, nel quale é possibile visualizzare tutte le informazioni relative al ricovero in
corso. Nella finestra in secondo piano é possibile vedere i dettagli del reparto che
si sta utilizzando con la lista dei pazienti ricoverati.
Figura D.9. Sottosistema EMR genrico, relativo a tutti i pazienti inseriti all’interno del database della struttura, in questa pagina vengono elencati i documenti
prodotti, le informazioni e la storia clinica di ogni individuo.
66
D – Immagini Care2X
Figura D.10. Pagina iniziale dell’utente amministratore che possiede il massimo
dei privilegi e quindi il menú di sistema, sulla sinistra, é completo.
Figura D.11. Pagina iniziale per utente con minori privilegi rispetto all’amministratore, in questo caso il menú rispecchia la lista dei permessi posseduti, determinati attraverso la funzione CED.
67
D – Immagini Care2X
Figura D.12. Pagina per l’inserimento di un nuovo paziente nel database, a questa
form si arriva da ogni punto del sistema dove si trova il link nuovo paziente.
Figura D.13. Pagina corrispondente al pulsante parametri del menú principale,
quı́ é possibile settare delle impostazioni generiche relative alla struttura, al proprio
account o alla sezione a cui puó accedere l’utente loggato.
68
D – Immagini Care2X
Figura D.14. Pagina per la modifica della interfaccia grafica a cui si arriva dalla
sezione parametri cliccando il link configurazione.
69
Appendice E
Immagini Altri Software
E.1
FreeMed
Figura E.1.
Pagina iniziale di login al sistema.
70
E – Immagini Altri Software
Figura E.2. Pagina iniziale dell’utente loggato, vengono visualizzati tutti gli eventi
e gli appuntamenti giornalieri, organizzati in categorie.
Figura E.3.
Pagina iniziale dell’utente loggato, seconda parte della pagina precedente.
71
E – Immagini Altri Software
Figura E.4.
Pagina per la ricerca o inserimento di un paziente all’interno del database.
Figura E.5. Pagina che presenta il risultato della ricerca all’interno del database
pazienti, cliccando sul nome si accede alla cartella clinica mentre dal piccolo menú
in riga con il nome é possibile vedere, modificare o eliminare i dati.
72
E – Immagini Altri Software
Figura E.6. Cartella clinica individuale, tutte le informazioni sono organizzate in
box separati, sui quali si puó agire direttamente per modificare le impostazioni di
visualizzazione, espandi o elimina, rispetto al default.
Figura E.7.
Pagina di amministrazione del sistema.
73
E – Immagini Altri Software
E.2
GnuMed
Figura E.8. Finestra di login al sistema in cui oltre ad inserire le credenziali si
puó scegliere a quale database collegarsi, tra quelli imposati durante la fase di
installazione o dall’interno del programma.
74
E – Immagini Altri Software
Figura E.9. Finestra del programma. In alto, appena sotto la barra dei menú
si trova il campo di ricerca paziente, e, una volta selezionato, vengono caricati i
dati relativi nei frame sottostanti. Le informazioni sono presentate organizzate
in tab, le cui linguette sono in basso nella finestre e sono riconoscibili grazie alle
etichette. Tra queste tab da notare sono le ultime due: Manual e Setup, alla prima
corrisponde il browaer interno che contiene il manuale completo del programma e
la seconda permette di modificare le impostazioni, tra cui i dettagli del server. Le
stesse funzioni ed altre, tra cui l’inserimento di pazienti ed utenti del sistema, si
trovano nella barra dei menú.
75
E – Immagini Altri Software
E.3
OpenClinic
Figura E.10. In questa pagina, la prima dopo effettuato il login é possibile scegliere
cosa fare, se amministrare il sistema oppure registrare dati riguardanti i pazienti.
76
E – Immagini Altri Software
Figura E.11. Pagina introduttiva alla gestione dei dati relativi ai pazienti, una volta effettuata la ricerca é possibile modificare, stampare ed
aggiungere nuovi record.
Figura E.12.
Form per la ricerca di un paziente registrato.
77
E – Immagini Altri Software
Figura E.13.
Pagina per la gestione del sistema da parte dell’amministratore.
Figura E.14.
Seconda parte della pagina precedente.
78
E – Immagini Altri Software
E.4
OpenEMR
Figura E.15.
Pagina iniziale di login.
79
E – Immagini Altri Software
Figura E.16. Questa schermata presenta la visualizzazione dei dati demografici
del paziente, nel frame top, mentre nel frame bot sono elencati i record relativi alla
storia clinica, nessuno in questo caso.
Figura E.17. Questa schermata presenta la visualizzazione dei record relativi al
paziente con la possibilitá di modificarli ed aggiornarli, nel frame superiore; mentre
in quello inferiore é aperta la sezione per il caricamento o apertura di documenti
esterni al sistema riguardanti la persona stessa.
80
E – Immagini Altri Software
Figura E.18. Pagina iniziale del sistema in cui il frame a sinistra rappresenta il
menú di scelta della sezione aperta nei due frame centrali, indicati col nome di top,
il superiore, e bot, l’inferiore; per questo motivo sono presenti due bottoni di scelta
ai lati di ogni categoria. Il menú inizialmente é cliccabile per metá dato che non é
ancora stato selezionato alcun paziente.
81
E – Immagini Altri Software
E.5
OpenMRS
Figura E.19.
Pagina iniziale di login.
82
E – Immagini Altri Software
Figura E.20.
Pagina per la ricerca o creazione di un nuovo paziente.
Figura E.21. Inquesta sezione é possibile fare una ricerca all’interno del dizionario
che viene compilato in automatico dal sistema quado si inseriscono record relativi
a studi, diagnosi o procedure.
83
E – Immagini Altri Software
Figura E.22. In questa sezione é possibile inserire i dati all’interno del sistema,
tra cui appuntamenti, diagnosi, dati statistici e terapie utilizzate.
Figura E.23. Questa pagina elenca tutte le funzioni disponibili per
amministrare il sistema.
84
E – Immagini Altri Software
E.6
OpenHospital
Figura E.24. All’avvio del programma si apre questo menú che raccoglie
tutte le funzioni del sistema.
85
E – Immagini Altri Software
Figura E.25. Questa immagine presenta alcune delle finestre che rappresentano le varie sezione, andando in ordine, partendo dal menú in senso orario, si
vedono il sottomenú relativo al laboratorio analisi, l’elenco dei reparti, l’elenco delle cause di dimissione, le informazioni riguardanti la struttura e l’elenco
dei risultati relativi ai parti.
86
E – Immagini Altri Software
Figura E.26. Questa immagine presenta alcune delle finestre che rappresentano
le varie sezione, andando in ordine, partendo dal menú in senso orario, si vedono
il sottomenú relativo alla farmacia, l’elenco dei pazienti con le relative funzioni e
l’elenco dei risultati degli esami di laboratorio.
87
E – Immagini Altri Software
Figura E.27. Questa immagine presenta alcune delle finestre che rappresentano
le varie sezione, andando in ordine, partendo dal menú in senso orario, si vedono
l’elenco dei pazienti e la finestra per l’inserimento di un nuovo record, l’elenco dei
risultati degli esami di laboratorio e la finestra per l’inserimento di un nuovo record,
in ultimo il database farmaceutico.
88
E – Immagini Altri Software
E.7
OIO - Open Infrastructure for Outcomes
Figura E.28.
Pagina di login al sistema.
89
E – Immagini Altri Software
Figura E.29. Pagina iniziale che viene aperta dopo il login, presenta l’elenco dei
pazienti e le funzioni di ricerca o aggiunta nuovo record.
Figura E.30.
Form per l’aggiunta di un nuovo paziente.
90
E – Immagini Altri Software
Figura E.31. Pagina di presentazione, scelta ed aggiunta delle form che sono
utilizzate per inserire i dati relativi ai pazienti.
Figura E.32. Pagina di errore generato nel tentativo di accedere alla pagina
folders, dove dovrebbero essere elencate le cartelle ed i documenti relativi ai file,
esterni al sistema, caricati sul server.
91
E – Immagini Altri Software
Figura E.33.
Figura E.34.
Pagina iniziale della sezione amministrazione.
Pagina per la creazione di un nuovo utente.
92
E – Immagini Altri Software
Figura E.35. Pagina che presenta i report salvati nel sistema, risultato della
compilazione delle form.
Figura E.36. Pagina di visualizzazione ed esportazione del report selezionato
attraverso la finestra precedente.
93