INTRODUCTION
Our project Hospital Management system includes registration of patients,
storing their details into the system, and also computerized billing in the pharmacy,
and labs. Our software has the facility to give a unique id for every patient and stores
the details of every patient and the staff automatically. It includes a search facility to
know the current status of each room. User can search availability of a doctor and the
details of a patient using the id.
The Hospital Management System can be entered using a username
and password. It is accessible either by an administrator or receptionist. Only they can
add data into the database. The data can be retrieved easily. The interface is very
user-friendly. The data are well protected for personal use and makes the data
processing very fast.
HOSPITAL MANAGEMENT SYSTEM
2
OBJECTIVE
HOSPITAL MANAGEMENT SYSTEM
3
OBJECTIVE
The purpose of the project entitled as “HOSPITAL MANAGEMENT
SYSTEM” is to computerize the Front Office Management of Hospital to develop
software which is user friendly, simple, fast, and cost – effective. It deals with the
collection of patient’s information, diagnosis details, etc. Traditionally, it was done
manually.
This Hospital Management System is designed for hospitals, to cover a wide
range of hospital administration and management processes. It is an integrated end-toend Hospital Management System that provides relevant information across the
hospital to support effective decision making for patient care, hospital administration
and critical financial accounting, in a seamless flow.
HOSPITAL MANAGEMENT SYSTEM
4
PROBLEM DEFINATION
HOSPITAL MANAGEMENT SYSTEM
5
PROBLEM DEFINATION
The main function of the system is to register and store patient details and
doctor details and retrieve these details as and when required, and also to manipulate
these details meaningfully System input contains patient details, diagnosis details;
while system output is to get these details on to the CRT screen.
NEED:-
1. Efficiently maintains the details about the patient
2. Simultaneously updates changes made to any data, item in the entire data base.
3. It is faster than manual system
HOSPITAL MANAGEMENT SYSTEM
6
SYSTEM STUDY
HOSPITAL MANAGEMENT SYSTEM
7
SYSTEM STUDY
INTRODUCTION
The goal of any system development is to develop and implement the system
cost effectively; user-friendly and most suited to the user’s analysis is the heart of the
process. Analysis is the study of the various operations performed by the system and
their relationship within and outside of the system. During analysis, data collected on
the files, decision points and transactions handled by the present system. Different
kinds of tools are used in analysis of which interview is a common one.
INITIAL INVESTIGATION
The first step in system development life cycle is the identification of need of
change to improve or enhance an existing system. An initial investigation on existing
system was carried out. The present system of hospital is completely manual. Many
problems were identified during the initial study of the existing system.
HOSPITAL MANAGEMENT SYSTEM
8
EXISTING SYSTEM
System analysis is a detailed study of the various operations performed by a
system and their relationships within and outside of the system. Here the key question
is – What all problems exist in the present system? What must be done to solve the
problem? Analysis begins when a user or manager begins a study of the program
using existing system.
During analysis, data collected on the various files, decision points and
transactions handled by the present system. The commonly used tools in the system
are Data Flow Diagram, interviews, etc. training, experience and common sense are
required for collection of relevant information needed to develop the system. The
success of the system depends largely on how clearly the problem is defined,
thoroughly investigated and properly carried out through the choice of solution. A
good analysis model should provide not only the mechanisms of problem
understanding but also the framework of the solution. Then the proposed system
should be analyzed thoroughly in accordance with the needs.
System analysis can be categorized into four parts.
System planning and initial investigation
Information gathering
Applying analysis tools for structured analysis
Feasibility study
Cost/benefit analysis
HOSPITAL MANAGEMENT SYSTEM
9
PROPOSED SYSTEM
The drawback of the existing system is that it is very difficult to retrieve data from
case files. It is difficult to handle the whole system manually and it is less accurate
and to keep the data in case files for future reference because it may get destroyed.
Moreover it is very difficult to retrieve data. Redundancy of data may occur and this
may lead to the inconsistency. The manual system is so time-consuming.
The proposed system is very easy to operate. Speed and accuracy are the main
advantages of proposed system. There is no redundancy of data. The data are stored in
the computer’s secondary memories like hard disk, etc. it can be easily receive and
used at any time. The proposed system will easily handle all the data and the work
done by the existing systems. The proposed systems eliminate the drawbacks of the
existing system to a great extent and it provides tight security to data.
HOSPITAL MANAGEMENT SYSTEM
10
ABOUT OPERATING SYSTEM
Windows XP is a line of operating systems developed by Microsoft for use on
general purpose computer systems, including home and business desktops, notebook
computers and media centers. The letters ‘XP’ stand for experience. Windows XP is
the successor to both Windows 2000 and Windows Me and is first consumer oriented
operating system produced by Microsoft to be built on the Windows NT kernel and
architecture.
The most common editions of operating systems are Windows XP home
edition, which is targeted at home users, and Windows XP professional, which has
additional features such as, support for Windows server domain and two physical
processors and is targeted at power users and business clients. Windows XP Tablet PC
edition is designed to run the ink-aware Tablet PC platform. Two separate 64 bit
versions of Windows XP were also released, Windows XP 64 bit edition for IA64(Itanium) processors and Windows XP Professional x64 edition for x86-64
processors.
HOSPITAL MANAGEMENT SYSTEM
11
FRONT END (VB 6.0)
HOSPITAL MANAGEMENT SYSTEM
12
FRONT END (VB 6.0)
MICROSOFT VISUAL BASIC 6.0
Visual Basic 6.0 is Microsoft’s latest version of the Visual Basic Programming
language.Although writing programs can be a tedious chore at time. Visual Basic
reduces the effort required on your part, and makes programming enjoyable. Visual
Basic makes many aspects of programming as simple as dragging graphics objects on
to screen with your mouse.
Visual Basic 6.0 is more than just a programming language; the secret to Visual
Basic is in its name” Visual”. With to days Windows Operating System, a program
must be able to interact with the screen. Keyboard, mouse and printer graphically.
The environment provided by Visual Basic is suitable for any type of
application. Using this environment, the user can visually design the objects that your
application uses. Visual Basic is not just a languages, it’s an integrated development
environment in which you can develop, run, test and debug your applications.The
impressive array of programming resources provided by Visual Basic enables to
create the objects extemporaneously which can range from pop-up menu to a message
box.
A form is a major part of Visual Basic application, which allows the user to
enter the data as well as view the result. A control is an object that we draw on a form
to enable or enhance user interaction with an application. Hence a Visual Basic
HOSPITAL MANAGEMENT SYSTEM
13
application is a combination of object like forms and controls, procedures that can
respond to Events and other general-purpose procedures.
STARTING VISUAL BASIC
To start Visual Basic:
Click on the Start button on the Windows task bar.
Select Programs, then Microsoft Visual Basic # (where # is your
version of Visual Basic).
Click on Visual Basic # (where again # is your version).
Title Bar
Main Menu
Toolbar
HOSPITAL MANAGEMENT SYSTEM
14
At the top of the screen is the Visual Basic Main Window. At the top of the
main window is the Title Bar. The title bar gives us information about what program
we’re using and what Visual Basic program we are working with. Under the main
menu is the Toolbar. Here little buttons with pictures also allow us to control Visual
Basic, much like the main menu. If you put the mouse cursor over one of these
buttons for a second or so, a little ‘tool tip’ will pop up and tell you what that
particular button does.
PARTS OF A VISUAL BASIC PROJECT
There are three major components in a Visual Basic project: the project itself,
the form, and the controls. Project is the word used to encompass everything in a
Visual Basic project. Other words used to describe a project are application or
program. The Form is the window where you create the interface between the user
and the computer. Controls are graphical features or tools that are placed on forms to
allow user interaction (text boxes, labels, scroll bars, command buttons). Recall the
form itself is a control. Controls are also referred to as objects. Pictorially, a project
is:
Control
Project
Control
Control
Form
Control
HOSPITAL MANAGEMENT SYSTEM
15
Project consists of a form containing several controls.
In looking around your
computer’s file directory, you may find some files associated with a Visual Basic
project. Two primary files are used to save a Visual Basic project. The project file
will have an extension of vbp (in addition, there is sometimes a file with a vbw
extension). The form file has an extension of frm (in addition, there is sometimes a
form file with an frx extension).
An important concept concerning a Visual Basic project is that of a property.
Every characteristic of a control (including the form itself) is specified by a property.
Example properties include names, captions, sizes, colors, position on the form, and
contents.
Visual Basic is an event-driven language. Visual Basic is governed by an
event processor. That means that nothing happens in a Visual Basic project until
some event occurs. Once an event is detected, the project finds a series of instructions
related to that event, called an event procedure. That procedure is executed, and then
program control is returned to the event:
EVENT
Event processor
Event
Procedure
Event
Procedure
Event
Procedure
HOSPITAL MANAGEMENT SYSTEM
16
Event procedures are where we do the actual computer programming and are
saved with the form in the file with the frm extension. These procedures are where
we write BASIC language statements. You will learn a lot of programming and
BASIC language in this course. The BASIC you will learn is very similar to the
original BASIC used by Bill Gates and Paul Allen when starting Microsoft.
PARTS OF A VISUAL BASIC PROGRAM
Visual Basic is more than just a computer language. It is a project building
environment. Within this one environment, we can begin and build our project, run
and test our project, eliminate errors (if any) in our project, and save our project for
future use. With other computer languages, many times you need a separate text
editor to write your program, something called a compiler to create the program, and
then a different area to test your program. Visual Basic integrates each step of the
project building process into one environment. Let’s look at the parts of the Visual
Basic environment.
MAIN WINDOW
Start Visual Basic using the procedure learned in Class 1. Notice that several
windows appear. The Main Window is used to control most aspects of the Visual
Basic project building and running process.
HOSPITAL MANAGEMENT SYSTEM
17
The main window consists of the title bar, menu bar, and toolbar. The title bar
indicates the project name and the current Visual Basic operating mode (design,
break, run).
The menu bar has drop-down menus from which you control the
operation of the Visual Basic environment.
FORM WINDOW
The Form Window is central to developing Visual Basic applications. It is
where you develop your application.
If the form window is not present on the screen:
HOSPITAL MANAGEMENT SYSTEM
18
PROPERTIES
Like all controls, the form has many (over 40) properties. Fortunately, we
only have to know about some of them. The properties we will be concerned with
are:
Property
Description
Name
Name used to identify form. Three letter prefix for
form names is frm.
Caption
Text that appears in the title bar of form.
Icon
Reference to icon that appears in title bar of form.
Left
Distance from left side of computer screen to left
side of form.
Top
Distance from top side of computer screen to top
side of form.
Width
Width of the form in twips.
Height
Height of form in twips.
Back Color
Background color of form.
Border Style
Form can either be sizable (can resize using the
mouse) or fixed size.
HOSPITAL MANAGEMENT SYSTEM
19
FORM EVENTS
The form primarily acts as a ‘container’ for other controls, but it does support
events. That is, it can respond to some user interactions. We will only be concerned
with two form events in this course:
Event
Description
Click
Event executed when user clicks on the form with
the mouse.
Load
Event executed when the form first loads into the
computer’s memory. This is a good place to set
initial values for various properties and other project
values.
TOOLBOX WINDOW
HOSPITAL MANAGEMENT SYSTEM
20
The Toolbox Window is the selection menu for controls used in your
application.
VB6:-
Pointer
Picture Box
Label
Text Box
Frame
Command Button
Check Box
Option Button
Combo Box
List Box
Horizontal Scroll Bar
Vertical Scroll Bar
Timer
Drive
Directory
Files
Shape
Line
Image
Data Control
OLE
If the toolbox window is not present on the screen, click View on the main menu, then
Toolbox.
FEATURES OF VISUAL BASIC 6.0:1. Good User Interface.
2. OLE Features.
3. Windows API Features.
4. 32 bit Programming Languages.
5. Data Management
HOSPITAL MANAGEMENT SYSTEM
21
6. Online Help
7. Data Access.
AREAS OF APPLICATION
The term "Personal Programming" refers to the idea that, wherever you work,
whatever you do, you can expand your computer's usefulness by writing applications
to use in your own job. Personal Programming is what Visual Basic is all about.
Using Visual Basic's tools, you quickly translate an abstract idea into a program
design you can actually see on the screen. VB encourages you to experiment, revise,
correct, and network your design until the new project meets your requirements.
However, most of all, it inspires your imagination and creativity.
Visual Basic is ideal for developing applications that run in the new Windows 95
operating system. VB presents a 3-step approach for creating programs:
1. Design the appearance of your application.
2. Assign property settings to the objects of your program.
3. Write the code to direct specific tasks at runtime.
HOSPITAL MANAGEMENT SYSTEM
22
Visual Basic can and is used in a number of different areas, for example:
Education
Research
Medicine
Business
Commerce
Marketing and Sales
Accounting
Consulting
Law
Science
HOSPITAL MANAGEMENT SYSTEM
23
BACK END (MS ACCESS)
HOSPITAL MANAGEMENT SYSTEM
24
MICROSOFT ACCESS
Microsoft Access is the default database of Microsoft Visual Basic. Microsoft
Access 2003 provides many new features that make working with data and designing
a database even easier. Microsoft Access Database is a collection of data and objects
related to particular topic or purpose. Microsoft Access Database may contain tables;
queries, forms, reports, macros modules and shortcuts top data access pages.
Microsoft Access is a Relational Database Management System. Using Access
we can organize our data according to subject and can store information about how
different subject are related. In general MS-Access database can have several small
tables.
Microsoft Office Access, previously known as Microsoft Access, is a relational
database management system from Microsoft that combines the relational Microsoft
Jet Database Engine with a graphical user interface and software development tools. It
is a member of the 2007 Microsoft Office system.
Access can use data stored in Access/Jet, Microsoft SQL Server, Oracle, or any
ODBC-compliant data container (including MySQL and PostgreSQL). Skilled
HOSPITAL MANAGEMENT SYSTEM
25
software developers and data architects use it to develop application software.
Relatively unskilled programmers and non-programmer "power users" can use it to
build simple applications. It supports some object-oriented techniques but falls short
of being a fully object-oriented development tool.
Access was also the name of a communications program from Microsoft, meant to
compete with ProComm and other programs. This proved a failure and was dropped.
Years later Microsoft reused the name for its database software.
Access is used by small businesses, within departments of large corporations, and by
hobby programmers to create ad hoc customized desktop systems for handling the
creation and manipulation of data. Access can be used as a database for basic web
based applications hosted on Microsoft's Internet Information Services and utilizing
Microsoft Active Server Pages ASP. Most typical web applications should use tools
like ASP/Microsoft SQL Server or the LAMP stack.
Some professional application developers use Access for rapid application
development, especially for the creation of prototypes and standalone applications
that serve as tools for on-the-road salesmen. Access does not scale well if data access
is via a network, so applications that are used by more than a handful of people tend
to rely on Client-Server based solutions. However, an Access "front end" (the forms,
reports, queries and VB code) can be used against a host of database back ends,
including JET (file-based database engine, used in Access by default), Microsoft SQL
Server, Oracle, and any other ODBC-compliant product.
Features
One of the benefits of Access from a programmer's perspective is its relative
compatibility with SQL (structured query language) —queries may be viewed and
HOSPITAL MANAGEMENT SYSTEM
26
edited as SQL statements, and SQL statements can be used directly in Macros and
VBA Modules to manipulate Access tables. Users may mix and use both VBA and
"Macros" for programming forms and logic and offers object-oriented possibilities.
MSDE (Microsoft SQL Server Desktop Engine) 2000, a mini-version of MS SQL
Server 2000, is included with the developer edition of Office XP and may be used
with Access as an alternative to the Jet Database Engine.
Unlike a modern RDBMS, the Access and the Jet Engine implements database
triggers and stored procedures in a non-standard way. Stored Procedures are
implemented in VBA, and Triggers are only available from embedded Forms. Both
Triggers and Stored procedures are only available to applications built completely
within the Access database management system. Client applications built with VB or
C++ are not able to access these features. Starting in MS Access 2003 (Jet 4.0), there
is a new syntax for creating queries with parameters, in a way that looks like creating
stored procedures, but these procedures are still limited to one statement per
procedure. Microsoft Access does allow forms to contain code that is triggered as
changes are made to the underlying table (as long as the modifications are done only
with that form), and it is common to use pass-through queries and other techniques in
Access to run stored procedures in RDBMSs that support these.
In ADP files (supported in MS Access 2003 and later), the database-related features
are entirely different, because this type of file connects to a MSDE or Microsoft SQL
Server, instead of using the Jet Engine. Thus, it supports the creation of nearly all
objects in the underlying server (tables with constraints and triggers, views, stored
procedures and UDF-s). However, only forms, reports, macros and modules are stored
in the ADP file (the other objects are stored in the back-end database).
HOSPITAL MANAGEMENT SYSTEM
27
PLATFORM SPECIFICATION
HOSPITAL MANAGEMENT SYSTEM
28
PLATFORM SPECIFICATION
Processor
: Intel Pentium IV 2.4 GHZ or above
Clock speed
: 500 MHZ
System bus
: 32 bits
RAM
: 256MB of RAM
HDD
: 40 GB or higher
Monitor
: SVGA COLOR
Keyboard
: 108 keys
Mouse
: 2 button mouse
OS
: MS WINDOWS XP SP2
HOSPITAL MANAGEMENT SYSTEM
29
DATA FLOW DIAGRAMS
HOSPITAL MANAGEMENT SYSTEM
30
DATA FLOW DIAGRAMS
DFD for Login Module
Password
Administrator
Verifying User Name
and Password
Ok
Enter Administrator/User
User
User
Password
Rejected
Login File
DFD for Billing process
File
User
Item Code
Item
Details
Sales process
Updating process
Item
Billing process
Quotation Details
Stock File
HOSPITAL MANAGEMENT SYSTEM
31
CustomerBill
E-R DIAGRAMS
HOSPITAL MANAGEMENT SYSTEM
32
ENTITY RELATIONSHIP DIAGRAMS
Administrator
Controls
Date-Started
HOD
Name
Works On
Employee
Emp- Number
Department
Address
Dept number
Dept Name
Works On
Name
Name
Name
Treated by
Doctor
Patient
Patient ID
Dr-ID
Address
HOSPITAL MANAGEMENT SYSTEM
33
Address
SNAPSHOTS
HOSPITAL MANAGEMENT SYSTEM
34
LOGIN WINDOW
HOSPITAL MANAGEMENT SYSTEM
35
MAIN WINDOW
HOSPITAL MANAGEMENT SYSTEM
36
ADMIN REGISTRATION
USER REGISTRATION
HOSPITAL MANAGEMENT SYSTEM
37
DOCTOR REGISTRATION
HOSPITAL MANAGEMENT SYSTEM
38
CHANGE PASSWORD
HOSPITAL MANAGEMENT SYSTEM
39
ADD DEPARTMENT
ADD NEW ROOM
HOSPITAL MANAGEMENT SYSTEM
40
ADD NEW MEDICINE
PATIENT REGISTRATION
HOSPITAL MANAGEMENT SYSTEM
41
LAB UPDATE
HOSPITAL MANAGEMENT SYSTEM
42
PATIENT SEARCH
DOCTER SEARCH
HOSPITAL MANAGEMENT SYSTEM
43
IN PATIENT BILL
HOSPITAL MANAGEMENT SYSTEM
44
HOSPITAL MANAGEMENT SYSTEM
45
OUT PATIENT BILL
LAB BILL
HOSPITAL MANAGEMENT SYSTEM
46
PHARMACY BILL
HOSPITAL MANAGEMENT SYSTEM
47
HOSPITAL MANAGEMENT SYSTEM
48
DATABASE DESIGN
HOSPITAL MANAGEMENT SYSTEM
49
DATABASE DESIGN
TABLE NAME:- ADMINLOGIN
Field Name
Description
Data Type
Width
User Name
Password
User Name
User Name
Text
Text
50
50
TABLE NAME:- DOCREG
Field Name
Description
Data Type
Width
Dr name
Sex
Dept
Consultation time
Address
Contact no
Emergency no
Consult fee
Date
Consultation day
Tot pat
Doctor Name
Sex
Department
Consultation Time
Address
Contact Number
Emergency Number
Consultation fees
Date
Consultation Day
Total Patient
Text
Text
Text
Text
Text
Number
Number
Number
Date/Time
Text
Number
50
50
50
50
50
Long
Long
Long
Date/Time
50
Double
TABLE NAME:- PATIENTDETAILS
Field Name
Description
Data Type
Width
Name
Age
Sex
Address
Doctor
Patient id
Reg fee
Name
Age
Sex
Address
Doctor
Patient id
Registration fees
Text
Number
Text
Text
Text
Text
Number
50
Integer
50
50
50
50
Double
HOSPITAL MANAGEMENT SYSTEM
50
Admin Date
Room no
Admitted Date
Room Number
Date/Time
Number
Date/Time
Integer
TABLE NAME:- MEDICINE
Field Name
Description
Data Type
Width
Medname
Medtype
Amt
Expdate
Stock
Medicine Name
Medicine Type
Amount
Expiry Date
Stock
Text
Text
Number
Date/Time
Number
50
Double
50
50
Double
TABLE NAME:- DISCHARGESHEET
Field Name
Description
Data Type
Width
Patient id
Name
Doctor
Remark
Totbill
Date
Patient id
Name
Doctor
Remark
Total Bill
Date
Number
Text
Text
Text
Number
Date/Time
Double
50
50
50
Double
Date/Time
TABLE NAME:- LABUPDATE
Field Name
Description
Data Type
Width
Testname
Amt
Test name
Amount
Text
Number
50
Double
HOSPITAL MANAGEMENT SYSTEM
51
SAMPLE COADING
HOSPITAL MANAGEMENT SYSTEM
52
SAMPLE COADING
LOGIN WIDOW(frmLOG):Private Sub Command1_Click()
db.Open
Set rs = db.Execute("SELECT * FROM ADMINLOGIN where username='" &
txt_username.Text & "'")
If (txt_password = "" And txt_username = "") Then
MsgBox "Login not possible"
Else
If Not rs.EOF() Then
If (rs(1) = txt_password.Text) Then
Unload Me
frmmenu.Show
frmlog_ADMIN.Show
Else
LOG_N_POSS.Show
End If
Else
MsgBox "EOF Reached"
End If
End If
db.Close
End Sub
Private Sub Command2_Click()
txt_username = ""
txt_password = ""
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
HOSPITAL MANAGEMENT SYSTEM
53
Private Sub Command4_Click()
db.Open
Set rs = db.Execute("SELECT * FROM STAFFLOGIN where username='" &
txt_username.Text & "'")
If Not rs.EOF() Then
If (rs(1) = txt_password.Text) Then
frmmenu.Show
frmlog_USER.Show
frmmenu.LOG_OFF.Enabled = True
frmmenu.Admin.Enabled = False
Unload Me
Else
LOG_N_POSS.Show
End If
Else
MsgBox "Invalid Username or Password"
End If
db.Close
End Sub
Private Sub Form_Load()
connectdb
End Sub
HOSPITAL MANAGEMENT SYSTEM
54
ADD NEW DEPARTMENT(AddDep):Dim m_MissingFields As String
Private Sub Command1_Click()
If ValidateForm() = True Then
db.Open
db.Execute ("INSERT INTO DEPARTMENT VALUES('" & txt_dept.Text & " ', '"
& cmb_hod.Text & "'," & txt_floor & ")")
MsgBox "Record added successfully"
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
db.Open
rs.Open "SELECT * FROM DOCREG", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF()
cmb_hod.AddItem rs!Drname
rs.MoveNext
Wend
db.Close
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_dept.Text = "" Then
m_MissingFields = m_MissingFields & "Dept Name,"
m_valid = False
End If
If txt_floor.Text = "" Then
m_MissingFields = m_MissingFields & "Floor,"
m_valid = False
End If
ValidateForm = m_valid
HOSPITAL MANAGEMENT SYSTEM
55
End Function
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
ADD NEW ROOM(Addroom):Dim m_MissingFields As String
Private Sub Cmd_add_Click()
If ValidateForm = True Then
db.Open
db.Execute ("INSERT INTO ADDROOM VALUES(" & txt_romno.Text & ",'" &
combo_rtype.Text & "'," & txt_amt.Text & ",'N')")
MsgBox ("Record added successfully")
txt_amt.Text = ""
txt_romno.Text = ""
combo_rtype.ListIndex = 0
'db.Close
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
End Sub
Private Sub cmd_cancel_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
combo_rtype.ListIndex = 0
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_romno.Text = "" Then
m_MissingFields = m_MissingFields & "Room No,"
m_valid = False
End If
If txt_amt.Text = "" Then
m_MissingFields = m_MissingFields & "Amount,"
m_valid = False
End If
ValidateForm = m_valid
End Function
HOSPITAL MANAGEMENT SYSTEM
56
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
ADMIN REGISTRATION(AdminReg):Private Sub cmd_save_Click()
db.Open
db.Execute ("INSERT INTO ADMINLOGIN VALUES('" & txt_username.Text & "','"
& txt_password.Text & "')")
MsgBox "NEW USER SAVED IN RECORD"
End Sub
Private Sub cmd_cancel_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
57
CHANGE ADMIN PASSWORD(cng_admin_pass):Dim m_pwd As String
Dim sql As String
Private Sub Command1_Click()
db.Open
sql = " SELECT * FROM ADMINLOGIN where username='" & txt_usrname.Text &
"'"
rs.Open sql, db, 3, 3
If Not rs.EOF() Then
If (rs(1) = txt_oldpw.Text) Then
If (txt_newpw.Text = txt_confirm.Text) Then
m_pwd = txt_newpw.Text
rs.Fields("password") = m_pwd
rs.Update
MsgBox "Successful"
Else
MsgBox "Password missmatch"
End If
Else
MsgBox "Error"
End If
Else
MsgBox "EOF Reached"
End If
'db.Close
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
58
DISCHARGE SHEET(DISCHARGEsheet):Dim m_MissingFields As String
Dim w As Double
Private Sub cmd_cancel_Click()
Unload Me
End Sub
Private Sub cmd_save_Click()
Dim roomno As Integer
If ValidateForm = True Then
db.Execute ("INSERT INTO DISCHARGESHEET VALUES('" & txtPatID.Text &
" ','" & txt_name.Text & "','" & txt_dr.Text & "', '" & txt_remarks.Text & "'," &
txt_totbill.Text & ",'" & DTP.Value & "')")
rs.Open "SELECT RoomNo FROM PATIENTDETAILS WHERE patientid='" &
Val(txtPatID.Text) & "'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF Then
roomno = rs!roomno
End If
rs.Close
db.Execute ("UPDATE ADDROOM SET Allocated='N' WHERE roomno=" &
roomno)
MsgBox "Recorded added successfully"
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_remarks.Text = "" Then
m_MissingFields = m_MissingFields & "Remarks ,"
m_valid = False
End If
If txt_totbill.Text = "" Then
HOSPITAL MANAGEMENT SYSTEM
59
m_MissingFields = m_MissingFields & "Bill Amount,"
m_valid = False
End If
ValidateForm = m_valid
End Function
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
60
DOCTOR REGISTRATION(Docreg):Dim m_time As String
Dim m_MissingFields As String
Private Sub Command1_Click()
If ValidateForm = True Then
db.Open
m_time = txt_timefrom.Text & " to " & txt_timeto.Text
rs.Open "DOCREG", db, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Drname = txt_name.Text
If opt_male.Value = True Then
rs!sex = "Male"
Else
rs!sex = "Female"
End If
rs!dept = cmb_dept.Text
rs!consultationtime = m_time
rs!address = txt_address.Text
rs!contactno = txt_contactno.Text
rs!emergencyno = txt_emergency.Text
rs!Date = DTP.Value
rs!consultationday = comb_day.Text
rs!totpat = txt_totpat.Text
rs!consultfee = txt_fee.Text
rs.Update
MsgBox "One Doctor Registered", vbInformation, "Doctor ADDED"
rs.Close
rs.Open "PATCOUNT", db, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Drname = txt_name.Text
rs!patcount = txt_totpat.Text
rs!Date = DTP.Value
rs.Update
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
HOSPITAL MANAGEMENT SYSTEM
61
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
db.Open
rs.Open "SELECT * FROM DEPARTMENT", db, adOpenDynamic,
adLockOptimistic
While Not rs.EOF()
cmb_dept.AddItem rs!dept
rs.MoveNext
Wend
db.Close
comb_day.AddItem "Monday"
comb_day.AddItem "Tuesday"
comb_day.AddItem "Wednesday"
comb_day.AddItem "Thursday"
comb_day.AddItem "Friday"
comb_day.AddItem "Saturday"
comb_day.AddItem "Sunday"
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_name.Text = "" Then
m_MissingFields = m_MissingFields & "Name,"
m_valid = False
End If
If cmb_dept.Text = "" Then
m_MissingFields = m_MissingFields & "Dept Name,"
m_valid = False
End If
If txt_timefrom.Text = "" Then
m_MissingFields = m_MissingFields & "Time From,"
m_valid = False
End If
If txt_timeto.Text = "" Then
m_MissingFields = m_MissingFields & "Time To,"
m_valid = False
End If
If txt_address.Text = "" Then
m_MissingFields = m_MissingFields & "Address,"
m_valid = False
End If
If txt_contactno.Text = "" Then
m_MissingFields = m_MissingFields & "Contact no,"
HOSPITAL MANAGEMENT SYSTEM
62
m_valid = False
End If
If txt_emergency.Text = "" Then
m_MissingFields = m_MissingFields & "Emergency no,"
m_valid = False
End If
If txt_fee.Text = "" Then
m_MissingFields = m_MissingFields & "Fees,"
m_valid = False
End If
ValidateForm = m_valid
End Function
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
63
DOCTOR SEARCH(DoctarSearch):Private Sub Combo1_Click()
db.Open
rs.Open "select * from DOCREG where drname='" + Combo1.Text + "' ", db,
adOpenDynamic, adLockOptimistic
Label6.Caption = rs!dept
Label8.Caption = rs!consultationtime
Label11.Caption = rs!address
Label12.Caption = rs!contactno
Label13.Caption = rs!emergencyno
db.Close
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
db.Open
rs.Open "DOCREG", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Combo1.AddItem rs!Drname
rs.MoveNext
Wend
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
64
IN PATIENT BILL (In_Bill):Dim billno As Integer
Dim w As Integer
Dim addt As Date
Dim diff As Integer
Private Sub cm_close_Click()
Unload Me
End Sub
Private Sub cmd_dis_Click()
w=0
rs.Open "select * from LABBILL where patientid=" + Combo_PATID.Text + " ", db,
adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
w = w + rs("total")
Else
w=w
End If
rs.Close
rs.Open "select * from PHARBILL where patientid=" + Combo_PATID.Text + " ",
db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
w = w + rs("tot")
Else
w=w
End If
rs.Close
rs.Open "select * from PATIENTBILL where patientid=" + Combo_PATID.Text + " ",
db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
w = w + rs("tot")
Else
w=w
End If
rs.Close
HOSPITAL MANAGEMENT SYSTEM
65
Load DISCHARGEsheet
DISCHARGEsheet.txt_totbill.Text = w
DISCHARGEsheet.txtPatID.Text = Combo_PATID.Text
DISCHARGEsheet.txt_dr.Text = Combo_dr.Text
DISCHARGEsheet.txt_name.Text = txt_name.Text
DISCHARGEsheet.Show
Unload Me
End Sub
Private Sub cmd_save_Click()
If ValidateForm = True Then
db.Open
rs.Open "PATIENTBILL", db, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Name = txt_name.Text
rs!regdate = txt_regdate.Text
rs!patientid = Combo_PATID.Text
rs!doctor = Combo_dr.Text
rs!regdate = txt_regdate.Text
rs!billno = txt_billno.Text
rs!room = txt_room.Text
rs!amt = txt_amt.Text
rs!tot = diff
rs.Update
rs.Close
MsgBox "Recorded added sucessfully"
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
cmd_dis.Enabled = True
cmd_save.Enabled = False
billno = billno + 1
txt_billno.Text = billno
End Sub
Private Sub Combo_patid_Click()
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS WHERE patientid='" +
Combo_PATID.Text + "'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
txt_regdate.Text = rs!admindate
txt_name.Text = rs!Name
txt_regdate.Text = rs!admindate
HOSPITAL MANAGEMENT SYSTEM
66
addt = rs!admindate
Combo_dr.Text = rs!doctor
txt_room.Text = rs!roomno
rs.Close
rs.Open "SELECT amt from ADDROOM WHERE roomno=" &
Val(txt_room.Text)
If Not rs.EOF Then
txt_amt.Text = rs!amt
End If
Else
MsgBox "No Rooms allotted"
End If
db.Close
diff = DateDiff("d", addt, Now)
diff = diff * Val(txt_amt.Text)
txt_tot.Text = diff
End Sub
Private Sub Form_Load()
connectdb
db.Open
rs.Open "SELECT patientid FROM PATIENTDETAILS WHERE Type='IP'", db,
adOpenDynamic, adLockOptimistic
While Not rs.EOF
Combo_PATID.AddItem rs!patientid
rs.MoveNext
Wend
db.Close
db.Open
rs.Open "DOCREG", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Combo_dr.AddItem rs!Drname
rs.MoveNext
Wend
db.Close
'db.Open
db.Open
rs.Open "SELECT COUNT(*) FROM PATIENTBILL", db, adOpenDynamic,
adLockOptimistic
If (rs(0) = 0) Then
txt_billno.Text = 1
Else
txt_billno.Text = rs(0)
End If
db.Close
HOSPITAL MANAGEMENT SYSTEM
67
End Sub
Private Sub Label11_Click()
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_name.Text = "" Then
m_MissingFields = m_MissingFields & "Name,"
m_valid = False
End If
If txt_amt.Text = "" Then
m_MissingFields = m_MissingFields & "Amount,"
m_valid = False
End If
ValidateForm = m_valid
End Function
HOSPITAL MANAGEMENT SYSTEM
68
LAB BILL(LAB_BILL):Dim billno As Integer
Dim i As Integer
Dim k As Integer
Dim m_MissingFields As String
Private Sub combo_labtests_Click()
If (combo_labtests.ListIndex = 0) Then
Command4.Enabled = False
Else
Command4.Enabled = True
End If
rs.Open "SELECT * FROM LABUPDATE WHERE testname='" &
combo_labtests.Text & "'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
lblamt.Caption = rs!amt
End If
rs.Close
End Sub
Private Sub Command2_Click()
For k = 1 To MSF.Rows - 2
db.Execute ("INSERT INTO LABBILL VALUES( " & txt_billno.Text & ",'" &
Combo_PATID.Text & _
"','" & MSF.TextMatrix(k, 1) & "'," & MSF.TextMatrix(k, 2) & _
"," & lbl_tot.Caption & ")")
Next
MsgBox "Recorded added successfully"
For k = 1 To MSF.Rows - 2
MSF.TextMatrix(k, 0) = ""
MSF.TextMatrix(k, 1) = ""
MSF.TextMatrix(k, 2) = ""
Next
MSF.Rows = 2
i=1
txt_billno.Text = billno + 1
Command2.Enabled = False
HOSPITAL MANAGEMENT SYSTEM
69
lbl_tot.Caption = ""
End Sub
Private Sub Command3_Click()
billno = billno - 1
db.Close
Unload Me
End Sub
Private Sub Command4_Click()
MSF.TextMatrix(i, 0) = i
MSF.TextMatrix(i, 1) = combo_labtests.Text
MSF.TextMatrix(i, 2) = lblamt.Caption
lbl_tot.Caption = Val(lbl_tot.Caption) + MSF.TextMatrix(i, 2)
MSF.Rows = MSF.Rows + 1
i=i+1
combo_labtests.ListIndex = 0
lblamt.Caption = ""
Command2.Enabled = True
End Sub
Private Sub Form_Load()
If (combo_labtests.Text = "") Then
Command4.Enabled = False
Else
Command4.Enabled = True
End If
i=1
connectdb
db.Open
combo_labtests.AddItem ""
rs.Open "SELECT * FROM LABUPDATE", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF()
combo_labtests.AddItem rs!testname
rs.MoveNext
Wend
rs.Close
rs.Open "SELECT * FROM PATIENTDETAILS", db, adOpenDynamic,
adLockOptimistic
While Not rs.EOF()
Combo_PATID.AddItem rs!patientid
rs.MoveNext
Wend
rs.Close
lbl_tot.Caption = 0
HOSPITAL MANAGEMENT SYSTEM
70
rs.Open "SELECT COUNT(*) FROM LABBILL", db, adOpenDynamic,
adLockOptimistic
billno = rs(0)
If (billno = 0) Then
txt_billno.Text = 1
Else
billno = billno
txt_billno.Text = billno
End If
rs.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
71
LAB UPDATE(LABUPDATE):Private Sub Command1_Click()
db.Open
db.Execute ("INSERT INTO LABUPDATE VALUES('" & txt_tname.Text & "'," &
txt_amt.Text & ")")
MsgBox "Record added sucessfully"
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
72
ADD NEW MEDICINE(Medi):Private Sub Command1_Click()
db.Open
db.Execute ("INSERT INTO MEDICINE VALUES('" & txt_mname.Text & "','" &
Combo_medtype.Text & "'," & txt_amt.Text & ",'" & DTP.Value & "'," &
txt_stock.Text & ")")
MsgBox "Record Successfully added"
'db.Close
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
connectdb
Combo_medtype.Text = "Capsule"
Combo_medtype.AddItem "Capsule"
Combo_medtype.AddItem "Syrup"
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
73
OUT PATIENT BILL(OP_bill):Dim m_count As Integer
Dim total As Integer
Dim m_MissingFields As String
Private Sub Command1_Click()
db.Open
rs.Open "OPPHARMACY", db, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Name = txt_name.Text
rs!Amount = txt_amt.Text
rs!billno = txt_billno.Text
rs!Date = DTP.Value
rs!pamt = txt_pamt.Text
rs!labamt = txt_lamt.Text
rs!tot = txt_tot.Text
rs!patientid = Combo_PATID.Text
rs!doctor = Combo_dr.Text
rs.Update
'MsgBox "You are registered", vbInformation, "UserAdded"
rs.Close
db.Close
End Sub
Private Sub cmd_save_Click()
If ValidateForm = True Then
db.Open
db.Execute "INSERT INTO OPBILL VALUES(" & txt_billno.Text & "," &
Combo_PATID.Text & ",'" & txt_name.Text & _
"','" & Combo_dr.Text & "','" & DTP.Value & "'," &
txt_amt.Text & _
"," & txt_pamt.Text & "," & txt_lamt.Text & "," &
txt_tot.Text & " )"
MsgBox "Record added successfully"
'db.Close
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
HOSPITAL MANAGEMENT SYSTEM
74
End Sub
Private Sub Combo_patid_Click()
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS WHERE patientid='" +
Combo_PATID.Text + "'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
txt_name.Text = rs!Name
Else
MsgBox "Record not found"
End If
rs.Close
rs.Open "SELECT * FROM PHARBILL WHERE patientid=" + Combo_PATID.Text
+ " ", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
txt_pamt.Text = rs!tot
rs.Close
Else
txt_pamt.Text = 0
'MsgBox "Not Found"
End If
rs.Close
rs.Open "SELECT * FROM LABBILL WHERE patientid=" + Combo_PATID.Text +
" ", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
txt_lamt.Text = rs!total
rs.Close
Else
txt_lamt.Text = 0
'MsgBox "Amount field is empty"
End If
db.Close
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
'db.Close
connectdb
db.Open
rs.Open "DOCREG", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Combo_dr.AddItem rs!Drname
rs.MoveNext
Wend
HOSPITAL MANAGEMENT SYSTEM
75
db.Close
db.Open
rs.Open "PATIENTDETAILS", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Combo_PATID.AddItem rs!patientid
rs.MoveNext
Wend
db.Close
db.Open
rs.Open "SELECT COUNT(*) FROM OPBILL", db, adOpenDynamic,
adLockOptimistic
m_count = rs(0)
If (m_count = 0) Then
m_count = 1
txt_billno.Text = m_count
Else
m_count = m_count + 1
txt_billno.Text = m_count
End If
db.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
Private Sub txt_amt_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
total = Val(txt_amt.Text) + Val(txt_lamt.Text) + Val(txt_pamt.Text)
txt_tot.Text = total
cmd_save.SetFocus
End If
End Sub
Private Sub txt_lamt_KeyPress(KeyAscii As Integer)
' If KeyAscii = 13 Then
'
total = Val(txt_amt.Text) + Val(txt_lamt.Text) + Val(txt_pamt.Text)
'
txt_tot.Text = total
'
cmd_save.SetFocus
' 'Else
'
'MsgBox "Please press enter key"
'
'txt_lamt.SetFocus
' End If
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_name.Text = "" Then
HOSPITAL MANAGEMENT SYSTEM
76
m_MissingFields = m_MissingFields & "Name,"
m_valid = False
End If
If txt_amt.Text = "" Then
m_MissingFields = m_MissingFields & "Amount,"
m_valid = False
End If
If txt_lamt.Text = "" Then
m_MissingFields = m_MissingFields & "Lab Amount,"
m_valid = False
End If
If txt_pamt.Text = "" Then
m_MissingFields = m_MissingFields & "Pharmacy Amount,"
m_valid = False
End If
If txt_tot.Text = "" Then
m_MissingFields = m_MissingFields & "Total,"
m_valid = False
End If
ValidateForm = m_valid
End Function
HOSPITAL MANAGEMENT SYSTEM
77
PATEINT REGISTRATION (PateintReg):Dim m_sx As String
Dim m_patid As Integer
Dim m_patcount As Integer
Dim m_totpat As Integer
Dim m_MissingFields As String
Private Sub cmd_del_Click()
'MsgBox ("DELETE FROM PATIENTDETAILS WHERE
timestampdiff(SQL_TSI_MONTH," & Date & ",ts admindate))")
End Sub
Private Sub Combo_drpref_Click()
db.Open
rs.Open "SELECT * FROM DOCREG WHERE drname='" & Combo_drpref.Text &
"' ", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
m_totpat = rs!totpat
'Else
'MsgBox "Not found"
'End If
'rs.Close
'rs.Open "SELECT * FROM DrREGISTRATION WHERE drname='" &
Combo_drpref.Text & "' ", db, adOpenDynamic, adLockOptimistic
'If Not rs.EOF() Then
txt_regfee.Text = rs!consultfee
Else
MsgBox "Record not found"
End If
rs.Close
rs.Open "SELECT * FROM PATCOUNT WHERE drname='" & Combo_drpref.Text
& "'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
m_patcount = rs!patcount
If (m_patcount > m_totpat) Then
MsgBox "Patient Count Exceeds please assign to another Doctor"
End If
Else
MsgBox "Record not Found"
End If
HOSPITAL MANAGEMENT SYSTEM
78
rs.Close
'End If
db.Close
End Sub
Private Sub Combo_patid_Click()
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS WHERE patientid='" &
Combo_PATID.Text & "'", db, adOpenDynamic, adLockOptimistic
lst_names.AddItem rs!Name
lst_age.AddItem rs!age
lst_add.AddItem rs!address
db.Close
Command3.Enabled = False
End Sub
Private Sub Command1_Click()
Dim pattype As String
Dim rno As Integer
If Opt_male = True Then
m_sx = "male"
Else
m_sx = "female"
End If
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS where patientid='" &
txt_patientid.Text & "' ", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
MsgBox "Patient ID allready exist"
Else
If ValidateForm = True Then
If rdoIP.Value = True Then
pattype = rdoIP.Caption
rno = Val(cmbRoomNo.Text)
Else
pattype = rdoOP.Caption
rno = -1
End If
db.Execute ("INSERT INTO PATIENTDETAILS VALUES('" & txt_name.Text &
"'," & _
txt_age.Text & ",'" & m_sx & "','" & txt_address.Text & "','" & _
Combo_drpref.Text & "','" & txt_patientid & "'," & txt_regfee & ",' " & _
DTP.Value & "','" & pattype & "'," & rno & ")")
db.Execute ("UPDATE ADDROOM SET Allocated='Y' WHERE roomno=" &
Val(cmbRoomNo.Text))
MsgBox "Record added successfully"
m_patid = m_patid + 1
Else
HOSPITAL MANAGEMENT SYSTEM
79
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
End If
db.Close
'm_patid = m_patid + 1
txt_address.Text = ""
txt_age.Text = ""
txt_name.Text = ""
txt_regfee.Text = ""
txt_patientid.Text = m_patid
db.Open
m_patcount = m_patcount + 1
rs.Open "SELECT * FROM PATCOUNT WHERE drname='" & Combo_drpref.Text
& "'", db, adOpenDynamic, adLockOptimistic
'db.Execute ("UPDATE PATCOUNT SET patcount= " & m_patcount & " WHERE
drname=' " & Combo_drpref.Text & "' ")
If Not rs.EOF() Then
rs!patcount = m_patcount
rs.Update
Else
MsgBox "Please fill all the fields"
End If
db.Close
End Sub
Private Sub DTPicker1_Change()
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
If (txt_dt.Text = "") Then
MsgBox "Please enter the date", vbCritical, "Warning"
Else
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS WHERE admindate= #" &
txt_dt.Text & "# ", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF()
lst_names.AddItem rs!Name
lst_age.AddItem rs!age
lst_add.AddItem rs!address
HOSPITAL MANAGEMENT SYSTEM
80
rs.MoveNext
Wend
db.Close
End If
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
Private Sub Command5_Click()
Combo_PATID.Text = ""
txt_dt.Text = ""
lst_age.Clear
lst_names.Clear
lst_add.Clear
End Sub
Private Sub Command6_Click()
End Sub
Private Sub Form_Load()
connectdb
db.Open
rs.Open "SELECT * FROM DOCREG", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF()
Combo_drpref.AddItem rs!Drname
rs.MoveNext
Wend
rs.Close
rs.Open "SELECT COUNT(*) FROM PATIENTDETAILS", db, adOpenDynamic,
adLockOptimistic
If (rs(0) = 0) Then
m_patid = 1
txt_patientid.Text = m_patid
Else
m_patid = rs(0) + 1
txt_patientid.Text = rs(0) + 1
End If
db.Close
rdoOP.Value = True
loadRooms
cmbRoomNo.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
HOSPITAL MANAGEMENT SYSTEM
81
On Error Resume Next
db.Close
End Sub
Private Sub rdoIP_Click()
If rdoIP.Value = True Then
cmbRoomNo.Enabled = True
End If
End Sub
Private Sub rdoOP_Click()
If rdoOP.Value = True Then
cmbRoomNo.Enabled = False
End If
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
db.Open
rs.Open "PATIENTDETAILS", db, adOpenDynamic, adLockOptimistic
While Not rs.EOF
Combo_PATID.AddItem rs!patientid
rs.MoveNext
Wend
db.Close
End Sub
Private Sub txt_dt_GotFocus()
Command3.Enabled = True
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_name.Text = "" Then
m_MissingFields = m_MissingFields & "Name,"
m_valid = False
End If
If txt_age.Text = "" Then
m_MissingFields = m_MissingFields & "Age,"
m_valid = False
End If
If txt_address.Text = "" Then
m_MissingFields = m_MissingFields & "Address,"
m_valid = False
End If
If txt_regfee.Text = "" Then
HOSPITAL MANAGEMENT SYSTEM
82
m_MissingFields = m_MissingFields & "Registration Fee,"
m_valid = False
End If
ValidateForm = m_valid
End Function
Public Sub loadRooms()
db.Open
rs.Open "SELECT roomno FROM ADDROOM WHERE Allocated='N'", db,
adOpenDynamic, adLockOptimistic
cmbRoomNo.Clear
While Not rs.EOF
cmbRoomNo.AddItem rs.Fields(0)
rs.MoveNext
Wend
If (cmbRoomNo.ListCount > 0) Then
cmbRoomNo.ListIndex = 0
End If
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
83
PATEINT SEARCH (PateintSearch):Private Sub cmd_close_Click()
Unload Me
End Sub
Private Sub Combo_patid_Click()
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS WHERE patientid= '" +
Combo_PATID.Text + "'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
txt_name.Text = rs!Name
txt_address.Text = rs!address
Else
MsgBox "Record not found"
End If
rs.Close
rs.Open "SELECT * FROM PATIENTDETAILS WHERE patientid= '" &
Combo_PATID.Text & "' and type='IP'"
If Not rs.EOF() Then
txt_roomno.Text = rs!roomno
Else
MsgBox "Record not found"
End If
db.Close
End Sub
Private Sub Command1_Click()
End Sub
Private Sub Form_Load()
connectdb
db.Open
rs.Open "SELECT * FROM PATIENTDETAILS WHERE type='IP'", db,
adOpenDynamic, adLockOptimistic
While Not rs.EOF()
Combo_PATID.AddItem rs!patientid
rs.MoveNext
Wend
HOSPITAL MANAGEMENT SYSTEM
84
db.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
PHARMACY BILL(PHAR_bill):Dim i As Integer
Dim j As Integer
Dim amt As Double
Dim billno As Integer
Dim m_MissingFields As String
Private Sub cmd_save_Click()
'If ValidateForm = True Then
For k = 1 To MSF.Rows - 2
db.Execute ("INSERT INTO PHARBILL VALUES( " & txt_billno.Text & ",'" &
DTP.Value & _
"','" & Combo_PATID.Text & "','" & MSF.TextMatrix(k, 1) & "','" &
MSF.TextMatrix(k, 2) & _
"'," & MSF.TextMatrix(k, 3) & "," & lblTotal.Caption & ")")
Next
MsgBox "Recorded added successfully"
i=1
'Else
'm_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
'
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
'
m_MissingFields = ""
cmd_save.Enabled = False
MSF.Rows = 2
MSF.Clear
MSF.FormatString = "Sl No | Medicine
| Qty
| Amount
"
lblTotal.Caption = ""
End Sub
Private Sub Combo_med_Click()
rs.Open "SELECT * FROM MEDICINE WHERE medname='" + Combo_med.Text +
"'", db, adOpenDynamic, adLockOptimistic
If Not rs.EOF() Then
lblprice.Caption = rs!amt
End If
rs.Close
txt_qty.SetFocus
End Sub
HOSPITAL MANAGEMENT SYSTEM
85
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Form_Load()
i=1
connectdb
db.Open
rs.Open "SELECT * FROM MEDICINE", db, adOpenDynamic, adLockOptimistic
Combo_med.AddItem ""
While Not rs.EOF()
Combo_med.AddItem rs!medname
rs.MoveNext
Wend
rs.Close
rs.Open "SELECT COUNT(*) FROM PHARBILL", db, adOpenDynamic,
adLockOptimistic
billno = rs(0)
If (billno = 0) Then
txt_billno.Text = 1
Else
billno = billno + 1
txt_billno.Text = billno
End If
rs.Close
rs.Open "SELECT * FROM PATIENTDETAILS", db, adOpenDynamic,
adLockOptimistic
While Not rs.EOF()
Combo_PATID.AddItem rs!patientid
rs.MoveNext
Wend
rs.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
Private Sub txt_qty_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MSF.TextMatrix(i, 0) = i
MSF.TextMatrix(i, 1) = Combo_med.Text
MSF.TextMatrix(i, 2) = txt_qty.Text
MSF.TextMatrix(i, 3) = CDbl(Val(txt_qty.Text) * Val(lblprice.Caption))
lblTotal.Caption = Val(lblTotal.Caption) + MSF.TextMatrix(i, 3)
MSF.Rows = MSF.Rows + 1
HOSPITAL MANAGEMENT SYSTEM
86
i=i+1
txt_qty.Text = ""
lblprice.Caption = ""
Combo_med.ListIndex = 0
cmd_save.Enabled = True
End If
End Sub
USER REGISTRATION(UserReg):Dim m_sx As String
Dim m_MissingFields As String
Private Sub cmd_save_Click()
If ValidateForm = True Then
If (txt_password.Text = txt_confirmpassword.Text) Then
db.Open
If Opt_male.Value = True Then
m_sx = "male"
Else
m_sx = "female"
End If
db.Execute "INSERT INTO USER_REGISTRATION VALUES('" & txt_name.Text
& "'," & txt_age.Text & ",'" & _
m_sx & "','" & txt_address.Text & "'," & _
txt_phno.Text & ",'" & txt_username.Text & "','" &
txt_password.Text & "')"
db.Execute "INSERT INTO STAFFLOGIN VALUES('" & txt_username.Text & "','"
& txt_password.Text & "')"
MsgBox "You are registered", vbInformation, "UserAdded"
'db.Close
Else
MsgBox "Password Mismatch"
End If
Else
m_MissingFields = Left(m_MissingFields, Len(m_MissingFields) - 1)
MsgBox "Some fields(" & m_MissingFields & ")" & vbCrLf & " are missing,
please fill the fields and try again", vbCritical + vbOKOnly, "Missing fields"
m_MissingFields = ""
End If
End Sub
Private Sub cmd_cancel_Click()
Unload Me
End Sub
Private Sub Form_Load()
HOSPITAL MANAGEMENT SYSTEM
87
connectdb
End Sub
Private Function ValidateForm() As Boolean
Dim m_valid As Boolean
m_valid = True
If txt_name.Text = "" Then
m_MissingFields = m_MissingFields & "Name,"
m_valid = False
End If
If txt_age.Text = "" Then
m_MissingFields = m_MissingFields & "Age,"
m_valid = False
End If
If txt_address.Text = "" Then
m_MissingFields = m_MissingFields & "Address,"
m_valid = False
End If
If txt_phno.Text = "" Then
m_MissingFields = m_MissingFields & "Phonenumber,"
m_valid = False
End If
If txt_username.Text = "" Then
m_MissingFields = m_MissingFields & "Username,"
m_valid = False
End If
If txt_password.Text = "" Then
m_MissingFields = m_MissingFields & "Password,"
m_valid = False
End If
ValidateForm = m_valid
End Function
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
db.Close
End Sub
HOSPITAL MANAGEMENT SYSTEM
88
PROJECT REPORTS
HOSPITAL MANAGEMENT SYSTEM
89
PROJECT REPORTS
MEDICINE REPORT:-
HOSPITAL MANAGEMENT SYSTEM
90
USERS REPORT:-
HOSPITAL MANAGEMENT SYSTEM
91
FUTURE ENHANCEMENT
HOSPITAL MANAGEMENT SYSTEM
92
FUTURE ENHANCEMENT
The purpose of the project entitled as “HOSPITAL MANAGEMENT SYSTEM” is to
computerize the Front Office Management of Hospital to develop software which is
user friendly, simple, fast, and cost – effective. It deals with the collection of patient’s
information, diagnosis details, etc. Traditionally, it was done manually
The proposed system is Hospital Management System. We can enhance this
system by including more facilities like billing system, inpatient room allotment for
the admitted patients and the stock details of medicines in the pharmacy.
Providing such features enable the users to include more comments into the system.
HOSPITAL MANAGEMENT SYSTEM
93
CONCLUSION
HOSPITAL MANAGEMENT SYSTEM
94
CONCLUSION
The HOSPITAL MANAGEMENT SYSTEM is a great improvement over the manual
system using case fields and paper. The computerization of the system has sped up the
process. In the current system, the front office managing is very slow. The hospital
managing system was thoroughly checked and tested with dummy data and thus is
found to be very reliable.
ADVANTAGES
It is fast, efficient and reliable
Avoids data redundancy and inconsistency
Very user-friendly
Easy accessibility of data
Number of personnel required is considerably less
Provides more security and integrity to data
HOSPITAL MANAGEMENT SYSTEM
95
BIBLIOGRAPHY
HOSPITAL MANAGEMENT SYSTEM
96
BIBLIOGRAPHY
Books
A Complete Guide to Programming in Visual Basic .Net
-Michael McMillian
A Complete Visual Basic 6 Training Course: How to Programme:
Package
-Harvey M deitel,Paul j deitel,Tem R Neito
Advanced Programming Using Visual Basic: Version 6.0
-Julia Case Bradley
Access 2003 Power Programming with VBA
-Allen G Taylor