[go: up one dir, main page]

0% found this document useful (0 votes)
3 views32 pages

12 Project

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 32

PROJECT

ON
HOSPITAL MANAGEMENT SYSTEM
BASED ON
Netbeans & MySQL
DEDICATION

THIS PROJECT IS DEDICATED


TO
OUR
RESPECTED
SIR
MR. DEVOJIT CHETIA
CERTIFICATE
THIS IS TO CERTIFY THAT PREETI PODDAR OF CLASS XII OF ASSAM RIFLES
PUBLIC SCHOOL, JORHAT WORKED UNDER MY SUPERVISION ON PROJECT
HOSPITAL MANAGEMENT SYSTEM AND COMPLETED IT TO MY FULL
SATISFACTION.

I WISH HER SUCCESS IN HIS LIFE.

DATE :

SIGNATURE:
ACKNOWLEDGEMENT
I AM THANKFUL TO OUR COMPUTER TEACHER MR. DEVOJIT CHETIA WHO
HELPED AND GUIDED ME WHILE MAKING THIS PROJECT. I WOULD ALSO LIKE
TO THANK MY COMPUTER DEPARTMENT OF OUR ASSAM RIFLES PUBLIC
SCHOOL WHO HELPED AND GAVE ME TIME FOR THE COMPLETION OF MY
PROJECT.

NAME: PREETI PODDAR


CLASS: XII
CONTENTS
• INTRODUCTION

• AIM

• TABLE STRUCTURE OF PROJECT

• CODING OF PROJECT WITH OUTPUT

• MERITS

• DEMERITS

• CONCLUSION

• BIBLIOGRAPHY
INTRODUCTION

HOSPITAL MANAGEMENT SYSTEM

This project has been made for storing patient and medical report records like patient
name, phone number, address, medical report, fees etc. It contains addition,
modification, deletion and searching of patient, generating of medical report as
prescribed by the doctor.
AIM

The main aim of my project is to store details of patient and their medical report. It helps
to store the records of patient coming to hospital and problem they are diagnosed
with.These records can be easily accessed by the admin in fast manner.
TABLES
1)Patient Table

2)Report Table
CODING
OF THE
PROJECT
SYSTEM LOGIN

Coding of login page

public SystemLogin() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 500, 400);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);

JLabel lblName = new JLabel("Username");


lblName.setBounds(180, 123, 153, 14);
contentPane.add(lblName);

usernameField = new JTextField();


usernameField.setBounds(180, 150, 153, 27);
contentPane.add(usernameField);
usernameField.setColumns(10);

JLabel lblPassword = new JLabel("Password");


lblPassword.setBounds(180, 188, 153, 14);
contentPane.add(lblPassword);

JButton btnRegister = new JButton("LOGIN");

btnRegister.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
if(String.valueOf(usernameField.getText()).equals("admin") &&
String.valueOf(passwordField.getPassword()).equals("admin")){
System.out.println("Access granted");

Home home = new Home();


home.setVisible(true);
dispose();
}
else{
System.out.println("Invalid username or password");
JOptionPane.showMessageDialog(contentPane, "Invalid
username or password.");
}
}
catch(Exception e1){
System.out.println(e1);
}
}
});

btnRegister.setBounds(180, 263, 153, 27);


contentPane.add(btnRegister);

passwordField = new JPasswordField();


passwordField.setBounds(180, 213, 153, 27);
contentPane.add(passwordField);

JLabel lblLifelineHospital = new JLabel("LIFELINE HOSPITAL");


lblLifelineHospital.setHorizontalAlignment(SwingConstants.CENTER);
lblLifelineHospital.setPreferredSize(new Dimension(110, 15));
lblLifelineHospital.setBounds(180, 63, 153, 41);
contentPane.add(lblLifelineHospital);
}
HOME PAGE

Coding of home page:

public Home() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 500, 400);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);

JLabel lblLifelineHospital = new JLabel("LIFELINE HOSPITAL");


lblLifelineHospital.setHorizontalAlignment(SwingConstants.CENTER);
lblLifelineHospital.setBounds(174, 30, 146, 44);
contentPane.add(lblLifelineHospital);

JButton btnAddPatient = new JButton("ADD PATIENT");


btnAddPatient.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
AddPatient addPatient = new AddPatient();
addPatient.setVisible(true);
dispose();
}
});
btnAddPatient.setBounds(46, 106, 146, 48);
contentPane.add(btnAddPatient);

JButton btnSearchPatient = new JButton("SEARCH PATIENT");


btnSearchPatient.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ViewPatient viewPatient = new ViewPatient();
viewPatient.setVisible(true);
dispose();
}
});
btnSearchPatient.setBounds(291, 106, 146, 48);
contentPane.add(btnSearchPatient);

JButton btnGenerateReport = new JButton("GENERATE REPORT");


btnGenerateReport.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
GeneratePatientReport generateReport = new GeneratePatientReport();
generateReport.setVisible(true);
dispose();
}
});
btnGenerateReport.setBounds(46, 185, 146, 48);
contentPane.add(btnGenerateReport);

JButton btnLogout = new JButton("Logout");


btnLogout.setVisible(true);
btnLogout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SystemLogin systemLogin = new SystemLogin();
systemLogin.setVisible(true);
dispose();
}
});
btnLogout.setBounds(174, 286, 136, 32);
contentPane.add(btnLogout);

JButton btnViewReport = new JButton("VIEW REPORT");


btnViewReport.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ViewPatientReport viewReport = new ViewPatientReport();
viewReport.setVisible(true);
dispose();
}
});
btnViewReport.setBounds(291, 185, 146, 48);
contentPane.add(btnViewReport);
}
ADD PATIENT

Coding of add patient:


(Add Button)

btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//add data to database.
try{
String name = textField_name.getText().toString();
String address = textField_address.getText().toString();
String age = textField_age.getText().toString();
String gender = spinner_gender.getValue().toString();
String number = textField_number.getText().toString();
String ward = textField_ward.getText().toString();
String doctor = textField_doctor.getText().toString();
if( name.length()!=0 && address.length()!=0 && age.length()!=0
&& gender.length()!=0 && number.length()!=0 && ward.length()!=0 && doctor.length()!=0 ){
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps = conn.prepareStatement("insert
into patient values(?,?,?,?,?,?,?);");
ps.setString(1, name);
ps.setString(2, address);
ps.setInt(3, Integer.parseInt(age));
ps.setString(4, gender);
ps.setString(5, number);
ps.setInt(6, Integer.parseInt(ward));
ps.setString(7, doctor);
int x = ps.executeUpdate();
if(x>0){
System.out.println("Success");
JOptionPane.showMessageDialog(contentPane,
"PATIENT ADDED");
Home home = new Home();
home.setVisible(true);
dispose();
}
else{
System.out.println("Error");
}
}
else{
JOptionPane.showMessageDialog(contentPane, "Entry
can't be empty");
}
}
catch(Exception e){
System.out.println("Some error occured");
System.out.println(e);
JOptionPane.showMessageDialog(contentPane, "Number entry
exists"); }
}
});
SEARCH PATIENT

Coding of Search Patient:


(Search Button)

btnSearch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//find patient from database.
try{
String search_number =
textField_searchNumber.getText().toString();
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps = conn.prepareStatement("select * from
patient where number=?");
ps.setString(1,search_number);
ResultSet result = ps.executeQuery();
if(result.next()){
//retrieve the patient details.
String name = result.getString(1);
String address = result.getString(2);
int age = result.getInt(3);
String gender = result.getString(4);
String number = result.getString(5);
int ward = result.getInt(6);
String doctor = result.getString(7);
//set the details to labels.
label_name.setText(name);
label_address.setText(address);
label_age.setText(String.valueOf(age));
label_gender.setText(gender);
label_number.setText(number);
label_ward.setText(String.valueOf(ward));
label_doctor.setText(doctor);
}
else{
//Patient doesn't exist.
label_name.setText("");
label_address.setText("");
label_age.setText("");
label_gender.setText("");
label_number.setText("");
label_ward.setText("");
label_doctor.setText("");
}

}
catch(Exception e){
System.out.println("Error: "+e);
}
}
});

btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String update_number = label_number.getText().toString();
if(update_number.length()>0){
UpdatePatient updatePatient = new
UpdatePatient(update_number);
updatePatient.setVisible(true);
dispose();
}
else{
JOptionPane.showMessageDialog(contentPane, "No entries");
}
}
});
UPDATE PATIENT

Coding of update patient:


Retrieve patient information

try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps = conn.prepareStatement("select * from patient where
number=?");
ps.setString(1,update_number);
ResultSet result = ps.executeQuery();
if(result.next()){
//retrieve the patient details.
String name = result.getString(1);
String address = result.getString(2);
int age = result.getInt(3);
String gender = result.getString(4);
String number = result.getString(5);
int ward = result.getInt(6);
String doctor = result.getString(7);

//set the details to TextFields.


textField_name.setText(name);
textField_address.setText(address);
textField_age.setText(String.valueOf(age));
spinner_gender.setValue(gender);
textField_ward.setText(String.valueOf(ward));
textField_doctor.setText(doctor);
}

}
catch(Exception e){
System.out.println("Error: "+e);
}

Update patient details


btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//update database record.
try{
String name = textField_name.getText().toString();
String address = textField_address.getText().toString();
String age = textField_age.getText().toString();
String gender = spinner_gender.getValue().toString();
String ward = textField_ward.getText().toString();
String doctor = textField_doctor.getText().toString();
if( name.length()!=0 && address.length()!=0 && age.length()!=0
&& gender.length()!=0 &&
ward.length()!=0 && doctor.length()!=0 ){
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps =
conn.prepareStatement("update patient set name=?,address=?,age=?,gender=?,ward=?,doctor=? where
number=?");
ps.setString(1, name);
ps.setString(2, address);
ps.setInt(3, Integer.parseInt(age));
ps.setString(4, gender);
ps.setInt(5, Integer.parseInt(ward));
ps.setString(6, doctor);
ps.setString(7, update_number);
int x = ps.executeUpdate();
if(x>0){
System.out.println("Success");
JOptionPane.showMessageDialog(contentPane,
"RECORD UPDATED");
Home home = new Home();
home.setVisible(true);
dispose();
}
else{
System.out.println("Error");
JOptionPane.showMessageDialog(contentPane,
"Couldn't update record");
}
}
else{
JOptionPane.showMessageDialog(contentPane,
"Entries can't be empty");
}

}
catch(Exception e){
System.out.println("Error: "+e);
}
}
});
DELETE PATIENT

Coding of delete patient:


(Delete Button)

btnDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//delete patient from database.
try{
String delete_number = label_number.getText().toString();
if(delete_number.length()>0){
int opt = JOptionPane.showConfirmDialog(null, "Are you
sure to delete?","Delete",JOptionPane.YES_NO_OPTION);
if(opt==0){
//delete the record
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps =
conn.prepareStatement("delete from patient where number=?");
ps.setString(1,delete_number);
int x = ps.executeUpdate();
if(x>0){
System.out.println("Record deleted");

JOptionPane.showMessageDialog(contentPane, "RECORD DELETED");


Home home = new Home();
home.setVisible(true);
dispose();
}
else{
System.out.println("Couldn't delete
record");

JOptionPane.showMessageDialog(contentPane, "Couldn't delete record");


}
}
}
else{
JOptionPane.showMessageDialog(contentPane, "No
entries");
}
}
catch(Exception e){
System.out.println("Error: "+e);
}
}
});
GENERATE REPORT

Coding of Generate Report:


(Generate Button)

