Αρχιµήδης ΙΙ Ενίσχυση Ερευνητικών Οµάδων του ΤΕΙ Κρήτης. Τίτλος Υποέργου: Εφαρµογές Τεχνητής Νοηµοσύνης στην Τεχνολογία Λογισµικού και στην Ιατρική

Σχετικά έγγραφα
"The Project ARXIMIDIS ΙΙ is co-funded by the European Social Fund and National Resources EPEAEK ΙΙ "

Τίτλος Υποέργου: Εφαρµογές Τεχνητής Νοηµοσύνης στην Τεχνολογία Λογισµικού και στην Ιατρική

Παραδοτέο: Π3.2 - Ερευνητική Μελέτη Σχεδιασµού του Συστήµατος

ιάγνωση επιληψίας µε αβεβαιότητα

Γ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ ια. ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ»

Επιµέλεια Θοδωρής Πιερράτος

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Α. Ερωτήσεις Ανάπτυξης

Προγραµµατισµός Η/Υ. Μέρος2

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

ΑΝ.ΕΦ. Γ ΛΥΚΕΙΟΥ Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που βρίσκονται µεταξύ των λέξεων ΤΟΤΕ και και η εκτέλεση του προγράµµατος συνεχίζετα

Κεφάλαιο 10 ο Υποπρογράµµατα

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

Λίστες στο Scratch 2.0.


του προγράμματος diagrama_rohs.zip )

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Θεματογράφος (ή ο βοηθός του Καθηγητή)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Ηλεκτρονικό Κατάστημα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ

Εισαγωγή στους Υπολογιστές

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

ΚΕΦΑΛΑΙΟ Web Services

Γ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ ια. ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ»

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

δήλωσης δεδοµένων και σε παραβίαση των συντακτικών κανόνων της γλωσσάς.

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Μαλούτα Θεανώ Σελίδα 1

Πληροφορική 2. Αλγόριθμοι

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

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ 1/2/2009

Ονοµατεπώνυµο «οδηγού»:... Ονοµατεπώνυµο «παρατηρητή»:... 1 η ραστηριότητα ιαθέσιµος χρόνος: 30 λεπτά

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

Επιµέλεια Θοδωρής Πιερράτος

A) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-10 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

(1) Επιλέξτε την εντολή QUERIES για να μπείτε στο περιβάλλον δημιουργίας

Συνεργείο Αυτοκινήτων

ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΗΜΟΣΙΩΝ ΕΠΕΝ ΥΣΕΩΝ & ΕΣΠΑ ΕΘΝΙΚΗ ΑΡΧΗ ΣΥΝΤΟΝΙΣΜΟΥ ΕΙ ΙΚΗ ΥΠΗΡΕΣΙΑ Ο.Π.Σ.

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Προτεινόμενα Θέματα ΑΕΠΠ

Φυσική Απογραφή & Παραστατικά Αποθήκης

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

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

ALERTS ή EDA (Event Driven Actions)

Βάσεις δεδομένων (Access)

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

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

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες Λειτουργίας Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1.3 (23/11/2014)

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

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

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

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

ΟΠΣ-ΕΣΠΑ : Ειδική Υπηρεσία Ολοκληρωμένου Πληροφοριακού Συστήματος ΕΚΠΑΙΔΕΥΤΙΚΟΣ ΟΔΗΓΟΣ ΓΙΑ ΤΗ ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΚΕΝΤΡΙΚΟΥ ΛΟΓΑΡΙΑΣΜΟΥ

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

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

Β. Να εξηγήσετε τι σηµαίνει ολίσθηση ενός δυαδικού αριθµού 3 θέσεις αριστερά µπορεί να είναι: Α: ουρά Β:στοίβα Γ:και τα δυο :τίποτα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΣΥΣΤΗΜΑΤΟΣ ΑΓΡΟΠΕΡΙΒΑΛΛΟΝΤΙΚΩΝ ΕΝΙΣΧΥΣΕΩΝ. Μέτρο 2.2.1

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

Ψευδοκώδικας. November 7, 2011

Πληροφοριακού Συστήµατος ΛΑΕΚ. Για τους Εισηγητές. Εγχειρίδιο Χρήσης. AbiTECH A.E. Έκδοση 1.0. εκέµβριος Κηφισίας & Ευβοίας 3, Μαρούσι

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ΕΚΦΩΝΗΣΕΙΣ

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

B) Ετοιμάζοντας μια Παρουσίαση

G-Remote Banking e-banking ΜΕΤΑΦΟΡΕΣ ΜΑΖΙΚΕΣ ΜΕΤΑΦΟΡΕΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

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

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Περιεχόμενο του μαθήματος

Παρο υσίαση αλ γόριθμου

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

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

Διαχείριση Αξιόγραφων

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

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

Λογισµικό (Software SW) Γλώσσες

Συντάχθηκε απο τον/την Administrator Δευτέρα, 22 Φεβρουάριος :11 - Τελευταία Ενημέρωση Παρασκευή, 26 Φεβρουάριος :52

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή

προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Transcript:

Αρχιµήδης ΙΙ Ενίσχυση Ερευνητικών Οµάδων του ΤΕΙ Κρήτης Τίτλος Υποέργου: Εφαρµογές Τεχνητής Νοηµοσύνης στην Τεχνολογία Λογισµικού και στην Ιατρική Επιστηµονικός Υπεύθυνος: ρ Εµµανουήλ Μαρακάκης ραστηριότητα 3: Πληροφοριακό Σύστηµα Υποστήριξης για την ιάγνωση Παιδικής Επιληψίας. Πακέτο Εργασίας 3.3 (ΠΕ 3.3): Υλοποίηση Συστήµατος. Χρονική ιάρκεια : 1/3/06 µέχρι 31/7/06 Παραδοτέο: Π3.3 - Λογισµικό και η Τεχνική Περιγραφή του Συστήµατος Λογισµικού. Τίτλος Τεχνικής Περιγραφής: «HIPPOCRAT-EES»: Ένα Έµπειρο Συστήµα ιάγνωσης Παιδικής Επιληψίας Μέλη της ερευνητικής Οµάδας Ονοµατεπώνυµο Υπογραφή Α. ρ. Εµµανουήλ Μαρακάκης... Β. ρ Κων/νος Βασιλάκης.. Γ. Ιωάννα Φραγκάκη. Επιστηµονικός Υπεύθυνος Υποέργου "The Project ARXIMIDIS ΙΙ is co-funded by the European Social Fund and National Resources EPEAEK ΙΙ "

2

Περιεχόµενα 1. Εισαγωγή...5 2. Υλοποίηση του Συστήµατος HIPPOCRAT-EES...7 2.1 Περιγραφή ιάγνωσης και Αλγορίθµων του ιαγνωστικού Υποσυστήµατος του HIPPOCRAT-EES που Υλοποιήθηκε σε Prolog.... 7 2.2 Περιγραφή ιεπικοινωνίας HIPPOCRAT-EES και Αλγορίθµων Ενηµέρωσης και Γραφικής Προβολής της Βάσης Γνώσεων που Υλοποιήθηκαν σε Visual Basic... 25 2.2.1 Τµήµατα και Αλγόριθµοι ιαγνωστικού Υποσυστήµατος του HIPPOCRAT-EES που έχει Υλοποιηθεί σε Visual Basic...25 2.2.2 Τµήµατα και Αλγόριθµοι Γραφικής Προβολής της Βάσης Γνώσεων του HIPPOCRAT-EES...31 2.2.3 Τµήµατα και Αλγόριθµοι Ενηµέρωσης της Βάσης Γνώσεων του HIPPOCRAT-EES....34 3. είγµατα Σεναρίων Επίδειξης των Λειτουργιών του HIPPOCRAT-EES....43 3.1 Εύρεση Πιθανών Τύπων Επιληψίας µέσα από την Βάση Γνώσεων (Fill in Symptoms Form and Find Seizures)... 43 3.2 Προβολή των Κανόνων της Βάσης Γνώσεων (Rule Chain).... 46 3.3 Πρόσθεση ενός Νέου Τύπου Επιληψίας (Add New Epilepsy Rule)... 47 3.4 Αλλαγή εδοµένων ενός Τύπου Επιληψίας της Βάσης Γνώσεων (Update Existing Epilepsy Rule).... 55 3.5 ιαγραφή ενός Τύπου Επιληψίας από τη Βάση Γνώσεων (Delete Epilepsy Rule).... 56 4. Συµπεράσµατα Επεκτάσεις του Συστήµατος...57 5. Βιβλιογραφία...59 Παράρτηµα Α...61 A.1 Αλφαβητική Ταξινόµηση των Υποπρογραµµάτων (Κατηγορηµάτων) του Υποσυστήµατος του HIPPOCRAT-EES που Yλοποιήθικε σε Prolog... 61 3

4

