SlideShare a Scribd company logo
1 | P a g e
DECLARATION
I, Jayita Roy, student of MBA program, University of Kalyani of 2014-2016,
hereby declare that the dissertation entitle “Design and Implementation of a
Knowledge Based Clinical Decision Support System for Rural Women”
submitted for the degree of Master of Business Administration (IT) is my own
work.
I, also certify this report has not been submitted by me to any other University or
Institution for the award of any Degree or Diploma.
Jayita Roy
(University of Kalyani)
2 | P a g e
CERTIFICATION
This is to certify that Jayita Roy student of Department of Business
Administration, University of Kalyani, Nadia, West Bengal, Registration No -
KU/PG/00528 of 2014-15 has successfully completed the project entitled –
“Design and Implementation of a Knowledge Based Clinical Decision Support
System for Rural Women” under the guidance of Prof. Manas Kumar Sanyal.
Prof. (Dr.) Manas Kumar Sanyal
(Head of the Department of Business Administration)
Department of Business Administration
University of Kalyani
Kalyani, Nadia-741235
3 | P a g e
ACKNOWLEDGEMENT
At this juncture I feel deeply honored in expressing my sincere thanks to
Professor. (Dr.) Manas Kumar Sanyal (Head of Business Administration) of
University of Kalyani. The door to Prof. Sanyal’s office was always open
whenever I ran into a trouble spot or had a question about my dissertation. He
steered me in the right the direction whenever he thought I needed it.
I would also like to thank Professor. Satyajit Dhar, Professor. Isita Lahiri,
Dr. Tuhin Mukherjee and Thirupathi Chellapalli sir for their critical advice and
guidance, without which this project would not have been possible.
Last but not the least I place a deep sense of gratitude to my Maa, Papa and
Dr. Diganta Chatterjee who have been constant source of inspiration during the
preparation of this project work.
Jayita Roy
Department of Business Administration
University of Kalyani
Kalyani, Nadia-741235
(jayitamoscow@gmail.com)
4 | P a g e
DEDICATION
To my father, who always wanted me to be a doctor! Papa, this is all what I
could do with technology yet.
5 | P a g e
TABLE OF CONTENTS
Chapter No. Content Page No.
1 Introduction
Abstract and Objective
Decision Support System a General Approach
Knowledge Base
System Requirements
7
8-12
13-14
15
2 Analysis, Design and Development
System Development Life Cycle
Context level DFD
Level 1 DFD
E-R Diagram
Screen prints
17-19
20
21
22
23-32
3 Implementation
Coding 34-41
4 Testing and Validation 43-50
5 Conclusion 51
6 References 54
6 | P a g e
INTRODUCTION
7 | P a g e
INTRODUCTION
Abstract
Women health issues around the world were not considered as significant as
men's health simply because the paying clients were men and hence the doctors
tended to male healthcare. For example breast cancer is secondary in diagnostics
to prostate cancer even though prostate cancer is very late in a human male life
where as the breast cancer can be even in juvenile females. Particularly women of
rural and tribal areas experience extreme levels of health deprivation, due to non
accessibility to public health care and low quality of health care services. We
think that clinical decision support systems or medical expert systems which are
intelligent decision making systems using AI tools, Fuzzy Reasoning and
machine Language features, we can help.
Due to shortage of time this particular Clinical decision support system can
diagnose only FIVE diseases - Dysmenorrhea, Ovarian cysts, Endometriosis,
Polycystic ovarian disease (PCOD) and Urinary tract infection (UTI).
Objectives
 To provide free health services to the rural women.
 To have an easy and interactive user interface.
 To develop a strong knowledge base.
 To develop an efficient DSS (Decision Support System).
 Accurate diagnosis of diseases.
 To provide accurate information about medicine
 If critical referring the patient to doctors or specialists.
8 | P a g e
DECISION SUPPORT SYSTEM -
A GENERAL APPROACH
What are Decision Support Systems or Expert Systems?
The expert systems are the computer applications developed to solve complex
problems in a particular domain, at the level of extra-ordinary human
intelligence and expertise.
Characteristics of Expert Systems
 High performance
 Understandable
 Reliable
 Highly responsive
Capabilities of Expert Systems
The expert systems are capable of −
 Advising
 Instructing and assisting human in decision making
 Demonstrating
 Deriving a solution
 Diagnosing
 Explaining
 Interpreting input
 Predicting results
 Justifying the conclusion
 Suggesting alternative options to a problem
9 | P a g e
They are incapable of −
 Substituting human decision makers
 Possessing human capabilities
 Producing accurate output for inadequate knowledge base
 Refining their own knowledge
Components of Expert Systems
The components of ES include −
 Knowledge Base
 Interface Engine
 User Interface
Let us see them one by one briefly −
USER INTERFACEUSER
INTERFACE
ENGINE
KNOWLEDGE
BASE
10 | P a g e
Knowledge Base: It contains domain-specific and high-quality knowledge.
Knowledge is required to exhibit intelligence. The success of any ES majorly
depends upon the collection of highly accurate and precise knowledge. Data,
information, and past experience combined together are termed as knowledge.
Components of Knowledge Base
The knowledge base of an ES is a store of both, factual and heuristic knowledge.
o Factual Knowledge − It is the information widely accepted by the
Knowledge Engineers and scholars in the task domain.
o Heuristic Knowledge − It is about practice, accurate judgment,
one’s ability of evaluation, and guessing.
Knowledge representation: It is the method used to organize and formalize
the knowledge in the knowledge base. It is in the form of IT-THEN-ELSE rules.
Knowledge Acquisition: The success of any expert system majorly depends
on the quality, completeness, and accuracy of the information stored in the
knowledge base.
The knowledge base is formed by readings from various experts, scholars, and
the Knowledge Engineers. The knowledge engineer is a person with the qualities
of empathy, quick learning, and case analyzing skills.
He or She acquires information from subject expert by recording, interviewing,
and observing him at work, etc. He then categorizes and organizes the
information in a meaningful way, in the form of IF-THEN-ELSE rules, to be used
by interference machine. The knowledge engineer also monitors the
development of the ES.
Interface Engine: Use of efficient procedures and rules by the Interface
Engine is essential in deducting a correct, flawless solution.
In case of knowledge-based ES, the Interface Engine acquires and manipulates
the knowledge from the knowledge base to arrive at a particular solution.
11 | P a g e
In case of rule based ES, it −
o Applies rules repeatedly to the facts, which are obtained from earlier
rule application.
o Adds new knowledge into the knowledge base if required.
o Resolves rules conflict when multiple rules are applicable to a
particular case.
To recommend a solution, the interface engine uses the following strategies −
o Forward Chaining
o Backward Chaining
Forward Chaining: It is a strategy of an expert system to answer the question,
“What can happen next?”Here, the interface engine follows the chain of
conditions and derivations and finally deduces the outcome. It considers all the
facts and rules, and sorts them before concluding to a solution. This strategy is
followed for working on conclusion, result, or effect. For example, prediction of
share market status as an effect of changes in interest rates.
FACT 1
FACT 2
FACT 3
FACT 4
AND DECISION 1
DECISION 2OR
AND
FINAL
DECISION
Backward Chaining: With this strategy, an expert system finds out the answer
to the question, “Why this happened?” On the basis of what has already
happened, the interface engine tries to find out which conditions could have
happened in the past for this result. This strategy is followed for finding out
cause or reason. For example, diagnosis of Endometriosis in a woman.
12 | P a g e
FACT 1
FACT 2
FACT 3
FACT 4
AND DECISION 1
DECISION 2OR
AND
FINAL
DECISION
User Interface: User interface provides interaction between user of the ES and
the ES itself. It is generally Natural Language Processing so as to be used by the
user who is well-versed in the task domain. The user of the ES need not be
necessarily an expert in Artificial Intelligence. It explains how the ES has arrived
at a particular recommendation. The explanation may appear in the following
forms −
o Natural language displayed on screen.
o Verbal narrations in natural language.
o Listing of rule numbers displayed on the screen.
The user interface makes it easy to trace the credibility of the deductions.
Requirements of Efficient ES User Interface
o It should help users to accomplish their goals in shortest possible
way.
o It should be designed to work for user’s existing or desired work
practices.
o Its technology should be adaptable to user’s requirements; not the
other way round.
o It should make efficient use of user input.
13 | P a g e
KNOWLEDGE BASE
Symptoms Disease Medicine
1. Abdominal pain
2. Feeling pressure in
abdomen
3. Pain in lower back
4. Loose stools
5. Vomit (Sometimes)
Dysmenorrhea
'IBUPROFEN',
'PARACETAMOL' or
'DICYCLOMINE' for
pain, 'RANTAC D' for
Vomiting and/or Nausea
1. Abdominal bloating or
swelling
2. Pelvic pain before or
during menstrual cycle
3. Painful intercourse
4. Breast tenderness
5. Nausea
6. Vomiting
Ovarian cysts
'OVRAL L', 'MALA N' or
'MALA D' as Oral
contraceptive,
'IBUPROFEN',
'PARACETAMOL' or
'DICYCLOMINE' for
pain, 'RANTAC D' as
antacid
1. Painful Menstrual
Cramps
2. Blood or Pus in the
urine
Endometriosis
'IBUPROFEN',
'PARACETAMOL' or
'DICYCLOMINE' for
pain, 'RANTAC D' for
Vomiting and/or Nausea
1. Irregular menstrual
periods
2. Breathing problem
while sleeping
3. Acne and oily skin
4. Depression and mood
swings
Polycystic ovarian
disease (PCOD)
'ALDACTONE' for Acne
and Oily skin, 'CLOMID'
and 'METFORMIN
ORAL'
14 | P a g e
Symptoms Disease Medicine
1. Frequent urination
2. Blood of pus in urine
3. Fever
4. Strong smelling urine
Urinary tract infection
(UTI)
'AZITHROMYCIN' or
'DOXYCYCLINE' as
antibiotics, 'RANTAC D'
as antacid
This above Knowledge Base is used in our Clinical Decision Support System for
implementation of the expert system.
15 | P a g e
SYSTEM REQUERMENTS
System Requirements
Hardware requirements
 Compute Processor : Intel Core i3
 Mother Board : Dell A10
 Memory : 1GB and above
 CPU Speed : 2.66 GHz
 RAM : 2GB
 HDD : 100GB and above
 Monitor : 15” colours (SVGA)
 Keyboard
 Mouse