btnGenerate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//store report to database.
try{
String name = textField_name.getText().toString();
String number = textField_number.getText().toString();
String age = textField_age.getText();
String gender = spinner_gender.getValue().toString();
String doctor = textField_doctor.getText().toString();
String report = textArea_report.getText().toString();
String bill = textField_bill.getText();
if(name.length()!=0 && number.length()!=0 &&
age.length()!=0 && gender.length()!=0 && doctor.length()!=0 && report.length()!=0 && bill.length()!=0 ){
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps =
conn.prepareStatement("insert into report values(?,?,?,?,?,?,?);");
ps.setString(1, name);
ps.setString(2, number);
ps.setInt(3, Integer.parseInt(age));
ps.setString(4, gender);
ps.setString(5, doctor);
ps.setString(6, report);
ps.setFloat(7, Float.parseFloat(bill));
int x = ps.executeUpdate();
if(x>0){
System.out.println("Success");

JOptionPane.showMessageDialog(contentPane, "REPORT GENERATED");


Home home = new Home();
home.setVisible(true);
dispose();
}
else{
System.out.println("Error updating
database");
}
}
else{
JOptionPane.showMessageDialog(contentPane,
"Entry can't be empty");
}
}
catch(Exception e){
System.out.println("Some error occured");
System.out.println(e);
JOptionPane.showMessageDialog(contentPane,
"Number entry exists");
}
}
});
VIEW REPORT

Coding of View Report:


(Search Button)

btnSearch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//search report from database.
try{
String search_number =
textField_searchNumber.getText().toString();
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps = conn.prepareStatement("select * from
report where number=?");
ps.setString(1,search_number);
ResultSet result = ps.executeQuery();
if(result.next()){
//retrieve the report details.
String name = result.getString(1);
String number = result.getString(2);
int age = result.getInt(3);
String gender = result.getString(4);
String doctor = result.getString(5);
String report = result.getString(6);
float bill = result.getFloat(7);
/*System.out.println(name + " "+ number + " "+ age + "
"+
gender + " "+ doctor + " "+ report + " "+
bill);*/
//set the details to labels.
label_name.setText(name);
label_number.setText(number);
label_age.setText(String.valueOf(age));
label_gender.setText(gender);
label_doctor.setText(doctor);
label_report.setText(report);
label_bill.setText(String.valueOf(bill));
}
else{
//Report not found
label_name.setText("");
label_number.setText("");
label_age.setText("");
label_gender.setText("");
label_doctor.setText("");
label_report.setText("");
label_bill.setText("");
}
}
catch(Exception e){
System.out.println("Some error occured");
System.out.println("Error: "+e);
}
}
});
DELETE REPORT

Coding of delete report:


(Delete Button)

btnDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//delete report from database
try{
String delete_number = label_number.getText().toString();
if(delete_number.length()>0){
int opt = JOptionPane.showConfirmDialog(null, "Are you
sure to delete?","Delete",JOptionPane.YES_NO_OPTION);
if(opt==0){
//delete the record
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/lifelinehospital","root","root");
PreparedStatement ps =
conn.prepareStatement("delete from report where number=?");
ps.setString(1,delete_number);
int x = ps.executeUpdate();
if(x>0){
System.out.println("Record deleted");

JOptionPane.showMessageDialog(contentPane, "RECORD DELETED");


Home home = new Home();
home.setVisible(true);
dispose();
}
else{
System.out.println("Couldn't delete
record");

JOptionPane.showMessageDialog(contentPane, "Couldn't delete record");


}
}
}
else{
JOptionPane.showMessageDialog(contentPane, "No
entries");
}
}
catch(Exception e){
System.out.println("Error: "+e);
}
}
});
MERITS

1. Records can be stored in fast manner.

2. Any record can be easily accessed.

3. Report can be generated as per entered phone number and phone number is settled
as primary key in the table so that no duplicate entry can be maintained against phone
number.
DEMERITS

1. Due to failure of electricity, no work can be processed.

2. No multiple reports can be generated.

3. Once records are being deleted can't be rollback again to recover them.
CONCLUSION

"Hospital Management System" has been prepared to reduce manual


work and with the help of this project all the medical reports can be
accessed in very fast manner.
BIBLIOGRAPHY

• Informatics Practices by Sumita Arora


• www.Slideshare.net
• www.w3schools.com

You might also like