Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A PROJECT REPORT
Submitted by
Ayush Barnawal
13BTCSE007
inpartialfulfillmentfortheawardofthedegreeof
BACHELOROFTECHNOLOGY
IN
COMPUTERSCIENCE&ENGINEERING
At
ABSTRACT
'SANJEEVANI' is a hospital providing the Genuine Health Services. The
information about the patients admitted in the hospital is maintained properly
yet such information are not always easily accessible.
There is an emerging realization that the more widespread use of
Information Technology increases efficiency and enable changes in Health Care
Delivery Processes could do much to improve the performance of the Hospital
Management System, within the bound of appropriate measures to protect the
confidentiality of Patients Health Information. Hence, the Higher Authorities of
organization decided to enhance the Health Services and take the hospital to a
complete new level by introducing a Computer-based program i.e. Patient
Information System (PIS) including all the elements that facilitate the
formalities like Registration Form, Discharge Form, Hospital Staff Details,
Doctors Availability, Past Patients Record, Payment Details and Hospital
Information itself.
The Patient Information System is highly secure & is not
accessible by any user. Only Hospital Administrator and Receptionist can access
this system. Patient can easily track the doctors like their Timings,
Specialization. Likewise, doctors can easily make the progress report of
patients health from past patient information.
PIS is Swing-JDBC based Patient Information system whose Front End is
designed using Swing while Back End with Oracle 10g Express Edition.
INTRODUCTION
With all the research and medical information that is generated on a daily basis,
the storage requirements and data management are enormous. Hence, the Health
Institution will need to have a reliable storage system to store, retrieve and
preserve their work.
A data repository for patients Health Care Information system is becoming a
critical need. This data repository would contain comprehensive patient records,
including information such as Admitted On, Medical history, Discharge Date,
paid Dues and Hospitals information like Doctors Timing, Staffs availability.
Due to large volume and complexity of the data as well as the daily transaction
details, the implementation of PIS manually will be a complex and challenging
task, in particular with an archive system that is scalable and upgradeable with
time. PIS program offers a greater efficiency and accuracy for the hospital and
patient who needs specialists will be able to get treatment faster and easier.
Even therere advantages of having a patient record system, there are still flaw
in it. For instance, by having an electronic medical database in place, all
medical records will be allowed to access if Admins password is known. Thus,
increases the likelihood of security breach.
Nonetheless we should not overlook the good points of the medical record
system.
Requirements Specification
Depending on the decision given by the management on the Computer Based
Patient Information system is to be developed. Following are the requirements
based on which the system needs to be developed.
1. System will generate Registration Forms for newly admitted patients.
2. Users of this system can search for patient by name, admission date,
Discharge date, etc.
3. Users can view the previous visited patients histories (details).
4. System can maintain the list of doctor in the hospital.
5. System can maintain the list of beds/rooms available in the hospital.
6. Patients are categorized into "Patients under Treatment" and "Discharged
Patients"
7. Performs necessary validations like each patient and doctors have their
unique Identification Number.
PROJECT DESCRIPTION
Modules:
The Project contains several modules.
Administrator
Hospital Details
Doctors
Staffs
Patient Registration
Discharged Patients
Past Patient Records
Expenses Details
Analysis
Activity Chart
Patient
Entry
Attendant
Patient Admit
Patient Discharge
Payment
Report
Status
LANGUAGE SPECIFICATION
JAVA
JAVA is the most widely used object-oriented language today. It
is faster and more powerful than Java, another popular object-oriented
language, which lacks certain features such as pointers and multiple
inheritance.
Some important concepts of the object-oriented programming language
are as follows:
Objects
Classes
Data abstraction and encapsulation
Inheritance
Polymorphism
Dynamic binding
Message passing
Classes
We just mentioned that objects contain data, and code to
manipulate that data. The entire set of data and code of an object can be made a
user-defined data type with the help of a class. In fact, objects are variables of
the type class. Once a class has been defined, we can create any number of
objects belonging to that class. Each object is associated with the data of type
class with which they are created. A class is thus a collection of objects of
similar type. Classes are user-defined data types and behave like the built-in
types of a programming language. The syntax used to create an object is no
different than the syntax used to create an integer object in C.
Inheritance
Inheritance is the process by which objects of one class acquire the
properties of objects of another class. It supports the concept of
hierarchical classification. For example, the bird robin is a part of the
class flying bird which is again a part of the class bird. The principle
behind this sort of that each derived class shares common characteristics
with the class from which it is derived.
In OOP, the concept of inheritance provides the idea of reusability. This
means that we can add additional features to an existing class without
modifying it. This is possible by deriving a new class from the existing
one. The new class will have the combined features of both the classes.
The real appeal and power of the inheritance mechanism is that it allows
the programmer to reuse a class that is almost, but not exactly, what he
wants, and to tailor the class in such a way that it does not introduce any
undesirable side-effects into the rest of the classes.
Note that each sun-class defines only those features that
are unique to it. Without the use of classification, each class would have
to explicitly include all of its features.
Polymorphism
Polymorphism is another important OOP concept. Polymorphism, a
Greek term, means the ability to take more than one form. An operation
may exhibit different behaviors depends upon the types of data used in
the operation. For example, consider the operation of addition. For two
numbers, the operation will generate a sum. If the operands are strings,
then the operation would produce a third string by concatenation. The
process of making an operator to exhibit different behaviors in different
instances is known as operator overloading.
A single function name can be used to handle different number
and different types of arguments. This is something similar to a
particular word having several different meanings depending on the
context. Using a single function name to perform different types of
tasks is known as function overloading. Polymorphism plays an
important role in allowing objects having different internal structures to
share the same external interface. This means that a general class of
operations may be accessed in the same manner even though specific
action associated with each operation may differ. Polymorphism is
extensively used in implementing inheritance.
Dynamic Binding
Binding refers to the linking of a procedure call to the code to be
executed in response to the call. Dynamic binding (also known as late
binding) means that the code associated with a given procedure call is
not known until the time of the call at run-time. It is associated with
polymorphism and inheritance. A function call associated with a
polymorphism with a polymorphism reference depends on the dynamic
type of that reference.
Message Passing
An object-oriented program consists of a set of objects that
communicate with each other. The process of programming in an
object-oriented language, therefore, involves the following basic steps:
1. Creating classes that define objects and their behaviors,
2. Creating objects from class definitions, and
3. Establishing communication among objects.
Objects communication with one another by sending and receiving information
much the same way as people pass messages to one another. The receiving
information much the same way as people pass message to one another. The
concept of message passing makes it easier to talk about building systems that
directly model or simulate their real-world counterparts.
A message for an object is a request for execution for execution of a procedure,
And therefore will invoke a function (procedure) in the receiving object that
Generates the desired result. Message passing involves specifying the name of
the object, the name of the function (message) and the information to be sent.
Objects have a life cycle. They can be created and
destroyed. Communication with an object is feasible as long as it is
alive.
ORACLE 10G XE
An Oracle database is actually referred to physical storage of information, while
instance refers to the software executing on the server that provides access to
the information in the database. The instance runs on the computer or server; the
database is stored on the disks attached to the server:
SOFTWARE REQUIREMENT
1.
2.
3.
4.
5.
6.
7.
8.
9.
SOFTWARE ARCHTECTURE
Data Flow Diagram (DFD)
FUTURE SCOPE
1. Making it accessible to any platform.
2. Using More Secured Database.
3. Adding advanced security level.
SNAPSHOTS
Login Page
MAIN MENU
REGISTRATION FORM
HOSPITAL INFORMATION
gbc.gridy=0;
lhead=new JLabel(" PATIENT DISCHARGE FORM");
gbl.setConstraints(lhead,gbc);
Font ft=new Font("Algerian", Font.BOLD,30);
lhead.setFont(ft);
lhead.setForeground(Color.RED);
gbc.gridx=0;
gbc.gridy=19;
l14=new JLabel("
");
gbl.setConstraints(l14,gbc);
gbc.gridx=0;
gbc.gridy=20;
l1=new JLabel("Patient Reg No");
gbl.setConstraints(l1,gbc);
gbc.gridx=30;
gbc.gridy=20;
t1=new JTextField(15);
gbl.setConstraints(t1,gbc);
gbc.gridx=0;
gbc.gridy=30;
l2=new JLabel("Patient Name");
gbl.setConstraints(l2,gbc);
gbc.gridx=30;
gbc.gridy=30;
t2=new JTextField(15);
gbl.setConstraints(t2,gbc);
gbc.gridx=0;
gbc.gridy=40;
l3=new JLabel("Admission Date (dd-MMM-yyyy)");
gbl.setConstraints(l3,gbc);
gbc.gridx=30;
gbc.gridy=40;
t3=new JTextField(15);
gbl.setConstraints(t3,gbc);
gbc.gridx=0;
gbc.gridy=50;
l4=new JLabel("Discharge Date (dd-MMM-yyyy)");
gbl.setConstraints(l4,gbc);
gbc.gridx=30;
gbc.gridy=50;
t4=new JTextField(15);
gbl.setConstraints(t4,gbc);
gbc.gridx=0;
gbc.gridy=60;
l5=new JLabel("Diseases");
gbl.setConstraints(l5,gbc);
gbc.gridx=30;
gbc.gridy=60;
t5=new JTextField(15);
gbl.setConstraints(t5,gbc);
gbc.gridx=0;
gbc.gridy=70;
l6=new JLabel("Room Charges");
gbl.setConstraints(l6,gbc);
gbc.gridx=30;
gbc.gridy=70;
t6=new JTextField(15);
gbl.setConstraints(t6,gbc);
gbc.gridx=0;
gbc.gridy=80;
l8=new JLabel("Medicine Charges");
gbl.setConstraints(l8,gbc);
gbc.gridx=30;
gbc.gridy=80;
t8=new JTextField(15);
gbl.setConstraints(t8,gbc);
gbc.gridx=0;
gbc.gridy=90;
l9=new JLabel("Operation/Testing Charges");
gbl.setConstraints(l9,gbc);
gbc.gridx=30;
gbc.gridy=90;
t9=new JTextField(15);
gbl.setConstraints(t9,gbc);
gbc.gridx=0;
gbc.gridy=100;
l12=new JLabel("Docter Charges");
gbl.setConstraints(l12,gbc);
gbc.gridx=30;
gbc.gridy=100;
t12=new JTextField(15);
gbl.setConstraints(t12,gbc);
gbc.gridx=0;
gbc.gridy=110;
l13=new JLabel("Total Amount");
gbl.setConstraints(l13,gbc);
gbc.gridx=30;
gbc.gridy=110;
t13=new JTextField(15);
gbl.setConstraints(t13,gbc);
gbc.gridx=0;
gbc.gridy=120;
b1=new JButton("Submit");
gbl.setConstraints(b1,gbc);
gbc.gridx=28;
gbc.gridy=120;
b2=new JButton("Reset");
gbl.setConstraints(b2,gbc);
gbc.gridx=30;
gbc.gridy=120;
b3=new JButton("Cancel");
gbl.setConstraints(b3,gbc);
p.add(lhead);
p.add(l14);
p.add(l1);
p.add(t1);
p.add(l2);
p.add(t2);
p.add(l3);
p.add(t3);
p.add(l4);
p.add(t4);
p.add(l5);
p.add(t5);
p.add(l6);
p.add(t6);
p.add(l8);
p.add(t8);
p.add(l9);
p.add(t9);
p.add(l12);
p.add(t12);
p.add(l13);
p.add(t13);
p.add(b1);
p.add(b2);
p.add(b3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
f3.setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==b1)
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","sys12
3");
PreparedStatement ps=con.prepareStatement("Insert
into DisCharge(RegNo, P_Name, Ad_Date, Dis_Date,Diseases, Room_Charges,
Med_Charges, OT_Charges, Doc_Charges, Total_Amt) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
String RegNo = t1.getText();
String PatientName = t2.getText();
String AdmissionDate = t3.getText();
String DischargeDate = t4.getText();
String Diseases = t5.getText();
int RoomCharges = Integer.parseInt(t6.getText());
int MedicineCharges = Integer.parseInt(t8.getText());
int OTCharges = Integer.parseInt(t9.getText());
int DoctorCharges=Integer.parseInt(t12.getText());
int total = RoomCharges + MedicineCharges +
OTCharges + DoctorCharges;
t13.setText(String.valueOf(total));
int TotalAmt = Integer.parseInt(t13.getText());
ps.setString(1, RegNo);
ps.setString(2, PatientName);
ps.setString(3, AdmissionDate);
ps.setString(4, DischargeDate);
ps.setString(5, Diseases);
ps.setInt(6, RoomCharges);
ps.setInt(7, MedicineCharges);
ps.setInt(8, OTCharges);
ps.setInt(9, DoctorCharges);
ps.setInt(10, TotalAmt);
ps.executeUpdate();
JOptionPane.showMessageDialog(null,"Record Insert
Successfully");
}
catch(Exception ex)
{
ex.printStackTrace();
JOptionPane.showMessageDialog(null,"required field
must not be blank");
}
else if(ae.getSource()==b2)
{
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
t5.setText("");
t6.setText("");
t8.setText("");
t9.setText("");
t12.setText("");
t13.setText("");
}
else if(ae.getSource()==b3)
{
new MainMenu();
f3.setVisible(false);
}
}
public static void main(String args[])
{
new DisChargeForm();
}
}
package pro;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public StaffDtls()
{
setDefaultLookAndFeelDecorated(true);
f1=new JFrame("Staff Table");
f1.setSize(500,300);
f1.setLocation(100,100);
JPanel p=new JPanel();
f1.getContentPane().add(p);
f1.setBackground(Color.white);
Object[][] data={
{"General","4","6","4","2","2","2"},
{"Child","2","6","4","2","2","2"},
{"Eye","1","2","1","2","1","2"},
{"Heart","2","6","4","6","4","4"},
{"Surgeon","2","6","5","6","4","2"},
{"Maternity","4","6","0","0","0","0"},
{"Laboratory ","4","2","2","2","2","2"},
{"Skin","2","2","1","1","0","1"},
{"Medical","2","2","1","1","0","1"},
{"Brain","2","2","1","1","0","1"},
{"Dental","1","2","1","1","0","1"},
{"Total","26","42","24","24","15","18"},
};
tb1.setEnabled(false);
sp1=new JScrollPane(tb1);
p.add(b1);
p.add(sp1);
f1.setVisible(true);