1. Εισαγωγή Αυτή η τεχνική αναφορά περιγράφει την υλοποίηση του έµπειρου συστήµατος διάγνωσης παιδικής επιληψίας HIPPOCRATes Epilepsy Expert System «HIPPOCRAT-EES». Ο Ιπποκράτης ήταν ο πρώτος γιατρός που έκανε παρατηρήσεις πάνω στην επιληψία. Ο στόχος του συστήµατος «HIPPOCRAT-EES» είναι να χρησιµοποιηθεί σαν συµβουλευτικό εργαλείο από γιατρούς µε ειδίκευση στην παιδική επιληψία. Το σύστηµα υποστηρίζει τις εξής λειτουργίες: 1. Για κάποιο ασθενή, µε βάση τα συµπτώµατα του και τις εργαστηριακές εξετάσεις τις οποίες έκανε, µπορεί να δώσει µια λίστα από πιθανούς τύπους επιληψίας καθώς και την αντίστοιχη βεβαιότητα ισχύος τους. 2. Ο γιατρός εµπειρογνώµονας καθώς και γιατρός χρήστης του συστήµατος µπορούν, µε βάση νέα στοιχεία τα οποία διαθέτουν να αλλάξουν την βάση γνώσεων. ηλαδή, µπορούν να εκτελέσουν τις εξής λειτουργίες: α) Να τροποποιήσουν κάποιο από τους υπάρχοντες κανόνες. β) Να προσθέσουν νέους κανόνες στη βάση γνώσεων. γ) Να διαγράψουν κάποιο από τους υπάρχοντες κανόνες της βάσης γνώσεων. 3. Για κάθε τύπο επιληψίας ο χρήστης του συστήµατος µπορεί δει σε γραφική µορφή τους κανόνες της βάσης γνώσεων. Αυτό τα χαρακτηριστικό έχει τα εξής πλεονεκτήµατα: Πρώτο, διευκολύνει στην κατανόηση του τρόπου οργάνωσης της βάσης γνώσεων από τους χρήστες του συστήµατος. εύτερο, διευκολύνει την αλλαγή της βάσης γνώσεων. Το διαγνωστικό σύστηµα επιληψίας («HIPPOCRAT-EES») υλοποιήθηκε σε γλώσσα προγραµµατισµού Prolog [Bratko, 2001], [Convington etal, 1997], [Jackson, 1999], [Nilsson, Maluszynski, 1996], [SICS, 2004], [Μαρακάκης, 2003]. Η διεπικοινωνία (Interface) του συστήµατος και η ενηµέρωση της βάση γνώσεων υλοποιήθηκε στη γλώσσα προγραµµατισµού Visual Basic [Microsoft, 2002], [Πετρούτσος, 1998]. Ο χρήστης εισάγει τα δεδοµένα µέσω παραθυρικού και γραφικού περιβάλλοντος. Το σύστηµα δίνει τα αποτελέσµατα είτε µέσω του ίδιου παραθύρου ή σε µορφή αρχείου Excel έτσι ώστε να µπορεί να τα αποθηκεύσει ή να τα επεξεργαστεί κατάλληλα. Η διεπικοινωνία του συστήµατος στηρίζεται σε παραθυρικό περιβάλλον. Οι χρήστες µέσω αναδυόµενων καταλόγων (pop up menus) µπορούν εύκολα να επιλέξουν τιµές για τα δεδοµένα που τους ενδιαφέρουν. Τα βασικά χαρακτηριστικά της διεπικοινωνίας του «HIPPOCRAT-EES» είναι τα εξής: 1. Απλή και λειτουργική χρήση του συστήµατος. Αυτό επιτυγχάνεται µε το παραθυρικό περιβάλλον και τους αναδυόµενους καταλόγους µε όλες τις επιτρεπτές τιµές για τα ιατρικά δεδοµένα (συµπτώµατα, αποτελέσµατα ειδικών ιατρικών εξετάσεων). 2. Τα δεδοµένα διάγνωσης να δίνονται µε το φυσικό τους τρόπο όπως θα τα έπαιρνε από κάποιο πίνακα ο αντίστοιχος ειδικευµένος σε παιδική επιληψία γιατρός πριν κάνει διάγνωση για τον ασθενή του. 3. Η ενηµέρωση της βάσης γνώσεων να µην εξαρτάται από τον τρόπο υλοποίησης της αλλά να αντιστοιχεί στο τρόπο που αντιλαµβάνεται τα ιατρικά δεδοµένα (συµπτώµατα και ιατρικές εξετάσεις) ο ειδικευµένος σε παιδική επιληψία γιατρός. 5

4. Τέλος, η γραφική παρουσίαση των κανόνων κάνει κατανοητή στον ειδικό σε παιδική επιληψία γιατρό αλλά και στον µηχανικό γνώσεων την σηµασιολογία κάθε κανόνα. Τα δεδοµένα του συστήµατος είναι αποθηκευµένα στη βάση γνώσεων η οποία έχει υλοποιηθεί σε Prolog. Ο χρήστης γιατρός εισάγει στο σύστηµα τα ιατρικά δεδοµένα του ασθενούς (συµπτώµατα και αποτελέσµατα ειδικών ιατρικών εξετάσεων). Το σύστηµα επιστρέφει πιθανές µορφές επιληψίας καθώς και τον αντίστοιχο υπολογισθέντα παράγοντα βεβαιότητας κάθε πιθανής επιληψίας. Όταν το σύστηµα διαγνώσει κάποια επιληψία µε παράγοντα βεβαιότητας µεγαλύτερο ή ίσο από κάποιο όριο τότε αυτή η διάγνωση δίνεται στο χρήστη γιατρό. Αν µια διάγνωση έχει παράγοντα βεβαιότητας µικρότερο από το καθορισθέν όριο τότε αγνοείται ως µη σηµαντική διάγνωση. Ασφαλέστερη διάγνωση είναι φυσικά αυτή µε τον µεγαλύτερο παράγοντα βεβαιότητας. ίνονται περισσότερες από µια, εφόσον υπάρχουν, πιθανές επιληψίες στο χρήστη γιατρό ώστε να βοηθηθεί περισσότερο στην τελική διάγνωση. Η Visual Basic χρησιµοποιείται σαν εργαλείο για την κατασκευή της διεπικοινωνίας συστήµατος. Επιπλέον, το υποσύστηµα που αφορά στην αλλαγή της βάσης γνώσεων, εισαγωγή νέων κανόνων, διαγραφή και τροποποίηση υπαρχόντων κανόνων, έχει επίσης υλοποιηθεί σε Visual Basic. Έχει επιλεγεί η Visual Basic για την υλοποίηση αυτού του υποσυστήµατος για να µπορεί το σύστηµα µελλοντικά να επεκταθεί µε υποσύστηµα αυτόµατης δηµιουργίας κανόνων από βάση δεδοµένων µε παραδείγµατα διαγνωσµένων περιπτώσεων ασθενών. Η Visual Basic υποστηρίζει περισσότερες επιλογές διεπικοινωνίας µε συστήµατα διαχείρισης βάσεων δεδοµένων όπως η Access καθώς και προγράµµατα επεξεργασία πινάκων όπως το Excel. Αυτή η τεχνική αναφορά είνα οργανωµένη ως εξής. Στο δεύτερο κεφάλαιο γίνεται περιγραφή της εσωτερικής δοµής των τµηµάτων (modules) του συστήµατος. Αρχικά περιγράφεται ο διαδικασία διάγνωσης. Στη συνέχεια, δίνονται αλγόριθµοι σε ψευδοκώδικα για κάθε τµήµα του διαγνωστικού υποσυστήµατος του «HIPPOCRAT- EES». Τέλος, ακολουθούν αλγόριθµοι σε ψευδοκώδικα για την διεπικοινωνία του συστήµατος και για το υποσύστηµα ενηµέρωσης της βάσης γνώσεων. Το τρίτο κεφάλαιο περιλαµβάνει υποδείγµατα σεναρίων τα οποία επιδεικνύουν τις λειτουργίες του «HIPPOCRAT-EES». Υπάρχουν σενάρια διάγνωσης, προβολής κανόνων, καταχώρησης, διαγραφής και τροποποίησης κανόνων. Στο τέταρτο κεφαλαίο αναφέρονται τα συµπεράσµατα, οι δυνατές επεκτάσεις και οι τυχόν αδυναµίες του συστήµατος καθώς και ο τρόπος αντιµετώπισης τους. Τέλος, υπάρχει ένα παράρτηµα στο οποίο αναφέρεται κατ αλφαβητική σειρά η περιγραφή των διαδικασιών από τις οποίες έχει κατασκευαστεί το διαγνωστικό υποσύστηµα του «HIPPOCRAT-EES». 6

2. Υλοποίηση του Συστήµατος HIPPOCRAT-EES. 2.1 Περιγραφή ιάγνωσης και Αλγορίθµων του ιαγνωστικού Υποσυστήµατος του HIPPOCRAT-EES που Υλοποιήθηκε σε Prolog. Στο παρακάτω διάγραµµα ροής πληροφοριών (Σχήµα 2.1.1) παριστάνεται η διαδικασία που εκτελείται από το HIPPOCRAT-EES για να εντοπιστούν όλες οι πιθανές λύσεις που µπορεί να εξαχθούν από τη Βάση Γνώσεων του συστήµατος. Στο σχήµα µπορούµε να διακρίνουµε αριθµούς από 1 έως 8 οι οποίοι αντιστοιχούν στα τµήµατα (modules) που εκτελούνται από το πρόγραµµα. Εµείς στη συνέχεια θα παρουσιάσουµε όλα αυτά τα τµήµατα χωριστά και θα χρησιµοποιήσουµε το παρακάτω διάγραµµα ροής στην περιγραφή τους. Για την περιγραφή των διαδικασιών χρησιµοποιούµε την συµβατική µορφή περιγραφής αλγορίθµων σε ψευδοκώδικα. Κάθε εντολή τελειώνει µε το σύµβολο ;. Το σύµβολο := είναι η εντολή καταχώρησης. Τα υπόλοιπα σύµβολα έχουν την ίδια σηµασιολογία όπως χρησιµοποιούνται στα µαθηµατικά και στις συµβολικές γλώσσες προγραµµατισµού. Εντολές όπως Εισαγωγή_ εδοµένων_του_ασθενούς; Εύρεση_Επιληψιών_µέσο_Τύπου_Κρίσης; κλπ αντιστοιχούν σε κλίσεις διαδικασιών. Εάν L1, L2 και L3 είναι λίστες ο συµβολισµός L3 := L1 + L2 σηµαίνει ότι η λίστα L3 προκύπτει από την πρόσρηση στο τέλος της L1 της λίστας L2. Τα τµήµατα του παραπάνω διαγράµµατος περιγράφονται από τις παρακάτω διαδικασίες: 7

Εντόπισε_Πιθανούς_Τύπους_Επιληψίας 1 2 3 4 Εύρεση_µέσω_ Ηλεκτροεγκεφαλογραφήµατος_ Εύρεση_µέσω_ Εύρεση_µέσω_ σηµαντικών_ Τύπου_Κρίσης και_κρίσης_ Τύπων_ Εστίασης_για_ Ηλεκτροεγκεφαλογραφήµατος Τύπους_ Επιληψίας_ 1.2.Χ.Χ Εύρεση_µέσω_ επιπρόσθετων_ συµπτωµάτων 5 Ενοποίηση_Λιστών_Πιθανών_ Επιληψιών 6 Ενοποίηση_Λιστών_Πιθανών_ Επιληψιών 7 Ενοποίηση_Λιστών_Πιθανών_ Επιληψιών 8 Ταξινόµηση_Τελικής_Λίστας_Πιθανών_Επιληψιών 9 Επόµενος Πιθανός Τύπος Επιληψίας Υπολογισµός Παράγοντα Βεβαιότητας 10 ψευδές αληθές Τερµατισµός του προγράµµατος και επιστροφή αποτελεσµάτων Σχήµα 2.1.1 ιάγραµµα ροής πληροφοριών για τη διαδικασία εντοπισµού πιθανών επιληψιών. 8

