SlideShare uma empresa Scribd logo
1 de 69
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Reportstalin george
 
Hospital Management System SRS
Hospital Management System SRSHospital Management System SRS
Hospital Management System SRSChandresh Prasad
 
Hospital management-system
Hospital management-systemHospital management-system
Hospital management-systemsam143143
 
Library Management Python, MySQL
Library Management Python, MySQLLibrary Management Python, MySQL
Library Management Python, MySQLDarshit Vaghasiya
 
Hospital Management System proposal
Hospital Management System proposalHospital Management System proposal
Hospital Management System proposalChandresh Prasad
 
Library Management System
Library Management SystemLibrary Management System
Library Management SystemAditya Shah
 
Project for Student Result System
Project for Student Result SystemProject for Student Result System
Project for Student Result SystemKuMaR AnAnD
 
Hospital Management System Project Report
Hospital Management System Project Report Hospital Management System Project Report
Hospital Management System Project Report Sarfaraj Alam
 
Banking Management System Project documentation
Banking Management System Project documentationBanking Management System Project documentation
Banking Management System Project documentationChaudhry Sajid
 
SYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMSYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMNitish Xavier Tirkey
 
College Management System project srs 2015
College Management System project srs 2015College Management System project srs 2015
College Management System project srs 2015Surendra Mahala
 
SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management Systemkataria Arvind
 
Hospital management system (php project) web engineering
Hospital management system (php project) web engineeringHospital management system (php project) web engineering
Hospital management system (php project) web engineeringIftikhar Ahmad
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management systemSuman Saurabh
 
Hospital management synopsis
Hospital management synopsisHospital management synopsis
Hospital management synopsisYogeshDhamke2
 
Software Requirement Specification For Smart Internet Cafe
Software Requirement Specification For Smart Internet CafeSoftware Requirement Specification For Smart Internet Cafe
Software Requirement Specification For Smart Internet CafeHari
 
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
 
computer science with python project for class 12 cbse
computer science with python project for class 12 cbsecomputer science with python project for class 12 cbse
computer science with python project for class 12 cbsemanishjain598
 
Software Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSoftware Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSM. Aurnob
 

Mais procurados (20)

Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Report
 
Hospital Management System SRS
Hospital Management System SRSHospital Management System SRS
Hospital Management System SRS
 
Hospital management-system
Hospital management-systemHospital management-system
Hospital management-system
 
Library Management Python, MySQL
Library Management Python, MySQLLibrary Management Python, MySQL
Library Management Python, MySQL
 
Hospital Management System proposal
Hospital Management System proposalHospital Management System proposal
Hospital Management System proposal
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 
Project for Student Result System
Project for Student Result SystemProject for Student Result System
Project for Student Result System
 
Hospital Management System Project Report
Hospital Management System Project Report Hospital Management System Project Report
Hospital Management System Project Report
 
Banking Management System Project documentation
Banking Management System Project documentationBanking Management System Project documentation
Banking Management System Project documentation
 
SYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMSYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEM
 
College Management System project srs 2015
College Management System project srs 2015College Management System project srs 2015
College Management System project srs 2015
 
SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management System
 
Hospital management system (php project) web engineering
Hospital management system (php project) web engineeringHospital management system (php project) web engineering
Hospital management system (php project) web engineering
 
Bank Management System
Bank Management SystemBank Management System
Bank Management System
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management system
 
Hospital management synopsis
Hospital management synopsisHospital management synopsis
Hospital management synopsis
 
Software Requirement Specification For Smart Internet Cafe
Software Requirement Specification For Smart Internet CafeSoftware Requirement Specification For Smart Internet Cafe
Software Requirement Specification For Smart Internet Cafe
 
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
 
computer science with python project for class 12 cbse
computer science with python project for class 12 cbsecomputer science with python project for class 12 cbse
computer science with python project for class 12 cbse
 
Software Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSoftware Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management system
 

Semelhante a 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
 

Semelhante a 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
 

Último

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxNikitaBankoti2
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesShubhangi Sonawane
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 

Último (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).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