Patient Management System

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 43

Project Title

Patient Management System


SECTION A

Selection, Investigation and Analysis

PATIENT MANAGEMENT SYSTEM `

Background of Claybank Hospital


Claybank Hospital is located along Claybank road, Windsor Park in Gweru, Zimbabwe. It is
a member of the Premier Service Medical Investments (PSMI) family which houses all
healthcare services under one roof.

Problem identification
Claybank is a hospital that is well known in the health industry across Zimbabwe for a
number of factors which include, its 24 hour services that cater for all emergencies. However
there is a great number of patients that visit the hospital daily, making it difficult for the staff
members to attend their needs. Moreover the hospital’s staff members can easily lose track of
all the patients’ information and requirements as they quickly try to tend to new patients.
INVESTIGATION OF CURRENT SYSTEM
RESEARCH INSTRUMENTS
For data collection I used,
 Interviews
 Observation
 Questionnaires
I distributed seven questionnaires which were all filled in by two doctors and five nurses. I
also had an interview with one of the doctors at Claybank Hospital. With the aid of my aunt
who works at the hospital under administration. I observed how the facility is run on a daily
bases for five consecutive days. I also managed to get a look on their old patient records.
Advantages of using questionnaires as a research tool
 People tell the truth because they are anonymous.
 It is cheap
 It is straight forward

Advantages of using interview as a research tool


 It is a quick method of obtaining information.
 One can get more information through probing

Advantages of using observation as a research tool


 One gets first-hand information
 One gets to see the things actually happening
 It is cheap

Advantages of using record inspection as a research tool


 One gets first-hand information
 It is quick
 It is cheap

RESEARCH RESULTS
According to my research, a large number of people, with different cases visit the hospital
often. The seven respondents all agree that they have ever heard or found some of the
commodities of the hospital handing out the wrong dosage by mistake. I also observed this
shortage of stock. According to the interview, the doctor complained about receiving wrong
patient information. . She also highlighted that the assigned doctor may be too busy to attend
the particular patient assigned to him or her. According to the questionnaires, seven
respondents rated the service of the hospital in terms of patient attendance and recording
above 5 out of 10. They agree that the records are very accurate. They has never been a
patient who hasn’t been attended to. However, a respondent supports that sometimes, dosage
distribution may be wrong since the doctors and nurses would be in a rush. Moreover, one
respondent rated the service of the hospital, in terms of patient management and recording
below 5 out of 10 because the patients wait for hours to be attended to. On the contrary, I
observed that patients can are treated on the same day. According to the questionnaires, five
respondents rated the general service of the hospital 5 out of 10 because almost everyone is
treated or tended to, on the same day. I also observed that by lunch time, all patients would
have been served.

SYSTEM FLOWCHART DESCRIBING HOW THE EXISTING SYSTEM WORKS


BROAD DESCRIPTION OF THE EXISTING SYSTEM
The patient enters the reception of the hospital. He or she is handed a claim form where he or
she must enter his information including name, date of birth and the doctor he or she wants to
attend them, among others. The patient is assigned a doctor if the doctor he requested for is
unavailable at the moment. The patient then heads to the waiting room where a series of tests
are carried out. The patient’s temperature and blood pressure is checked in the waiting room
by nurses. The assigned doctor comes to examine the patient. If he or she does not have a
serious illness he or she is sent home but if the illness is serious the patient is admitted.
EVALUATION OF THE EXISTING SYSTEM

STRENGTHS WEAKNESSES

A very good reputation Unavailability of doctors

Experienced staff members Poor patient record system

System is cheaper to setup or buy. Wrong dosage distribution

REQUIREMENT SPECIFICATIONS
Software specifications
1. VS Express 2013–for coding and development of the program.
2. Microsoft Office Access 2013–for storing data of the system in a database.

Hardware specifications
1. Monitor
2. Keyboard
3. CPU ‒Intel(R) Pentium(R) CPU @ 1.30GHz
4. Mouse
5. RAM –for storing the data(2.00 GB)

AIMS AND OBJECTIVES


Aims
- to make patient managing easier
- to make record saving easier
- keeping records safe

Objectives
- The system must be able to store data in order
- The system must be able to search database for a specified record.
- The system must keep account of all the doctors currently employed at the hospital.
- The system must store patient information

Section B: Design
Consideration of alternative methods
Two Alternative Solutions to the Problem are:
1. Off-The Shelf Software:
 Purchasing already made systems and software from the available market.

2. Bespoke software (Tailor-made software):


 Creation of a system that will solve the exact problem being faced by customer by a
hired programmer.

Justification of the method of solution:


1. Method One : Off The Shelf Software

Advantages:
 They are compatible with many machines and this reduces the expenses that can be
incurred from buying new equipment or components for the system to work properly.
 They have a wide range of software on the market that serve the same purpose hence
they have a relatively reduced cost
 Official websites and forums for this type of software are often available on the
internet thus providing potential users with easy access to information.
 Tutorials and manuals are often available online since the software may already have
a large user base.
 Update services for software are often provided online at regular intervals allowing
the software to improve in performance and installation of new features.
 This way is less time consuming since there will be a ready market for software or
systems that fix the problem being faced by users.

Disadvantages:

 Extra features available may not be needed by the users which may lead to miss use
of the software which can cause problems.
 Unexpected updates in software may cause disruption to data if it is no longer
compatible with the new version, or if the software no longer supports the machine
being used by users.
 Users don’t have the right to modify or alter the software in any way and also they
cannot sell the software.
 It tends to be a compromise, since it is designed for many different types of users,
each of whom will have different requirements.
 Users may have to change the way they are working or organising data in order to use
the software and fit with its design.

2. Method Two : Tailor Made Software

Advantages:
 It allows the production of high quality software that will solve the exact problem
being encountered by the user.
 The Software can be tailored to suit the needs of the user.
 The system’s user interfaces are designed to suit the individuals who will be using the
software.

Disadvantages:
 The use of professional programmers implies that it may be expensive.
 Users may require more training to use the software since there may not get any
additional sources of how-to guides and tutorials to follow on the internet.
 The system may need expensive hardware to function properly.

Input Design
Data Capture Form

Screen Layout
Login Form
This is the initial interface which is used to secure the software by only allowing authorised
users’ access. Individuals must provide Usernames and Passwords to be recognised as
authorised user and be granted use into the system.

Main Menu Form


This the form that’s providing the user with access to allow the system features such as the
admission and discharging of patients from the hospitals database.

Admission Form
This form handles the capture of a patient’s personal information and appending it into the
Patients Database. It facilitates the admission of patients into the hospital and in turn the
Database.

Discharge Form
This handles the discharge of a patient from the hospital and moves the patient’s details from
the Patients Database and placing them in the Discharge Database. It facilitates the removal
of a discharged patient from the Patient Database.

Patients Database Form


This is where info for Patients admitted and discharged can be viewed. This form also
facilitates the printing out of the information displayed about admitted or discharged patients.
1. Admitted Patients DB

2. Discharged Patients DB
Worker Access Form
This handles the capture and saving of details of worker with access to the system. It also
stores the Job status of each worker for easier identification of Doctors for other purposes
such as the automated doctor list from the admission form.
Admitted Patient Report Form

This is where the info on admitted patients are is displayed in a print


layout prior to being printed or outputted.

File Design
Workers Table

Field name Validation rule Field size Field data type


Worker ID Is Null OR Not like 5 Text
“*[!((a-z) or (0-
9))]*”
Name Is Null OR Not like 25 Text
“*[!((a-z))]*”
Surname Is Null OR Not like 25 Text
“*[!((a-z))]*”
Job Is Null OR Not like 20 Text
“*[!((a-z))]*”
Username Is Null OR Not like 15 Text
“*[!((a-z))]*”
Password Is Null OR Not like 20 Text
“*[!((a-z) or (0-
9))]*”

Patients Table

Field name Validation rule Field size Field data type


Name Is Null OR Not like 25 Text
“*[!(a-z)]*”
Surname Is Null OR Not like 25 Text
“*[!(a-z)]*”
ID Is Null OR Not like 15 Text
“*[!((a-z) or (0-
9))]*”
Gender Is Null OR Not like 6 Text
“*[!((a-z))]*”
Date of Birth Is Null OR <= 10 Date
Date()
Address Is Null OR Not like 25 Text
“*[!((a-z) or (0-
9))]*”
Phone Number Is Null OR Not like 10 number
“*[!((0-9))]*”
Affliction Is Null OR Not like 25 Text
“*[!((a-z) or (0-
9))]*”
Admission Date Is Null OR <= 10 Date
Date()
Doctor Name Is Null OR Not like 25 Text
“*[!(a-z)]*”
Doctor Surname Is Null OR Not like 25 Text
“*[!(a-z)]*”
Doctor ID Is Null OR Not like 5 Text
“*[!((a-z) or (0-
9))]*”

Discharged Table

Field name Validation rule Field size Field data type


Name Is Null OR Not like 25 Text
“*[!(a-z)]*”
Surname Is Null OR Not like 25 Text
“*[!(a-z)]*”
ID Is Null OR Not like 15 Text
“*[!((a-z) or (0-
9))]*”
Gender Is Null OR Not like 6 Text
“*[!((a-z))]*”
Date of Birth Is Null OR <= 10 Date
Date()
Address Is Null OR Not like 25 Text
“*[!((a-z) or (0-
9))]*”
Phone Number Is Null OR Not like 10 number
“*[!((0-9))]*”
Affliction Is Null OR Not like 25 Text
“*[!((a-z) or (0-
9))]*”
Admission Date Is Null OR <= 10 Date
Date()
Discharge Date Is Null OR <= 30 Date/Time
Date()
Doctor ID Is Null OR Not like 5 Text
“*[!((a-z) or (0-
9))]*”

Overall Plan
Start

Login

Correct
Username and
Password
NO

YES

Main Menu
End

Admit Patients Discharge View Manage


Patients Databases Worker Access
Output Design
The following outputs were designed in consideration to the processes involved. The output
is a collection of records of Discharged Patients’ Information.

TEST PLAN

The black box method was used to test the system. Black box also known
as functional testing is a testing method in which testing is carried out on
a program independent of the internal structure of the program. It
provides a basis on which the acceptability or deniability of the program is
based.

It tests for Standard, extreme and abnormal values.

It is used as a basis to whether or not to put the system to use.


Module Standard Data Extreme Data Abnormal Data
Name
LOGIN MODULE Access will be granted to No access will be granted No access will be
the user after the correct to the user. The form still granted to the user.
entry of Username and remains and an error The login form still
Password message appears shows remains an error
wrong Username or message appears
Password shows wrong username
or Password

ADMISSION MODULE A new patient is admitted Patient won’t be added to Patient details won’t be
and saved into the database and an error saved in the database
database successfully message will be shown. and an error message
only after user fills in all will be shown.
the details required.

DISCHARGE An admitted patient is Patient won’t be Patient won’t be


MODULE discharged from the discharged and their info discharged and their
hospital and the wont’ be saved in info wont’ be saved in
patient’s info is saved into discharge database and an discharge database
the discharge database error message will be and an error message
successfully only after shown. will be shown..
user selects a valid details
of patient in question.
Section C: System Development
Technical Documentation:
 PSEUDO CODE 1

Search database for an admitted Patient using ID


Start

Enter ID

If ID matchs Part in Database then

Fill data grid view with parts that match the details

Else

Display Message “ID does not match any Patient”

End

End If

Display Patients Details

End

 PSEUDO CODE 2

AdMISSION of Patients to Database

Start

Enter Name, Surname, ID, Gender, Date of Birth, Address, Phone Number,

Affliction, Admission Date, Doctor Name, Doctor Surname, Doctor ID

If Name, Surname, ID, Gender, Date of Birth, Address, Phone Number,

Affliction, Admission Date, Doctor Name, Doctor Surname, Doctor ID are

entered then

Add the entered details to the database

Display Message “Patient info successfully added to database”

Else

Display message “Enter fill in full info on Patient”

End if
End

Flow Chart: Search for patient using ID

Start

Enter ID

Search the database for the ID

NO Does ID match any Yes


Patient records in the
Database
Fill data grid view with patient
details that match the ID.
Display message “ID
does not match any
patient on the
database”

Display Patient Details:


End
Prisoner ID, Name, National
ID, Release Date & e.tc
Code / Program Listing
1. Login Form

PublicClassLogin

PrivateSub WorkersBindingNavigatorSaveItem_Click(sender AsObject, e


AsEventArgs)
Me.Validate()
Me.WorkersBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PatientsDBDataSet)

EndSub

PrivateSub Login_Load(sender AsObject, e AsEventArgs) HandlesMyBase.Load


'TODO: This line of code loads data into the 'PatientsDBDataSet.Workers'
table. You can move, or remove it, as needed.
Me.WorkersTableAdapter.Fill(Me.PatientsDBDataSet.Workers)

EndSub

PrivateSub Button1_Click(sender AsObject, e AsEventArgs) Handles Button1.Click


If UsernameTextBox.Text = ""Then
MsgBox("The Username Textbox must be filled in",
MsgBoxStyle.Critical, "Validation Report")
Exit Sub
EndIf
If PasswordTextBox.Text = ""Then
MsgBox("The Password Textbox must be filled in",
MsgBoxStyle.Critical, "Validation Report")
Exit Sub
EndIf
Dim Login1 = WorkersTableAdapter.LG(PatientsDBDataSet.Workers,
UsernameTextBox.Text, PasswordTextBox.Text)
If Login1 = NothingThen
MsgBox("Invalid Username or Password", MsgBoxStyle.Critical,
"Access Denied")
Else
MsgBox("Welcome", MsgBoxStyle.Information, "Access Granted")
Admit
Me.Hide()
Prisoners
MM.Show()
Admin Login
EndIf
EndSub

PrivateSub UsernameTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


UsernameTextBox.TextChanged
Dim a, b AsInteger
Dim x, y AsString
a = UsernameTextBox.TextLength
x = UsernameTextBox.Text
If a > 15 Then
MsgBox("Username has maximum of 15 characters",
MsgBoxStyle.Critical, "Validation Report")
UsernameTextBox.Text = UsernameTextBox.Text.Remove(14, 1)
Exit Sub
EndIf
EndSub

PrivateSub PasswordTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


PasswordTextBox.TextChanged
Dim a, b AsInteger
Dim x, y AsString
a = PasswordTextBox.TextLength
x = PasswordTextBox.Text
If a > 20 Then
MsgBox("Password has maximum of 20 characters",
MsgBoxStyle.Critical, "Validation Report")
PasswordTextBox.Text = PasswordTextBox.Text.Remove(19, 1)
Exit Sub
EndIf
EndSub
EndClass

2. Main Menu Form

PublicClassMM

PrivateSub Button5_Click(sender AsObject, e AsEventArgs) Handles Button5.Click


Me.Hide()
Login.Show()
EndSub

PrivateSub Button1_Click(sender AsObject, e AsEventArgs) Handles Button1.Click


Me.Hide()
Admission.Show()
EndSub

PrivateSub Button2_Click(sender AsObject, e AsEventArgs) Handles Button2.Click


Me.Hide()
Discharge.Show()
EndSub

PrivateSub Button3_Click(sender AsObject, e AsEventArgs) Handles Button3.Click


Me.Hide()
PD.Show()
EndSub

PrivateSub Button4_Click(sender AsObject, e AsEventArgs) Handles Button4.Click


Me.Hide()
WA.Show()
EndSub
PrivateSub Form_close(sender AsObject, e AsEventArgs) HandlesMe.Closing
Login.Close()
EndSub

PrivateSub MM_Load(sender AsObject, e AsEventArgs) HandlesMyBase.Load

EndSub
EndClass

3. Admission Form
PublicClassAdmission

PrivateSub PatientBindingNavigatorSaveItem_Click(sender AsObject, e


AsEventArgs)
Me.Validate()
Me.PatientBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PatientsDBDataSet)

EndSub

PrivateSub Admission_Load(sender AsObject, e AsEventArgs) HandlesMyBase.Load


'TODO: This line of code loads data into the 'PatientsDBDataSet.Workers1'
table. You can move, or remove it, as needed.
Me.Workers1TableAdapter.Fill(Me.PatientsDBDataSet.Workers1)
'TODO: This line of code loads data into the 'PatientsDBDataSet.Workers'
table. You can move, or remove it, as needed.
'TODO: This line of code loads data into the 'PatientsDBDataSet.Patient'
table. You can move, or remove it, as needed.
Me.PatientTableAdapter.Fill(Me.PatientsDBDataSet.Patient)
Me.WorkersTableAdapter.IDCheck(Me.PatientsDBDataSet.Workers,
ComboBox1.Text.ToString)
TextBox4.Visible = False
NameTextBox.Visible = False
SurnameTextBox.Visible = False
IDTextBox.Visible = False
GenderTextBox.Visible = False
Date_of_BirthDateTimePicker.Visible = False
AddressTextBox.Visible = False
Phone_NumberTextBox.Visible = False
AfflictionTextBox.Visible = False
Admission_DateDateTimePicker.Visible = False
Doctor_IDTextBox.Visible = False
Doctor_NameTextBox.Visible = False
Doctor_SurnameTextBox.Visible = False

EndSub

PrivateSub TextBox1_TextChanged(sender AsObject, e AsEventArgs) Handles


TextBox1.TextChanged

EndSub

PrivateSub ComboBox1_SelectedIndexChanged(sender AsObject, e AsEventArgs)


Handles ComboBox1.SelectedIndexChanged
Me.WorkersTableAdapter.IDCheck(Me.PatientsDBDataSet.Workers,
ComboBox1.Text.ToString)
EndSub

PrivateSub Button3_Click(sender AsObject, e AsEventArgs)


MsgBox(ComboBox1.Text.ToString)
EndSub

PrivateSub Button1_Click(sender AsObject, e AsEventArgs) Handles Button1.Click


Dim id AsString
id = TextBox3.Text
If id = ""Then
MsgBox("Must fill in ID Textbox", MsgBoxStyle.Critical,
"Validation Report")
Exit Sub
EndIf
Dim idfind = PatientTableAdapter.IDLoopup(PatientsDBDataSet.Patient, id)
If idfind = NothingThen
Else
MsgBox("There ID entered is already under another Patient",
MsgBoxStyle.Critical, "Validation Report")
Exit Sub
EndIf
Dim x AsString
PatientBindingSource.AddNew()
If FRB.Checked = TrueThen
TextBox4.Text = "Female"
ElseIf MRB.Checked = TrueThen
TextBox4.Text = "Male"
EndIf
NameTextBox.Text = TextBox1.Text
SurnameTextBox.Text = TextBox2.Text
IDTextBox.Text = TextBox3.Text
GenderTextBox.Text = TextBox4.Text
x = Date_of_BirthDateTimePicker.Value.ToShortDateString
Date_of_BirthDateTimePicker.Text = "1/1/1900"
Date_of_BirthDateTimePicker.Text = x
AddressTextBox.Text = TextBox6.Text
Phone_NumberTextBox.Text = TextBox7.Text
AfflictionTextBox.Text = TextBox8.Text
Admission_DateDateTimePicker.Text = "1/1/1900"
Admission_DateDateTimePicker.Text = Today.ToShortDateString
Doctor_IDTextBox.Text = ComboBox1.Text.ToString
Doctor_NameTextBox.Text = NameTextBox1.Text
Doctor_SurnameTextBox.Text = SurnameTextBox1.Text
PatientBindingSource.EndEdit()
PatientTableAdapter.Update(PatientsDBDataSet.Patient)
MsgBox("Patient has been Admitted into Database",
MsgBoxStyle.Information, "Status Report")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
EndSub

PrivateSub Button2_Click(sender AsObject, e AsEventArgs) Handles Button2.Click


Me.Hide()
MM.Show()
EndSub

PrivateSub TextBox3_TextChanged(sender AsObject, e AsEventArgs) Handles


TextBox3.TextChanged
Dim a, b AsInteger
Dim x, y AsString
a = TextBox3.TextLength
x = TextBox3.Text
If a > 15 Then
MsgBox("ID has maximum of 15 characters", MsgBoxStyle.Critical,
"Validation Report")
TextBox3.Text = TextBox3.Text.Remove(14, 1)
Exit Sub
EndIf
EndSub
PrivateSub Form_close(sender AsObject, e AsEventArgs) HandlesMe.Closing
Login.Close()
EndSub
EndClass
4. Discharge Form

PublicClassDischarge

PrivateSub PatientBindingNavigatorSaveItem_Click(sender AsObject, e


AsEventArgs)
Me.Validate()
Me.PatientBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PatientsDBDataSet)

EndSub

PrivateSub Discharge_Load(sender AsObject, e AsEventArgs) HandlesMyBase.Load


'TODO: This line of code loads data into the 'PatientsDBDataSet.Discharged'
table. You can move, or remove it, as needed.
Me.DischargedTableAdapter.Fill(Me.PatientsDBDataSet.Discharged)
'TODO: This line of code loads data into the 'PatientsDBDataSet.Patient'
table. You can move, or remove it, as needed.
Me.PatientTableAdapter.Fill(Me.PatientsDBDataSet.Patient)
Date_of_BirthDateTimePicker.Visible = False
Admission_DateDateTimePicker.Visible = False
NameTextBox1.Visible = False
SurnameTextBox1.Visible = False
IDTextBox1.Visible = False
GenderTextBox1.Visible = False
Date_of_BirthDateTimePicker1.Visible = False
AddressTextBox1.Visible = False
Phone_NumberTextBox1.Visible = False
AfflictionTextBox1.Visible = False
Admission_DateDateTimePicker1.Visible = False
Doctor_IDTextBox1.Visible = False
Discharge_DateDateTimePicker.Visible = False
EndSub

PrivateSub Date_of_BirthDateTimePicker_ValueChanged(sender AsObject, e


AsEventArgs) Handles Date_of_BirthDateTimePicker.ValueChanged
TextBox1.Text = Date_of_BirthDateTimePicker.Value.ToShortDateString
EndSub

PrivateSub Admission_DateDateTimePicker_ValueChanged(sender AsObject, e


AsEventArgs) Handles Admission_DateDateTimePicker.ValueChanged
TextBox2.Text = Admission_DateDateTimePicker.Value.ToShortDateString
EndSub

PrivateSub Button2_Click(sender AsObject, e AsEventArgs) Handles Button2.Click


DischargedBindingSource.AddNew()
NameTextBox1.Text = NameTextBox.Text
SurnameTextBox1.Text = SurnameTextBox.Text
IDTextBox1.Text = IDTextBox.Text
GenderTextBox1.Text = GenderTextBox.Text
Date_of_BirthDateTimePicker1.Text = "12/12/1950"
Date_of_BirthDateTimePicker1.Text = TextBox1.Text
AddressTextBox1.Text = AddressTextBox.Text
Phone_NumberTextBox1.Text = Phone_NumberTextBox.Text
AfflictionTextBox1.Text = AfflictionTextBox.Text
Admission_DateDateTimePicker1.Text = "12/12/1950"
Admission_DateDateTimePicker1.Text = TextBox2.Text
Doctor_IDTextBox1.Text = Doctor_IDTextBox.Text
Discharge_DateDateTimePicker.Text = "12/12/1950"
Dim dt, ct, dtct AsString
dt = Today.ToShortDateString
ct = TimeOfDay.ToLongTimeString
dtct = dt &""& ct
Discharge_DateDateTimePicker.Text = "12/12/1950"
Discharge_DateDateTimePicker.Text = dtct
DischargedBindingSource.EndEdit()
DischargedTableAdapter.Update(PatientsDBDataSet.Discharged)
PatientBindingSource.RemoveCurrent()
PatientBindingSource.EndEdit()
PatientTableAdapter.Update(PatientsDBDataSet.Patient)
MsgBox("Patient has been discharged", MsgBoxStyle.Information, "Status
Report")
EndSub

PrivateSub Button1_Click(sender AsObject, e AsEventArgs) Handles Button1.Click


Dim found = PatientTableAdapter.IDLoopup(PatientsDBDataSet.Patient,
TextBox3.Text)
If found = NothingThen
MsgBox("No Patient with this ID found", MsgBoxStyle.Information,
"Search Result")
Else
Me.PatientTableAdapter.IDLoopup(Me.PatientsDBDataSet.Patient, TextBox3.Text)
EndIf
EndSub

PrivateSub Button3_Click(sender AsObject, e AsEventArgs) Handles Button3.Click


Me.PatientTableAdapter.Fill(Me.PatientsDBDataSet.Patient)
EndSub

PrivateSub Button4_Click(sender AsObject, e AsEventArgs) Handles Button4.Click


Me.Hide()
MM.Show()
EndSub
PrivateSub Form_close(sender AsObject, e AsEventArgs) HandlesMe.Closing
Login.Close()
EndSub
EndClass

5. Patient Database Form

PublicClassPD

PrivateSub DischargedBindingNavigatorSaveItem_Click(sender AsObject, e


AsEventArgs)
Me.Validate()
Me.DischargedBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PatientsDBDataSet)

EndSub

PrivateSub PD_Load(sender AsObject, e AsEventArgs) HandlesMyBase.Load


'TODO: This line of code loads data into the 'PatientsDBDataSet.Patient'
table. You can move, or remove it, as needed.
Me.PatientTableAdapter.Fill(Me.PatientsDBDataSet.Patient)
'TODO: This line of code loads data into the 'PatientsDBDataSet.Discharged'
table. You can move, or remove it, as needed.
Me.DischargedTableAdapter.Fill(Me.PatientsDBDataSet.Discharged)
GroupBox1.Visible = False
EndSub

PrivateSub Button2_Click(sender AsObject, e AsEventArgs) Handles Button2.Click


If RadioButton1.Checked = TrueThen
Me.Hide()
AdmittedReport.Show()
ElseIf RadioButton2.Checked = TrueThen
Me.Hide()
DischargedReport.Show()
EndIf

EndSub

PrivateSub Button4_Click(sender AsObject, e AsEventArgs) Handles Button4.Click


Me.Hide()
MM.Show()
EndSub

PrivateSub RadioButton1_CheckedChanged(sender AsObject, e AsEventArgs) Handles


RadioButton1.CheckedChanged
If RadioButton1.Checked = TrueThen
GroupBox1.Visible = False
GroupBox2.Visible = True
ElseIf RadioButton2.Checked = TrueThen
GroupBox2.Visible = False
GroupBox1.Visible = True
EndIf
EndSub

PrivateSub RadioButton2_CheckedChanged(sender AsObject, e AsEventArgs) Handles


RadioButton2.CheckedChanged
If RadioButton1.Checked = TrueThen
GroupBox1.Visible = False
GroupBox2.Visible = True
ElseIf RadioButton2.Checked = TrueThen
GroupBox2.Visible = False
GroupBox1.Visible = True
EndIf
EndSub
PrivateSub Form_close(sender AsObject, e AsEventArgs) HandlesMe.Closing
Login.Close()
EndSub
EndClass
ModuleTICKK
Public Tickkk AsInteger
EndModule

6. Worker Access DB
PublicClassWA

PrivateSub WorkersBindingNavigatorSaveItem_Click(sender AsObject, e


AsEventArgs)
Me.Validate()
Me.WorkersBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PatientsDBDataSet)

EndSub
PrivateSub WA_Load(sender AsObject, e AsEventArgs) HandlesMyBase.Load
'TODO: This line of code loads data into the 'PatientsDBDataSet.Workers'
table. You can move, or remove it, as needed.
Me.WorkersTableAdapter.Fill(Me.PatientsDBDataSet.Workers)

EndSub

PrivateSub WorkersDataGridView_CellContentClick(sender AsObject, e


AsDataGridViewCellEventArgs) Handles WorkersDataGridView.CellContentClick

EndSub

PrivateSub GroupBox1_Enter(sender AsObject, e AsEventArgs) Handles


GroupBox1.Enter

EndSub

PrivateSub Button2_Click(sender AsObject, e AsEventArgs) Handles Button2.Click


WorkersBindingSource.AddNew()
EndSub

PrivateSub Button1_Click(sender AsObject, e AsEventArgs) Handles Button1.Click


WorkersBindingSource.RemoveCurrent()
EndSub

PrivateSub Button4_Click(sender AsObject, e AsEventArgs) Handles Button4.Click


Me.Hide()
MM.Show()
EndSub

PrivateSub Button3_Click(sender AsObject, e AsEventArgs) Handles Button3.Click


If NameTextBox.Text = ""Then
MsgBox("Must fill in Name", MsgBoxStyle.Critical, "Validation
Report")
Exit Sub
EndIf
If SurnameTextBox.Text = ""Then
MsgBox("Must fill in Surname", MsgBoxStyle.Critical, "Validation
Report")
Exit Sub
EndIf
If Worker_IDTextBox.Text = ""Then
MsgBox("Must fill in Worker ID", MsgBoxStyle.Critical, "Validation
Report")
Exit Sub
EndIf
If JobTextBox.Text = ""Then
MsgBox("Must fill in Job", MsgBoxStyle.Critical, "Validation
Report")
Exit Sub
EndIf
If UsernameTextBox.Text = ""Then
MsgBox("Must fill in Username", MsgBoxStyle.Critical, "Validation
Report")
Exit Sub
EndIf
If PasswordTextBox.Text = ""Then
MsgBox("Must fill in Password", MsgBoxStyle.Critical, "Validation
Report")
Exit Sub
EndIf
WorkersBindingSource.EndEdit()
WorkersTableAdapter.Update(PatientsDBDataSet.Workers)
MsgBox("Changes to Database have been successfully Saved",
MsgBoxStyle.Information, "Status Report")
EndSub

PrivateSub NameTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


NameTextBox.TextChanged
Dim a, b, ISNO AsInteger
Dim x, y AsString
a = NameTextBox.TextLength
b = a - 1
x = NameTextBox.Text
For i = 0 To 9
If x.Contains(i) = TrueThen
ISNO = 1
EndIf
Next
If IsNumeric(x) = TrueOr ISNO = 1 Then
MsgBox("Name only contains alphabetical character",
MsgBoxStyle.Critical, "Validation Report")
NameTextBox.Text = NameTextBox.Text.Remove(b, 1)
Exit Sub
EndIf
If a > 15 Then
MsgBox("Name has maximum of 15 characters", MsgBoxStyle.Critical,
"Validation Report")
NameTextBox.Text = NameTextBox.Text.Remove(14, 1)
Exit Sub
EndIf
EndSub

PrivateSub SurnameTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


SurnameTextBox.TextChanged
Dim a, b, isno AsInteger
Dim x, y AsString
a = SurnameTextBox.TextLength
b = a - 1
x = SurnameTextBox.Text
For i = 0 To 9
If x.Contains(i) = TrueThen
ISNO = 1
EndIf
Next
If IsNumeric(x) = TrueOr ISNO = 1 Then
MsgBox("Surname only contains alphabetical character",
MsgBoxStyle.Critical, "Validation Report")
SurnameTextBox.Text = SurnameTextBox.Text.Remove(b, 1)
Exit Sub
EndIf
If a > 15 Then
MsgBox("Surname has maximum of 15 characters",
MsgBoxStyle.Critical, "Validation Report")
SurnameTextBox.Text = SurnameTextBox.Text.Remove(14, 1)
Exit Sub
EndIf
EndSub

PrivateSub Worker_IDTextBox_TextChanged(sender AsObject, e AsEventArgs)


Handles Worker_IDTextBox.TextChanged
Dim a, b AsInteger
Dim x, y AsString
a = Worker_IDTextBox.TextLength
If a > 5 Then
MsgBox("Worker ID has maximum of 5 characters",
MsgBoxStyle.Critical, "Validation Report")
Worker_IDTextBox.Text = Worker_IDTextBox.Text.Remove(4, 1)
Exit Sub
EndIf
EndSub

PrivateSub JobTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


JobTextBox.TextChanged
Dim a, b, isno AsInteger
Dim x, y AsString
a = JobTextBox.TextLength
b = a - 1
x = JobTextBox.Text
For i = 0 To 9
If x.Contains(i) = TrueThen
isno = 1
EndIf
Next
If IsNumeric(x) = TrueOr isno = 1 Then
MsgBox("Job only contains alphabetical character",
MsgBoxStyle.Critical, "Validation Report")
JobTextBox.Text = JobTextBox.Text.Remove(b, 1)
Exit Sub
EndIf
If a > 20 Then
MsgBox("Job has maximum of 20 characters", MsgBoxStyle.Critical,
"Validation Report")
JobTextBox.Text = JobTextBox.Text.Remove(19, 1)
Exit Sub
EndIf
EndSub

PrivateSub UsernameTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


UsernameTextBox.TextChanged
Dim a, b AsInteger
Dim x, y AsString
a = UsernameTextBox.TextLength
If a > 25 Then
MsgBox("Username has maximum of 25 characters",
MsgBoxStyle.Critical, "Validation Report")
UsernameTextBox.Text = UsernameTextBox.Text.Remove(24, 1)
Exit Sub
EndIf
EndSub

PrivateSub PasswordTextBox_TextChanged(sender AsObject, e AsEventArgs) Handles


PasswordTextBox.TextChanged
Dim a, b AsInteger
Dim x, y AsString
a = PasswordTextBox.TextLength
If a > 20 Then
MsgBox("Password has maximum of 20 characters",
MsgBoxStyle.Critical, "Validation Report")
PasswordTextBox.Text = PasswordTextBox.Text.Remove(19, 1)
Exit Sub
EndIf
EndSub
PrivateSub Form_close(sender AsObject, e AsEventArgs) HandlesMe.Closing
Login.Close()
EndSub
EndClass
User Documentation

Installation

Installation Guide
System Requirement

Operating System: Windows 7 XP & Higher

Processor : 1.30GHz & Higher

Free Storage Space: 200mb

Direct x 8 or higher

Steps in installing the system:

1. Open file containing system installation package.


2. Double click on Setup.bat
3. Tick the agreements and click on the Next button
4. Be patient & wait for the installation to complete.
5. Then click on the Finish button.
6. Click on the shortcut created at the Desktop
7. The program will launch.

Running the system


Steps of how to run the system:

1. The user double clicks on the shortcut created at the desktop.


2. The system will launch and the user follows the simple illustrations of what to do.

Exiting the system


Steps of exiting the system:

Click on the close button located at the upper right of the window.
Section D: Testing and Evaluation
User Testing
1. Login Form

Username

A. Test for Standard Data


B. Test for Extreme Data

C. Test for Abnormal Data


Password

A. Test for Standard Data


B. Test for Extreme Data

C. Test for Abnormal Data


2. Admission Form

ID

A. Test for Standard Data

B. Test for Extreme Data


C. Test for Abnormal Data

Worker Access DB Form Validations:


 Name

Test For : Value Entered Result


Standard Data Peter Message: “Database
Modification have been
saved”
Extreme Data Peterabcdefghijk Message: “Namecan only
contain a maximum of 15
characters”
Abnormal Data Peter9 Message: “Enteronly
alphabetical characters
or data in this textbox”
 Surname

Test For : Value Entered Result


Standard Data Griffin Message: “Database
Modification have been
saved”
Extreme Data Griffinabcdefghi Message: “Surnamecan
only contain a maximum of
15 characters”
Abnormal Data Griffin8 Message: “Enteronly
alphabetical characters
or data in this textbox”

 Worker ID

Test For : Value Entered Result


Standard Data W0001 Message: “Database
Modification have been
saved”
Extreme Data W00012 Message: “WorkerID can
only contain a maximum of
5 characters”
Abnormal Data Message: “Fill in this
textbox”

 Job

Test For : Value Entered Result


Standard Data Doctor Message: “Database
Modification have been
saved”
Extreme Data Doctorabcdefghijklmno Message: “Jobcan only
contain a maximum of 20
characters”
Abnormal Data Doctor7 Message: “Enteronly
alphabetical characters
or data in this textbox”

 Username
Test For : Value Entered Result
Standard Data JamesBlunt123 Message: “Database
Modification have been
saved”
Extreme Data JamesBlunt1234567890123456 Message: “Username can
only contain a maximum
of 25 characters”
Abnormal Data Message: “Fill in this
textbox”

 Password

Test For : Value Entered Result


Standard Data Password12345 Message: “Changesto
Users with administrative
access have been saved”
Extreme Data Password1234567890121 Message: “Passwordcan
only contain a maximum of
20 characters”
Abnormal Data Message: “Fill in this
textbox”

Achievements
 The system is able to keep records of all the patients that are admitted into or
discharged from the hospital in the database. User friendly interface allows the
capture of patient’s information much easier.
 The system incorporates a security feature which prevents unauthorised access by
asking for username and passwords of workers or users.
 The interface is well labelled to make is easier to understand and simpler to use.
 Allows easier patient records allocation by having a search feature.
 It incorporates a worker database to automatically construct a list of all doctors in the
hospital which is used in the assigning of doctor’s to patients being admitted.

System Weaknesses
 Information collected and stored in the database may get corrupted by viruses.
 An unauthorised individual can gain access to the usernames and passwords of users by
finding the database file on the computer.

Opportunities for future developments


 Automated online database backups.
 The encryption and hiding of database files to prevent unauthorised access and reduce
chances corruption by viruses.
 Addition of a feature that monitors and stores all the activities undertaken with the
system automatically user supervision necessary.

APPENDIX
REFERENCES
 Information gathered from interviews and questionnaires done with and by hospital
workers.
 Bradley.R, UNDERSTANDING COMPUTER SCIENCE
 L.D. Ramsewak and H. Ramessur COMPUTING PROJECTS IN VISUAL BASIC

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy