0% found this document useful (0 votes)
21 views30 pages

CSC 505

Uploaded by

kzh75stkcq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views30 pages

CSC 505

Uploaded by

kzh75stkcq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

COURSE TITLE:

CSC 505

COURSE DESCRIPTION:

EXPERT SYSTEM

PROJECT TITLE:

A MEDICAL LAB DIAGNOSIS EXPERT SYSTEM

GROUP:

GROUP ONE (1)

DATE:
18-11-2023

ABSTRACT

A medical diagnosis expert system is a computer-based tool designed to assist


healthcare professionals in the process of diagnosing medical conditions. These
systems leverage artificial intelligence and knowledge representation techniques
to mimic the decision-making capabilities of human experts in the medical field.
The system contains a comprehensive knowledge base that includes information
about various medical conditions, symptoms, risk factors, and symptoms options.
This knowledge is often acquired from medical literature, expert opinions, and
clinical data.

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

1.1 BACKGROUND OF THE STUDY

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.

Components of an Expert System:

Architecture of an Expert System

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

 Knowledge Acquisition and Learning Module –


The function of this component is to allow the expert system to acquire more and more
knowledge from various sources and store it in the knowledge base.

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

 Complexity of Medical 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.

 Dynamic Nature of Medical Data:

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.

 Ethical and Legal Considerations:

Addressing ethical concerns related to patient confidentiality, privacy, and the responsible use of
AI in healthcare. Ensuring compliance with relevant regulations and standards.

 Validation and Trustworthiness:


Establishing the reliability and trustworthiness of the expert system through rigorous testing,
validation against known cases, and collaboration with medical professionals.

 Deployment in Healthcare Settings:

Overcoming challenges associated with the deployment of the expert system in real healthcare
settings, including integration with existing clinical workflows and protocols.

1.3 Scope of the Project:

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:

 Target Medical Conditions:

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.

 Integration of Medical Specialties:

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.

 Diagnostic Decision Support:

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.

 Dynamic Knowledge Update:


The system will be designed to accommodate updates in medical knowledge by providing
mechanisms for regular knowledge base updates. This includes incorporating new research
findings, diagnostic criteria, and treatment protocols.

 User Interface Design:

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.

 Ethical and Legal Compliance:

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.

 Testing and Validation:

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.

1.4 Aims and Objectives of the project:

Aims:

1. Develop an expert system that significantly improves diagnostic accuracy in medical


practice by leveraging artificial intelligence and expert knowledge.
2. Create a tool that serves as a complementary resource for healthcare professionals,
enhancing their decision-making process and providing valuable diagnostic insights.
3. Contribute to improved patient outcomes by facilitating faster and more accurate
diagnoses, leading to timely and appropriate medical interventions.
4. Enable a multidisciplinary approach to diagnosis by integrating knowledge from various
medical specialties, fostering a comprehensive understanding of diverse medical
conditions.

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

2.1 Research Goals

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

2.2 Expert Systems in Medical Diagnosis

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

IMPLEMENTATION & METHODOLOGY

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:

1. HTML (Hypertext Markup Language):

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.

2. CSS (Cascading Style Sheets):

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:

Rules follow a conditional format, comprising antecedents (symptoms) and consequents


(diagnoses). For instance:

IF (Symptom A AND Symptom B AND Symptom C) THEN (Diagnosis X)

IF (Symptom D OR Symptom E) THEN (Diagnosis Y)

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

 Weighting and Prioritization:

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:

An inference engine is a component of an expert system or rule-based system that processes


information in a knowledge base to derive conclusions, make decisions, or infer new knowledge.
In the context of artificial intelligence (AI) and expert systems, the inference engine plays a
crucial role in reasoning and problem-solving.

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.

Integration with Knowledge Base:

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.

 The Lines of code for the inference engine

4. import { HeartPulse, HistoryIcon, Home } from "lucide-react";


