Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Hinbit Development Strabismus Checking System Application Requirement Document (ARD) Omri Mosseri 037041571 Lior Barak 021603634 Academic Advisor: Dr. Ohad Ben-Sahar Industrial Advisor: Mr. Shay Sarid Project site: www.cs.bgu.ac.il/~baraklio ARD – Strabismus checking system Omri Mosseri and Lior Barak Version Control Version Description Date Modifiers 0.1 First Draft 2/12/07 Omri, Lior 1.0 Release 11/12/07 Omri, Lior 1.1 Prototype revision 18/3/07 Omri, Lior 2.0 Final Version 18/7/07 Omri, Lior 2 ARD – Strabismus checking system Omri Mosseri and Lior Barak Table of Contents 1 INTRODUCTION ................................................................................................................................ 4 1.1 VISION 7 1.2 THE PROBLEM DOMAIN 8 1.3 STAKEHOLDERS 9 1.3.1 Experts: ........................................................................................................... 9 1.3.2 Users: ............................................................................................................... 9 1.3.3 Customers: ..................................................................................................... 9 1.3.4 Sponsors: ........................................................................................................ 9 1.3.5 Beneficiaries ................................................................................................... 9 1.4 SOFTWARE CONTEXT 10 1.5 SYSTEM INTERFACES 11 1.5.1 Hardware Interfaces ................................................................................... 11 1.5.2 Software Interfaces ..................................................................................... 11 1.5.3 Events ............................................................................................................ 11 2 FUNCTIONAL REQUIREMENTS ................................................................................................. 12 2.1 USER-FRIENDLY GUI 12 2.2 USERS MANAGEMENT 12 2.3 LOGIN INTO THE SYSTEM 12 2.4 ADD A NEW PATIENT TO THE SYSTEM 12 2.5 ADD A NEW EXAMINATION FOR A PATIENT ......................................................................... 12 2.6 VIEW PATIENT HISTORY 12 2.7 EDIT DETAILS OF EXISTING PATIENTS 12 2.8 ADD TREATMENT INFORMATION FOR A PATIENT................................................................ 12 3.1 PERFORMANCE CONSTRAINTS: 13 3.1.1 Speed, capacity and Throughput ................................................................ 13 3.1.2 Safety and Security ....................................................................................... 13 3.1.3 Usability .......................................................................................................... 13 3.1.4 Availability....................................................................................................... 13 3.2 PLATFORM CONSTRAINTS 13 3.3 SE PROJECT CONSTRAINTS 13 3.4 SPECIAL RESTRICTION AND LIMITATIONS ........................................................................ 13 4 USAGE SCENARIOS ..................................................................................................................... 14 4.1 USER PROFILES – THE ACTORS 14 4.1.1 Authorized medical staff (Ophthalmologists, Optometrists) .................... 14 4.1.2 Clinic secretary .............................................................................................. 14 4.1.3 Clinic management (admin) ......................................................................... 14 4.2 USE-CASES 15 4.2.1 UC1: Login into the system .......................................................................... 15 4.3 SPECIAL USAGE CONSIDERATIONS 20 5 APPENDICES................................................................................................................................... 21 5.1 FILE FORMATS 21 5.2 GLOSSARY 21 5.2.1 Progress graph – ........................................................................................... 21 5.2.2 Ophthalmologists - ........................................................................................ 21 5.2.3 Optometrists -................................................................................................. 21 5.3 FORMS 22 5.3.1 Patient Form: ................................................................................................. 22 5.3.2 Treatment form .............................................................................................. 22 5.3.3 Patient history form ....................................................................................... 22 5.4 INFORMATION SOURCES 22 3 ARD – Strabismus checking system Omri Mosseri and Lior Barak 1 Introduction StrabismusAlso known as "heterotropia", "squint", "crossed eye", "cockeyed', "wandering eye", or "wall eyed", is a condition in which the eyes are not properly aligned with each other. It typically involves a lack of coordination between the extraocular muscles which prevents bringing the gaze of each eye to the same point in space, preventing proper binocular vision, which may adversely affect depth perception. Strabismus can be either a disorder of the brain coordinating the eyes, or a disorder of one or more muscles, as in any process that causes a dysfunction of the usual direction and power of the muscle or muscles. DiagnosisDuring eye examinations, ophthalmologists and optometrists typically use a cover test to aid in the diagnosis of strabismus. If the eye being tested is the strabismic eye, then it will fixate on the object after the "good" eye is covered, as long as the vision in this eye is good enough. If it is the "good" eye, there will be no change in fixation, as it is already fixated. Depending on the direction that the strabismic eye deviates, the type of tropia or phoria may be assessed. A simple screening test for strabismus is the Hirschberg test. A flashlight is shone in the child's eyes. When the child is looking at the light a reflection can be seen on the front surface of the pupil. If the eyes are properly aligned with one another then the reflection will be in the same spot of each eye. If strabismus is present, then the reflection from the light will not be in the same spot of each eye. PrognosisWhen strabismus is congenital or develops in infancy, it can cause amblyopia, in which the brain ignores input from the deviated eye. Both strabismus and amblyopia are sometimes referred to as lazy eye. The appearance of strabismus may also be a cosmetic problem. One study reported that 85% of adult strabismus patients "reported that they had problems with work, school and sports because of their strabismus". The same study also reported that 70% said strabismus "had a negative effect on their self-image". 4 ARD – Strabismus checking system Omri Mosseri and Lior Barak Importance of early diagnosisTreatment for strabismus should begin as soon after diagnosis as possible. In general, the younger the child is when treatment for strabismus begins, the better the chances are of correcting the problem. According to both the American Optometric Association and American Ophthalmological Association, all children should have their first examination around 9 months of age. However, if an extreme or constant eye turn is noticed, the baby should be examined before 9 months. If a constant eye turn or significant refractive error is found, the eyes need to be fully evaluated and corrected as early as possible The ability to see 20/20, focusing ability (accommodation) and eye muscle coordination (aiming or alignment) are all developed by 6 months of age in humans. By 9 months of age, the system is in place. In children, when the two eyes fail to focus on the same image, the brain may learn to ignore the input from one eye. If this is allowed to continue, the eye that the brain ignores will never see well. This loss of vision is called amblyopia, and it is frequently associated with strabismus. Although early treatment is important to correct strabismus, time is even more critical with amblyopia. Amblyopia can damage a child's vision quickly and permanently. After age 7 to 10 years, no treatment can completely correct poor vision caused by amblyopia. 5 ARD – Strabismus checking system Omri Mosseri and Lior Barak Treatment Treatment for strabismus may include glasses, patching, drug treatments, eye exercises, botulinum toxin, or surgery. The decision about the right treatment depends, among other factors, on the deviation of the eyes. Glasses If the eyes are only slightly misaligned, wearing glasses can sometimes correct strabismus. Some children may need to wear bifocals or special lenses called prisms. Along with wearing glasses, they may need to use eyedrops for a while. Patching This is primarily a treatment for amblyopia (lazy eye), which may be either the result of strabismus or its cause. The stronger eye is covered with a patch to force the child to use the weaker eye. Drug treatments The doctor may prescribe certain drugs, usually in the form of eyedrops, as part of the treatment. Atropine and miotics affect muscles in the eye that control the pupil and the eye's ability to focus. Miotics may be used when strabismus is caused by problems in focusing the eyes. Atropine is sometimes used as an alternative to patching to help treat poor vision (amblyopia) in one eye by blurring the vision in the good eye beyond that of the weaker eye and forcing the child to use the weaker eye. Eye exercises Exercises may occasionally be used in addition to other treatments, such as surgery. However, eye exercises alone are not helpful in most cases of strabismus. Botulinum toxin Botulinum toxin (such as Botox) is a drug that temporarily prevents contraction of a muscle for several months at a time. This causes the muscle to relax, which allows the opposing muscle to change the eye's position. It is sometimes used as a supplemental treatment when surgery does not entirely correct the misalignment of the eyes. It is a controversial treatment, however, because it may require many injections, results are not always predictable, and it may create other vision problems and simply delay further surgery. Surgery Surgery is often the only way to align the eyes and improve vision in children who have strabismus. During surgery, the doctor loosens or tightens the muscles around the eye by changing their length or position. Altering the pull of the muscles can bring the eyes back into line with each other. A child may need more than one surgery to realign the eyes and improve vision and may have to wear or continue wearing glasses after the surgery. Because early treatment is important to correct strabismus, surgery in children younger than age 2 is not unusual, and it can be performed as early as 3 months of age in serious cases, particularly if the strabismus is detected early. 6 ARD – Strabismus checking system Omri Mosseri and Lior Barak 1.1 Vision Existing strabismus checking and diagnosis methods don't give a good enough solution to the doctors. These methods make it difficult to detect accurately and treat strabismus in infants and young babies, that because of the need of cooperation of the patient during the examination. Today, the examination first requires drifting of pupil expending liquids in the child eyes and letting him wait until it takes its effect. Then the examination itself includes massive and even invasive lighting of the eye, which makes the child feel inconvenient and therefore not very collaborating. The main goal of our project is to develop a quick, easy, reliable and convenient way to detect strabismus (Crossed-eye) in young children (especially infants) and adults as well. We will develop a user-friendly eye clinic system that will manage - Patients – handle a database of patients containing their personal and medical details. - Treatments – handle treatments suggested after each examination. - Treatment progress of each patient – history of previous examinations and treatments of the patient. - Examinations – the main feature of the system, handles the examination process itself, checking the patient's eyes for strabismus. The advantage of our system compared to existing methods is the ability of our system to detect strabismus and deviation angle of eyes without the need to communicate with the patients. This ability enables us to examine very young babies, and by that reducing the chance to develop amblyopia and depth perception problems. Eyes that remain misaligned can still develop visual problems. Existing methods depend on cooperation with the patient, which is very difficult in these ages. The idea is to give an estimation of the angle of deviation of the eyes, which will help the doctor decide the required treatment for the patient. The software will be able to detect and analyze strabismus from a digital image of the patient. In case of positive detection the software will give the deviation angle and distance of each eye. 7 ARD – Strabismus checking system Omri Mosseri and Lior Barak Architecture 1.2 The Problem Domain Doctor Patient Database Secretary The system is composed of two modules: - The patient managing module that will handle patients, their details, appointments, examination and treatment history and all data in the system. - The Image processing unit module, that will conduct the examination itself, detect and analyze the image and report the results. 8 ARD – Strabismus checking system Omri Mosseri and Lior Barak 1.3 Stakeholders 1.3.1 Experts: Doctor Shmuel Cohen, senior eye surgeon. Shay Sarid – hardware, software and advisor. Dr. Ohad Ben Shahar – academic advisor. 1.3.2 Users: Doctors - Ophthalmologists, Optometrists Examining nurses Clinic secretary Clinic management Want to have a user-friendly system to manage and check patients, want the examinations to be automated and as accurate as possible to help them give the correct treatment to the patient. They want the system to be simple and easy to work with, and for them to have the least work as possible, and not time-consuming. 1.3.3 Customers: Hospitals Eye clinics Schools nursing Have an interest in having a sophisticated, fast, accurate system that will attract as many patients as possible. 1.3.4 Sponsors: Hinbit Have a profit from the sell and support of the system. 1.3.5 Beneficiaries Strabismus patients General population Want a simple, cheap, accurate and convenient way to have the examination, and be able to be treated in the best way. That can be achieved by detecting strabismus and treating it in a young age. 9 ARD – Strabismus checking system Omri Mosseri and Lior Barak 1.4 Software Context The software will introduce the abilities of managing an eye clinic, managing patients and their medical history including examination and treatment history and advancement. Another important feature of the software will be the ability to receive as input an image of the patient, analyze it using image processing methods in order to identify the face, the eyes, the pupils etc. and determine the deviation of the eyes. The major inputs: - Patients' details. - Examination image of a patient. (In a predefined requirements like light, distance from patient, resolution etc.) - Doctor notes and suggested treatment. The major outputs: - Examination results (deviation of each eye). - Patient advancement graph (for each eye). - Medical history. Functionality The main algorithm in our project receives an image that satisfies predetermined special requirements, and performs several processing actions such as identification of the eye, the pupil etc. From the results of this processing the algorithm makes mathematical calculations to find the deviation of each eye. 10 ARD – Strabismus checking system Omri Mosseri and Lior Barak 1.5 System Interfaces 1.5.1 Hardware Interfaces The plan is to construct a device that includes the special camera and software together. As a result the software will communicate with the camera directly through a protocol and acquire the image from the camera. not in our project scope 1.5.2 Software Interfaces Does not apply. 1.5.3 Events All events in the system are user-driven, meaning an interaction of the user with the system interface. Request made by the user to process an image (analyze patient image event). Request made by a user to add a new patient to the database (add new patient event). Request made by a user to view patient's medical history (view history event). Request made by the user to update a patient's details. Scheduling an appointment request. 11 ARD – Strabismus checking system Omri Mosseri and Lior Barak 2 Functional Requirements The system will present this functional ability: 2.1 user-friendly GUI All functionality is accessed through a simple graphic interface. 2.2 Users management The system will manage the users of the system, and maintain the following permissions: admin: add and edit users and their privileges. Secretary: add patient, update patient details. Medical staff: add new examination, view previous exams, add treatments and view medical history. Everyone: login into the system. 2.3 Login into the system The system will present a login screen demanding the user to enter a username and a password. 2.4 Add a new patient to the system The system will enable the user to add new patients to the database and save its personal details, including its ID number, name, address, phone number, age and medical history. 2.5 Add a new examination for a patient o The system will allow the user to give a file containing a patient's image which will be taken in a special process (confidential). o The system will support .jpg format. o The system will enable the user to ask it to analyze the image and check for strabismus. The system will give a result containing the deviation angle of each eye. o The system will update the patient's data with the new examination and results. 2.6 View patient history The system will allow the user to view a patient's previous exams results and treatments. The system will also allow the user to view a graph of changes between previous exams (see 5.2.1 "progress graph"). 2.7 Edit details of existing patients The system will allow the user to update an existing patient's details which described above. 2.8 Add treatment information for a patient The system will allow the user to fill in the suggested treatment for the patient. 12 ARD – Strabismus checking system Omri Mosseri and Lior Barak 3 Non-functional Requirements 3.1 Performance Constraints: 3.1.1 Speed, capacity and Throughput - Processing of a certain image won't take longer than 5 minutes. - The system must contain complete data (history and patient details) of all patients used the system in the last 5 years. At least 2000 patient's records. - The system will be accessible to only one user at a time. 3.1.2 Safety and Security - The system will demand a user to login to system using a username and a password before any data will be available for the user (in order to maintain the 'patient-doctor confidentiality'). 3.1.3 Usability - The input has to be in a certain predefined format. - The input image must be taken in a certain predefined process in order to get a correct, accurate result. - The training of users to operate the system will take not longer than a day. - The output of the system must be understandable to professionals (detailed in section 1.3 under users). 3.1.4 Availability - The system must be available for use all the time. 3.2 Platform Constraints - The system will be able to run under windows operating system. The image processing unit will be written in c++ and java. The clinic management module will be written in java using inteliJ IDE. The system will use mySQL database. 3.3 SE Project Constraints - We must get samples of images as required from our customer in order to properly develop it. 3.4 Special Restriction and Limitations Does not apply. 13 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4 Usage Scenarios 4.1 User Profiles – The Actors 4.1.1 Authorized medical staff (Ophthalmologists, Optometrists) They are the main users of the system, they use the system to examine their patients and manage their treatments. They will perform the following actions: - Add a new examination to the system - View patients' medical history - Add a treatment for a patient 4.1.2 Clinic secretary They will use the system to organize the appointments and to add new patient to the system. They will perform the following actions: - Add a new patient to the system - Update patient details 4.1.3 Clinic management (admin) They will give permissions to their employees to use the system, and can backup the data manually. They will perform the following actions: - Add new user to the system given username and password. - Update an existing user. 14 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4.2 Use-cases 4.2.1 UC1: Login into the system Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes Login into the system The user logs into the system. o The user exist in the system o There is no user logged into the system. o The user Is logged into the system o The user can access only the actions fitting his permission. Any user. Several times a day. 1. the system displays the login screen 2. user enters his username and password 3. the system validates the user 4. the user is free to use the system 3a. the system does not recognize a username with that password 1. the system inform the user about the error. 2. the system returns to step 1. n/a n/a 15 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4.2.2 UC2: Add user to the system Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes Add user to the system Adding a new user that can use the system given username and password o The user is authorized to use the system o The user does not exist in the system o The user is added to the system o The user has a unique username admin In the assimilation of the system there will be some uses, and afterward rarely use. 1. the admin logs into the system. 2. the system presents the admin control panel. 3. the admin chooses the add a new user option. 4. the system shows the add new user screen. 5. the admin chooses the desired permission and inserts the user's username and password. 6. the system checks the validity of the username and password. 7. the system approves the operation a notifies the admin of the creation of the new user in the system. 6a. invalid username or password. 1. the system informs the admin about the error. 2. the system returns to step 5. N/a 4.2.1 16 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4.2.3 UC3: Add a new patient to the system Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes Add a new patient to the system Adding a new patient to the system The patient doesn’t exist in system. The secretary logged into the system. The new patient details were added to the system. Secretary Sometimes 1. the system presents the secretary control panel. 2. the secretary chooses the add a new patient option. 3. the system shows the add new patient screen. 4. the secretary inserts the patient id. 5. the system checks if the patient exists in the system. 6. the system displays a patient details form. 7. the secretary fills the form with the patient details and approves. 8. the system adds the patient's details to the database and confirms the action. 5a. the patient already exists in the system 1. the system displays the patient details. n/a n/a 17 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4.2.4 UC4: analyze new examination of a patient Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes analyze new examination of a patient The system will analyze new examination for a patient. o an examination image is available. o the user is logged in the system o the user has the appropriate permission. o The result of the examination is displayed. Ophthalmologists, Optometrists Frequently 1. the user asks the system to analyze an image. 2. the system allows the user to choose the desired image. 3. the user chooses the image he wants to analyze and confirms. 4. the system loads the image. 5. the system analyzes the image. 6. the system displays the analysis results. 4a. the system does not support the image format 1. display error message to the user 2. go back to step 3 5a. the system was unable to analyze the image 1. display error message to the user n/a n/a 4.2.5 UC5: Add a new examination for a patient Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes Add a new examination for a patient update the patient records with the exam results. o The patient exists in the system. o The patient is currently treated. o the user is logged in the system o the user has the appropriate permission. o the patient record is updated with the new examination and its results. Ophthalmologists, Optometrists Frequently 1. analyze new exam (use case 4.2.4) 2. the user request to save the examination and its results. 3. the system updates the database and confirms. 2a. the user asks to discard the examination 1. the system removes the image and returns to the treatment screen. n\a 4.2.4 18 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4.2.6 UC6: View patient history Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes View patient history The system displays the patient previous exams and treatments and a progress graph (see 5.2.1). o The patient exists in the system. o The patient is currently treated. o The user is logged in the system. o The user has the appropriate permission. o the patient history and progress graph is displayed on the screen Ophthalmologists, Optometrists Frequently 1. The user asks the system to view the current patient's history. 2. the system displays the patient history form (see 5.3.3). 3. the user asks to watch a certain exam. 4. the system displays the exam details If the patient is visiting for the first time the system will informs the user. n/a 4.2.7 UC7: Edit details of existing patients Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes Edit details of existing patients Update existing patient details. o The user has the appropriate permission. o The user is logged in the system. o The database is updated with the patient concurred details. Clinic secretary. Rarely 1. The user asks to update a patient's details. 2. The system asks for the patient id. 3. The user inserts the patient id. 4. the system display the patient details form. 5. the user updates the form with the changes and confirm. 6. the system updates the database and confirm. 4a. the user doesn’t exist in the system 1. the system displays error 2. back to step 2 n/a n/a 19 ARD – Strabismus checking system Omri Mosseri and Lior Barak 4.2.8 UC8: Add treatment information for a patient Name: Description: Preconditions: Postconditions: Actors: Frequency of use: Normal course of events: Alternatives: Exceptions: Includes Add treatment information for a patient The user schedules an appointment for a patient. o The user has the appropriate permission. o The user is logged in the system. o The new appointment was inserted into the system. Ophthalmologists, Optometrists Frequently 1. the user requests to enter treatment details for a patient. 2. the system displays a treatment form (see 5.3.2). 3. the user fills in the treatment form including adding new examination(see UC4.2.5). 4. the user confirms the form. 5. the system updates the database with the new treatment details. 3.1 the user may want to see patient treatments history to decide about the treatment (see UC4.2.6). 3.2 the user doesn't want to add new examination in this treatment. n/a 4.2.5, 4.2.6 4.3 Special usage considerations Does not apply. 20 ARD – Strabismus checking system Omri Mosseri and Lior Barak 5 Appendices 5.1 File formats image file format: .jpg . 5.2 Glossary 5.2.1 Progress graph – Visualization of all past patient's exams results in a graph in order to see the advancement in the patient eyes condition, which gives the treating doctor feedback about his treatment, and helps him determine the future treatment. 5.2.2 Ophthalmologists An ophthalmologist is a physician who specializes in the medical and surgical care of the eyes and visual system and in the prevention of eye disease and injury. They provide a full spectrum of care including routine eye exams, diagnosis and medical treatment of eye disorders and diseases, prescriptions for eyeglasses, surgery, and management of eye problems that are caused by systemic illnesses. Ophthalmologists can be medical doctors (M.D.) or doctors of osteopathy (D.O.). 5.2.3 Optometrists An optometrist is an eye care professional who is a primary care practitioner for most vision and ocular health concerns. Optometrists are trained to diagnose, manage, and treat a multitude of visual and ocular health-related concerns, including, but not limited to, fitting and prescribing glasses and contact lenses, diagnosing and treating muscular abnormalities, treating minor ocular injuries, diagnosing and treating diseases such as glaucoma and diagnosing others such as diabetic retinopathy. Optometrists are experts in determining one's refractive error and prescribing the appropriate correction. 21 ARD – Strabismus checking system Omri Mosseri and Lior Barak 5.3 Forms 5.3.1 Patient Form: Contains the following fields: - patient name - patient ID - gender - patient birth date - patient address - patient phone - patient cellular - picture - medical insurance type 5.3.2 Treatment form - Date. - General health condition. - Patient remarks. - Examination result (near the exam button). - treatment recommendations - doctor remarks 5.3.3 Patient history form - the progress graph for each eye (see 5.2.1) - list of all past treatments sorted by date - click on any date opens the treatment form of this date (see 5.3.2) 5.3.4 User form - Basic user details (name gender etc.) - privileges radio buttons to choose from (secretary, doctor, admin) 5.3.5 Examination form - a button to browse the files - a field with the chosen file name - a display of the chosen image - load, analyze and cancel buttons. 5.4 information sources http://www.webmd.com/hw/raising_a_family/hw166741.asp http://www.fpnotebook.com/EYECh5.htm http://www.wikipedia.com 22