An Expert System for Diagnosing Eye Diseases using Forward Chaining Method

Expert System is a system that seeks to adopt human knowledge to the computer, so that the computer can solve problems which are usually done by experts. The purpose of medical expert system is to support the diagnosis process of physicians. It considers facts and symptoms to provide diagnosis. This implies that a medical expert system uses knowledge about diseases and facts about the patients to suggest diagnosis. The aim of this research is to design an expert system application for diagnosing eye diseases using forward chaining method and to figure out user acceptance to this application through usability testing. Eye is selected because it is one of the five senses which is very sensitive and important. The scope of the work is extended to 16 types of eye diseases with 41 symptoms of the disease, arranged in 16 rules. The computer programming language employed was the PHP programming language and MySQL as the Relational Database Management System (RDBMS). The results obtained showed that the expert system was able to successfully diagnose eye diseases corresponding to the selected symptoms entered as query and the system evaluation through usability testing showed the expert system for diagnosis eye diseases had very good rate of usability, which includes learnability, efficiency, memorability, errors, and satisfaction so that the system can be received in the operational environment.


Introduction
One of the medical problems occurring recently is the imbalance between the number of patient and the number doctor. Limitations of an expert (doctor) sometimes become an obstacle for people who will consult to get the best treatment solution associated with the disease suffered. In addition, most people are not trained medically so they do not know what to do when they experience symptoms of illness. It is unfortunate when the symptoms which can actually be dealt with early develop into a more serious disease due to lack of knowledge. People can obtain knowledge about health from books or internet sites. However, it is not easy to learn that way because it takes a long time. In addition, these sources cannot diagnose types of diseases as the doctors do. In this case, expert system is presented as an alternative in solving the problem.
Expert system is software designed specifically based on Artificial Intelligence, where the system seeks to adopt human knowledge to the computer so that the computer can solve a particular problem by imitating the work of the experts. Expert systems development requires knowledge acquisition from people, involving both knowledge engineers and application domain experts in specialist interactions with computing systems. Expert systems may be used to provide support and advice to a user of any complex information system and hence to improve the human-computer interface [1]. There are different areas in medicine where an expert system has been designed and implemented to profers solution to health status stability in human. Among these diverse areas includes an expert system for Eye, Skin, Pregnancy, Blood Disorder and several other human diseases. In previous study, Naser and Zaiter [2] in their research work for eye expert system, they used CLIPS language in their research thereby serving as a tunnel to the inner workings of the body. The scope of the expert system is the following eye diseases: Discharge from the Eye, Bulging Eye, Double Vision, and Drooping Eyelid (four types of eye diseases) [2]. Also, Gudu et.al [3] in their research for expert system to diagnosis and treat hypertension in pregnancy stated that the diagnostic and treatment expert system for hypertension in pregnancy has so far remained at the testing phase of its life cycle and is yet to be implemented [3].
Ayangbekun et. al [4] develops an expert system for diagnosing brain diseases, using the C#.NET programming language and Microsoft SQL Server 2012 served as the RDBMS. From the study, this application serves as a model tool that will enable hospitals to effectively monitor patients medical records without ambiguity [4]. In addition, Ayangbekun et. al [5 ] also developed an expert system for diagnosis of blood disorder. There were two hospital which was taken as the case study of the research. The information was gathered from the hematology department and the blood department of the two hospitals respectively. The information gotten was analyzed and manipulated based on the symptoms and causes of the blood disorders and then turned into rules for easy programming into the computer [5].
This study aimed to design an expert system application for diagnosis of eye diseases using forward chaining and analyze the level of user acceptance to this application through usability testing. The scope of the study is extended to 16 types of eye diseases with 41 symptoms of the disease, arranged in 16 rules that were called the Rule-Based System.
The main contribution is the experts system for diagnosing eye disease has become an expert knowledge sharing tool to be used by other medical personnel who are not specialists in diagnosis of eye diseases, especially for hospitals that do not have an ophthalmologist. The research's novelty is the expert system based on web and user friendly so that can be accessed by everyone wherever and whenever easily and using PHP programming language and MySQL as the Relational Database Management System (RDBMS). The advantage of this research is as a guide for the patient in taking initial action if they know the possibility of suffering eye disease (early detection).

