Πρόταση: MyPatients 3.0

Το πρόγραμμα MyPatients επιλέχθηκε να επιδοτηθεί με το ποσόν των €3000. Η πρόταση όπως υποβλήθηκε στην εταιρεία ΕΛΛΑΚ είναι η παρακάτω:

Σύστημα Αρχειοθέτησης Ιατρικού Φακέλου (MyPatients)

Ένα ανοικτό σύστημα καταγραφής και αρχειοθέτησης ιατρικών ιστορικών για το μικρό ιατρείο, που χρησιμοποιεί τη MySQL σαν βάση δεδομένων και το OpenOffice.org ως front-end για τη λειτουργία του, είναι ανεξάρτητο λειτουργικού συστήματος και βασίζεται στην Διεθνή Κωδικοποίηση Νόσων της Παγκόσμιας Οργάνωσης Υγείας ICD10, μεταφρασμένη πλήρως στα Ελληνικά.

Ιστορικό

Η προσπάθεια ξεκίνησε πριν από 10 χρόνια όταν το Υπουργείο Υγείας δημοσίευσε την Ελληνική μετάφραση της Διεθνούς Κωδικοποίησης Νόσων της Παγκόσμιας Οργάνωσης Υγείας ICD10 σε μορφή απλού κειμένου. Χρειάστηκαν 3 χρόνια για να γίνει χτένισμα των χιλιάδων κωδικών και των τυχών σημειώσεων τους και το πέρασμά τους σε μορφή σχεσιακής βάσης δεδομένων. Η αρχική αυτή προσπάθεια υλοποιήθηκε σε περιβάλλον Windows με βάση δεδομένων το Paradox της Corel.

Στη συνέχεια μεταφέρθηκε βάση δεδομένων στο OpenOffice.org Calc 1.0 και δημιουργήθηκε μια φόρμα αναζήτησης για την εύκολη εύρεση κωδικών, στο OpenOffice.org Writer 1.0, και δημοσιεύτηκαν στο internet με άδεις χρήσης GNU GPL 2.0. Το 2005 το Υπουργείο Υγείας μου ζήτησε την άδεια να χρησιμοποιήσει το έργο αυτό για εσωτερικές του ανάγκες (η άδεια δόθηκε προφορικά αν και ήταν περιττό λόγω της άδειας χρήσης GPL 2.0).

Το επόμενο βήμα ήταν η υλοποίηση ενός προγράμματος για την καταγραφή ιατρικών ιστορικών ασθενών βασισμένων στο ICD10. Καθώς δεν υπήρχε κάποιο open source cross-platform εργαλείο εκείνη την εποχή για τη γρήγορη ανάπτυξη ενός τέτοιου προγράμματος, έπρεπε να κυκλοφορήσει το OpenOffice.org version 2.0 που ενσωμάτωνε για πρώτη φορά το πρόγραμμα βάσεων δεδομένων Base για να γίνει εφικτή η ανάπτυξη του προγράμματος.

Το κίνητρο ήταν αφ’ενός η χρήση του απ’το δικό μου ιατρείο, και αφ’έτέρου μέσω της δημόσιας και δωρεάν διανομής του, εκτός απ’τη βοήθεια που θα προσέφερε σε συναδέλφους, ήταν και η ευκαιρία που θα έδινε σε πολλούς να έρθουν σε επαφή με το ελεύθερο λογισμικό και πιο συγκεκριμένα με το OpenOffice.org το οποίο θα μπορούσαν μετά την αρχική γνωριμία, να το χρησιμοποιήσουν σε ένα σωρό άλλες δουλειές.

Οι λύσεις που ήδη κυκλοφορούν (π.χ. openEMR) απευθύνονται σε μεγαλύτερες επιχειρήσεις, πχ. Κλινικές, πολυ-ιατρεία, έχουν περισσότερο πολύπλοκη δομή (απαιτούν web server/web browser), και δεν έχουν μεταφραστεί στα ελληνικά.

Για τη βάση δεδομένων επιλέχθηκε η MySQL λόγω της ταχύτητας της, του ότι είναι FOSS, και της διαθεσιμότητάς της σε κάθε λειτουργικό σύστημα στο οποίο διατίθεται και το OpenOffice.org.

Το πρόγραμμα χρησιμοποιεί την ενσωματωμένη στο OpenOffice.org OOoBASIC ως front-end γλώσσα για την επικοινωνία με το UNO (Universal Network Objects)* και μέσω αυτού για την επικοινωνία με τη MySQL. Το πρόγραμμα χρησιμοποιεί και εκμεταλλεύεται διάφορες πρωτοποριακές τεχνικές μέσα από το UNO, ώστε να δώσει στο τελικό προϊόν δυνατότητες για τις οποίες το ίδιο το OpenOffice.org Base δεν προέβλεπε την υλοποίησή τους, προς το παρόν τουλάχιστον. Για παράδειγμα: 1) τη δυνατότητα διόρθωσης πεδίων σε φόρμες που βασίζονται σε Queries πολλαπλών πινάκων, 2) ή τη δυνατότητα για αλλαγή των Data Sources μιας φόρμας την ώρα που αυτή είναι ενεργή, 3) τη δυνατότητα να υπάρχει ένας κεντρικός έλεγχος στο ποια φόρμα του προγράμματος είναι ανοικτή και σε ποια καρτέλα εστιάζεται, 4) την επικοινωνία και ανταλλαγή σημάτων από φόρμα σε φόρμα.

* UNO = (Universal Network Objects) το Component Model του OpenOffice.org

Στόχοι

