Wednesday, 7 September 2016

Computer Science | Final year project work on the Design and Implementation of an Expert system on Patient Illness Diagnosis | COMPLETE WORK


Computer Science | Final year project work on Expert system on Patient Illness Diagnosis | COMPLETE WORK

CHAPTER ONE

INTRODUCTION

This chapter explores the basic concepts surrounding the topic of this project work. It contains a general overview of the topic and also introduces the significance, problem definition, scope, objectives and limitation of the study.

1.1   BACKGROUND STUDY



  Computer-based methods are increasingly used to improve the quality of medical services using an artificial intelligence model. Artificial Intelligence (AI) is the area of computer science focusing on creating expert machines that can engage on behaviors that humans consider intelligent. This concept is adopted using an expert 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. An expert system can also be considered as software, which operates on a sophisticated system like a human expert. It explains their reasoning or suggested decisions, display intelligent behavior, draw conclusions from complex relationships. 
The main conceptual source of an expert system is knowledge based which can expand to include a knowledge acquisition component that processes data and information into rules. Expert systems has number of application areas like decision making, prediction, planning, monitoring, process control, forecasting, diagnosis etc. On the other hand, medical diagnosis is the major application of expert systems. 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 the diseases and facts about the patients to suggest diagnosis. 
An expert system is a software system that attempts to reproduce the performance of one or more human experts, most commonly in a specific problem domain, and is a traditional application and subfield of artificial intelligence. A wide variety of methods can be used to simulate the performance of the expert system however common to most or all are:
1.      The creation of a “knowledge base” which uses some knowledge formalism to capture the Subject Matter Experts (SME) knowledge and
2.      A process of gathering that knowledge from the SME and coding it according to the formalism, which is called knowledge engineering. Expert systems may or may not have learning components but a third common element is that once the system is developed, it is proven by being placed in the same  real world problem solving situation as the human SME, typically as an aid to human workers or a supplement to some information system.
There are many well-known diseases, which may be caused by various pathogens and organisms. These diseases are very harmful to human health especially in the developing countries like Nigeria. This harmful effect of these diseases has endangered our lives. This effect of diseases calls for the need of adequate medical care especially in the area of treatment and diagnosis.
Due to the higher rate of population growth in our country and lower rate of medical experts or medical practitioners which do not necessarily satisfy the increasing population of illness patients, a computerized medical diagnosis and treatment is inevitable for faster and accurate work. This calls for the need of expert system which enhance the diagnosis and treatment of diseases in university teaching hospital or other hospitals.

1.2 PROBLEM DEFINITION

Our hospitals have been characterized by the problem of queuing of patients and scarcity of medical experts for the diagnosis and treatment of diseases. Patients queue up in the hospitals for several hours from one stage to the other. Starting from obtaining a hospital card, registering with the hospital, seeing the medical experts and receiving treatment. The problem of a non-computerized diagnosis hinders the speedy retrieval and consultation of information, records and facts of the patients. When the system is not computerized, it is not easy to retrieve information concerning the patient when the patient visits the hospital. The keeping and retrieval of patient’s records are poorly carried out in our hospitals, files may be misplaced and records may be inaccurately filled. This will hinder the accurate and timely retrieval of patient’s record whenever needed. Sometimes, the diagnosis and treatment are being carried out based on the doctor’s experience and observations. This is very risky because the doctors may be confused with symptoms of various diseases which will prevent when next the patient visits the hospital. This is also the case with obtaining medical information or past records especially when new patients with the same illness are to be treated.

1.3 AIMS AND OBJECTIVES

  The aim of the project is to design and develop an expert system on diagnosis of some illnesses. Therefore the main objectives are as listed below:
·         To design a computer aided medical and treatment system
·         To develop a software based on the design which was described above
·         To deploy a test for the software against some standard manual diagnosis methods

1.4 SIGNIFICANCE OF STUDY

The purpose of this project work is to relieve the burden and problems of illness diagnosis and treatment in the hospitals. This work does not aim at displacing the medical doctors but to help reduce the problems and delays in illness diagnosis and treatment. This work will be useful to medical practitioners to educate them in the ways computers can help in the medical sector. This project work recommends that teaching Hospital and all other public and private Hospitals should develop a web-based expert system that will serve as temporary assistance to those who are in need of instant help when a human expert is not readily available due to time and distance.

1.5 LIMITATIONS

This section outlines some of the major constraints we had in the research and implementation of this project.
·   Cost for the research and data acquisition was one major limitation we faced in the course of our study
·   The discretion in the mode of operation exhibited by the officials in the medical field posed a challenge when we sort for information for the purpose of the study. These medical experts weren’t fully cooperative in that they didn’t go believe in the possibility of the computer fully replacing them in the doctor-patient relationship.
·   Cost of implementation of the expert system was quite challenging in that expert system are relatively expensive, in the terms of hardware and software.

CHAPTER TWO

LITERATURE REVIEW

2.1 INTRODUCTION
Expert systems are a branch of artificial intelligence (AI), and were developed by the AI community in the mid-1960s. An expert system can be defined as "an intelligent computer program that uses knowledge and inference procedures to solve problems that are difficult enough to require significant human expertise for their solutions. We can infer from this definition that expertise can be transferred from a human to a computer and then stored in the computer in a suitable form that users can call upon the computer for specific advice as needed. Then the system can make inferences and arrive at a specific conclusion to give advices and explains, if necessary, the logic behind the advice. ES provide powerful and flexible means for obtaining solutions to a variety of problems that often cannot be dealt with by other, more traditional and orthodox methods. The terms expert system and knowledge-based system (KBS) are often used synonymously. The four main components of KBS are: a knowledge base, an inference engine, a knowledge engineering tool, and a specific user interface. Some of KBS important applications include the following: medical treatment, engineering failure analysis, decision support, knowledge representation, climate forecasting, decision making and learning, and chemical process controlling

 