Τµήµα 1: Στην διαδικασία αυτή εκτελείται ο παρακάτω αλγόριθµος σε ψευδοκώδικα: διαδικασία Εντόπισε_Πιθανούς_Τύπους_Επιληψίας αρχή_διαδ Εισαγωγή_ εδοµένων_του_ασθενούς; Εύρεση_Επιληψιών_µέσο_Τύπου_Κρίσης; Εύρεση_Επιληψιών_µέσο_Ηλεκτροεγκεφαλογραφήµατος_και_Κρίσης_Εστίασης_ για_τύπους_επιληψίας_1.2.χ.χ; Εύρεση_Επιληψιών_µέσο_σηµαντικών_Τύπων_Ηλεκτροεγκεφαλογραφήµατος; Εύρεση_Επιληψιών_µέσο_επιπρόσθετων_στοιχείων; Ενοποίηση_Λιστών_Πιθανών_Τύπων_Επιληψίας; Ταξινόµηση_Τελικής_Λίστας_Πιθανών_Επιληψιών; Υπολογισµός_Παράγοντα_Βεβαιότητας; τέλος_διαδ διαδικασία Εισαγωγή_ εδοµένων_του_ασθενούς αρχή_διαδ Seizure_Type := X 1 ; Seizure_Focus := X 2 ; : : Behavior_Problems_during_Seizure := X N ; τέλος_διαδ Ψευδοκώδικας 2.1.1 Εισαγωγή δεδοµένων και εκτέλεση διαδικασίας συλλογισµών. Στο σύστηµα δίνονται όλα τα δεδοµένα του ασθενούς που εισάγει ο χρήστης προς ανάλυση (ψευδοκώδικας 2.1.1). Στη συνέχεια ακολουθείται µια διαδικασία εντοπισµού των πιθανών τύπων επιληψίας οι οποίοι ενδέχεται να ισχύουν για τα δεδοµένα του ασθενούς. Ακολουθούν οι διαδικασίες ενοποίησης και ταξινόµησης των πιθανών τύπων επιληψίας και ο υπολογισµός του παράγοντα βεβαιότητας κάθε πιθανού τύπου επιληψίας. Παράδειγµα: Στο πρόγραµµα Prolog δίνονται οι παρακάτω στόχοι / ερωτήσεις για να γίνει η εκκίνηση εντοπισµού των επιληψιών.?- list (iie, unknown, slight, a2, 5, normal, normal, slight_intermediary, normal, dont_know, severe_problems, pathological, severe_pathological, nothing, no, 0, no, no, no, no, no, no, no, yes, no, no, no, no, Epitype_In, Epitype_Out, Rate, Indicator, 0).?- list (iib, unknown, intermediary, a2, 6, normal, normal, normal, dont_know, normal, dont_know, severe_pathological, severe_pathological, nothing, no, 0, no, no, no, no, no, no, no, yes, no, no, no, no, Epitype_In, epi_1_1_a, Rate, Indicator, 1). Ανάλογα µε την δοµή του παραπάνω στόχου το πρόγραµµα θα εκτελεστεί για πρώτη ή για δεύτερη, τρίτη κλπ. φορές έως ότου βρεθούν όλες οι λύσεις που µπόρεσε 9

να εντοπίσει. Οι αντίστοιχες µεταβλητές του στόχου list/33 που χρησιµοποιεί το πρόγραµµα φαίνονται παρακάτω:?-list(s_type,focus,severity, EEG,Age,Pregnacy,Delivery, Inheritance,Performance,L_Findings, Behavior,N_Estimation,Ph_Development, Foc_Dif,Vocalization,SeizurePerDay, SeizureSleep,SeizureAfterSleep,SeizureFever, MetavolicSymptoms,ToxicPoisoning,HeadInjury, NeurousSystemDisease,NOTNeurousSystemDisease, AcquiredAphasia,PrimaryVisualIctalSeizure, SpeechProblems,BehaviorProblemsDuringSeizure, Epitype_In,Epitype_Out,Rate,Indicator,Cmd_continue) Σε αυτό το κατηγόρηµα όλες οι µεταβλητές παίρνουν κάποιες τιµές, οι οποίες αντιπροσωπεύουν τα δεδοµένα του ασθενούς, εκτός από τις Epitype_In, Rate, Indicator οι οποίες χρησιµοποιούνται µόνο για την επιστροφή των αποτελεσµάτων. Η µεταβλητή Epitype_Out παίρνει τιµή ή όχι εάν η µεταβλητή Cmd_continue είναι 0 ή 1. Οι προτάσεις list/33 του παραπάνω παραδείγµατος εκτελούν δυο διαφορετικές διαδικασίες. Η πρώτη εκτελεί έρευνα για πρώτη φορά (έρευνα σε ολόκληρη τη Βάση Γνώσεων) ενώ η δεύτερη εκτελεί έρευνα σε ένα µέρος της Βάσης Γνώσεων (έρευνα από τον τύπο επιληψίας epi_1_1_α και µετά). Τµήµα 2: Σε αυτό το τµήµα εκτελείται η διεργασία εύρεσης πιθανών επιληψιών µε βάση τον Τύπο Κρίσης (Seizure Type) του ασθενούς. Ο αλγόριθµος σε ψευδοκώδικα που εκτελείται δίνεται παρακάτω: ηλώσεις: Seizure_Type: Είναι η τιµή του Τύπου Κρίσης στα δεδοµένα του ασθενούς. Seizure_Type_List: Είναι η λίστα τιµών του Τύπου Κρίσης που βρίσκονται στην Βάση Γνώσεων για καθένα από τους τύπους επιληψίας. Seizure_Type_List Epilepsy_Type_[X] := [Seizure_Type 1, Seizure_Type 2,, Seizure_Type Ν ] Είσοδος - Τα δεδοµένα του ασθενούς Seizure_Type, τα δεδοµένα της Βάσης Γνώσεων Seizure_Type_List και η λίστα όλων των επιληψιών Λίστα_Επιληψιών_Total_ Epilepsy_List. Έξοδος - Η νέα λίστα επιληψιών Πιθανοί_Τύποι_Επιληψίας 1 που προκύπτει από την επεξεργασία του Τύπου Κρίσης (Seizure Type). διαδικασία Εύρεση_Επιληψιών_µέσο_Τύπου_Κρίσης αρχή_διαδ για_κάθε Τύπο_Επιληψίας_Ν Λίστα_Επιληψιών_Total_Epilepsy_List κάνε εάν Seizure_Type Seizure_Type_List 1 τότε Πιθανοί_Τύποι_Επιληψίας 1 := Πιθανοί_Τύποι_Επιληψίας 1 + Τύπος_Επιληψίας_1; 10

: : εάν Seizure_Type Seizure_Type_List Ν τότε Πιθανοί_Τύποι_Επιληψίας 1 := Πιθανοί_Τύποι_Επιληψίας 1 + Τύπος_Επιληψίας_N; τέλος_για_κάθε τέλος_διαδ Ψευδοκώδικας 2.1.2 Εύρεση Επιληψιών µε βάση τον Τύπου Κρίσης του ασθενούς. Το σύστηµα σε αυτή τη περίπτωση (Ψευδοκώδικας 2.1.2) ελέγχει τον Τύπο Κρίσης (Seizure Type) του ασθενούς αν ταιριάζει µε κάποιον από αυτούς που υπάρχουν στη Βάση Γνώσεων. Ο έλεγχος γίνεται σε όλα τα δεδοµένα της Βάσης Γνώσεων και οι τύποι επιληψίας που ικανοποιούνται (Πιθανοί_Τύποι_Επιληψίας 1 ) καταγράφονται σε µια λίστα. Τµήµα 3: Σε αυτό το τµήµα εκτελείται ο παρακάτω αλγόριθµος σε ψευδοκώδικα: Ορισµοί: Γενικευµένους Τύπους Κρίσης (Generalized Seizure Type) έχουµε στις περιπτώσεις: ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic. Μερικός Τύπους Κρίσης (Partial Seizure Type) έχουµε στις περιπτώσεις: iia1, iia2, iib, iic, iid, iie, iif. ηλώσεις: EEG_(Focus): H τιµή της Κρίσης Εστίασης του Τύπου Ηλεκτροεγκεφαλογραφήµατος για τα δεδοµένα του ασθενούς. (π.χ. b1-temporal, ia2-parietal κλπ.). Seizure_Focus: H τιµή της Κρίσης Εστίασης για τα δεδοµένα του ασθενούς. (π.χ. temporal, occipital κλπ.). Seizure_Type є «γενικευµένος» / «επιµέρους»: ηλώνει τον χαρακτηρισµό του Τύπου Κρίσης του ασθενούς ως γενικευµένο (generalized) ή επιµέρους (partial). Λίστα Seizure_Focus_List: Είναι η λίστα τιµών της Κρίσης Εστίασης της Βάσης Γνώσεων για καθένα από τους τύπους Επιληψίας. Λίστα EEG_List: Είναι η λίστα τιµών των Τύπων Ηλεκτροεγκεφαλογραφήµατος της Βάσης Γνώσεων για καθένα από τους τύπους επιληψίας. Είσοδος: - EEG_Type: Τα δεδοµένα του ασθενούς για τον Τύπο Ηλεκτροεγκεφαλογραφήµατος. - Seizure_Focus: Τα δεδοµένα του ασθενούς για την Κρίση Εστίασης. - EEG_Type_List: Τα δεδοµένα της Βάσης Γνώσεων για τον Τύπο Ηλεκτροεγκεφαλογραφήµατος. - Seizure_Focus_List: Τα δεδοµένα της Βάσης Γνώσεων για την Κρίση Εστίασης. - Λίστα_Επιληψιών: Η λίστα όλων των τύπων επιληψίας που έχουν καταχωρηθεί στη Βάση Γνώσεων. Έξοδος: - Πιθανοί_Τύποι_Επιληψίας 2 : Η νέα λίστα επιληψιών που προκύπτει από την επεξεργασία του Τύπου Ηλεκτροεγκεφαλογραφήµατος (EEG Type) και της Κρίσης Εστίασης (Seizure Focus). διαδικασία Εύρεση_Επιληψιών_µέσο_Ηλεκτροεγκεφαλογραφήµατος_και_Κρίσης_ Εστίασης_για_Τύπους_Επιληψίας_1.2.Χ.Χ αρχή_διαδ 11

