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.
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
|
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