SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
Project
On
Hospital Management System
Submitted to:-
Prepared by:-
HOSPITAL
A hospital is a health care institution providing patient treatment with specialized
staff and equipment. Hospitals are usually funded by public sector by health
organisations (for profit or non-profit), by health insurance companies, or by
charities, including direct charitable donations. Hospitals have a range of
departments (e.g., surgery, and urgent care etc).
HOSPITAL MANAGEMENT SYSTEM
A hospital management system is an information system that manages the aspects
of a hospital. This may include the administrative, financial, and medical
processing. It is an integrated end-to-end Hospital Management System that
provides relevant information across the hospital to support effective decision
making for patient care, hospital administration and critical financial accounting, in
a seamless flow. This program can look after Inpatients, OPD patients, records,
database treatments, status illness, billings etc. it also maintains their hospital info
such as ward id, Doctor in Charge, Department administering etc. Now with a
laboratory module to handle all lab operations...!!! Not only has this it also looked
after doctor and staff records and payments. Now with advanced features like LAN
connectivity, ICD10 disease database, Webcam support.
NEED OF HMS
1. Minimized documentation and no duplication of records.
2. Reduced paper work.
3. Improved Patient Care
4. Better Administration Control
5. Faster information flow between various departments
6. Smart Revenue Management
7. Effective billing of various services
8. Exact stock information
Software Requirement Specification (SRS)
A Software requirements specification (SRS), a requirements specification for a
software system, is a complete description of the behavior of a system to be
developed and may include a set of use cases that describe interactions the users will
have with the software. In addition it also contains non-functional requirements.
Non-functional requirements impose constraints on the design or implementation
(such as performance engineering requirements, quality standards, or design
constraints).
1. Introduction
The SRS is produced at the culmination of the analysis task. The function and
performance allocated to software as part of the system engineering and refined by
establishing a complete information description, a detailed functional description, a
representation of system behavior, indication of performance requirements and
design constrains, appropriate validation criteria and the other information related to
requirements.
The SRS is technical specification of requirement of Hospital
Management system. This specification describes what the proposed system should
do without describing how it will do it. It also describes complete external behavior
of proposed system.
1.1. Purpose:-
The main purpose of our system is to make hospital task easy and is to develop
software that replaces the manual hospital system into automated hospital
management system. This document serves as the unambiguous guide for the
developers of this software system.
1.2. Scope:-
The document only covers the requirement specification for the hospital
management system. This document does not provide any references to the other
component of the hospital management system. All the external interfaces and the
dependencies are also identified in this document.
1.3. Feasibility Study:-
The overall scope of the feasibility study was to provide sufficient information
to allow a decision to be made as to whether the hospital management system project
should proceed and so, its relative priority in the context of the other existing hospital
management system.
The feasibility study of this project had undergone through various steps
which as describe as under:
a) Identify the origin of the information at different level.
b) Identify the expectation of user from computerized system.
c) Analyze the drawback of existing system.
1.4. Definition , Acronyms , Abbreviations:-
CFD: - Context Flow Diagram
DFD: - Data Flow Diagram
IDE: - Integrated Development Environment
C++:-Platform Independent And Object_oriented programming language
SRS: - Software Requirement Specification.
1.5. Reference:-
1) An integrated approach to software engineering, Third edition by Pankaj
Jalote
2) OOP in C++ – E Balaguruswamy
3) Software engineering By Ian Sommerville
1.6. Overview:-
Hospital Management System is a process of implementing all the activities
of the hospital in a computerized automated way to fasten the performance.
This project is to maintain the patient details, lab reports and to calculate the
bill of the patient. You can also manually edit any patient details and issue bill receipt
to patient within few seconds.
2. OVERALL DESCRIPTION
2.1. Product perspectives:-
This project gives the procedural approach how a patient gets treatment,
details about date of treatment and finally depending on different criteria like room
allocated, lab reports, treatment and medicine taken…..etc,how billing is calculated.
During billing health card facility is also considered.
2.2. Product Function:-
The data represented in hospital management application will perform the
following major function:-
 Patient Details: - It includes inpatient and outpatient details.
 Tasks:- It includes the various tasks which are used in hospital
 Billing Details:-This software will help to calculate the bill much quicker and
simpler way. This enables the organization to keep the information in efficient
and systematic way.
2.3. User Characteristics:-
This software is developed such that total appearance of the product to make it more
user friendly. The operator will be provided with login id and password. General
users with basic computer skills can use this software.
2.4. General Constraints:-
Any update regarding the patient’s information from the hospital are to be
recorded to have updated and correct values.
2.5. Assumption and Dependencies:-
All the data entered will be correct and up to date. This software package is
developed using java as front end which is supported by sun micro system, MS SQL
server 2005 as the back end which is supported by Microsoft windows XP.
3. SPECIFIC REQUIREMENTS
It describes all the details that the software developer need to know for designing
and developing the system. This is typically the largest and most important part of
the document.
3.1. External Interface Requirements:-
3.1.1. User Interface:-
User interface is designed in a user friendly manner and the user, in
another end he has to give the order, for that he will interface with keyboard and
mouse.
3.1.2. Hardware Interface:-
1) OS – windows
2) Hard disk – 80 GB
3) RAM – 1 GB
4) Keyboard – Standard QWERTY keyboard for interface
5) Mouse – Standard mouse with 2 buttons
3.1.3. Software Interface:-
1) Front end – OOP using C++
2) OS – Net Beans IDE 6.9.1
3) .Net Firmware
3.1.4. Communication Interface:-
Windows
3.2. Functional Requirements:-
3.2.1. Administration module:-
This module enables the user to insert, update, view, search and delete
the patient information.
3.2.2. Patient module:-
 Data Members :- PatientId, Name, Age, Sex, BloodGroup, Marital Status
,Address, Phone Number.
3.2.3. Task module:-
This module is used by system admin to manage the system.
It has following sub modules.
 Add New Patient :- This module is used to add a new patient.
 View Details :- This module is used to view the details of a previously admitted
patient.
 Search :- This module searches the record of desired patient using his ID,
Name, City or Blood Group.
 Delete :- This module deletes the entry of a patient.
 Recycle bin :- This module retrieves the deleted patient data.
3.2.4. Billing Module:-
It requires following data members.
 Patient ID ,Patient Name, Treatment Charges, Bed Charges and Other Charges
 Total Amount which gives the total amount which the patient has to pay.
3.2.5. Updation module:-
This module used to store or produce the patient reports .This updates
patient info after each task.
3.3. Performance Requirements:-
The capability of the computer depends on the performance of the software.
The software can take any number of input provided the database size is large
enough. This would depend on the available memory space.
3.4. Design Constraints:-
This will help the doctors or users to view the records of the patients
immediately whenever necessary. They can also calculate the bill of the particular
patients. This software also has the ability to add, update and delete the record
whenever needed. This project will help to smoother the process of the hospital
activites.
4. SYSTEM FEATURES:
The users of the system should be provided the surety that their account is
secure. This is possible by following:
 User authentication and validation of members using their member ID.
 Proper monitoring by the administrator which includes account status,
showing a popup if wrong data is entered more than a required limit.
 Privacy of personal details of patient maintained properly.
5. ATTRIBUTES:
5.1
 Reliability:
This application is a reliable product that produces fast and verified output of all its
processes.
 Availability:
This application will be available to use and help them to carry out their operations
conveniently.
 Security:
The application will be password protected. User will have to enter correct
username, password and role in order to access the application.
 Maintainability:
The application will be designed in a maintainable manner. It will be easy to to
incorporate new requirements in the individual modules.
 Portability:
The application will be easily portable on any windows-based system that has
oracle installed.
5.2 Data Dictionary:-
CLASS
NAME
DATA MEMBERS MEMBER
FUNCTIONS
ADMIN:
task()
PATIENT:
Name: string Get_address()
ID: int Pay_bill()
Age: int
Maritial_status: string
Sex: string
Blood_group: string
TASK:
Add_patient()
View_details()
Search()
Discharge()
Prepare_bill()
ADDRESS:
House_no: int
Street: int
City: string
State: string
Country: string
BILL:
Treatment_charges: float Total_amount()
Bed_charges: float
Other_charges: float
Amount: float
6. SYSTEM DESIGN:
The principles used in design are described below :-
1. DATA FLOW DIAGRAM:
Symbol Name Function
Data Flow Used to connect processes to each other. The
arrowhead indicates direction of data flow.
Process Performs some transformation to input data to
output data.
Source or
sink.(external
entity)
A source of system inputs or sink of system
outputs.
Data Store A repository of data. Arrowheads indicate net
inputs or net outputs to the store.
2. ENTITY RELATIONSHIP DIAGRAM:-
Symbol Name Description
Entity
An entity can be any object, place, person
or anything.
Attribute
An Attribute Describes a property or
characteristics of an entity.
Relationship
A Relationship Describes relation
between entities.
3. CLASS DIAGRAM:-
4.SEQUENCE DIAGRAM:-
5.USE CASE DIAGRAM:-
CONCLUSION:-
The project Hospital Management System (HMS) is for computerizing the
working in a hospital. It is a great improvement over the manual system. The
computerization of the system has speed up the process. In the current system,
the front office managing is very slow. The hospital managing system was
thoroughly checked and tested with dummy data and thus is found to be very
reliable. The software takes care of all the requirements of an average hospital
and is capable to provide easy and effective storage of information related to
patients that come up to the hospital.
It generates test reports and also provides the facility for searching the details of
the patient. It also provides billing facility on the basis of patient’s status
whether it is an indoor or outdoor patient. The system also provides the facility
of backup as per the requirement.
FUTURE ENHANCEMENTS:
The proposed system is Hospital Management System. We can enhance this
system by including more facilities like pharmacy system for the stock details
of medicines in the pharmacy.
Providing such features enable the users to include more comments into the
system.
LIMITATIONS:
 The size of the database increases day-by-day, increasing the load on the
database back up and data maintenance activity.
 Training for simple computer operations is necessary for the users working