Το OpenOffice.org Base στην επερχόμενη έκδοση 3.1 (Άνοιξη 2009) θα έχει σημαντικές αλλαγές στον τρόπο λειτουργίας του που θα κάνουν το πρόγραμμα MyPatients μη συμβατό. Συγκεκριμένα, μέχρι την έκδοση 3.0.1 του OpenOffice.org όλος ο κώδικας του προγράμματος ενσωματώνεται στις διάφορες φόρμες του αρχείου του OpenOffice.org Base (MyPatients.odb) που αποτελεί και το πρόγραμμα. Αυτό δεν θα επιτρέπεται στην επόμενη έκδοση όπου ολόκληρος ο κώδικας θα πρέπει να υπάρχει σε ένα κεντρικό αποθετήριο στο .odb αρχείο και να είναι διαθέσιμος σε κάθε φόρμα. Για να μπορεί το πρόγραμμα να τρέχει και στην έκδοση OpenOffice.org 3.1 και τις επόμενες της, θα πρέπει να γίνει εκτεταμένο refactoring του κώδικα ώστε να μεταφερθεί από κάθε φόρμα ξεχωριστά σε αντίστοιχες βιβλιοθήκες του αρχείου Base, να γίνει ενοποίηση κάποιων κοινών τμημάτων κώδικα και να ξανασχεδιαστεί η χρήση Global μεταβλητών εφ’όσον θα αλλάξει η διάρκεια ζωής τους και η διαθεσιμότητά τους ανάμεσα στις φόρμες και το κυρίως πρόγραμμα.

Παραδοτέα

**Παραδοτέα**

Στο τέλος της εργασίας θα παραδοθεί η νέα έκδοση του προγράμματος MyPatients.odb που θα είναι συμβατή με το OpenOffice.org 3.1, Το αρχείο MyPatients.odb θα εμπεριέχει και τον κώδικα ο οποίος είναι ελεύθερα προσβάσιμος απ’τον καθένα. Επίσης θα υπάρχουν οι οδηγίες χρήσης στο αρχείο README.pdf, το αρχείο αρχικοποίησης της βάσης δεδομένων mypatients.sql που εμπεριέχει όλο το μεταφρασμένο στα ελληνικά ICD10, το script εγκατάστασης για linux, καθώς και οι ODBC drivers που χρειάζονται στο linux από το script εγκατάστασης. Στα υπόλοιπα λειτουργικά συστήματα η εγκατάσταση δεν είναι αυτοματοποιημένη και γίνεται ακολουθώντας τις οδηγίες απ’το κείμενο README.pdf.

Το πρόγραμμα διατίθεται με άδεια χρήσης GNU GPL 2.0.

Χρονοδιάγραμμα

Το πρόγραμμα θα είναι παραδοτέο σε εύλογο χρονικό διάστημα (1-3 μήνες) από την κυκλοφορία του OpenOffice.org 3.1 που προβλέπεται να γίνει την άνοιξη του 2009 (ή αν είναι εφικτό, απ’την κυκλοφορία των πρώτων RC εκδόσεων του).

Γιατί εμένα

Ξεκίνησα την ανάπτυξη της ελληνικής βάσης δεδομένων ICD10 το 2000 κάτω από Windows και Paradox. Η προσπάθεια τελείωσε το 2003. Στο μεταξύ είχε κυκλοφορήσει το OpenOffice.org 1.0 το οποίο θεώρησα ιδανικό για Open Source/Cross Platform ανάπτυξη εφαρμογών. Και παρ’όλο που σε εκείνη την έκδοση δεν είχε την καλύτερη υποστήριξη για βάσεις δεδομένων, ξεκίνησα την μεταφορά της βάσης καθώς και της φόρμας αναζήτησης του ICD10 σε περιβάλλον OpenOffice.org.

Αν εξαιρέσει κανείς την αρχική μετάφραση του ICD10 από τα Αγγλικά στα Ελληνικά που έγινε απ’το Υπουργείο Υγείας, όλη η μέχρι τώρα δουλειά έχει γίνει από τον γράφοντα. Μέσα απ’την ανάπτυξη του προγράμματος κερδήθηκε ανεκτίμητη εμπειρία στους παρακάτω τομείς: 1) OpenOffice.org και Universal Network Objects, 2) Ooo BASIC, 3) SQL, εμπειρία που εξασφαλίζει την περαιτέρω εξέλιξη του προγράμματος. Χαρακτηριστικό είναι το ότι κώδικας του προγράμματος βρήκε τη θέση του στις έτοιμες βιβλιοθήκες της BASIC του OpenOffice.org από την έκδοση 3.0 και μετά (αντικατέστησε παλαιότερο κώδικα βλ. Βιβλιοθήκη Tools/Strings).

Χριστοδούλου Εμμανουήλ

Παθολόγος

Βοσπόρου 10Β, 57010, Πεύκα Θεσσαλονίκης

τηλ. 2310672275, κιν. 6945858942

email: mchris@mobi-doc.com

Ιατρείο: Βιζυηνού 37, 54636, Θεσσαλονίκη

τηλ. 2310210148

Αναφορές

Η σελίδα του προγράμματος: http://mobi-doc.com/mypatients_page.html

Η σελίδα του προγράμματος στο FreshMeat: http://freshmeat.net/projects/mypatients

ICD10: http://www.who.int/classifications/icd/en/

Σημείωση: Το forum του προγράμματος έκλεισε πρόσφατα...
 
mypatients/πρόταση.txt (54 views) · Τελευταία τροποποίηση: 2014/04/03 17:26
 
Recent changes RSS feed Creative Commons License Donate Valid XHTML 1.0 Valid CSS Driven by DokuWiki