Integrated Knowledge Based Expert System for Disease Diagnosis System

The role and importance of healthcare systems to improve quality of life and social welfare in a society have been well recognized. Attention should be given to raise awareness and implementing appropriate measures to improve health care. Therefore, a computer based system is developed to serve as an alternative for people to self-diagnose their health status based on given symptoms. This strategy should be emphasized so that people can utilize the information correctly as a reference to enjoy healthier life. Hence, a Web-based Community Center for Healthcare Diagnosis system is developed based on expert system technique. Expert system reasoning technique is employed in the system to enable information about treatment and prevention of the diseases based on given symptoms. At present, three diseases are included which are arthritis, thalassemia and pneumococcal. Sets of rule and fact are managed in the knowledge based system. Web based technology is used as a platform to disseminate the information to users in order for them to optimize the information appropriately. This system will benefit people who wish to increase health awareness and seek expert knowledge on the diseases by performing self-diagnosis for early disease detection.


Introduction
Medical diagnosis process determines which disease or condition explains a person's symptoms and signs. This result is important for a person to get an early warning to treat the disease. Medical diagnosis can be performed with the help of medical experts in healthcare institutions. Practically, people undertake medical diagnosis in any healthcare centre with human specialist. However, it is troublesome for some group of people to undergo specific medical diagnosis due to time constraint, medical check-up fees, or personal attitude in refusing regular medical check-up. Nevertheless, monitoring healthcare status is vital for everybody.
In this age of information and Internet technology, many intelligent techniques are utilised to mimic medical diagnosis in computer based system. The techniques embed human expert knowledge and set of rules in a computer system to simulate the expert's behaviour in inferring a decision based on given facts. This kind of intelligent knowledge based system which is accessible through Internet allows self-diagnose by individual and can be conducted at a person's convenience. Such intelligent knowledge based system structure allows human experts knowledge to be maintained in computer system. Self-diagnosis is part of health self-care activity which is important to maintain personal health. It produces positive feelings, which improves confidence and self-esteem [1] [2]. Self-care is important for individual and community which includes a range of activities (e.g., self-monitoring of possible symptoms of certain disease or illness, to ascertain certain disease from sign occurs). The use of expert systems to generate a person's condition based on symptoms would increase self-care, and improve rule (knowledge) base management. However, of great importance is the development of the rule set knowledge base system to preserve human expert's knowledge. Hence, expert knowledge can be extended across community for society wellbeing. The purpose of expert system research is to allow expert knowledge to be accessible whenever the decision makers need to solve the problem quickly.
Therefore, the purpose of this work was to develop an integrated knowledge based expert system for multiple diagnosis applications. Disease Diagnosis System is developed as an alternative effort to increase awareness about disease among society by sharing expert knowledge. Three expert system applications are included in this system at present. It is expected more expert system in healthcare application can be added in near future. It makes this system a platform to manage various expert systems in different healthcare domain. This system provides information for physicians and patients to facilitate the early diagnosis and recommend treatment of patients. The knowledge obtained from medical expert system is similar to the information given by specialist in that particular area. This integrated expert system is able to diagnose several diseases in a single platform. Thus, the expert knowledge and information about the diseases can be shared publicly for awareness and education in health care. The advantages of the developed integrated knowledge based expert system are twofold; firstly, human expert reasoning is adapted and managed dynamically in the system. Secondly, the expert knowledge is maintained and shared to the society in one single platform.
The remainder of this paper is divided into five sections. Section II describes background studies of expert system. Section III explains main components of integrated knowledge based disease diagnosis system. Section IV describes the result and discussion. Conclusions are given in Section V.