on the system.
REFERENCES:-
1) An integrated approach to software engineering, Third edition by
Pankaj Jalote
2) OOP in C++ – E Balaguruswamy
3) Software engineering By Ian Sommerville
WEB REFERENCES:
1 .www.google.com
2. www.stackoverflow.com
CODE FOR HMS:::
/* HOSPITAL MANAGEMENT SYSTEM
PROGRAMMING LANGUAGE C++
Please enter the input data in specified format only
*/
#include<iostream> //for input and output stream regulation
#include<process.h> //for exit()
#include<string.h> //for strlen() and strcmp()
#include<conio.h> //for getch() and clrscr()
#include<stdio.h>
using namespace std;
class all //declaration for class "all"
{
private:
struct address
{
int house;
char city[30];
char state[30];
char street[30];
char country[30];
};
struct patient_info
{
address AD1; //nested structure implemented
int sex;
int reg_no;
int bld_group;
char name[50];
int martial_status;
}PI[100];
int task;
protected: //functions declared
void search_menu();
void search_city();
void exit_function();
void search_show_info();
void search_blood_group();
void enter_patient_info();
void show_patient_detail();
void after_search_options();
void after_restore();
public:
void tasks();
void recycle_bin();
void delete_entry();
void billing();
void after_delete_options();
int s_group;
int s_choice;
int en_del_index;
int delete_choice;
char ch;
char answer;
char answer1;
char s_city[30];
char exit_answer;
char delete_confirm;
char after_search_answer;
}; //end of class "all"
class temp1 //declaration for class "temp"
{
public:
int m,i,j,k,d,e,f,rem,temp,count,regis,entry,serial,attempt,current,index;
int
d_index,ssi_count,show_count,delete_show,search_index,search_count,current_ye
ar,delete_count;
int
search_number,restore_serial,entry_index[100],after_search_choice,after_restore_c
hoice;
char
enter_now,restore_confirm,duplicate_answer,delete_all_confirm,restore_all_confir
m,after_search_answer;
temp1() //constructor for temp invoked
{
i=0;j=0; d=0; e=0; f=0;
serial=0;
current=0;
d_index=0;
ssi_count=0;
show_count=0;
delete_show=0;
delete_count=0;
}; //end of constructor for temp
}; //end of class "temp"
all A1; //object for class "all" declared
temp1 T1; //object for class "temp" declared
int main() //main function
{
T1.count=0;
for(T1.m=1;T1.m<=100;T1.m++) //default index value set to -1 for each entry
{
T1.entry_index[T1.m]=-1;
}
cout<<"tttt WELCOME TO"<<"n";
cout<<"nnttt***HOSPITAL MANAGEMENT SOFTWARE***"<<"n";
cout<<"nttt BY SAKSHI,SHWETA AND SANJIT "<<"n";
A1.tasks();
} //end of main function
void all::tasks()
{
T1.attempt=0;
T1.d_index=0;
cout<<"nnttt ***Hospital Management Tasks***"<<"n";
cout<<"n";
cout<<"nntPlease select a task to do..."<<"n";
cout<<"nnt1. Enter a new patient information "<<"n";
cout<<"t2. View detail of existing patient "<<"n";
cout<<"t3. Search by city or blood group"<<"n";
cout<<"t4. Delete entry "<<"n";
cout<<"t5. Recycle Bin "<<"n";
cout<<"t6. Prepare Bill "<<"n";
cout<<"t7. Exit "<<"nnn";
cout<<"a Enter your task serial : ";
cin>>task;
switch(task)
{
case 1:{
A1.enter_patient_info();
break;
}
case 2:{
A1.show_patient_detail();
break;
}
case 3:{
A1.search_menu();
break;
}
case 4:{
A1.delete_entry();
break;
}
case 5:{
A1.recycle_bin();
break;
}
case 6:{
A1.billing();
break;
}
case 7:{
A1.exit_function();
break;
}
default:
cout<<"nnnnntInvalid task serial !!!"<<"n";
cout<<"tValid options are 1-6 !!!"<<"n";
cout<<"tPress any key to return to the main task menu....a"<<"n";
getch();
A1.tasks();
}
return ; //end of switch for task
} //end of function
void all::enter_patient_info()
{
if(T1.current==100) //to avoid overflow of data in the database
{
cout<<"nnnt Database is full !!! ";
cout<<"nt Sorry, you cannot enter any more information !!! ";
cout<<"nt Information of maximum 100 patients can be entered !!!! ";
cout<<"nt Press any key to return to the main menu....a ";
getch();
A1.tasks();
}
answer='y';
if(T1.count==0)
T1.serial=1;
else
T1.i=T1.serial;
for(T1.i=T1.serial;answer=='y'||answer=='Y';T1.i++)
{
cout<<"a";
T1.current++;
PI[T1.i].reg_no=T1.i;
T1.temp=T1.serial;
T1.entry_index[T1.i]=1;
cout<<"nnt ***ENTERING INFORMATION FOR PATIENT SERIAL
NUMBER "<<T1.i<<" ***"<<"n";
cin.get(ch);
cout<<"nRegistration Number : "<<PI[T1.i].reg_no<<"nn";
cout<<"Enter the name of patient : ";
cin.getline(PI[T1.i].name,50);
while(strlen(PI[T1.i].name)==0)
{
cout<<"anPlease enter a name : "; //if enter is pressed before entering a name
cin.getline(PI[T1.i].name,50);
cout<<"n";
}
for(T1.k=1;T1.k<T1.serial;T1.k++) //loop to avoid duplicate entries
{
if(strcmp(PI[T1.i].name,PI[T1.k].name)==0) //if match is found
{
if(T1.entry_index[T1.k]==0) //if entry is already deleted
continue;
else //if entry still exists
{
T1.current-=1; //current no. of entries remains same
cout<<"nnntThe patient is already admitted in the hospital !!!";
cout<<"ntWant to view info of this registration number in detail (Y/N) : a";
cin>>T1.duplicate_answer;
while(T1.duplicate_answer!='Y'&&T1.duplicate_answer!='y'&&T1.duplicate_ans
wer!='N'&&T1.duplicate_answer!='n')
{
cout<<"ntaPlease re enter a correct option (Y/N) : ";
cin>>T1.duplicate_answer;
}
if(T1.duplicate_answer=='y'||T1.duplicate_answer=='Y')
{
T1.entry_index[T1.i]=-1;
T1.regis=T1.k;
T1.d_index=1;
A1.show_patient_detail();
}
else
{
A1.tasks();
}
}
}
} //end of "for loop" to prevent duplicate entries
cout<<"nSex ( 1-Male , 2-Female ) : ";
cin>>PI[T1.i].sex;
while(PI[T1.i].sex!=1&&PI[T1.i].sex!=2)
{
cout<<"anInvalid input for sex of patient !!!";
cout<<"nSex : ";
cin>>PI[T1.i].sex;
}
cout<<"nMartial status( 1-Married , 2-Single ) : ";
cin>>PI[T1.i].martial_status;
while(PI[T1.i].martial_status<1||PI[T1.i].martial_status>2)
{
cout<<"anInvalid input for martial status !!!"<<"n";
cout<<"Enter a valid martial status : "<<"n";
cin>>PI[T1.i].martial_status;
}
cin.get(ch);
cout<<"n *** Blood group ***"<<"n";
cout<<" 1. A+ "<<"n";
cout<<" 2. A- "<<"n";
cout<<" 3. B+ "<<"n";
cout<<" 4. B- "<<"n";
cout<<" 5. AB+ "<<"n";
cout<<" 6. AB- "<<"n";
cout<<" 7. O+ "<<"n";
cout<<" 8. O- "<<"n";
cout<<"nEnter a blood group : ";
cin>>PI[T1.i].bld_group;
switch(PI[T1.i].bld_group)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
break;
default:
while(PI[T1.i].bld_group!=1&&PI[T1.i].bld_group!=2&&
PI[T1.i].bld_group!=3&&PI[T1.i].bld_group!=4&&
PI[T1.i].bld_group!=5&&PI[T1.i].bld_group!=6&&
PI[T1.i].bld_group!=7&&PI[T1.i].bld_group!=8)
{
cout<<"aInvalid input !!!"<<"n";
cout<<"Please enter a valid Blood Group : "<<"n";
cin>>PI[T1.i].bld_group;
} //end of while loop
} //end of switch
cin.get(ch);
cout<<"nn ***ENTERING ADDRESS**"<<"nn";
cout<<"House number : ";
cin>>PI[T1.i].AD1.house;
while(PI[T1.i].AD1.house<=0)
{
cout<<"anInvalid input for house number !!!";
cout<<"nAgain enter the house number : ";
cin>>PI[T1.i].AD1.house;
}
cin.get(ch);
cout<<"Street : ";
cin.getline(PI[T1.i].AD1.street,30);
while(strlen(PI[T1.i].AD1.street)==0)
{
cout<<"anPlease enter a street : "; //if enter is pressd before input for street
cin.getline(PI[T1.i].AD1.street,50);
cout<<"n";
}
cout<<"City : ";
cin.getline(PI[T1.i].AD1.city,30);
while(strlen(PI[T1.i].AD1.city)==0)
{
cout<<"anPlease enter a city : "; //if enter is pressd before input for city
cin.getline(PI[T1.i].AD1.city,50);
cout<<"n";
}
cout<<"State : ";
cin.getline(PI[T1.i].AD1.state,30);
while(strlen(PI[T1.i].AD1.state)==0)
{
cout<<"anPlease enter a state : "; //if enter is pressed before input for state
cin.getline(PI[T1.i].AD1.state,50);
cout<<"n";
}
cout<<"Country : ";
cin.getline(PI[T1.i].AD1.country,30);
while(strlen(PI[T1.i].AD1.country)==0)
{
cout<<"anPlease enter a country : "; //if enter is pressd before input for
country
cin.getline(PI[T1.i].AD1.country,50);
cout<<"n";
}
cout<<"nnWant to enter information for another patient (Y/N) ? ";
cin>>answer;
while(answer!='Y'&&answer!='y'&&answer!='N'&&answer!='n')
{
cout<<"anPease re-enter a correct option (Y/N) : ";
cin>>answer;
}
cout<<"n";
T1.count++;
T1.serial++;
} //end of "for loop" for entering information
A1.tasks();
} //end of function
void all::show_patient_detail()
{
if(T1.d_index==1)
{
T1.d_index=0;
cout<<"nn";
goto direct;
}
if(T1.current==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!!"<<"n";
cout<<"tPlease enter some information first. "<<"n";
cout<<"nntDo you want to enter now (Y/N) : a";
cin>>T1.enter_now;
while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter
_now!='n')
{
cout<<"antPlease enter a correct option (Y/N) : ";
cin>>T1.enter_now;
}
if(T1.enter_now=='y'||T1.enter_now=='Y')
A1.enter_patient_info();
else
A1.tasks();
}
cout<<"ntt****** CURRENT DATEBASE ENTRIES ******nn";
cout<<"ttRegistration no. Name of patientnn";
for(T1.j=1;T1.j<100;T1.j++)
{
if(T1.entry_index[T1.j]==1)
cout<<"tt "<<T1.j<<" "<<PI[T1.j].name<<"n";
else
continue;
}
cout<<"nnttPress 0 to return to main menu.... ";
cout<<"nnnEnter registration number whose details you want to see : ";
cin>>T1.regis;
cout<<"nn";
cin.get(ch);
if(T1.regis==0)
A1.tasks();
T1.show_count++;
direct: //label for "goto" jump statement
if(T1.regis<=0)
{
cout<<"nntSorry, invalid registration number ";
cout<<"ntRegistration number starts from 1. ";
cout<<"nntPress any key to continue..... a";
getch();
A1.show_patient_detail();
}
if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==0)
{
cout<<"ntSorry, the patient has left the hospital.";
cout<<"ntPress any key to continue..."<<"n";
getch();
}
if((T1.regis<0||T1.regis>=T1.serial)&&T1.entry_index[T1.regis]==-1)
{
cout<<"nntSorry, the registration number is invalid ."<<"n";
T1.entry=T1.serial-1;
if(T1.entry==1)
cout<<"tOnly 1 record has been added .n";
else
cout<<"tOnly "<<T1.entry<<" records have been added .n";
}
if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==1)
{
cout<<"nt ***INFORMATION FOR PATIENT REGISTRATION NUMBER
"<<T1.regis<<"***nn";
cout<<"tName : "<<PI[T1.regis].name<<"n";
cout<<"tSex : ";
if(PI[T1.regis].sex==1)
cout<<"Male "<<"n";
if(PI[T1.regis].sex==2)
cout<<"Female "<<"n";
cout<<"tBlood Group : ";
switch(PI[T1.regis].bld_group)
{
case 1:
cout<<"A+n";
break;
case 2:
cout<<"A-n";
break;
case 3:
cout<<"B+n";
break;
case 4:
cout<<"B-n";
break;
case 5:
cout<<"AB+n";
break;
case 6:
cout<<"AB-n";
break;
case 7:
cout<<"O+n";
break;
case 8:
cout<<"O-n";
} //end of switch
cout<<"tMarital Status : ";
if(PI[T1.regis].martial_status==1)
cout<<"Married "<<"n";
else
cout<<"Single "<<"n";
cout<<"nt **ADDRESS**"<<"n";
cout<<"ntHouse no. : "<<PI[T1.regis].AD1.house;
cout<<"ntStreet : "<<PI[T1.regis].AD1.street;
cout<<"ntCity : "<<PI[T1.regis].AD1.city;
cout<<"ntState : "<<PI[T1.regis].AD1.state;
cout<<"ntCountry : "<<PI[T1.regis].AD1.country;
}
T1.d_index=0;
cout<<"nnnntWant to view detail of another patient(y/n) : ";
cin>>answer1;
while(answer1!='Y'&&answer1!='y'&&answer1!='N'&&answer1!='n')
{
cout<<"atPease re-enter a correct option (Y/N) ? ";
cin>>answer1;
}
if(answer1=='Y'||answer1=='y')
A1.show_patient_detail();
else
A1.tasks();
} //end of function
void all::billing()
{
char pn[25];
float bc,tc,oc,tot;
cout<<"nPatient Name :t";
cin>>pn;
cout<<"nBed Charge :t";
cin>>bc;
cout<<"nTreatment Charge:t";
cin>>tc;
cout<<"nOther Charges :t";
cin>>oc;
tot=bc+tc+oc;
cout<<"nnnTotal Billing Charges :t"<<tot;
cout<<"annntPress any key to return to the main task menu......."<<"n";
getch();
A1.tasks();
} //end of function
void all::search_menu()
{
T1.ssi_count=0;
if(T1.current==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!!"<<"n";
cout<<"tPlease enter some information first. "<<"n";
cout<<"nntDo you want to enter now (Y/N) : a";
cin>>T1.enter_now;
while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter
_now!='n')
{
cout<<"antPlease enter a correct option (Y/N) : ";
cin>>T1.enter_now;
}
if(T1.enter_now=='y'||T1.enter_now=='Y')
A1.enter_patient_info();
else
A1.tasks();
}
T1.search_number=0;
cout<<"nntt ***SEARCH MENU***"<<"n";
cout<<"nntt 1. Search by city "<<"n";
cout<<"tt 2. Search by blood group "<<"n";
cout<<"tt 3. Return to main menu "<<"n";
cout<<"nnt Enter your choice : a";
cin>>s_choice;
cin.get(ch);
cout<<"nnn";
switch(s_choice)
{
case 1:
T1.search_index=1;
cout<<"nntt***SEARCHING BY CITY***n";
cout<<"nntEnter city : ";
cin.getline(s_city,30);
cout<<"nnn";
while(strlen(s_city)==0) //if enter is pressed before input for city
{
cout<<"ntPlease enter a city : a";
cin.getline(s_city,30);
}
A1.search_city();
break;
case 2:
T1.search_index=2;
cout<<"nntt***SEARCHING BY BLOOD GROUP***n";
cout<<"nntt ***BLOOD GROUP MENU***nn";
cout<<"t1. A+ "<<"n";
cout<<"t2. A- "<<"n";
cout<<"t3. B+ "<<"n";
cout<<"t4. B- "<<"n";
cout<<"t5. AB+ "<<"n";
cout<<"t6. AB- "<<"n";
cout<<"t7. O+ "<<"n";
cout<<"t8. O- "<<"n";
cout<<"nn Enter the serial of your required group : ";
cin>>s_group;
while(s_group!=1&&s_group!=2&&s_group!=3&&s_group!=4&&
s_group!=5&&s_group!=6&&s_group!=7&&s_group!=8)
{
cout<<"n";
cout<<"tInvalid search criteria !!!"<<"n";
cout<<"tValid serials are 1 to 8."<<"n";
cout<<"tEnter a valid blood group : a";
cin>>s_group;
}
cout<<"nnn";
A1.search_blood_group();
break;
case 3:
A1.tasks();
break;
default:
cout<<"ann Invalid search criteria !!!"<<"n";
cout<<" Valid options are 1 and 2 !!!"<<"n";
cout<<" Press any key to return to the main searching menu....."<<"n";
getch();
A1.search_menu();
} //end of switch
} //end of function
void all::search_city()
{
T1.search_count=0;
T1.search_number++;
cout<<"nnn";
for(T1.index=1;T1.index<T1.serial;T1.index++)
{
if((strcmp(PI[T1.index].AD1.city,s_city))==0)
{
if(T1.entry_index[T1.index]==0)
continue;
if(T1.search_count==0)
cout<<"ttRegistration no. Name of patientnn";
cout<<"ntt "<<T1.index<<"tt"<<PI[T1.index].name;
T1.search_count++;
}
}
if(T1.search_number==1)
{
cout<<"annntt Search is complete !!! "<<"n";
if(T1.search_count==0)
{
cout<<"tt No result found !!!"<<"nnn";
cout<<"tt Press any key to continue.....";
getch();
A1.after_search_options();
}
if(T1.search_count>1)
cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn";
if(T1.search_count==1)
cout<<"tt "<<T1.search_count<<" result found !!! "<<"nnn";
}
if(T1.search_number==1)
{
cout<<"nnttWant to view in detail : ";
cin>>after_search_answer;
while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ
er!='N'&&after_search_answer!='n')
{
cout<<"annttPlease enter a correct option .";
cout<<"nttDo you want to view in detail (Y/N): ";
cin>>after_search_answer;
}
if(after_search_answer=='y'||after_search_answer=='Y')
{
cout<<"nnnttWhich registration number : ";
cin>>T1.index;
A1.search_show_info();
}
else
A1.after_search_options();
}
else
{
cout<<"nnnttWhich registration number : ";
cin>>T1.index;
A1.search_show_info();
}
} //end of function
void all::search_blood_group()
{
T1.search_count=0;
T1.search_number++;
cout<<"nnn";
for(T1.index=1;T1.index<T1.serial;T1.index++)
{
if(s_group==PI[T1.index].bld_group)
{
if(T1.entry_index[T1.index]==0)
continue;
if(T1.search_count==0)
cout<<"ttRegistration no. Name of patientnn";
cout<<"ntt "<<T1.index<<"tt"<<PI[T1.index].name;
T1.search_count++;
}
}
if(T1.search_number==1)
{
cout<<"annntt Search is complete !!! "<<"n";
if(T1.search_count==0)
{
cout<<"tt No matching result found !!!"<<"nnn";
cout<<"tt Press any key to continue.....";
getch();
A1.after_search_options();
}
if(T1.search_count>1)
cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn";
if(T1.search_count==1)
cout<<"tt "<<T1.search_count<<" result found !!! "<<"nnn";
}
if(T1.search_number==1)
{
cout<<"nnttWant to view in detail (y/n): ";
cin>>after_search_answer;
while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ
er!='N'&&after_search_answer!='n')
{
cout<<"annttPlease enter a correct option (y/n)";
cout<<"nttDo you want to view in detail : ";
cin>>after_search_answer;
}
if(after_search_answer=='y'||after_search_answer=='Y')
{
cout<<"nnnttWhich registration number : ";
cin>>T1.index;
A1.search_show_info();
}
else
A1.after_search_options();
}
else
{
cout<<"nnnttWhich registration number : ";
cin>>T1.index;
A1.search_show_info();
}
} //end of function
void all::search_show_info()
{
T1.ssi_count++;
cout<<"nn";
if(T1.index<=0)
{
cout<<"nntSorry, invalid registration number !!!";
cout<<"ntRegistration number starts from 1 ";
cout<<"ntPress any key to continue.........n";
getch();
switch(T1.search_index)
{
case 1:
A1.search_city();
break;
case 2:
A1.search_blood_group();
break;
} //end of switch
}
if(T1.entry_index[T1.index]==0)
{
cout<<"nntSorry, the patient has left the hospital ."<<"n";
cout<<"tPress any key to continue ....a"<<"n";
getch();
switch(T1.search_index)
{
case 1:
A1.search_city();
break;
case 2:
A1.search_blood_group();
break;
} //end of switch
}
if(T1.entry_index[T1.index]==-1||T1.index>=T1.serial)
{
cout<<"nnttSorry, the registration number in invalid ."<<"n";
T1.entry=T1.serial-1;
if(T1.entry==1)
cout<<"ttOnly 1 record has been added .n";
else
cout<<"ttOnly "<<T1.entry<<" records have been added .n";
cout<<"ttPress any key to continue....a"<<"n";
getch();
switch(T1.search_index)
{
case 1:
A1.search_city();
break;
case 2:
A1.search_blood_group();
break;
} //end of switch
}
cout<<"n";
T1.ssi_count=0;
cout<<"nt ***INFORMATION FOR PATIENT REGISTRATION NUMBER
"<<T1.index<<"***nn";
cout<<"tName : "<<PI[T1.index].name<<"n";
cout<<"tSex : ";
if(PI[T1.index].sex==1)
cout<<"Male "<<"n";
if(PI[T1.index].sex==2)
cout<<"Female "<<"n";
cout<<"tBlood Group : ";
switch(PI[T1.index].bld_group)
{
case 1:
cout<<"A+n";
break;
case 2:
cout<<"A-n";
break;
case 3:
cout<<"B+n";
break;
case 4:
cout<<"B-n";
break;
case 5:
cout<<"AB+n";
break;
case 6:
cout<<"AB-n";
break;
case 7:
cout<<"O+n";
break;
case 8:
cout<<"O-n";
break;
} //end of switch
cout<<"tMarital Status : ";
if(PI[T1.index].martial_status==1)
cout<<"Married "<<"n";
else
cout<<"Single "<<"n";
cout<<"nt **ADDRESS**"<<"n";
cout<<"ntHouse no. : "<<PI[T1.index].AD1.house;
cout<<"ntStreet : "<<PI[T1.index].AD1.street;
cout<<"ntCity : "<<PI[T1.index].AD1.city;
cout<<"ntState : "<<PI[T1.index].AD1.state;
cout<<"ntCountry : "<<PI[T1.index].AD1.country;
cout<<"nnntWant to view info of another patient within search results (Y/N) ?
";
cin>>after_search_answer;
while(after_search_answer!='Y'&&after_search_answer!='y'&&after_search_answ
er!='N'&&after_search_answer!='n')
{
cout<<"antPlease enter a correct option (Y/N) : ";
cin>>after_search_answer;
}
if(after_search_answer=='y'||after_search_answer=='Y')
{
switch(T1.search_index)
{
case 1:
A1.search_city();
break;
case 2:
A1.search_blood_group();
} //end of switch
}
else
A1.after_search_options();
} //end of function
void all::after_search_options()
{
cout<<"nnnnttWHAT DO U WANT TO DO NOW ?"<<"n";
cout<<"tt1. Search again "<<"n";
cout<<"tt2. Return to main task menu "<<"n";
cout<<"ntEnter your choice : ";
cin>>T1.after_search_choice;
cout<<"n";
switch(T1.after_search_choice)
{
case 1:
T1.ssi_count=0;
A1.search_menu();
break;
case 2:
T1.ssi_count=0;
A1.tasks();
break;
default:
cout<<"anntInvalid option requested !!!"<<"n";
cout<<"tPress any key to return to the main searching menu..."<<"n";
getch();
A1.search_menu();
} //end of switch
} //end of function
void all::delete_entry()
{
if(T1.current==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!!"<<"n";
cout<<"tPlease enter some information first. "<<"n";
cout<<"nntDo you want to enter now (Y/N) : a";
cin>>T1.enter_now;
while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter
_now!='n')
{
cout<<"antPlease re-enter a correct option (Y/N) : ";
cin>>T1.enter_now;
}
if(T1.enter_now=='y'||T1.enter_now=='Y')
A1.enter_patient_info();
else
A1.tasks();
}
cout<<"ntt ***CURRENT DATABASE ENTRIES***nn";
cout<<"ttRegistration no. Name of patientnn";
for(T1.j=1;T1.j<T1.serial;T1.j++)
{
if(T1.entry_index[T1.j]==0)
continue; //to ignore deleted items
if(T1.entry_index[T1.j]==1)
{
T1.delete_show++;
cout<<"tt "<<T1.j<<" "<<PI[T1.j].name<<"n";
}
}
if(T1.delete_show==0)
{
cout<<"ntDatabase is currently empty!!!a";
cout<<"ntPress any key to continue....";
getch();
A1.tasks();
}
cout<<"nntPress 0 to return to main menu and 101 to delete all entries... ";
cout<<"nnnt Or enter the registration no. from 1 to 100 you want to delete ? ";
cin>>en_del_index;
if(en_del_index==101)
{
cout<<"ntWarning : You are about to delete all entries !!!a";
cout<<"ntAre you sure you want to do this : ";
cin>>T1.delete_all_confirm;
while(T1.delete_all_confirm!='Y'&&T1.delete_all_confirm!='y'&&T1.delete_all_c
onfirm!='N'&&T1.delete_all_confirm!='n')
{
cout<<"ntSorry, wrong input !!!";
cout<<"ntPlease enter a valid choice (Y/N) : a";
cin>>T1.delete_all_confirm;
}
if(T1.delete_all_confirm=='y'||T1.delete_all_confirm=='Y')
{
for(T1.f=1;T1.f<=100;T1.f++)
{
if(T1.entry_index[T1.f]==1)
{
T1.current--;
T1.entry_index[T1.f]=0;
}
}
cout<<"nntAll entries have been succesfully deleted!!!";
cout<<"ntPress any key to return to the main menu...a";
getch();
A1.tasks();
}
else
{
cout<<"ntNo entries have been deleted.";
cout<<"ntPress any key for more options....";
getch();
A1.after_delete_options();
}
}
if(en_del_index==0)
A1.tasks();
if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]==
1)
{
cout<<"nntAre you sure you want to delete entry "<<en_del_index<<" (Y/N) ?
";
cin>>delete_confirm;
while(delete_confirm!='Y'&&delete_confirm!='y'&&delete_confirm!='N'&&delet
e_confirm!='n')
{
cout<<"antPease re-enter a correct option (Y/N) ? ";
cin>>delete_confirm;
}
if(delete_confirm=='y'||delete_confirm=='Y')
{
T1.entry_index[en_del_index]=0; //entry now deleted. index value set to 0
T1.current--;
cout<<"ntEntry succesfully deleted.n";
cout<<"tPress any key to continue.....a";
getch();
A1.after_delete_options();
}
else
{
T1.entry_index[en_del_index]=1; //entry not deleted. default index value(1) kept
cout<<"ntEntry not deleted ";
cout<<"ntPress any key to continue.......";
getch();
A1.after_delete_options();
}
}
if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]==
0)
{
cout<<"nntSorry, the patient has already left the hospital ."<<"n";
cout<<"ntPress any key to continue...a"<<"n";
getch();
A1.delete_entry();
}
else
{
cout<<"nntSorry, Invalid registration number ."<<"an";
T1.entry=T1.serial-1;
if(T1.entry==1)
cout<<"tOnly 1 record has been added .n";
else
cout<<"tOnly "<<T1.entry<<" records were added and "<<T1.current<<" are
present now.n";
cout<<"tPress any key to continue..."<<"n";
getch();
A1.delete_entry();
}
} //end of function
void all::after_delete_options()
{
cout<<"nttWHAT DO YOU WANT TO DO NOW ?";
cout<<"ntt1. Delete more entries ";
cout<<"ntt2. Return to main menu "<<"n";
cout<<"nttPlease enter your choice : ";
cin>>delete_choice;
while(delete_choice!=1&&delete_choice!=2)
{
cout<<"anntSorry, wrong choice .";
cout<<"ntValid choices are 1 and 2. ";
cout<<"ntPlease re-enter your choice : ";
cin>>delete_choice;
}
switch(delete_choice)
{
case 1:
A1.delete_entry();
break;
case 2:
A1.tasks();
} //end of switch
} //end of function
void all::recycle_bin()
{
T1.delete_count=0;
if(T1.serial==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!!"<<"n";
cout<<"tPlease enter some information first. "<<"n";
cout<<"nntDo you want to enter now (Y/N) : a";
cin>>T1.enter_now;
while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter
_now!='n')
{
cout<<"antPlease enter a correct option (Y/N) : ";
cin>>T1.enter_now;
}
if(T1.enter_now=='y'||T1.enter_now=='Y')
A1.enter_patient_info();
else
A1.tasks();
}
cout<<"ntt ****** DELETED ENTRIES ******nn";
cout<<"ttRegistration no. Name of patientnn";
for(T1.d=1;T1.d<T1.serial;T1.d++)
{
if(T1.entry_index[T1.d]==0)
{
cout<<"tt "<<T1.d<<" "<<PI[T1.d].name<<"n";
T1.delete_count++;
}
else
continue;
}
if(T1.delete_count==0)
{
T1.delete_count=0;
cout<<"nnntNo entry is currently in recycle bin.";
cout<<"ntPress any key to return to the main menu...a";
getch();
A1.tasks();
}
cout<<"nntPress 0 to return to main menu and 101 to restore all items... ";
cout<<"nnntWhich item to restore : ";
cin>>T1.restore_serial;
if(T1.restore_serial==0)
A1.tasks();
if(T1.restore_serial==101)
{
cout<<"nntAre you sure you want to restore all the entries : ";
cin>>T1.restore_all_confirm;
while(T1.restore_all_confirm!='Y'&&T1.restore_all_confirm!='y'&&T1.restore_al
l_confirm!='N'&&T1.restore_all_confirm!='n')
{
cout<<"nntPlease re-enter a corrent option : ";
cin>>T1.restore_all_confirm;
}
if(T1.restore_all_confirm=='y'||T1.restore_all_confirm=='Y')
{
for(T1.e=1;T1.e<=100;T1.e++)
if(T1.entry_index[T1.e]==0)
{
T1.current++;
T1.entry_index[T1.e]=1;
}
cout<<"ntAll deleted items have been succesfully restored.";
cout<<"ntPress any key to return to the main menu...";
getch();
A1.tasks();
}
else
{
cout<<"nntNo entry has been restored.";
cout<<"ntPress any key to view the recycle bin...a";
getch();
A1.recycle_bin();
}
}
if(T1.entry_index[T1.restore_serial]==0)
{
cout<<"ntAre you sure you want to restore entry "<<T1.restore_serial<<" : ";
cin>>T1.restore_confirm;
while(T1.restore_confirm!='Y'&&T1.restore_confirm!='y'&&T1.restore_confirm!
='N'&&T1.restore_confirm!='n')
{
cout<<"nntInvalid input !!! ";
cout<<"ntPease re-enter a correct option (Y/N) : a";
cin>>T1.restore_confirm;
}
if(T1.restore_confirm=='Y'||T1.restore_confirm=='y')
{
T1.current++;
T1.delete_count=0;
T1.entry_index[T1.restore_serial]=1; //index value set to 1
cout<<"ntEntry succesfully restored!!!";
cout<<"ntPress any key to continue....a";
getch();
A1.after_restore();
}
else
{
cout<<"ntEntry not restored!!!"; //index value kept 0
cout<<"ntPress any key to continue...na";
getch();
A1.after_restore();
}
}
if(T1.entry_index[T1.restore_serial]==1)
{
cout<<"ntThe entry is already present in the database.";
cout<<"ntPress any key to continue...";
getch();
A1.recycle_bin();
}
if(T1.restore_serial<0||T1.restore_serial>100||T1.entry_index[T1.restore_serial]==-
1)
{
cout<<"ntInvalid serial number";
cout<<"ntPress any key to continue...";
getch();
A1.recycle_bin();
}
} //end of function
void all::after_restore()
{
cout<<"nnnttWHAT DO YOU WANT TO DO NOW? ";
cout<<"ntt1. Restore more entries ";
cout<<"ntt2. Return to main manu ";
cout<<"nnttPlease enter your choice : ";
cin>>T1.after_restore_choice;
switch(T1.after_restore_choice)
{
case 1:
A1.recycle_bin();
break;
case 2:
A1.tasks();
break;
default:
cout<<"nnntSorry, wrong choice ";
cout<<"ntValid choices are 1 and 2 ";
cout<<"ntPress any key to continue......";
getch();
A1.after_restore();
}
} //end of function
void all::exit_function()
{
if(T1.serial==0)
{
cout<<"nnnntYou have not used the software.";
cout<<"ntIt is recommended that you should not exit.";
cout<<"ntPress any key to continue......a";
getch();
cout<<"nnntAre you sure you want to exit (Y/N) ? ";
cin>>exit_answer;
while(exit_answer!='Y'&&exit_answer!='y'&&exit_answer!='N'&&exit_answer!='
n')
{
cout<<"nntInvalid input !!! ";
cout<<"ntPease re-enter a correct option (Y/N) : a";
cin>>exit_answer;
}
if(exit_answer=='y'||exit_answer=='Y')
{
cout<<"a";
exit ;
}
else
A1.tasks();
}
cout<<"nnnttt ***SOFTWARE DETAILS***n";
cout<<"nntDeveloper : Sakshi , Shweta , Sanjit "<<"n";
cout<<”n NATIONAL INSTITUTE OF TECHNOLOGY KURUKSHETRAn”;
cout<<"tProgramming Language : C++ "<<"n";
cout<<"ntHope you like it..."<<"n";
cout<<"nntThanks for trying this "<<"n";
cout<<"nnntPress any key to continue........"<<"n";
getch();
exit(0);
} //end of function

Weitere ähnliche Inhalte

Was ist angesagt?

SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management Systemkataria Arvind
 
Hospital management system project
Hospital management system projectHospital management system project
Hospital management system projectHimani Chopra
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management Systemidowume
 
Banking Management System Project documentation
Banking Management System Project documentationBanking Management System Project documentation
Banking Management System Project documentationChaudhry Sajid
 
Design and implementation of a hospital management system
Design and implementation of a hospital management systemDesign and implementation of a hospital management system
Design and implementation of a hospital management systemOvercomer Michael
 
Pharmacy management system project report
Pharmacy management system project reportPharmacy management system project report
Pharmacy management system project reportDipta Roy
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management SystemPranil Dukare
 
Hospital Management System proposal
Hospital Management System proposalHospital Management System proposal
Hospital Management System proposalChandresh Prasad
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management SystemRANJIT SINGH
 
Hospital management final report presentation
Hospital management final report presentationHospital management final report presentation
Hospital management final report presentationMd Abul Kalam Azad
 
Online doctor appointment
Online doctor appointmentOnline doctor appointment
Online doctor appointmentAmna Nawazish
 
College Management System project
College Management System projectCollege Management System project
College Management System projectManish Kushwaha
 
Hospital Management Record System Proposal
Hospital Management Record System ProposalHospital Management Record System Proposal
Hospital Management Record System ProposalBishal Bista
 
Project for Student Result System
Project for Student Result SystemProject for Student Result System
Project for Student Result SystemKuMaR AnAnD
 
Hospital management synopsis
Hospital management synopsisHospital management synopsis
Hospital management synopsisYogeshDhamke2
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management SystemToseef Hasan
 
Hospital management-system
Hospital management-systemHospital management-system
Hospital management-systemsam143143
 
Pharmacy management system
Pharmacy management systemPharmacy management system
Pharmacy management systemsudiahmad1
 
Student Management System best PPT
Student Management System best PPTStudent Management System best PPT
Student Management System best PPTDheeraj Kumar tiwari
 

Was ist angesagt? (20)

SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management System
 
Hospital management system project
Hospital management system projectHospital management system project
Hospital management system project
 
HOSPITAL MANAGEMENT SYSTEM PROJECT
HOSPITAL MANAGEMENT SYSTEM PROJECTHOSPITAL MANAGEMENT SYSTEM PROJECT
HOSPITAL MANAGEMENT SYSTEM PROJECT
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management System
 
Banking Management System Project documentation
Banking Management System Project documentationBanking Management System Project documentation
Banking Management System Project documentation
 
Design and implementation of a hospital management system
Design and implementation of a hospital management systemDesign and implementation of a hospital management system
Design and implementation of a hospital management system
 
Pharmacy management system project report
Pharmacy management system project reportPharmacy management system project report
Pharmacy management system project report
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management System
 
Hospital Management System proposal
Hospital Management System proposalHospital Management System proposal
Hospital Management System proposal
 
Hospital Management System
Hospital Management SystemHospital Management System
Hospital Management System
 
Hospital management final report presentation
Hospital management final report presentationHospital management final report presentation
Hospital management final report presentation
 
Online doctor appointment
Online doctor appointmentOnline doctor appointment
Online doctor appointment
 
College Management System project
College Management System projectCollege Management System project
College Management System project
 
Hospital Management Record System Proposal
Hospital Management Record System ProposalHospital Management Record System Proposal
Hospital Management Record System Proposal
 
Project for Student Result System
Project for Student Result SystemProject for Student Result System
Project for Student Result System
 
Hospital management synopsis
Hospital management synopsisHospital management synopsis
Hospital management synopsis
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management System
 
Hospital management-system
Hospital management-systemHospital management-system
Hospital management-system
 
Pharmacy management system
Pharmacy management systemPharmacy management system
Pharmacy management system
 
Student Management System best PPT
Student Management System best PPTStudent Management System best PPT
Student Management System best PPT
 

Ähnlich wie Hospital Management System Project

167543812 a-study-on-smart-card-doc
167543812 a-study-on-smart-card-doc167543812 a-study-on-smart-card-doc
167543812 a-study-on-smart-card-dochomeworkping8
 
Hospital management synopsis
Hospital management synopsisHospital management synopsis
Hospital management synopsisYogeshDhamke2
 
Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)ANISUR RAHMAN
 