Software requirements
 Operating System : Windows7 or above
 Application Software : Microsoft Visual Studio 2012
 Database Requirement : SQL SERVER EXPRESS 2012
16 | P a g e
ANALYSIS, DESIGN
AND
DEVELOPMENT
17 | P a g e
SOFTWARE DEVELOPMENT LIFE CYCLE
The basic idea of System Development Life Cycle (SDLC) is a well defined
process by which a system is conceived, develop and implemented.
SDLC has two steps:
 Systems analysis and
 Systems design
 Systems analysis involves
 Problem identification
 Feasibility study and cost benefit analysis
 System requirement analysis
 System design involves
 System design
 Coding
 Testing
 Maintenance
System Analysis
Problem Identification:
One of the most difficult tasks of system analysis is identifying the real
problem of the existing system. Without clear understanding of the problem
in the system, any further work done will lead to wastage of time and energy
at a later stage. Here several questions must be prepared before identifying
the correct problem at this stage. The question may include:
a) What is the actual problem?
b) What are the causes for this problem?
c) Is it important to solve this problem?
18 | P a g e
d) How complex it is?
e) What are the possible solutions for this problem?
f) What type of benefits can be expected once the problem is
solved? and so on
Problem identification also includes identifying the possible opportunities
like real market potential, new technology etc. Before any further steps can
be taken up, the problem must be stated in clear and unambiguous words.
Feasibility Study and Cost benefit Analysis: Feasibly study is carried
out to determine whether it would be financially and technically feasible. It
helps to obtain an overview of the problem and to get rough assessment of
feasible solutions. There are three types of feasibility
a) Technical Feasibility
b) Economic feasibility and
c) Operations feasibility of the project.
Technical Feasibility: Can the work for the project be done with the present
equipment, current procedures, existing software technology and available
manpower? If new technology is needed what alternatives will be needed in the
present structure? This will require a close examination of the present system.
The technical feasibility will ask questions related to:
1. Adequate availability of technology
2. Availability of hardware, computer etc.
Economic feasibility: Economic feasibility analysis requires in making
approximate estimates of the resources required, cost of development,
development time for each of the options. These estimates are used as the basis
for comparing the different solutions.
Calculate the ROI [Return on Investment = Net Earnings / Total Investment.]
on present value method and arrival at the best possible iterative solution.
19 | P a g e
Operational feasibility: Will the system be used if it is implemented? Will there
be any resistance from users? The existing employee normally worried about job
security, loss of jobs etc. whenever new systems are proposed.
Requirement Analysis and Specification: The aim of the requirement
analysis and specification phase is to understand the exact requirements of the
customer and to document it properly. This phase consist of two distinct
activities: Requirements gathering and Analysis and Requirement Specification.
Requirement Gathering and Analysis: The goal of the requirement gathering
and analysis is to collect all relevant information from the customer regarding
the product to be developed with a view to clearly understanding the customer
requirements and examine the incompleteness and inconsistencies in these
requirements. An inconsistent requirement is one where some parts of the
requirements may be omitted.
The requirement analysis activity is begun by collecting all relevant data
regarding the product to be developed from the users through Interview and
Discussions. During this activity the user requirements are systematically
organized into a software requirement specifications (SRS) document.
Software Requirement Specifications (SRS) : The important components of SRS
document are the final requirements, the non-formal requirements and the goals
of implements. Documenting the final requirements marks the Identification of
the functions to be supported by the system. Each function can be characterized
by the input data, the processing required on the input data and output to be
produced. The non-formal requirements identify the performance requirements,
the required standard to be followed etc. The SRS document is written using the
endeavor terminology so that the customer can understand the document. This
makes the document review & approval by the customer.
20 | P a g e
SYSTEM DESIGN
Data Flow Diagram (DFD)
Context Level DFD
provides information provides fact
provides decision makes decision
USER
KNOWLEDGE
BASE
CLINICAL
DECISION
SUPPORT
SYSTEM
21 | P a g e
Level 1 DFD
user name age & symptoms name age & symptoms
user id
symptoms
Disease detection
Disease detection
Medicines name Medicines name
Decision
user information
User
1.0
Collect
information
User_info
Knowledge
2.0
Problem
identification
3.0
Decision
4.0
Prints
coupon
22 | P a g e
Entity Relationship Diagram
User
Knowledge Base
interacts
with
Makes
decision
for
provides
facts
Name
Age
Id
Symptoms
User interface
Disease_name Medicine_info
Stores_info Provides_info
23 | P a g e
SCREEN PRINTS
Accepting name and age from user
24 | P a g e
Accepting symptoms from user
25 | P a g e
Final decision
26 | P a g e
Coupon
27 | P a g e
Dysmenorrhea
28 | P a g e
Ovarian cysts
29 | P a g e
Endometriosis
30 | P a g e
Polycystic ovarian disease (PCOD)
31 | P a g e
Urinary tract infection (UTI)
32 | P a g e
CRITICAL ERROR
33 | P a g e
IMPLEMENTATION
34 | P a g e
CODING
Part - I
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WomenHealth
{
public partial class FrmShe : Form
{
public FrmShe()
{
InitializeComponent();
}
private void FrmShe_Load(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e) //submit
{
cBxAbdPain.Enabled = false;
cBxAbdmnBltSwel.Enabled = false;
cBxAcneOilySk.Enabled = false;
cBxBloodinUrine.Enabled = false;
cBxBreastTndrns.Enabled = false;
cBxBreathingPrbs.Enabled = false;
cBxConstipation.Enabled = false;
cBxCramps.Enabled = false;
cBxDepression.Enabled = false;
cBxFever.Enabled = false;
cBxFrequentUrine.Enabled = false;
cBxIrregularMPeriods.Enabled = false;
cBxLooseStl.Enabled = false;
35 | P a g e
cBxNausea.Enabled = false;
cBxPainfulIntercouse.Enabled = false;
cBxPelvicPainMensCycle.Enabled = false;
cBxPainLback.Enabled = false;
cBxPressureAbdmn.Enabled = false;
cBxStrongSmellUrine.Enabled = false;
cBxVomit.Enabled = false;
//Dysmenorrhea
if ((cBxAbdPain.Checked == true) && (cBxPressureAbdmn.Checked ==
true) && (cBxPainLback.Checked == true) && (cBxLooseStl.Checked == true))
{
txtBxSymptoms.Text = "Abdominal pain, Feeling pressure in
abdomain, Pain in lower back, Loose stools";
txtBxDisease.Text = "Dysmenorrhea";
btnMeds.Enabled = true;
btnSubmit.Enabled = false;
}
//Dysmenorrhea with vomit
else if ((cBxAbdPain.Checked == true) &&
(cBxPressureAbdmn.Checked == true) && (cBxPainLback.Checked == true) &&
(cBxLooseStl.Checked == true) && (cBxVomit.Checked == true))
{
txtBxSymptoms.Text = "Abdominal pain, Feeling pressure in
abdomain, Pain in lower back, Loose stools,Vomiting";
txtBxDisease.Text = "Dysmenorrhea";
btnMeds.Enabled = true;
btnSubmit.Enabled = false;
}
//Overian cysts
else if ((cBxAbdmnBltSwel.Checked == true) &&
(cBxPelvicPainMensCycle.Checked == true) && (cBxPainfulIntercouse.Checked ==
true) && (cBxBreastTndrns.Checked == true) && (cBxNausea.Checked == true) &&
(cBxVomit.Checked == true))
{
txtBxSymptoms.Text = "Abdominal bloating or swelling, Pelvic
pain before or during menstural cycle, Painful intercourse, Breast
tenderness, Nausea, Vomiting";
txtBxDisease.Text = "Ovarian cysts";
btnMeds.Enabled = true;
btnSubmit.Enabled = false;
}
//Endometriosis
else if ((cBxCramps.Checked == true) && (cBxBloodinUrine.Checked
== true))
{
36 | P a g e
txtBxSymptoms.Text = "Painful Menstural Cramps, Blood or Pus
in the urine";
txtBxDisease.Text = "Endometriosis";
btnMeds.Enabled = true;
btnSubmit.Enabled = false;
}
//PCOD
else if ((cBxIrregularMPeriods.Checked == true) &&
(cBxAcneOilySk.Checked == true) && (cBxDepression.Checked == true) &&
(cBxBreathingPrbs.Checked == true))
{
txtBxSymptoms.Text = "Irregular menstural periods, Breathing
problem while sleeping, Acne and oily skin, Depression and mood swings";
txtBxDisease.Text = "Polycystic ovarian disease (PCOD)";
btnMeds.Enabled = true;
btnSubmit.Enabled = false;
}
//UTI
else if ((cBxFrequentUrine.Checked == true) &&
(cBxBloodinUrine.Checked == true) && (cBxFever.Checked == true) &&
(cBxStrongSmellUrine.Checked == true))
{
txtBxSymptoms.Text = "Frequent urination, Blood of pus in
urine, Fever, Strong smelling urine";
txtBxDisease.Text = "Urinary tract infection (UTI)";
btnMeds.Enabled = true;
btnSubmit.Enabled = false;
}
else
{
txtBxMeds.Enabled = true;
txtBxSymptoms.Text = "PLEASE CONSULT DOCOTOR IMMEDIATELY";
txtBxDisease.Text = "NOT FOUND";
txtBxMeds.Text = "PLEASE CONSULT DOCOTOR IMMEDIATELY";
btnMeds.Enabled = false;
btnSubmit.Enabled = false;
}
}
private void checkBox1_CheckedChanged_1(object sender, EventArgs e)
{
}
37 | P a g e
private void cBxCramps_CheckedChanged(object sender, EventArgs e)
{
}
private void btnReset_Click(object sender, EventArgs e)
{
cBxAbdmnBltSwel.Checked = false;
cBxAbdPain.Checked = false;
cBxAcneOilySk.Checked = false;
cBxBloodinUrine.Checked = false;
cBxBreastTndrns.Checked = false;
cBxBreathingPrbs.Checked = false;
cBxCramps.Checked = false;
cBxDepression.Checked = false;
cBxFever.Checked = false;
cBxFrequentUrine.Checked = false;
cBxIrregularMPeriods.Checked = false;
cBxLooseStl.Checked = false;
cBxConstipation.Checked = false;
cBxNausea.Checked = false;
cBxPainfulIntercouse.Checked = false;
cBxPainLback.Checked = false;
cBxPelvicPainMensCycle.Checked = false;
cBxPressureAbdmn.Checked = false;
cBxStrongSmellUrine.Checked = false;
cBxVomit.Checked = false;
cBxAbdPain.Enabled = true;
cBxAbdmnBltSwel.Enabled = true;
cBxAcneOilySk.Enabled = true;
cBxBloodinUrine.Enabled = true;
cBxBreastTndrns.Enabled = true;
cBxBreathingPrbs.Enabled = true;
cBxConstipation.Enabled = true;
cBxCramps.Enabled = true;
cBxDepression.Enabled = true;
cBxFever.Enabled = true;
cBxFrequentUrine.Enabled = true;
cBxIrregularMPeriods.Enabled = true;
cBxLooseStl.Enabled = true;
cBxNausea.Enabled = true;
cBxPainfulIntercouse.Enabled = true;
cBxPelvicPainMensCycle.Enabled = true;
cBxPainLback.Enabled = true;
cBxPressureAbdmn.Enabled = true;
cBxStrongSmellUrine.Enabled = true;
cBxVomit.Enabled = true;
txtBxDisease.Text = null;
38 | P a g e
txtBxMeds.Text = null;
txtBxAge.Text = null;
txtBxName.Text = null;
txtBxSymptoms.Text = null;
btnGc.Enabled = false;
btnMeds.Enabled = false;
btnSubmit.Enabled = true;
}
private void btnMeds_Click(object sender, EventArgs e)
{
txtBxMeds.Enabled = true;
btnGc.Enabled = true;
if (txtBxDisease.Text == "Dysmenorrhea")
{
txtBxMeds.Text = "'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE'
for pain, 'RANTAC D' for Vomiting and/or Nausea";
}
if (txtBxDisease.Text == "Ovarian cysts")
{
txtBxMeds.Text = "'OVRAL L', 'MALA N' or 'MALA D' as Oral
contraceptive, 'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC
D' as antacid";
}
if (txtBxDisease.Text == "Endometriosis")
{
txtBxMeds.Text = "'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE'
for pain, 'RANTAC D' for Vomiting and/or Nausea";
}
if (txtBxDisease.Text == "Polycystic ovarian disease (PCOD)")
{
txtBxMeds.Text = "'ALDACTONE' for Acne and Oily skin,
'CLOMID' AND 'METFORMIN ORAL'";
}
if (txtBxDisease.Text == "Urinary tract infection (UTI)")
{
txtBxMeds.Text = "'AZITHROMYCIN' or 'DOXYCYCLINE' as
antibiotics, 'RANTAC D' as antacid";
}
}
private void button1_Click_1(object sender, EventArgs e) //Generate
Cupon
39 | P a g e
{
Form2 f2 = new Form2();
f2.Show();
f2.lblAge2.Text = txtBxAge.Text;
f2.lblName2.Text = txtBxName.Text;
// f2.lblSymptoms2.Text = txtBxSymptoms.Text;
f2.rTxtBxSymptF2.Text = txtBxSymptoms.Text;
f2.lblDisease2.Text = txtBxDisease.Text;
//f2.lblMeds2.Text = txtBxMeds.Text;
f2.rTxtBxMedsF2.Text = txtBxMeds.Text;
}
private void txtBxAge_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) &&
!char.IsControl(e.KeyChar);
}
private void txtBxName_TextChanged(object sender, EventArgs e)
{
}
private void txtBxName_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsLetter(e.KeyChar) &&
!char.IsControl(e.KeyChar);
}
}
}
40 | P a g e
Part - II
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WomenHealth
{
public partial class Form2 : Form
{
public Form2()
{
//this.printDocument1.PrintPage += new
System.Drawing.Printing.PrintPageEventHandler(this.OnPrintPage);
InitializeComponent();
}
private void label4_Click(object sender, EventArgs e)
{
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern long BitBlt(IntPtr hdcDest, int nXDest, int
nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int
dwRop);
private Bitmap memoryImage;
private void PrintScreen()
{
Graphics mygraphics = this.CreateGraphics();
41 | P a g e
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
IntPtr dc1 = mygraphics.GetHdc();
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 0, 0, this.ClientRectangle.Width,
this.ClientRectangle.Height, dc1, 0, 0, 13369376);
mygraphics.ReleaseHdc(dc1);
memoryGraphics.ReleaseHdc(dc2);
}
private void btnPrint_Click(object sender, EventArgs e)
{
PrintScreen();
printPreviewDialog1.ShowDialog();
this.Hide();
}
}
}
42 | P a g e
TESTING AND VALIDATION
43 | P a g e
TESTING
System testing is the stage of implementation, which is aimed at before live
operation commences. Testing is vital to the success of the system. Testing is the
process of executing a program with the explicit intention of findings errors that
is making the program fail. The tester may be analysts, programmer or a
specialist trained for software testing, is actually trying to make the program fail.
Analysts know that an effective testing program doesn’t guarantee system
reliability. Therefore reliability must be designed into the system.
Levels of Testing
Unit Testing: Unit testing is undertaken after a module has been coded
and successfully reviewed. Unit testing (or module testing) is the testing of
different units (or modules) of a system in isolation.
In order to test a single module, a complete environment is needed to
provide all that is necessary for execution of the module. That is, besides
the module under test itself, the following steps are needed in order to be
able to test the module:
o The procedures belonging to the other modules that the module
under test calls.
o Nonlocal data structure that the module accesses.
o A procedure to call the functions of the module under test with
appropriate parameters.
Modules required to provide the necessary environment (which either call
or are called by the module under test) is usually not available until they
too have been until they too have been unit tested, stubs and drivers are
designed to provide the complete environment for a module.
44 | P a g e
Black-box Testing: Black Box Testing, also known as Behavioral Testing,
is a software testing method in which the internal structure/ design/
implementation of the item being tested is not known to the tester. These
tests can be functional or non-functional, though usually functional.
This method is named so because the software program, in the eyes of the
tester, is like a black box; inside which one cannot see. Two main
approaches of to designing black box test cases are:
o Equivalence class partitioning
o Boundary value analysis
Equivalence class partitioning: In this method the input domain data is
divided into different equivalence data classes. This method is typically
used to reduce the total number of test cases to a finite set of testable test
cases, still covering maximum requirements. In short it is the process of
taking all possible test cases and placing them into classes. One test value
is picked from each class while testing.
E.g.: If you are testing for an input box accepting numbers from 1 to 1000
then there is no use in writing thousand test cases for all 1000 valid input
numbers plus other test cases for invalid data. Using equivalence
partitioning method above test cases can be divided into three sets of input
data called as classes. Each test case is a representative of respective class.
45 | P a g e
So in above example we can divide our test cases into three equivalence
classes of some valid and invalid inputs. Test cases for input box accepting
numbers between 1 and 1000 using Equivalence Partitioning:
1) One input data class with all valid inputs. Pick a single value from
range 1 to 1000 as a valid test case. If you select other values between
1 and 1000 then result is going to be same. So one test case for valid
input data should be sufficient.
2) Input data class with all values below lower limit i.e. any value
below 1, as a invalid input data test case.
3) Input data with any value greater than 1000 to represent third
invalid input class.
So using equivalence partitioning you have categorized all possible test
cases into three classes. Test cases with other values from any class should
give you the same result. We have selected one representative from every
input class to design our test cases. Test case values are selected in such a
way that largest number of attributes of equivalence class can be exercised.
Equivalence partitioning uses fewest test cases to cover maximum
requirements.
Boundary value analysis: It’s widely recognized that input values at the
extreme ends of input domain cause more errors in system. More
application errors occur at the boundaries of input domain. ‘Boundary
value analysis’ testing technique is used to identify errors at boundaries
rather than finding those exist in center of input domain.
Boundary value analysis is a next part of Equivalence partitioning for
designing test cases where test cases are selected at the edges of the
equivalence classes.
46 | P a g e
Test cases for input box accepting numbers between 1 and 1000 using
Boundary value analysis:
1) Test cases with test data exactly as the input boundaries of input
domain i.e. values 1 and 1000 in our case.
2) Test data with values just below the extreme edges of input
domains i.e. values 0 and 999.
White-box Testing: White Box Testing (WBT) is also known as Code-Based
Testing or Structural Testing. White box testing is the software testing
method in which internal structure is being known to tester who is going
to test the software. In this method of testing the test cases are calculated
based on analysis internal structure of the system based on Code coverage,
branches coverage, paths coverage, condition Coverage etc.
White box testing involves the testing by looking at the internal structure
of the code & when you completely aware of the internal structure of the
code then you can run your test cases & check whether the system meet
requirements mentioned in the specification document. Based on derived
test cases the user exercised the test cases by giving the input to the system
& checking for expected outputs with actual output. In this is testing
method user has to go beyond the user interface to find the correctness of
the system.
Typically such method are used at Unit Testing of the code but this
different as Unit testing done by the developer & White Box Testing done
by the testers, this is learning the part of the code & finding out the
weakness in the software program under test.
For tester to test the software application under test is like a
white/transparent box where the inside of the box is clearly seen to the
tester (as tester is aware/access of the internal structure of the code), so
this method is called as White Box Testing.
47 | P a g e
The White-box testing is one of the best method to find out the errors in
the software application in early stage of software development life cycle.
In this process the deriving the test cases is most important part. The test
case design strategy include such that all lines of the source code will be
executed at least once or all available functions are executed to complete
100% code coverage of testing.
Integration Testing: Once all the individual units are created and tested,
we start combining those “Unit Tested” modules and start doing the
integrated testing. So the meaning of Integration testing is quite straight
forward- Integrate/combine the unit tested module one by one and test
the behavior as a combined unit.
The main function or goal of Integration testing is to test the interfaces
between the units/modules.
The individual modules are first tested in isolation. Once the modules are
unit tested, they are integrated one by one, till all the modules are
integrated, to check the combinational behavior, and validate whether the
requirements are implemented correctly or not.
There are fundamentally 2 approaches for doing Integration testing:
o Bottom up approach
o Top down approach.
Bottom up approach : Bottom up testing, as the name suggests starts
from the lowest or the innermost unit of the application, and gradually
moves up. The Integration testing starts from the lowest module and
gradually progresses towards the upper modules of the application. This
integration continues till all the modules are integrated and the entire
application is tested as a single unit.
48 | P a g e
In this case, modules B1C1, B1C2 & B2C1, B2C2 are the lowest module
which is unit tested. Module B1 & B2 are not yet developed. The
functionality of Module B1 and B2 is that, it calls the modules B1C1, B1C2
& B2C1, B2C2. Since B1 and B2 are not yet developed, we would need
some program or a “stimulator” which will call the B1C1, B1C2 & B2C1,
B2C2 modules. These stimulator programs are called DRIVERS.
In simple words, DRIVERS are the dummy programs which are used to
call the functions of the lowest module in case when the calling function
does not exists. Bottom up technique requires module driver to feed test
case input to the interface of the module being tested.
Advantage for this approach is that, if a major fault exists at the lowest
unit of the program, it is easier to detect it, and corrective measures can be
taken.
Disadvantage is that the main program actually does not exist until the last
module is integrated and tested. As a result, the higher level design flaws
will be detected only at the end.
Top down approach : This technique starts from the top most module
and gradually progress towards the lower modules. Only the top module
is unit tested in isolation. After this, the lower modules are integrated one
by one. The process is repeated until all the modules are integrated and
tested.
49 | P a g e
In the context of our figure, testing starts from Module A, and lower
modules B1 and B2 are integrated one by one. Now here the lower
modules B1 and B2 are not actually available for integration. So in order to
test the top most modules A, we develop “STUBS”.
“Stubs” can be referred to as code a snippet which accepts the inputs /
requests from the top module and returns the results/ response. This way,
in spite of the lower modules do not exist, we are able to test the top
module.
Interface Testing: Interface Testing is performed to evaluate whether
systems or components pass data and control correctly to one another. It is
to verify if all the interactions between these modules are working
properly and errors are handled properly.
Installation Testing: It is performed to verify if the software has been
installed with all the necessary components and the application is working
as expected. This is very important as installation would be the first user
interaction with the end users.
Uninstallation Testing: Uninstallation testing is performed to verify if
all the components of the application is removed during the process or
NOT. All the files related to the application along with its folder structure
have to be removed upon successful uninstallation. Post Uninstallation
System should be able to go back to the stable state.
50 | P a g e
Validation Testing: The process of evaluating software during the
development process or at the end of the development process to
determine whether it satisfies specified business requirements. Validation
Testing ensures that the product actually meets the client's needs. It can
also be defined as to demonstrate that the product fulfills its intended use
when deployed on appropriate environment. It answers to the question,
Are we building the right product?
System Testing: System Testing (ST) is a black box testing technique
performed to evaluate the complete system the system's compliance
against specified requirements. In System testing, the functionalities of the
system are tested from an end-to-end perspective.. Some approaches of
this testing are:
1) α testing: It is the system testing performed by the development team.
2) β testing: It is the system testing performed by a friendly set of
customer.
3) acceptance testing: It is the system testing performed by the customer
himself after the product delivery to determine whether to accept or reject
the delivered product.
51 | P a g e
CONCLUSION
52 | P a g e
CONCLUSION
This Expert System is providing decisions only for FIVE diseases. Due to
shortage of time I could not work on the knowledge base. I would like to enlist
the features I would like to add in future to this system.
 More symptoms.
 Diagnosis of more diseases.
 Providing more detailed diagnosis report.
 Providing features for calling the ambulance directly through
system.
 Providing list of doctors or specialist to consult.
 Providing name of the hospitals.
Inclusion of above features will make the Clinical Decision Support System more
effective for rural women.
53 | P a g e
REFERENCES
54 | P a g e
REFERENCES
1. Mathew A. Stoecker, Steve Stein Microsoft.NET Framework 3.5-Windows Forms
Application Development : Microsoft Press
2. Herbert Schildt C# 3.0 Beginner’s guide : Mc Graw Hill
3. Christian Nagel, Bill Evjen, Jay Glynn, Morgan Skinner, Karli Watson
Professional C# 2008 : Wiley Publishing, Inc
4. Sir Stanley Davidson Davidson’s Principles and Practice of Medicine
22nd Edition : Elsevier Limited
5. Atef Darwish Contemporary Gynecologic Practice : InTech
6. Sudha Salhan Text Book of Gynecology : Jaypee
7. Oscar Schaeffer Atlas and Essentials of Gynecology : William Wood and Company
8. www.webmd.com
9. www.mayoclinic.org
10. www.stackoverflow.com
11. www.c-sharpcorner.com
12. www.tutorialspoint.com/sql
13. www.tutorialspoint.com/artificial_intelligence

More Related Content

Similar to Decision Support System

IRJET- Learning Assistance System for Autistic Child
IRJET- Learning Assistance System for Autistic ChildIRJET- Learning Assistance System for Autistic Child
IRJET- Learning Assistance System for Autistic Child
IRJET Journal
 