Basic Concepts of Expert System
Expert system is a piece of software programmed using Artificial Intelligence (AI) techniques. Such systems use databases of expert knowledge to offer advice or make decisions in such areas as medical diagnosis and trading on the stock exchange [6]. An expert system is a system that employs human knowledge captured in a computer to solve problems that ordinarily require human expertise. Expert system seeks and utilizes relevant information from their human users and from available knowledge bases in order to make recommendations. With the expert system, the user can interact with a computer to solve a certain problem. This can occur because the expert system can store heuristic knowledge [2]. Generally to develop an expert system, a rule based method is required to analyze and compute the knowledge base [7].

System Architecture
Expert system consists of domain expert, designer, inference engine, knowledge base, user interface and user. There is relationship between these subdivisions which makes it expert system. The domain expert is connected to the knowledge base in order to give rules and fact. The domain experts are normally the expert in the body or field. The knowledge base stores the rule and fact collected. The knowledge base is also connected to inference engine in which is used to process the rule to deduce another set of rule or fact. The inference engine is normally designed by the programmer or designer. The inference engine is then connected to the user interface in which is used to collect data from the users. This is also developed by the designer. This trend can also be followed backward. The user interface gives information to the inference engine and the knowledge base for user data to be processed. Also for the knowledge base update, a need to contact the domain expert is needed. All this can be represented below (Figure 1) [4]:

Medical Knowledge
The medical knowledge of specialized doctor is required for the development of an expert system. This knowledge is collected in two phases. In the first phase, the medical background of eye diseases is recorded through the creation of personal interview with doctors and patients. In the second phase, a set of rules is created where each rule contains in IF part that has the symptoms and in THEN part that has the disease that should be realized. The inference engine (forward chaining) is a mechanism through which rules are selected to be fired. It is based on a pattern matching algorithm whose main purpose is to associate the facts (input data) with applicable rules from the rule base. The search is done by using rules whose premise matches the known facts to gain new facts and continue the process until the goal is reached or until there is no more rules whose premises match the known facts as well as the facts obtained. Finally, the eye diseases are produced by the inference engine [2].

