STE Pro
STE Pro
Micro-Project Proposal
Submitted by
Key Features
1) User Authentication and Authorization: Secure login mechanisms for different types of
users, including administrators, doctors, nurses, and patients, to ensure that each user has access
to appropriate functionalities.
2) Patient Registration and Management: Tools for registering new patients, updating patient
information, and managing patient records, including medical history and treatment plans.
along with notifications and reminders for both patients and medical staff.
4) Billing and Invoicing: Features for generating and managing invoices, processing payments,
5) Staff Management: Functionality for maintaining staff profiles, scheduling shifts, and
6) Medical Records and Reports: Tools for recording and viewing medical data, generating
Why Testing:- The testing is important since it discover defects/bugs before the delivery to the
client,which guarantees the quality of the software . it makes the software more reliable and easy to
use.Thoroughly tested software ensure reliable and high-performance software Operation
2. Manage Medical Records: Securely Store and access patients medical Histories and Information.
3. Optimize Inventory: Track and Manage Medical supplies and equipment efficiently
4. Enhance Reporting: Generate reports and Analytic for better decision-making and Operational
insights
https://www.geeksforgeeks.org/c-program-for-hospital-management-system/
In the Above website we learn about software testing and their concepts.
https://www.javatpoint.com/hospital-management-system-in-c
In the above website we prepare our micro-project.
https://www.slideshare.net/slideshow/hospital-management-system-project-report-
pdf/267927517
We took reference to our project from this website.
RESOURCE REQUIRED :
1. Laptop Intel(R)Core(TM)i5
CPU RAM 8 GB.
Waterfall model:
The waterfall model is a popular version of the systems development life cycle model
forsoftware engineering. Often considered the classic approach to the systems development life
cycle, the waterfall model describes a development method that is linear and sequential. Waterfall
development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a
steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey
down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once
a phase of development is completed, the development proceeds to the next phase and there is no
turning point.
Login Form : The login authentication system is very common for any web
application. It allows registered users to access the website and members-only features.
It is also helpful when we want to store information for users.
Insert Hospital data: this feature is use to insert a Hospital’s data into system. When
new doctor or new Patient comes into Hospital then we have to add details of that
doctor or patient into system so we use this feature.
ppointments : show the patient and doctor all data and also shows the appointments of
the patients
Hospital management System
Login From
Add Patient
Delete Patient
Add Doctor
Delete Doctor
Delete Appointment :
Login Frame:-
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public LoginFrame() {
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(usernameLabel);
add(usernameField);
add(passwordLabel);
add(passwordField);
add(loginButton);
add(cancelButton);
loginButton.addActionListener(new ActionListener() {
@Override
new MainFrame().setVisible(true);
} else {
}
});
cancelButton.addActionListener(new ActionListener() {
@Override
});
}
Main Application Frame
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public MainFrame() {
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
patientMenu.add(managePatients);
doctorMenu.add(manageDoctors);
appointmentMenu.add(manageAppointments);
exitMenu.add(exitItem);
menuBar.add(patientMenu);
menuBar.add(doctorMenu);
menuBar.add(appointmentMenu);
menuBar.add(exitMenu);
setJMenuBar(menuBar);
managePatients.addActionListener(new ActionListener() {
@Override
new PatientFrame().setVisible(true);
});
manageDoctors.addActionListener(new ActionListener() {
@Override
new DoctorFrame().setVisible(true);
});
manageAppointments.addActionListener(new ActionListener() {
@Override
new AppointmentFrame().setVisible(true);
}
});
exitItem.addActionListener(new ActionListener() {
@Override
System.exit(0);
});
}
Patient Management
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public PatientFrame() {
setTitle("Manage Patients");
setSize(600, 400);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(new BorderLayout());
add(panel, BorderLayout.SOUTH);
add(scrollPane, BorderLayout.CENTER);
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for adding patient
String name = JOptionPane.showInputDialog("Enter patient name:");
String details = JOptionPane.showInputDialog("Enter patient details:");
if (name != null && details != null) {
patientArea.append("Patient: " + name + "\nDetails: " + details + "\n\n");
}
}
});
viewButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for viewing patients
JOptionPane.showMessageDialog(null, patientArea.getText(), "Patient List",
JOptionPane.INFORMATION_MESSAGE);
}
});
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for deleting a patient
String name = JOptionPane.showInputDialog("Enter patient name to delete:");
String text = patientArea.getText();
patientArea.setText(text.replaceAll("Patient: " + name + ".*?\\n\\n", ""));
}
});
}
}
Doctor Management
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public DoctorFrame() {
setTitle("Manage Doctors");
setSize(600, 400);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(new BorderLayout());
add(panel, BorderLayout.SOUTH);
add(scrollPane, BorderLayout.CENTER);
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for adding doctor
String name = JOptionPane.showInputDialog("Enter doctor name:");
String specialty = JOptionPane.showInputDialog("Enter doctor specialty:");
if (name != null && specialty != null) {
doctorArea.append("Doctor: " + name + "\nSpecialty: " + specialty + "\n\n");
}
}
});
viewButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for viewing doctors
JOptionPane.showMessageDialog(null, doctorArea.getText(), "Doctor List",
JOptionPane.INFORMATION_MESSAGE);
}
});
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for deleting a doctor
String name = JOptionPane.showInputDialog("Enter doctor name to delete:");
String text = doctorArea.getText();
doctorArea.setText(text.replaceAll("Doctor: " + name + ".*?\\n\\n", ""));
}
});
}
}
Appointment Scheduling
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public AppointmentFrame() {
setTitle("Manage Appointments");
setSize(600, 400);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(new BorderLayout());
add(panel, BorderLayout.SOUTH);
add(scrollPane, BorderLayout.CENTER);
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for adding appointment
String patientName = JOptionPane.showInputDialog("Enter patient name:");
String doctorName = JOptionPane.showInputDialog("Enter doctor name:");
String date = JOptionPane.showInputDialog("Enter appointment date (e.g., 2024-07-30):");
if (patientName != null && doctorName != null && date != null) {
appointmentArea.append("Patient: " + patientName + "\nDoctor: " + doctorName + "\nDate: " +
date + "\n\n");
}
}
});
viewButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for viewing appointments
JOptionPane.showMessageDialog(null, appointmentArea.getText(), "Appointment List",
JOptionPane.INFORMATION_MESSAGE);
}
});
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Dummy implementation for deleting an appointment
String date = JOptionPane.showInputDialog("Enter appointment date to delete:");
String text = appointmentArea.getText();
appointmentArea.setText(text.replaceAll("Patient: .*?\\nDoctor: .*?\\nDate: " + date + ".*?\\n\\n",
""));
}
});
}
}
Compile:
javac LoginFrame.java MainFrame.java PatientFrame.java DoctorFrame.java AppointmentFrame.java
Run:
java LoginFrame
Output:-
Login Frame
If Login Frame invalid
Patient Information
Add Doctors :-
View Doctors available in hospital :-
Delete Doctor :-
Appointment information :-
Add Appointment :-
View Appointment :-
Delete Appointment :-
SKILL DEVELOPED/LEARNING OUT OF THIS MICRO PROJECT:
By this project we understand how to use different testing methods and tools to test
software in a Ho s p i t a l management systemand understood its importance in daily life.