2.2 ARTIFICIAL INTELLIGENCE

Artificial intelligence (AI) is the part of computer science concerned with designing intelligent computer systems, that is, system that exhibit the characteristics that is associated with intelligence in human behavior understanding language, learning reasoning, solving problems and so on (Barr, 1981). 
Artificial intelligence (AI) is technology and a branch of computer science that studies and develops intelligent machines and software. AI textbooks define the field as "the study and design of intelligent agents", (Poole, 1998), where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who coined the term in 1955, defines it as "the science and engineering of making intelligent machines". 

2.3 EXPERTS SYSTEMS

Expert Systems (ES) are computer-based systems that emulate the reasoning process of a human expert and serve different purposes like Consulting Diagnosis, Learning, Decision support, Designing and planning, etc.  An expert system is a system that can reason about facts about the world using rules, and take appropriate actions as a result (Hill, 2006).
By definition Expert Systems are knowledge-based systems that contain expert knowledge; they are programs that can provide expertise for solving problems in a defined application domain (Kasabov, 1996). They have been applied successfully in almost every field of human activities due to their abilities to represent, accommodate and learn knowledge, they are capable of taking decisions and communicating with their users in a friendly way (Wielinga, 1997). The system will therefore provide a web based application with simple and easy to use graphical user interface. 
An Expert system is defined as a computer program that reason using human knowledge to solve complex problems (Feigenbaum, 1992). An Expert system is an interactive computer- based decision tool that uses both facts and heuristics to solve difficult decision problems based on knowledge acquired from an expert (Penta, 2002).
(Walker, 2002)An Expert system is a computer system that attempts to replicate specific human expert intelligent activities (Mockler, 1992).An Expert (Knowledge Based) system is a problem solving and decision making system based on knowledge of its task and logical rules or procedures for using knowledge. Both the knowledge and the logical are obtained from the experience of a specialist in the area (Walker, 2002). (Folorunso, 2012)An Expert System is computer program that emulates the behavior of human expert to solve problems which are real word problems associated with a particular domain of knowledge. An Expert System which is sometimes called an Intelligent Knowledge Base System (IKBS) is essentially a computer system containing expertise in a particular area. The primary goal of an Expert System is to make expertise available to decision makers and technicians who read answers quickly (Keller, 1988). Rissland states that both rules and cases are required to fully understand an area of law. She states that “even if one believes that the law can be captured in rules, which many, particularly the legal realists do, no one needs cases to flesh out the meaning and intent of the rules.” Rissland agrees with Gardner [1984] that to create a legal expert system, one should use “a rule-based approach for the ‘easy” or black-and-white questions and a case-based approach for the “hard” or “gray-area” [sic] questions. However, Rissland does not state which sources of law are “easy” and which are “hard” she does not directly address the question of whether all cases are in the “gray-area”. The method of reasoning that Rissland envisages is for the rule-based reasoner to call upon the case-based one when required and vice-versa. (Rissland, 1985)

2.4 KNOWLEDGE BASE

In general, a knowledge base is a centralized repository for information, a coordinated library, a database of related information about a particular subject, and whatis.com could all be considered to be examples of knowledge bases. In relation to information technology (IT), a knowledge base is a machine-readable resource for the dissemination of information, generally online or with the capacity to be put online. An integral component of knowledge management systems, a knowledge base is used to optimize information collection, organization, and retrieval for an organization, or for the general public. Companies are bringing contact center operations back to the U.S. What skills are required for an enter-priser call center agents in order to get hired? A well-organized knowledge base can save a money by decreasing the amount of employee time spent trying to find information about - among myriad possibilities - tax laws or company policies and procedures. As a customer relationship management (CRM) tool, a knowledge base can give customers easy access to information that would otherwise require contact with an organization's staff; as a rule, this capacity should make the interaction simpler for both the customer and the organization. A number of software applications are available that allow users to create their own knowledge bases, either separately (these are usually called knowledge management software) or as part of another application, such as a CRM package.
In general, a knowledge base is not a static collection of information, but a dynamic resource that may itself have the capacity to learn, as part of an artificial intelligence (AI) expert system, for example. According to the World Wide Web Consortium (W3C), in the future the Internet may become a vast and complex global knowledge base known as the Semantic Web.

2.5 INFERENCE ENGINE

A very important element of the expert system is the inference engine. Knowledge of the science must always be stored in the knowledge base, in formalized form, understandable to the inference engine. Using symbols you can easily determine how to handle the system to solve and analyze the correctness of the knowledge base. Since the inference engine is separated from the knowledge base it can be used in skeletal expert systems.
Reasoning comes with aplly of certain pattern, which allows tasks to be based on the veracity of premises, request that, the truth of a different opinion being requested. It is an attempt to determine the truth of the hypothesis targeted by inference engine. It is based on the assumption that between sentences there is an objective inference ratio, or the ratio of probabilities. Inference requires the ability to make decisions based on their knowledge. The inference is divided into reliable and unreliable. An example of a reliable inference is deductive reasoning. A special variant also is syllogistic reasoning from two premises. Syllogism model contains major and minor premise, which show the application. The inference unreliable evidence does not warrant the truthfulness truth of the conclusion. The direction of this inference is considered to be inconsistent with the direction of logical consequence. Such inference is unreliable (Reductive inference), this inference method consist of choosing the sentence recognized as true (the consequence) of such opinion (the reason), from which it follows logically first. Other examples of inference are unreliable: inductive reasoning by analogy.
In general inference can be written as a formula:
(P1^P2^ ^P(n) -> W)
P1, P2, P(n) - evidence
W - deduction
There are basically 3 types of reasoning (inference engine):
·         Back (regressive)
·         Forward (progressive)
·         Mixed.
There are other methods of inference that use the uncertain knowledge. An example of this technique is called fuzzy logic. The most commonly used and most important methods of inference in expert systems are forward and backward chaining.