Right Things Right: ZEF Evaluation
Right Things Right: ZEF EvaluationRight Things Right: ZEF Evaluation
Right Things Right: ZEF Evaluation
Jordan Epp
 
ICFAI IT and Systems - Solved assignments and case study help
ICFAI IT and Systems  - Solved assignments and case study helpICFAI IT and Systems  - Solved assignments and case study help
ICFAI IT and Systems - Solved assignments and case study help
smumbahelp
 
Expert system in computer
Expert system in computer Expert system in computer
Expert system in computer
kiran paul
 
Ravindra industrial training
Ravindra industrial trainingRavindra industrial training
Ravindra industrial training
Ravindra Chaudhary
 
Amber's_Resume
Amber's_ResumeAmber's_Resume
Amber's_Resume
Amber Logue
 
Health information card
Health information cardHealth information card
Health information card
Musammat Samina
 
Expert systems
Expert systemsExpert systems
Expert systems
Dr. C.V. Suresh Babu
 
Expert system
Expert systemExpert system
Expert system
Tilakpoudel2
 
Expert systems
Expert systemsExpert systems
Expert systems
Jithin Zcs
 
AI in Healthcare a hands on workshop resource
AI in Healthcare a hands on workshop resourceAI in Healthcare a hands on workshop resource
AI in Healthcare a hands on workshop resource
Vaikunthan Rajaratnam
 
1120 track2 bennett
1120 track2 bennett1120 track2 bennett
1120 track2 bennett
Rising Media, Inc.
 
AI in Healthcare Resource forhands on Workshop
AI in Healthcare Resource forhands on  WorkshopAI in Healthcare Resource forhands on  Workshop
AI in Healthcare Resource forhands on Workshop
Vaikunthan Rajaratnam
 
I probably should have titled this section Who Ensures that Digita.docx
I probably should have titled this section Who Ensures that Digita.docxI probably should have titled this section Who Ensures that Digita.docx
I probably should have titled this section Who Ensures that Digita.docx
salmonpybus
 
Expert system design
Expert system designExpert system design
Expert system design
Shashwat Shankar
 