Srs hospital management
Srs hospital managementSrs hospital management
Srs hospital managementmaamir farooq
 
Electronic Medical Regulation
Electronic Medical RegulationElectronic Medical Regulation
Electronic Medical RegulationAditya Chauhan
 
online patient treatment system
online patient treatment system online patient treatment system
online patient treatment system RabiaNasir31
 
FEASIBILITY ANALYSIS REPORT
FEASIBILITY ANALYSIS REPORTFEASIBILITY ANALYSIS REPORT
FEASIBILITY ANALYSIS REPORTrabianasir8
 
Bus information live monitoring system
Bus information live monitoring systemBus information live monitoring system
Bus information live monitoring systemVenkat Projects
 
UPHAR (Universal Patient Hospital and Administration Registry)
UPHAR (Universal Patient Hospital and Administration Registry)UPHAR (Universal Patient Hospital and Administration Registry)
UPHAR (Universal Patient Hospital and Administration Registry)IRJET Journal
 
Hospitalmanagementsystemproject 140513065037-phpapp02
Hospitalmanagementsystemproject 140513065037-phpapp02Hospitalmanagementsystemproject 140513065037-phpapp02
Hospitalmanagementsystemproject 140513065037-phpapp02Shekhar Prasad
 
IRJET - Hospital Management System
IRJET -  	  Hospital Management SystemIRJET -  	  Hospital Management System
IRJET - Hospital Management SystemIRJET Journal
 