2.6 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 body 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 reasoning) 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. Finally, the diseases are produced by the inference engine. This expert system defined the symptoms for diseases of the body. (Beverly G Hope, 1994) The scope of our expert system is the following some common diseases: Malaria.

2.7 LITERATURE ON MALARIA

Malaria has been around since ancient times. The early Egyptians wrote about it on papyrus, and the famous Greek physician Hippocrates described it in detail. It devastated invaders of the Roman Empire. In ancient Rome, as in other temperate climates, malaria lurked in marshes and swamps. People blamed the unhealthiness in these areas on rot and decay that wafted out on the foul air. Hence, the name is derived from the Italian, “mal aria,” or bad air. In 1880, the French scientist Alphonse Laveran discovered the real cause of malaria, the single-celled Plasmodium parasite. Almost 20 years later, scientists working in India and Italy discovered that Anopheles mosquitoes are responsible for transmitting malaria. Malaria is a disease caused by a parasite that lives part of its life in humans and part in mosquitoes. Malaria remains one of the major killers of humans worldwide, threatening the lives of more than one-third of the world’s population. (K.Errnest, 2007)

2.8 MEDICAL EXPERT SYSTEMS (MESs)  

Since the 1980s, development of expert systems, both in theory and practice has gained tremendous success and development, and demonstrated its great vitality and value (Ignizio, 1991). But it also shows it is obvious shortcomings and deficiencies, such as the system's vulnerabilities, limitations and inability to share the knowledge content the unity of solution strategy, lack of uniformity for the system interfaces, difficulties of system development and maintenance and so on, especially in the medical expert system that relates to a wide range and whose categories are very numerous, the performance becomes more apparent (Zhongzheng, 1994). The medical field may make more use of the expert systems than any other field. Series of advisory programs have been developed to help physicians diagnose a particular illness and in some cases, to prescribe treatment. The oldest medical expert system is called MYCIN. MYCIN is an expert system developed at Stanford for diagnosing blood diseases. It is one of the widely studied expert systems because of its success. MYCIN was one of the first expert systems to use production rules and to employ the backward-chaining inference method (Frenzel, 1987). Production rules are IF-THEN statements that express chunks of knowledge that are readily applied to problem solving. Backward-Chaining refers to the search method used by the computer to look through the production rules and find the appropriate solution (Frenzel, 1987).

2.9 MULTILEVEL DESCRIPTION OF THE PATIENT’S STATES

Medical knowledge about different diseases and their pathophysiology is understood in varying degrees of detail. While it may be easier for a program to reason succinctly with medical knowledge artificially represented at a uniform level of detail, we must be able to reason with medical knowledge at different levels of detail to exploit all the medical information available. Although this does not pose any difficulty in medical domains where the pathophysiology of diseases is not well developed, in a domain such as electrolyte and acid-base disturbances where, on the one hand, the pathophysiology of the disturbances is well developed and, on the other, the pathophysiology of many of the diseases leading to these disturbances Hierarchical Representation of Medical Knowledge is relatively poorly understood, we are constantly faced with this problem. Second, the information about a patient parallels the physician's medical knowledge about diseases and therefore also comes at different levels of detail. For example, "serum creatinine concentration of 1.5" is at a distinctly different level than "high serum creatinine," I and "lower gastrointestinal loss" is at a different level than "diarrhea." We need some mechanism by which we can interrelate these concepts. Finally, in order to be effective in diagnostic problem solving and communicating with clinicians, we ought to have the ability to portray the diagnostic problem in a small and compact space. (Hope, 1994) For more effectiveness, we must maintain the ability to take every possible detail into consideration. We have solved this problem by representing the medical knowledge in five distinct levels of detail from a deep pathophysiological level to a more aggregate level of clinical knowledge about disease associations. Each level of the description can be viewed as a semantic net describing a network of relations between diseases and findings. Each node represents a normal or abnormal physiological state and each link represents some relation (causal, associational, etc.) between different states. A state (interchangeably used with node) in the system, such as "diarrhea," is represented as a node in the causal network. Each node is associated with a set of attributes describing its temporal characteristics, severity or value, and other relevant attributes. A state is called a primitive node if it does not contain internal structure and is called a composite node if it can be defined in terms of a causal network of states at the next more detailed level of description. One of the nodes in this causal network is designated as the focus node, and the causal network is called the elaboration structure of the composite node. The focus node identifies the essential part of the causal structure of the node above it. Indeed, the collection of focus nodes acts to align the causal networks represented by different levels of the PSM.
We note that very often a composite node and its focal description at the next level share the same name; this is typical in English, where the level of detail of place names, for example, is often obtained from context and not encoded in the name used. Nodes that do not play a role as the focal definition of any node at a higher level are called non-aggregable nodes. They represent a detailed aspect of the causal model that is subsumed under other nodes with different foci at less detailed levels of description. (Seetharam)

2.10 REVIEW OF OTHER WORK 