An outline of knowledge mining multi tier architecture for decision making
An outline of knowledge mining multi tier architecture for decision makingAn outline of knowledge mining multi tier architecture for decision making
An outline of knowledge mining multi tier architecture for decision making
IAEME Publication
 
mini project computer engineering e-doctor.pdf
mini project computer engineering e-doctor.pdfmini project computer engineering e-doctor.pdf
mini project computer engineering e-doctor.pdf
289khashshamkhan
 
Pace IT Troubleshooting Theory
Pace IT Troubleshooting TheoryPace IT Troubleshooting Theory
Pace IT Troubleshooting Theory
Pace IT at Edmonds Community College
 
Management information system
Management information systemManagement information system
Management information system
charudatta gangoli
 
Expert system prepared by fikirte and hayat im assignment
Expert system prepared by fikirte and hayat im assignmentExpert system prepared by fikirte and hayat im assignment
Expert system prepared by fikirte and hayat im assignment
fikir getachew
 

Similar to Decision Support System (20)

IRJET- Learning Assistance System for Autistic Child
IRJET- Learning Assistance System for Autistic ChildIRJET- Learning Assistance System for Autistic Child
IRJET- Learning Assistance System for Autistic Child
 
Right Things Right: ZEF Evaluation
Right Things Right: ZEF EvaluationRight Things Right: ZEF Evaluation
Right Things Right: ZEF Evaluation
 
ICFAI IT and Systems - Solved assignments and case study help
ICFAI IT and Systems  - Solved assignments and case study helpICFAI IT and Systems  - Solved assignments and case study help
ICFAI IT and Systems - Solved assignments and case study help
 
Expert system in computer
Expert system in computer Expert system in computer
Expert system in computer
 
Ravindra industrial training
Ravindra industrial trainingRavindra industrial training
Ravindra industrial training
 
Amber's_Resume
Amber's_ResumeAmber's_Resume
Amber's_Resume
 
Health information card
Health information cardHealth information card
Health information card
 
Expert systems
Expert systemsExpert systems
Expert systems
 
Expert system
Expert systemExpert system
Expert system
 
Expert systems
Expert systemsExpert systems
Expert systems
 
AI in Healthcare a hands on workshop resource
AI in Healthcare a hands on workshop resourceAI in Healthcare a hands on workshop resource
AI in Healthcare a hands on workshop resource
 
1120 track2 bennett
1120 track2 bennett1120 track2 bennett
1120 track2 bennett
 
AI in Healthcare Resource forhands on Workshop
AI in Healthcare Resource forhands on  WorkshopAI in Healthcare Resource forhands on  Workshop
AI in Healthcare Resource forhands on Workshop
 
I probably should have titled this section Who Ensures that Digita.docx
I probably should have titled this section Who Ensures that Digita.docxI probably should have titled this section Who Ensures that Digita.docx
I probably should have titled this section Who Ensures that Digita.docx
 
Expert system design
Expert system designExpert system design
Expert system design
 
An outline of knowledge mining multi tier architecture for decision making
An outline of knowledge mining multi tier architecture for decision makingAn outline of knowledge mining multi tier architecture for decision making
An outline of knowledge mining multi tier architecture for decision making
 
mini project computer engineering e-doctor.pdf
mini project computer engineering e-doctor.pdfmini project computer engineering e-doctor.pdf
mini project computer engineering e-doctor.pdf
 
Pace IT Troubleshooting Theory
Pace IT Troubleshooting TheoryPace IT Troubleshooting Theory
Pace IT Troubleshooting Theory
 
Management information system
Management information systemManagement information system
Management information system
 
Expert system prepared by fikirte and hayat im assignment
Expert system prepared by fikirte and hayat im assignmentExpert system prepared by fikirte and hayat im assignment
Expert system prepared by fikirte and hayat im assignment
 

Recently uploaded

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 

Recently uploaded (20)

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 