Srs dispensary-management
Srs dispensary-managementSrs dispensary-management
Srs dispensary-managementStayTuned3
 
Medical Store Management System Software Engineering 1
Medical Store Management System Software Engineering 1Medical Store Management System Software Engineering 1
Medical Store Management System Software Engineering 1hani2253
 
Health Prediction System - an Artificial Intelligence Project 2015
Health Prediction System - an Artificial Intelligence Project 2015Health Prediction System - an Artificial Intelligence Project 2015
Health Prediction System - an Artificial Intelligence Project 2015Maruf Abdullah (Rion)
 
Hospital management system report
Hospital management system reportHospital management system report
Hospital management system reportAhsan Riaz
 
373512722-Employee-Leave-Management-System.docx
373512722-Employee-Leave-Management-System.docx373512722-Employee-Leave-Management-System.docx
373512722-Employee-Leave-Management-System.docxsanthoshyadav23
 
Medical Store Management System Software Engineering Project
Medical Store Management System Software Engineering ProjectMedical Store Management System Software Engineering Project
Medical Store Management System Software Engineering Projecthani2253
 

Ähnlich wie Hospital Management System Project (20)

167543812 a-study-on-smart-card-doc
167543812 a-study-on-smart-card-doc167543812 a-study-on-smart-card-doc
167543812 a-study-on-smart-card-doc
 