(Dada, 2011) developed a web-based expert system for classification of industrial and commercial waste products for the classification of wastes to overcome the difficulty, The main objective of the system is to join the expert system intelligent knowledge and the capability of the Web to put the knowledge of experts anywhere the expert cannot go, and also to obtain facts and rules from the experts that will allow the system to draw expert level conclusions. The method used in actualizing the objective stated above was IF-THEN styles for the representation of the knowledge. Object oriented approach using Universal Modeling Language (UML) can be applied to the rule- based expert system. The Rule Compiler (RC) then takes the rules from the experts and automatically generates each rule as Java source code. The source code is then compiled into Java Byte Code using Java compiler. 
(Akanbi, 2009) designed a web based expert systems for management of pests diseases of cassava, the work was aimed at developing an expert system that could be used by farmers and by the experts to train their students cassava was referred to as a very important plant that if properly managed could enhance the foreign exchange earning of the country that have it However, there are little number of experts that can handle the pests and diseases of cassava. the knowledge was represented using rule based approach i.e. IF THEN rules and unified modeling language (UML) which is an object oriented programming tool for modeling objects and the relationships between object and classes in the design phase of the program was employed in designing the system. Visual prolog 7.0 was used to develop the expert system and the web interface was developed with the use of macromedia Dreamweaver.
(Prasad, 2010) developed a web based tomato crop expert information system based on artificial intelligence said tomato is one of the most important "protective foods "both because of its special nutritive value and also because of its wide spread production. The knowledge collected through experts is stored as a database (Knowledge Base) that serves as a repository for quick processing and future retrieval. The system stores the information in html files. 
A set of rules, which constitute the program, stored in a rule memory of production memory and on an inference engine required to execute the rules. The monitoring data is in the MySQL database. It can be used as any other data stored in a database. It was latter concluded that a web-enabled application developed using java server pages (jsp) and MySql database was used. The work presented by (Abd Wahab, 2009), design a web base network troubleshooting expert system. The work is aimed to developed an expert system for troubleshooting the network problems, the  system is intended to be used by the network administrators to quickly troubleshoot the network hardware problems and solve the problem optimally and systematically. Though there are many types of network problems but the work was only focus on the hardware components. The tools used to develop the system is ASP (Active server pages) it was chosen due to its easy-to understand code for web based applications and Microsoft  access is used to store the production rules. ASP pages are file that contains HTML tags, text and script command, ASP lets developers add interactive content to web pages or build an entire web application that uses HTML pages as user interface. 
(Fahad S., 2008)Proposed a web based expert system for wheat diseases and pests. The work presents the use of expert systems in the agriculture domain in Pakistan. Wheat is one of the major grain crops in Pakistan. It is cultivated in vast areas of Punjab followed by Sindh and ranked first as a cereal crop in the country. The rapid development of internet technology has changed the way of expert system development. It is easy to access the system via the internet 
The work was aimed at developing an expert system that will help the farmers, researchers and students and provides an efficient goal-oriented approach for solving common problems of wheat. 

 











CHAPTER THREE

METHODOLOGY AND SYSTEM ANALYSIS

3.1 INTRODUCTION

Here we aim to describe the basic “HOW’s” (methodology) in the operation of this system, expounding and analyzing on how the patient’s illness diagnosis expert system (PIDES) handles the daily tasks faced by professionals in the medical field (doctors), by the use of knowledge base, inference engine etc in determining the illness of a patient and its severity level. This project work recommends that teaching Hospital and all other public and private Hospitals should develop an expert system that will serve as temporary assistance to those who are in need of instant help when a human expert is not readily available due to time, distance or other factors.
 

3.2 FUNCTION OF THE SYSTEM

The proposed system PIDES (Patients Illness diagnosis expert system), performs many functions. It will conclude by use of the inference engine the disease diagnosis based on answers of the user to specific question that the system asks the user. These questions provide the system for explanation for the symptoms of the patient that helps the expert system for diagnosis the disease by inference engine. It stores the facts and the conclusion of the inference of the system, and the user, for each case, in data base. It processes the data base in order to extract rules, which complete the knowledge base.

 

3.3 MODE OF DATA COLLECTION

Here we see the various means in which we acquired and accumulated the required data for the aggregation and implementation of this proposed system (PIDES), we would be considering the following mode of data collection because these were the only available modes of data gathering as regards the academic confines, environment in which this project was founded and implemented, MADONNA UNIVERSITY Elele.
Below we have a list of universal mode of data collection;
·         Questionnaire: In contrast with interviews, where an enumerator poses questions directly, questionnaires refer to forms filled in by respondents alone. Questionnaires can be handed out or sent by mail and later collected or returned by stamped addressed envelope. This method can be adopted for the entire population or sampled sectors. Questionnaires may be used to collect regular or infrequent routine data, and data for specialized studies. While the information in this section applies to questionnaires for all these uses, examples will concern only routine data, whether regular or infrequent. A questionnaire requires respondents to fill out the form themselves, and so requires a high level of literacy. Where multiple languages are common, questionnaires should be prepared using the major languages of the target group. Special care needs to be taken in these cases to ensure accurate translations. In order to maximize return rates, questionnaires should be designed to be as simple and clear as possible, with targeted sections and questions. Most importantly, questionnaires should also be as short as possible. If the questionnaire is being given to a sample population, then it may be preferable to prepare several smaller, more targeted questionnaires, each provided to a sub-sample. If the questionnaire is used for a complete enumeration, then special care needs to be taken to avoid overburdening the respondent. If, for instance, several agencies require the same data, attempts should be made to co-ordinate its collection to avoid duplication. Questionnaires, more like interviews, can contain either structured questions with blanks to be filled in, multiple choice questions, or they can contain open-ended questions where the respondent is encouraged to reply at length and choose their own focus to some extent.
·         Registration: A register is a depository of information on fishing vessels, companies, gear, licenses or individual fishers. It can be used to obtain complete enumeration through a legal requirement. Registers are implemented when there is a need for accurate knowledge of probably the size and type of the fishing fleet and for closer monitoring of fishing activities to ensure compliance with fishery regulations. They may also incorporate information related to fiscal purposes (e.g. issuance or renewal of fishing licenses). Although registers are usually implemented for purposes other than to collect data, they can be very useful in the design and implementation of a statistical system, provided that the data they contain are reliable, timely and complete

·         Interviews: The use of interviews as a data collection method begins with the assumption that the participants’ perspectives are meaningful, knowable, and can be made explicit, and that their perspectives affect the success of the project. An in-person or telephone interview, rather than a paper and pencil survey, is selected when interpersonal contact is important and when opportunities for follow-up of interesting comments are desired. Two types of interviews are used in evaluation research: structured interviews, in which a carefully worded questionnaire is administered, and in-depth interviews, in which the interviewer does not follow a rigid form. In the former, the emphasis is on obtaining answers to carefully phrased questions. Interviewers are trained to deviate only minimally from the question wording to ensure uniformity of interview.

