CSC 505
CSC 505
CSC 505
COURSE DESCRIPTION:
EXPERT SYSTEM
PROJECT TITLE:
GROUP:
DATE:
18-11-2023
ABSTRACT
It makes use of an inference engine in which the inference engine is the core
component responsible for reasoning and decision-making. It uses logical rules
and algorithms to analyze patient data and draw conclusions about potential
diagnoses. The system takes input in the form of patient data, which may include
symptoms, medical history, and diagnostic test results. Some systems also
integrate with electronic health records (EHRs) for seamless data retrieval.
CHAPTER ONE
INTRODUCTION
Medical Diagnosis and Care Patients seek medical help for determination (or diagnosis) and
treatment of various health problems (Carter et al., 2005). Sometimes a combination of the
patient’s history and a clinical examination by a physician are enough to make diagnoses and
decide whether medical treatment is needed, and what treatment should be given. However,
often laboratory investigations or diagnostic imaging procedures are required to confirm a
clinically suspected diagnosis or to obtain more accurate information. For example, malaria may
be suspected by the presence of fever and by excluding other causes of fever on history and
physical examination, but a firm diagnosis is made on microscopic examination of a blood slide.
Medical diagnosis or the actual process of making a diagnosis is a cognitive process. It is the
pivotal cognitive activity of a practicing physician (Nkanginieme, 1997). A physician uses
several sources of data and puts the pieces of the puzzle together to make a diagnostic
impression. The initial diagnostic impression can be a broad term describing a category of
diseases instead of a specific disease or condition. After the initial diagnostic impression, the
physician obtains follow up tests and procedures to get more data to support or reject the original
diagnosis and attempts to narrow it down to a more specific level. Diagnostic procedures are the
specific tools that the physicians use to narrow the diagnostic possibilities, which lead closer to
correct diagnosis.
Correct diagnosis usually leads to appropriate treatment. With the high cost of health care,
increased patient awareness, medico-legal and insurance pressures, every physician is expected
to be responsibly accountable inpatient care. Medical diagnosis must always be a logical,
dependable and indeed cost-effective system of medical care delivery.
Then, ethics on its own now play an important, although not dominant, role in decision making
of primary medical care. In this regard, ethical considerations include what information to give
patients, when to suggest alternate services because of a patient's inability to pay, and the
appropriateness of various types and forms of treatment. On legal concerns, since 1980s the
number of medical malpractice suits has increased with the number of awards. This trend has so
affected clinical decision making, that physicians now increasingly report that they practice
'defensive medicine', ordering tests and other procedures to protect themselves from liability
rather than simply to provide the best care for their patients. This has tended to inflate medical
care cost
Artificial Intelligence is a piece of software that simulates the behavior and judgement of a
human or an organization that has experts in a particular domain is known as an expert system. It
does this by acquiring relevant knowledge from its knowledge base and interpreting it according
to the user’s problem. The data in the knowledge base is added by humans that are expert in a
particular domain and this software is used by a non-expert user to acquire some information. It
is widely used in many areas such as medical diagnosis, accounting, coding, games etc.
An expert system is AI software that uses knowledge stored in a knowledge base to solve
problems that would usually require a human expert thus preserving a human expert’s knowledge
in its knowledge base. They can advise users as well as provide explanations to them about how
they reached a particular conclusion or advice. Knowledge Engineering is the term used to
define the process of building an Expert System and its practitioners are called Knowledge
Engineers. The primary role of a knowledge engineer is to make sure that the computer
possesses all the knowledge required to solve a problem. The knowledge engineer must choose
one or more forms in which to represent the required knowledge as a symbolic pattern in the
memory of the computer.
Example: There are many examples of an expert system. Some of them are given below –
MYCIN –
One of the earliest expert systems based on backward chaining. It can identify various
bacteria that can cause severe infections and can also recommend drugs based on the
person’s weight.
DENDRAL –
It was an artificial intelligence-based expert system used for chemical analysis. It used a
substance’s spectrographic data to predict its molecular structure.
R1/XCON –
It could select specific software to generate a computer system wished by the user.
PXDES –
It could easily determine the type and the degree of lung cancer in a patient based on the
data.
CaDet –
It is a clinical support system that could identify cancer in its early stages in patients.
DXplain –
It was also a clinical support system that could suggest a variety of diseases based on the
findings of the doctor.
Knowledge Base –
The knowledge base represents facts and rules. It consists of knowledge in a particular
domain as well as rules to solve a problem, procedures and intrinsic data relevant to the
domain.
Inference Engine –
The function of the inference engine is to fetch the relevant knowledge from the
knowledge base, interpret it and to find a solution relevant to the user’s problem. The
inference engine acquires the rules from its knowledge base and applies them to the
known facts to infer new facts. Inference engines can also include an explanation and
debugging abilities.
User Interface –
This module makes it possible for a non-expert user to interact with the expert system
and find a solution to the problem.
Explanation Module –
This module helps the expert system to give the user an explanation about how the expert
system reached a particular conclusion.
1.2 Statement of the Problem:
Healthcare systems worldwide face the challenge of providing timely and accurate medical
diagnoses in the face of growing patient populations and increasingly complex medical data. The
shortage of skilled medical professionals and the need for rapid decision-making underscore the
necessity for innovative solutions. Developing an expert system for medical diagnosis presents
an opportunity to address these challenges by leveraging artificial intelligence and domain-
specific knowledge.
The vast and evolving nature of medical knowledge poses a challenge in efficiently capturing
and encoding relevant information for accurate diagnoses.
Integration of Expertise:
Integrating the diverse expertise of medical professionals, encompassing various specialties and
sub-specialties, into a cohesive and comprehensive knowledge base.
Adapting to the dynamic nature of medical data, including emerging research findings, new
diagnostic criteria, and evolving treatment protocols.
User-Friendly Interface:
Designing an intuitive and user-friendly interface that allows healthcare providers to input
patient data effectively and understand the reasoning behind the system's diagnostic decisions.
Addressing ethical concerns related to patient confidentiality, privacy, and the responsible use of
AI in healthcare. Ensuring compliance with relevant regulations and standards.
Overcoming challenges associated with the deployment of the expert system in real healthcare
settings, including integration with existing clinical workflows and protocols.
The development of the expert system for medical diagnosis will focus on addressing the
challenges associated with enhancing diagnostic capabilities in healthcare settings. The scope
encompasses the following key aspects:
The expert system will initially target a defined set of medical conditions, including common
diseases and disorders for which accurate and timely diagnosis is critical. Expansion to cover a
broader range of conditions may be considered in future iterations.
The system will aim to integrate knowledge from various medical specialties and sub-specialties,
ensuring a comprehensive approach to diagnosis. However, the initial focus will be on a subset
of specialties relevant to general medical practice.
The expert system will provide decision support to healthcare professionals by analyzing patient
data, symptoms, and medical history to generate diagnostic recommendations. It is not intended
to replace the judgment of healthcare providers but rather to complement and enhance their
decision-making processes.
The user interface will be designed to facilitate input of patient data by healthcare professionals.
Emphasis will be placed on creating an intuitive and user-friendly interface that allows users to
interact seamlessly with the system.
The expert system will adhere to ethical standards and legal requirements related to patient
confidentiality, privacy, and data security. Compliance with relevant healthcare regulations and
guidelines will be a priority.
Rigorous testing and validation processes will be implemented to ensure the reliability and
accuracy of the expert system. Validation will include comparison against known cases and
collaboration with medical professionals.
Deployment Considerations:
The deployment of the expert system will be considered in controlled healthcare settings initially,
with a plan for gradual expansion. Integration with existing clinical workflows and protocols will
be addressed during deployment.
Aims:
Objectives:
1. Build a comprehensive knowledge base that encompasses symptoms, risk factors, and
diagnostic criteria for a targeted set of medical conditions.
2. Develop a robust inference engine capable of utilizing the knowledge base to make
accurate and reliable diagnostic decisions.
3. Design an intuitive and user-friendly interface for healthcare professionals, facilitating
the efficient input of patient data and providing transparent diagnostic reasoning.
4. Implement mechanisms for regularly updating the knowledge base to incorporate new
medical research findings, diagnostic advancements, and treatment protocols.
5. Conduct rigorous testing and validation processes to verify the reliability and accuracy of
the expert system. Collaborate with medical professionals to validate diagnostic
outcomes.
CHAPTER TWO
LITERATURE REVIEW
Current health challenges are often related to our modern way of living. High blood pressure,
high glucose levels, and physical inactivity are all linked to a modern lifestyle characterized by
sedentary living, chronic stress, or a high intake of energy-dense foods and recreational drugs
(Stevens et al., 2009). Moreover, people usually make poor decisions related to their health for
distinct reasons, for example, busy lifestyles, abundant options, and a lack of knowledge (de
Choudhury et al., 2016). Practically, all modern lifestyle health risks are directly affected by
people’s health decisions, such as an unhealthy diet or physical inactivity, which can contribute
up to three-fourth of all health care costs in the United States. Most risks can be minimized,
prevented, or sometimes even reversed with small lifestyle changes. Eating healthily, increasing
daily activities, and knowing where to find validated health information could lead to improved
health status (Elsweiler et al., 2016).
Health recommender systems (HRSs) offer the potential to motivate and engage users to change
their behavior (Yürüten, 2017) and provide people with better choices and actionable knowledge
based on observed behavior. The overall objective of the HRS is to empower people to monitor
and improve their health through technology-assisted, personalized recommendations. As one
approach of modern health care is to involve patients in the cocreation of their own health, rather
than just leaving it in the hands of medical experts, we limit the scope of this paper to HRSs that
focus on laypersons, for example, non-health care professionals. These HRSs are different from
clinical decision support systems that provide recommendations for health care professionals.
However, laypersons also need to understand the rationale of recommendations, as echoed by
many researchers and practitioners (He et al., 2016).
Since the whole aim of medical diagnosis is to arrive at an appropriate treatment decision, it will
be worth the while for applications that improve medical diagnosis to be provided from time to
time in order to also improve overall medical or health care quality. Besides, the cost of
healthcare globally is high (Hannan et al., 2010). Therefore, bringing intelligent healthcare
informatics to bear on the dual problems of reducing health-care costs and improving quality and
outcomes is a worthwhile venture, though a challenge even in countries with a reasonably
developed technology infrastructure. This challenge is not insurmountable, though. Moreover,
medical diagnosis is a complicated process requiring high level of expertise. So, any attempt to
develop an intelligent healthcare informatics or an expert system for medical diagnosis must be
ready to confront the challenges and difficulties. These challenges include ensuring that the
healthcare informatics is appropriate to the setting in which it's applied. That is why the design of
the expert system for medical diagnosis here must be carefully implemented. JavaScript shall be
used here in form of rules to design the ESMD. The ESMD is designed to enable the clinicians to
identify diseases and describe methods of treatment to be carried out taking into account the user
capability. The expert system uses inference rules and plays an important role that will provide
certain methods of diagnosis for treatment (Patra et al., 2010). The proposed system is
experimented on various scenarios in order to evaluate its performance
CHAPTER THREE
The methodology chapter is the foundation for the medical diagnosis expert system project,
focusing on the development, evaluation and validation of this project. In the pursuit of
developing a simple medical diagnosis system, the choice of underlying web development
algorithm plays a vital role in the project’s success. This section delves into the methodology
employed for our development with a particular focus on some certain programming languages:
HTML is the standard markup language for creating the structure and content of web pages.
Implementation: HTML is used to define the elements and layout of a webpage. It structures the
content by using tags such as <div>, <p>, <h1> to represent different parts of the page.
CSS is a style sheet language used for describing the presentation of a document written in
HTML.
Implementation: CSS is used to control the visual presentation of the HTML elements. It
includes styling rules such as colors, fonts, spacing, and positioning to enhance the appearance
and layout of the webpage.
3. JS (JavaScript):
JavaScript is a programming language that enables dynamic and interactive behavior on the
client side.
Implementation: JavaScript is used to add interactivity to web pages. It can handle events,
manipulate the DOM (Document Object Model), and communicate with servers to create a more
responsive and dynamic user experience.
3.1 Knowledge Base Procedure for the development of the Medical Expert System
Introduction:
The knowledge base serves as the foundation for the medical expert system, facilitating the
identification and diagnosis of medical conditions based on presented symptoms. It integrates
information from research and expert opinions.
Knowledge Representation:
The knowledge base is structured using a rule-based system to capture the relationships between
symptoms and medical conditions. Each rule encapsulates a logical statement defining the
association between input symptoms and potential diagnoses.
Rule Format:
Symptom Hierarchy:
Symptoms are organized hierarchically to facilitate efficient rule matching. General symptoms
may include fever, fatigue, etc., while specific symptoms may include localized pain, rash, etc.
Disease Profiles:
Each medical condition (disease) has a profile detailing associated symptoms, prevalence, and
any unique diagnostic criteria. This information is utilized by the system to make informed
decisions.
Rules are assigned weights based on the relevance and significance of symptoms in
differentiating between conditions. This weighting helps prioritize potential diagnoses and
provides a basis for confidence levels.
Continuous Updating:
The knowledge base is designed to evolve with medical advancements. Regular updates
incorporate the latest research findings, treatment guidelines, and changes in disease
classifications.
3.2 Inference Engine for the development of the Medical Expert System
Introduction:
Here are some characteristics of an inference engine that we took note of during the course of
this project:
Rule Processing:
In a rule-based system, the knowledge base consists of a set of rules that express relationships
between different pieces of information. The inference engine interprets and processes these
rules to draw conclusions.
Pattern Matching:
The inference engine matches the current set of facts or input data with the conditions specified
in the rules. It identifies rules whose conditions are satisfied by the available information.
Logical Reasoning:
It applies logical reasoning to evaluate the rules and make inferences. This involves determining
which rules are applicable, resolving conflicts between rules, and prioritizing rules based on their
significance.
Deriving Conclusions:
Based on the rules and the input data, the inference engine derives conclusions or makes
decisions. These conclusions may include recommendations, predictions, or solutions to
problems and which a patient can derive an answer to his or her sickness based on the registered
symptoms.
The inference engine tightly integrates with the knowledge base, which contains facts, rules, and
other relevant information. The knowledge base is typically created and maintained by domain
experts.
Import Statements:
This line imports three components (HeartPulse, HistoryIcon, and Home) from the "lucide-react"
library. These components likely represent icons or graphical elements related to heart pulse,
medical history, and home, respectively.
This line imports the healthProps type from a file located in the "../types" directory. The
healthProps type is likely used elsewhere in the code to define the structure of objects
representing health-related properties.
This line defines a constant named baseUrl and assigns it the value "http://localhost:3500/". This
URL might be the base address for API calls or other resources in the application.
This block defines an array named navLinks, which contains objects representing navigation
links for a dashboard or user interface. Each object has properties like name (for the link name),
link (for the URL path), and icon (for the associated icon component).
The navLinks array contains three objects representing different navigation links:
Dashboard Link:
name: "Dashboard"
link: "/home"
icon: Home
link: "/medical-record"
icon: HistoryIcon
Diagnose Link:
name: "Diagnose"
link: "/diagnose"
icon: HeartPulse
These constants and variables are used in a React application to structure navigation links, define
base URLs, and import graphical elements for the user interface.
CHAPTER FOUR
RESULT DISCUSSION
The expert system is an integral part of a health diagnostics application designed to assist users
in navigating different sections, viewing medical records, and initiating diagnostic processes.
The system incorporates various features and components to enhance user experience and
provide valuable health-related information.
The system boasts a user-friendly interface with clear navigation links, including "Dashboard,"
"Medical Record," and "Diagnose." These links guide users through different sections of the
application. To enhance visual appeal and aid in user comprehension, the application utilizes
graphical icons from the "lucide-react" library. Icons such as HeartPulse, HistoryIcon, and Home
are employed for intuitive representation. A base URL (baseUrl) is established as
"http://localhost:3500/," suggesting a foundation for making API calls or accessing resources
within the application.
REFERENCES
Carter J., Müller-Stöver I., Östensen H. and Claus Chr. Heuck C.C., 2005, Good Clinical
DIagnostic Practice, WHO Regional Office for the Eastern Mediterranean, Cairo, Egypt
de Choudhury M, Sharma S, Kiciman E. Characterizing Dietary Choices, Nutrition, and
Language in Food Deserts via Social Media. Proceedings of the 19th ACM Conference
on Computer-Supported Cooperative Work & Social Computing New York, NY;
CSCW'16; Feb 27–March 2, 2016; San Francisco. New York, United States: Association
for Computing Machinery; 2016. Mar 2, pp. 1157–70.
Elsweiler D, Ludwig B, Said A, Schaefer H, Trattner C. Engendering Health with
Recommender Systems. Proceedings of the 10th ACM Conference on Recommender
Systems; RecSys'16; September 15 - September 19, 2016; New York, NY. New York,
United States: Association for Computing Machinery; 2016.
Expert Systems - GeeksforGeeks
Hannan S.A.., Bhagile V.D., Manza R.R. and R. J. Ramteke R.J., 2010. Development of
an Ex-pert System for Diagnosis and appropriate Medical Prescription of Heart Disease
Using SVM and RBF, International Journal of Computer Science and Information
Security, 8 (5).
He C, Parra D, Verbert K. Interactive recommender systems: a survey of the state of the
art and future research challenges and opportunities. Expert Syst Appl. 2016 Sep;56:9–
27.
Nkanginieme K.EO., 1997, Clinical diagnosis as a dynamic cognitive process:
Application of Bloom’s taxonomy for educational objectives in the from cognitive
domain Med Educ Online [serial online] 1997;2:1. Available: URL
http://www.utmb.edu/meo/.
Patra P.S.K., Sahu D.P. and Mandal I., 2010, An Expert System for Diagnosis of Human
Diseases, International Journal of Computer Applications
Stevens G, Mascarenhas M, Mathers C. Global health risks: progress and challenges. Bull
World Health Organ. 2009 Sep;87(9):646. doi: 10.2471/blt.09.070565.
Yürüten O. Recommender Systems for Healthy Behavior Change Internet. École
polytechnique fédérale de Lausanne. 2017. [2021-06-04].
GROUP MEMBERS
ASSIGNMENT TWO
2. Rule-Based Systems:
Jess (Java Expert System Shell): Another Java-based rule engine, Jess
supports the creation and execution of rule-based systems. It integrates
well with Java applications.
3. Knowledge Representation:
Protégé: An ontology editor, Protégé is widely used for creating and
managing ontologies. It provides a graphical interface for building complex
knowledge structures.
6. Version Control: