Περιεχόµενα. Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Ηρακλείδης Γεώργιος (Α.Μ. 1949)



Σχετικά έγγραφα
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ.

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Εργαστήριο 9. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Εγχειρίδιο Χρήστη - Μαθητή

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Τα προγράμματα σε ASP που χρησιμοποιήθηκαν για την υλοποίηση της διαχείρισης των μαθημάτων.

ΚΕΦΑΛΑΙΟ Web Services

PHP/MySQL και Project

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

e-κπαίδευση Πλατφόρµα Ασύγχρονης Τηλε-κπαίδευσης Οδηγίες χρήσης για τους σπουδαστές του ΤΕΙ Αθήνας και τους επισκέπτες της δικτυακής πύλης e-κπαίδευση

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου "Σύζευξις" -1-

Οδηγίες Ηλεκτρονικής Υποβολής Προτάσεων

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

Document Scanning System Ιανουάριος, 2014

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Υλοποίηση εφαρμογής λογιστικών και στατιστικών δεδομένων μιας επιχείρησης Δ.Ε.Υ.Α.» Αρ. Μητρώου:

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

Joomla! with K2 - User Guide

Ο ΗΓΙΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Ολοκληρωµένο Σύστηµα ιαχείρισης Ασφαλισµένου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΣΥΣΤΗΜΑ ΑΞΙΟΛΟΓΗΣΗΣ ΜΑΘΗΤΩΝ Online Student Trainer

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

1 Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗ ΔΗΛΩΣΗ ΜΑΘΗΜΑΤΩΝ ΓΙΑ ΤΟ ΧΕΙΜΕΡΙΝΟ. Για να πραγματοποιήσετε την δήλωσή σας μεταβαίνετε στο σύνδεσμο:

Management School School Profile Save

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS

Ο ΗΓΙΕΣ ΣΥΜΠΛΗΡΩΣΗΣ ΤΗΣ ΦΟΡΜΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Βασικές Οδηγίες Χρήσης της Εφαρμογής

Εγχειρίδιο Χρήσης (MIS) για τη Σχολική Μονάδα

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1

Hellenic European Law Concordance

4. ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ


Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Οδηγίες χρήσης για την εφαρµογή Spot4U

Δημιουργίας Ενεργειών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

Εφαρµογές διαδικτύου µε PHP

Management Classes Create Class Create Class Management Classes List of Classes

Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility. (διαδικτυακή εφαρμογή)

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΠΡΟΚΗΡΥΞΕΙΣ

ΒΟΗΘΕΙΑ για τη χρήση του ιδρυματικού αποθετηρίου ΥΠΑΤΙΑ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΕΓΧΕΙΡΙΔΙΟ ΥΠΟΒΟΛΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΠΡΟΤΑΣΗΣ ΓΙΑ ΤΗ ΔΡΑΣΗ ΠΡΑΣΙΝΗ ΕΠΙΧΕΙΡΗΣΗ 2010

Αν παρ όλα αυτά αντιμετωπίζετε πρόβλημα, επικοινωνήστε με το Κέντρο Δικτύου της ΑΣΠΑΙΤΕ Τηλ , , ,

Εγχειρίδιο λειτουργιών χρήστη (αποφοίτου) στο Mathiteia4u

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

ΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΥΠΕΥΘΥΝΟΣ ΈΡΓΟΥ AΝ.KΑΘ.Χ. ΚΟΥΚΟΥΡΛΗΣ ΤΗΛ: , FAX :

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πάτρας

ιαχείριση Τηλεφωνικών Κλήσεων

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ 1 1. ΕΙΣΑΓΩΓΗ ΣΚΟΠΟΣ ΓΕΝΙΚΗ ΑΠΟΨΗ ΟΡΙΣΜΟΙ, ΑΚΡΩΝΥΜΙΑ ΚΑΙ ΣΥΝΤΟΜΟΓΡΑΦΙΕΣ 3 1.

ιαχείριση Πληροφοριών στο ιαδίκτυο

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Εύδοξος - Δήλωση Συγγραμμάτων

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Οδηγίες χρήσης εφαρμογής Ε.Ο.Π.Υ.Υ - Σύστημα Ηλεκτρονικής Προέγκρισης Φαρμάκων για Θεράποντες Ιατρούς

ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ OUTLOOK EXPRESS ΡΥΘΜΙΣΗ ΤΟΥ ΛΟΓΑΡΙΣΑΜΟΥ


ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. του ΙΑΤΡΟΦΑΡΜΑΚΕΥΤΙΚΟΥ ΦΑΚΕΛΟΥ ΑΣΘΕΝΩΝ Για τον ΟΙΚΟ ΝΑΥΤΟΥ ΚΛΙΝΙΚΟΙ ΓΙΑΤΡΟΙ. iknowhow Πληροφορική A.E

Οδηγίες. Xρήση της Υπηρεσίας Φιλοξενίας Προσωπικών Ιστοσελίδων (Private Web hosting)

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

Οδηγίες Πρόσβασης στο EndNote Web. Πρόσβαση στο EndNote Web

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE

ΕΓΧΕΙΡΙΔΙΟ ΥΠΟΒΟΛΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΠΡΟΤΑΣΗΣ ΓΙΑ ΤΗ ΔΡΑΣΗ ΜΕΤΑΠΟΙΗΣΗ ΣΤΙΣ ΝΕΕΣ ΣΥΝΘΗΚΕΣ

Εγχειρίδιο χρήσης. Εκκίνηση εφαρµογής

Οδηγός Χρήστη. Καλώς ήλθατε στο Ηλεκτρονικό Περιβάλλον Μάθησης.

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

ΟΔΗΓΟΣ ΧΡΗΣΗΣ WEBMAIL ΤΕΙ ΚΑΛΑΜΑΤΑΣ

Λογισµικό Ανοικτού Κώδικα και συστήµατα ιαχείρισης Περιεχοµένου. Βασίλης Στεφανίδης Καθηγητής ΠΕ19 ΓΕΛ Ασσήρου

Εγχειρίδιο Χρήσης Συστήµατος ιαχείρισης Αιτήσεων Υποψηφίων Συνεργατών ΑΤΕΙ Καλαµάτας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

AVS. Workshop. Εγχειρίδιο Χρήσης. Standard/Premium Edition AUTOMOTIVE

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

Lexicon Software Pachutzu

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Transcript:

Τ.Ε.Ι. ΗΠΕΙΡΟΥ Σχολή Διοίκησης Οικονομίας Τμήμα Τηλεπληροφορικής & Διοίκησης Πτυχιακή Εργασία Πληροφοριακό Σύστημα Διαχείρισης Ουράς Πελατών Εφαρμογή σε Υπηρεσίες Υγείας Σπουδαστές : Μπερσίμης Μιχαήλ, Α.Μ. 1982 Ηρακλείδης Γεώργιος, Α.Μ. 1949 Εισηγητής : Σταυρακούδης Αθανάσιος Άρτα, Ιούνιος, 2004

Αυτό το σύγγραμμα αφιερώνεται σ αυτούς που με στήριξαν σε όλη την φοιτητική ζωή μου, στην οικογένεια μου και στους καλύτερους φίλους μου. Μπερσίμης Μιχαήλ Αφιερωμένο στην οικογένεια μου. Ηρακλείδης Γεώργιος

Περιεχόµενα 1. Πρόλογος...- 2-2. Εισαγωγή...- 3-3. Το πρόβληµα που επιλύεται...- 4-4. Περιγραφή της εφαρµογής...- 5-4.1 Ο σκοπός ανάπτυξης...- 5-4.2 Η επίλυση του προβλήµατος...- 6-4.3 Χαρακτηριστικά του συστήµατος...- 7-5. Περιγραφή της µεθοδολογίας...- 9-5.1 Ανάλυση της γλώσσας προγραµµατισµού PHP...- 9-5.2 Εγκατάσταση της PHP...- 10-5.3 Ανάλυση της βάσης δεδοµένων ΜySQL...- 11-5.4 Η δοµή της βάσης δεδοµένων του συστήµατος...- 11-6. Παράδειγµα χρήσης του συστήµατος...- 16-6.1 Σύνδεση ως απλός επισκέπτης...- 16-6.2 Σύνδεση ως συναλλασσόµενος χρήστης...- 20-6.2.1 ιαδικασία ραντεβού...- 21-6.2.2 Πρόσθετες Επιλογές...- 26-6.3 Σύνδεση ως ιατρός...- 29-6.3.1 Παρακολούθηση των ραντεβού...- 31-6.4 Σύνδεση ως site administrator...- 33-7. Συµπεράσµατα...- 41-8. Βιβλιογραφία...- 42 - Παράρτηµα...- 43 - - 1 -

e-ppokrates Online Health Care System Πληροφοριακό Σύστηµα ιαχείρισης Πελατών Ουράς για Εφαρµογή σε Υπηρεσίες Υγείας. 1. Πρόλογος Τα τελευταία χρόνια το διαδίκτυο (Internet) είναι ένας χώρος που αναπτύσσεται και µεγαλώνει συνεχώς. Αυτό οφείλεται σε δυο αλληλένδετους λόγους. Πρώτον στο ότι ο αριθµός των προσωπικών υπολογιστών που είναι συνδεδεµένοι σ αυτό είναι σηµαντικά µεγάλος και αυξάνει συνεχώς και δεύτερον στο ότι πληθαίνουν εξίσου και οι υπηρεσίες που προσφέρονται σ αυτό. Το ότι αυξάνεται ο αριθµός των χρηστών που συνδέονται στο διαδίκτυο δείχνει ότι οι άνθρωποι πλέον έχουν αρχίσει και το εµπιστεύονται για την διεκπεραίωση προσωπικών τους υπηρεσιών. Μία από αυτές είναι και η δική µας. Η εφαρµογή µας ονοµάζεται e-ppokrates Online Health Care System. Αυτό που ουσιαστικά κάνει είναι προσφέρει ένα «εργαλείο» κατοχύρωσης ηλεκτρονικού ραντεβού µέσω του διαδικτύου (internet). Η εφαρµογή µας έχει αναπτυχθεί στην γλώσσα προγραµµατισµού PHP και έχει χρησιµοποιήσει για την αποθήκευση των δεδοµένων το Σύστηµα ιαχείρισης Βάσης εδοµένων (DBMS-Data Base Management System) MySQL. - 2 -