εάν Seizure_Focus = frontal και EEG_Type_(Focus) = frontal τότε Important_criterion:= Seizure_Focus; διαφορετικά εάν Seizure_Focus = frontal και EEG_Type_(Focus) = κενό τότε Important_criterion:= Seizure_Focus; διαφορετικά εάν Seizure_Focus = frontal και EEG_Type_(Focus) { frontal, κενό} τότε εάν Seizure_Type є {ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic} τότε Important_criterion := EEG_Type_(Focus); διαφορετικά εάν Seizure_Type є {iia1, iia2, iib, iic, iid, iie, iif} τότε Important_criterion:= Seizure_Focus; ψευδοκώδικας για Seizure_Focus_temporal; ψευδοκώδικας για Seizure_Focus_parietal; ψευδοκώδικας για Seizure_Focus_occipital; ψευδοκώδικας για Seizure_Focus_multiple; ψευδοκώδικας για Seizure_Focus_unknown; εάν Important_criterion = Seizure_Focus τότε για_κάθε Τύπο_Επιληψίας_Ν Λίστα_Επιληψιών κάνε εάν Seizure_Focus Seizure_Focus_List τότε Πιθανοί_Τύποι_Επιληψίας 2 := Πιθανοί_Τύποι_Επιληψίας 2 + Τύπος_Επιληψίας_N; τέλος_για_κάθε διαφορετικά εάν Important_criterion = EEG_List_(Focus) τότε για_κάθε Τύπο_Επιληψίας_Ν Λίστα_Επιληψιών κάνε εάν EEG_Type EEG_Type_List τότε Πιθανοί_Τύποι_Επιληψίας 2 := Πιθανοί_Τύποι_Επιληψίας 2 + Τύπος_Επιληψίας_N; τέλος_για_κάθε Ψευδοκώδικας 2.1.3 Εύρεση Επιληψιών µε βάση τον τύπο Ηλεκτροεγκεφαλογραφήµατος και την Κρίση Εστίασης του ασθενούς. Όπως στον ψευδοκώδικα 2.1.3 η ίδια διαδικασία εκτελείται και στις περιπτώσεις που η Κρίση Εστίασης (Seizure_Focus) είναι temporal, parietal, occipital, multiple ή unknown. Στο τµήµα αυτό (ψευδοκώδικας 2.1.3) το σύστηµα πραγµατοποιεί έλεγχο στους παρακάτω τύπους επιληψίας: 1.2.1.A, 1.2.1.B, 1.2.1.C, 1.2.1.D, 1.2.1.E, 1.2.1.F, 1.2.2.A, 1.2.2.B, 1.2.2.C, 1.2.2.D, 1.2.2.E, 1.2.2.F, 1.2.3.A, 1.2.3.B, 1.2.3.C, 1.2.3.D, 1.2.3.E, 1.2.3.F Όπως στην διαδικασία του τµήµατος 2 έτσι κι εδώ το πρόγραµµα πραγµατοποιεί µια σύγκριση µεταξύ κάποιων δεδοµένων και καταγράφει σε µια λίστα τους τύπους επιληψίας που ικανοποιούνται (Πιθανοί_Τύποι_Επιληψίας 2 ). Στον ψευδοκώδικα 2.1.3 που αναπτύξαµε, το σύστηµα HIPPOCRAT-EES επιλέγει µε τα κριτήρια που αναφέρονται από µια λίστα επιληψιών αυτούς οι οποίοι ταιριάζουν µε τα δεδοµένα του ασθενούς. Σε αυτούς τους τύπους επιληψίας η Κρίση Εστίασης (Seizure Focus) έχει πολύ µεγάλη διαγνωστική ισχύ. Ενδέχεται σε πολλές περιπτώσεις η Κρίση Εστίασης (Seizure Focus) και ο Τύπος Εστίασης του 12

Ηλεκτροεγκεφαλογραφήµατος (EEG Type - Focus) να µην ταιριάζουν µεταξύ τους και έτσι να µην είναι δυνατόν να καταλήξουµε στην επιλογή των σηµαντικότερων τύπων επιληψίας από αυτούς. Για αυτό το λόγο αναπτύχθηκε µια µεθοδολογία επιλογής των τύπων επιληψίας που αφορούν την κάθε περίπτωση που εξετάζεται. Η µεθοδολογία αυτή περιγράφεται στον ψευδοκώδικα 2.1.3 και στο σχήµα 2.1.2. Το σχήµα 2.1.2 είναι το δέντρο αποφάσεων που αντιστοιχεί στην εύρεση του σηµαντικού κριτηρίου όταν το Seizure_Focus είναι frontal. 1. Seizure_Focus frontal 2. EEG_Type_(Focus) { frontal, κενό} 6. EEG_Type_(Focus)_List frontal κενό Generalied_Seizure_Type Partial_Seizure_Type 3. Seizure_Focus (Important Criterion) 5. Seizure_Focus (Important Criterion) 7. EEG (Important Criterion) 8. Seizure_Focus (Important Criterion) Σχήµα 2.1.2 έντρο αποφάσεων εντοπισµού του σηµαντικότερου κριτηρίου για την διάγνωση µεταξύ του Τύπου Εστίασης Ηλεκτροεγκεφαλογραφήµατος και Κρίσης Εστίασης. Το HIPPOCRAT-EES πρώτα εντοπίζει το σηµαντικότερο κριτήριο, αυτό κατευθύνει την πορεία της διάγνωσης, µεταξύ του Τύπου Εστίασης Ηλεκτροεγκεφαλογραφήµατος και της Κρίσης Εστίασης. Στη συνέχεια µε βάση αυτό το κριτήριο το διαγνωστικό τµήµα του HIPPOCRAT-EES επιλέγει τους τύπους επιληψίας που συµπεραίνονται (εξάγονται) από τα δεδοµένα του ασθενούς. Η επιλογή των σηµαντικότερων τύπων επιληψίας γίνεται µε την σύγκριση του τύπου Κρίσης Εστίασης του ασθενούς µε τους αντίστοιχους της Βάσης Γνώσεων, στην περίπτωση που η Κρίση Εστίασης είναι σηµαντικότερη από τον τύπο Εστίασης του Ηλεκτροεγκεφαλογραφήµατος. Ενώ, στην περίπτωση που ο τύπος Εστίασης του Ηλεκτροεγκεφαλογραφήµατος είναι σηµαντικότερος από την Κρίση Εστίασης γίνεται σύγκριση του Τύπου Ηλεκτροεγκεφαλογραφήµατος του ασθενούς µε τους αντίστοιχους της Βάσης Γνώσεων. Παράδειγµα 1. Αν τα ιατρικά δεδοµένα του ασθενούς είναι Seizure Type = ia1, Seizure Focus = frontal και EEG Type = b1-frontal τότε η διαδικασία που εκτελείται είναι η εξής: 13

Γνωρίζοντας ότι ο τύπος Κρίσης Εστίασης είναι frontal (βήµα 1 - σχήµα 2.1.2) και ότι ο Τύπος Εστίασης του Ηλεκτροεγκεφαλογραφήµατος είναι κι αυτός frontal (βήµα 2 σχήµα 2.1.2) το σύστηµα καταλήγει στο συµπέρασµα ότι τύπος Κρίσης Εστίασης είναι ισχυρότερος από τον Τύπο Εστίασης του Ηλεκτροεγκεφαλογραφήµατος (βήµα 3 σχήµα 2.1.2). Παράδειγµα 2. Αν τα ιατρικά δεδοµένα του ασθενούς είναι Seizure Type = ia1, Seizure Focus = frontal και EEG Type = b1 (κενό focus, δεν υπάρχει τύπος Εστίασης στο Ηλεκτροεγκεφαλογράφηµα) τότε η διαδικασία που εκτελείται είναι η εξής: Γνωρίζοντας ότι ο τύπος Κρίσης Εστίασης είναι frontal (βήµα 1 σχήµα 2.1.2) και ότι δεν υπάρχει τύπος Εστίασης στο Ηλεκτροεγκεφαλογράφηµα (βήµα 4 σχήµα 2.1.2), το σύστηµα καταλήγει στο συµπέρασµα ότι τύπος Κρίσης Εστίασης είναι ισχυρότερος από τον τύπο Εστίασης του Ηλεκτροεγκεφαλογραφήµατος (βήµα 5 σχήµα 2.1.2). Παράδειγµα 3. Αν τα ιατρικά δεδοµένα του ασθενούς είναι Seizure Type = ia1, Seizure Focus = frontal και EEG Type = b1-temporal τότε η διαδικασία που εκτελείται είναι η εξής: Γνωρίζοντας ότι ο τύπος Κρίσης Εστίασης είναι frontal (βήµα 1 σχήµα 2.1.2) και ότι ο τύπος Εστίασης του Ηλεκτροεγκεφαλογραφήµατος είναι temporal (βήµα 6 σχήµα 2.1.2) το σύστηµα δεν µπορεί να καταλήξει σε συµπέρασµα για το ποιος τύπος Εστίασης είναι σηµαντικότερος ( frontal ή temporal ). Έτσι γίνεται έλεγχος στον Τύπο Κρίσης (Seizure Type) του ασθενούς αν ανήκει στην κατηγορία των Μερικών Τύπων Κρίσης (Partial Seizure Types) ή στην κατηγορία των γενικευµένων Τύπων Κρίσης (Generalized Seizure Types). Ο Τύπος Κρίσης του ασθενούς είναι ia1 και ανήκει στην κατηγόρια των γενικευµένων Τύπων Κρίσης. Εποµένως από το σχήµα 2.1.2 προκύπτει ότι συµβατικότερος σε αυτήν την περίπτωση είναι ο τύπος Εστίασης του Ηλεκτροεγκεφαλογραφήµατος (βήµα 7 σχήµα 2.1.2). Σηµείωση: Στον Τύπο Ηλεκτροεγκεφαλογραφήµατος (π.χ. EEG Type = b1- frontal ή b1-f ), το b1 δηλώνει τον Τύπο του Ηλεκτροεγκεφαλογραφήµατος ενώ το frontal ή το f δηλώνει τον τύπο Εστίασης του Ηλεκτροεγκεφαλογραφήµατος. Στον ψευδοκώδικα 2.1.2 δεν βάλαµε τον ψευδοκώδικα όπου η Κρίση Εστίασης είναι temporal, parietal, occipital, multiple και unknown. Αυτός ο ψευδοκώδικας παρουσιάζεται εδώ ώστε η αντιστοίχηση του µε τα δέντρα αποφάσεων να είναι ευκρινής. Ψευδοκώδικας για Seizure_Focus_temporal εάν Seizure_Focus = temporal και EEG_Type_(Focus) = temporal τότε Important_criterion:= Seizure_Focus; διαφορετικά εάν Seizure_Focus = temporal και EEG_Type_(Focus) = κενό τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = temporal και EEG_Type_(Focus) { temporal, κενό} τότε εάν Seizure_Type є {ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic} τότε Important_criterion := EEG_Type_(Focus); διαφορετικά εάν Seizure_Type є {iia1, iia2, iib, iic, iid, iie, iif} τότε 14

Important_criterion := Seizure_Focus; Ψευδοκώδικας 2.1.4 Εντοπισµός του σηµαντικότερου κριτηρίου για Seizure_Focus temporal. έντρο αποφάσεων για Seizure_Focus_temporal 1. Seizure_Focus temporal 2. EEG_Type_(Focus) { temporal, κενό} 6. EEG_Type_(Focus)_List temporal κενό Generalied_Seizure_Type Partial_Seizure_Type 3. Seizure_Focus (Important Criterion) 5. Seizure_Focus (Important Criterion) 7. EEG (Important Criterion) 8. Seizure_Focus (Important Criterion) Σχήµα 2.1.3 έντρο αποφάσεων εντοπισµού του σηµαντικότερου κριτηρίου για Seizure_Type temporal. Ψευδοκώδικας για Seizure_Focus_ parietal εάν Seizure_Focus = parietal και EEG_Type_(Focus) = parietal τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = parietal και EEG_Type_(Focus) = κενό τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = parietal και EEG_Type_(Focus) { parietal, κενό} τότε εάν Seizure_Type є {ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic} τότε Important_criterion := EEG_Type_(Focus); διαφορετικά εάν Seizure_Type є {iia1, iia2, iib, iic, iid, iie, iif} τότε Important_criterion := Seizure_Focus; 15