Hospital management synopsis
Hospital management synopsisHospital management synopsis
Hospital management synopsis
 
Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)
 
Srs hospital management
Srs hospital managementSrs hospital management
Srs hospital management
 
Electronic Medical Regulation
Electronic Medical RegulationElectronic Medical Regulation
Electronic Medical Regulation
 
SE_chap1.pdf
SE_chap1.pdfSE_chap1.pdf
SE_chap1.pdf
 
online patient treatment system
online patient treatment system online patient treatment system
online patient treatment system
 
FEASIBILITY ANALYSIS REPORT
FEASIBILITY ANALYSIS REPORTFEASIBILITY ANALYSIS REPORT
FEASIBILITY ANALYSIS REPORT
 
Bus information live monitoring system
Bus information live monitoring systemBus information live monitoring system
Bus information live monitoring system
 
UPHAR (Universal Patient Hospital and Administration Registry)
UPHAR (Universal Patient Hospital and Administration Registry)UPHAR (Universal Patient Hospital and Administration Registry)
UPHAR (Universal Patient Hospital and Administration Registry)
 
Hospitalmanagementsystemproject 140513065037-phpapp02
Hospitalmanagementsystemproject 140513065037-phpapp02Hospitalmanagementsystemproject 140513065037-phpapp02
Hospitalmanagementsystemproject 140513065037-phpapp02
 
IRJET - Hospital Management System
IRJET -  	  Hospital Management SystemIRJET -  	  Hospital Management System
IRJET - Hospital Management System
 
Hospital management system
Hospital management systemHospital management system
Hospital management system
 
Srs dispensary-management
Srs dispensary-managementSrs dispensary-management
Srs dispensary-management
 
Medical Store Management System Software Engineering 1
Medical Store Management System Software Engineering 1Medical Store Management System Software Engineering 1
Medical Store Management System Software Engineering 1
 
Health Prediction System - an Artificial Intelligence Project 2015
Health Prediction System - an Artificial Intelligence Project 2015Health Prediction System - an Artificial Intelligence Project 2015
Health Prediction System - an Artificial Intelligence Project 2015
 
GP
GPGP
GP
 
Hospital management system report
Hospital management system reportHospital management system report
Hospital management system report
 
373512722-Employee-Leave-Management-System.docx
373512722-Employee-Leave-Management-System.docx373512722-Employee-Leave-Management-System.docx
373512722-Employee-Leave-Management-System.docx
 
Medical Store Management System Software Engineering Project
Medical Store Management System Software Engineering ProjectMedical Store Management System Software Engineering Project
Medical Store Management System Software Engineering Project
 

Kürzlich hochgeladen

Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 

Kürzlich hochgeladen (20)

Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 

