A Project Report on
Hospital Management System
Submitted to Manipal University, Jaipur
Towards the partial fulfillment for the Award of the Degree of
BACHELOR OF TECHNOLOGY
In Computers Science and Engineering
2023-2027
By
Kushagra Gupta
(23FE10CSE00614)
And
Shashank Shekhar
(23FE10CSE00825)
Under the guidance of
Dr. Ashok Kumar Saini
Department of Computer Science and Engineering
School of Computer Science and Engineering
Manipal University Jaipur
Jaipur, Rajasthan
INTRODUCTION
In a hospital, managing data is an integral part of ensuring the smooth operation of various processes.
From maintaining accurate patient records to scheduling doctor appointments, prescribing treatments,
and handling billing, every aspect of hospital management relies heavily on well-organized
information. However, the sheer volume of data in a healthcare facility makes manual or fragmented
systems prone to errors, inefficiencies, and operational bottlenecks.
A hospital typically deals with large-scale data management challenges, such as:
• Keeping track of thousands of patients and their personal and medical details.
• Managing the schedules of multiple doctors while preventing overlapping appointments.
• Recording prescriptions and medical history for each patient.
• Handling billing processes for various services while ensuring accuracy.
Without a centralized and well-structured database, issues such as scheduling conflicts,
mismanagement of patient history, duplication of data, and inefficient retrieval of information can
arise. For instance, doctors may face overlapping appointments due to poorly managed schedules, or
billing staff might encounter errors while reconciling patient charges. These inefficiencies not only
burden hospital staff but also impact the quality of care provided to patients.
To address these problems, the Hospital Management System (HMS) database was designed. It
provides a structured and centralized solution for managing large volumes of hospital data. The HMS
database leverages relational database principles to establish clear relationships between entities like
patients, doctors, appointments, prescriptions, and billing. Using constraints, triggers, and integrity
checks, the system ensures:
• Accurate and consistent data storage.
• Prevention of scheduling conflicts for doctors and appointments.
• Streamlined processes for handling prescriptions and billing.
While designing the database, certain challenges were encountered, including the enforcement of
business logic (e.g., ensuring no doctor has overlapping appointments), handling the scalability of
large hospital datasets, and maintaining relationships across multiple interconnected tables. These
challenges were addressed by applying advanced database concepts like foreign key constraints,
composite keys, and automated triggers to enforce rules and ensure data integrity.
This report provides an in-depth exploration of the HMS database, detailing its design,
implementation, and testing. It highlights how the system simplifies hospital management, ensuring
efficiency, accuracy, and better patient care, even in large-scale healthcare environments
Motivation
Managing healthcare data efficiently is critical for hospitals to provide quality services while
minimizing errors and delays. However, traditional methods, such as manual record-keeping or poorly
integrated systems, often result in:
• Data mismanagement: Errors in patient records, lost information, and difficulty in retrieving
data.
• Scheduling conflicts: Overlapping appointments or inefficiencies in doctor and patient
scheduling.
• Lack of integration: Disconnected records for billing, medical history, and prescriptions
hinder smooth operations.
• Inefficient processes: Time-consuming manual workflows that increase administrative
workload.
The motivation to create the Hospital Management System (HMS) database stems from the need to
address these challenges. The HMS database was designed to:
• Centralize hospital data in a structured, relational format for easy access.
• Ensure data accuracy, integrity, and consistency across all records.
• Automate critical workflows such as appointment scheduling, billing, and prescription
management.
• Improve the efficiency of hospital operations and enhance the patient-doctor experience.
By providing a robust solution, the HMS database simplifies hospital management and supports better
decision-making for healthcare professionals.
Project Objectives
The Hospital Management System (HMS) database project focuses on addressing the practical
challenges faced by hospitals in managing large amounts of data. The key objectives are:
1. Centralized Data Management
o Provide a unified database to manage patient records, doctor schedules, appointments,
prescriptions, billing, and medical history efficiently.
2. Error-Free Appointment Scheduling
o Ensure that appointments are scheduled without conflicts, so no doctor is double-
booked at the same time.
o Allow different doctors to have simultaneous appointments for their respective
patients.
3. Efficient Prescription and Billing Handling
o Maintain detailed records of prescriptions linked to each appointment, ensuring
accurate and traceable treatment history.
o Generate clear, error-free billing records for services provided, improving operational
efficiency.
4. Comprehensive Medical History Management
o Record and organize patient medical histories, including conditions, surgeries, and
medications, for easy reference during consultations or treatments.
5. Scalability for Large Data Volumes
o Handle the large volume of data generated daily by a hospital, including patient visits,
doctor schedules, and billing transactions, without impacting performance.
6. Streamlined Workflow and Coordination
o Improve coordination between departments by linking patient records, doctor
schedules, and billing in an integrated system.
By meeting these objectives, the HMS database simplifies hospital operations, reduces errors, and
enhances the overall patient experience through efficient and reliable management.
4o
METHODOLOGY
Planning of work –
The planning of work for the Hospital Management System (HMS) database project was carried out
in phases to ensure systematic progress and meet deadlines. The phases were organized to handle
each aspect of the project effectively, with clear milestones and deliverables at each step.
The work was planned as follows:
1. Phase 1: Requirement Gathering & Analysis
o Objective: Understand the hospital's data management needs and processes.
o Tasks:
▪ Meet with stakeholders (hospital administrators, healthcare professionals) to
gather requirements.
▪ Identify the entities (e.g., patients, doctors, appointments) and their
relationships.
▪ Define the scope of the project based on operational needs.
2. Phase 2: Database Design
o Objective: Create a relational database schema that meets the gathered requirements.
o Tasks:
▪ Design the Entity-Relationship (ER) diagram.
▪ Convert the ER diagram into a relational schema (tables, keys, relationships).
▪ Normalize the database to reduce redundancy and ensure data integrity.
▪ Define constraints (e.g., foreign keys, unique constraints, and check
constraints).
3. Phase 3: Implementation
o Objective: Develop the database by creating tables and defining relationships.
o Tasks:
▪ Write the SQL queries to create the database and tables.
▪ Implement the required constraints, triggers, and stored procedures to handle
business logic.
▪ Populate the tables with sample data for testing.
4. Phase 4: Testing and Validation
o Objective: Ensure that the database functions as expected and meets all requirements.
o Tasks:
▪ Execute a variety of test cases to check for errors, conflicts (e.g., overlapping
appointments), and data integrity issues.
▪ Perform functional testing on key features such as appointment scheduling,
prescription management, and billing.
▪ Validate performance with large datasets to check scalability.
5. Phase 5: Optimization and Refinement
o Objective: Optimize the system for performance and refine any parts of the database
design.
o Tasks:
▪ Review the queries and table structures for performance improvements.
▪ Refine the database schema and relationships to further enhance efficiency.
▪ Ensure that the system can scale and perform well with growing data.
6. Phase 6: Documentation and Reporting
o Objective: Provide clear documentation for the system, including a detailed report of
the design and implementation.
o Tasks:
▪ Document the database schema, including tables, relationships, constraints,
and triggers.
▪ Prepare a report summarizing the project, including methodology, objectives,
challenges, and solutions.
7. Phase 7: Final Review and Deployment
o Objective: Review the entire system and deploy it for use.
o Tasks:
▪ Perform a final review of the database, ensuring all features work as expected.
▪ Deploy the database on the hospital’s system or a testing environment for final
evaluation.
Entity Relationship Diagram
7
Constraints
1. PRIMARY KEY:
• doctor_id (Doctor table)
• patient_id (Patient table)
• history_id (MedicalHistory table)
• appointment_id (Appointment table)
• schedule_id (Schedule table)
• billing_id (Billing table)
• prescription_id (Prescription table)
2. NOT NULL:
• doctor_id, email, name, gender, phone_number, address (Doctor table)
• patient_id, email, name, gender, phone_number, address (Patient table)
• patient_id, conditions, surgeries, medications, date (MedicalHistory table)
• doctor_id, patient_id, date, starttime, endtime (Appointment table)
• doctor_id, day_of_week, starttime, endtime (Schedule table)
• appointment_id, amount (Billing table)
• appointment_id, doctor_id, medication, dosage, instructions (Prescription table)
3. UNIQUE:
• email (Doctor, Patient tables)
• phone_number (Doctor, Patient tables)
• (doctor_id, date, starttime, endtime) (Appointment table)
4. FOREIGN KEY:
• patient_id (MedicalHistory table referencing Patient)
• doctor_id, patient_id (Appointment table referencing Doctor and Patient)
• doctor_id (Schedule table referencing Doctor)
• appointment_id (Billing table referencing Appointment)
• appointment_id, doctor_id (Prescription table referencing Appointment and Doctor)
5. CHECK:
• starttime < endtime (Appointment table)
6. ON DELETE CASCADE:
• MedicalHistory, Appointment, Schedule, Billing, and Prescription tables for relevant
foreign keys.
8
Schema
1. Doctor Table:
Column Name Data Type Constraints
doctor_id INT PRIMARY KEY, AUTO_INCREMENT
email VARCHAR(50) NOT NULL, UNIQUE
name VARCHAR(50) NOT NULL
gender VARCHAR(20) NOT NULL
phone_number VARCHAR(15) NOT NULL
address VARCHAR(100) NOT NULL
2. Patient Table
Column Name Data Type Constraints
patient_id INT PRIMARY KEY, AUTO_INCREMENT
email VARCHAR(50) NOT NULL, UNIQUE
phone_number VARCHAR(15) NOT NULL, UNIQUE
name VARCHAR(50) NOT NULL
address VARCHAR(60) NOT NULL
gender VARCHAR(20) NOT NULL
3. MedicalHistory Table
Column Name Data Type Constraints
history_id INT PRIMARY KEY, AUTO_INCREMENT
NOT NULL, FOREIGN KEY (references
patient_id INT
Patient(patient_id))
conditions VARCHAR(255) NULLABLE
surgeries VARCHAR(255) NULLABLE
medications VARCHAR(255) NULLABLE
date DATE NOT NULL
4. Appointment Table
Column Name Data Type Constraints
appointment_id INT PRIMARY KEY, AUTO_INCREMENT
NOT NULL, FOREIGN KEY (references
doctor_id INT
Doctor(doctor_id))
NOT NULL, FOREIGN KEY (references
patient_id INT
Patient(patient_id))
date DATE NOT NULL
starttime TIME NOT NULL
endtime TIME NOT NULL
status VARCHAR(20) NULLABLE
5. Schedule Table
Column Name Data Type Constraints
schedule_id INT PRIMARY KEY, AUTO_INCREMENT
NOT NULL, FOREIGN KEY (references
doctor_id INT
Doctor(doctor_id))
day_of_week VARCHAR(20) NULLABLE
starttime TIME NOT NULL
endtime TIME NOT NULL
6. Billing Table
Column Name Data Type Constraints
billing_id INT PRIMARY KEY, AUTO_INCREMENT
NOT NULL, FOREIGN KEY (references
appointment_id INT
Appointment(appointment_id))
amount DECIMAL(10,2) NOT NULL
payment_status VARCHAR(20) NULLABLE
7. Prescription Table
Column Name Data Type Constraints
prescription_id INT PRIMARY KEY, AUTO_INCREMENT
NOT NULL, FOREIGN KEY (references
appointment_id INT
Appointment(appointment_id))
NOT NULL, FOREIGN KEY (references
doctor_id INT
Doctor(doctor_id))
medication VARCHAR(255) NULLABLE
dosage VARCHAR(100) NULLABLE
instructions VARCHAR(255) NULLABLE
SQL Queries
1. Doctor Table
Query for creating table and inserting records
SELECT * FROM doctor;
DESC Doctor;
2. Patient Table
Query for creating table and inserting records
SELECT * FROM patient;
DESC patient;
3. MedicalHistory Table
Query for creating table and inserting records
SELECT * FROM MedicalHistory;
DESC MedicalHistory;
4. Appointment Table
Query for creating table and inserting records
SELECT * FROM appointment;
DESC appointment;
5. Schedule Table
- Query for creating table and inserting records
SELECT * FROM schedule;
DESC schedule;
6. Billing Table
Query for creating table and inserting records
SELECT * FROM billing;
DESC billing;
7. Prescription Table
Query for creating table and inserting records
SELECT * FROM prescription;
DESC prescription;
FACILITIES REQUIRED FOR PROPOSED WORK
Hardware Used:
1. Device name: HP Pavilion
2. Processor: 13th Gen Intel® Core™ i5-1340P 1.90 GHz
3. Version: 23H2
4. Installed Ram: 16.0 GB (15.6 GB usable)
5. System type: 64-bit operating system, x64-based processor
6. Graphics: Intel® Iris® XE Graphics
Software Used:
1. MySQL Workbench 8.0 CE
BIBLIOGRAPHY AND REFERENCES
Book(s):
1. R. Elmasri, S. B. Navathe, “Fundamentals of Database Systems”, Addison &
Wesley, 7th Edition, 2016
Course(s):
1. Database Programming with SQL (Oracle Academy)
Link(s):
1. [Link]
2. [Link]
3. [Link]