Ψευδοκώδικας 2.1.5 Εντοπισµός του σηµαντικότερου κριτηρίου για Seizure_Focus parietal. έντρο αποφάσεων για Seizure_Focus_ parietal 1. Seizure_Focus parietal 2. EEG_Type_(Focus) { parietal, κενό} 6. EEG_Type_(Focus)_List parietal κενό Generalied_Seizure_Type Partial_Seizure_Type 3. Seizure_Focus (Important Criterion) 5. Seizure_Focus (Important Criterion) 7. EEG (Important Criterion) 8. Seizure_Focus (Important Criterion) Σχήµα 2.1.4 έντρο αποφάσεων εντοπισµού του σηµαντικότερου κριτηρίου για Seizure_Type parietal. Ψευδοκώδικας για Seizure_Focus_ occipital εάν Seizure_Focus = occipital και EEG_Type_(Focus) = occipital τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = occipital και EEG_Type_(Focus) = κενό τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = occipital και EEG_Type_(Focus) { occipital, κενό} τότε εάν Seizure_Type є {ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic} τότε Important_criterion := EEG_Type_(Focus); διαφορετικά εάν Seizure_Type є {iia1, iia2, iib, iic, iid, iie, iif} τότε Important_criterion := Seizure_Focus; Ψευδοκώδικας 2.1.6 Εντοπισµός του σηµαντικότερου κριτηρίου για Seizure_Focus occipital. 16

έντρο αποφάσεων για Seizure_Focus_ occipital 1. Seizure_Focus occipital 2. EEG_Type_(Focus) { occipital, κενό} 6. EEG_Type_(Focus)_List occipital κενό Generalied_Seizure_Type Partial_Seizure_Type 3. Seizure_Focus (Important Criterion) 5. Seizure_Focus (Important Criterion) 7. EEG (Important Criterion) 8. Seizure_Focus (Important Criterion) Σχήµα 2.1.5 έντρο αποφάσεων εντοπισµού του σηµαντικότερου κριτηρίου για Seizure_Type occipital. Ψευδοκώδικας για Seizure_Focus_multiple εάν Seizure_Focus = multiple και EEG_Type_(Focus) = multiple τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = multiple και EEG_Type_(Focus) = κενό τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = multiple και EEG_Type_(Focus) { multiple, κενό} τότε εάν Seizure_Type є {ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic} τότε Important_criterion := EEG_Type_(Focus); διαφορετικά εάν Seizure_Type є {iia1, iia2, iib, iic, iid, iie, iif} τότε Important_criterion := Seizure_Focus; Ψευδοκώδικας 2.1.7 Εντοπισµός του σηµαντικότερου κριτηρίου για Seizure_Focus multiple. έντρο αποφάσεων για Seizure_Focus_multiple 17

1. Seizure_Focus multiple 2. EEG_Type_(Focus) { multiple, κενό} 6. EEG_Type_(Focus)_List multiple κενό Generalied_Seizure_Type Partial_Seizure_Type 3. Seizure_Focus (Important Criterion) 5. Seizure_Focus (Important Criterion) 7. EEG (Important Criterion) 8. Seizure_Focus (Important Criterion) Σχήµα 2.1.6 έντρο αποφάσεων εντοπισµού του σηµαντικότερου κριτηρίου για Seizure_Type multiple. Ψευδοκώδικας για Seizure_Focus_ unknown εάν Seizure_Focus = unknown και EEG_Type_(Focus) = unknown τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = unknown και EEG_Type_(Focus) = κενό τότε Important_criterion := Seizure_Focus; διαφορετικά εάν Seizure_Focus = unknown και EEG_Type_(Focus) { unknown, κενό} τότε εάν Seizure_Type є {ia1, ia2, ia3, ia4, ib1a, ib1b, ib1c, ib2a, ib2b, ib2c, ic} τότε Important_criterion := EEG_Type_(Focus); διαφορετικά εάν Seizure_Type є {iia1, iia2, iib, iic, iid, iie, iif} τότε Important_criterion := Seizure_Focus; Ψευδοκώδικας 2.1.8 Εντοπισµός του σηµαντικότερου κριτηρίου για Seizure_Focus unknown. έντρο αποφάσεων για Seizure_Focus_ unknown 18

1. Seizure_Focus unknown 2. EEG_Type_(Focus) { unknown, κενό} 6. EEG_Type_(Focus)_List unknown κενό Generalied_Seizure_Type Partial_Seizure_Type 3. Seizure_Focus (Important Criterion) 5. Seizure_Focus (Important Criterion) 7. EEG (Important Criterion) 8. Seizure_Focus (Important Criterion) Σχήµα 2.1.7 έντρο αποφάσεων εντοπισµού του σηµαντικότερου κριτηρίου για Seizure_Type unknown. Τµήµα 4: Σε αυτό το τµήµα εκτελείται η διεργασία εύρεσης πιθανών επιληψιών µε βάση τους σηµαντικούς τύπους Ηλεκτροεγκεφαλογραφήµατος (EEG Type) οι οποίοι µπορούν να καθοδηγήσουν το σύστηµα στον εντοπισµό των αποτελεσµάτων. Παρακάτω δίνεται ο αλγόριθµός που εκτελείται σε ψευδοκώδικα: ηλώσεις: EEG_Type: Είναι η τιµή του τύπου Ηλεκτροεγκεφαλογραφήµατος (EEG Type) του ασθενούς. Important_EEG_Type 1,, Important_EEG_Type Ν : Είναι οι τιµές των σηµαντικών τύπων Ηλεκτροεγκεφαλογραφήµατος. Είσοδος: - EEG_Type: Τα δεδοµένα του ασθενούς για τον Τύπο Ηλεκτροεγκεφαλογραφήµατος. - EEG_Type_List: Τα δεδοµένα της Βάσης Γνώσεων για τον Τύπο Ηλεκτροεγκεφαλογραφήµατος. - Λίστα_Επιληψιών: Η λίστα όλων των τύπων επιληψίας που έχουν καταχωρηθεί στη Βάση Γνώσεων. Έξοδος - Πιθανοί_Τύποι_Επιληψίας 3 : Η νέα λίστα επιληψιών που προκύπτει από την επεξεργασία του Τύπου Ηλεκτροεγκεφαλογραφήµατος (EEG Type). διαδικασία Εύρεση_Επιληψιών_µέσο_σηµαντικών_Τύπων_ Ηλεκτροεγκεφαλογραφήµατος αρχή_διαδ για_κάθε Τύπο_Επιληψίας_Ν Λίστα_Επιληψιών κάνε 19

εάν EEG_Type EEG_Type_List και EEG_Type Important_EEG_Type 1 τότε Πιθανοί_Τύποι_Επιληψίας 3 := Πιθανοί_Τύποι_Επιληψίας 3 + Τύπος_Επιληψίας_1; : : εάν EEG_Type EEG_Type_List και EEG_Type Important_EEG_Type Ν τότε Πιθανοί_Τύποι_Επιληψίας 3 := Πιθανοί_Τύποι_Επιληψίας 3 + Τύπος_Επιληψίας_N; τέλος_για_κάθε τέλος_διαδ Ψευδοκώδικας 2.1.9 Εύρεση Επιληψιών µε βάση τους σηµαντικούς Τύπους Ηλεκτροεγκεφαλογραφήµατος. Ο λόγος για τον οποίο πραγµατοποιείται αυτή τη διαδικασία είναι γιατί υπάρχουν τύποι Ηλεκτροεγκεφαλογραφήµατος οι οποίοι µας καθοδηγούν στην εύρεση των πιθανών τύπων επιληψίας. Όταν ισχύουν οι τύποι αυτοί υπάρχει πολύ µεγάλη πιθανότητα να ισχύουν οι τύποι επιληψίας που έχουν τα συγκεκριµένα Ηλεκτροεγκεφαλογραφήµατα. Τα σηµαντικά Ηλεκτροεγκεφαλογραφήµατα είναι τα παρακάτω: b3, b5, b6, b7, b8, b9, c10, c11, c12, c13, c14, c15, c16, c20, c26, c27, c28, c29, c30, c31, c32, c33, c34, c37 Αν στα στοιχεία που εισάγει ο χρήστης για ανάλυση (δεδοµένα ασθενούς), ο τύπος Ηλεκτροεγκεφαλογραφήµατος έχει τιµή µια από τις παραπάνω τότε το HIPPOCRAT-EES (ψευδοκώδικας 2.1.9) ενεργοποιεί µια διαδικασία εντοπισµού στην Βάση Γνώσεων των τύπων επιληψίας που έχουν το συγκεκριµένο στοιχείο. Οι τύποι αυτοί επιληψίας αποθηκεύονται σε µια λίστα πιθανών επιληψιών. Τµήµα 5: Σε αυτό το τµήµα εκτελείται η διεργασία εύρεσης πιθανών επιληψιών µε βάση κάποια επιπρόσθετα στοιχεία που υπάρχουν στην Βάση Γνώσεων και είναι σηµαντικά στον εντοπισµό του τύπου επιληψίας του ασθενούς. Σε αυτή την περίπτωση εκτελείται ο παρακάτω αλγόριθµος σε ψευδοκώδικα: ηλώσεις: Vocalization, SeizurePerDay,, BehaviorProblemsDuringSeizure: Είναι οι τιµές των επιπρόσθετων στοιχείων για τα δεδοµένα του ασθενούς. Vocalization_Data, SeizurePerDay_Data,, BehaviorProblemsDuringSeizure_Data: Είναι οι τιµές των επιπρόσθετων στοιχείων για τα δεδοµένα της Βάσης Γνώσεων καθενός τύπου επιληψίας. Είσοδος: - Vocalization, SeizurePerDay, BehaviorProblems DuringSeizure: Τα δεδοµένα του ασθενούς. - Vocalization_Data, SeizurePerDay_Data, BehaviorProblemsDuringSeizure_Data: Τα δεδοµένα της Βάσης Γνώσεων. 20