5. import { healthProps } from "../types";
6.
7. export const baseUrl = "http://localhost:3500/";
8.
9. export const navLinks = [
10. {
11. name: "Dashboard",
12. link: "/home",
13. icon: Home,
14. },
15. {
16. name: "Medical Record",
17. link: "/medical-record",
18. icon: HistoryIcon,
19. },
20. {
21. name: "Diagnose",
22. link: "/diagnose",
23. icon: HeartPulse,
24. },
25.];
26.
27.export const healthConditions: healthProps[] = [
28. {
29. sickness: "Common Cold",
30. symptoms: ["Runny nose, Sneezing, Cough, Sore throat"],
31. },
32. {
33. sickness: "Influenza (Flu)",
34. symptoms: ["Fever, Body aches, Fatigue, Headache"],
35. },
36. {
37. sickness: "Allergies",
38. symptoms: ["Watery eyes, Itchy throat, Nasal congestion, Sneezing"],
39. },
40. {
41. sickness: "Migraine",
42. symptoms: [` Severe headache , Nausea , Sensitivity to light , Aura
`],
43. },
44. {
45. sickness: "Gastroenteritis",
46. symptoms: [` Diarrhea , Vomiting , Abdominal cramps , Fever `],
47. },
48. {
49. sickness: "Asthma",
50. symptoms: [`Shortness of breath, Wheezing, Coughing, Chest
tightness`],
51. },
52. {
53. sickness: "Urinary Tract Infection (UTI)",
54. symptoms: [
55. `Frequent urination, Burning sensation", Cloudy urine, Pelvic pain`,
56. ],
57. },
58. {
59. sickness: "Hypertension (High Blood Pressure)",
60. symptoms: [`Headache, Dizziness, Blurred vision, Chest pain`],
61. },
62. {
63. sickness: "Diabetes",
64. symptoms: [`Increased thirst, Frequent urination, Fatigue, Blurry
vision,`],
65. },
66. {
67. sickness: "Anxiety",
68. symptoms: [`Restlessness, Irritability, Rapid heartbeat, Muscle
tension,`],
69. },
70. {
71. sickness: "Pneumonia",
72. symptoms: [`Fever, Cough with phlegm, Shortness of breath, Chest
pain,`],
73. },
74. {
75. sickness: "Rheumatoid Arthritis",
76. symptoms: [`Joint pain, Swelling, Stiffness, Fatigue`],
77. },
78. {
79. sickness: "Hypothyroidism",
80. symptoms: [`Fatigue, Weight gain, Cold sensitivity, Depression`],
81. },
82. {
83. sickness: "Hyperthyroidism",
84. symptoms: [`Weight loss, Rapid heartbeat, Anxiety, Excessive
sweating,`],
85. },
86. {
87. sickness: "Osteoporosis",
88. symptoms: [`Bone pain, Fractures, Loss of height, Back pain`],
89. },
90. {
91. sickness: "Appendicitis",
92. symptoms: [`Abdominal pain, Loss of appetite, Nausea, Fever`],
93. },
94. // {
95. // sickness: 'Lyme Disease',
96. // symptoms: ['Bull's-eye rash', 'Fever', 'Headache', 'Joint pain']
97. // },
98. {
99. sickness: "Celiac Disease",
100. symptoms: [`Abdominal pain, Diarrhea, Weight loss, Fatigue`],
101. },
102. {
103. sickness: "Chronic Obstructive Pulmonary Disease (COPD)",
104. symptoms: [
105. `Shortness of breath, Chronic cough, Wheezing, Chest
tightness,`,
106. ],
107. },
108. {
109. sickness: "Sleep Apnea",
110. symptoms: [
111. `Loud snoring, Pauses in breathing during sleep, Daytime
sleepiness, Morning headaches, `,
112. ],
113. },
114. ];
Interpretation of the lines of code

 Import Statements:

import { HeartPulse, HistoryIcon, Home } from "lucide-react";:

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.

import { healthProps } from "../types";:

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.

 Constants and Variables:

export const baseUrl = "http://localhost:3500/";:

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.

export const navLinks = [...]:

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

 Navigation Links Example:

The navLinks array contains three objects representing different navigation links:

Dashboard Link:

name: "Dashboard"
link: "/home"

icon: Home

Medical Record Link:

name: "Medical Record"

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.

The system includes a comprehensive dataset (healthConditions) covering various health


conditions and associated symptoms. Each health condition, ranging from common cold and
influenza to chronic diseases, is equipped with a set of defining symptoms. Leveraging the
predefined health conditions and symptoms, the system is equipped to perform diagnostic
processes. Users can potentially input symptoms, and the system utilizes its knowledge base to
suggest or identify possible medical conditions.
Type definitions, such as healthProps indicate a structured approach to data management. These
definitions likely contribute to data consistency and help maintain a well-organized codebase.
The code exhibits a modular structure, separating constants, data, and type definitions. This
design promotes maintainability, scalability, and clarity in the application's codebase.