·        Surveys: Survey is a list of questions aimed at extracting specific data from a particular group of people. Surveys may be conducted by phone, mail, via the internet, and sometimes face-to-face on busy street corners or in malls. Surveys are used to increase knowledge in fields such as social research and demography. Survey research is often used to assess thoughts, opinions, and feelings. Surveys can be specific and limited, or they can have more global, widespread goals. A survey consists of a predetermined set of questions that is given to a sample. With a representative sample, that is, one that is representative of the larger population of interest, one can describe the attitudes of the population from which the sample was drawn. Further, one can compare the attitudes of different populations as well as look for changes in attitudes over time using the survey method.

·         Observation: Observation is way of gathering data by watching behavior, events, or noting physical characteristics in their natural setting. Observations can be overt (everyone knows they are being observed) or covert (no one knows they are being observed and the observer is concealed). The benefit of covert observation is that people are more likely to behave naturally if they do not know they are being observed. However, you will typically need to conduct overt observations because of ethical problems related to concealing your observation. Observations can also be either direct or indirect. Direct observation is when you watch interactions, processes, or behaviors as they occur; for example, observing a teacher teaching a lesson from a written curriculum to determine whether they are delivering it with fidelity. Indirect observations are when you watch the results of interactions, processes, or behaviors; for example, measuring the amount of plate waste left by students in a school cafeteria to determine whether a new food is acceptable to them.
Of the above listed we preferred the use of the enlisted modes of data collection and stating their reasons respectively, we also made use some unofficial means to collate data needed for the project as listed;
·         Questionnaire: First we devised some questions of which we aimed to affirm our thoughts on the concerned topic, and also to get popular opinions to aid our goals of implementing a system that could literally replace the expert (doctor) in his field of expertise (medicine).
·         Interviews: We were opportune to arrange one on one meetings with some of the medical personnel in the University teaching hospital, and these gave us a inside view into how they operated in the clinic, this helped greatly in our pursuit of transferring the knowledge and experience of practitioners and experts into our pending expert system. This was the major data collection technique implemented..
·         Experience: In line with the re-known project exeat given to us we were opportune to visit some medical facilities and experience full hand the process whereby a patient tells the nurse/doctor what symptoms he/she felt (data input), which the expert in turn uses his previous knowledge of illness symptoms to decipher and diagnose the illness the patient suffers.
·         Internet: Thanks to the provision of internet access by our academic system (Madonna University), we were able to scheme through some already existing system which presented the same function as our proposed expert (PIDES). This served as a guide to our research work.

3.4 METHODOLGY

3.4.1 MODEL

We followed the waterfall model which is a design process in which the system is developed by following different sub-processes flowing downwards from the problem definition, analysis, design, coding, testing, implementation and then maintenance. The advantages of waterfall model over the other types of models include:
·         The waterfall model is the easiest methodology used in software development, since it follows a defined number of steps.
·         In this model, risk management is reduced unlike the spiral model that includes risk management within software development.
·         Unlike the spiral model, the waterfall model does not need to reuse any of the phases many times and it is not based on continuous requirement of key components for the software development.

3.4.2 SYSTEM METHODOLOGY

There exist numerous methodologies for the implementation of any expert system, as listed below;
·         Fuzzy logic
·         Rule based
·         Intelligent agent (IA)
·         Database methodology
·         System user interaction
The methodology we used for this project is the rule based methodology, which is the general accepted methodology for implementing expert systems. A rule based method is required to analyze and compute the knowledge base. Using a rule base approach such as IF, IF THEN ELSE can also give programmers the same flexibility of incorporating some natural phenomenon like that of fuzzy logic. We used this methodology because it was relatively implementable compared to most other methodologies.

3.5                        ANALYSIS OF THE SYSTEM

3.5.1 System requirement                                                                                                                             This Expert system contains a form for patient’s registration and after this form, there is a different form where the patient can click on the diagnosis button to answer some set of questions which is being done by the Inference engine of the expert system. The Inference Engine is a part of the expert system which deals with asking of questions relating to the illness symptoms which the patient might have. After getting the answers to this question, the inference engine works with the knowledge base to check for the illness in the database of the expert system if the illness with such symptoms are found. If the symptoms are found, it displays a message which tells the patient what type of the illness he/she might be suffering from. If the symptoms of the illness are not found, the expert system also displays a message which tells the patient that the illness was not found in the database. The system also restricts the patients from accessing the part of the administrator by making use of login which only the administrator of the system knows. The administrator of the system is given access rights to input new illnesses and their symptoms. The administrator could be a doctor or a medical practitioner. Patients are not allowed to input illnesses or to change or edit their records in the system. The patient’s records and the illness symptoms are stored in a database.                                                                

3.5.2    User Requirements                                                                             
The user should at least be computer literate so as to be able to operate and interact with the computer based expert system.

3.5.3        Software Requirements                                                                                                

The proposed system PIDES is only functional if the given software system meets the following requirements;
·         Operating System such as UNIX, Microsoft windows, Mac OS etc.
·         An Integrated development environment (IDE).
·         A functional Programming language such as java.
·         MySQL database.
·         A reliable web browser e.g. Chrome, Opera, Firefox etc.

3.5.4        Hardware Requirements

·         System memory size of at least 2GB
·         A laptop, PC, most like a desktop computer.
·         A HDD (Hard Disk Drive) of size 160GB.
·         A Printer e.g. Hp Laserjet
·         A Mouse (as interface)
·         Intel atom processor with speed of at least 1.66GHz.
·         An uninterrupted power supply (UPS) to avoid impromptu failure in operations.

3.5.5        Functional Requirement

The following is the desired functionality of the new system. Acceptance of submissions of inputs in form of patients, staff, and illness and their symptoms at submit point, Perform analysis of questions asked by the inference engine and relate the answers from the patient to the illness on the knowledge base and also to authenticate the users of the system. 


3.5.6        Non-functional Requirement

The system must verify and validate all user input and users must be notified in case of errors detected in the course of using the system, The system only allows the administrator to delete records in the database, The system should allow room for expansion (scalability).

           

 



 



CHAPTER FOUR

SYSTEM DESIGN

4.1 INTRODUCTION

This system is designed to aid the medical practitioners and professionals (doctors) in their effort to restore and maintain sound health in their clients (patients), and also to enable the accurate storage, manipulation of patient data. The system is also designed to ensure that only authorized users gain to certain confidential medical information (e.g. patient personal data). We aim to also determine the severity of the diagnosed patient’s illness and then propose treatment to the illness/disease with the system designed.

4.2 BASIC CONCEPT (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 an 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 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







       USER                                                           EXPERT SYSTEM DOMAIN
EXPLANATION SYSTEM
INFERENCE ENGINE
 KNOWLEDGE BASE
CASE SENSITIVE DATA WORKING STORAGE (Knowledge base)
DOMAIN EXPERT

USER INTERFACE

 






                                                            Figure 1.1

4.3 INPUT DESIGN

This displays the interface between the user and the expert system (explanation system) such that user which could either be the administrator (designer or medical expert) who has access to the database (knowledge base) thus being capable of adding new illness and its basic symptoms, or the user could be a patient who needs diagnosis to certain symptoms he/she may be experiencing. This design comprise of the admin page which is a Multiple Document Interface (MDI) form which is being managed only by the system administrator. Although, it is a desktop program where only one user can login but still requires the system administrator to administer user’s access. The admin page gives privileges to the admin to create account for the users and also delete existing records. The admin (who understood the fall system functionality and design) has the privilege to delete and edit user’s record from the database. This is the pane where all major research work is focused. This page performs all diagnosis and works using the forward chain dimension. The forward chain dimension means getting a result based on the known facts (such as symptoms and causes) but for doctors (domain expert) to use this feature he has already known the symptoms and causes of the patient’s ailment but without knowing the actual ailment.



 Please enter the symptoms you feel here
         Yes
         No
Do you have a pain in your chest?
 


                                    
Fig 1.2 Patient input.
Password
Username
 


     Ok
                                                                                                                                                               

                                                                Fig 1.3 Administrator login

4.4 OUTPUT DESIGN

This is basically in response to the data acquired from the input design phase, because after the user inputs personal data the expert system stores them in the database (Knowledge base), next the user selects the symptoms he/she feels, then the inference engine using the illness listed in the knowledge base infers (diagnose) the illness the patient harbors.
Sorry but you have been diagnosed to have malaria (early stage)
    Ok
 




                                                                                Fig 1.4   Illness diagnosis design

Sorry but you have been diagnosed to have malaria (later stage)
“Highly severe
 

 


                            

    Ok
 Get treatment  
 


       

4.5   DESIGN OF DATA STRUCTURE
User input interfaces interacts with a database to store user records, check for validity and also to provide security. This system will use SQL and Java Embedded database to store data using Netbeans as a platform. The knowledge gotten from human experts are also interpreted into questions and answers and stored in the database.
FIELD
TYPE
COLLATION
NULL
DEFAULT
Fullname
varchar(100)
case-insensitive
No
None
Username
varchar(20)
case-insensitive
No
None
Password
varchar(34)
case-insensitive
No
None
pAge
varchar(6)
case-insensitive
No
None
pPhone
varchar(24)
case-insensitive
No
None

Table 9: Knowledge Base for Bio-Data form

4.6 SYSTEM FLOWCHART

 
Input Username & Password
Administrator Domain
Diagnosis Domain
If Administrator?
If Patient?
   Start










                                               
                                       Fig 1.6   Flowchart of basic system

  Start
Input Username and Password
           If Administrator
       If       Patient?
Patient Specify his/her symptoms.
Add to database records & its corresponding fields (Alter Knowledge base)
Input new illness & their symptoms.

Inference engine activated
If selected symptoms is in Knowledge base
 Illness not available in System
  Diagnosis Result
Stop
Input personal data
No
Yes
Yes
No
No
Yes
User has to register
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                Fig 1.7   Flowchart of existing system

 



     Start
User accesses expert system
User specifies his/her category
If user is an Administrator?
No
Yes
If user is a Patient?
User inputs personal details
User has to register as a member!
No
Yes
Inputs Username & password
Inputs Username & password
User accesses Knowledge base
Adds new illness & symptoms
 














Patient specifies symptoms
                                                                                                                                                                                    
DBase/Knowledge base
Inference Engine activated
Output diagnosed illness
Diagnose solution to the illness.
 










    Stop
                                                         Fig 1.5 Flowchart of New system                         

4.7 Test Plan

 The Software Test Plan (STP) is designed to Show the scope, approach, resources, and schedule of all testing activities. The plan will identify items to be tested, the features to be tested, the types of testing to be performed, the personnel responsible for testing, the resources and schedule required to complete testing. The purpose of the software test plan is such as:  To achieve the correct code and ensure all Functional and Design Requirements are implemented as specified in the documentation.  To provide a procedure for Unit and System Testing.  To identify the test methods for Unit and System Testing. 
   Process of Test Plan
·         Identify the requirements to be tested. All test cases shall be derived using the current design specification. 
·         Identify particular test to use to test each module. 
·         Identify the expected results for each test. 
·         Perform the test.
·         Document the test data, test cases used during the testing process.

S/N
Test Case
Test data
Expected Result
Actual Result
1.






2.



3.







4.


Patients registration







Patients Login




Administrator Login








Symptom check


i) Patient username
a) Already registered
b) Data-length > 5
c) Null
ii) Password Inputs
a) Data-length < 10
b) Null
i) Patient username
a) Already registered
b) Data-length > 5
c) Null
i)Username
a) Correct
b) Incorrect
c) Null
ii)Password
a) Data-length < 5
b) Correct
c) Null

Options (Boolean)

Reject
Accept
Reject