- Λίστα_Επιληψιών: Η λίστα όλων των τύπων επιληψίας που έχουν καταχωρηθεί στη Βάση Γνώσεων. Έξοδος: - Πιθανοί_Τύποι_Επιληψίας 4 : Η νέα λίστα επιληψιών που προκύπτει από την επεξεργασία των Επιπρόσθετων Στοιχείων (Additional Symptoms). διαδικασία Εύρεση_Επιληψιών_µέσο_Επιπρόσθετων_Στοιχείων αρχή_διαδ για_κάθε Τύπο_Επιληψίας_Ν Λίστα_Επιληψιών κάνε εάν Vocalization = Vocalization_Data = «yes» τότε Πιθανοί_Τύποι_Επιληψίας 4 := Πιθανοί_Τύποι_Επιληψίας 4 + Τύπος_Επιληψίας_1; : : εάν BehaviorProblemsDuringSeizure = BehaviorProblemsDuringSeizure_Data = «yes» τότε Πιθανοί_Τύποι_Επιληψίας 4 := Πιθανοί_Τύποι_Επιληψίας 4 + Τύπος_Επιληψίας_1; τέλος_για_κάθε τέλος_διαδ Ψευδοκώδικας 2.1.10 Εύρεση Επιληψιών µε βάση κάποια επιπρόσθετα στοιχεία (επιπρόσθετες διαγνώσεις). Το πρόγραµµα ελέγχει για επιπρόσθετες διαγνώσεις που µπορεί να έχουν καταχωρηθεί στην λίστα των στοιχείων του ασθενούς. Στη διαδικασία αυτή (ψευδοκώδικας 2.1.10) δηµιουργείται µια λίστα µε όλους τους πιθανούς τύπους επιληψίας οι οποίοι µπορεί να ισχύουν. Στη διαδικασία αυτή το πρόγραµµα µέσα από τη Βάση Γνώσεων ελέγχει τις τιµές των παρακάτω µεταβλητών: Vocalization_Data SeizurePerDay_Data SeizureSleep_Data SeizureAfterSleep_Data SeizureFever_Data MetavolicSymptoms_Data ToxicPoisoning_Data HeadInjury_Data NeurousSystemDisease_Data NOTNeurousSystemDisease_Data AcquiredAphasia_Data PrimaryVisualIctalSeizure_Data SpeechProblems_Data BehaviorProblemsDuringSeizure_Data Οι µεταβλητές αυτές περνούν τιµές yes ή no (εκτός από την SeizurePerDay_Data που παίρνει σαν τιµή κάποιο αριθµό). Το πρόγραµµα Prolog (ψευδοκώδικας 2.1.10) ελέγχει καθεµία µεταβλητή χωριστά (τα στοιχεία της Βάσης Γνώσεων σε σχέση µε τα αντίστοιχα στοιχεία του ασθενούς) και επιλέγει τους τύπους επιληψίας των οποίων κάποιο ή κάποια από αυτά έχουν τιµή yes. 21

Τµήµατα 6, 7 και 8: Στα τµήµατα αυτά γίνετε ενοποίηση των λιστών που δηµιουργήθηκαν στα προηγούµενα τµήµατα (τµήµατα 2, 3, 4 και 5). Σε αυτή την περίπτωση εκτελείτε ο παρακάτω αλγόριθµος σε ψευδοκώδικα: ηλώσεις: Χ 2 : Είναι η λίστα των πιθανών επιληψιών του τµήµατος 2 (Εύρεση µέσο Τύπου Κρίσης). Χ 2 = [Χ 21,Χ 22,,Χ 2Ν ] Χ 3 : Είναι η λίστα των πιθανών επιληψιών του τµήµατος 3 (Εύρεση µέσο Ηλεκτροεγκεφαλογραφήµατος και Κρίσης Εστίασης για Τύπους Επιληψίας 1.2.Χ.Χ). Χ 3 = [Χ 31,Χ 32,,Χ 3Ν ] Χ 4 : Είναι η λίστα των πιθανών επιληψιών του τµήµατος 4 (Εύρεση µέσο σηµαντικών Τύπων Ηλεκτροεγκεφαλογραφήµατος). Χ 4 = [Χ 41,Χ 42,,Χ 4Ν ] Χ 5 : Είναι η λίστα των πιθανών επιληψιών του τµήµατος 5 (Εύρεση µέσο επιπρόσθετων στοιχείων). Χ 5 = [Χ 51,Χ 52,,Χ 5Ν ] Είσοδος: - Χ 2, Χ 3, Χ 4, Χ 5 : Οι λίστες των πιθανών επιληψιών που βρέθηκαν στα τµήµατα 2, 3, 4 και 5. Έξοδος: - Μια νέα τελική λίστα επιληψιών η οποία περιλαµβάνει όλους τους πιθανούς τύπους επιληψίας που εντόπισε το πρόγραµµα Prolog. διαδικασία Ενοποίηση_Λιστών_Πιθανών_Τύπων_Επιληψίας αρχή_διαδ για_κάθε Χ 2Ν Λίστα_Χ 2 κάνε για_κάθε Χ 3Ν Λίστα_Χ 3 κάνε εάν Χ 2Ν = Χ 3Ν τότε διέγραψε το Χ 2Ν από την Λίστα_Χ 2 ; τέλος_για_κάθε τέλος_για_κάθε Λιστα_Επιληψιών_Χ Α := Λίστα_Χ 2 + Λίστα_Χ 3 ; για_κάθε Χ 4Ν Λίστα_Χ 4 κάνε για_κάθε Χ ΑΝ Λίστα_Επιληψιών_Χ Α κάνε εάν Χ 4Ν = Χ ΑΝ τότε διέγραψε το Χ 4Ν από την Λίστα_Χ 4 ; τέλος_για_κάθε τέλος_για_κάθε Λιστα_Επιληψιών_Χ Β := Λιστα_Επιληψιών_Χ Α + Λίστα_Χ 4 ; για_κάθε Χ 5Ν Λίστα_Χ 5 κάνε για_κάθε Χ ΒΝ Λίστα_Επιληψιών_Χ Β κάνε εάν Χ 5Ν = Χ ΒΝ τότε διέγραψε το Χ 5Ν από την Λίστα_Χ 5 ; τέλος_για_κάθε τέλος_για_κάθε 22

Τελική_Λίστα_Πιθανών_Επιληψιών := Λιστα_Επιληψιών_Χ Β + Λίστα_Χ 5 ; τέλος_διαδ Ψευδοκώδικας 2.1.11 Ενοποίηση Λιστών Πιθανών Τύπων Επιληψίας. Στον παραπάνω αλγόριθµο (ψευδοκώδικας 2.1.11) το πρόγραµµα, µέσα από δύο λίστες δεδοµένων, αφαιρεί τα δεδοµένα της πρώτης αν εµπεριέχονται στην δεύτερη λίστα. Στο τέλος ενοποιεί τις δύο λίστες σε µια τρίτη η οποία αντιπροσωπεύει τις δύο άλλες. Η διαδικασία αυτή επαναλαµβάνετε µέχρι να ενοποιηθούν όλες οι λίστες σε µια τελική λίστα. Η τελική λίστα που εµπεριέχει όλους τους πιθανούς τύπους επιληψίας είναι η λίστα Τελική_Λίστα_Πιθανών_Επιληψιών. Τµήµα 9: Στο τµήµα αυτό του προγράµµατος Prolog γίνεται ταξινόµηση των στοιχείων της τελικής λίστας επιληψιών Τελική_Λίστα_Πιθανών_Επιληψιών ως προς τα στοιχεία της λίστας όλων των επιληψιών Total_Epilepsy_List. Αυτή η διαδικασία γίνεται για να µπορέσει το πρόγραµµα κατά τον υπολογισµό των παραγόντων βεβαιότητας να εκτελέσει την διαδικασία µε την σειρά που έχουν καταχωρηθεί τα δεδοµένα στη λίστα όλων των επιληψιών Total_Epilepsy_List. Ο αλγόριθµος σε ψευδοκώδικα παρουσιάζετε παρακάτω: ηλώσεις: Λίστα_Χ: Είναι η Τελική Λίστα των Πιθανών Επιληψιών. Χ = [Χ 1,Χ 2,,Χ Α ] Λίστα_Υ: Είναι η Λίστα όλων των Επιληψιών Total_Epilepsy_List. Υ = [Υ 1,Υ 2,,Υ Β ] Είσοδος: - Τελική_Λίστα_Πιθανών_Επιληψιών: Η τελική λίστα των πιθανών επιληψιών που δηµιουργήθηκε στο τµήµα 8. Έξοδος: - Ταξινοµηµένη_Λίστα_Επιληψιών: Η ταξινοµηµένη λίστα επιληψιών προκύπτει µετά την επεξεργασία. δαδικασία Ταξινόµηση_Τελικής_Λίστας_Πιθανών_Επιληψιών αρχή_διαδ για_κάθε Υ Β Λίστα_Υ κάνε για_κάθε Χ Α Λίστα_Χ κάνε εάν Υ Β = Χ Α τότε Ταξινοµηµένη_Λίστα_Επιληψιών := Ταξινοµηµένη_Λίστα_Επιληψιών + Υ Β ; τέλος_για_κάθε τέλος_για_κάθε Ψευδοκώδικας 2.1.12 Ταξινόµηση Τελικής Λίστας Πιθανών Επιληψιών. Σε αυτή τη διαδικασία (ψευδοκώδικας 2.1.12) κάθε στοιχείο της λίστας Total_Epilepsy_List (όλες οι επιληψίες) συγκρίνεται µε κάθε στοιχείο της λίστας 23

Τελική_Λίστα_Πιθανών_Επιληψιών (πιθανές επιληψίες). Αν κάποιο στοιχείο της πρώτης λίστας εµπεριέχετε στην δεύτερη λίστα τότε το στοιχείο αυτό καταχωρείτε σε µια νέα λίστα την Ταξινοµηµένη_Λίστα_Επιληψιών. Τµήµα 10: Σε αυτό το τµήµα το πρόγραµµα επαληθεύει τους τύπους επιληψίας που εντόπισε στα τµήµατα 2, 3, 4 και 5 του σχήµατος 2.1.1. Κατά την επαλήθευση το HIPPOCRAT-EES συγκρίνει κάθε δεδοµένο του ασθενούς µε τα αντίστοιχα δεδοµένα της Βάσης Γνώσεων για τον τύπο επιληψίας που εξετάζετε. Επίσης υπολογίζει τον παράγοντα βεβαιότητας καθενός από τους τύπους επιληψίας που θεωρούνται πιθανοί για τα δεδοµένα του ασθενούς. Ο αλγόριθµος σε ψευδοκώδικα παρουσιάζετε παρακάτω: ηλώσεις: Χ: Είναι η Ταξινοµηµένη Λίστα Πιθανών Επιληψιών. Χ = [Χ 1,Χ 2, Χ Α ] Υ: Είναι τα στοιχεία του ασθενούς. Ζ: Είναι τα στοιχεία που περιέχονται στη βάση γνώσεων του συστήµατος για κάθε Τύπο Επιληψίας της λίστας Total_Epilepsy_List. Ζ = [Ζ 1,Ζ 2, Ζ Β ] W: Είναι η τιµή του παράγοντα βεβαιότητας για κάθε στοιχείο της Ταξινοµηµένης Λίστας Πιθανών Επιληψιών Χ. W = [W 1, W 2, W Γ ] Είσοδος: - user_record: Τα δεδοµένα του ασθενούς. - system_record: Τα δεδοµένα της Βάσης Γνώσεων. - Ταξινοµηµένη_Λίστα_Επιληψιών: Η ταξινοµηµένη λίστα των πιθανών επιληψιών. Έξοδος: - Οι τύποι επιληψίας που ικανοποιούνται «Τύπος Επιληψίας» καθώς και οι αντίστοιχοι παράγοντες βεβαιότητας «Παράγοντας Βεβαιότητας». διαδικασία Υπολογισµός_Παράγοντα_Βεβαιότητας αρχή_διαδ για_κάθε Χ Α Χ κάνε εάν Υ ταυτίζονται µε Ζ Β τότε Τύπος Επιληψίας := Χ Α ; Παράγοντας Βεβαιότητας := W Γ ; τέλος_προγράµµατος τέλος_για_κάθε τέλος_διαδ Ψευδοκώδικας 2.1.13 Επαλήθευση δεδοµένων και υπολογισµός Παράγοντα Βεβαιότητας. Το πρόγραµµα (ψευδοκώδικας 2.1.13) ελέγχει τα δεδοµένα του ασθενούς σε σχέση µε τα αντίστοιχα δεδοµένα που υπάρχουν στη Βάση Γνώσεων κάθε τύπου επιληψίας. Αν τα δεδοµένα ταυτίζονται υπολογίζεται ο παράγοντας βεβαιότητας του συγκεκριµένου τύπου επιληψίας που εξετάζεται και το πρόγραµµα τερµατίζει µε επιτυχία. Στην αντίθετη περίπτωση (αποτυχία του τύπου επιληψίας που εξετάζεται) 24