Research Method
Research procedures consist of: preliminary study, data collection, data analysis, system design, system implementation and evaluation, and drawing conclusion.
Preliminary Study. At this stage, the authors collected information, study materials and data sources related to expert systems, forward chaining methods, rule-based reasoning, the types of eye diseases in humans, symptoms of eye diseases and treatment or preventive solutions.
Data Collection. Data sources used in expert systems to diagnose eye diseases in humans include data of the type og eye disease, eye disease symptoms, disease information and solutions provided. The data required in this study were obtained from Literature Study and Consultation/interview with experts, in this case ophthalmologist.
Data Analysis. Based on the collected data, the researcher conducted following analysis steps: (i) made a list and coded eye diseases along with symptoms. This expert system software can diagnose 16 types of eye diseases with 41 symptoms of the disease; (ii) Made Rule-Based System. In order to recognize the type of eye disease, rules in expert system tracing are required. There are 16 Rules and a forward chaining hierarchy called the Rule-Based System. System Design. The design of this system includes design process described by using decision tree, context diagram explaining the relationship between input / output between system with outer world, data flow diagram (DFD), the design of the database and user interface.
System Implementation. The activitiy performed at this stage was the programming or coding. This stage was the translation of the design into the form of computer programming language. This research employed PHP programming language.
System Evaluation. The evaluation of this expert system uses usability testing. This evaluation aims to find out how easy an interface can be used by the user so that the system can be accepted in the operational environment [6].  Usability is the degree of a software's ability to assist users in completing a task. The initial step of this usability testing is to provide some tasks to the user when interacting with the system being tested. These tasks are assigned to 30 respondents who are accustomed to using Web Browser features. These tasks are used as 'means of interaction' in usability measurements [8]. After he users had completed all of the tasks, the researcher distributed the questionnaire containing 10 questions representing the five aspects of usability. Users completed the questionnaires based on their experiences (what they saw and felt) during the completion of the tasks.
Each question of the questionnaire aimed to figure out usability level according to user acceptance, which would be assessed on a scale of 5 [9]. The questions given in this questionnaire can be seen in Table 1. According to Jacob Nielson [10], aspects of usability testing includes five points, namely: 1) Learnability, describes the level of user convenience to complete basic tasks when they first see or deal with existing systems. 2) Efficiency, explains how quickly users can complete the tasks when they first learn the system. 3) Memorability, explain the level of user convenience in using the system after not using the system for a while. 4) Errors, describes the possibility of errors or mistakes made by users and how easily they can overcome them. 5) Satisfaction, describes the level of user satisfaction in using the system that has been made.
The plot result of the five aspect of usability above on the 10 questions of questionnaire can be seen in Table 1.
Conclusion. A conclusion will be drawn from the results of these evaluations based on the results of testing (usability testing) of the expert system. This research results in a web-based expert system that can recognize the type of eye disease in humans based on the symptoms experienced by patients. This system performs analysis based on the dialogue between the system with the user/patient. The web-based expert system of eye disease diagnosis is designed by using PHP programming language and MySQL for database processing. Figure  3 is the main display image of the eye disease diagnosis expert system. Prior to consultation on the consultation menu, the patient is expected to fill out registration form first so that each patient will be in the database information. The patient cannot enter the consultation application window (Figure 4) before registration. To answer the questions, the patient (user) can directly select True (YES) or False (NO) options as shown in Figure 4.Then, the system will infer the type of illness suffered by the patient on the Result of Eye Disease Analysis showing patient data and results final analysis of the name of the disease, symptoms, the definition of the disease and the solutions offered ( Figure 5)

Discussion
The results of system evaluation through usability testing are managed into the percentage of questionnaire answers from 30 respondents [9]. Table 2 shows the values of satisfaction or user acceptance of each attribute [9]. It can be seen that "Easy recognition of Interface" attribute has a user acceptance value of usability of 4.32 (already above 3 or above the middle value) in the scale of 5. It means that the web application is easy to recognize by the user from the web interface home page.

Table 2. Usability Value Recapitulation
Related to each aspect of usability in Table 2, it can be said that the application software has excellent usability value, which includes Learnability, Efficiency, Memorability, Errors, and Satisfaction. It is shown by the value of usability result on the five attributes, which are presented as follows: -The value of the "Easy Interface recognition" attribute of 4.32 indicates that the web has the value aspect of Learnability. -Attribute "Ease of patient registration" has value of 3.93; Attribute "The ease of the patient to answer the question of the system according to the symptom he / she experienced" has value of 4.38; attribute "The ease of the patient to obtain the final diagnosis" has value of 4.29 and "the ease of accessing information on each page" has value of 4.28. Those values indicate that the web has Efficiency aspect value. -Attribute "Ease of patient to find login form" has value of 4.34; the "Ease of calling back menus after exiting the application" has value of 4.12. Those values indicate that the web already has a Memorability aspect. -The attribute of "Readable writings on the web page" has value of 4.17; attribute "Picture symbols are easy to understand" has value of 3.78. Those value mean that the web has minimized aspects of Errors.
overall attributes have average values above 4, indicating that the system has aspects of excellence Satisfaction.

Conclusions
The results obtained showed that the expert system was able to successfully diagnose eye diseases corresponding to the selected symptoms entered as query and recapitulation of result usability value indicates that all attributes of usability acceptance value by user have average value above 4. Therefore, it can be said that expert system application software has excellent usability value including learnability,