2. Εισαγωγή Ένα πληροφοριακό σύστηµα αποτελεί συνώνυµο ως ένα σύστηµα επεξεργασίας δεδοµένων βασισµένο σε ηλεκτρονικό υπολογιστή (computer-based data processing system) που αποτελείται µεταξύ των άλλων από την συλλογή δεδοµένων, την αποθήκευση, την επεξεργασία και την παρουσίαση της πληροφορίας ώστε να επιτευχθεί το επιθυµητό αποτέλεσµα. Η συλλογή των δεδοµένων γίνεται από την εισαγωγή αυτών από µια οµάδα χρηστών του συστήµατος, η αποθήκευση από µία βάση δεδοµένων και η επεξεργασία και η παρουσίαση αυτών από το ίδιο το σύστηµα. Το σύγγραµµα µας χωρίζεται στα παρακάτω. Αρχικά παρουσιάζουµε εν συντοµία το πρόβληµα που εξετάζουµε. Στην συνέχεια γίνεται περιγραφή της εφαρµογής µας, το πως επιλύει το πρόβληµα, ποιος είναι ο σκοπός ανάπτυξης της και ποια τα χαρακτηριστικά του. Στο επόµενο κεφάλαιο γίνεται µια ανάλυση των απαιτήσεων της και µια αναφορά στο τι απαιτείται για να λυθεί το πρόβληµα που αντιµετωπίζεται. Στο εδάφιο που ακολουθεί παραθέτουµε µια περιγραφή της βάσης δεδοµένων που σχεδιάσαµε για την εφαρµογή µας. Κατόπιν ακολουθεί ένα κεφάλαιο στο οποίο περιγράφουµε την αρχιτεκτονική του συστήµατός µας, τα δεδοµένα που χρησιµοποιούµε, και αναφερόµαστε λεπτοµερώς στην υλοποίηση του προγράµµατος µας. Τέλος στην τελευταία ενότητα αναγράφονται όλες οι διαπιστώσεις και τα συµπεράσµατα που έγιναν από την πλευρά µας. - 3 -

3. Το πρόβληµα που επιλύεται Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Το πρόβληµα µας τιτλοφορείται Πληροφοριακό Σύστηµα ιαχείρισης Πελατών Ουράς για Εφαρµογή σε Υπηρεσίες Υγείας. Είναι µια εφαρµογή µέσω της οποίας ο χρήστης µπορεί να κλείσει ένα ηλεκτρονικό ραντεβού αντί να χρησιµοποιήσει τον παραδοσιακό τρόπο για να το κάνει. Η ανάγκη που συντέλεσε στο να δηµιουργηθεί το πληροφοριακό σύστηµα ήταν ότι ο ασθενής όταν χρειάζονταν να κλείσει ένα ραντεβού έπρεπε να το κάνει µε δύο τρόπους. Ό ένας ήταν είτε να πάει προσωπικά στον χώρο του ιατρού και να κλείσει το ραντεβού µε την βοήθεια συνήθως της γραµµατείας υποστήριξης, είτε µέσω της χρήσης του τηλεφώνου, αν αυτό ήταν εφικτό, όπου καλούσε ο ασθενής και µε την βοήθεια της γραµµατείας έκλεινε το ραντεβού. Αυτό όµως δηµιουργούσε δύο προβλήµατα: Πρώτον, το ότι πολλές φορές ο ασθενής να µην µπορεί να πάει αυτοπρόσωπος στον χώρο του ιατρού γιατί δεν είχε τον ελεύθερο χρόνο να το κάνει και επιπλέον πολλές φόρες υπήρχε δυσκολία λόγω καθυστερήσεων στην ουρά αναµονής που προέκυπτε. εύτερον, δεν µπορούσε να κλείσει οποιαδήποτε στιγµή της ηµέρας το ραντεβού την ηµέρα και την ώρα που επιθυµούσε γιατί έπρεπε να κλείνει το ραντεβού τις συγκεκριµένες ώρες λειτουργίας. Εποµένως, η ιδέα της δηµιουργίας του συστήµατος αυτού προέκυψε από αύτη την ανάγκη και τα προβλήµατα που γεννούσε. Ο λόγος, λοιπόν, που αναπτύχθηκε το σύστηµα ήταν να διευκολύνει τους ασθενείς, και όχι την αντικατάσταση του υπάρχοντος συστήµατος, ως προς την ανάγκη που προαναφέρθηκε παραπάνω. Η λειτουργία του βασίζεται στο διαδίκτυο (internet) και στην τεχνολογία που αναπτύχθηκε γύρω από αυτό. Επειδή λοιπόν, δεν υπήρχε άλλο τέτοιο παρόµοιο αλλά και ολοκληρωµένο σύστηµα στο διαδίκτυο (internet) του ελληνικού χώρου, και άµεσος στόχος του συστήµατος είναι, µε την χρήση του να καλύψει αύτη την έλλειψη που υπάρχει, µέσω ενός εξελιγµένου προγράµµατος δηµιουργίας δυναµικά παραγόµενες ιστοσελίδες. - 4 -

4. Περιγραφή της εφαρµογής Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Με την χρήση του διαδικτύου υπάρχει η δυνατότητα της προβολής ιστοσελίδων από οποιοδήποτε υπολογιστή σε οποιοδήποτε χώρο γρήγορα και αξιόπιστα. 4.1 Ο σκοπός ανάπτυξης Το πρόγραµµα αυτό αναπτύχθηκε µε σκοπό να εξυπηρετήσει 2 κατηγορίες χρηστών: Οι Απλοί επισκέπτες, δηλαδή αυτοί που επισκέπτονται για πρώτη φόρα το site που περιέχει γενικές πληροφορίες για τις παρεχόµενες υπηρεσίες. Οι Συναλλασσόµενοι επισκέπτες, δηλαδή αυτοί που θα χρησιµοποιούν το πρόγραµµα και θα µπορούν να εξυπηρετούνται άµεσα από αυτό. Αναλυτικότερα, για την δεύτερη κατηγορία χρηστών, κατηγοριοποιείται σε δυο άλλες υποκατηγορίες. Η µία υποκατηγορία ονοµάζεται πελάτης και η άλλη παροχέας υπηρεσιών. Ο πελάτης, στην προκειµένη περίπτωση είναι ο ασθενής, στον οποίο κυρίως απευθύνεται το µεγαλύτερο µέρος της χρήσης του συστήµατος αυτού, και τον παροχέα υπηρεσιών, όπως αναφέρθηκε και παραπάνω, που στην προκείµενη περίπτωση είναι ο ιατρός. Όταν λοιπόν συνδέονται οι χρήστες µε το σύστηµα αυτό αρχικά ως απλοί επισκέπτες, µέσω του ηλεκτρονικού υπολογιστή τους, αναζητούν µία υπηρεσία η οποία θα τους βοηθήσει να κλείσουν το ραντεβού που επιθυµούν µε ευκολία και αξιόπιστα έτσι ώστε να επιλύσουν το πρόβληµα της αναµονής, της απόστασης και του µη συνεχούς ωραρίου. - 5 -

4.2 Η επίλυση του προβλήµατος Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Με την χρήση του συστήµατος άµεσα λύνεται το πρόβλήµα του µη συνεχούς ωραρίου λειτουργίας διότι, εφόσον το σύστηµα αυτό για να λειτουργήσει βασίζεται στην τεχνολογία του διαδικτύου (internet), µπορεί να λειτουργεί 24ώρες το 24ώρο και όλες τις ήµερες του χρόνου χωρίς διακοπή. Επιπλέον, επειδή λόγω της φύσεως του συστήµατος να χρησιµοποιεί τις δυνατότητες του internet, οι οποίες είναι και η προβολή των ιστοσελίδων στην οθόνη ενός οποιουδήποτε υπολογιστή, σε οποιοδήποτε χώρο αρκεί να είναι συνδεδεµένος µε το διαδίκτυο, «εκµηδενίζόντας» µε αυτό τον τρόπο την απόσταση µεταξύ ασθενή και της γραµµατείας υποστήριξης που ήταν υπεύθυνη για να κλείσει το ραντεβού. Επιπροσθέτως, έλυνε και το πρόβληµα της αναµονής στην ουρά διότι ο κάθε ασθενής, µε την χρήση του συστήµατος, στην ουσία βρίσκεται σε άµεση επικοινωνία µε αυτό χωρίς την ταλαιπωρία της αναµονής. Βέβαια το σύστηµα αυτό, όπως αναφέρθηκε και παραπάνω, δεν απευθύνεται µόνο στους επισκέπτες και στους ασθενείς, αλλά και στους ιατρούς, οι οποίοι θα το χρησιµοποιούν µε διαφορετικό τρόπο από τι οι ασθενείς. Έτσι οι γιατροί θα µπορούν να ελέγχουν για τα πιθανά ραντεβού που θα τους προκύπτουν και θα τους επιτρέπεται να µπορούν να τα διαχειρίζονται. - 6 -