Reject
Reject

Reject
Accept
Reject

Accept
Reject
Reject

Reject
Accept
Reject




Null
Create Database
Null

Displays password is too short.
Displays you have to input password.

Null
Create Patient Database
Null

Open Administrator domain
Incorrect username
Displays input username.

Null
Displays Password and username correct.
Null





5.



Illness Registration
If Yes
If No

i) Illness name
a)Length > 1
b)Null
c)Already registered
ii) Symptoms
Accept
Accept


Accept
Reject
Rejected


Displays the next symptoms.
Displays the next symptoms.


Create symptom database
Displays “enter illness name”
Displays “illness already registered






a)Null
b)Length > 20
Rejected
Accept
Displays “enter a symptom”
Registers symptom under the illness.













 

 




Table1: Test plan

 

 


















CHAPTER FIVE

SYSTEM IMPLEMENTATION

5.1 Testing
Testing was done after the system was put in place. This was done in two ways namely Unit Testing and integration testing.
·         Unit Testing
Unit testing was carried out on individual modules of the system to ensure that they are fully functional units. We did this by examining each unit, for example the Add Illness form. It was checked to ensure that it functions as required and that it adds Illness data and other details and also ensured that this data is sent to the database. The success of each individual unit gave us the go ahead to carryout integration testing. All identified errors were dealt with.
·         Integration Testing
We carried out integration testing after different modules had been put together to make a complete system. Integration was aimed at ensuring that modules are compatible and they can be integrated to form a complete working system. For example we tested to ensure that when a user is logged in, he/she is linked to the appropriate form, and also the form could access the database to get the necessary data needed to move to the next form.
·         System Validation
As one of the specific objectives of this study, validation of the system was very important. Validation of the system was done by checking the inputs pages like the login and the registration page to make sure that no text box is left unfilled. For example the system does not accept blank field; the system also discriminate between numerical and numerical characters.




5.1.1    IMPLEMENTATION OF INPUT SPECIFICATION
5.1.1.1 Login Form for the Different Users
Only authorized user with the right user name and password has right to access the services to particular department he or she intent to view. When wrong user name and password is used the system rejects access to the services.  
Figure 5.1: Administrator form
Figure 5.2: Administrator form (When wrong username and password is inputted)
Figure 5.3: Administrator form (When the correct username and password is inputted)
Figure 5.4: Patient’s registration form

Figure 5.5: Patient’s login form

5.1.1.2 System Administration Home Form

The system administrator can add and edit the Illnesses on the database from this form. The system administrator would have to be a medical practitioner or a physician who has knowledge on the illness he or she is inputting into the database.

Figure 5.6: Administrator form  

5.1.1.3 Main Form

 This interface allows the Patient and the administrator to select which form to go to. When the administrator clicks on the administrator button it take him or her to a login page for the person to input the username and password. When the patient clicks on patient illness diagnosis button it take the person to the form where the patient can login or register.

Figure 5.7: Main Form
Figure 5.8: Patient’s Data form
5.1.1.4 Patient Diagnosis form
This form deals with asking the patient series of questions to actually determine the exact illness he or she is actually suffering from. The form the gives the patient a result of the diagnosis and then prescribe a treatment for the patient.

Figure 5.9: Patient’s Diagnosis form
5.1.2 OUTPUT DESIGN IMPLEMENTATION
When the specified data has been input and accepted by the system, the following interface will be displayed. It also has a form which displays the treatment of the illness.
Figure 5.10: Patient’s Diagnosis form (Result)
Figure 5.11: Patient’s Diagnosis form (Treatment)
5.2 User Testing
This involves the user manual, user installation guide, troubleshooting to help the user to use the system effectively and to fix errors if any occurs. Some questions which may be asked when performing the user testing may include:
·         Is the system working well
·         Is the program user friendly
·         Can the program run on all systems
·         Can the program be used by all users

5.2.1 USER MANUAL
In Order to use this software properly a user manual is very important. To see the user manual in the software:
  • Run the software
  • On the start form click on the pretest button at the top of the form
  • Click on the help button then click on the help to access the software user guide
  • You can access the help by clicking help on the sign up form or login form

5.2.2   USER INSTALLATION GUIDE
Below are steps needed by the user for proper installation of the software:
  • Insert the CD containing the program into your CD-ROM drive
  • Go to my computer
  • Right click on DVD/CD-ROM drive
  • Install and run the software

5.2.3    TROUBLESHOOTING
Troubleshooting is done if the User encounters any problem as the user uses the software. The user might encounter problems when the software is not installed properly or when the knowledge base is not properly imported. Therefore, the user needs to uninstall the software and redo the installation process properly following the instruction guide.

5.3 Documentation
The documentation includes the system interfaces and description, user guide, the system implementation.
5.3.1 SYSTEM DOCUMENTATION
Documentation is defined as the formalized, detailed record containing the design of the new system. It outlines the technique and method utilized to correct the problems areas in the existing system. Documentation serves as the information medium used by programmer, analyst and users to discover the content and objectives of a particular project or program. It is kept for the future reference on a specific project. It creates a permanent, comprehensive and intelligent record of the program for the new system.  The need for computerization of aquatic processes is very imperative, due to some of the problems that were encountered in the old system of operation, in the course of my project research and analysis, I developed a model that will not only solve the problem that exist in the system of operation, but also provide an enabling environment for continuous improvement.
System documentation is very important because it shows every step or procedure that was undergone when designing the system. It also shows the order in which instruction should be carried out by the new system. If modifications are to be made in the system in the future, with the aid of the system’s documentation it is very easy.
The only maintenance this system needs is to make sure that the codes are not altered or modified by someone who is not an experienced programmer because syntactic or logical errors may occur.











CHAPTER SIX

CONCLUSION AND RECOMMENDATION

6.1 SUMMARY