Knowledge Based Expert System
Expert system makes an inference to decide the type of disease based on the fact and rule provided by the human expert [3][4] [5]. Expert system is built with capability to replicate a human expert reasoning for diagnosis. The fact and rule of specific domain are kept and maintained in the knowledge base of the system for inference purposes. Expert system development involves several phases; problem identification, knowledge acquisition, knowledge representation, application development, application testing and evaluation. Moreover, it has a characteristic of reasoning with uncertainty, and explanation of the line of reasoning which is supported by an inference engine [8]. This strategy is adopted from human expert and the reasoning process is encoded in the computerized system [3]. The knowledge base can be updated and extended. However, this is difficult due to the insufficient access to specialists, practitioners and health facilities. In today's challenging and busy world, this diagnosis system is offers a flexibility and wide access through Internet facility.
A computer based expert system is an interactive computer-based decision tool which utilizes both facts and heuristics to unravel difficult decision problems based on expert's knowledge. Consequently, expert's knowledge is vital in any expert system. Expert knowledge is acquired from several sources i.e. expert's rule of thumb, documented source; to construct a problem specific knowledge base [3]. An expert system operates as an interactive system that responds to questions. This is accompanied by clarification and recommendation tasks that aid decision-making process. Thus, ensuring correct and accurate information (knowledge) is crucial for expert system development. Expert knowledge must be organized in an easily accessible format that separates among data, knowledge, and control structures. Therefore, the expert system is constructed in modularity to enable the system to perform effectively. It is evident that expert system strategy relies much on internal knowledge base and its reasoning capabilities based on the contents of the knowledge base [5] [7].
Expert systems are used in various fields of human activity. The development started decades ago and currently, they have undergone many improvements to ensure the expert system works effectively. Expert systems offer an environment where the good capabilities of humans and the power of computers can be. Expert systems in general are able to increase the probability, frequency, and consistency of making good decisions. It helps very much in distributing human expertise and preservation of scarce expertise [6] [7]. Expert system application has been applied in various applications, specifically in medical diagnosis system. Expert system works best to diagnose a disease and provide correct treatment. Medical diagnosis which applies expert system are ranging from heart failure, intestinal diseases, infectious diseases, endocrine diseases, and many more [14]- [21]. Apart from that, expert systems also are employed in diagnosing machine fault, signal processor monitoring, mechanical engine, energy and so on [22] - [30]. Wide application of expert system in diagnosing case highlights its capability to deal with such diagnostic problem. The scarcity of expertise becomes evident in situations where there are not enough experts for a task. Further, an expert system for a particular decision problem can be used as a standalone advisory system for the specific knowledge domain perhaps with monitoring by a human expert. In addition, an expert system can decrease decision time making and improved the decision quality.
The widespread availability and the use of Internet offer the opportunity to distribute expertise and knowledge to mass audience. Internet allows information to be easily available to be accessed by everyone. This advantage provided by the Internet technology enables people to share and gain knowledge without geographical and time constraints.By implementing expert systems as knowledge servers, it becomes economically feasible and profitable to make this expertise available on-line. This application allows a large net community to communicate with the system over the net. In addition, the web can now support the spread of multimedia based expert systems, known as intelimedia systems. This system supports the integration of extensive multimedia applications and expert system [8]. This expert knowledge can be delivered via the web and made constantly and consistently available worldwide.
Early applications of expert system were built individually. However Internet technologies have compromised opportunities to enhance traditional decision support systems and expert system [10]. As expert system involves knowledge and imitates humanlike reasoning, it is beneficial to have this application on the Internet for better and global access. The need for web based decision support and expert systems has been felt worldwide as they are capable of providing comprehensive and up-to-date information and consultation in interactive and user-friendly manner [10]- [13]. Utilizing expert system with Internet technologies has compromise new ways of sharing and distributing knowledge. Promisingly, user can use various expert system applications available in the web form for their own use and purpose.

Problem Solution for Integrated Knowledge Based Disease Diagnosis System
The development of an expert system involves the construction of a problem specific knowledge base by acquiring knowledge from experts or documented sources. The process flow of integrated knowledge based disease diagnosis system through expert system approach is illustrated in the following procedural steps: 1.
Problem assessment: Determine problem's parameter and justifying important characteristic.

2.
Knowledge Acquisition Conceptualization: Experts and knowledge engineer clarify the key concepts, relations, and information-flow characteristics needed to describe problem-solving process in the certain domain.

3.
Formalization: This designing stage, involves mapping key concepts and relations into a formal representation suggested by some expert-system-building tool or language. The knowledge engineer must select the language and represent the basic concepts and relations within the language framework with experts assist.

4.
Implementation: The prototype of program is defined, executed and tested. The prototype development is supported by finding from knowledge formalization and structural design.