Decision Support System

  • 1. 1 | P a g e DECLARATION I, Jayita Roy, student of MBA program, University of Kalyani of 2014-2016, hereby declare that the dissertation entitle “Design and Implementation of a Knowledge Based Clinical Decision Support System for Rural Women” submitted for the degree of Master of Business Administration (IT) is my own work. I, also certify this report has not been submitted by me to any other University or Institution for the award of any Degree or Diploma. Jayita Roy (University of Kalyani)
  • 2. 2 | P a g e CERTIFICATION This is to certify that Jayita Roy student of Department of Business Administration, University of Kalyani, Nadia, West Bengal, Registration No - KU/PG/00528 of 2014-15 has successfully completed the project entitled – “Design and Implementation of a Knowledge Based Clinical Decision Support System for Rural Women” under the guidance of Prof. Manas Kumar Sanyal. Prof. (Dr.) Manas Kumar Sanyal (Head of the Department of Business Administration) Department of Business Administration University of Kalyani Kalyani, Nadia-741235
  • 3. 3 | P a g e ACKNOWLEDGEMENT At this juncture I feel deeply honored in expressing my sincere thanks to Professor. (Dr.) Manas Kumar Sanyal (Head of Business Administration) of University of Kalyani. The door to Prof. Sanyal’s office was always open whenever I ran into a trouble spot or had a question about my dissertation. He steered me in the right the direction whenever he thought I needed it. I would also like to thank Professor. Satyajit Dhar, Professor. Isita Lahiri, Dr. Tuhin Mukherjee and Thirupathi Chellapalli sir for their critical advice and guidance, without which this project would not have been possible. Last but not the least I place a deep sense of gratitude to my Maa, Papa and Dr. Diganta Chatterjee who have been constant source of inspiration during the preparation of this project work. Jayita Roy Department of Business Administration University of Kalyani Kalyani, Nadia-741235 (jayitamoscow@gmail.com)
  • 4. 4 | P a g e DEDICATION To my father, who always wanted me to be a doctor! Papa, this is all what I could do with technology yet.
  • 5. 5 | P a g e TABLE OF CONTENTS Chapter No. Content Page No. 1 Introduction Abstract and Objective Decision Support System a General Approach Knowledge Base System Requirements 7 8-12 13-14 15 2 Analysis, Design and Development System Development Life Cycle Context level DFD Level 1 DFD E-R Diagram Screen prints 17-19 20 21 22 23-32 3 Implementation Coding 34-41 4 Testing and Validation 43-50 5 Conclusion 51 6 References 54
  • 6. 6 | P a g e INTRODUCTION
  • 7. 7 | P a g e INTRODUCTION Abstract Women health issues around the world were not considered as significant as men's health simply because the paying clients were men and hence the doctors tended to male healthcare. For example breast cancer is secondary in diagnostics to prostate cancer even though prostate cancer is very late in a human male life where as the breast cancer can be even in juvenile females. Particularly women of rural and tribal areas experience extreme levels of health deprivation, due to non accessibility to public health care and low quality of health care services. We think that clinical decision support systems or medical expert systems which are intelligent decision making systems using AI tools, Fuzzy Reasoning and machine Language features, we can help. Due to shortage of time this particular Clinical decision support system can diagnose only FIVE diseases - Dysmenorrhea, Ovarian cysts, Endometriosis, Polycystic ovarian disease (PCOD) and Urinary tract infection (UTI). Objectives  To provide free health services to the rural women.  To have an easy and interactive user interface.  To develop a strong knowledge base.  To develop an efficient DSS (Decision Support System).  Accurate diagnosis of diseases.  To provide accurate information about medicine  If critical referring the patient to doctors or specialists.
  • 8. 8 | P a g e DECISION SUPPORT SYSTEM - A GENERAL APPROACH What are Decision Support Systems or Expert Systems? The expert systems are the computer applications developed to solve complex problems in a particular domain, at the level of extra-ordinary human intelligence and expertise. Characteristics of Expert Systems  High performance  Understandable  Reliable  Highly responsive Capabilities of Expert Systems The expert systems are capable of −  Advising  Instructing and assisting human in decision making  Demonstrating  Deriving a solution  Diagnosing  Explaining  Interpreting input  Predicting results  Justifying the conclusion  Suggesting alternative options to a problem
  • 9. 9 | P a g e They are incapable of −  Substituting human decision makers  Possessing human capabilities  Producing accurate output for inadequate knowledge base  Refining their own knowledge Components of Expert Systems The components of ES include −  Knowledge Base  Interface Engine  User Interface Let us see them one by one briefly − USER INTERFACEUSER INTERFACE ENGINE KNOWLEDGE BASE
  • 10. 10 | P a g e Knowledge Base: It contains domain-specific and high-quality knowledge. Knowledge is required to exhibit intelligence. The success of any ES majorly depends upon the collection of highly accurate and precise knowledge. Data, information, and past experience combined together are termed as knowledge. Components of Knowledge Base The knowledge base of an ES is a store of both, factual and heuristic knowledge. o Factual Knowledge − It is the information widely accepted by the Knowledge Engineers and scholars in the task domain. o Heuristic Knowledge − It is about practice, accurate judgment, one’s ability of evaluation, and guessing. Knowledge representation: It is the method used to organize and formalize the knowledge in the knowledge base. It is in the form of IT-THEN-ELSE rules. Knowledge Acquisition: The success of any expert system majorly depends on the quality, completeness, and accuracy of the information stored in the knowledge base. The knowledge base is formed by readings from various experts, scholars, and the Knowledge Engineers. The knowledge engineer is a person with the qualities of empathy, quick learning, and case analyzing skills. He or She acquires information from subject expert by recording, interviewing, and observing him at work, etc. He then categorizes and organizes the information in a meaningful way, in the form of IF-THEN-ELSE rules, to be used by interference machine. The knowledge engineer also monitors the development of the ES. Interface Engine: Use of efficient procedures and rules by the Interface Engine is essential in deducting a correct, flawless solution. In case of knowledge-based ES, the Interface Engine acquires and manipulates the knowledge from the knowledge base to arrive at a particular solution.
  • 11. 11 | P a g e In case of rule based ES, it − o Applies rules repeatedly to the facts, which are obtained from earlier rule application. o Adds new knowledge into the knowledge base if required. o Resolves rules conflict when multiple rules are applicable to a particular case. To recommend a solution, the interface engine uses the following strategies − o Forward Chaining o Backward Chaining Forward Chaining: It is a strategy of an expert system to answer the question, “What can happen next?”Here, the interface engine follows the chain of conditions and derivations and finally deduces the outcome. It considers all the facts and rules, and sorts them before concluding to a solution. This strategy is followed for working on conclusion, result, or effect. For example, prediction of share market status as an effect of changes in interest rates. FACT 1 FACT 2 FACT 3 FACT 4 AND DECISION 1 DECISION 2OR AND FINAL DECISION Backward Chaining: With this strategy, an expert system finds out the answer to the question, “Why this happened?” On the basis of what has already happened, the interface engine tries to find out which conditions could have happened in the past for this result. This strategy is followed for finding out cause or reason. For example, diagnosis of Endometriosis in a woman.
  • 12. 12 | P a g e FACT 1 FACT 2 FACT 3 FACT 4 AND DECISION 1 DECISION 2OR AND FINAL DECISION User Interface: User interface provides interaction between user of the ES and the ES itself. It is generally Natural Language Processing so as to be used by the user who is well-versed in the task domain. The user of the ES need not be necessarily an expert in Artificial Intelligence. It explains how the ES has arrived at a particular recommendation. The explanation may appear in the following forms − o Natural language displayed on screen. o Verbal narrations in natural language. o Listing of rule numbers displayed on the screen. The user interface makes it easy to trace the credibility of the deductions. Requirements of Efficient ES User Interface o It should help users to accomplish their goals in shortest possible way. o It should be designed to work for user’s existing or desired work practices. o Its technology should be adaptable to user’s requirements; not the other way round. o It should make efficient use of user input.
  • 13. 13 | P a g e KNOWLEDGE BASE Symptoms Disease Medicine 1. Abdominal pain 2. Feeling pressure in abdomen 3. Pain in lower back 4. Loose stools 5. Vomit (Sometimes) Dysmenorrhea 'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC D' for Vomiting and/or Nausea 1. Abdominal bloating or swelling 2. Pelvic pain before or during menstrual cycle 3. Painful intercourse 4. Breast tenderness 5. Nausea 6. Vomiting Ovarian cysts 'OVRAL L', 'MALA N' or 'MALA D' as Oral contraceptive, 'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC D' as antacid 1. Painful Menstrual Cramps 2. Blood or Pus in the urine Endometriosis 'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC D' for Vomiting and/or Nausea 1. Irregular menstrual periods 2. Breathing problem while sleeping 3. Acne and oily skin 4. Depression and mood swings Polycystic ovarian disease (PCOD) 'ALDACTONE' for Acne and Oily skin, 'CLOMID' and 'METFORMIN ORAL'
  • 14. 14 | P a g e Symptoms Disease Medicine 1. Frequent urination 2. Blood of pus in urine 3. Fever 4. Strong smelling urine Urinary tract infection (UTI) 'AZITHROMYCIN' or 'DOXYCYCLINE' as antibiotics, 'RANTAC D' as antacid This above Knowledge Base is used in our Clinical Decision Support System for implementation of the expert system.
  • 15. 15 | P a g e SYSTEM REQUERMENTS System Requirements Hardware requirements  Compute Processor : Intel Core i3  Mother Board : Dell A10  Memory : 1GB and above  CPU Speed : 2.66 GHz  RAM : 2GB  HDD : 100GB and above  Monitor : 15” colours (SVGA)  Keyboard  Mouse Software requirements  Operating System : Windows7 or above  Application Software : Microsoft Visual Studio 2012  Database Requirement : SQL SERVER EXPRESS 2012
  • 16. 16 | P a g e ANALYSIS, DESIGN AND DEVELOPMENT
  • 17. 17 | P a g e SOFTWARE DEVELOPMENT LIFE CYCLE The basic idea of System Development Life Cycle (SDLC) is a well defined process by which a system is conceived, develop and implemented. SDLC has two steps:  Systems analysis and  Systems design  Systems analysis involves  Problem identification  Feasibility study and cost benefit analysis  System requirement analysis  System design involves  System design  Coding  Testing  Maintenance System Analysis Problem Identification: One of the most difficult tasks of system analysis is identifying the real problem of the existing system. Without clear understanding of the problem in the system, any further work done will lead to wastage of time and energy at a later stage. Here several questions must be prepared before identifying the correct problem at this stage. The question may include: a) What is the actual problem? b) What are the causes for this problem? c) Is it important to solve this problem?
  • 18. 18 | P a g e d) How complex it is? e) What are the possible solutions for this problem? f) What type of benefits can be expected once the problem is solved? and so on Problem identification also includes identifying the possible opportunities like real market potential, new technology etc. Before any further steps can be taken up, the problem must be stated in clear and unambiguous words. Feasibility Study and Cost benefit Analysis: Feasibly study is carried out to determine whether it would be financially and technically feasible. It helps to obtain an overview of the problem and to get rough assessment of feasible solutions. There are three types of feasibility a) Technical Feasibility b) Economic feasibility and c) Operations feasibility of the project. Technical Feasibility: Can the work for the project be done with the present equipment, current procedures, existing software technology and available manpower? If new technology is needed what alternatives will be needed in the present structure? This will require a close examination of the present system. The technical feasibility will ask questions related to: 1. Adequate availability of technology 2. Availability of hardware, computer etc. Economic feasibility: Economic feasibility analysis requires in making approximate estimates of the resources required, cost of development, development time for each of the options. These estimates are used as the basis for comparing the different solutions. Calculate the ROI [Return on Investment = Net Earnings / Total Investment.] on present value method and arrival at the best possible iterative solution.
  • 19. 19 | P a g e Operational feasibility: Will the system be used if it is implemented? Will there be any resistance from users? The existing employee normally worried about job security, loss of jobs etc. whenever new systems are proposed. Requirement Analysis and Specification: The aim of the requirement analysis and specification phase is to understand the exact requirements of the customer and to document it properly. This phase consist of two distinct activities: Requirements gathering and Analysis and Requirement Specification. Requirement Gathering and Analysis: The goal of the requirement gathering and analysis is to collect all relevant information from the customer regarding the product to be developed with a view to clearly understanding the customer requirements and examine the incompleteness and inconsistencies in these requirements. An inconsistent requirement is one where some parts of the requirements may be omitted. The requirement analysis activity is begun by collecting all relevant data regarding the product to be developed from the users through Interview and Discussions. During this activity the user requirements are systematically organized into a software requirement specifications (SRS) document. Software Requirement Specifications (SRS) : The important components of SRS document are the final requirements, the non-formal requirements and the goals of implements. Documenting the final requirements marks the Identification of the functions to be supported by the system. Each function can be characterized by the input data, the processing required on the input data and output to be produced. The non-formal requirements identify the performance requirements, the required standard to be followed etc. The SRS document is written using the endeavor terminology so that the customer can understand the document. This makes the document review & approval by the customer.
  • 20. 20 | P a g e SYSTEM DESIGN Data Flow Diagram (DFD) Context Level DFD provides information provides fact provides decision makes decision USER KNOWLEDGE BASE CLINICAL DECISION SUPPORT SYSTEM
  • 21. 21 | P a g e Level 1 DFD user name age & symptoms name age & symptoms user id symptoms Disease detection Disease detection Medicines name Medicines name Decision user information User 1.0 Collect information User_info Knowledge 2.0 Problem identification 3.0 Decision 4.0 Prints coupon
  • 22. 22 | P a g e Entity Relationship Diagram User Knowledge Base interacts with Makes decision for provides facts Name Age Id Symptoms User interface Disease_name Medicine_info Stores_info Provides_info
  • 23. 23 | P a g e SCREEN PRINTS Accepting name and age from user
  • 24. 24 | P a g e Accepting symptoms from user
  • 25. 25 | P a g e Final decision
  • 26. 26 | P a g e Coupon
  • 27. 27 | P a g e Dysmenorrhea
  • 28. 28 | P a g e Ovarian cysts
  • 29. 29 | P a g e Endometriosis
  • 30. 30 | P a g e Polycystic ovarian disease (PCOD)
  • 31. 31 | P a g e Urinary tract infection (UTI)
  • 32. 32 | P a g e CRITICAL ERROR
  • 33. 33 | P a g e IMPLEMENTATION
  • 34. 34 | P a g e CODING Part - I using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WomenHealth { public partial class FrmShe : Form { public FrmShe() { InitializeComponent(); } private void FrmShe_Load(object sender, EventArgs e) { } private void checkBox1_CheckedChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) //submit { cBxAbdPain.Enabled = false; cBxAbdmnBltSwel.Enabled = false; cBxAcneOilySk.Enabled = false; cBxBloodinUrine.Enabled = false; cBxBreastTndrns.Enabled = false; cBxBreathingPrbs.Enabled = false; cBxConstipation.Enabled = false; cBxCramps.Enabled = false; cBxDepression.Enabled = false; cBxFever.Enabled = false; cBxFrequentUrine.Enabled = false; cBxIrregularMPeriods.Enabled = false; cBxLooseStl.Enabled = false;
  • 35. 35 | P a g e cBxNausea.Enabled = false; cBxPainfulIntercouse.Enabled = false; cBxPelvicPainMensCycle.Enabled = false; cBxPainLback.Enabled = false; cBxPressureAbdmn.Enabled = false; cBxStrongSmellUrine.Enabled = false; cBxVomit.Enabled = false; //Dysmenorrhea if ((cBxAbdPain.Checked == true) && (cBxPressureAbdmn.Checked == true) && (cBxPainLback.Checked == true) && (cBxLooseStl.Checked == true)) { txtBxSymptoms.Text = "Abdominal pain, Feeling pressure in abdomain, Pain in lower back, Loose stools"; txtBxDisease.Text = "Dysmenorrhea"; btnMeds.Enabled = true; btnSubmit.Enabled = false; } //Dysmenorrhea with vomit else if ((cBxAbdPain.Checked == true) && (cBxPressureAbdmn.Checked == true) && (cBxPainLback.Checked == true) && (cBxLooseStl.Checked == true) && (cBxVomit.Checked == true)) { txtBxSymptoms.Text = "Abdominal pain, Feeling pressure in abdomain, Pain in lower back, Loose stools,Vomiting"; txtBxDisease.Text = "Dysmenorrhea"; btnMeds.Enabled = true; btnSubmit.Enabled = false; } //Overian cysts else if ((cBxAbdmnBltSwel.Checked == true) && (cBxPelvicPainMensCycle.Checked == true) && (cBxPainfulIntercouse.Checked == true) && (cBxBreastTndrns.Checked == true) && (cBxNausea.Checked == true) && (cBxVomit.Checked == true)) { txtBxSymptoms.Text = "Abdominal bloating or swelling, Pelvic pain before or during menstural cycle, Painful intercourse, Breast tenderness, Nausea, Vomiting"; txtBxDisease.Text = "Ovarian cysts"; btnMeds.Enabled = true; btnSubmit.Enabled = false; } //Endometriosis else if ((cBxCramps.Checked == true) && (cBxBloodinUrine.Checked == true)) {
  • 36. 36 | P a g e txtBxSymptoms.Text = "Painful Menstural Cramps, Blood or Pus in the urine"; txtBxDisease.Text = "Endometriosis"; btnMeds.Enabled = true; btnSubmit.Enabled = false; } //PCOD else if ((cBxIrregularMPeriods.Checked == true) && (cBxAcneOilySk.Checked == true) && (cBxDepression.Checked == true) && (cBxBreathingPrbs.Checked == true)) { txtBxSymptoms.Text = "Irregular menstural periods, Breathing problem while sleeping, Acne and oily skin, Depression and mood swings"; txtBxDisease.Text = "Polycystic ovarian disease (PCOD)"; btnMeds.Enabled = true; btnSubmit.Enabled = false; } //UTI else if ((cBxFrequentUrine.Checked == true) && (cBxBloodinUrine.Checked == true) && (cBxFever.Checked == true) && (cBxStrongSmellUrine.Checked == true)) { txtBxSymptoms.Text = "Frequent urination, Blood of pus in urine, Fever, Strong smelling urine"; txtBxDisease.Text = "Urinary tract infection (UTI)"; btnMeds.Enabled = true; btnSubmit.Enabled = false; } else { txtBxMeds.Enabled = true; txtBxSymptoms.Text = "PLEASE CONSULT DOCOTOR IMMEDIATELY"; txtBxDisease.Text = "NOT FOUND"; txtBxMeds.Text = "PLEASE CONSULT DOCOTOR IMMEDIATELY"; btnMeds.Enabled = false; btnSubmit.Enabled = false; } } private void checkBox1_CheckedChanged_1(object sender, EventArgs e) { }
  • 37. 37 | P a g e private void cBxCramps_CheckedChanged(object sender, EventArgs e) { } private void btnReset_Click(object sender, EventArgs e) { cBxAbdmnBltSwel.Checked = false; cBxAbdPain.Checked = false; cBxAcneOilySk.Checked = false; cBxBloodinUrine.Checked = false; cBxBreastTndrns.Checked = false; cBxBreathingPrbs.Checked = false; cBxCramps.Checked = false; cBxDepression.Checked = false; cBxFever.Checked = false; cBxFrequentUrine.Checked = false; cBxIrregularMPeriods.Checked = false; cBxLooseStl.Checked = false; cBxConstipation.Checked = false; cBxNausea.Checked = false; cBxPainfulIntercouse.Checked = false; cBxPainLback.Checked = false; cBxPelvicPainMensCycle.Checked = false; cBxPressureAbdmn.Checked = false; cBxStrongSmellUrine.Checked = false; cBxVomit.Checked = false; cBxAbdPain.Enabled = true; cBxAbdmnBltSwel.Enabled = true; cBxAcneOilySk.Enabled = true; cBxBloodinUrine.Enabled = true; cBxBreastTndrns.Enabled = true; cBxBreathingPrbs.Enabled = true; cBxConstipation.Enabled = true; cBxCramps.Enabled = true; cBxDepression.Enabled = true; cBxFever.Enabled = true; cBxFrequentUrine.Enabled = true; cBxIrregularMPeriods.Enabled = true; cBxLooseStl.Enabled = true; cBxNausea.Enabled = true; cBxPainfulIntercouse.Enabled = true; cBxPelvicPainMensCycle.Enabled = true; cBxPainLback.Enabled = true; cBxPressureAbdmn.Enabled = true; cBxStrongSmellUrine.Enabled = true; cBxVomit.Enabled = true; txtBxDisease.Text = null;
  • 38. 38 | P a g e txtBxMeds.Text = null; txtBxAge.Text = null; txtBxName.Text = null; txtBxSymptoms.Text = null; btnGc.Enabled = false; btnMeds.Enabled = false; btnSubmit.Enabled = true; } private void btnMeds_Click(object sender, EventArgs e) { txtBxMeds.Enabled = true; btnGc.Enabled = true; if (txtBxDisease.Text == "Dysmenorrhea") { txtBxMeds.Text = "'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC D' for Vomiting and/or Nausea"; } if (txtBxDisease.Text == "Ovarian cysts") { txtBxMeds.Text = "'OVRAL L', 'MALA N' or 'MALA D' as Oral contraceptive, 'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC D' as antacid"; } if (txtBxDisease.Text == "Endometriosis") { txtBxMeds.Text = "'IBUPROFEN', 'PARACETAMOL' or 'DICYCLOMINE' for pain, 'RANTAC D' for Vomiting and/or Nausea"; } if (txtBxDisease.Text == "Polycystic ovarian disease (PCOD)") { txtBxMeds.Text = "'ALDACTONE' for Acne and Oily skin, 'CLOMID' AND 'METFORMIN ORAL'"; } if (txtBxDisease.Text == "Urinary tract infection (UTI)") { txtBxMeds.Text = "'AZITHROMYCIN' or 'DOXYCYCLINE' as antibiotics, 'RANTAC D' as antacid"; } } private void button1_Click_1(object sender, EventArgs e) //Generate Cupon
  • 39. 39 | P a g e { Form2 f2 = new Form2(); f2.Show(); f2.lblAge2.Text = txtBxAge.Text; f2.lblName2.Text = txtBxName.Text; // f2.lblSymptoms2.Text = txtBxSymptoms.Text; f2.rTxtBxSymptF2.Text = txtBxSymptoms.Text; f2.lblDisease2.Text = txtBxDisease.Text; //f2.lblMeds2.Text = txtBxMeds.Text; f2.rTxtBxMedsF2.Text = txtBxMeds.Text; } private void txtBxAge_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar); } private void txtBxName_TextChanged(object sender, EventArgs e) { } private void txtBxName_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsLetter(e.KeyChar) && !char.IsControl(e.KeyChar); } } }
  • 40. 40 | P a g e Part - II using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WomenHealth { public partial class Form2 : Form { public Form2() { //this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.OnPrintPage); InitializeComponent(); } private void label4_Click(object sender, EventArgs e) { } private void Form2_Load(object sender, EventArgs e) { } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.DrawImage(memoryImage, 0, 0); } [System.Runtime.InteropServices.DllImport("gdi32.dll")] public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop); private Bitmap memoryImage; private void PrintScreen() { Graphics mygraphics = this.CreateGraphics();
  • 41. 41 | P a g e Size s = this.Size; memoryImage = new Bitmap(s.Width, s.Height, mygraphics); Graphics memoryGraphics = Graphics.FromImage(memoryImage); IntPtr dc1 = mygraphics.GetHdc(); IntPtr dc2 = memoryGraphics.GetHdc(); BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376); mygraphics.ReleaseHdc(dc1); memoryGraphics.ReleaseHdc(dc2); } private void btnPrint_Click(object sender, EventArgs e) { PrintScreen(); printPreviewDialog1.ShowDialog(); this.Hide(); } } }
  • 42. 42 | P a g e TESTING AND VALIDATION
  • 43. 43 | P a g e TESTING System testing is the stage of implementation, which is aimed at before live operation commences. Testing is vital to the success of the system. Testing is the process of executing a program with the explicit intention of findings errors that is making the program fail. The tester may be analysts, programmer or a specialist trained for software testing, is actually trying to make the program fail. Analysts know that an effective testing program doesn’t guarantee system reliability. Therefore reliability must be designed into the system. Levels of Testing Unit Testing: Unit testing is undertaken after a module has been coded and successfully reviewed. Unit testing (or module testing) is the testing of different units (or modules) of a system in isolation. In order to test a single module, a complete environment is needed to provide all that is necessary for execution of the module. That is, besides the module under test itself, the following steps are needed in order to be able to test the module: o The procedures belonging to the other modules that the module under test calls. o Nonlocal data structure that the module accesses. o A procedure to call the functions of the module under test with appropriate parameters. Modules required to provide the necessary environment (which either call or are called by the module under test) is usually not available until they too have been until they too have been unit tested, stubs and drivers are designed to provide the complete environment for a module.
  • 44. 44 | P a g e Black-box Testing: Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional. This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see. Two main approaches of to designing black box test cases are: o Equivalence class partitioning o Boundary value analysis Equivalence class partitioning: In this method the input domain data is divided into different equivalence data classes. This method is typically used to reduce the total number of test cases to a finite set of testable test cases, still covering maximum requirements. In short it is the process of taking all possible test cases and placing them into classes. One test value is picked from each class while testing. E.g.: If you are testing for an input box accepting numbers from 1 to 1000 then there is no use in writing thousand test cases for all 1000 valid input numbers plus other test cases for invalid data. Using equivalence partitioning method above test cases can be divided into three sets of input data called as classes. Each test case is a representative of respective class.
  • 45. 45 | P a g e So in above example we can divide our test cases into three equivalence classes of some valid and invalid inputs. Test cases for input box accepting numbers between 1 and 1000 using Equivalence Partitioning: 1) One input data class with all valid inputs. Pick a single value from range 1 to 1000 as a valid test case. If you select other values between 1 and 1000 then result is going to be same. So one test case for valid input data should be sufficient. 2) Input data class with all values below lower limit i.e. any value below 1, as a invalid input data test case. 3) Input data with any value greater than 1000 to represent third invalid input class. So using equivalence partitioning you have categorized all possible test cases into three classes. Test cases with other values from any class should give you the same result. We have selected one representative from every input class to design our test cases. Test case values are selected in such a way that largest number of attributes of equivalence class can be exercised. Equivalence partitioning uses fewest test cases to cover maximum requirements. Boundary value analysis: It’s widely recognized that input values at the extreme ends of input domain cause more errors in system. More application errors occur at the boundaries of input domain. ‘Boundary value analysis’ testing technique is used to identify errors at boundaries rather than finding those exist in center of input domain. Boundary value analysis is a next part of Equivalence partitioning for designing test cases where test cases are selected at the edges of the equivalence classes.
  • 46. 46 | P a g e Test cases for input box accepting numbers between 1 and 1000 using Boundary value analysis: 1) Test cases with test data exactly as the input boundaries of input domain i.e. values 1 and 1000 in our case. 2) Test data with values just below the extreme edges of input domains i.e. values 0 and 999. White-box Testing: White Box Testing (WBT) is also known as Code-Based Testing or Structural Testing. White box testing is the software testing method in which internal structure is being known to tester who is going to test the software. In this method of testing the test cases are calculated based on analysis internal structure of the system based on Code coverage, branches coverage, paths coverage, condition Coverage etc. White box testing involves the testing by looking at the internal structure of the code & when you completely aware of the internal structure of the code then you can run your test cases & check whether the system meet requirements mentioned in the specification document. Based on derived test cases the user exercised the test cases by giving the input to the system & checking for expected outputs with actual output. In this is testing method user has to go beyond the user interface to find the correctness of the system. Typically such method are used at Unit Testing of the code but this different as Unit testing done by the developer & White Box Testing done by the testers, this is learning the part of the code & finding out the weakness in the software program under test. For tester to test the software application under test is like a white/transparent box where the inside of the box is clearly seen to the tester (as tester is aware/access of the internal structure of the code), so this method is called as White Box Testing.
  • 47. 47 | P a g e The White-box testing is one of the best method to find out the errors in the software application in early stage of software development life cycle. In this process the deriving the test cases is most important part. The test case design strategy include such that all lines of the source code will be executed at least once or all available functions are executed to complete 100% code coverage of testing. Integration Testing: Once all the individual units are created and tested, we start combining those “Unit Tested” modules and start doing the integrated testing. So the meaning of Integration testing is quite straight forward- Integrate/combine the unit tested module one by one and test the behavior as a combined unit. The main function or goal of Integration testing is to test the interfaces between the units/modules. The individual modules are first tested in isolation. Once the modules are unit tested, they are integrated one by one, till all the modules are integrated, to check the combinational behavior, and validate whether the requirements are implemented correctly or not. There are fundamentally 2 approaches for doing Integration testing: o Bottom up approach o Top down approach. Bottom up approach : Bottom up testing, as the name suggests starts from the lowest or the innermost unit of the application, and gradually moves up. The Integration testing starts from the lowest module and gradually progresses towards the upper modules of the application. This integration continues till all the modules are integrated and the entire application is tested as a single unit.
  • 48. 48 | P a g e In this case, modules B1C1, B1C2 & B2C1, B2C2 are the lowest module which is unit tested. Module B1 & B2 are not yet developed. The functionality of Module B1 and B2 is that, it calls the modules B1C1, B1C2 & B2C1, B2C2. Since B1 and B2 are not yet developed, we would need some program or a “stimulator” which will call the B1C1, B1C2 & B2C1, B2C2 modules. These stimulator programs are called DRIVERS. In simple words, DRIVERS are the dummy programs which are used to call the functions of the lowest module in case when the calling function does not exists. Bottom up technique requires module driver to feed test case input to the interface of the module being tested. Advantage for this approach is that, if a major fault exists at the lowest unit of the program, it is easier to detect it, and corrective measures can be taken. Disadvantage is that the main program actually does not exist until the last module is integrated and tested. As a result, the higher level design flaws will be detected only at the end. Top down approach : This technique starts from the top most module and gradually progress towards the lower modules. Only the top module is unit tested in isolation. After this, the lower modules are integrated one by one. The process is repeated until all the modules are integrated and tested.
  • 49. 49 | P a g e In the context of our figure, testing starts from Module A, and lower modules B1 and B2 are integrated one by one. Now here the lower modules B1 and B2 are not actually available for integration. So in order to test the top most modules A, we develop “STUBS”. “Stubs” can be referred to as code a snippet which accepts the inputs / requests from the top module and returns the results/ response. This way, in spite of the lower modules do not exist, we are able to test the top module. Interface Testing: Interface Testing is performed to evaluate whether systems or components pass data and control correctly to one another. It is to verify if all the interactions between these modules are working properly and errors are handled properly. Installation Testing: It is performed to verify if the software has been installed with all the necessary components and the application is working as expected. This is very important as installation would be the first user interaction with the end users. Uninstallation Testing: Uninstallation testing is performed to verify if all the components of the application is removed during the process or NOT. All the files related to the application along with its folder structure have to be removed upon successful uninstallation. Post Uninstallation System should be able to go back to the stable state.
  • 50. 50 | P a g e Validation Testing: The process of evaluating software during the development process or at the end of the development process to determine whether it satisfies specified business requirements. Validation Testing ensures that the product actually meets the client's needs. It can also be defined as to demonstrate that the product fulfills its intended use when deployed on appropriate environment. It answers to the question, Are we building the right product? System Testing: System Testing (ST) is a black box testing technique performed to evaluate the complete system the system's compliance against specified requirements. In System testing, the functionalities of the system are tested from an end-to-end perspective.. Some approaches of this testing are: 1) α testing: It is the system testing performed by the development team. 2) β testing: It is the system testing performed by a friendly set of customer. 3) acceptance testing: It is the system testing performed by the customer himself after the product delivery to determine whether to accept or reject the delivered product.
  • 51. 51 | P a g e CONCLUSION
  • 52. 52 | P a g e CONCLUSION This Expert System is providing decisions only for FIVE diseases. Due to shortage of time I could not work on the knowledge base. I would like to enlist the features I would like to add in future to this system.  More symptoms.  Diagnosis of more diseases.  Providing more detailed diagnosis report.  Providing features for calling the ambulance directly through system.  Providing list of doctors or specialist to consult.  Providing name of the hospitals. Inclusion of above features will make the Clinical Decision Support System more effective for rural women.
  • 53. 53 | P a g e REFERENCES
  • 54. 54 | P a g e REFERENCES 1. Mathew A. Stoecker, Steve Stein Microsoft.NET Framework 3.5-Windows Forms Application Development : Microsoft Press 2. Herbert Schildt C# 3.0 Beginner’s guide : Mc Graw Hill 3. Christian Nagel, Bill Evjen, Jay Glynn, Morgan Skinner, Karli Watson Professional C# 2008 : Wiley Publishing, Inc 4. Sir Stanley Davidson Davidson’s Principles and Practice of Medicine 22nd Edition : Elsevier Limited 5. Atef Darwish Contemporary Gynecologic Practice : InTech 6. Sudha Salhan Text Book of Gynecology : Jaypee 7. Oscar Schaeffer Atlas and Essentials of Gynecology : William Wood and Company 8. www.webmd.com 9. www.mayoclinic.org 10. www.stackoverflow.com 11. www.c-sharpcorner.com 12. www.tutorialspoint.com/sql 13. www.tutorialspoint.com/artificial_intelligence