δίνεται στο πρόγραµµα ο επόµενος πιθανός τύπος επιληψίας και πραγµατοποιείται η ίδια διαδικασία. Για τον υπολογισµό του επόµενου πιθανού τύπου επιληψίας δίνεται στο HIPPOCRAT-EES ο τύπος επιληψίας που ικανοποιήθηκε στην προηγούµενη εκτέλεση. Ο τύπος αυτός επιληψίας χρησιµοποιείται σαν δείκτης στην λίστα των πιθανών επιληψιών που υποδεικνύει το σηµείο τερµατισµού της προηγούµενης ανάλυσης. Για παράδειγµα, αν έχουµε την λίστα επιληψιών [1.1.A, 1.1.D, 1.2.1.A, 1.2.2.A, 1.3, 2.1.B, 2.1.D] και ο δείκτης µας δείχνει την τιµή 1.2.1A τότε η νέα λίστα θα είναι η [1.2.2.A, 1.3, 2.1.B, 2.1.D] η οποία θα αναλυθεί σε αυτό το τµήµα (τµήµα 10 σχήµα 2.1.1) για τον υπολογισµό του επόµενου παράγοντα βεβαιότητας. 2.2 Περιγραφή ιεπικοινωνίας HIPPOCRAT-EES και Αλγορίθµων Ενηµέρωσης και Γραφικής Προβολής της Βάσης Γνώσεων που Υλοποιήθηκαν σε Visual Basic. Όπως αναφέραµε και στο κεφάλαιο 3 το τµήµα διεπικοινωνίας του HIPPOCRAT-EES αναλαµβάνει να εκτελέσει τις παρακάτω διεργασίες: 1. Να εισάγει τα δεδοµένα στο HIPPOCRAT-EES για την διάγνωση των πιθανών επιληψιών ( ιεπικοινωνία ιαγνωστικού Συστήµατος Επιληψίας). 2. Να προβάλλει στον χρήστη γραφικά την δοµή της Βάσης Γνώσεων για να βοηθήσει στην καλύτερη κατανόηση των αποτελεσµάτων που επιστρέφονται από το τµήµα διάγνωσης του HIPPOCRAT-EES (Γραφική Προβολή της Βάσης Γνώσεων του HIPPOCRAT-EES). 3. Να ενηµερώσει την Βάση Γνώσεων προσθέτοντας ή αλλάζοντας κάποιους τύπους επιληψίας (Ενηµέρωση της Βάσης Γνώσεων του HIPPOCRAT- EES). Στο σχήµα 3.1 παρουσιάσαµε διαγραµµατικά τις διεργασίες που πραγµατοποιεί το HIPPOCRAT-EES. Στις επόµενες παραγράφους θα αναλύσουµε τις διεργασίες που εκτελεί το τµήµα διεπικοινωνίας του HIPPOCRAT-EES. 2.2.1 Τµήµατα και Αλγόριθµοι ιαγνωστικού Υποσυστήµατος του HIPPOCRAT-EES που έχει Υλοποιηθεί σε Visual Basic. Στην παράγραφο 3.5 (Σχεδιασµός ιεπικοινωνίας HIPPOCRAT-EES και ιεπικοινωνία Visual Basic Prolog) αναπτύξαµε τον τρόπο υλοποίησης της διεπικοινωνίας µεταξύ της Prolog και της Visual Basic. Η Visual Basic όπως έχουµε αναφέρει και σε προηγούµενα κεφάλαια χρησιµοποιείται για την υλοποίηση της διεπικοινωνίας του συστήµατος. Ο χρήστης του συστήµατος και το τµήµα του συστήµατος που υλοποιήθηκε σε Prolog επικοινωνούν µεταξύ τους µέσω κώδικα της Visual Basic. Η διαδικασία ροής πληροφοριών / γνώσεων είναι η εξής: 25

Χρήστης 1 2 5 Τµήµα ιασε που υλοποιήθηκε σε Visual Basic 4 Τµήµα ιασε που υλοποιήθηκε σε Prolog 3 Σχήµα 2.2.1.1 Ροή πληροφοριών / γνώσεων στο HIPPOCRAT-EES. 1. Στο βήµα 1 ο χρήστης εισάγει τα δεδοµένα. 2. Στο βήµα 2 το υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Visual Basic περνάει τα δεδοµένα στο υποσύστηµα που υλοποιήθηκε σε Prolog. 3. Στο βήµα 3 το υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Prolog επεξεργάζεται τα δεδοµένα και βρίσκει τα αποτελέσµατα. 4. Στο βήµα 4 το υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Prolog δίνει τα αποτελέσµατα στη Visual Basic. 5. Στο βήµα 5 το υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Visual Basic παρουσιάζει τα αποτελέσµατα στον χρήστη. Η διεπικοινωνία του HIPPOCRAT-EES εκτελεί τις παρακάτω λειτουργίες διεπικοινωνίας όπως φαίνονται στο σχήµα 2.2.1.2: Εκκινεί την γλώσσα προγραµµατισµού Prolog µέσω της Visual Basic (τµήµα 1). Φορτώνει το υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Prolog (τµήµα 2). Υποστηρίζει την εισαγωγή των δεδοµένων από το χρήστη του συστήµατος µέσω παραθύρου εισαγωγής δεδοµένων (τµήµα 3). ηµιουργεί την Πρόταση Στόχο (Ερώτηση) Prolog εισάγοντας τα δεδοµένα σε αυτή (τµήµα 4). Περνά την Πρόταση Στόχο (Ερώτηση) στο υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Prolog (τµήµα 5). Λαµβάνει τα αποτελέσµατα από την επεξεργασία της Ερώτησης (Πρόταση Στόχος) και τα προβάλλει στην οθόνη του χρήστη (τµήµα 6). 26

1 Εκκίνηση Γλώσσας Prolog 2 Εκκίνηση υποσυστήµατος HIPPOCRAT-EES που υλοποιήθηκε σε Prolog ιαγνωστικό Υποσύστηµα του HIPPOCRAT-EES σε Visual Basic 4 ηµιουργία Ερώτησης / Στόχου για επεξεργασία από το διαγνωστικό υποσύστηµα του HIPPOCRAT-EES 5 Μεταφορά Ερώτησης / Στόχου για επεξεργασία από το HIPPOCRAT-EES 3 Εισαγωγή δεδοµένων από το χρήστη Υποσύστηµα HIPPOCRAT- EES που υλοποιήθηκε σε Prolog Πληροφορίες / Γνώσεις Αποτελέσµατα 6 Λήψη αποτελεσµάτων από το υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Prolog. Προβολή στην οθόνη του χρήστη. Χρήστης Σχήµα 2.2.1.2 Σειρά εκτέλεσης των τµηµάτων διεπικοινωνίας Visual Basic - Prolog Τα τµήµατα 1 και 2 ενεργούν ανεξάρτητα από τα τµήµατα 3 και 4. Μπορούν να εκτελεστούν είτε πριν τα τµήµατα 3 και 4 είτε µετά από αυτά. Το τµήµα 5 δίνει την ερώτηση (στόχο) στο υποσύστηµα του HIPPOCRAT-EES που υλοποιήθηκε σε Prolog. Το τµήµα 6 λαµβάνει τα αποτελέσµατα από την επεξεργασία της ερώτησης / στόχου. Ο χρήστης του συστήµατος δίνει τα δεδοµένα του ασθενούς στο τµήµα 3 του συστήµατος και λαµβάνει τα αποτελέσµατα της διάγνωσης από το τµήµα 6. Τµήµα 1: Σε αυτό το τµήµα η Visual Basic εκκινεί την γλώσσα προγραµµατισµού Prolog χρησιµοποιώντας την εντολή PrologInit(). Παρακάτω παρουσιάζεται ο αλγόριθµος σε ψευδοκώδικα της διαδικασίας αυτής. Είσοδος: - Εκκίνηση_της_Prolog: Αυτή η εντολή δίνει την εντολή εκκίνησης της γλώσσας Prolog. Έξοδος: - Επιτυχής ή ανεπιτυχής εκκίνηση της γλώσσα Prolog. 27