5.
Testing: This testing step involves evaluation of the prototype program performance. The result of this step aids to prototype revising to conform to standards of excellence defined by experts in the problem domain. Typically, the expert evaluates the program's performance and assists the knowledge engineer in the forthcoming revisions.  Figure 1 illustrates the architecture of integrated knowledge based expert system for healthcare diagnosis system. Such structure enables multiple expert systems for various diseases to be integrated into single platform and acts as one stop center for community. In this study at least 2 medical experts are involves in knowledge acquisition and knowledge validation processes. Medical experts involved in this study are medical practitioner from local hospital. At present, three diseases are included which are arthritis, thalassemia and pneumococcal. More expert system in different disease can be added in future. Knowledge bases are also provided and can be managed by system administrator without programming expertise.
Knowledge acquisition is conducted by knowledge engineer and human expert to acquire and gather information. Document review technique is also undertaken to support knowledge acquisition. Collected information is then transformed into knowledge representation such as inference diagram, and rule base specification. Knowledge representation findings are useful before the programming tasks started.
Each of the expert system owns their specific knowledge bases which contain rules for specific disease diagnosis. Each rule comprises of two components that is premise and conclusion. A compound statement is formed and extended by using logical connectives on individual statements. Common logical connectives includes AND (conjunction), OR (disjunction), and NOT (negation). The conditional is analogous to the arrow of production rules in that it is expressed as an IF-THEN form.
For instance, If eardrum is red and swollen then Disease is Otitis Media. → where is eardrum is red and swollen is Otitis Media This study employs a forward chaining inference process. This strategy matches fact with pattern automatically to decide affected rules. Forward chaining starts with the available data and uses inference rules to extract more data until a goal is reached. Once a rule is found, the engine can infer a conclusion. This iterative process will continue until a goal is achieved.
Apart from that, the administrator module was also developed in order to accommodate the modification of the system engine and knowledge base. In this module, a new set of diagnosis question can be developed and other additional task can be performed like update and delete. This module is intended to assist the experts and for the system administrator to modify or manipulate the rules whenever there is changes or information.

Result and Discussion
Implementation and testing of Web Community Centre for Disease Diagnosis System includes program code writing and testing of system functions. This involves writing program code correlation database with interfaces, expert system modules, administrator module, system testing, and system testing execution specialist, testing and test system functionality to users. Program codes are used to produce the modules in the system such as the login module, module information, and diagnosis and module questions. The software used to implement the design of the system is Adobe Dreamweaver CS6, Xampp, and Adobe Photoshop CS6.
The server side database plays an important role in the development of this expert system. It was used for storing all the information needed for disease diagnosis. Most of the data and images were initially collected from the patients, Internet and specialist doctors in which all the information was placed in SQL Server by the system developers. The database involved diagnosis, information, symptoms, feedbacks, category, treatment, type of disease and patient. Figure 2 shows the main page of one expert system consisting in the Integrated Web Community Portal for Expert Diagnosis Centre. Multimedia interface was used in the expert system for this Web Community Centre for Disease Diagnosis System. Matching of pre-defined text description and images of symptoms was provided to users. Different interfaces were designed for different types of diseases. For example, for the expert system in arthritis disease, user must select matching symptom that they experienced by select "Yes" or "No" to the questions given.

Figure 3. Diagnosis Session Form
System tests were carried out by the developers to make sure the system would work correctly before it was distributed. In general, the system is an effective and practical tool. The inference engine gathers information from the user input through user interface. User gives responses by using or selecting answers in the form of radio buttons, menus, checkboxes, or text fields. Figure 3 demonstrates a diagnosis session form for user starts the diagnosis session. Working memory and explanation function are provided which supports actual expert system main components. Meanwhile, Figure 4 shows the reporting results inferred by expert system engine. Such report is meaningful to the user which aid for further checking with real clinical expert.  Conclusion This system can help the public to identify the type of diseases based on the symptoms given and early detection can allow prevention of serious illness. This system can be used as a useful reference for people suffering from a specific disease. From this study, several advantages have been discovered. These include: (a) In this approach the result will not be biased and accurate as the system will diagnose it based on the input that it gets from the user.
The method approach allows human-like reasoning which is more natural in producing the result. (c) The use of Internet database was effective and capable in storing large amounts of facts and data for web-based inferencing. (d) Expert systems are not able to deal with exceptions or complex problems due to their inflexibility and the limitations of the knowledge base. The Internet communication can reduce this limitation as users can talk to a human expert via tele-diagnostic equipment. In conclusion, it is expected that the system can help various parties, especially public who suffer from a specific disease and assist physicians in treating patients. This system also provides information related to arthritis, thalassemia and pneumococcal. This system has successfully achieved the objectives set. During the development of this system, various methods are used to meet the needs of users and physicians. However, there are some weaknesses in the system which is expected to be improved so that the system can run more effectively.