Question
Your task is to implement a CPP program to complete Hospital Management System (HMS). HMS are centralized systems used by patient, doctors and administrators to
Your task is to implement a CPP program to complete Hospital Management System (HMS). HMS are centralized systems used by patient, doctors and administrators to collect information needed to manage all core features of a hospitals operations such as medical, financial, administrative tasks. maintain patient data records, doctors appointment, medical equipment resources etc. Mostly, HMS contains functionalities of three major entities i.e. (Administrators, Patients and Doctors).
Major entities along with their functionalities are described below:
Divide the modules in start with your group member and everyone is responsible to submit his own completed modules. Make sure you combine the project from time to time to avoid any integration issues later.
You need to design the hierarchy of classes to be defined in the system first. All the components should be implemented in OOP concepts. [ constructers, Inheritance, virtual function, friend-class/functions, static data members, polymorphism, operator overloading, three files structures etc]
- Administrator Module:
The main job responsibility of an administrator is to ensure the efficient performance of all manage staff and budgets, effective communication between doctors and patients and ensure adequate patient care amongst other duties. In HMS, administrators served as a connecting link between doctor and Patient.
Here are features (functionalities) of administrator that your project should contains:
- Sign in to system
Show signin page to each type of user and ask for username and password. The username and password should be unique for each type of member.
Username and password admin/admin.
- Add new Doctor
To add a new doctor, your program should ask some credentials from the user to register a doctor. Credentials you must ask includes:
D-id(Doctor id) should be in proper format as string to use in future modules [All the info should be taken in same order]
First Name
Last Name
Department Name
- Dental
- Accident & Emergency
- Orthopedics
- Psychiatry,
- Physiotherapy
D-id (should be auto generated by the system in increasing order) [format should be Doctor from which Department+std_number e.g. 011001 for Dental department and 1001 for doctor number and 051203 for department of Physiotherapy and 1203 doctor number]
Username
Password
Registration Date
Gender
Contact No
Blood Group
Address
After this, you have to record all of the above-mentioned data save data within a file named as
Doctor.txt present in the same directory.
- Add new Patient
Similarly, to add a new patient, your program should ask some credentials from the user to register a patient. Credentials you must ask includes:
First Name
Last Name
Department Name
- Dental
- Accident & Emergency
- Orthopedics
- Psychiatry,
- Physiotherapy
P-id (should be auto generated by the system in increasing order) [format should be Patient from which Department+std_number e.g. 011001 for Dental department and 1001 for patient number and 051203 for department of Physiotherapy and 1203 patient number]
Registration Date
Gender
Contact No
Blood Group
Address
Fee Status
Qualification
Salary
After this, you have to record all of the above-mentioned data save data within a file named as
Patient.txt present in the same directory.
- Add new appointment
Similarly, to add a new appointment, your program should ask some credentials from the user to register a appointment. Credentials you must ask includes:
Department Name
Appointment Id (should be auto generated by the system in increasing order) [format should be Appointment from which Department+std_number e.g. 011001 for Dental department and 1001 for appointment number and 051203 for department of Physiotherapy and 1203 appointment number]
Patient Id
Appointment time
Parent Department (selected from general department)
Appointment Status (initially unchecked)
Parent Course means a general name of the selected course. For Example, Dental is the parent course of Periodontics and Orthodontics. Once you have the record of all above mentioned credentials, save it in the file named as Appointment.txt.
- Assign Appointment
In this feature admin will assign appointment to department related doctors by asking information from the display list containing following attributes:
Select Doctor
Select appointment to assign
- Edit patient details
Your program should be capable of editing the patient's basic details. The details that administrator can edit includes:
First Name
Last Name
Fee Status
Address
Contact No
The system should display a patient list and then admin enter/select patient id number to edit and then update the above fields for that specific patient. Once the user updates the patient record, your program should update this information against the id you have selected in file Patient.txt.
- Edit doctor details
Your program should be capable of editing the doctor's basic details. The details that administrator can edit includes:
Address
Contact No
Qualification
Salary
Same as patient updating records.
- View all Patients
There should be an option of View all patients in your admin module, once the user selects this, your program should display all registered patients from your record. The record of your patients, you should display includes:
Patient Id
Name (First & Last Combine)
Department Name
Other information is a table form
You have also the option to display all patients of one department or specifically only one patient by searching his/her patient id.
- View all Doctors
There should be an option of View all Doctors in your admin module, once the user selects this, your program should display all registered doctors from your record. The record of your doctors, you should display includes:
Name (First & Last combine)
Gender
Qualification
Contact No
Username
- View all Appointments
There should be an option of View all appointments in your admin module, once a user selects this, your program should display all appointments from your record. The record of your appointments, you should display includes:
Appointment Id
Appointment Status
Doctor Id
Doctor Name
Parent id
Parent Name
- Update Appointment
In this feature you have two choices to update appointment status or to change appointment time. your program should update the status of appointments by searching appointment:
Appointment Status (checked/ unchecked)
Appointment time
- View fee status
There should be an option of View fee status in your admin module, once the user selects this, your program should display the fee status of all patients registered from your record. The attributes for fee status, you should display includes:
Name (First & Last combine)
Patient id
Status (Either Paid or Unpaid)
Patient Module:
- Sign in to system
Show signin menu to each type of user and ask for username and password. The username and password should be unique for each type of member.
patient username and passwords of all patients in readme file which should be attached to project submissions.
- View appointments
This feature view all appointments of login patient.
Appointment Status (checked/ unchecked)
Appointment time
- View fee status
This feature view the fee status of the patient.
Doctor Module:-
Doctor module is to implement operations regarding doctor which are discussed below.
- Sign in to system
Show signin menu to each type of user and ask for username and password. The username and password should be unique for each type of member.
Submit username and passwords of all doctors in readme file which should be attached to project submissions.
- Doctor Appointments
There should be an option of View my Appointments. when doctor select it must display all the appointments assigned by admin to a particular doctor logged in into the system including:-
Appointment Id
Appointment time
Appointment status
(Hint)You can read a file of Appointment.txt updated by admin and.
- Update Appointment
In this feature doctor can update the status of appointment of patients. It will display a list of patient and ask for edit status of each patient..
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started