4.3 Χαρακτηριστικά του συστήµατος Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Όπως προειπώθηκε το σύστηµα αυτό βασίζεται στην λειτουργία του στο internet και γράφτηκε µε την γλώσσα προγραµµατισµού PHP. Για την βάση δεδοµένων βασίζεται στην MySQL, στην οποία αποθηκεύονται τα δεδοµένα. Επιπλέον το σύστηµα αυτό έχει τα εξής χαρακτηριστικά ανάλογα µε το ποιος χρήστης συνδέεται και χρησιµοποιεί την ιστοσελίδα: Αν πρόκειται για απλό επισκέπτη, θα µπορεί : Πλοηγείται σε ορισµένες σελίδες του συστήµατος Να πληροφορείται για την υπηρεσία που του προσφέρει το σύστηµα. Να αναζήτα κάποιον ιατρό µε βάση την ειδικότητα ή το ονοµατεπώνυµό του. Να του δίνεται η δυνατότητα να χρησιµοποιήσει την υπηρεσία αφού πρώτα εισάγει τα στοιχεία του στο σύστηµα. Από την πλευρά του συναλλασσόµενου επισκέπτη ή αλλιώς τον ασθενή να µπορεί : Να κλείνει και να διαχειρίζεται τα ηλεκτρονικά ραντεβού του την ηµέρα και την ώρα που επιθυµεί. Να µπορεί να διαχειρίζεται κάποια στοιχεία από τον λογαριασµό του. Να µπορεί να αποστέλλει οποιαδήποτε ήµερα και ώρα µήνυµα στον γιατρό της αρεσκείας. Να αναζήτα κάποιον ιατρό µε βάση την ειδικότητα ή το ονοµατεπώνυµό του. Πλοηγείται στις σελίδες του συστήµατος Από την πλευρά του συναλλασσόµενου επισκέπτη ή του γιατρού να µπορεί : - 7 -

Να κοιτάει για τα ηλεκτρονικά ραντεβού του. Να διαχειρίζεται τα ηλεκτρονικά ραντεβού του. Να µπορεί να βλέπει το λογαριασµό του ασθενή. Επιπλέον, από αυτές τις κατηγορίες χρηστών θα υπάρχει και ένας µοναδικός χρήστης, ο διαχειριστής της ιστοσελίδας (website administrator), ο οποίος είναι υπεύθυνος για την συντήρηση της και την εισαγωγή δεδοµένων που παραµετροποιούν την ιστοσελίδα αναλόγως του περιβάλλοντος εγκατάστασης και λειτουργίας. Πιο αναλυτικά, θα είναι υπεύθυνος για την εισαγωγή των στοιχείων των ιατρών στην βάση δεδοµένων έτσι ώστε η ιστοσελίδα να ενηµερώνεται αυτόµατα για νέες εγγραφές ιατρών ή και αποµάκρυνση παλιών εγγραφών από την βάση δεδοµένων. Επιπλέον, θα εισάγει στοιχεία που µε αυτά το σύστηµα θα ενηµερώνεται για το πότε είναι αργία έτσι ώστε ο χρήστης να αδυνατεί να κλείσει ραντεβού. - 8 -

5. Περιγραφή της µεθοδολογίας 5.1 Ανάλυση της γλώσσας προγραµµατισµού PHP Η PHP κατασκευάστηκε το 1994 από τον, Rasmus Lerdorf, που όµως έγινε αποδεκτή από πολλούς άλλους ανθρώπους, οι οποίοι ξαναέγραξαν και τροποποίησαν τον πυρήνα, έτσι ώστε να φτάσει την µορφή που είναι σήµερα. Η τελευταία έκδοση του είναι η 4. Η PHP αποτελεί γλώσσα προγραµµατισµού ανοικτού πυρήνα (Open Source) και αρχικά σήµαινε Personal Home Page, αλλά αργότερα άλλαξε σε PHP Hypertext Preprocessor. Η PHP, είναι µια ευρέως χρησιµοποιούµενη, ανοιχτού κώδικα, γενικού σκοπού scripting γλώσσα προγραµµατισµού, η οποία είναι ειδικά κατάλληλη για ανάπτυξη εφαρµογών (developing) για το διαδίκτυο (web), και µπορεί να ενσωµατωθεί στην HTML. Η σύνταξη της παίρνει στοιχεία της C, Java, και Perl. Ο κύριος στόχος της γλώσσας είναι να επιτρέπει σε web developers να γράφουν δυναµικά παραγόµενες σελίδες (webpages) γρήγορα. Η PHP επικεντρώνεται κυρίως στο server-side scripting, έτσι µπορεί να κάνει οτιδήποτε µπορεί ένα άλλο CGI πρόγραµµα να κάνει, όπως να µαζέψει δεδοµένα, να παράγει δυναµικό περιεχόµενο σελίδων, ή να στείλει και να πάρει cookies. Τα χαρακτηριστικά της είναι : HTTP authentication Cookies Handling file uploads Χρησιµοποίηση αποµακρυσµένων αρχείων Χειρισµός Συνδέσεων Persistent Database Connections Safe Mode Χρησιµοποιώντας την PHP από την γραµµή εντολών Την οποία ανάπτυξη τους παραπάνω από µία απλή αναφορά ξεφεύγει από τα πλαίσια αυτού του συγγράµµατος. - 9 -

5.2 Εγκατάσταση της PHP Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Για να χρησιµοποιηθεί η PHP πρέπει να υπάρχει εγκατεστηµένος ένας εξυπηρετητής σελίδων (web server). Οι ποιο διάσηµοι είναι o Internet Information Server (I.I.S) της εταιρείας Microsoft, και ο άλλος είναι ο Apache Server. Για την εφαρµογή µας εµείς θα χρησιµοποιήσουµε τον δεύτερο, γιατί έχει καλύτερη υποστήριξη της PHP και δεύτερον µπορεί κανείς να τον προµηθευτεί ελεύθερα από το επίσηµο site, σε αντίθεση περίπτωση µε τον IIS που πρέπει να πληρώσεις την άδεια χρήσης για να τον χρησιµοποιήσεις. Εποµένως πρέπει πρώτα να εγκατασταθεί ο Apache Server και έπειτα η PHP. Αφού λοιπόν προµηθευτούµε τα δύο προγράµµατα και ολοκληρωθεί η εγκατάσταση και των δύο, θα πρέπει να προστεθούν οι εξής γραµµές στο αρχείο http.conf που βρίσκετε στο directory /conf του Apache Server, έτσι ώστε ο server να δει την PHP ως module και όχι ως CGI: LoadModule php4_module c:/php/sapi/php4apache.dll AddModule mod_php4.c AddType application/x-httpd-php.php - 10 -

5.3 Ανάλυση της βάσης δεδοµένων ΜySQL Η MySQL είναι ένα σύστηµα διαχείρισης βάσης δεδοµένων. Η βάση δεδοµένων είναι µία δοµή συλλογής δεδοµένων. Αυτά µπορεί να είναι από µία απλή ηλεκτρονική λίστα αγορών έως από µεγάλές ποσότητες πληροφοριών σε ένα µεγάλο επιχειρησιακό δίκτυο. Για την προσθήκη, την πρόσβαση και την επεξεργασία αυτών των δεδοµένων σε µία βάση δεδοµένων, απαιτείται η χρήση ενός συστήµατος διαχείρισης βάσης δεδοµένων όπως η MySQL Server. Η MySQL είναι ένα σχεσιακό σύστηµα διαχείρισης βάσης δεδοµένων. Η σχεσιακή βάση δεδοµένων αποθηκεύει τα δεδοµένα σε ξεχωριστούς δίσκους από να βάζει όλα τα δεδοµένα σε ένα µεγάλο αποθηκευτικό χώρο. Αυτό προσθέτει ταχύτητα και ελαστικότητα. Οι πίνακες είναι συνδεδεµένοι µε σχέσεις έτσι ώστε να είναι δυνατό να συνδυάζονται δεδοµένα από πολλούς πίνακες όταν ζητούντα. Η MySQL είναι πρόγραµµα ανοικτού κώδικα. Ανοιχτός κώδικας σηµαίνει ότι είναι δυνατό για τον καθένα να χρησιµοποιεί και να τροποποιεί τον κώδικα και να τον αλλάξει ανάλογα µε τις ανάγκες του. Επιπλέον υπάρχει υποστήριξη σε πολλαπλές πλατφόρµες. Η MySQL είναι διαθέσιµη σε παραπάνω από είκοσι διαφορετικές πλατφόρµες συµπεριλαµβανοµένου τις περισσότερες διανοµές του Linux, Mac OS X, UNIX και Microsoft Windows. 5.4 Η δοµή της βάσης δεδοµένων του συστήµατος Κάθε βάση δεδοµένων προτού αρχίσει να στήνεται σε ένα υπολογιστικό σύστηµα βασίζεται σε ένα µοντέλο E R που µας δείχνει τις σχέσεις µεταξύ των πινάκων της βάσης αλλά και σε ένα λογικό µοντέλο. Η εφαρµογή µας λοιπόν βασίζεται στο ακόλουθο E - R µοντέλο που µας δείχνει το σχέδιο 1 και το λογικό µοντέλο στο σχέδιο 2 στην επόµενη σελίδα. - 11 -

Firstname Lastname description Firstname Father s name birthyear Patients phone ID number insurance Address Sex Password email Patient messagi ng Appointme nts time year day history State date month Doctor ID Lastname Doctor messagi ng Doctors Doc_ spec address Doc_day _off phone birthyear active Days_off year month Specialities day Messages name time date text Σχέδιο 1 Μοντέλο ER - 12 -

Patients ID_number Firstname Lastname Sex Birthyear phone password email Address Father s name insurance Doctors Doctor_ID Lastname Firstname speciality_id address phone password active Appointments Doctor_ID ID_number Time month year state history description Loginfo URI IP_address datetime Session_id User_code Messages text Sms_to Sms_from date time Days off day Month Year For_who Speciality Specialities Spec_id Admin Admin_password Σχέδιο 2 Λογικό Μοντέλο Όπως παρατηρούµε στο σχέδιο 1, περιλαµβάνονται κάποιες οντότητες και σχέσεις, οι οποίες αναλύονται παρακάτω. - 13 -