In summary, the expert system is a pivotal component of a health diagnostics application,


providing users with a visually appealing and intuitive interface. Leveraging a well-defined
knowledge base, the system supports diagnostic processes for a range of health conditions based
on user-input symptoms. Its modular architecture and use of type definitions contribute to code
organization and overall system maintainability.

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

1. OLOTU EMMANUEL O CSC/18/985


2. DAODU OLUWAGBOTEMI CSC/18/948
3. ALADEJARE VALENTINE CSC/18/935
4. OLOVOTUGEN ONORIODE ISRAEL CSC/18/986
5. OWOLABI OLUWATOBILOBA CSC/DE/19/124
6. AKINTADE IMOLEAYO SARAH CSC/18/932
7. OGUNMADE NELSON OMOGBOLAHAN CSC/18/974
8. ABAYOMI DADEOLUWA BLESSING CSC/18/910
9. AHMED MARIAM OMOTAYO CSC/18/926
10.OLUGBEJE PROVIDENCE CSC/18/988
11.AWOGBULE VICTOR IDOWU CSC/18/942
12.BAMIGBOYE ENOCH OPEYEMI CSC/18/945
13.BAMISILE AYODEJI CSC/18/946
14.OJO FERANMI 170404089

ASSIGNMENT TWO

TOOLS FOR DEVELOPING AN EXPERT SYSTEM


1. Programming Languages:

 Python: Renowned for its simplicity and extensive libraries, Python is


versatile and suitable for both rule-based and machine learning
components in expert systems. It facilitates rapid development and
integration.

 Java: Offering platform independence, Java is often chosen for building


robust, enterprise-level applications. Its object-oriented nature makes it
suitable for complex systems.

 Prolog: A logic programming language, Prolog is well-suited for rule-based


systems. Its declarative nature allows the straightforward representation of
knowledge and logical inference.

2. Rule-Based Systems:

 CLIPS (C Language Integrated Production System): An expert system tool


that provides a rule-based environment. It allows the definition of rules and
facts to model the knowledge base.

 Drools: A popular open-source BRMS for Java, Drools enables the


representation of business rules in a readable format. It provides flexibility
in rule management.

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

 OWL (Web Ontology Language): A standard for representing ontologies on


the web, OWL is employed for expressing knowledge in a machine-readable
format. It enhances semantic understanding.

 RDF (Resource Description Framework): RDF is a framework for describing


resources on the web. It forms the basis for knowledge representation in a
structured, linked format.

4. User Interface (UI) Development:

 HTML, CSS, JavaScript: Standard web development technologies for


creating user interfaces. These technologies are essential for developing
intuitive, web-based interfaces.

 JavaFX: A Java library for building rich desktop applications. It provides a


modern UI framework for creating interactive and visually appealing
interfaces.

 React, Angular, Vue.js: JavaScript frameworks that facilitate the


development of dynamic and responsive user interfaces. They are often
used in web-based applications.

5. Database Management Systems (DBMS):

 MySQL, PostgreSQL, SQLite: Common relational databases suitable for


storing structured data. They provide efficient data retrieval and
management.
 MongoDB: A NoSQL database that is well-suited for handling unstructured
or semi-structured data. It is beneficial for scenarios where flexibility in data
modeling is required.

6. Version Control:

 Git: A distributed version control system essential for tracking changes in


source code. Git enables collaboration, code management, and versioning.

7. Collaboration and Documentation:

 Confluence and Jira: Atlassian's tools for collaboration and project


management. Confluence is used for documentation, while Jira aids in
project planning and tracking.

 Markdown Editors: Visual Studio Code, Typora, or similar tools are


employed for creating documentation. Markdown is a lightweight markup
language for easy text formatting.

 Lucidchart, draw.io: Tools for creating flowcharts and diagrams, essential


for visually representing system architecture and processes.

8. Testing and Quality Assurance:

 JUnit: A testing framework for Java applications. It supports the creation


and execution of unit tests, ensuring code reliability.

 Pytest: A testing framework for Python applications. It simplifies the testing


process and enhances code quality.

 Selenium: An automated testing tool for web applications. It is valuable for


testing user interfaces and ensuring cross-browser compatibility.
9. Containerization and Orchestration:

 Docker: A containerization platform that ensures consistent application


deployment across different environments. It simplifies dependency
management.

You might also like