ιαδικασία Εκκίνηση Γλώσσας Prolog αρχή_διαδ εάν Εκκίνηση_της_Prolog = Ανεπιτυχής τότε γράψε: «Σφάλµα στην εκκίνηση της Prolog.»; τέλος_προγράµµατος τέλος_διαδ Ψευδοκώδικας 2.2.1.1 Εκκίνηση γλώσσας προγραµµατισµού Prolog. Με την εντολή Εκκίνηση_της_Prolog (δηλαδή η εντολή PrologInit() - ψευδοκώδικας 2.1.2.1) το σύστηµα εκκινεί την γλώσσα προγραµµατισµού Prolog µέσω της Visual Basic. Αν η εκκίνηση πραγµατοποιηθεί µε επιτυχία τότε το σύστηµα περνάει στην επόµενη διαδικασία διαφορετικά τερµατίζει. Τµήµα 2: Σε αυτό το τµήµα η Visual Basic φορτώνει στην Prolog το τµήµα του HIPPOCRAT-EES που έχει υλοποιηθεί σε Prolog χρησιµοποιώντας την εντολή διεπικοινωνίας Prolog Visual Basic PrologQueryCutFail. Ο αλγόριθµος που εκτελείται παρουσιάζεται παρακάτω: Είσοδος: - Το τµήµα του HIPPOCRAT-EES που έχει υλοποιηθεί σε Prolog. Έξοδος: - Επιτυχής ή ανεπιτυχής εκκίνηση του τµήµατος του HIPPOCRAT-EES που έχει υλοποιηθεί σε Prolog. διαδικασία Εκκίνηση προγράµµατος Prolog αρχή_διαδ εάν Μονοπάτι_και_Όνοµα_Προγράµµατος_Prolog (Μονοπάτι) = Ανεπιτυχής τότε γράψε: «Σφάλµα στην εισαγωγή του προγράµµατος Prolog.»; τέλος_προγράµµατος τέλος_διαδ Ψευδοκώδικας 2.2.1.2 Φόρτωµα HIPPOCRAT-EES που έχει υλοποιηθεί σε Prolog. Το σύστηµα χρησιµοποιεί την εντολή Μονοπάτι_και_Όνοµα_Προγράµµατος_ Prolog (Μονοπάτι) (δηλαδή την PrologQueryCutFail - ψευδοκώδικας 2.1.2.2) για να δώσει στην Prolog το όνοµα και την θέση του προγράµµατος Prolog που θα εκτελεστεί. Αν η εισαγωγή του προγράµµατος στην Prolog πραγµατοποιηθεί µε επιτυχία τότε το σύστηµα συνεχίζει για την επόµενη διαδικασία διαφορετικά τερµατίζει. 28

Τµήµα 3: Σε αυτό το τµήµα δίνονται από το χρήστη όλα τα απαιτούµενα δεδοµένα που χρειάζονται για την επεξεργασία της βάσης γνώσεων από την Prolog. Τα δεδοµένα εισάγονται από τον χρήστη µέσο ενός πλαισίου της Visual Basic σε µορφή παραθυρικού περιβάλλοντος. Το σύστηµα ελέγχει για τυχόν παραλήψεις σε σηµαντικά δεδοµένα από το χρήστη. Ανάλογα περνάει στο επόµενο τµήµα 4 ή σταµατάει τη διαδικασία για να δώσει τη δυνατότητα στο χρήστη να εισάγει τα απαραίτητα στοιχεία στο σύστηµα. Τµήµα 4: Σε αυτό το τµήµα η διεπικοινωνία του HIPPOCRAT-EES δηµιουργεί την ερώτηση (πρόταση στόχος) Prolog και εισάγει τα δεδοµένα που έχουν δοθεί στο τµήµα 3 από το χρήστη. Η Visual Basic δηµιουργεί την ερώτηση Prolog σε µορφή χαρακτήρων (strings) όπως θα ήταν σε περίπτωση που θα εισαγόταν από το περιβάλλον της Prolog. Ο αλγόριθµος σε ψευδοκώδικα που εκτελείται παρουσιάζεται παρακάτω: Είσοδος: - Τα δεδοµένα που εισάγει ο χρήστης του HIPPOCRAT-EES (δεδοµένο1, δεδοµένο2 κλπ). Έξοδος: - Η ερώτηση που θα δοθεί στην Prolog για εκτέλεση. διαδικασία ηµιουργία Ερώτησης Prolog αρχή_διαδ Ερώτηση_Prolog := ερώτηση( και δεδοµένο1 και, και δεδοµένο2 και, και και, και Αποτελεσµα1, και Αποτέλεσµα2, και και ) τέλος_διαδ Ψευδοκώδικας 2.2.1.3 ηµιουργία ερώτησης σε Prolog. Το τµήµα 4 της διεπικοινωνίας του HIPPOCRAT-EES συντάσσει την ερώτηση της Prolog µε το όνοµα Ερώτηση_Prolog (ψευδοκώδικας 2.1.2.3). Στην πρόταση στόχο Prolog εµπεριέχονται και οι µεταβλητές µε τα αποτελέσµατα από ην επεξεργασία της ερώτησης στη βάση γνώσεων. Τµήµα 5: Το τµήµα 5 της διεπικοινωνίας του HIPPOCRAT-EES περνά στην Prolog την ερώτηση που δηµιουργήθηκε στο τµήµα 4. Η εισαγωγή της ερώτησης της Prolog γίνεται µε την εντολή διεπικοινωνίας Prolog Visual Basic PrologOpenQuery. Ο αλγόριθµος σε ψευδοκώδικα που εκτελείται παρουσιάζεται παρακάτω: Είσοδος: - Η ερώτηση / πρόταση Prolog που θα εκτελεστεί από την Prolog. Έξοδος: 29

- Επιτυχής ή ανεπιτυχής εισαγωγή της ερώτησης στο περιβάλλον της Prolog. διαδικασία Εισαγωγή Ερώτησης Prolog προς εκτέλεση αρχή_διαδ Ένδειξη_Σφάλµατος := Εισαγωγή_Ερώτησης (Ερώτηση_Prolog); εάν Ένδειξη_Σφάλµατος = Ανεπιτυχές τότε γράψε: «Σφάλµα στη εισαγωγή της ερώτησης Prolog.»; τέλος_προγράµµατος τέλος_διαδ Ψευδοκώδικας 2.2.1.4 Εισαγωγή ερώτησης σε Prolog στο περιβάλλον της Prolog. Mε την εντολή Εισαγωγή_Ερώτησης (δηλαδή µε την εντολή διεπικοινωνίας Prolog Visual Basic PrologOpenQuery ψευδοκώδικας 2.1.2.4) η Visual Basic περνάει αυτή τη πρόταση στόχο στην Prolog. Αν η διαδικασία δεν είναι επιτυχής (δηλαδή η µεταβλητή Ένδειξη_Σφάλµατος - qid είναι ανεπιτυχής - false) τότε το τµήµα 5 τερµατίζει µε σφάλµα διαφορετικά η διαδικασία συνεχίζεται για την επιστροφή των αποτελεσµάτων στο τµήµα 6. Τµήµα 6: Το τµήµα 6 η Visual Basic λαµβάνει τα αποτελέσµατα απο την επεξεργασία της ερώτησης στη βάση γνώσεων του HIPPOCRAT-EES (αποτελέσµατα ερώτησης Prolog) και τα προβάλλει στη οθόνη του χρήστη. Σε αυτή την περίπτωση χρησιµοποιείται η εντολή διεπικοινωνίας Prolog Visual Basic PrologNextSolution για να δοθεί η εντολή επιστροφής των αποτελεσµάτων. Με τις εντολές διεπικοινωνίας PrologGetString και PrologGetLong η Visual Basic παραλαµβάνει τα αποτελέσµατα της ανάλυσης των δεδοµένων της Prolog. Ο αλγόριθµος σε ψευδοκώδικα που εκτελείται παρουσιάζεται παρακάτω: Είσοδος: - Οι εντολές Παραλαβή_Χαρακτήρων και Παραλαβή_Αριθµών, οι οποίες λαµβάνουν τα αποτελέσµατα από την Prolog. Έξοδος: - Επιτυχής ή ανεπιτυχής λήψη καθενός αποτελέσµατος από την γλώσσα Prolog. διαδικασία Λήψη αποτελεσµάτων από την Prolog και προβολή στην οθόνη του χρήστη αρχή_διαδ Ένδειξη_Σφάλµατος := Επιστροφή_Αποτελεσµάτων(Ερώτηση_Prolog); εάν Ένδειξη_Σφάλµατος = Ανεπιτυχές τότε γράψε: «εν βρέθηκαν κατάλληλα αποτελέσµατα κατά την ανάλυση.»; τέλος_προγράµµατος διαφορετικά Ένδειξη_Σφάλµατος := Παραλαβή_Χαρακτήρων (Ερώτηση_Prolog, Αποτέλεσµα1, Θέση_Αποθήκευσης_Αποτελέσµατος1); 30

εάν Ένδειξη_Σφάλµατος = Επιτυχής τότε γράψε: «Σφάλµα επιστροφής αποτελέσµατος.»; τέλος_προγράµµατος Ένδειξη_Σφάλµατος := Παραλαβή_Αριθµών (Ερώτηση_Prolog, Αποτέλεσµα2, Θέση_Αποθήκευσης_Αποτελέσµατος2); εάν Ένδειξη_Σφάλµατος = Επιτυχής τότε γράψε: «Σφάλµα επιστροφής αποτελέσµατος.»; τέλος_προγράµµατος : : τέλος_διαδ Ψευδοκώδικας 2.2.1.5 Επιστροφή αποτελεσµάτων από την Prolog στο χρήστη του HIPPOCRAT-EES. Για να δοθούν τα αποτελέσµατα από την επεξεργασία της Prolog ερώτησης θα πρέπει να εκτελεστεί η εντολή Επιστροφή_Αποτελεσµάτων (δηλαδή η εντολή διεπικοινωνίας Prolog Visual Basic PrologNextSolution ψευδοκώδικας 2.2.1.5). Αν τα αποτελέσµατα µπορούν να επιστραφούν στην Visual Basic τότε η µεταβλητή Ένδειξη_Σφάλµατος είναι επιτυχής και το πρόγραµµα δίνει τις εντολές παραλαβής των αποτελεσµάτων (Παραλαβή_Χαρακτήρων και Παραλαβή_ Αριθµών), διαφορετικά τερµατίζεται το πρόγραµµα ανεπιτυχώς. Με τις εντολές Παραλαβή_ Χαρακτήρων (PrologGetString) και Παραλαβή_Αριθµών (PrologGetLong) το τµήµα λαµβάνει από την Prolog τα αποτελέσµατα σε µορφή χαρακτήρων ή σε µορφή αριθµών. Και σε αυτή την περίπτωση αν υπάρξει σφάλµα το πρόγραµµα τερµατίζει ανεπιτυχώς. Στο τέλος τα αποτελέσµατα αυτά δίνονται στον χρήστη µέσω του πλαισίου διεπικοινωνίας (interface form) σε κατάλληλα κελιά (Labels). 2.2.2 Τµήµατα και Αλγόριθµοι Γραφικής Προβολής της Βάσης Γνώσεων του HIPPOCRAT-EES. Στο σχήµα 3.3 παρουσιάσαµε διαγραµµατικά τις διεργασίες που πραγµατοποιεί το υποσύστηµα γραφικής προβολής της βάσης γνώσεων. Η γραφική προβολή των δεδοµένων της Βάσης Γνώσεων περιλαµβάνει δύο διαδικασίες. Α) Την διαδικασία εισαγωγής των δεδοµένων της Βάσης Γνώσεων µε τη χρήση του συστήµατος διεπικοινωνίας (σχήµα 3.3 τµήµα 1.2.1) και Β) Την επεξεργασία των δεδοµένων της Βάσης Γνώσεων και την γραφική προβολή της (σχήµα 3.3 τµήµατα 1.2.2 και 1.2.3). 31