Οντότητες : Υλοποιώντας τη βάση για το τρέχον εγχείρηµα χρησιµοποιούµε µια πληθώρα στοιχείων ( για τους γιατρούς και τους ασθενείς. Για το ιατρικό προσωπικό µας ενδιαφέρουν το Doctor_id, µοναδικός αριθµός (πρωτεύον κλειδί) για κάθε γιατρό που µας βοηθάει να τον ξεχωρίζουµε από τους υπόλοιπους -λόγο συνωνυµιών- και χρησιµοποιείται ως username, επίσης χρησιµοποιούµε τα στοιχεία όνοµα και επίθετο όπως διεύθυνση και τηλέφωνο και τέλος κάποιο κωδικό λογαριασµού για την επιβεβαίωση του χρήστη ιατρού. Τέλος χρησιµοποιούµε το στοιχείο active ως εκφραστή για το κατά πόσο είναι ενεργοποιηµένος ο λογαριασµός ιατρού ή όχι Παροµοίως για τους ασθενείς χρησιµοποιήσαµε ως πρωτεύον κλειδί τον αριθµό ταυτότητας τους για να εξασφαλίσουµε τη µοναδικότητα µαζί µε το απαραίτητο password για πιστοποίηση.επιπλέον χρησιµοποιήθηκαν τα στοιχεία ονοµατεπώνυµο, έτος γεννήσεως email φύλο τηλέφωνο διεύθυνση και την ασφάλεια που είναι συµβεβληµένος ο ασθενής. Στη συνέχεια τα µηνύµατα, τρόπος έκφρασης ανάµεσα στους ασθενείς και ιατρούς πριν και µ ετά το ραντεβού για συµβουλές και υπενθυµίσεις. Μας ενδιαφέρουν το κείµενο του µηνύµατος η ηµεροµηνία και η ώρα. Ειδικότητες όρος αναπόσπαστα συνδεδεµένος µε την ιατρική και το ιατρικό προσωπικό το µόνο στοιχείο που µας ενδιαφέρει να ξέρουµε είναι η ειδικότητα η ίδια, δ ηλαδή το όνοµά της. Τέλος τα ρεπό όρος άρρηκτα συνδεδεµένος µε οποιαδήποτε δουλειά πάνω στον πλανήτη, χρησιµοποιούν την ηµεροµηνία σαν γνώρισµά τους. - 14 -

Σχέσεις: Οι σχέσεις patient-messaging και doctor-messaging µεταξύ ιατρών ασθενών και µνηµάτων ορίζεται βάζοντας τα πρωτεύοντα κλειδιά στον πίνακα messages στα πεδία Sms_from και Sms_to ανάλογα µε το ρόλο που κατέχει ο έκαστος ιατρός ή ασθενής κάθε φορά. Στη συνέχεια η σχέση appointments καταλήγει ξεχωριστός πίνακας εφόσον και οι κατεύθυνσης προς τις δυο µεριές είναι Ν-Μ παίρνοντας ως πεδία τα πρωτεύοντα κλειδιά των ασθενών και ιατρών και τα υπόλοιπα στοιχεία που είναι ηµεροµηνία ώρα κατάσταση περιγραφή προβλήµατος και η διάγνωση που αποθηκεύεται στο πεδίο history. Επιπροσθέτως η σχέση Doc_spec είναι Ν-1 και έρχεται στο προσκήνιο µε την προσθήκη του πρωτεύοντος κλειδιού από τον πίνακα στο κατάλληλο πεδίο spec_id του π ίνακα των ιατρών. Τέλος η σχέση Doc_day_off, όπου χαρακτηρίζεται 1-Ν, πραγµατοποιείται αν τοποθετήσουµε το πρωτεύον κλειδί του πίνακα των ιατρών στον πίνακα days_off στο πεδίο for_who. Επιπλέον, στο λογικό διάγραµµα παρατηρούνται δυο πίνακες που δεν αναλύονται, οι loginfo και admin. Ο δε πρώτος χρησιµεύει στην καταγραφή στατιστικών στοιχειών και ο δεύτερος κρατάει αποθηκευµένο το password του διαχειριστή. - 15 -

6. Παράδειγµα χρήσης του συστήµατος Στις παρακάτω εικόνες παραθέτουµε ένα παράδειγµα χρήσης της εφαρµογής µας. Η λειτουργία της είναι σε δυο στάδια. Στο πρώτο κάνουµε χρήση συστήµατος ως επισκέπτες και στην συνέχεια ως ασθενείς, και στο δεύτερο χρησιµοποιούµε την εφαρµογή µας ως γιατροί και στην συνέχεια ως site administrator. 6.1 Σύνδεση ως απλός επισκέπτης Με το που συνδεθεί ο χρήστης (απλός επισκέπτης) µε την ιστοσελίδα θα του παρουσιαστεί τη πρώτη σελίδα. (Εικόνα 1) Εικόνα 1 Εδώ ο χρήστης, ως απλός επισκέπτης, µπορεί να επιλέξει µία από τις επιλογές του κεντρικού µενού (1), δηλαδή την «Επικοινωνία, Εύρεση ιατρού, Εγγραφή, Είσοδος» ενώ αν επιλέξει µία από τις επιλογές από την αριστερή σειρά (2) θα του βγάλει µία προτροπή για έγγραφη αν επιλέξει τις επιλογές των ασθενών αλλιώς θα του βγάλει µήνυµα απαγόρευσης αν επιλέξει τις επιλογές των ιατρών. - 16 -

Αν επιλεχτεί η επιλογή «Επικοινωνία» θα του παρουσιαστεί η σελίδα (Εικόνα 2). Εικόνα 2 Η οποία απλά του παρουσιάζει κάποιες πληροφορίες σχετικά αν θέλει κάποιος να επικοινωνήσει µε email µε την υπηρεσία. Αν επιλεχτεί η επιλογή «Εύρεση Ιατρού», ο επισκέπτης θα δει µία σελίδα (Εικόνα 3) µε την οποία µπορεί να αναζητήσει έναν γιατρό µε κριτήριο είτε την ειδικότητα του ή το όνοµα και το επίθετο του. Εδώ αν επιλέξει την (1) επιλογή θα έχει ως αποτέλεσµα την εµφάνιση όλων των ιατρών µε την ειδικότητα επιλογής. Αν επιλέξει την (2) θα του εµφανίσει τους γιατρούς ανάλογα µε το αν συµπληρωθεί το πεδίο, Όνοµα ή το πεδίο, Επίθετο. ηλαδή αν π.χ. συµπληρωθεί το όνοµα «Μιχάλης» τότε, θα του εµφανιστούν όλοι η γιατροί που το όνοµά τους είναι «Μιχάλης». Όµοια και το επίθετο. Πρόσθετα αν δοθούν και το Όνοµα και το Επίθετο, θα εµφανιστούν όλοι οι γιατροί µε το κριτήριο αυτό ( αν υπάρχουν περισσότεροι από ένας). Έστω λοιπόν επιλεχτεί η πρώτη επιλογή (1), και επιλέξουµε την Εικόνα 3-17 -

ειδικότητα Χειρούργος και κάνουµε click στο κουµπί επόµενο, θα δούµε τους ιατρούς µε την ειδικότητα αυτή που στην ουσία γίνεται ένα query στην βάση δεδοµένων SELECT doctors.lastname, doctors.firstname, doctors.doctor_id, specialities.speciality FROM doctors, specialities WHERE doctors.speciality_id = specialities.spec_id AND doctors.speciality_id = '$query_speciality', όπου η µεταβλητή $query_speciality = Χειρούργος αποτελέσµατα. (Εικόνα 5) και µας εµφανίζονται τα Εικόνα 5 Εδώ ο επισκέπτης έχει διάφορες επιλογές. Είτε να κάνει click πάνω στο Ονοµ ατεπώνυµο του ιατρού και αφού εκτελεστεί το ερώτηµ α( query) στην βάση δεδοµένων SELECT doctors.*, specialities.speciality FROM doctors,specialities WHERE doctors.speciality_id = specialities.spec_id AND doctors.doctor_id = '$doctor_id'" - 18 -

όπου η µεταβλητή $doctor_id' αντιπροσωπεύει τον µοναδικό αριθµό του ιατρού, να δει διάφορες πληροφορίες για αυτόν και αν το επιθυµεί να κλείσει ραντεβού µαζί του (Εικόνα 6) Εικόνα 6 Αν πατήσει το κουµπί ΡΑΝΤΕΒΟΥ και εφόσον ο χρήστης δεν είναι εγγεγραµµένος η σελίδα θα τον οδηγήσει στην σελίδα εγγραφής λογαριασµού. Εφ όσον ο επισκέπτης συµ πληρώσει τα στοιχεία του και τα επιβεβαιώσει για την ορθότητα τους, η εφαρµογή τον πηγαίνει στην σελίδα για επιλογή της επιθυµητής ηµεροµηνίας (Εικόνα 7) για ραντεβού µε τον γιατρό που επέλεξε από την αναζήτηση. Στην συνέχεια ξεκινάει η διαδικασία Επιλογής Επιθυµητής Ηµεροµηνίας Ραντεβού, όπου θα αναλυθεί σε επόµενο κεφάλαιο. Εικόνα 7-19 -

6.2 Σύνδεση ως συναλλασσόµενος χρήστης Αν επιλεχτεί η επιλογή Εγγραφή (sign_in.php), ο επισκέπτης θα µπορεί να συµπληρώσει µία φόρµα µε τα στοιχεία του έτσι ώστε να εγγραφεί µε το σύστηµα και έτσι να µπορέσει να χρησιµοποιήσει τις υπηρεσίες της εφαρµογής. Εφ όσον ο επισκέπτης συµπληρώσει τα στοιχεία του και τα επιβεβαιώσει για την ορθότητα τους, η εφαρµογή τον πηγαίνει στην αρχική σελίδα αυτή την φορά όµως ως εγγεγραµµένος χρήστης και του εµφανίζονται κάποιες επιπλέον επιλογές στο κεντρικό µενού αλλά και στην αριστερά πλευρά. Αντίθετα η επιλογή Είσοδος εξαφανίζεται, γιατί εφ όσον ο χρήστης, εγγεγραµµένος πλέον, δεν υπάρχει ανάγκη να εµφανίζεται η επιλογή αυτή. Στην αριστερή πλευρά υπάρχει ένα πεδίο που ενηµερώνει τον χρήστη για το αν έχει νέα µηνύµατα και αν το επιλέξει θα πάει στην σελίδα για την αποστολή νέου µηνύµατος. Επιπλέον υπάρχει και ο σύνδεσµος Επιλογές, όπου η εφαρµογή παρέχει κάποιες επιπλέον υπηρεσίες. - 20 -

6.2.1 ιαδικασία ραντεβού Επιλογή Ιατρού Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Στην επιλογή Ραντεβού ( Εικόνα 8 ), ο χρήστης θα αρχίσει την διαδικασία για να κλείσει το ραντεβού του. Από αύτη την σελίδα στην ουσία ξεκινάει ο χρήστης την διαδικασία ώστε να κλείσει ραντεβού. Εικόνα 9 Εδώ ο ασθενής καλείτε να διαλέξει µία από τις ειδικότητες γιατρών, και έπειτα να επιλέξει το κουµπί Επιλογή ιατρού. Αυτό γίνεται εκτελώντας ένα query SELECT * FROM specialities GROUP BY speciality στην βάση δεδοµένων στον πίνακα doctors που µας ανακτά µόνο τις µοναδικές εγγραφές µε κριτήρια την ειδικότητα (speciality). Αφού επιλέξει π.χ. Χειρούργος, θα οδηγηθεί στην επόµενη σελίδα (Εικόνα 9) όπου έχοντας εκτελεστεί ένα query SELECT lastname,firstname,doctor_id FROM doctors WHERΕ speciality_id= $specialty - 21 -

στην βάση εµφανίζει τους ιατρούς µε τ ην ειδικότητα αυτή. Εικόνα 9 Εν συνεχεία, επιλέγοντας ένα από τους ιατρούς και κάνοντας click στο κουµπί Επιλογή Ηµεροµηνίας, η εφαρµογή τον πηγαίνει στην σελίδα για επιλογή της επιθυµητής ηµεροµηνίας (Εικόνα 10) για ραντεβού µε τον γιατρό που επέλεξε. Επιλογή Επιθυµητής Ηµεροµηνίας Ραντεβού Εδώ ο ασθενής θα δει την σελίδα µε το ηµερολόγιο (Εικόνα 10). Εικόνα 10 και θα µπορέσει να κλείσει το ραντεβού την ηµέρα που επιθυµεί ύστερα πάντα της τρέχουσας Ηµεροµηνίας. ηλαδή, αν η τρέχουσα ηµεροµηνία είναι 9/06/2004, τότε ο - 22 -

ασθενής θα µπορεί να κλείσει ραντεβού στις 10/06/2004 και ύστερα. Σε κάθε άλλη περίπτωση θα εµφανιστεί επιλογή λάθους. Επιπλέον, Κυριακές και Σάββατα απαγορεύεται ο ασθενής να κλείσει ραντεβού. Επίσης, θα υπάρχει περίπτωση στο ηµερολόγιο να εµφανίζεται αντί της ηµέρας η λέξη Αργία, που σηµαίνει ότι ο ασθενής εφ όσον είναι αργία δεν θα µπορεί να κλείσει ραντεβού για την συγκεκριµένη ηµέρα. Αφού λοιπόν επιλέξει την επιθυµητή ηµεροµηνία έστω την 10/06/2004, η εφαρµογή µας τον οδηγεί στην επόµενη σελίδα επιλογής επιθυµητής ώρας για ραντεβού (Εικόνα 11). Επιλογή επιθυµητής ώρας ραντεβού Σε αυτή την σελίδα ο ασθενής θα δει τις διαθέσιµες ώρες του ιατρού που επέλεξε στην συγκεκριµένη ηµεροµηνία. Εικόνα 11 Εδώ εµφανίζονται οι ώρες που είναι διαθέσιµος ο ιατρός. Αυτό γίνεται εκτελώντας ένα query SELECT * FROM appoitments WHERE doctor_id='$doctor_id' AND year='2004' AND month='6' AND day='10' - 23 -

στην βάση δεδοµένων και µπορεί ο ασθενής να κάνει click πάνω στην ώρα ή στην λέξη διαθέσιµος της αντίστοιχης ώρας. Αντίθετα, όπου υπάρχει η λέξη ΜΗ ΙΑΘΕΣΙΜΟΣ ο ασθενής δεν µπορεί να κάνει click και να κλείσει ραντεβού. Μια παρατήρηση: Αν τύχει και µία µέρα ο ιατρός έχει ραντεβού σε όλες τις ώρες, δηλαδή είναι κλεισµένος για όλη την ηµέρα και ο ασθενής επιλέξει την ηµέρα αυτή, η εφαρµογή θα του δείξει ότι ο ιατρός είναι κλεισµένος για αυτήν την ηµέρα και θα του προτείνει να επιλέξει µια διαφορετική ηµέρα. Επιλέγοντας λοιπόν, µια ώρα, η εφαρµογή µας πηγαίνει στην σελίδα Λεπτοµέρειες Ραντεβού.(Εικόνα 12) Εικόνα 12 όπου µ ας εµφανίζει µε ποιον ιατρό θα κλείσουµε το ραντεβού, τι ειδικότητα έχει και σε ποια ηµεροµηνία και ώρα θα είναι το ραντεβού. Επιπλέον ο χρήστης έχει την δυνατότητα να περιγράψει το πρόβληµα του ενηµερώνοντας έτσι τον γιατρό για το ιατρικό πρόβληµα που τον απασχολεί. Έπειτα πατώντας το κουµπί Επικύρωση Ραντεβού επικυρώνεται το ραντεβού ο ασθενής οδηγείται στην σελίδα Επικύρωσης Ραντεβού και δείχνει ότι η διαδικασία ραντεβού ολοκληρώθηκε επιτυχώς.(εικόνα 13) - 24 -

Εικόνα 13 όπου εµφανίζεται και αναλύεται το ραντεβού του ασθενή. Στην σελίδα αυτή καταχωρείται το ραντεβού µε ένα query στην βάση δεδοµένων που κάνει εισαγωγή των δεδοµένων INSERT INTO appoitments (doctor_id, ID_number, time, day, month, year, description ) VALUES ('$doctor_id',' ".$_SESSION['id_number']."', '$time', '$day', '$month','$year','$description'), όπου οι µεταβλητές µέσα στην παρένθεση µετά το VALUES έχουν τα δεδοµένα που θα αποθηκευτούν µέσα στην βάση δεδοµένων. Από εδώ ο ασθενής µπορεί να επιστρέψει στην αρχική σελίδα πατώντας στον σύνδεσµο. - 25 -

6.2.2 Πρόσθετες Επιλογές Όταν ο ασθενής δηλώσει την είσοδο του τότε στα αριστερά της σελίδας εµφανίζεται 2 Επιλογές : Έχετε email Επιλογές Στο Έχετε email, το σύστηµα τον ενηµερώνει αν έχει νέα email και αν υπάρχουν εµφανίζεται ένας αριθµός ανάλογα µε το πλήθος των νέων email. Επιλέγοντας τον σύνδεσµο, εποµένως, ο ασθενής θα µεταφερθεί στην σελίδα της θυρίδας µηνυµάτων (Εικόνα 14) Εικόνα 14 Εδώ εµφανίζονται όλα τα µηνύµατα (email) του ασθενή, άλλα αυτά που είναι νέα, δηλαδή µ η αναγνώσιµα, εµφανίζονται µε έντονη γραφή, ενώ όλα τα υπόλοιπα µε κανονική µορφή. Επιλέγοντας, λοιπόν, (Εικόνα 15) είτε τον αποστολέα ή το θέµα ο ασθενής θα δει το εισερχόµενο µήνυµα του. - 26 -

Εικόνα 15 Από εδώ ο ασθενής αφού το διαβάσει µπορεί να το διαγράψει επιλέγοντας το «ιαγραφή» και πατώντας το κουµπί Επιλογή το µήνυµα θα διαγραφεί. Επιπλέον µπορεί να απαντήσει στο µήνυµα πατώντας το κουµπί Απάντηση και να οδηγηθεί στην σελίδα Αποστολής Μηνύµατος (Εικόνα 16). Εικόνα 16 Εδώ ο ασθενής µπορεί να απαντήσει στο µήνυµα που του έστειλε κάποιος ιατρός γράφοντας το θέµα και το κείµενο που επιθυµεί. - 27 -

Εκτός του συνδέσµου Έχετε email, ο ασθενής µπορεί να κάνει click στον σύνδεσµο Επιλογές. Εδώ ο ασθενής µπορεί να στείλει ένα µήνυµα στον ιατρό της αρεσκείας του και να µπορέσει να διαχειριστεί τον λογαριασµό του.(εικόνα 17) Εικόνα 17 Όµως ο ασθενής µπορεί να αλλάξει ορισµένα από τα στοιχεία του, όπως την διεύθυνση, το τηλέφωνο, e-mail, και τον κωδικό εισόδου. Αυτό επιτυγχάνεται µε ένα update στην βάση δεδοµένων UPDATE patients SET address='$address', phone='$phone', email='$email', password = '$md5_password' WHERE id_number = '$id_number' έτσι µετά από επιτυχηµένη κατοχύρωση, ο λογαριασµός τροποποιείται. - 28 -

6.3 Σύνδεση ως ιατρός Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Όταν ο χρήστης αποτελεί τον γιατρό, τότε ο ιατρός θα συνδεθεί επιλέγοντας στην αρχική σελίδα στον τοµέα «Ιατρικό προσωπικό - Είσοδος Ιατρών» (Εικόνα 18) Εικόνα 18 Αφού συνδεθεί, στο αριστερό µενού υπάρχουν κάποιες επιλογές. Αρχικά υπάρχει η επιλογή να βλέπει τα µηνύµατα που του στέλνουν οι ασθενείς. Επιλέγοντας λοιπόν τον υπερσύνδεσµο «Έχετε mail», ο ιατρός θα δει τα µηνύµατα του (Εικόνα 19) και από ποιον στάλθηκαν. - 29 -

Εικόνα 19 Παρόµοια λοιπόν µε τον χρήστη «Ασθενή», εµφανίζονται όλα τα µηνύµατα (email), άλλα αυτά που είναι νέα, δηλαδή µη αναγνώσιµα, εµφανίζονται µε έντονη γραφή, ενώ όλα τα υπόλοιπα µε κανονική µορφή. Επιλέγοντας, λοιπόν, είτε τον αποστολέα ή το θέµα ο ασθενής θα δει το εισερχόµενο µήνυµα του. (Εικόνα 20) Εικόνα 20 Από εδώ ο ιατρός αφού το διαβάσει µπορεί να το διαγράψει επιλέγοντας το «ιαγραφή» και πατώντας το κουµπί Επιλογή το µήνυµα θα διαγραφεί. Επιπλέον µπορεί να απαντήσει στο µήνυµα πατώντας το κουµπί Απάντηση και να οδηγηθεί στην σελίδα Αποστολής Μηνύµατος (Εικόνα 21). - 30 -

Εικόνα 21 Εδώ ο ιατρός µπορεί να απαντήσει στο µήνυµα που του έστειλε κάποιος ασθενής γράφοντας το θέµα και το κείµενο που επιθυµεί. 6.3.1 Παρακολούθηση των ραντεβού Εκτός του συνδέσµου Έχετε email, ο ιατρός µπορεί να κάνει click στον σύνδεσµο Ραντεβού. Εδώ ο ιατρός µπορεί να παρακολουθήσει τα ραντεβού του βλέποντας πάντα τον τρέχων µήνα και τον επόµενο.(εικόνα 22) Εικόνα 22-31 -

Εδώ ο ιατρός βλέπει µε έντονο γαλάζιο τις ηµέρες πού έχεί έστω και ένα ραντεβού και µε ένα ποιο αχνό γαλάζιο την σηµερινή ηµέρα εκτός και αν Εικόνα 23 οι δύο ηµέρες συµπέσουν όποτε η ήµερα θα «µαρκαριστεί» µε το έντονο γαλάζιο. Εποµένως ο ιατρός επιλέγοντας το ραντεβού του µεταφέρετε στην σελίδα όπου βλέπει τα ηµερήσια του ραντεβού. Επιλέγοντας λοιπόν, ένα ραντεβού βλέπει το ιατρικό ιστορικό του ασθενή (Εικόνα 23) και ποιο ραντεβού απευθύνεται στον ίδιο. - 32 -

6.4 Σύνδεση ως site administrator. Πτυχιακή Εργασία Μπερσίµης Μιχαήλ (Α.Μ. 1982) Με το που συνδεθεί ο χρήστης (απλός επισκέπτης) µε την ιστοσελίδα θα του παρουσιαστεί τη πρώτη σελίδα. (Εικόνα 24) Εικόνα 24 Εδώ ο χρήστης, µπορεί να εισάγει στο πεδίο (1) το username διαχειριστή που είναι admin και το προκαθορισµένο password που είναι 123456 το οποίο µπορεί να αλλαχθεί µόνο µέσ α από τη βάση δεδοµένων. Στη συνέχεια, ο χρήστης αφού έχουν εξελιχθεί όλα ευνοϊκά και χωρίς ορθογραφικά λάθη, οδηγείται στο παρακάτω µενού (Εικόνα 25). Εικόνα 25-33 -

Όπου από εδώ ο διαχειριστής µπορεί να διαχειριστεί τους λογαριασµούς των ιατρών, ρεπό και αργίες και τέλος να παρακολουθήσει στατιστικά στοιχεία µε τη µορφή διαγραµµάτων. Αν επιλεχτεί η επιλογή «ΠΡΟΣΘΕΣΕ ΓΙΑΤΡΟ ΣΤΗΝ ΥΠΗΡΕΣΙΑ», ο χρήστης θα δει τη σελίδα (add_doc.php) µε την οποία µπορεί να εισάγει στην υπηρεσία νέους λογαριασµούς ιατρών.(εικόνα 26) Εικόνα 26 Η επιλογή ειδικότητας παίρνει το περιεχόµενο µε την χρήση της SELECT * FROM specialities Αφού λοιπόν ο χρήστης προσθέσει τα κατάλληλα στοιχειά για τον ιατρό και επιλέξει τις κατάλληλες τιµές στα πεδία ειδικότητα και έτος γεννήσεως επέρχεται έλεγχος αν τα πεδία password ταιριάζουν και τότε µας οδηγεί στη σελίδα (Εικόνα 27), όπου αφού κωδικοποιήσει το password µε τη µέθοδο md5 στέλνει το ερώτηµα στην βάση δεδοµένων - 34 -

INSERT INTO doctors(firstname,lastname,speciality_id,birthyear,address,phone,passwor d)values('$firstname','$lastname','$speciality',$birth_year,'$address','$p hone','$md5_password' για να εισαχθούν τα στοιχεία του ιατρού. Ύστερα από την επιτυχή εκτέλεση, η σελίδα (Εικόνα 27) επιστρέφει τον αριθµό εγγραφής του ιατρού όπου είναι και το user name του. Εικόνα 27 Ακολουθώντας το δεύτερο link «ΠΡΟΣΘΕΣΕ ΕΙ ΙΚΟΤΗΤΑ οδηγούµαστε στην σελίδα (Εικόνα 28) και στο παρακάτω µενού : ΣΤΗΝ ΥΠΗΡΕΣΙΑ» Εικόνα 28-35 -

Η λίστα µε τις ειδικότητες παίρνει το περιεχόµενο µε την χρήση της SELECT * FROM specialities όπως και παραπάνω. Στο συγκε κριµένο µενού αν δώσουµε όνοµα ειδικότητας το αρχείο θα εκτελέσει την εντολή SQL : INSERT INTO specialities (speciality) VALUES ('$name') Η οποία θα περάσει το όνοµα της ειδικότητας σε µια νέα εγγραφή,στο δεύτερο πεδίο αυτού του πίνακα θα εισαχθεί ο αριθµός εγγραφής αυτόµατα από τη βάση. Στη συνέχεια η επιλογή «ΠΡΟΣΘΕΣΕ Ή ΑΦΑΙΡΕΣΕ ΑΡΓΙΕΣ» µας µεταφέρει µέσω της σελίδας (Εικόνα 29 & 30) στην παρακάτω εικόνα Εικόνα 29-36 -

Εδώ το αρχικό query στη βάση Εικόνα 30 SELECT day FROM days_off WHERE for_who='global' AND month='$current_month' AND year='$current_year' γίνεται για να επιστραφούν οι µέρες που έχουν καταχωρηµένη αργία. Στην συνέχεια ο χρήστης έχει τρεις επιλογές 1. να διαλέξει ηµεροµηνία για να καταχωρήσει αργία µε την εξής ερώτηση : INSERT INTO days_off VALUES ('$day','$month','$year','global') Η λέξη global επισηµαίνει στο πρόγραµµα oτι η γενική αργία και όχι σε µεµονωµένο ρεπό. συγκεκριµένη εγγραφή αναφέρεται σε 2. να διαλέξει κάποιο τετράγωνο που αναγράφει αργία για να διαγράψει την αντίστοιχη καταχώρηση µε το query : DELETE FROM days_off WHERE day='$day' AND month='$month' AND year='$year' AND for_who='global' - 37 -

3. ενώ τέλος µπορεί να δει και τον επόµενο µήνα και να διαχειριστεί τις αργίες του. Συνεχίζοντας την ανάλυση του µενού του διαχειριστή συναντούµε την επιλογή «ΠΡΟΣΘΕΣΕ ΡΕΠΟ ΙΑΤΡΩΝ» όπου µας µεταφέρει στην σελίδα (Εικόνα 31) Εικό να 31 Εδώ ο χρήστης µπορεί να διαλέξει απλά να δει τα ρεπό κάποιου ιατρού επιλέγοντας ιατρό και πατώντας το αντίστοιχο κουµπί. Επιπλέον, µπορεί διαλέγοντας πάλι λογαριασµό αλλά αυτή τη φορά πατώντας κάποιο πλήκτρο µέσα στο ηµερολόγιο να καταχωρηθεί η αργία και να προστεθεί στη βάση. Η προσθήκη των στοιχειών στη βάση πραγµατοποιείται µε την εντολή : INSERT INTO days_off VALUES ('$day','$month', '$year','$doc_id ) όπου $doc_id είναι ο αριθµός λογαριασµού του ιατρού. Η πέµπτη επιλογή µας µεταφέρει στην σελίδα ( Εικόνα 32) και στο παρακάτω µενού: - 38 -

Εικόνα 32 Η αρχική κατάσταση των ενεργών και απενεργοποιηµένων λογαριασµών επιστρέφετε µε τα queries: «select * from doctors where active='true'» και «select * from doctors where active='false'» αντίστοιχα. Ενώ στη συνέχεια η ενηµέρωση ανάλογα µε την είσοδο των δεδοµένων που παραθέτουµε γίνεται µε τα queries: και «UPDATE doctors SET active='true' where doctor_id="$enable_id"» «UPDATE doctors SET active='false' where doctor_id="$disable_id"» αντίστοιχα για επανεργοποίηση η απενεργοποίηση. - 39 -

Τέλος στην τελευταία επιλογή µεταφερόµαστε στην σελίδα (Εικόνα 33) Εικόνα 33 Τα στοιχεία για το διάγραµµα προκύπτουν από τις SELECT ΜΟNTH(DATETIME),count(MONTH(DATETIME)) FROM loginfo WHERE YEAR(DATETIME)='".date("Y")."' GROUP BY MONTH(DATETIME) και SELECT MONTH(DATETIME),count(DISTINCT session_id) FROM loginfo WHERE YEAR(DATETIME)='".date("Y")."' GROUP BY MONTH(DATETIME) που επιστρέφουν τα κλικ ανά µήνα και επισκέψεις ανά µήνα αντίστοιχα. - 40 -

7. Συµπεράσµατα Μια πρώτη παρατήρηση που µπορεί να γίνει για την εφαρµογή που αναπτύξαµε είναι ότι πρώτον, στο ότι πραγµατοποιείται µια επεξεργασία σελίδας µέσω της οποίας επιλέγονται ορισµένα στοιχεία από κάθε σελίδα και δεύτερον, πραγµατοποιείται µια επεξεργασία στοιχείων µε ευφυή τρόπο χρησιµοποιώντας την γλώσσα προγραµµατισµού PHP και αποθήκευση αυτών σε σύστηµα διαχείρισης βάσης δεδοµένων DBMS - MySQL. Αυτά τα δύο κάνουν την εφαρµογή µας να λειτουργεί µε τρόπο γρήγορο, αξιόπιστο και µε σταθερότητα. Η επεξεργασία σελίδας συνέβαλε στην αποµάκρυνση στοιχείων τα οποία δεν θα έδιναν κανένα χρήσιµο στοιχείο ενώ απέσπασε σηµαντικά στοιχεία, όπως στοιχεία για την παρακολούθηση της επισκεψιµότητας και χρήση του προγράµµατος. Από την άλλη η επεξεργασία στοιχείων µέσω της PHP ένταξε την εφαρµογή µας σε εφαρµογές υψηλού επιπέδου µε χαµηλό κόστος υλοποίησης, λόγω ότι έχει κατασκευαστεί και δουλεύει από προγράµµατα που δεν απαιτείται ειδική π νευµατική άδεια λειτουργίας. Τέλος, όσο αφορά την γλώσσα υλοποίησης, που ήταν η PHP, µπορούµε να πούµε ότι συνέβαλλε σε µεγάλο βαθµό στην απλότητα του προγράµµατός µας. Η PHP είναι µια γλώσσα, η οποία έχει ήδη υλοποιηµένες σε βιβλιοθήκες της διάφορες διαδικασίες όπως είναι εµφάνιση της ώρας και η ανάκτηση των δεδοµένων από την βάση δεδοµένων. Αυτά είναι στοιχεία που οµολογουµένως βοήθησαν στην κατασκευή του προγράµµατός µας και δείχνουν ότι η PHP είναι πολύ χρήσιµη στην συγγραφή εφαρµογών διαδικτύου. - 41 -

8. Βιβλιογραφία [1] http://www.php.net (Πληροφορίες για την PHP) [2] http://www.mysql.com (Πληροφορίες για την MySQL) [3] Γεωργίου Σ. Οικονόµου, Νικολάου Β. Γεωργοπούλου (1995) Πληροφοριακά Συστήµατα για τη ιοίκηση Επιχειρήσεων, ΕΥΓ. ΜΠΕΝΟΥ - 42 -

Παράρτηµα Στο παράρτηµα που ακολουθεί παραθέτουµε το περιεχόµενο των εξής αρχείων: access.php add_doc.php history.php index.php add_spec.php join.php admin.php layout.php admin_navbar.php bar.php calendar.php contact.php daily_date.php date_check.php days_off_calendar.php db.php deletion.php dfcalendar.php disable_doc.php doc_access.php doc_dates.php doc_days_off.php doc_days_off_calendar.php doc_profile.php doc_register.php doc_rend.php doc_session.php doccalendar.php doctors_side.php first.php fourth.php global_days_off.php login.php loginfo.php logout.php navbar.php noaccess.php ok.php options.php patient_info.php profile.php rend_state.php searchdoc.php second.php session.php sign_in.php sms.php start.php starting_values.php third.php under.php update_doc.php values.php view_messages.php visit.php - 43 -

access.php <div id="masthead"> <h1 id="sitename">καλ ώς ήλθατε στην ηλεκτρονική υπηρεσία e-ppokrates Online Health Care System.</h1> <table width="200" border="0"> <td><img src="images/logo_small.jpg" width="156" height="92"></td> <?php if ($_SESSION['doc_lastname']) { $gender='dr'; <td><img src="images/doctors.jpg" width="661" height="84"></td> <? else { <td><img src="images/home3_17.jpg" width="661" height="84"></td> <? </ta ble > <h1> </h1> <div id="globalnav"> <? if ($_SESSION['doc_lastname']) { //doctors access <a h ref = "index.php">home</a> <a href="contact.php">επικοινωνία</ a> <a href=" doc_ dates.php">τα ραντεβού µου</a> <a href="sign_in.php">εγγραφή</a> <? else if(($lastname<>"")&&($lastname!='guest')) { $ result=mysql_quer y("select sex FROM patients WHERE lastname=' $lastname'",$link); while($row=mysql_fetch_array($result)) { if($row[sex]=='male') { $gender='κύριε'; if($row[sex]=='female') { $gender='κυρία'; <a href="index.php">home</a> <a href="contact.php">επικοινωνία</a> <a href="searchdoc.php">εύρεση Ιατρού </a> <a href="first.php">ραντέβου</a> <a href="sign_in.php">εγγραφή</a> <? //echo "<a href=profile.php>profile Manager</a><br>"; //AN EINAI REGISTERED DEN BGAZEI TO LOGIN else { <a href="index.php">home</a> <a href="contact.php">επικοινωνία</a> <a href="searchdoc.php">εύρεση Ιατρού </a> <a href="sign_in.php">εγγραφή</a> <a href=login.php>είσοδος</a> <? //AN DEN EINAI REGISTERED BGAZEI TO LOGIN - 44 -

if($_session['doc_lastname']) $lastname=$_session['doc_lastname']; else if(($lastname=="") && ($cookie_username = ="")) { $lastname='επισκέπτη'; //echo "You are $lastname"; else if($cookie_username!="") //ELEGXOS GIA THN TIMH TOY COOKIE { echo "You are $cookie_username"; $lastname=$cookie_username; <span class="style1"><span class="style2"> </span>καλώς ήρθατε <?PHP echo "$gender $lastname"; if($lastname!='επισκέπτη') { <a href=logout.php>[ Log Out ]</a> <? </span> - 45 -

add_doc.php <?include 'start.php'; $lastname=$_session['lastname']; if ($_SESSION['id_number']!='admin') { include 'noaccess.php'; <HTML> <script> function validform(passform) { if (passform.firstname.value == "") { alert("πρέπει να δώσετε το όνοµα"); passform.firstname.focus(); return false; if (passform.lastname.value == "") { alert("πρέπει να δώσετε το επίθετο"); passform.lastname.focus(); return false; if (passform.fathers_name.value == "") { alert("πρέπει να δώσετε το όνοµα πατρός"); passform.fathers_name.focus(); return false; if (passform.birth_year.value == "") { alert("πρέπει να επιλέξετε την ηµεροµηνία γέννησης"); passform.birth_year.focus(); return false; if (passform.address.value == "") { alert("πρέπει να δώσετε την διεύθυνση κατοικίας"); passform.address.focus(); return false; if (passform.phone.value == "") { alert("πρέπει να δώσετε τον αριθµό τηλεφώνου"); passform.phone.focus(); return false; if (passform.password.value == "") { alert("πρέπει να δώσετε ένα κωδικό εισόδου"); passform.password.focus(); return false; if (passform.speciality.value=="") { alert("πρέπει να επιλέξετε την ειδικότητα"); passform.speciality.focus(); return false; if (passform.password.value!= passform.c_password.value) { alert("ο κωδικός εισόδου δεν σύµφωνος"); passform.password.focus(); passform.password.select(); return false; return true; </script> <head> - 46 -

<meta http-equiv="content-type" content="text/html; charset=iso-8859-7"> <title>online Health Care System</title> <link rel="stylesheet" href="2col_leftnav.css" type="text/css"> <style type="text/css"> <!--.style1 {color: #006699.style3 {color: #006699; font-weight: bold;.style5 {color: #006699; font-weight: bold; font-size: large;.style6 { color: #FFFFFF; font-weight: bold; --> </style> </head> <!-- The structure of this file is exactly the same as 2col_rightNav.html; the only difference between the two is the stylesheet they use --> <body> <? include 'access.php'; /*TO ARXEIO GIA NA EXOYME ELEGXO GIA TO POIOS MPANEI*/ <div id="content"> <TABLE class=headerbox cellspacing=0 cellpadding=0 width=600 border=0> </TABLE><div id="breadcrumb"> <P> <TABLE cellspacing=0 cellpadding=0 width=600 border=0> <TBODY> <TR valign=top> <TD><center><SPAN class=text><span class="style3">εγγραφή Ιατρού</span></center><BR> </td> <td> <a href="admin.php">επιστροφή στο εργαλείο διαχείρισης</a> </td> <UL> <P></tbody> </table> <div align="left"> <form action="doc_register.php" method="post" name="formaccount" onsubmit="return validform(this)"> <TABLE width="591" border=0 cellpadding=3 cellspacing=0 bgcolor="#63944b"> <TR valign=top> <TD class=sidebar1><span class="style6">φόρµα Εγγραφής </span></td> </TR> </TABLE> <div align="left"> <table width="591" border="0" bgcolor="#c9dbef"> <td width="281"><span class="style1">όνοµά :</span></td> <td width="300"><span class="style1">επίθετο : </span></td> <td><input name="firstname" type="text"></td> <td><input name="lastname" type="text"></td> <td> </td> - 47 -

<td> </td> <td><span class="style1">όνοµα πατρός :</span></td> <td><span class="style1">έτος γεννήσεως :</span></td> <td><input name="fathers_name" type="text"></td> <td><select name="birth_year"> <option value="">επιλέξτε το έτος</option> <?PHP $current_year=date(" Y "); $i=0; for($i=1920;$i<=$current_year-18;$i++) echo " <option value=\" $i \"> $i</option>" ; </select> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td><span class="style1"> ιαλέξτε Ειδικότητα : </span></td> <td><select name="speciality"> <option></option> <?php $res=mysql_query("select * from specialities",$link); while ($row=mysql_fetch_row($res)) echo "<option value=\"$row[0] \">$row[1]</otion>"; </select> </td> <td><span class="style1"> ιεύθυνση κατοικίας : </span></td> <td><span class="style1">τηλέφωνο οικίας : </span></td> <td><input name="address" type="text"></td> <td><input name="phone" type="text"></td> <td> </td> <td> </td> <td> </td> <td> </td> <td><span class="style1">password : </span></td> <td><span class="style1">επιβεβαίωση Password : </span></td> <td><input name="password" type="password"></td> <td><input name="c_password" type="password"></td> - 48 -

<td><input type="submit" name="submitted" value="προσθήκη" ></td> <td> </td> </table> <p align="left"> </p> </form> <p> </p> </h1> <!--end content --> <?PHP include 'navbar.php'; - 49 -

add_spec.php <?include 'start.php'; if ($_SESSION['id_number']!='admin') { include 'noaccess.php'; <HTML> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-7"> <title>online Health Care System</title> <link rel="stylesheet" href="2col_leftnav.css" type="text/css"> <style type="text/css"> <!--.style1 {color: #006699.style3 {color: #006699; font-weight: bold;.style5 {color: #006699; font-weight: bold; font-size: large;.style6 { color: #FFFFFF; font-weight: bold; --> </style> </head> <!-- The structure of this file is exactly the same as 2col_rightNav.html; the only difference between the two is the stylesheet they use --> <body> <? include 'access.php'; /*TO ARXEIO GIA NA EXOYME ELEGXO GIA TO POIOS MPANEI*/ <? if ($_POST['submit']) { mysql_query("insert INTO specialities (speciality) VALUES ( '".$_POST['name']."' )",$link); <div id="content"> <P> <TABLE cellspacing=0 cellpadding=0 width=600 border=0> <TBODY> <TR valign=top> <TD><center><strong><SPAN class=text><span class="style3">προσθήκη Ειδικότητας</span></strong></center><span class="style1"><br> </span> </td> <td> <div align="left"><a href="admin.php">επιστροφή στο εργαλείο διαχείρισης</a><br> </td> <UL> <P></tbody> </table> <div align="left"> <form action="add_spec.php" method="post" name="spec"> <TABLE width="591" border=0 cellpadding=3 cellspacing=0 bgcolor="#63944b"> <TR valign=top> <TD class=sidebar1><span class="style6">φόρµα Εισαγωγής Ειδικότητας </span></td> - 50 -

</TR> </TABLE> <div align="left"> <table width="591" border="0" bgcolor="#c9dbef"> <td><span class="style1">υπάρχουσες Ειδικότητες : </span></td> <td> <?php $res=mysql_query("select * from specialities",$link); while ($row=mysql_fetch_row($res)) echo "$row[1]<br>"; </td> <td>εισαγώγη νέας ειδικότητας :<br><input name="name" type="text"></td> <td><input type="submit" name="submit" value="προσθήκη" ></td> <td> </td> </table> <p align="left"> </p> </form> <p> </p> </h1> </ div> <!--end content --> <?PHP include 'navbar.php'; - 51 -

admin.php <?include 'start.php'; $lastname=$_session['lastname']; if ($_SESSION['id_number']!='admin') { include 'noaccess.php'; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <? include 'layout.php'; <TABLE class=headerbox cellspacing=0 cellpadding=0 width=600 border=0> <TBODY> <TR valign=top> <td><img src="images/keyvisual.jpg" width="164" height="109"></td> <TD div align="left"><br><a href="admin.php"><h2 class="style1 style4">εργαλείο ιαχείρισης της υπηρεσίας</h2></span><br></a></td> </TR> </TBODY> </TABLE> <div id="breadcrumb"> <div class="feature"> <center><a href="add_doc.php">προσθεσε ΓΙΑΤΡΟ ΣΤΗΝ ΥΠΗΡΕΣΙΑ</a> <p align="justify"> <center><a href="add_spec.php">προσθεσε ΕΙ IΚΟΤΗΤΑ ΣΤΗΝ ΥΠΗΡΕΣΙΑ</a> <p align="justify"> <center><a href="global_days_off.php">προσθεσε/αφαιρεσε ΑΡΓΙΕΣ</a> </p> <p align="justify"> <center><a href="doc_days_off.php">προσθεσε ΡΕΠΟ ΙΑΤΡΩΝ</a> </p> <p align="justify"> <center><a href="disable_doc.php">απενεργοποιησε ΛΟΓΑΡΙΑΣΜΟ ΓΙΑΤΡΟΥ</a> </p> <p align="justify"> <center><a href="visit.php">παρακολουθησε ΕΠΙΣΚΕΨΙΜΟΤΗΤΑ</a> </p> <div class="story"> <h3></h3> <p> </p> <p> </p> <div class="story"> <h3></p> <!--end content --> <?PHP include 'navbar.php'; exit(); - 52 -

admin_navbar.php <div id="navbar"> <div id="search"> <div align="left"> <label><span class="style1"><u>εργαλεία ιαχειριστή</u></span></label> <div align="left"> <div id="sectionlinks"> <ul> <li><div align="center"><?php include "daily_date.php"; </li> </ul> <div id="sectionlinks"> <ul> <li><a href="add_doc.php">προσθήκη γιατρού στην υπηρεσία</a></li> <li><a href="add_spec.php">προσθήκη Ειδικότητας</a></li> <li><a href="global_days_off.php">πρόσθεση/αφαίρεση αργίων</a></li> <li><a href="doc_days_off.php">προσθήκη ρεπό ιατρού</a></li> <li><a href="disable_doc.php">απενεργοποίηση λογαριασµού ιατρού</a></li> <li><a href="visit.php">παρακολούθηση Επισκεψιµότητας</a></li> </ul> <!--end navbar --> <div id="siteinfo"> <div align="left"> <!-- <img src="" width="44" height="22">--> <a href="#">site Map</a> <a href="contact.php">contact Us</a> <span class="style1"> 2004 <a href="mailto:mike1526gr@yahoo.gr">μ. Μπερσίµης</a>, Γ. Ηρακλείδης </span> <br> </body> </html> - 53 -

bar.php <?php // Example for use of JpGraph, include 'jpgraph.php'; include 'jpgraph_bar.php'; include 'db.php'; // We need some data //query ΓΙΑ ΝΑ ΕΙΧΝΕΙ ΠΟΙΕΣ ΚΑΙ ΠΟΣΕΣ ΦΟΡΕΣ ΕΧΕΙ ΖΗΤΗΣΕΙ Ο ΣΘΓΚΕΚΡΙΜΕΝΟΣ ΑΣΘΕΝΗΣ ΚΑΙΠΟΙΑ ΕΙ ΗΚΟΤΗΤΑ ΓΙΑΤΡΟΥ $query="select speciality, count( speciality ) FROM doctors, appoitments WHERE appoitments.id_number ='".$_GET['id']."' AND doctors.doctor_id = appoitments.doctor_id GROUP BY speciality"; $res=mysql_query($query,$link); while ($r=mysql_fetch_array($res)) { $datay[]=$r[1]; $datax[]=$r[ 0]; // Setup the graph. $graph = new Graph(400,200,"auto"); $graph->img->setmargin(40,30,10,70); $graph->setscale("textlin"); $graph->setmargincolor("lightblue"); $graph->setshadow(); // Set up the title for the graph $graph->title->set(""); $graph->title->setfont(ff_comic,fs_normal,12); $graph->title->setcolor("darkred"); // Setup font for axis $graph->xaxis->setfont(ff_comic,fs_normal,10); $graph->yaxis->setfont(ff_comic,fs_normal,10); // Show 0 label on Y-axis (default is not to show) $graph->yscale->ticks->supresszerolabel(false); // Setup X-axis labels $graph->xaxis->setticklabels($datax); $graph->xaxis->setlabelangle(50); // Create the bar pot $bplot = new BarPlot($datay); $bplot->setwidth(0.6); // Setup color for gradient fill style $bplot->setfillgradient("navy","#eeeeee",grad_left_reflection); // Set color for the frame of each bar $bplot->setcolor("white"); $graph->add($bplot); // Finally send the graph to the browser $graph->stroke(); - 54 -

calendar.php <?php session_start(); header("cache-control: private"); //IE 6 Fix error_reporting(e_all &!E_NOTICE &!E_WARNING); $cookie_username=$_cookie["authorize"]; $lastname=$_session['lastname']; $doctor_id=$_post["doctor_id"]; if (!$doctor_id) { <html> <!-- DW6 --> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-7"> <title>online Health Care System</title> <link rel="stylesheet" href="2col_leftnav.css" type="text/css"> <style type="text/css"> <!--.style1 {color: #006699.style3 {color: #006699; font-weight: bold;.style5 {color: #006699; font-weight: bold; font-size: large;.style6 { color: #FFFFFF; font-weight: bold; --> </style> </head> <!-- The structure of this file is exactly the same as 2col_rightNav.html; the only difference between the two is the stylesheet they use --> <body> MPANEI*/ <? include 'access.php'; /*TO ARXEIO GIA NA EXOYME ELEGXO GIA TO POIOS <span class="style1"> <!-- end masthead --> </span> <div id="content"> <span class="style1"><big><br>παρακαλώ Επιλέξτε την επιλογή Ραντεβού.</big></span> <!--end content --> <? PHP include 'navbar.php'; exit(); session_unregister('time'); //TIS KATASTREFEI ETSI WSTE AN YPARXOYN NA MPOUN NEES TIMES session_unregister('month'); session_unregister('day'); session_unregister('year'); if($_session['redirection']!="yes") { - 55 -