Hospital Management System Project

  • 2. HOSPITAL A hospital is a health care institution providing patient treatment with specialized staff and equipment. Hospitals are usually funded by public sector by health organisations (for profit or non-profit), by health insurance companies, or by charities, including direct charitable donations. Hospitals have a range of departments (e.g., surgery, and urgent care etc). HOSPITAL MANAGEMENT SYSTEM A hospital management system is an information system that manages the aspects of a hospital. This may include the administrative, financial, and medical processing. It is an integrated end-to-end Hospital Management System that provides relevant information across the hospital to support effective decision making for patient care, hospital administration and critical financial accounting, in a seamless flow. This program can look after Inpatients, OPD patients, records, database treatments, status illness, billings etc. it also maintains their hospital info such as ward id, Doctor in Charge, Department administering etc. Now with a laboratory module to handle all lab operations...!!! Not only has this it also looked after doctor and staff records and payments. Now with advanced features like LAN connectivity, ICD10 disease database, Webcam support. NEED OF HMS 1. Minimized documentation and no duplication of records. 2. Reduced paper work. 3. Improved Patient Care 4. Better Administration Control 5. Faster information flow between various departments 6. Smart Revenue Management 7. Effective billing of various services 8. Exact stock information
  • 3. Software Requirement Specification (SRS) A Software requirements specification (SRS), a requirements specification for a software system, is a complete description of the behavior of a system to be developed and may include a set of use cases that describe interactions the users will have with the software. In addition it also contains non-functional requirements. Non-functional requirements impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints). 1. Introduction The SRS is produced at the culmination of the analysis task. The function and performance allocated to software as part of the system engineering and refined by establishing a complete information description, a detailed functional description, a representation of system behavior, indication of performance requirements and design constrains, appropriate validation criteria and the other information related to requirements. The SRS is technical specification of requirement of Hospital Management system. This specification describes what the proposed system should do without describing how it will do it. It also describes complete external behavior of proposed system. 1.1. Purpose:- The main purpose of our system is to make hospital task easy and is to develop software that replaces the manual hospital system into automated hospital management system. This document serves as the unambiguous guide for the developers of this software system. 1.2. Scope:- The document only covers the requirement specification for the hospital management system. This document does not provide any references to the other component of the hospital management system. All the external interfaces and the dependencies are also identified in this document.
  • 4. 1.3. Feasibility Study:- The overall scope of the feasibility study was to provide sufficient information to allow a decision to be made as to whether the hospital management system project should proceed and so, its relative priority in the context of the other existing hospital management system. The feasibility study of this project had undergone through various steps which as describe as under: a) Identify the origin of the information at different level. b) Identify the expectation of user from computerized system. c) Analyze the drawback of existing system. 1.4. Definition , Acronyms , Abbreviations:- CFD: - Context Flow Diagram DFD: - Data Flow Diagram IDE: - Integrated Development Environment C++:-Platform Independent And Object_oriented programming language SRS: - Software Requirement Specification. 1.5. Reference:- 1) An integrated approach to software engineering, Third edition by Pankaj Jalote 2) OOP in C++ – E Balaguruswamy 3) Software engineering By Ian Sommerville 1.6. Overview:- Hospital Management System is a process of implementing all the activities of the hospital in a computerized automated way to fasten the performance.
  • 5. This project is to maintain the patient details, lab reports and to calculate the bill of the patient. You can also manually edit any patient details and issue bill receipt to patient within few seconds. 2. OVERALL DESCRIPTION 2.1. Product perspectives:- This project gives the procedural approach how a patient gets treatment, details about date of treatment and finally depending on different criteria like room allocated, lab reports, treatment and medicine taken…..etc,how billing is calculated. During billing health card facility is also considered. 2.2. Product Function:- The data represented in hospital management application will perform the following major function:-  Patient Details: - It includes inpatient and outpatient details.  Tasks:- It includes the various tasks which are used in hospital  Billing Details:-This software will help to calculate the bill much quicker and simpler way. This enables the organization to keep the information in efficient and systematic way. 2.3. User Characteristics:- This software is developed such that total appearance of the product to make it more user friendly. The operator will be provided with login id and password. General users with basic computer skills can use this software. 2.4. General Constraints:- Any update regarding the patient’s information from the hospital are to be recorded to have updated and correct values.
  • 6. 2.5. Assumption and Dependencies:- All the data entered will be correct and up to date. This software package is developed using java as front end which is supported by sun micro system, MS SQL server 2005 as the back end which is supported by Microsoft windows XP. 3. SPECIFIC REQUIREMENTS It describes all the details that the software developer need to know for designing and developing the system. This is typically the largest and most important part of the document. 3.1. External Interface Requirements:- 3.1.1. User Interface:- User interface is designed in a user friendly manner and the user, in another end he has to give the order, for that he will interface with keyboard and mouse. 3.1.2. Hardware Interface:- 1) OS – windows 2) Hard disk – 80 GB 3) RAM – 1 GB 4) Keyboard – Standard QWERTY keyboard for interface 5) Mouse – Standard mouse with 2 buttons 3.1.3. Software Interface:- 1) Front end – OOP using C++ 2) OS – Net Beans IDE 6.9.1 3) .Net Firmware 3.1.4. Communication Interface:- Windows
  • 7. 3.2. Functional Requirements:- 3.2.1. Administration module:- This module enables the user to insert, update, view, search and delete the patient information. 3.2.2. Patient module:-  Data Members :- PatientId, Name, Age, Sex, BloodGroup, Marital Status ,Address, Phone Number. 3.2.3. Task module:- This module is used by system admin to manage the system. It has following sub modules.  Add New Patient :- This module is used to add a new patient.  View Details :- This module is used to view the details of a previously admitted patient.  Search :- This module searches the record of desired patient using his ID, Name, City or Blood Group.  Delete :- This module deletes the entry of a patient.  Recycle bin :- This module retrieves the deleted patient data. 3.2.4. Billing Module:- It requires following data members.  Patient ID ,Patient Name, Treatment Charges, Bed Charges and Other Charges  Total Amount which gives the total amount which the patient has to pay.
  • 8. 3.2.5. Updation module:- This module used to store or produce the patient reports .This updates patient info after each task. 3.3. Performance Requirements:- The capability of the computer depends on the performance of the software. The software can take any number of input provided the database size is large enough. This would depend on the available memory space. 3.4. Design Constraints:- This will help the doctors or users to view the records of the patients immediately whenever necessary. They can also calculate the bill of the particular patients. This software also has the ability to add, update and delete the record whenever needed. This project will help to smoother the process of the hospital activites. 4. SYSTEM FEATURES: The users of the system should be provided the surety that their account is secure. This is possible by following:  User authentication and validation of members using their member ID.  Proper monitoring by the administrator which includes account status, showing a popup if wrong data is entered more than a required limit.  Privacy of personal details of patient maintained properly.
  • 9. 5. ATTRIBUTES: 5.1  Reliability: This application is a reliable product that produces fast and verified output of all its processes.  Availability: This application will be available to use and help them to carry out their operations conveniently.  Security: The application will be password protected. User will have to enter correct username, password and role in order to access the application.  Maintainability: The application will be designed in a maintainable manner. It will be easy to to incorporate new requirements in the individual modules.  Portability: The application will be easily portable on any windows-based system that has oracle installed.
  • 10. 5.2 Data Dictionary:- CLASS NAME DATA MEMBERS MEMBER FUNCTIONS ADMIN: task() PATIENT: Name: string Get_address() ID: int Pay_bill() Age: int Maritial_status: string Sex: string Blood_group: string TASK: Add_patient() View_details() Search() Discharge() Prepare_bill() ADDRESS: House_no: int Street: int City: string State: string Country: string BILL: Treatment_charges: float Total_amount() Bed_charges: float Other_charges: float Amount: float
  • 11. 6. SYSTEM DESIGN: The principles used in design are described below :- 1. DATA FLOW DIAGRAM: Symbol Name Function Data Flow Used to connect processes to each other. The arrowhead indicates direction of data flow. Process Performs some transformation to input data to output data. Source or sink.(external entity) A source of system inputs or sink of system outputs. Data Store A repository of data. Arrowheads indicate net inputs or net outputs to the store.
  • 12.
  • 13.
  • 14. 2. ENTITY RELATIONSHIP DIAGRAM:- Symbol Name Description Entity An entity can be any object, place, person or anything. Attribute An Attribute Describes a property or characteristics of an entity. Relationship A Relationship Describes relation between entities.
  • 15.
  • 19. CONCLUSION:- The project Hospital Management System (HMS) is for computerizing the working in a hospital. It is a great improvement over the manual system. The computerization of the system has speed up the process. In the current system, the front office managing is very slow. The hospital managing system was thoroughly checked and tested with dummy data and thus is found to be very reliable. The software takes care of all the requirements of an average hospital and is capable to provide easy and effective storage of information related to patients that come up to the hospital. It generates test reports and also provides the facility for searching the details of the patient. It also provides billing facility on the basis of patient’s status whether it is an indoor or outdoor patient. The system also provides the facility of backup as per the requirement. FUTURE ENHANCEMENTS: The proposed system is Hospital Management System. We can enhance this system by including more facilities like pharmacy system for the stock details of medicines in the pharmacy. Providing such features enable the users to include more comments into the system. LIMITATIONS:  The size of the database increases day-by-day, increasing the load on the database back up and data maintenance activity.  Training for simple computer operations is necessary for the users working on the system.
  • 20. REFERENCES:- 1) An integrated approach to software engineering, Third edition by Pankaj Jalote 2) OOP in C++ – E Balaguruswamy 3) Software engineering By Ian Sommerville WEB REFERENCES: 1 .www.google.com 2. www.stackoverflow.com
  • 21. CODE FOR HMS::: /* HOSPITAL MANAGEMENT SYSTEM PROGRAMMING LANGUAGE C++ Please enter the input data in specified format only */ #include<iostream> //for input and output stream regulation #include<process.h> //for exit() #include<string.h> //for strlen() and strcmp() #include<conio.h> //for getch() and clrscr() #include<stdio.h> using namespace std; class all //declaration for class "all" { private: struct address { int house; char city[30]; char state[30]; char street[30];
  • 22. char country[30]; }; struct patient_info { address AD1; //nested structure implemented int sex; int reg_no; int bld_group; char name[50]; int martial_status; }PI[100]; int task; protected: //functions declared void search_menu(); void search_city(); void exit_function(); void search_show_info(); void search_blood_group(); void enter_patient_info(); void show_patient_detail(); void after_search_options(); void after_restore(); public: void tasks(); void recycle_bin();
  • 23. void delete_entry(); void billing(); void after_delete_options(); int s_group; int s_choice; int en_del_index; int delete_choice; char ch; char answer; char answer1; char s_city[30]; char exit_answer; char delete_confirm; char after_search_answer; }; //end of class "all" class temp1 //declaration for class "temp" { public: int m,i,j,k,d,e,f,rem,temp,count,regis,entry,serial,attempt,current,index; int d_index,ssi_count,show_count,delete_show,search_index,search_count,current_ye ar,delete_count; int search_number,restore_serial,entry_index[100],after_search_choice,after_restore_c hoice;
  • 24. char enter_now,restore_confirm,duplicate_answer,delete_all_confirm,restore_all_confir m,after_search_answer; temp1() //constructor for temp invoked { i=0;j=0; d=0; e=0; f=0; serial=0; current=0; d_index=0; ssi_count=0; show_count=0; delete_show=0; delete_count=0; }; //end of constructor for temp }; //end of class "temp" all A1; //object for class "all" declared temp1 T1; //object for class "temp" declared int main() //main function { T1.count=0; for(T1.m=1;T1.m<=100;T1.m++) //default index value set to -1 for each entry {
  • 25. T1.entry_index[T1.m]=-1; } cout<<"tttt WELCOME TO"<<"n"; cout<<"nnttt***HOSPITAL MANAGEMENT SOFTWARE***"<<"n"; cout<<"nttt BY SAKSHI,SHWETA AND SANJIT "<<"n"; A1.tasks(); } //end of main function void all::tasks() { T1.attempt=0; T1.d_index=0; cout<<"nnttt ***Hospital Management Tasks***"<<"n"; cout<<"n"; cout<<"nntPlease select a task to do..."<<"n"; cout<<"nnt1. Enter a new patient information "<<"n"; cout<<"t2. View detail of existing patient "<<"n"; cout<<"t3. Search by city or blood group"<<"n"; cout<<"t4. Delete entry "<<"n"; cout<<"t5. Recycle Bin "<<"n"; cout<<"t6. Prepare Bill "<<"n"; cout<<"t7. Exit "<<"nnn"; cout<<"a Enter your task serial : "; cin>>task;
  • 26. switch(task) { case 1:{ A1.enter_patient_info(); break; } case 2:{ A1.show_patient_detail(); break; } case 3:{ A1.search_menu(); break; } case 4:{ A1.delete_entry(); break; } case 5:{ A1.recycle_bin(); break; } case 6:{ A1.billing(); break;
  • 27. } case 7:{ A1.exit_function(); break; } default: cout<<"nnnnntInvalid task serial !!!"<<"n"; cout<<"tValid options are 1-6 !!!"<<"n"; cout<<"tPress any key to return to the main task menu....a"<<"n"; getch(); A1.tasks(); } return ; //end of switch for task } //end of function void all::enter_patient_info() { if(T1.current==100) //to avoid overflow of data in the database { cout<<"nnnt Database is full !!! "; cout<<"nt Sorry, you cannot enter any more information !!! "; cout<<"nt Information of maximum 100 patients can be entered !!!! "; cout<<"nt Press any key to return to the main menu....a "; getch(); A1.tasks();
  • 28. } answer='y'; if(T1.count==0) T1.serial=1; else T1.i=T1.serial; for(T1.i=T1.serial;answer=='y'||answer=='Y';T1.i++) { cout<<"a"; T1.current++; PI[T1.i].reg_no=T1.i; T1.temp=T1.serial; T1.entry_index[T1.i]=1; cout<<"nnt ***ENTERING INFORMATION FOR PATIENT SERIAL NUMBER "<<T1.i<<" ***"<<"n"; cin.get(ch); cout<<"nRegistration Number : "<<PI[T1.i].reg_no<<"nn"; cout<<"Enter the name of patient : "; cin.getline(PI[T1.i].name,50); while(strlen(PI[T1.i].name)==0) { cout<<"anPlease enter a name : "; //if enter is pressed before entering a name cin.getline(PI[T1.i].name,50); cout<<"n"; }
  • 29. for(T1.k=1;T1.k<T1.serial;T1.k++) //loop to avoid duplicate entries { if(strcmp(PI[T1.i].name,PI[T1.k].name)==0) //if match is found { if(T1.entry_index[T1.k]==0) //if entry is already deleted continue; else //if entry still exists { T1.current-=1; //current no. of entries remains same cout<<"nnntThe patient is already admitted in the hospital !!!"; cout<<"ntWant to view info of this registration number in detail (Y/N) : a"; cin>>T1.duplicate_answer; while(T1.duplicate_answer!='Y'&&T1.duplicate_answer!='y'&&T1.duplicate_ans wer!='N'&&T1.duplicate_answer!='n') { cout<<"ntaPlease re enter a correct option (Y/N) : "; cin>>T1.duplicate_answer; } if(T1.duplicate_answer=='y'||T1.duplicate_answer=='Y') { T1.entry_index[T1.i]=-1; T1.regis=T1.k; T1.d_index=1; A1.show_patient_detail(); }
  • 30. else { A1.tasks(); } } } } //end of "for loop" to prevent duplicate entries cout<<"nSex ( 1-Male , 2-Female ) : "; cin>>PI[T1.i].sex; while(PI[T1.i].sex!=1&&PI[T1.i].sex!=2) { cout<<"anInvalid input for sex of patient !!!"; cout<<"nSex : "; cin>>PI[T1.i].sex; } cout<<"nMartial status( 1-Married , 2-Single ) : "; cin>>PI[T1.i].martial_status; while(PI[T1.i].martial_status<1||PI[T1.i].martial_status>2) { cout<<"anInvalid input for martial status !!!"<<"n"; cout<<"Enter a valid martial status : "<<"n";
  • 31. cin>>PI[T1.i].martial_status; } cin.get(ch); cout<<"n *** Blood group ***"<<"n"; cout<<" 1. A+ "<<"n"; cout<<" 2. A- "<<"n"; cout<<" 3. B+ "<<"n"; cout<<" 4. B- "<<"n"; cout<<" 5. AB+ "<<"n"; cout<<" 6. AB- "<<"n"; cout<<" 7. O+ "<<"n"; cout<<" 8. O- "<<"n"; cout<<"nEnter a blood group : "; cin>>PI[T1.i].bld_group; switch(PI[T1.i].bld_group) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8:
  • 32. break; default: while(PI[T1.i].bld_group!=1&&PI[T1.i].bld_group!=2&& PI[T1.i].bld_group!=3&&PI[T1.i].bld_group!=4&& PI[T1.i].bld_group!=5&&PI[T1.i].bld_group!=6&& PI[T1.i].bld_group!=7&&PI[T1.i].bld_group!=8) { cout<<"aInvalid input !!!"<<"n"; cout<<"Please enter a valid Blood Group : "<<"n"; cin>>PI[T1.i].bld_group; } //end of while loop } //end of switch cin.get(ch); cout<<"nn ***ENTERING ADDRESS**"<<"nn"; cout<<"House number : "; cin>>PI[T1.i].AD1.house; while(PI[T1.i].AD1.house<=0) { cout<<"anInvalid input for house number !!!"; cout<<"nAgain enter the house number : "; cin>>PI[T1.i].AD1.house;
  • 33. } cin.get(ch); cout<<"Street : "; cin.getline(PI[T1.i].AD1.street,30); while(strlen(PI[T1.i].AD1.street)==0) { cout<<"anPlease enter a street : "; //if enter is pressd before input for street cin.getline(PI[T1.i].AD1.street,50); cout<<"n"; } cout<<"City : "; cin.getline(PI[T1.i].AD1.city,30); while(strlen(PI[T1.i].AD1.city)==0) { cout<<"anPlease enter a city : "; //if enter is pressd before input for city cin.getline(PI[T1.i].AD1.city,50); cout<<"n"; } cout<<"State : "; cin.getline(PI[T1.i].AD1.state,30); while(strlen(PI[T1.i].AD1.state)==0) { cout<<"anPlease enter a state : "; //if enter is pressed before input for state cin.getline(PI[T1.i].AD1.state,50); cout<<"n";
  • 34. } cout<<"Country : "; cin.getline(PI[T1.i].AD1.country,30); while(strlen(PI[T1.i].AD1.country)==0) { cout<<"anPlease enter a country : "; //if enter is pressd before input for country cin.getline(PI[T1.i].AD1.country,50); cout<<"n"; } cout<<"nnWant to enter information for another patient (Y/N) ? "; cin>>answer; while(answer!='Y'&&answer!='y'&&answer!='N'&&answer!='n') { cout<<"anPease re-enter a correct option (Y/N) : "; cin>>answer; } cout<<"n"; T1.count++; T1.serial++; } //end of "for loop" for entering information A1.tasks(); } //end of function void all::show_patient_detail() {
  • 35. if(T1.d_index==1) { T1.d_index=0; cout<<"nn"; goto direct; } if(T1.current==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n"; cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } cout<<"ntt****** CURRENT DATEBASE ENTRIES ******nn";
  • 36. cout<<"ttRegistration no. Name of patientnn"; for(T1.j=1;T1.j<100;T1.j++) { if(T1.entry_index[T1.j]==1) cout<<"tt "<<T1.j<<" "<<PI[T1.j].name<<"n"; else continue; } cout<<"nnttPress 0 to return to main menu.... "; cout<<"nnnEnter registration number whose details you want to see : "; cin>>T1.regis; cout<<"nn"; cin.get(ch); if(T1.regis==0) A1.tasks(); T1.show_count++; direct: //label for "goto" jump statement if(T1.regis<=0) { cout<<"nntSorry, invalid registration number "; cout<<"ntRegistration number starts from 1. "; cout<<"nntPress any key to continue..... a"; getch(); A1.show_patient_detail();
  • 37. } if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==0) { cout<<"ntSorry, the patient has left the hospital."; cout<<"ntPress any key to continue..."<<"n"; getch(); } if((T1.regis<0||T1.regis>=T1.serial)&&T1.entry_index[T1.regis]==-1) { cout<<"nntSorry, the registration number is invalid ."<<"n"; T1.entry=T1.serial-1; if(T1.entry==1) cout<<"tOnly 1 record has been added .n"; else cout<<"tOnly "<<T1.entry<<" records have been added .n"; } if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==1) { cout<<"nt ***INFORMATION FOR PATIENT REGISTRATION NUMBER "<<T1.regis<<"***nn"; cout<<"tName : "<<PI[T1.regis].name<<"n"; cout<<"tSex : "; if(PI[T1.regis].sex==1) cout<<"Male "<<"n"; if(PI[T1.regis].sex==2)
  • 38. cout<<"Female "<<"n"; cout<<"tBlood Group : "; switch(PI[T1.regis].bld_group) { case 1: cout<<"A+n"; break; case 2: cout<<"A-n"; break; case 3: cout<<"B+n"; break; case 4: cout<<"B-n"; break; case 5: cout<<"AB+n"; break; case 6: cout<<"AB-n"; break; case 7: cout<<"O+n";
  • 39. break; case 8: cout<<"O-n"; } //end of switch cout<<"tMarital Status : "; if(PI[T1.regis].martial_status==1) cout<<"Married "<<"n"; else cout<<"Single "<<"n"; cout<<"nt **ADDRESS**"<<"n"; cout<<"ntHouse no. : "<<PI[T1.regis].AD1.house; cout<<"ntStreet : "<<PI[T1.regis].AD1.street; cout<<"ntCity : "<<PI[T1.regis].AD1.city; cout<<"ntState : "<<PI[T1.regis].AD1.state; cout<<"ntCountry : "<<PI[T1.regis].AD1.country; } T1.d_index=0; cout<<"nnnntWant to view detail of another patient(y/n) : "; cin>>answer1; while(answer1!='Y'&&answer1!='y'&&answer1!='N'&&answer1!='n') { cout<<"atPease re-enter a correct option (Y/N) ? "; cin>>answer1; }
  • 40. if(answer1=='Y'||answer1=='y') A1.show_patient_detail(); else A1.tasks(); } //end of function void all::billing() { char pn[25]; float bc,tc,oc,tot; cout<<"nPatient Name :t"; cin>>pn; cout<<"nBed Charge :t"; cin>>bc; cout<<"nTreatment Charge:t"; cin>>tc; cout<<"nOther Charges :t"; cin>>oc; tot=bc+tc+oc; cout<<"nnnTotal Billing Charges :t"<<tot; cout<<"annntPress any key to return to the main task menu......."<<"n"; getch(); A1.tasks(); } //end of function
  • 41. void all::search_menu() { T1.ssi_count=0; if(T1.current==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n"; cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } T1.search_number=0; cout<<"nntt ***SEARCH MENU***"<<"n"; cout<<"nntt 1. Search by city "<<"n";
  • 42. cout<<"tt 2. Search by blood group "<<"n"; cout<<"tt 3. Return to main menu "<<"n"; cout<<"nnt Enter your choice : a"; cin>>s_choice; cin.get(ch); cout<<"nnn"; switch(s_choice) { case 1: T1.search_index=1; cout<<"nntt***SEARCHING BY CITY***n"; cout<<"nntEnter city : "; cin.getline(s_city,30); cout<<"nnn"; while(strlen(s_city)==0) //if enter is pressed before input for city { cout<<"ntPlease enter a city : a"; cin.getline(s_city,30); } A1.search_city(); break; case 2: T1.search_index=2; cout<<"nntt***SEARCHING BY BLOOD GROUP***n";
  • 43. cout<<"nntt ***BLOOD GROUP MENU***nn"; cout<<"t1. A+ "<<"n"; cout<<"t2. A- "<<"n"; cout<<"t3. B+ "<<"n"; cout<<"t4. B- "<<"n"; cout<<"t5. AB+ "<<"n"; cout<<"t6. AB- "<<"n"; cout<<"t7. O+ "<<"n"; cout<<"t8. O- "<<"n"; cout<<"nn Enter the serial of your required group : "; cin>>s_group; while(s_group!=1&&s_group!=2&&s_group!=3&&s_group!=4&& s_group!=5&&s_group!=6&&s_group!=7&&s_group!=8) { cout<<"n"; cout<<"tInvalid search criteria !!!"<<"n"; cout<<"tValid serials are 1 to 8."<<"n"; cout<<"tEnter a valid blood group : a"; cin>>s_group; } cout<<"nnn"; A1.search_blood_group(); break; case 3:
  • 44. A1.tasks(); break; default: cout<<"ann Invalid search criteria !!!"<<"n"; cout<<" Valid options are 1 and 2 !!!"<<"n"; cout<<" Press any key to return to the main searching menu....."<<"n"; getch(); A1.search_menu(); } //end of switch } //end of function void all::search_city() { T1.search_count=0; T1.search_number++; cout<<"nnn"; for(T1.index=1;T1.index<T1.serial;T1.index++) { if((strcmp(PI[T1.index].AD1.city,s_city))==0) { if(T1.entry_index[T1.index]==0) continue; if(T1.search_count==0) cout<<"ttRegistration no. Name of patientnn"; cout<<"ntt "<<T1.index<<"tt"<<PI[T1.index].name;
  • 45. T1.search_count++; } } if(T1.search_number==1) { cout<<"annntt Search is complete !!! "<<"n"; if(T1.search_count==0) { cout<<"tt No result found !!!"<<"nnn"; cout<<"tt Press any key to continue....."; getch(); A1.after_search_options(); } if(T1.search_count>1) cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn"; if(T1.search_count==1) cout<<"tt "<<T1.search_count<<" result found !!! "<<"nnn"; } if(T1.search_number==1) { cout<<"nnttWant to view in detail : "; cin>>after_search_answer;
  • 46. while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ er!='N'&&after_search_answer!='n') { cout<<"annttPlease enter a correct option ."; cout<<"nttDo you want to view in detail (Y/N): "; cin>>after_search_answer; } if(after_search_answer=='y'||after_search_answer=='Y') { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); } else A1.after_search_options(); } else { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); } } //end of function void all::search_blood_group()
  • 47. { T1.search_count=0; T1.search_number++; cout<<"nnn"; for(T1.index=1;T1.index<T1.serial;T1.index++) { if(s_group==PI[T1.index].bld_group) { if(T1.entry_index[T1.index]==0) continue; if(T1.search_count==0) cout<<"ttRegistration no. Name of patientnn"; cout<<"ntt "<<T1.index<<"tt"<<PI[T1.index].name; T1.search_count++; } } if(T1.search_number==1) { cout<<"annntt Search is complete !!! "<<"n"; if(T1.search_count==0) { cout<<"tt No matching result found !!!"<<"nnn"; cout<<"tt Press any key to continue.....";
  • 48. getch(); A1.after_search_options(); } if(T1.search_count>1) cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn"; if(T1.search_count==1) cout<<"tt "<<T1.search_count<<" result found !!! "<<"nnn"; } if(T1.search_number==1) { cout<<"nnttWant to view in detail (y/n): "; cin>>after_search_answer; while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ er!='N'&&after_search_answer!='n') { cout<<"annttPlease enter a correct option (y/n)"; cout<<"nttDo you want to view in detail : "; cin>>after_search_answer; } if(after_search_answer=='y'||after_search_answer=='Y') { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); }
  • 49. else A1.after_search_options(); } else { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); } } //end of function void all::search_show_info() { T1.ssi_count++; cout<<"nn"; if(T1.index<=0) { cout<<"nntSorry, invalid registration number !!!"; cout<<"ntRegistration number starts from 1 "; cout<<"ntPress any key to continue.........n"; getch(); switch(T1.search_index) { case 1: A1.search_city();
  • 50. break; case 2: A1.search_blood_group(); break; } //end of switch } if(T1.entry_index[T1.index]==0) { cout<<"nntSorry, the patient has left the hospital ."<<"n"; cout<<"tPress any key to continue ....a"<<"n"; getch(); switch(T1.search_index) { case 1: A1.search_city(); break; case 2: A1.search_blood_group(); break; } //end of switch } if(T1.entry_index[T1.index]==-1||T1.index>=T1.serial) { cout<<"nnttSorry, the registration number in invalid ."<<"n"; T1.entry=T1.serial-1;
  • 51. if(T1.entry==1) cout<<"ttOnly 1 record has been added .n"; else cout<<"ttOnly "<<T1.entry<<" records have been added .n"; cout<<"ttPress any key to continue....a"<<"n"; getch(); switch(T1.search_index) { case 1: A1.search_city(); break; case 2: A1.search_blood_group(); break; } //end of switch } cout<<"n"; T1.ssi_count=0; cout<<"nt ***INFORMATION FOR PATIENT REGISTRATION NUMBER "<<T1.index<<"***nn"; cout<<"tName : "<<PI[T1.index].name<<"n"; cout<<"tSex : "; if(PI[T1.index].sex==1) cout<<"Male "<<"n"; if(PI[T1.index].sex==2)
  • 52. cout<<"Female "<<"n"; cout<<"tBlood Group : "; switch(PI[T1.index].bld_group) { case 1: cout<<"A+n"; break; case 2: cout<<"A-n"; break; case 3: cout<<"B+n"; break; case 4: cout<<"B-n"; break; case 5: cout<<"AB+n"; break; case 6: cout<<"AB-n"; break; case 7: cout<<"O+n";
  • 53. break; case 8: cout<<"O-n"; break; } //end of switch cout<<"tMarital Status : "; if(PI[T1.index].martial_status==1) cout<<"Married "<<"n"; else cout<<"Single "<<"n"; cout<<"nt **ADDRESS**"<<"n"; cout<<"ntHouse no. : "<<PI[T1.index].AD1.house; cout<<"ntStreet : "<<PI[T1.index].AD1.street; cout<<"ntCity : "<<PI[T1.index].AD1.city; cout<<"ntState : "<<PI[T1.index].AD1.state; cout<<"ntCountry : "<<PI[T1.index].AD1.country; cout<<"nnntWant to view info of another patient within search results (Y/N) ? "; cin>>after_search_answer; while(after_search_answer!='Y'&&after_search_answer!='y'&&after_search_answ er!='N'&&after_search_answer!='n') { cout<<"antPlease enter a correct option (Y/N) : ";
  • 54. cin>>after_search_answer; } if(after_search_answer=='y'||after_search_answer=='Y') { switch(T1.search_index) { case 1: A1.search_city(); break; case 2: A1.search_blood_group(); } //end of switch } else A1.after_search_options(); } //end of function void all::after_search_options() { cout<<"nnnnttWHAT DO U WANT TO DO NOW ?"<<"n"; cout<<"tt1. Search again "<<"n"; cout<<"tt2. Return to main task menu "<<"n"; cout<<"ntEnter your choice : "; cin>>T1.after_search_choice; cout<<"n";
  • 55. switch(T1.after_search_choice) { case 1: T1.ssi_count=0; A1.search_menu(); break; case 2: T1.ssi_count=0; A1.tasks(); break; default: cout<<"anntInvalid option requested !!!"<<"n"; cout<<"tPress any key to return to the main searching menu..."<<"n"; getch(); A1.search_menu(); } //end of switch } //end of function void all::delete_entry() { if(T1.current==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n";
  • 56. cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease re-enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } cout<<"ntt ***CURRENT DATABASE ENTRIES***nn"; cout<<"ttRegistration no. Name of patientnn"; for(T1.j=1;T1.j<T1.serial;T1.j++) { if(T1.entry_index[T1.j]==0) continue; //to ignore deleted items if(T1.entry_index[T1.j]==1) { T1.delete_show++; cout<<"tt "<<T1.j<<" "<<PI[T1.j].name<<"n"; } }
  • 57. if(T1.delete_show==0) { cout<<"ntDatabase is currently empty!!!a"; cout<<"ntPress any key to continue...."; getch(); A1.tasks(); } cout<<"nntPress 0 to return to main menu and 101 to delete all entries... "; cout<<"nnnt Or enter the registration no. from 1 to 100 you want to delete ? "; cin>>en_del_index; if(en_del_index==101) { cout<<"ntWarning : You are about to delete all entries !!!a"; cout<<"ntAre you sure you want to do this : "; cin>>T1.delete_all_confirm; while(T1.delete_all_confirm!='Y'&&T1.delete_all_confirm!='y'&&T1.delete_all_c onfirm!='N'&&T1.delete_all_confirm!='n') { cout<<"ntSorry, wrong input !!!"; cout<<"ntPlease enter a valid choice (Y/N) : a"; cin>>T1.delete_all_confirm; } if(T1.delete_all_confirm=='y'||T1.delete_all_confirm=='Y') { for(T1.f=1;T1.f<=100;T1.f++)
  • 58. { if(T1.entry_index[T1.f]==1) { T1.current--; T1.entry_index[T1.f]=0; } } cout<<"nntAll entries have been succesfully deleted!!!"; cout<<"ntPress any key to return to the main menu...a"; getch(); A1.tasks(); } else { cout<<"ntNo entries have been deleted."; cout<<"ntPress any key for more options...."; getch(); A1.after_delete_options(); } } if(en_del_index==0) A1.tasks(); if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]== 1) {
  • 59. cout<<"nntAre you sure you want to delete entry "<<en_del_index<<" (Y/N) ? "; cin>>delete_confirm; while(delete_confirm!='Y'&&delete_confirm!='y'&&delete_confirm!='N'&&delet e_confirm!='n') { cout<<"antPease re-enter a correct option (Y/N) ? "; cin>>delete_confirm; } if(delete_confirm=='y'||delete_confirm=='Y') { T1.entry_index[en_del_index]=0; //entry now deleted. index value set to 0 T1.current--; cout<<"ntEntry succesfully deleted.n"; cout<<"tPress any key to continue.....a"; getch(); A1.after_delete_options(); } else { T1.entry_index[en_del_index]=1; //entry not deleted. default index value(1) kept cout<<"ntEntry not deleted "; cout<<"ntPress any key to continue......."; getch(); A1.after_delete_options();
  • 60. } } if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]== 0) { cout<<"nntSorry, the patient has already left the hospital ."<<"n"; cout<<"ntPress any key to continue...a"<<"n"; getch(); A1.delete_entry(); } else { cout<<"nntSorry, Invalid registration number ."<<"an"; T1.entry=T1.serial-1; if(T1.entry==1) cout<<"tOnly 1 record has been added .n"; else cout<<"tOnly "<<T1.entry<<" records were added and "<<T1.current<<" are present now.n"; cout<<"tPress any key to continue..."<<"n"; getch(); A1.delete_entry(); } } //end of function
  • 61. void all::after_delete_options() { cout<<"nttWHAT DO YOU WANT TO DO NOW ?"; cout<<"ntt1. Delete more entries "; cout<<"ntt2. Return to main menu "<<"n"; cout<<"nttPlease enter your choice : "; cin>>delete_choice; while(delete_choice!=1&&delete_choice!=2) { cout<<"anntSorry, wrong choice ."; cout<<"ntValid choices are 1 and 2. "; cout<<"ntPlease re-enter your choice : "; cin>>delete_choice; } switch(delete_choice) { case 1: A1.delete_entry(); break; case 2: A1.tasks(); } //end of switch } //end of function void all::recycle_bin()
  • 62. { T1.delete_count=0; if(T1.serial==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n"; cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } cout<<"ntt ****** DELETED ENTRIES ******nn"; cout<<"ttRegistration no. Name of patientnn"; for(T1.d=1;T1.d<T1.serial;T1.d++) { if(T1.entry_index[T1.d]==0)
  • 63. { cout<<"tt "<<T1.d<<" "<<PI[T1.d].name<<"n"; T1.delete_count++; } else continue; } if(T1.delete_count==0) { T1.delete_count=0; cout<<"nnntNo entry is currently in recycle bin."; cout<<"ntPress any key to return to the main menu...a"; getch(); A1.tasks(); } cout<<"nntPress 0 to return to main menu and 101 to restore all items... "; cout<<"nnntWhich item to restore : "; cin>>T1.restore_serial; if(T1.restore_serial==0) A1.tasks(); if(T1.restore_serial==101) { cout<<"nntAre you sure you want to restore all the entries : "; cin>>T1.restore_all_confirm;
  • 64. while(T1.restore_all_confirm!='Y'&&T1.restore_all_confirm!='y'&&T1.restore_al l_confirm!='N'&&T1.restore_all_confirm!='n') { cout<<"nntPlease re-enter a corrent option : "; cin>>T1.restore_all_confirm; } if(T1.restore_all_confirm=='y'||T1.restore_all_confirm=='Y') { for(T1.e=1;T1.e<=100;T1.e++) if(T1.entry_index[T1.e]==0) { T1.current++; T1.entry_index[T1.e]=1; } cout<<"ntAll deleted items have been succesfully restored."; cout<<"ntPress any key to return to the main menu..."; getch(); A1.tasks(); } else { cout<<"nntNo entry has been restored."; cout<<"ntPress any key to view the recycle bin...a"; getch(); A1.recycle_bin();
  • 65. } } if(T1.entry_index[T1.restore_serial]==0) { cout<<"ntAre you sure you want to restore entry "<<T1.restore_serial<<" : "; cin>>T1.restore_confirm; while(T1.restore_confirm!='Y'&&T1.restore_confirm!='y'&&T1.restore_confirm! ='N'&&T1.restore_confirm!='n') { cout<<"nntInvalid input !!! "; cout<<"ntPease re-enter a correct option (Y/N) : a"; cin>>T1.restore_confirm; } if(T1.restore_confirm=='Y'||T1.restore_confirm=='y') { T1.current++; T1.delete_count=0; T1.entry_index[T1.restore_serial]=1; //index value set to 1 cout<<"ntEntry succesfully restored!!!"; cout<<"ntPress any key to continue....a"; getch(); A1.after_restore(); } else {
  • 66. cout<<"ntEntry not restored!!!"; //index value kept 0 cout<<"ntPress any key to continue...na"; getch(); A1.after_restore(); } } if(T1.entry_index[T1.restore_serial]==1) { cout<<"ntThe entry is already present in the database."; cout<<"ntPress any key to continue..."; getch(); A1.recycle_bin(); } if(T1.restore_serial<0||T1.restore_serial>100||T1.entry_index[T1.restore_serial]==- 1) { cout<<"ntInvalid serial number"; cout<<"ntPress any key to continue..."; getch(); A1.recycle_bin(); } } //end of function void all::after_restore() {
  • 67. cout<<"nnnttWHAT DO YOU WANT TO DO NOW? "; cout<<"ntt1. Restore more entries "; cout<<"ntt2. Return to main manu "; cout<<"nnttPlease enter your choice : "; cin>>T1.after_restore_choice; switch(T1.after_restore_choice) { case 1: A1.recycle_bin(); break; case 2: A1.tasks(); break; default: cout<<"nnntSorry, wrong choice "; cout<<"ntValid choices are 1 and 2 "; cout<<"ntPress any key to continue......"; getch(); A1.after_restore(); } } //end of function void all::exit_function() { if(T1.serial==0)
  • 68. { cout<<"nnnntYou have not used the software."; cout<<"ntIt is recommended that you should not exit."; cout<<"ntPress any key to continue......a"; getch(); cout<<"nnntAre you sure you want to exit (Y/N) ? "; cin>>exit_answer; while(exit_answer!='Y'&&exit_answer!='y'&&exit_answer!='N'&&exit_answer!=' n') { cout<<"nntInvalid input !!! "; cout<<"ntPease re-enter a correct option (Y/N) : a"; cin>>exit_answer; } if(exit_answer=='y'||exit_answer=='Y') { cout<<"a"; exit ; } else A1.tasks(); } cout<<"nnnttt ***SOFTWARE DETAILS***n"; cout<<"nntDeveloper : Sakshi , Shweta , Sanjit "<<"n"; cout<<”n NATIONAL INSTITUTE OF TECHNOLOGY KURUKSHETRAn”;
  • 69. cout<<"tProgramming Language : C++ "<<"n"; cout<<"ntHope you like it..."<<"n"; cout<<"nntThanks for trying this "<<"n"; cout<<"nnntPress any key to continue........"<<"n"; getch(); exit(0); } //end of function