Επισκέπτης Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 @ΠάρηςΓ Το UI όσο και να το απλοποιήσεις, εξακολουθείς να έχεις 600 ασθένειες (πράγμα που σημαίνει ότι μπορείς να δοκιμάσεις τεχνικές ομαδοποίησης των εξετάσεων και να τις εμφανίσεις ανά κατηγορία κάθε φορά η ανά συχνότητα εμφάνισης...δηλαδή, βάζεις πρώτα αυτά που χρησιμοποιούνται περισσότερα). Οκ, δίκιο έχεις...είναι εξετάσεις...αυτό σκεφτόμουν αλλά η απάντηση ήταν γρήγορη και ξέφυγε... Για τα values, άσε με να το σκεφτώ και επανέρχομαι...
Επισκέπτης Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 @ΠάρηςΓ Το UI όσο και να το απλοποιήσεις, εξακολουθείς να έχεις 600 ασθένειες (πράγμα που σημαίνει ότι μπορείς να δοκιμάσεις τεχνικές ομαδοποίησης των εξετάσεων και να τις εμφανίσεις ανά κατηγορία κάθε φορά η ανά συχνότητα εμφάνισης...δηλαδή, βάζεις πρώτα αυτά που χρησιμοποιούνται περισσότερα). Οκ, δίκιο έχεις...είναι εξετάσεις...αυτό σκεφτόμουν αλλά η απάντηση ήταν γρήγορη και ξέφυγε... Για τα values, άσε με να το σκεφτώ και επανέρχομαι...
ΠάρηςΓ Δημοσ. 19 Μαΐου 2010 Μέλος Δημοσ. 19 Μαΐου 2010 Ευχαριστώ για το ενδιαφέρον!! Το πρόγραμμα δουλέυει άψογα απλά το μονο προβλημα ειναι οτι "πως θα κάτσει ενας γιατρός να γράψει τετοια συνθήκη" αντι για καποιο UI... Το πως δουλεύει ως τώρα.... Γράφει ο χρηστης τη συνθηκη η οποια αποθηκευεται σε μια βάση δεδομένων... Καθε διαγνωση εχει τη δικη της συνθήκη... Τωρα για να τρέξουν οι διαγνώσεις γίνεται το εξής.. Για κάθε διαγνωση ελεγχεται αν περιλαμβάνει έστω και μια εξέταση την οποια να έχει κάνει ο ασθενής. Aν υπάρχει φορτώνει ενα instance κλάσης εξέτασης στη μηχανή της JAVASCRIPT... Αυτη η κλάση εχει τα value aboveNormal belowNormal > public class Exam_Numeric { public double value; private Customer customer; private Exam exam; private ExamNormalsEvaluator<Double> normalsEvaluator; public double getValue() { return value; } public void setValue(double value) { this.value = value; } public Exam_Numeric(Double value, Exam exam, Customer customer) { this.value = value; this.exam = exam; this.customer = customer; normalsEvaluator = new ExamNormalsEvaluator<Double>(customer, exam.getExam_Normal(), value); } public boolean between(double min, double max) { if (value >= min && value <= max) { return true; } return false; } public boolean isNormal() { return normalsEvaluator.isNormal(); } public boolean aboveNormal() { return normalsEvaluator.isAboveNormal(); } public boolean belowNormal() { return normalsEvaluator.isBelowNormal(); } } public class Exam_Boolean { public boolean value; private Customer customer; private Exam exam; private ExamNormalsEvaluator<Boolean> normalsEvaluator; public Exam_Boolean(Boolean value, Exam exam, Customer customer) { this.value = value; this.customer = customer; this.exam = exam; normalsEvaluator = new ExamNormalsEvaluator<Boolean>(customer, exam.getExam_Normal(), value); } public boolean getValue() { return value; } public boolean isNormal() { return normalsEvaluator.isNormal(); } } Kai μετα τρεχει η συνθήκη με τη μηχανη javascript και επιστρεφει το αποτελεσμα... Τωρα γραφικο περιβάλλον ντραγκ κ ντροπ θελει σκέψη ---------- Προσθήκη στις 18:36 ---------- Προηγούμενο μήνυμα στις 18:35 ---------- @ΠάρηςΓΤο UI όσο και να το απλοποιήσεις, εξακολουθείς να έχεις 600 ασθένειες (πράγμα που σημαίνει ότι μπορείς να δοκιμάσεις τεχνικές ομαδοποίησης των εξετάσεων και να τις εμφανίσεις ανά κατηγορία κάθε φορά η ανά συχνότητα εμφάνισης...δηλαδή, βάζεις πρώτα αυτά που χρησιμοποιούνται περισσότερα). Οκ, δίκιο έχεις...είναι εξετάσεις...αυτό σκεφτόμουν αλλά η απάντηση ήταν γρήγορη και ξέφυγε... Για τα values, άσε με να το σκεφτώ και επανέρχομαι... Εχουν κατηγορίες αλλα και παλι ειναι πολλές.
cocoflop Δημοσ. 20 Μαΐου 2010 Δημοσ. 20 Μαΐου 2010 Βασικά έχω ενστάσεις για το στήσιμο, αλλά εφ' όσον το πρόγραμμα δουλεύει άψογα τότε πάω πάσο. Όσον αφορά την διεπαφή... Θα χρησιμοποιήσεις μια λίστα (ul, div, select ότι σε βολεύει) και θα την χρησιμοποιήσεις ως code generator. Δηλαδή ένα ευρετήριο, θα αποτελείται ας πούμε από 500 αντικείμενα li, οπότε κάνοντας κλικ επάνω σε ένα τότε θα συμβαίνει κάτι. Τί όμως; Ένας χρήστης πρέπει να έχει περιβάλλον CRUD (Create Read Update Delete), οπότε δεν πρέπει ποτέ να έρθει σε επαφή με τις συνθήκες (εκτός εάν είναι ανάγκη, θα δίνεις και εναλλακτική ένα πεδίο text με raw δεδομένα). Οι αλχημείες στην διεπαφή θα χρησιμοποιούνται για την παραγωγή κώδικα. Παράδειγμα σχετικό με αυτά που είπα (από δουλειά που έκανα για έναν πελάτη): Εδώ έχεις μια λίστα. ><div id="dynamicListContainer"> <select name="dynamicList[]" class="inputText"> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> <option value="4">D</option> </select> </div> Εδώ έχεις 2 κουμπιά χειρισμού. ><input type="button" id="addCategory" value="+" /> <input type="button" id="removeCategory" value="-" /> Και εδώ έχεις τον κώδικα Javascript, το ζουμί είναι, όταν θα κάνεις κλικ το κουμπί + τότε θα δημιουργηθεί μια νέα λίστα. Εάν κάνεις κλικ το κουμπί - τότε θα φύγει η τελευταία λίστα. Το όνομα του tag είναι dynamicList[], οπότε εάν αργότερα στον server πιάσεις την μεταβλητή POST["dynamicList"] θα σου επιστρέψει έναν πίνακα. Εσυ όμως θα αποφύγεις να φτιάχνεις λίστες στο φτερό (λόγω μεγέθους). Αντίθέτως, θα έχεις μια λίστα που θα σου παράγει input text tags (κλειδωμένα, όχι edit). ><script type="text/javascript"> onload = function() { var container = document.getElementById("dynamicListContainer"); document.getElementById("addCategory").onclick = function() { var listCollection = container.getElementsByTagName("select"); var lastList = listCollection[listCollection.length - 1]; var newList = lastList.cloneNode(true); container.appendChild(document.createElement("br")); container.appendChild(newList); } document.getElementById("removeCategory").onclick = function() { var listCollection = container.getElementsByTagName("select"); if (listCollection.length == 1) return; var lastList = listCollection[listCollection.length - 1]; var listBreaks = container.getElementsByTagName("br"); var lastBreak = listBreaks[listBreaks.length - 1]; container.removeChild(lastList); container.removeChild(lastBreak); } } </script>
ΠάρηςΓ Δημοσ. 20 Μαΐου 2010 Μέλος Δημοσ. 20 Μαΐου 2010 Θα ψαξω αυριο οσα προτεινες.. Ποιες ειναι οι ενστάσεις σου;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.