An expert system is basically a computer system that aims to replicate the functionality of a human expert in order to solve a given problem in any field of study, thus this project aims to focus this expert system on the medical sector, such that the system would feature in the hospital management system. Future prospects for medical databases should be good since some hospitals are now using computerized record systems instead of traditional paper-based. The application of expert systems in medicine is very interesting and has created considerably effective systems of diagnosis. The proposed system can help doctors and patients in providing decision support system, interactive training tool and expert advice. The system constitutes part of intelligent system of diagnosis of diseases. An initial evaluation of the expert system was done by doctors and patients. A number of experts, colleagues and patients tested the system and gave us a positive feedback and asked us to expand the expert system to cover more diseases. As future work we will constitute the expert system to cover all known diseases. Basically PIDES is available in clinical organizations and it is relatively cost effective, efficient, saves time and less error can be made using this expert system.

6.2 EVALUATION

Looking at the current system we have developed there is certainly room for improvement, because our developed system is clearly a prototype a well organized system that would improve the operations in the health sector. With some modifications such as improving the database of the expert system to harbor more illness and their respective symptoms, and probably designing the current system to be more user friendly so that this system would be accessible to both the educated and the illiterate in a world were both are liable to fall sick, thus everyone can get his or her health problems (illness) well diagnosed by our system.

6.3 PROBLEMS ENCOUNTERED

In our research there were certain challenges encountered such as having to interact and implement the project with a programming language we were not familiar with such as java, another problem faced in undergoing this project was our having to make research and implement the project whilst we studied for our exams as students, personally I wish I could embark on this project as a graduate thus having more resources to research and implement a better work on this project.

6.4 LESSONS LEARNT

The traditional medical expert systems such as the MYCIN and DENDREL were relatively effective in their respective functions, but a major challenge that was faced by hospital management systems in the past was the problem of redundancy and loss of patient records, and this problem was not properly handled by previous medical expert systems (DENDRAL), considering we were able to implement a patient record system that keeps a personal record (profile) of each patient, and this implemented by linking up the patients inputs (personal information) to a database system. From the study, this application serves as a model tool that will enable hospitals to effectively monitor patients‟ medical records without ambiguity. This will provide a great reduction in the hours wasted in most conventional hospitals without this tool. It is our believe that for the attainment of the millennium development goals (MDG) in terms of healthy living for the masses, adoption of this expert system must be a priority in the hospitals of countries with such an aspiration for its masses.

6.5 RECOMMENDATIONS

This project work has been designed specifically for the diagnosis of Malaria; it is recommended that this system should be adopted by health institutions in the society.
This work is further recommended as a stepping stone for further research in future. The future research should be based on making the system capable of diagnosing and giving treatment options for multiple diseases and be able to do this with incomplete knowledge.

REFERENCES

Abd Wahab, M. H. ( 2009). Designing a web-based network troubleshooting expert systems. Compilation of Papers 2009, Vol. 2. Compilation of Papers 2009, Vol. 2.
Akanbi, L. O. (2009). A web based expert for management of pest and diseases of cassava.
Barr, A. F. (1981). Indigenous knowledge systems and Alaska native way of knowing. . Anthropology and Education quarterly , 36(1): 8-23.
Beverly G Hope, R. H. (1994). An expert Support System.
Dada, J. O.-D. (2011). Web-based expert system for classification of industrial and commercial waste products . J. Emerg. Trends Comput. Inf. Sci. , 2: 257,262.
Fahad S., S. R. (2008). Dr. wheat: a web-based expert system for diagnosis of diseases and pests in Pakistani wheat. . London, U.K.: Vol. I., WCE.
Feigenbaum, E. (1992). Using hybrid rule-based in developing an intelligent Tutoring System with knowledge acquisition and update capabilities. Expert Syst. Appl. , 477-492.
Folorunso, I. A. (2012). A rule-based expert system for mineral identification. J. Emerg. Trends Comput. Inform. Sci. , 3: 205,210.
Frenzel, J. L. (1987). Understanding expert systems. 1st edn. . New York: Sam s Understanding Series.
Hill, E. F. (2006). The rule engine for java platform. Retrieved from http://www.expertise2go.com/webesie
Hope, B. G. (1994). AnExpert Support system for quality improvement. In Twenty-Seventh annual Hawaii international conferrence on system science.
Ignizio, J. (1991). Introduction to expert systems. New York: McGraw-Hill.
Kasabov, N. W. (1996). Foundations of neural networks, expert systems and knowledge engineering. Cambridge: MIT Press.
Keller, R. (1988). Expert system technology development and application. . Prentice- Hall, Englewood Clifs, N.J.
Mockler, J. D. (1992). Knowledge-based system: An introduction to expert systems. . New York: Mcmillan.
Penta, D. (2002). Computing and expert system, 2nd edn.. Pp. 5 9. Boston: Addision Wisely.
Poole, D. M. (1998). Computational intelligence: A logical approach. . New York: Oxford University press.
Prasad, M. B. (2010). A web based tomato crop expert information system based on artificial intelligence. Int. J. Comput. Sci. Inf. Technol. , 1(1): 6 15.
Rissland. (1985). Illness diagnostic expert system.
Seetharam, A. K. (n.d.). an expert diagnostic tool for engineering systems. scientific & Industrial research , pp 601- 602.
Walker, A. (2002). Knowledge system and prolog. Addision-Wisely.
Wielinga, B. S. (1997). Methods and techniques for knowledge management: what has knowledge engineering to offer? 13(1): 73-84.
Zhongzheng, S. (1994). A medical expert system with double-layer reasoning model. Trans. Nanjing Univ. Aeronaut. Astronaut. , 3: 376,383.



 Other Tags:

medical diagnosis expert system project in java  project on expert system for malaria diagnosis  medical diagnosis expert system source code  expert system for medical diagnosis pdf  medical diagnosis expert system project report  fuzzy expert system for heart disease diagnosis  expert system for medical diagnosis in prolog  medical expert system project 

No comments:

Post a Comment

Ads