Sie sind auf Seite 1von 205

Title Of The Project

HOSPITAL MANAGEMENT SYSTEM Introduction And Objectives Of The Project


Project Introduction: This project tells us that how to handle a big hospital system. In this project we have covered all required field like a Doctors departments, Doctors specialist, Patients, Patients Bill, Word nos. Etc. This project has developed Java 2 and Oracle9i/10G. In future we can easily change the out looking and also add any required tools. This project runs on any other platform due to the use of java and presence of JVM. E-Commerce enabled web applications becoming exceedingly popular. It is highly likely that as a web developer required to build on online hospital management system some time in near future. The fundamental functionality an online hospital management requires full information about the doctors Availability the OPD information, the patient history, new patient registration etc. An online hospital allows user to browse through a hospital catalog. Through a catalog a user can select the doctor based on the Specialization. Doctors can view the patient history which is stored in a database. New patient can be registered. User can make appointment to the doctor online.

Project Objective :It is a known that computer makes life easy for us. However, another fact that is equally important and significant is that computers by themselves are not intelligent. They have to be instructed or rather programmed to perform the task that we want them to. Over the years, several programming languages have been developed to help the programmers to get the computer to perform the required tasks. While the programming languages have been varied in terms of the keywords they have, and the way in which they are written, the basic approach to writing a program has more or less the same. Keeping this mind, we have designed this project to equip you with the skills required to build the skeleton of a program using coding and query under Java and SQL (structure query language). There is always an objective behind every innovation and behind every work. We did have many objectives for our project which are described as follows:
1.
Enrollment No 092725381

The first and most important objective of ours was to build a website which would have a stronger say for the doctors and the patients in that. Thus our objective was to build a website not only for others to visit but a doctor oriented and patients oriented website. The second objective was to build a website which would be user friendly and easy to handle without much ado. To be able to view the information about doctors. Provide the facility so that the Doctors can view the patient history.

To process a large amount of data effectively and efficiently. To manage effectively the inherent speed with which computer processes the data. Locating and faster retrieval of information was a must. To safeguard sensitive and important data in a form that is accessible only to the authorized personal. To provide the facility so that the viewer can pay the fees by the credit card. Able to take appointment through online. Able to view the information about hospital. Providing best services to the users to ease their workloads. Input validation features to make sure that only correct information have been provided. The flow of information and messages between remote locations must be achieved with greater speed and accuracy. Logical errors in coding must not be present in final product. The Website should be platform independent 3-tier application. Visit the website through intranet and Internet. Security option is always an important issue in any software development, thus all requisite steps will be taken to ensure that data are secured and no infiltration occurs.

2.
Enrollment No 092725381

Project Category

:-

Application Software (Internet with RBMS)

Analysis DFD (DATA FLOW DIAGRAM)

DOCTOR PATIENT

LOGIN UPDATE

APPOINTMENT

HOSPITAL MANAGEMENT SYSTEM

INSERT

P_HISTORY

DELETE

CONTEXT-LEVEL DFD

3.
Enrollment No 092725381

Interac t With User

Process Main Screen

User Command And Data


Valid ID msg

Display form
Display Message and status

Process Password

Login

Invalid ID

Doctor

Displa y Error messag e

Accept ID

1-Level DFD
Delete process

Process ID

Update process Insert process

2.1 - Level DFD

4.

Enrollment No 092725381

Patient

Accept ID

Delete process

Process ID

Update process Insert process

2.2 - Level DFD

ER-DIAGRAM: 5.
Enrollment No 092725381

AG E ADDRESS NAME PATIENT CODE SEX PHON E ADDRESS SPECIALIST NAME DOCTOR CODE PHON E

PATIENT
DAT E

DOCTOR
ADVICE

DIAGNOSI S
QUANTITY

DATE

DISCHARGE DATE ADMI T DATE

ISSUE D MFG. DATE PRIC E EXP. DATE


NAME

ADMISSIO N AND DISCHARG E


WARD NO.

MEDICINE
NAME CHARGE

DATE BED CHARG E

TEST

BED
DATE REPORT

EXAMIN E

Complete Structure Which Includes


Number of modules and their descriptions: 1. Administrative (Login Module): 6.
Enrollment No 092725381

This module will provide administrative control with the use of user id and password over the access to the sensitive part of the Website.

2. About Module: This module will provide information regarding the management system (s/w) along the hospital. 3. Bed Module: This module maintains the various bed details like bed ward no, bed charges etc. 4. Bill Module: This module takes various details like patient details, total charge, paid amount, balance amount etc. It then generates (soft form) a bill which could also be printed.

5. Clearance Module: This module will provide clearance facility in association with the Bill, Bed and patient module.

6. Discharge: This module will initiate the discharge procedure by accepting the details such as patient (name, code, address, and phone), date of admit, date of discharge, disease, doctor (name, code) ward no, bed no, account clearance (initiated by the clearance module).

7. Doctor: This module maintains doctor details, their type (surgeon, physician), working schedule, and their specialization.

8. Patient: This module maintains the patients details like patient id, name, address, phone, date of admit, disease, doctor details (id, name) ward no, bed no etc.

9. Report: It will generate various type of reports such as bed, bill etc.

10. Search: - This module performs various types of searches (doctor-wise, patient-wise, bedwise etc.)

7.
Enrollment No 092725381

ARCHITECTURAL REPRESENTATIONS

8.
Enrollment No 092725381

Data Structures for all the modules: Table Name Description


Hospital

: : -

Doctor Keeps the Records of the Doctors Registered in the

Terms Used
Doctor_ID

Data Type
Varchar2

Width
20 50 50 80 14 70

Description
Primary Key. Also Know as Doctor Code Should not be NULL Should not be NULL Should not be NULL

Doctor_Name Varchar2 Specialization Qualification Phone Address Varchar2 Varchar2 Number(14) Varchar2

Table Name Description


Hospital

: - Patient : - Keeps the Records of the Patients s Registered in the


Data Type Width
10 25 3 1 80 14 15

Terms Used
Patient_ID Name
Age Sex Address Phone Email_id

Description
Primary Key, Holds the unique id of the patient Should not be Null Stores the age of the patient, should not be Null Should not be Null

Varchar2 Varchar2 Number(3) Char Varchar2 Number(14) Varchar2

9.
Enrollment No 092725381

Table Name : - Medicine Description : - Keeps the Records of the Medicines Registered in the Hospital Terms Used
Name EXP. DATE MFG. DATE Price

Data Type
Varchar2 Date/Time Date/Time Number (5) 10

Width

Description
Primary Key. Should not be Null Should not be Null Should not be Null Should not be Null

Table Name Description Terms Used


Ward_No Bdate Bed_Charge

: - Bed : - Keeps the Records of the Beds of the Hospital Data Type Width
10 6

Description
Primary Key. Should not be Null Should not be Null Should not be Null

Varchar2 Date/Time Number

Table Name Description Terms Used


Name Charge

: - Test : - Keeps the Records of the Beds of the Hospital Data Type Width
10 6

Description
Primary Key. Should not be Null Should not be Null

Varchar2 Number

P
10.
Enrollment No 092725381

Table Name Description

: - PWD : - Used To Maintain User Id And Password.

Terms Used
USERNAME PASSWORD

Data Type
Varchar2 Varchar2

Width
25 25

Description
Primary Key. Should not be Null. Stores the user id Should not be Null. Stores password which is used to log on

Process Logic Of Each Module: Process Logic For Administrative (Login) Begin
Receiving User ID and Password Getting Connection Inserting/Receiving values to/from table PWD Checking ID & Password Allowing/disallowing user access to sensitive part Sending Message about success/failure Changing ID/Password of the user

End

Process Logic For Bed


Begin
Receiving Parameters Getting Connection Inserting/Receiving values to/from table Bed Sending Message that data has been stored successfully

End
11.
Enrollment No 092725381

Process Logic For Doctor


Begin
Receiving Parameters Getting Connection Inserting/Receiving values to/from table Doctor Sending Message that data has been stored successfully

End

Process Logic For About


Detailed Process Logic and information will be provided in the Project itself.

Process Logic For Patient


Begin
Receiving Parameters Getting Connection Inserting Values to Table Patient Sending Message that data has been stored successfully

End

Process Logic For Search


Begin
Receiving Parameters Getting Connection Retrieving values from the tables doctor, patient, and bed Searching information doctor/patient/bed wise Sending Message that information has been searched successfully

End

12.
Enrollment No 092725381

Process Logic For Bill


Begin
Receiving parameters Getting Connection Retrieving values from the tables patient, and charge Generating Bills Sending Messages

End

Process Logic For Discharge


Begin
Getting Connection Receiving parameters Inserting/Receiving Values to/from Tables patient, Doctor, and Bed Sending Message that data has been stored successfully

End

Process Logic For Clearance


Begin
Receiving parameters (From Table Bed, and Module Bill, Patient) Getting Connection Sending Message showing details about clearance facility Sending Message that information has been send successfully

End

Process Logic For Report


Detailed Process Logic and information will be provided in the Project itself.

13.
Enrollment No 092725381

Reports Generation: It generates reports, which are as follows: -

i.

Discharge Report: It collects patient (name, code, address, and phone), date of admit, date of discharge, disease, doctor (name, code) ward no, bed no, account clearance (initiated by the clearance module) and generates a report showing complete details of the Discharge such as discharge date, service code, patient details, Doctor name etc.

ii.

Bill Report: It collects various details like patient details, total charge, paid amount, balance amount etc and generates a printable report in the form of bills.

iii.

Search Report: It takes doctor name/patient name/bed no as input and provides all relevant information regarding doctor/patient/bed etc in the form of report.

iv.

Clearance Report: It takes input from the bill, bed and patient module and generates the clearance information in the form of report. Apart from the above reports there may be other reports which will be generated as and when needed, the details of which will be included in the project report.

14.
Enrollment No 092725381

Tools/Platform, Hardware and Software Requirement Specifications


CLIENT SIDE: -

HARDWARE REQUIREMENT
Processor Memory Hard Disk Modem ::::Pentium Dual Core 1.73 GHZ 512 MB RAM (Minimum) 120 GB

Internal or External or USB cable or Serial (56 kbps minimum) VGA/SVGA supported Monitor

cable Modem

Graphics Support
(HIGH RESOLUTION)

:-

Network Interface Card :-

Ethernet

SOFTWARE REQUIREMENT
Operating System
Enable)

::-

Windows XP/ Windows Vista (JVM

Web Browser
Capable Browser)

Java Enabled Web Browser (JRE

I.E 7.0 or Netscape 7.0 15.


Enrollment No 092725381

Internet Connection :Services

Dial-up connection or Broadband

16.
Enrollment No 092725381

TCP/IP SUPPORT SERVER SIDE: HARDWARE REQUIREMENT


Processor :Memory :Hard Disk :Network Interface Card :Pentium Core to Duo 3GHz
1 GB RAM 300 GB Ethernet

Graphics Supported :UPS :-

VGA/SVGA supported Monitor (High Resolution) 1 5 KVA, 2 80 AH BATTERY

SOFTWARE REQUIREMENT
Operating System WEB SERVER
Tomcat etc

::-

Windows NT/XP/2000 Server Java Web Server, Apache

IIS/PWS,

JDK Classes Or Packages RDBMS S/W Firewall

:-

J2SDK, 1.3 or above

::ORACLE

Classes12.zip

: - Any Firewall (Net 8 compliant Firewall)


17.
Enrollment No 092725381

Tools/Methodology/Technologies used
Front End/Gui Tools
Web Interface

:::-

JSP, HTML, Java Script based

Middle Ware Tools


Bridge Driver)

Java Serviettes (JDBC- ODBC

Rdbms/Back End
lient Tools)

ORACLE (Oracle Server andOracle

Back End Technology

Javax API, IIS Web Servlet with Servletrunner Engine, Java Activation Framework

:-

Platform

:-

Java

Development

Environment Windows NT Server 4.0 Web Server/ Windows XP IIS Server

Components Languages Scripting Languages Sub-Languages

:-

Serviette/BIN

:::-

Java, HTML JavaScript, VBScript.


SQL

Internet Technologies
Java pplets(Technologies)

:-HTML, Java Servlets, JSP,


VB Script (Client-Side

Java Script, Scripting)

Protocols

:-

TCP/IP, HTTP

18.
Enrollment No 092725381

Html Or Java Editor Graphics Editor


Editor

::-

WordPad/Notepad Adobe PhotoShop, MS-Photo

Tools

:- Menu Builder.

Animation Tools
etc.

::-

GIF Animator, Macromedia Flash

Methodology
JDBC-API

Java Database Connectivity (JDBC) (JDBC-ODBC BRIDGE DRIVER) :- J2EE, JSP etc.

Technologies Used Testing Methodology

:-

Cross-Browser Testing etc.

19.
Enrollment No 092725381

Security Mechanisms
Security mechanisms mean different things to different people. The term "security" is somewhat vague unless it is discussed in some context. Here are some points that could clarify what actually Security Mechanisms means: 1. 2. 3. 4. 5. 6. 7. 8. 9.

Safe from malevolent programs. Non-intrusive. Authenticated. Encrypted. Audited. Well-defined. Verified. Well-behaved. C2 or B1 certified

Based on the above definition, the security mechanisms provided in our project are as follows: 1)

Use of Net9-compliant firewall on the server (both Web and Database): i. It basically separates a protected network from an unprotected one,

on the Internet/Intranet. It screens and filters all connections coming from the Internet/Intranet to the protected (corporate) network, and vice versa, through a single, concentrated security checkpoint.
2)

Use of user id and password before entering highly secured areas on the site i.e. Administrative Entry.

3)

Use of ORACLE: - ORACLE provides extensive features to safeguard


our information from both unauthorized viewing intentional or inadvertent damage. This security is provided by granting or revoking privileges on a
20.
Enrollment No 092725381

person-by-person and privileges-by-privileges basis, and is in addition to any security our computer system already has.

21.
Enrollment No 092725381

The use of oracle lets us to implement the following security mechanisms: A. We have used create user, create role, and grant commands to control

data access.
B. We have used Fine-grained access control (FGAC). Its a new feature

in Oracle8i that allows us to implement security policies with functions and then use those security policies to implement row-level security on tables and views.
C. We have used ORACLE LABEL SECURITY. It allows us to assign

security labels to rows.


4)

Use of JAVA technology: -It provides simple mechanisms


for protecting our computer (i.e. database and files) from evil programs like viruses. We have used policytool utility to create a policy file that contains the appropriate permission.

5)

Protection from Database Anomalies:- Our


Database is normalized in such a way that no insertion anomalies, update anomalies and deletion anomalies are present in our database.

6)

Validating Input:- Sometimes users will input data that they're


not supposed to. Some users will be confused about what they're supposed to enter; they won't understand what they're supposed to do. Other users will deliberately try to make your page crash just for fun. One of the most important uses of JavaScript is to validate form input to server-based programs such as Livewire applications or CGI programs.

7)

Password Protection: - In our project, we have provided


three type of authentication namely Student, Faculty and Alumni. All these category of users are provided a unique user identity and password.
22.
Enrollment No 092725381

FUTURE SCOPE AND FURTHER ENHANCEMENT OF THE PROJECT


Future Scope of the Project: As the number of students is increasing daily & will increase in future workload on every department and the DBA is also increasing manifold. Thus software is needed to help out the departments & ease the pressure. In this respect also, this project has a good future scope. In order to secure the software from malicious alteration, we can plan to implement biometric technology. This would secure the information from aliens. But due to inevitable reasons, we had to drop this idea. In future this technology can be implemented which matches the typing speed of the user and based on that, allows entry into the account This project may be use in hospital management system environment. This project gives us, How to manage whole over system in a hospital. Like Doctor, Patient, Staff, Medicine, Room, Bed etc. We can improve this project in Future adding of some database only. This project may be use whole hospital management system after some modifications.

In The Future We Will Try To Incorporate The Following


1. In future we can upload the web site. 2. Our system is not providing security on credit card. In future we can implement an RSA algorithm to make more secure. 3. On line system is depend for current scenario.
23.
Enrollment No 092725381

4. In future we can implement in a frame works line structure.

24.
Enrollment No 092725381

Further Enhancement

:-

The project can be extended to make it WAP-Enabled so that it can be accessed using a Micro-Browser build within a Mobile.

The client of the project : This System is capable enough to customize it as per need of the specific organization.

In the future I will try to incorporate the following


1. Upload the web site. 2. Implement an RSA algorithm to make more secure. 3. On line system is depend for current scenario. 4. Implement in a frame works line structure.

Limitation of the Project : Since the application is web enabled it is required that the data to be entered in correct format and web server /Database server are on the corporate office level. The Website is not presently accessible through Micro-browser build within in Mobile because it is not WAP-Enabled. We have used JDBCODBC Bridge. Which requires the Software must be installed on client systems.

25.
Enrollment No 092725381

Few Limitations: 1.

All query-handling features could not be included in our database interface, due to large data available, even though more query features would have enhanced our project considerably.

2.

Although many data can be hidden for security features but as this project is aimed at a large mass and it is an informative project this idea was discarded This project is data-driven & there is only a single source of data i.e. from users & this will surely hamper the fast data collection policy which in turn effects the total time taken.

3.

4.

There were some of the pages which were basically information providing HTML pages, but due to the unavailability of the required information, we could not include them.

26.
Enrollment No 092725381

This is to certify that the project report entitled Hospital MANAGEMENT SYSTEM submitted to Indira Gandhi National Open University in partial fulfillment of the requirement for the award of the degree of BACHELOR OF COMPUTER APPLICATIONS (BCA), is original work carried out by Miss. _____________________ with enrolment no. ____________ under my guidance. The matter embodied in this project is genuine work done by the student and has not been submitted whether to this University or to any other University/Institute for the fulfillment of the requirement of any course of study.

-----------------------Signature of the Student: Date:------------------Name And Address of the Student ----------------------------------------------------------------------------------------Enrolment No-----------

----------------------Signature Of the Guide Date:----------------Name, Designation And Address of the Guide: ----------------------------------------------------------------------------------------------------------

27.
Enrollment No 092725381

here

by

declared

that

this

project

is

totally developed by Me. Fully or partially it is not taken from any other Universities project. It will be only a co-incidence if it matches with the other.

-------------------------

Name:kumari Nitu Enrolment no:092725381 BCA VI

28.
Enrollment No 092725381

ACKNOWLEDGEMENTS
This is to acknowledge the co-operation of all the individuals who have played a key role in the success of this project, who have inspired, mentored, directed and seen the project through to its completion.

I acknowledge

Mr. Tarique Sajjad (Coordinator) and

our department staffs who instilled me the skill to start with such an endeavor. I am especially grateful to project Guide, for and responsibility for his

Mr. Subir Chakraborty my


me work help that and entailed constant guidance,

allotting

encouragement throughout this project.

I am especially grateful to all my friends and my well wishers.

Kumari Nitu Enrolment no.: 092725381 BCA VI

29.
Enrollment No 092725381

INTRODUCTION
This project tells us that how to handle a big hospital system. In this project we have covered all required field like a Doctors departments, Doctors specialist, Patients, Patients Bill, Word nos. Etc. This project has developed Java 2 and Oracle9i/10G. In future we can easily change the out looking and also add any required tools. This project runs on any other platform due to the use of java and presence of JVM. E-Commerce enabled web applications becoming exceedingly popular. It is highly likely that as a web developer required to build on online hospital management system some time in near future. The fundamental functionality an online hospital management requires full information about the doctors Availability the OPD information, the patient history, new patient registration etc. An online hospital allows user to browse through a hospital catalog. Through a catalog a user can select the doctor based on the Specialization. Doctors can view the patient history which is stored in a database. New patient can be registered. User can make appointment to the doctor online.
Keeping this mind, we have designed this project to equip you with the skills required to build the skeleton of a program using coding and query under JAVA and ORACLE (SQL).

Todays most of the applications are demand online, so that the user can get thee information from a remote area a trying. To make a system online the process on which all the information about the hospital such as information about doctor, his specialization, track records, patient history new patient registration are maintained.

ADVANTAGE
1. Convenience:-Our hospital facility is very suitable for you because here every

type of room for different range. Our hospital so luxuries room very suitable amount and all type of facility are here. So please give a chance to serve you. 2. Speed: - Due to online facility you visit our site very easily and enquiry about our hospital.

DISADVANTAGE 1. Change site format: -

When my site format is changes that time my patent facing a problem lot. So we try to make a easy site every time and something extra in our facility thats way we are change our site format.
30.
Enrollment No 092725381

Key feature of Hospital Management Systems

1. 2. 3. 4. 5. 6.

Visit the website through intranet and internet. Able to view the information about hospital. Able to view the information about doctors. Able to take appointment through online.
Doctors can view the patient history.

Viewer can pay the fees by the credit card.

31.
Enrollment No 092725381

OBJECTIVE
It is a known that computer makes life easy for us. However, another fact that is equally important and significant is that computers by themselves are not intelligent. They have to be instructed or rather programmed to perform the task that we want them to. Over the years, several programming languages have been developed to help the programmers to get the computer to perform the required tasks. While the programming languages have been varied in terms of the keywords they have, and the way in which they are written, the basic approach to writing a program has more or less the same. There is always an objective behind every innovation and behind every work. We did have many objectives for our project which are described as follows: The first and most important objective of ours was to build a website which would have a stronger say for the doctors and the patients in that. Thus our objective was to build a website not only for others to visit but a doctor oriented and patients oriented website. The second objective was to build a website which would be user friendly and easy to handle without much ado. To be able to view the information about doctors. Provide the facility so that the Doctors can view the patient history.

To process a large amount of data effectively and efficiently. To manage effectively the inherent speed with which computer processes the data. Locating and faster retrieval of information was a must. To safeguard sensitive and important data in a form that is accessible only to the authorized personal. To provide the facility so that the viewer can pay the fees by the credit card. Able to take appointment through online. Able to view the information about hospital. Providing best services to the users to ease their workloads.
32.
Enrollment No 092725381

Input validation features to make sure that only correct information have been provided. The flow of information and messages between remote locations must be achieved with greater speed and accuracy. Logical errors in coding must not be present in final product. The Website should be platform independent 3-tier application. Visit the website through intranet and Internet. Security option is always an important issue in any software development, thus all requisite steps will be taken to ensure that data are secured and no infiltration occurs.

The fundamental functionality of a hospital management requires full information about the doctors availability the OPD information, the patient history, new patient registration etc. This system allows user to browse through a hospital catalog. Through a catalog a user can select the doctor based on the Specialization. Doctors can view the patient history which is stored in a database. New patient can be registered. User can make appointment to the doctor online.

33.
Enrollment No 092725381

PROJECT SCOPE
The Project scope is defined under the following categories

I.
This

Context: project is targeted for the small/big Hospital that

requires transparency between the patients and the hospital management. It will fit into any system either large or small and will provide the following facilities: -

1) 2) 3) 4)

Allows more accessibility to the patients. Monitor and measure patients visits. Monitor the facilities available in the hospital Improve the efficiency of the team as a whole

It will impose the following constraints:-

1)

Because

of

the

infrastructure

requirement

for

the

system, many smaller nursing homes and hospitals may often see it as too expensive.

Information objectives: The proposed system maintains the complete record of various transactions in its database regarding doctors, their appointments, patients, billing etc. User-Visible objects related to the proposed system are as follows: -

1)

Doctor Table 34.


Enrollment No 092725381

2) 3) 4) 5) 6)

Patient Table Appointment Table Patient History Table Doctors Specialization Table Facilities Information Table

Input objects related to the proposed system: -

1) 2) 3) 4)

Doctor Id/Code. Patient Id/Code. Ward_NO Medicine Name.

Function and Performance: The proposed system performs the following functions: -

1) 2) 3) 4) 5) 7) 8)

Registration for new doctor. Online searching for training object Online searching of the facilities available Insertion and Updating of the doctors information Insertion and updating of the patients information

6) Providing specialization list


Complete information of each doctor & patient. Providing department oriented information.

9) Providing patient history information. 10)


Providing Doctors Appointment information.

Technical Performance

1)

Well-based Help. 35.


Enrollment No 092725381

2)

Collaborative Browsing

Identification of Need
The purpose of this phase is to evaluate project requests. It is not a designed study nor does it include the collection of details to describe the system in all respect. It is collecting of information that helps the team members to evaluate the merits of the project request and make an informed judgment about the feasibility of the proposed project.

In brief, the system has been persons associated with them-

designed

for

the

following

1) 2) 3)

Doctors Patients Management Team Member.

Patients Need

1. Easy Information accessibility 2.


Doctor information

a. Qualification and Experience. b. Specialization c. Appointment Table information. d. Schedule related to each and every doctors 3. Facilities available at the Hospital 4. Easy Billing 5. Billing information 6. Proper Privacy and security maintenance
36.
Enrollment No 092725381

Doctors Need

1. Patients information a. Patient basic information b. Tests Reports. c. Patient History 2. Easy Information accessibility 3. Previous Appointments 4. Facilities Availability 5. Easy and attractive user interface.
Hospital Management Needs

1. Secure System 2. Easy Interface 3. Low cost and high performance

User Expectation
The hospital management and the doctors along with the patients were expecting a system that can automate the working of the organization. They were expecting a system that would help them in their day-to-day working,

37.
Enrollment No 092725381

Preliminary Investigation
Preliminary design is concerned with the transformation of requirement into data and software architecture. Detail design focuses on refinement to the architectural representation that lead to detailed data structure and algorithm representation for software. It includes relevance and clarity of the users request in checked. The most urgent request is picked up from the list of request given by the user. After a series and of the decision doctors and we meeting are able with to the hospital the

management

convince

management, that the project is feasible and should be taken in the greater interest of the organization. They in general were apprehensive of the size, cost and

implementation difficulties involved with such a project.

38.
Enrollment No 092725381

Preliminary Investigation

Information Gathering Feasibility Study

Evaluation

System Development Life


Implementation

System Analysis

Cycle

Integration

System Design Testing Coding

System Development Life Cycle


This activity has three parts: 39.
Enrollment No 092725381

1)

Request Clarification: -Many requests from employees and users must in be the organizations and -An are not clearly properly outcome have defined. before of the that the Therefore, it becomes necessary that the project request examined Study: is clarified important is the I considering systems investigation.

2)

Feasibility preliminary system

investigation

determination provided

requested

feasible.

feasibility study in the next section.

3)

Request Approval: - It is not necessary that all requested projects are desirable or feasible. Some organizations receive so many project requests from employees that only a few of them can be pursued.

I perform the Preliminary Investigation in order to accomplish the following objectives: -

1) 2) 3) 4) 5)

Clarify and understand the project request Determine the size of the project Assess costs and benefits of alternative approaches Determine the technical and operational feasibility of alternative approaches Report the findings to management, with recommendations outlining the acceptance or rejection of the proposal.

All the above sections.

objectives

are

explained

in

the

following

Information Gathering

40.
Enrollment No 092725381

Here, the information is collected to assess the actual scope of the project. This is done by the following methods: -

1) 2) 3) 4) 1)

Interview. Questionnaire. Record Inspections. Observations.

Interview: the system.

During

interview

have

asked

the

following questions to the key personnel involved with

a. Who is involved with what you do? b. What do you do? c. Where do you do it? d. When do you do it? e. Why do you do it the way you do? f. How do you do it? g. Do you have suggestions for change?
During the period of interview, I have gathered vital information about the system, its problems such as lack of quality control or sufficient security, but they also allow the analyst to involve people in change, easing them into it.

2)

Questionnaire: -Questionnaires economically gather data from both large and small groups of people. Properly constructed, they do not take long to complete and statistical results can be quickly tabulated. I have used here short, easy to understand, unbiased, non41.
Enrollment No 092725381

threatening, and specific questions. To make sure that the questions will stimulate needed information, I have tested them with one or two outsiders before widespread distribution. four formats, I have namely sent these questionnaires Open to everyone involved with the system. Questions can follow Multiple Choice, ended, Rating, and Rank. I have used Multiple Choice questions. Some of the questions are as follows: -

a. Are

you

able

to

maintain

the

patients

records

without having to wait?

i. ii.
b. Are

Strongly Disagree Strongly Agree you able to maintain the doctors records

efficiently in the database?

i. ii.

Strongly Disagree Strongly Agree

c. Are you able to get the facility related information


quickly and efficiently from the database?

i. ii.
d. Are

Strongly Disagree Strongly Agree you able to maintain the doctors records

efficiently in the database?

i. ii. i. ii.

Strongly Disagree Strongly Agree

e. Are you able to maintain easy billing?


Strongly Disagree Strongly Agree

42.
Enrollment No 092725381

f. Are you able to perform the database operations like


insertion/updating/deletion doctors/patients/facilities/appointments efficiently in the database? for etc

i. ii.

Strongly Disagree Strongly Agree

g. Are you able to maintain the doctors appointment


records efficiently?

i. ii. i. ii. 3)

Strongly Disagree Strongly Agree

h. Are you satisfied with old systems security?


Strongly Disagree Strongly Agree

Record Inspections: - I have also inspected the records of the old manual systems.

43.
Enrollment No 092725381

Feasibility Study
The meaning of 'feasibility'
The meaning of 'feasibility' has the following parts:

1) 2) 3)

The degree to which a given alternative mode, management strategy, designs or location is economically justified. The degree to which such an alternative is considered preferable from an environmental or social perspective. The degree to which eventual construction and operation of such an alternative can be financed and managed. Unless constrained by the considerations noted in the next paragraph, feasibility studies should, at least initially, consider a wide range of alternatives. The constraining considerations on the use or include: of previous for technical study, the

studies, legislative statute or history, public involvement, legal restrictions funds the constraints imposed by natural 44.
Enrollment No 092725381

man-made elements in

study

area,

management

priorities,

etc.

Such

studies,

statutes, etc., should be briefly documented and specifically discussed by the advisory and steering committee during the course of the feasibility study.

Technical Feasibility
This is the study with respect to the machine to be used for the new system. Whether with the hardware/software available with the user the new system can be developed. The user is to be told what new hardware/software to be procured. The user is to be given a set of option from which the best one is to be chosen. At time, the users need to be guided by the system team for such selection. After taking into consideration all the above points a

conclusion is made that yes there is a technology which exist to do the required job. Tools such as java, Win XP/Linux, JDBC and JVM can be used to connect the department .As far as holding data is concerned use of Oracle is the best one as it can hold huge amount of data. There are a number of technical issues which are generally raised during the feasibility stage of the investigation. They are as follows: 45.
Enrollment No 092725381

1) 2) 3) 4)

Does

the

necessary

technology

exist

to

do

what

is

suggested and can it be acquired? Does the proposed equipment have the technical capacity to hold the data required to use the new system? Can the system be upgraded if developed? Are there technical guarantees or accuracy, reliability, ease of access and data security?

Familiarity with Application (LOW): The working staff and members have very little exposure to the system. They have not worked a network based on this type of management package. Description of hardware/software is as follows

CLIENT SIDE: HARDWARE REQUIREMENT


Processor Memory Hard Disk Modem Graphics Support Network Interface
46.
Enrollment No 092725381

: : : :

Pentium Core to Due 1.76 GHZ 1 GB RAM (Minimum) 160 GB Internal or External or USB cable or Serial cable Modem (56 kbps minimum)

: - VGA/SVGA supported Monitor


(HIGH RESOLUTION)

Card

: - Ethernet

SOFTWARE REQUIREMENT
Operating System Web Browser : - WINDOWS 98/ME/XP/2000
(JVM 1.16 Capable)

: - Java Enabled Web Browser


(JRE Capable Browser) I.E 7.0 or Netscape 6.0

Internet Connection : -Dial-up connection or Broadband


Services

TCP/IP SUPPORT

SERVER SIDE: HARDWARE REQUIREMENT


Processor Memory Hard Disk Network Interface Card Graphics Supported : - Pentium Due Core 3 GHz : - 3 GB RAM : - 360 GB : - Ethernet : - VGA/SVGA supported Monitor
(High Resolution) 47.
Enrollment No 092725381

UPS

: - 1 5 KVA, 2 80 AH BATTERY

SOFTWARE REQUIREMENT
Operating System : - WINDOWS NT/XP/Vista Server

ANY WEB SERVER (PWS, Java Web Server etc.) JDK : - 1.5 or above

Classes Or Packages : - classes12.zip RDBMS S/W Firewall : - ORACLE : - Any Firewall (Net 8 compliant
Firewall) Existing staff also have been convinced of the benefit of the computerization process by the management. There is plane to trained and update their knowledge. Regularly on turn basis by internal facility. Project Size: I have estimated that the project is of

moderate size with systematic efforts and phase wise project implementation. I have reduced the complexity and achieve the target in time.

48.
Enrollment No 092725381

Economical Feasibility
A system that can be developed technically and that will be used costs. Various financial and economic questions raised by me during the preliminary investigation are as follows: if installed must still be must profitable equal or for exceed the the organization. Financial benefits

1) 2) 3) 4)

The cost to conduct a full systems investigation. The cost of hardware and software for the class of

application being considered. The benefits in the form of reduced costs or fewer costly errors. The cost if nothing changes (i.e. the proposed system is not developed). To be judged feasible, a proposal for the

49.
Enrollment No 092725381

specific project must pass all these tests. Otherwise it is not considered as a feasible project. My project is economically Feasible (Very Good). It is seen whether the expenditure incurred for developing the new system will be A cost effective study or is not. done This till basically the system involves the top-level management of the company who are the decision team. Economical Feasibility is typically a baseline consideration and the most important element in a feasibility study. The economic justification for a facility or strategy has three general components: a benefit-cost analysis, non-monetary but quantifiable consideration. considerations, and, non-quantifiable maker. repeated becomes feasible for both, the user and the system development

1) Benefit-cost analysis: Benefit-cost feasibility analysis studies. has For historically this, among been other a product of the reasons,

benefit-cost analysis developed during a feasibility study may well attract more attention and produce more controversy than any other product of the study. Furthermore, the benefit-cost analysis is generally considered the most objective and credible product of such studies. In essence, a benefit cost analysis is a calculation of the stream of both benefits and costs over the lifetime of the facility or strategy. Both benefits and costs are discounted based on their timing (e.g., today's certainty of having a 50.
Enrollment No 092725381

dollar

of

benefits

next

year

is

worth

less

than

actually

having a dollar of benefits this year even if there is no inflation). In addition, both benefits and costs are adjusted for inflation, preferably by use of constant dollars. In some cases, for example, in where a facility is to be

reconstructed

while

operation,

appropriate

consideration

should be given to estimating the traffic management costs and the delay and other costs to facility users. In those cases where the total discounted benefits are about equal could to be the the total discounted costs, in other considerations economic deciding factor determining

justification. There are two types of such considerations; those that are non-monetary but quantifiable and those that are not quantifiable.

2) Non-monetary but quantifiable considerations


To the extent possible, all impacts should be translated into monetary, however, of a dollar equivalent but terms. Notwithstanding this, can non-monetary, quantifiable or considerations For may

sometimes be an important part of the economic justification transportation of a facility strategy. facility example, lead to construction transportation

quantifiable improvement in access to an important education, medical or recreational facility. Similarly, such construction may lead to a quantifiable decrease in evacuation time required in the event of a disaster, etc.

3) Non-quantifiable considerations
51.
Enrollment No 092725381

To the extent possible, all impacts that can not be stated in dollars should be quantified in other understandable measures. Notwithstanding this, however, non-quantifiable considerations can also sometimes be an important part of the economic justification of a transportation facility or strategy. For example, construction of a transportation facility may lead to improved stability of the local economy or support a well considered locally funded comprehensive development plan, etc.

4) Base case and sensitivity analysis


Feasibility studies, by nature, provide imprecise results; therefore, it is vital to present the information in a manner that allows readers to understand exactly what is being assumed as the base condition, and how the final results would be affected by variations in such assumptions. This is accomplished by performing various sensitivity tests and comparing the results with those based on the various assumptions for the base condition.

Cost Estimates

Initial Investment Server Workstation NIC Card Network Hub For

QTY 1 6 6 1
52.

Rate(Rs) 80,000 25,000 500 10,000

Value(Rs.) 80,000 15,0000 3,000 10,000


Enrollment No 092725381

Coaxial Cable Network Cable 250m & Connector Printer Server Management Software 1 Client Management Software Software Procurement Cost 10 Training Staff Total Initial Investment Running Cost Equipment and Software Maintenance @ 10% Pa Consumables (Ribbon, Floppies) Operational Labour
53.
Enrollment No 092725381

100

25,000

4 1

10,000 45,000 25,000

40,000 45,000 25,000

1,30,000 5,000 50,000

5,58,000

56,000

40,000

6 Total Annual Running Cost Total Cost Benefits 50 X 50 X 365

3,60,000 4,56,000

10,14,000 9,12,500

Improvement In Service Quality Reduction In Inventory Cost Total Benefits

1,00,000

80,000

1,092,500

Projection for 3 Years


2007 (Rs.) Benefits Increased turnout/handling Improvement in Service Quality 2008 (Rs.) 2009 (Rs.) Total

9,12,500

9,21,625 9,30,750

2764875

1,00,000 1,00,000 1,00,000


54.
Enrollment No 092725381

3,00,000

80,000 Reduction in Inventory Cost Total Benefits Initial Investment Server Workstation NIC Cards Network Hub Network Cable 250m & Connector Printers Windows Windows
TM

80,000

80,000

2,40,000

1,092,500

1,10162

1,110750

3,304875

80,000 15,0000 3,000 10,000 25,000

0.00 0.00 0.00 0.00 0.00

0.00 0.00 0.00 0.00 0.00

80,000 15,0000 3,000 10,000 25,000

40,000 45,000 25,000

0.00 0.00 0.00

0.00 0.00 0.00

40,000 45,000 25,000

XP

Software Procurement Cost 1,30,000 0.00


55.
Enrollment No 092725381

0.00

1,30,000

Training Staff 50,000 Total Initial Investment Running Cost Equipment and Software Maintenance @ 10% Pa Consumables (Ribbon, CD/DVDs, Pen Drives) Operational Labour Total Annual Running Cost Total Cost Total 4,56,000 4,75,000 5,66,000 14,97,000 10,14,000 4,75,000 5,66,000 20,55,000 91,000 5,69,625 5,36,750 10,15,375
= = (Total/Total Cost) * 100

0.00 0.00

0.00 0.00

50,000 5,58,000

5,58,000

56,000

60,000

56,000

1,72,000

40,000

45,000

50,000

1,35,000

3,60,000

3,70,000 4,60,000 11,90,000

Return on Investment ROI

10,15,375/20,55,000 49.40%
Total/(1+interest rate )n 56.
Enrollment No 092725381

=
Net Present Value NPV =

= 10,15,375/(1+14) 3 Gross Profit Therefore, Tangible Costs and Benefits are: =

300.851

1) 2)

49.40 % ROI in three years. Total benefit after 3 years will be 300.851 present value adjusted to

It is certainly a gain in terms of revenue that can be spent into the infrastructure development and in enhancing the quality of services offered by the company. Intangible costs and benefits: -

1) 2) 3) 4)

Quick; accurate and efficient services can be provided. Customers satisfaction will improve. It will culminate in more popularity. It will improve the quality of services and facilities. It will ensure less inventory cost

57.
Enrollment No 092725381

Operational Feasibility
It is mainly related to human organizational and political aspects. The points to be considered are: -

1) 2) 3)

What changes will be brought with the system? What organization structures are disturbed? What new skills will be required? Do the existing staff members have these skills? If not, can they be trained in due course of time?

Generally project will not be rejected simply because of operational feasibility but such considerations are likely to critically affect the nature and scope of the eventual recommendations. This feasibility study is carried out by a small group of people who are familiar with information system techniques, who understand the parts of the business that are relevant to the project and are skilled in system analysis and design process.

58.
Enrollment No 092725381

Software Engineering Paradigm


To solve actual problems in an industry setting, a software engineer or a team of engineers must incorporate a development strategy that encompasses the process, methods, tools layers and some generic phases. This strategy is often referred to as a Process Model or a Software engineering Paradigm. There are wide arrays of software engineering Paradigm, some of these are as follows: -

1) The Linear sequential Model or Waterfall Model. 2) The Prototyping Model. 3) The RAD Model. 4) The Incremental Model. 5) The Spiral Model. 6) The WINWIN Spiral Model. 7) The Component-Based Development Model. 8) The Concurrent Development Model. 9) The Formal Methods Model. 10)
The Fourth Generation Techniques Model

I have selected Linear Sequential Model as the Software development paradigm for developing of this project. 59.
Enrollment No 092725381

For

developing

Hospital

Management

system

using

Linear

Sequential Model we have to follow the following steps: -

1) Requirements analysis and specification: - Requirements


analysis is usually the first phase of large-scale S/W or my Project. It is undertaken after a feasibility study has been performed to define the precise costs and benefits of a software system. The purpose of this phase is to identify and document the exact requirements for the system. In requirement analysis the following questions can be made: -

i. ii. iii.

What is the main motivation for the Hospital Management System? Why the Hospital Management system is needed? Who will use this system?

The answer to each of these simple questions should be stated as succinctly as possible. A statement describing the motivation for the system might be that, it will allow the patients and the hospital to interact with each other using an attractive GUI interface. It is important to note that detail is not provided in this statement.

The answer to the second question is as follows: Finally projected users of this system are owners and

management of small/large hospital and nursing homes. 60.


Enrollment No 092725381

These

answers

provide In

goals

for two

the

development of

of

the are

proposed

system.

general

categories

goals

identified:

i.
user.

Informational goals: - Indicate an intention to provide specific content and/or information to the end-

ii.

Applicative goals: - Indicate perform some task within the system.

the ability

to

ANALYSIS: A complete understanding of software requirement is essential to the success of a software development effort. No matter how well design or well coded, a poorly analyzed and specified program will disappoint the user and bring grief to the developer. Software requirement analysis is bridge between system engineering and software design.

System Engineering

Software Requiremen t Analysis Software Design

Four different types of analysis are conducted: -

i.

Content analysis: - The full spectrum of content to be provided by the system is identified. Content includes text. Data modeling can be used to identify and describes each of the data objects to be used within the system. 61.
Enrollment No 092725381

ii.

Interaction analysis: - The

manner

in

which

the

user

interacts with the system is described in detail. Usecases can be developed to provide detailed description of this interaction.

iii.

Functional analysis: - The uses scenarios created as


part of interaction analysis define the operations that will be applied to hospital management system content and imply other processing functions. All operations and functions are described in details.

iv.

Configuration
in detail.

analysis:

The

environment

and

infrastructure in which the system resides are described

System Analysis for the Hospital Management system The following points should be included in the program: -

i. ii.
queries

The system should provide various lists like doctors list, facility list, specialization lists etc. The like system must allow execution of various details,

doctors

availability,

patients

patients history, records, doctors appointments etc.

iii.
form.

The user/administrator should be able to enter into the Web site/Database using the Administrator entry

iv. v. vi.

The patients must be provided a FEAD BACK Form. The user should be able to get various

Transaction reports. Adequate security facilities must be provided. 62.


Enrollment No 092725381

vii. viii.

The

hospital

management

should

be

able

to

access the patients details, doctors details ect. The user should be able to save the modified data efficiently.

2) DESIGN AND SPECIFICATION:


Once the requirements for a

have been documented,

system

software engineers design a software system to meet them. This phase is sometimes split into two phases Architectural or high-level design and detailed design.

i.

Design information software Management

principles

and

methods:

Effective and other to

modularity (exhibited by high cohesion and low coupling), hiding, system an stepwise elaboration, lead to that the are design heuristics Hospital easier

application

adapt, enhance, test, and use.

ii.

Golden applications have

rules: been

Interactive for

hypermedia more than a

constructed

decade. Over that time designers have developed a set of design heuristics that can be reapplied during the design of new application.

iii.

Design

patterns:

Design

patterns

are

generic approach for solving some small problems that can be adapted to a much wider variety of specific problems.

63.
Enrollment No 092725381

iv.
a

Templates: - A template can be used to provide skeletal framework to for any design can pattern. be Once a template is specified, any part of a software structure that conforms these templates automatically generated just by calling the template with relevant data i.e. to flesh out the skeleton.

System design of the Hospital Management system


It consists of the following stages:

i. ii. iii. iv. v.


called.

Documenting of the requirements of the system specified in the analysis phase. Specification of the modules that are to be included in the application. Detailing of the functions that should be

provided by each module separately. Specification of how the different modules of the application should interact with each other. Specification of how these modules are to be

vi. vii.
models.

Designing of the different modules. Debugging and testing of the code of the

viii. ix. x. xi.

Including

of

the

various

models

within

package and bringing about interaction among them. Compilation of the source code to get the byte code of the program. Linking of the models. Testing of links established with the various modules separately. 64.
Enrollment No 092725381

xii. xiii.

Testing of the entire system with test data to see how the entire system works as a whole. Implementation of the system by executing the byte code of the program

3) Coding and module testing: -

This

is

the

phase

that

produces the actual code that will be delivered to the customer as the running system. The other phases of the life cycle may also develop code, such as prototype, tests, and test drivers, but these are for use by the developer. Individual modules developed in this phase are also tested before being delivered to the next phase. In this phase the design is formally coded into any computer language like C, C++, Java, VB etc. depending upon the need and the use of the system. The following steps summarize the approach: -

i. ii. iii. iv. v. vi.

The content model for the Hospital Management system is reviewed to uncover errors The design model for the Hospital Management

system is reviewed to uncover design errors. Selected processing components unit tested The architecture is constructed and integration tests are conducted The assembled Hospital Management system is

tested for overall functionality and content delivery The Hospital Management system is implemented in a variety of different environmental configurations and is tested for compatibility with each configuration

vii.

The Hospital Management system is tested by a controlled and monitored population of end-users

65.
Enrollment No 092725381

4) Integration
essential

and part of

system the

testing: system

-The

important phase,

and after

development

designing and developing the software is system testing. We cannot say that every program or a system design is perfect and because of lack of communication between the user and the designer, some error on is there some and a in the software like the development. The number and nature of errors in a newly designed system depend the to usual the code factor designer; that communication programmers between ability user

generate

reflects

exactly the system specification and the time frame for the design. The purpose of system testing is to consider all the likely variations to which it will be subjected and then push the system to its limits. System testing makes a logical assumption that if all the parts of the system are correct, the goal will be successfully activated. Another reason for system testing is its utility as a user-oriented vehicle before implementation. System testing consists of the following five steps:

i. ii. iii. iv. v.

Program testing String testing System testing System documentation User acceptance testing

Some special system tests are as follows: a. Peak Load Test b. Storage Testing c. Performance Time Testing 66.
Enrollment No 092725381

d. Recovery Testing e. Procedure Testing f. Human Factors Testing

5) Delivery and Maintenance: - It is consider, as the last


phase of system development, which is also the longest phase. The time taken during this phase varies from few days to years. The final product is hand over to the client and the actual work of the system analyzer starts from this time. Half of the work is done after the delivery of the product, which comes under the maintenance phase. In an over all system development, maintenance share is 50 percent.

Software Requirements Specification of the Hospital Management System


The Software Requirement Specification is a technical specification of requirements for the software product. The goal of software requirements definition is to completely and consistently specify the technical requirements for the software product in a concise and unambiguous manner, using formal notations as appropriate. Depending on the size and complexity of the product, the software requirements document may consist of a few pages or it may be packed in several volumes. The Software Requirement Specification is based on the in System order to will Definition. High the level requirements that the the specified software during initial planning are elaborated and made more specific characterize features Ideally, product incorporate. requirements

specification will state the what of the software product without implying how. The format of a software requirements specification 67.
Enrollment No 092725381

Section 1: Product Overview and summary. Section 2: Development, Operating, and Maintenance
Environments.

Section 3: External Interfaces and Data Flow. Section 4: Functional Requirements. Section 5: Performance Requirements. Section 6: Exception Handling. Section 7: Early Subsets and Implementation Priorities. Section 8: Foreseeable Modification and Enhancements. Section 9: Acceptance Criteria. Section 10: Design Hints and Guidelines. Section 11: Cross-Reference Index. Section 12: Glossary of Terms.
The Software Requirements Specification of Hospital Management system is as follows: -

I.

Introduction: - It states the goals and objectives of


the software, describing it in the context of the computer-based system.

Goals: -

i. Increase quality of services associated with the hospital. ii. Increase patient registration iii. Monitor and measure progress.

II.

Information
description of

Description:
the problem 68.

-Provides
that the

detailed must

software

Enrollment No 092725381

solve.

Information

content,

flow,

and

structure

are

documented.

Hardware,

software,

and

human

interfaces

are described for external system elements and internal software functions. A complete record of patient interaction, doctor and their appointment information is maintained in the database.

III.

Functional

Description:

-A

description

of

each

function required to solve the problem is presented in the Functional Description. A processing narrative is provided stated, software for and and each one function, more the design constraints are included of functions are to the and stated and justified, performance characteristics are or diagrams overall graphically represent interplay structure

among

software

other system elements.

The functions required to solve the problem are: -

1)

Generation appointment,

of

various patients

reports

like

doctors facilities

history,

availability etc.

2) 3) 4) 5) 6)

Patients registration. New doctors registration. Insertion/updating/deletion of doctors records. Insertion/updating/deletion of patients records. Generation of duty lists for the doctors and the nurses.

IV.

Behavioral Description: - It examines the operation


of the software as a consequence of external events and internally generated control characteristics. 69.
Enrollment No 092725381

V.

Validation
important

Criteria:

It the

is

probably often

the

most

and,

ironically,

most

neglected

section of the Software Requirement Specification. We neglect this section because completing it demands a thorough understanding of software requirementssometimes that we often do not have at this stage. It acts as an implicit review of all other requirements. Therefore I have presented these criteria (with full description) project. in the Validation Check Section of my

VI.

Bibliography

and

Appendix:

-The

Bibliography

contains references to all documents that relate to the software/project. It includes documentation, technical references, vendor literature, and standards etc. Therefore I have presented Bibliography (with full description) in the Bibliography Section of my project.

Hardware Requirements Specification of the Hospital Management system

CLIENT SIDE: HARDWARE REQUIREMENT


Processor Memory Hard Disk Modem Graphics Support : : : : Pentium Core to Due 1.76 GHZ 1 GB RAM (Minimum) 160 GB Internal or External or USB cable or Serial cable Modem (56 kbps minimum)

: - VGA/SVGA supported Monitor


(HIGH RESOLUTION)

70.
Enrollment No 092725381

Network Interface Card

: - Ethernet

SERVER SIDE: HARDWARE REQUIREMENT


Processor Memory Hard Disk Network Interface Card Graphics Supported UPS : - Pentium Due Core 3 GHz : - 3 GB RAM : - 360 GB : - Ethernet : - VGA/SVGA supported Monitor
(High Resolution)

: - 1 5 KVA, 2 80 AH BATTERY

71.
Enrollment No 092725381

DFD

DOCTOR PATIENT

LOGIN UPDATE

APPOINTMENT

HOSPITAL MANAGEMENT SYSTEM

INSERT

P_HISTORY

DELETE

72. CONTEXT-LEVEL DFD Enrollment No 092725381

Interac t With User

Process Main Screen

User Command And Data


Valid ID msg

Display form
Display Message and status

Process Password

Login

Invalid ID

Doctor

Displa y Error messag e

Accept ID

1-Level DFD
Delete process

Process ID

Update process Insert process

2.1 - Level DFD

73.

Enrollment No 092725381

Patient

Accept ID

Delete process

Process ID

Update process Insert process

2.2 - Level DFD

74.
Enrollment No 092725381

Entity Relationship Diagrams


AG E ADDRESS NAME PATIENT CODE SEX PHON E ADDRESS SPECIALIST NAME DOCTOR CODE PHON E

PATIENT
DAT E

DOCTOR
ADVICE

DIAGNOSI S
QUANTITY

DATE

DISCHARGE DATE ADMI T DATE

ISSUE D MFG. DATE PRIC E EXP. DATE


NAME

ADMISSIO N AND DISCHARG E


WARD NO.

MEDICINE
CHARGE

Hospital Management NAME


DATE BED CHARG E

TEST

BED
DATE REPORT

Login Module

Bill Module

EXAMIN E

Clearance Module

Modules and General Patient Logic Bed Module


Module
75.

Outputs

About Module

Enrollment No 092725381

Doctor
Discharge

Reports

Searches

1.Administrative (Login Module): This module will provide administrative control with the use of user id and password over the access to the sensitive part of the Website.

2.About Module: This module will provide information regarding the management system (s/w) along the hospital. 3.Bed Module: This module maintains the various bed details like bed ward no, bed charges etc. 4.Bill Module: This module takes various details like patient details, total charge, paid amount, balance amount etc. It then generates (soft form) a bill which could also be printed.

76.
Enrollment No 092725381

5.Clearance Module: This module will provide clearance facility in association with the Bill, Bed and patient module.

6.Discharge: This module will initiate the discharge procedure by accepting the details such as patient (name, code, address, and phone), date of admit, date of discharge, disease, doctor (name, code) ward no, bed no, account clearance (initiated by the clearance module).

7.Doctor: This module maintains doctor details, their type (surgeon, physician), working schedule, and their specialization.

8.Patient: This module maintains the patients details like patient id, name, address, phone, date of admit, disease, doctor details (id, name) ward no, bed no etc.

9.Report: It will generate various type of reports such as bed, bill etc.

10.

Search/Queries: - This module executes various searches and queries which a. Doctors search b. Patients search c. Facilities and resources search d. Searching patients history e. Searching doctors appointments f. Searching doctors specialization.

are as follows: -

77.
Enrollment No 092725381

Process Logic Of Each Module: Process Logic For Administrative (Login) Begin
Receiving User ID and Password Getting Connection Inserting/Receiving values to/from table PWD Checking ID & Password Allowing/disallowing user access to sensitive part Sending Message about success/failure Changing ID/Password of the user

End

Process Logic For Bed


Begin
Receiving Parameters Getting Connection Inserting/Receiving values to/from table Bed Sending Message that data has been stored successfully

End

Process Logic For Doctor


Begin
Receiving Parameters Getting Connection Inserting/Receiving values to/from table Doctor Sending Message that data has been stored successfully

End

Process Logic For Patient


Begin
Receiving Parameters Getting Connection Inserting Values to Table Patient Sending Message that data has been stored successfully

78.
Enrollment No 092725381

End

Process Logic For Search


Begin
Receiving Parameters Getting Connection Retrieving values from the tables doctor, patient, and bed Searching information doctor/patient/bed wise Sending Message that information has been searched successfully

End

Process Logic For Bill


Begin
Receiving parameters Getting Connection Retrieving values from the tables patient, and charge Generating Bills Sending Messages

End

Process Logic For Discharge


Begin
Getting Connection Receiving parameters Inserting/Receiving Values to/from Tables patient, Doctor, and Bed Sending Message that data has been stored successfully

End

Process Logic For Clearance


Begin
Receiving parameters (From Table Bed, and Module Bill, Patient) Getting Connection Sending Message showing details about clearance facility Sending Message that information has been send successfully

End
79.
Enrollment No 092725381

Data Dictionary
Data Dictionary is one of the important components of Database Management System. The data dictionary is effectively a database in its own. It is a database that contains data about data. This information about data stored in data dictionary is called Metadata. It is list of terms, their definitions for all data items, their other statistical information (like size of record, attribute, no. of records, no of blocks etc.), relationship among different relation, integrity constraint, indexes etc.

The Data Dictionary Entries in my project are as follows: -

80.
Enrollment No 092725381

Name: Aliases:

DoctorID

Doctor Code

Where used/how used:

doctor (Input)
Search (Input) Specilization(Input) Report(Output)

Content Description:
Stores doctor id or code ID 0* = * A 20 Digit number that never starts with

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 20 Preset Values: None Constraint/Limitation : Primary Key

81.
Enrollment No 092725381

Name: Aliases:

Doctor_Name

Doctor Name

Where used/how used:

doctor (Input)
Search (Input) Specilization(Input) Report(Output)

Content Description:
Stores doctor name Doctor_Name = * A 50 letter word*

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 20 Preset Values: None Constraint/Limitation : Cant be number and NULL

82.
Enrollment No 092725381

Name: Aliases:

Specialization

None

Where used/how used:

doctor (Input)
Search (Input) Specilization(Input) Report(Output)

Content Description:
Stores specialization Doctor_Name = * A 50 letter word*

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 20 Preset Values: None Constraint/Limitation : Cant be number and NULL

83.
Enrollment No 092725381

Name: Aliases:

Qualification

None

Where used/how used:

doctor (Input)
Search (Input) Specilization(Input) Report(Output)

Content Description:
Stores specialization Doctor_Name = * A 80 letter word*

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 80 Preset Values: None Constraint/Limitation : Cant be number and NULL

84.
Enrollment No 092725381

Name: Aliases:

Phone

None

Where used/how used:

doctor (Input)
Search (Input)

Content Description:
Stores Doctors phone phone = *A 14 digit number*

Supplementary Information:
Data Types: number NOT NULL Width : 14 Preset Values: None Constraint/Limitation : Cant be character and NULL

85.
Enrollment No 092725381

Name: Aliases:

Address

None

Where used/how used:

doctor (Input)
Search (Input)

Content Description:
Stores Doctors address address = *A 70 letter word*

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 70 Preset Values: None Constraint/Limitation : Cant be number and NULL

86.
Enrollment No 092725381

Name: Aliases:

patient_ID

patient Code

Where used/how used:

patient (Input)
Search (Input) Report(Output)

Content Description:
Stores patient id or code ID 0* = * A 10 Digit number that never starts with

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 10 Preset Values: None Constraint/Limitation : Primary Key

87.
Enrollment No 092725381

Name: Aliases:

Name

Patient Name

Where used/how used:

Patient (Input)
Search (Input) Report(Output)

Content Description:
Stores patient name Name = * A 25 letter word*

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 25 Preset Values: None Constraint/Limitation : Cant be number and NULL

88.
Enrollment No 092725381

Name: Aliases:

Age

None

Where used/how used:

Patient (Input)
Search (Input) Report(Output)

Content Description:
Stores patient age age = * A 3 digit number*

Supplementary Information:
Data Types: number NOT NULL Width : 3 Preset Values: None Constraint/Limitation : Cant be character and NULL

89.
Enrollment No 092725381

Name: Aliases:

Email_ID

None

Where used/how used:

Patient (Input)
Search (Input) Report(Output)

Content Description:
Stores patient email id Name = * A 15 letter word having @ and . sign*

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 15 Preset Values: None Constraint/Limitation : Not NULL

90.
Enrollment No 092725381

Name: Aliases:

EXP.DATE

None

Where used/how used:

Medicine (Input)
Search (Input) Report(Output)

Content Description:
Stores medicine expire date EXP.Date = * A date data type*

Supplementary Information:
Data Types: date NOT NULL Width : N/A Preset Values: None Constraint/Limitation : Not NULL

91.
Enrollment No 092725381

Name: Aliases:

MFG.DATE

None

Where used/how used:

Medicine (Input)
Search (Input) Report(Output)

Content Description:
Stores medicine manufactured date MFG.Date = * A date data type*

Supplementary Information:
Data Types: date NOT NULL Width : N/A Preset Values: None Constraint/Limitation : Not NULL

92.
Enrollment No 092725381

Name: Aliases:

Ward_No

Ward Number

Where used/how used:

Bed (Input)
Search (Input) Report(Output)

Content Description:
Stores ward number Ward_ID with 0* = * A 10 Digit number that never starts

Supplementary Information:
Data Types: varchar2 NOT NULL Width : 10 Preset Values: None Constraint/Limitation : Primary Key

93.
Enrollment No 092725381

Name: Aliases:

Bed_Charge

None

Where used/how used:

Bed (Input)
Search (Input) Report(Output)

Content Description:
Stores bed charges Ward_ID with 0* = * A 6 Digit number that never starts

Supplementary Information:
Data Types: number NOT NULL Width : 6 Preset Values: None Constraint/Limitation : Not NULL

94.
Enrollment No 092725381

Name: Aliases:

USERNAME

None

Where used/how used: Content Description:


Stores user id or name USERNAME = Name + ID Name ID 0*

admin (Input)

= First Name | Last Name = * A 25 letter word that never starts with

Supplementary Information:
Data Types: varchar2 Not NULL, Primary Key Width : 25 Preset Values: None Limitation : Primary Key

95.
Enrollment No 092725381

Name: Aliases:

PASSWORD
None

Where used/how used: Content Description:

admin (Input)

Stores password which is used to log on PASSWORD = * A 25 character long word that can be either numeric or character *

Supplementary Information:
Data Types: varchar2 Not NULL Width : 25 Preset Values: None

96.
Enrollment No 092725381

Java
Java: - A simple, object-oriented, distributed, interpreted,
robust, secure, architecture neutral, portable, highperformance, multithreaded, and dynamic language.

Object-Oriented
Java is an object-oriented this means that programming we focus on language. the data As in a our

programmer,

application and methods that manipulate that data, rather than thinking strictly in terms of procedures.

Interpreted
Java is an interpreted language: the Java compiler generates byte-codes for the Java Virtual Machine (JVM), rather than native machine code.

Architecture Neutral and Portable


Because Java programs are compiled to an architecture neutral byte-code format, a Java application can run on any system, as long as that system implements the Java Virtual Machine. This is a particularly important for applications distributed over the Internet or other heterogeneous networks.

Dynamic and Distributed


Java is a dynamic language. Any Java class can be loaded into a running Java interpreter at any time. These dynamically loaded classes can then be dynamically instantiated. Native code libraries can also be dynamically loaded.

Simple
97.
Enrollment No 092725381

Java is a simple language. The Java designers were trying to create a language that a programmer could learn quickly, so the number of language constructs has been kept relatively small. Another design goal was to make the language look familiar to a majority of programmers, for ease of migration. If you are a C or C++ programmer, you'll find that Java uses many of the same language constructs as C and C++.

Simple
Java is a simple language. The Java designers were trying to create a language that a programmer could learn quickly, so the number of language constructs has been kept relatively small. Another design goal was to make the language look familiar to a majority of programmers, for ease of migration. If you are a C or C++ programmer, you'll find that Java uses many of the same language constructs as C and C++.

Secure
One of the most highly touted aspects of Java is that it's a secure language. This is especially important because of the distributed nature of Java. Without an assurance of security, you certainly wouldn't want to download code from a random site on the Internet and let it run on your computer.

Multithreaded
Java is a multithreaded that can language; it provides tasks. support An for

multiple threads of execution (sometimes called lightweight processes) handle different important benefit of multithreading is that it improves the interactive performance of graphical applications for the user.

JAVA SERVER PAGES (JSP)


98.
Enrollment No 092725381

Java server pages (JSP) is a java technology that allows software developers to dynamically generate HTML, XML or other types of documents in response to a web client request. The technology allows java code and certain pre-define actions to be embedded into static content. The JSP syntax adds additional XML like tags, called JSP actions, to be used to invoke built-in functionality. Additionally, the technology allows for the creation of JSP tag libraries that act as extensions to the standard HTML or XML tags. Tag libraries provide a platform independent way of extending the capabilities of a web server. JSPs are compiled into java servlets by a jsp compiler may generate a servlet in java code that is then compiled by the java compiler, or it may generate byte code for the servlets directly. Java Server Pages is a technology released by sun. JSP syntax A Java Server pages may be broken down into the following pieces: Static data such as HTML, JSP directives such as the include directive. JSP scripting elements and variables,

99.
Enrollment No 092725381

Import Content Type

Result in java import statement being inserted into the resulting file Specifies the content that is generated. This should be used if

HTML is not used or if the character set is not the default character set Error Page Indicates the page that will be shown if Is Error Page an exception occurs while processing the HTTP request. If set to true, it indicates that this is the error page

Static data Static data is written out to the HTTP response exactly as it appears in the input file. Thus a normal HTML page with no embedded java or actions would be valid JSP input. In that case, the same data would be sent in the response each and every time by the web server to the browser. JSP directives JSP directives control how the JSP compiler generates the servlet. The following directives are available: Include The include directive informs the JSP compiler to include a complete file into the current file. It is as if the contents of the included file were pasted directly into the original file. Included files generally have the extension jspf(for JSP fragment):
100.
Enrollment No 092725381

<%@include file=somefile.jspf%> page There are several options to the page selective:<%@page import=java.util.*%>//example import <%@page contentType=text/html%>//example content Type <%@page isErrorPage=false%>//example for non error page <%@page isThreadSafe=true%>//example for a thread safe JSP JSP scripting element and objects The following JSP implicit objects are exposed by the JSP container and can be referenced by the programmer: out The JSP writer used to write the data to the response stream. page- The servlet itself. page Context A page Context instance that contains data associated with the whole page. A given HTML page may be passed among multiple JSPs. request The Http Servlet Request object that provides HTTP request information. Response The HTTP response object. Session The HTTP session object that can be used to track information about a user from one request to another.
101.
Enrollment No 092725381

Config Provides servlet configuration data. Application Data shared by all JSPs and servlets in the application. Exception Exceptions not caught by application code. Scripting elements There are there basic kinds of scripting element that allow java code to be inserted directly into the servlet. A declaration tag places a variable definition inside the body of the java servlet class. Static data members may be defined as well. <%! int serverInstanceVariable=1;%> A scriplet tag places the contained statements inside the jsp_service() method of the java servlet class. <%int localStackBasedVariable=1; out.println(localStackBasedVariable);%> An expression tag places an expression to be evaluated inside the java servlet class. Expressions should not be terminated with a semi-colon. <%=expanded inline data+1%> JSP Actions JSP actions are XML tags that invoke built-in web server functionality. The following actions are provided:-

102.
Enrollment No 092725381

jsp:include

Similar to a subroutine, the java servlet temporarily hands the request and response off to the specified java server page. Control will then return to the current JSP, once the other JSP has finished. Using this ,JSP code will be shared between multiple other JSPs ,rather than duplicated.

jsp:param

Can be used inside a jsp:include, jsp:forward or jsp:params block. Specifies a parameter that will be added to the requests current parameters.

jsp:forward

Used to hand off the request and response to another JSP or servlet. Control will never return to the current JSP.

jsp:plugin

Older

versions

of

Netscape

Navigator and Internet Explorer used different tags to embed an applet. This action generates the browser specific tag needed to include an applet. . JAVASCRIPT Paradigm: multi-paradigm Appeared in: 1995 Designed by: Brendan Eich

103.
Enrollment No 092725381

Developer: Netscape Communications Corporation, Mozilla Foundation Typing discipline: Duck typing Major implementations: Spider Monkey, Rhino, KJS, JavaScript Core Dialects: Jscript Influenced by: Scheme, Self, Perl, Python JavaScript is the name of Netscape Communications Corporations and now the Mozilla Foundations implementation of the ECMA Script standard, a scripting language based on the concept of prototype-based programming. The language is best known for its use in websites (as client-side JavaScript), but is also used to enable scripting access to objects embedded in other applications. Despite the name, JavaScript is only distantly related to the Java programming language, the main similarity being the common debt to the C syntax. Semantically, JavaScript syntax has far more in common with the self programming language. JavaScript is a registered trade mark of sun Microsystems, inc. It was used under license for technology invented and implemented by Netscape communication and current entities such as the Mozilla Foundation. USE OF JAVASCRIPT One major use of web-based JavaScript is to write functions that are embedded in or included from HTML pages and interact with the Document Object Model (DOM) of the page to perform tasks not possible in HTML alone. Some common examples of this usage follow.
104.
Enrollment No 092725381

Opening or popping up a new window with programmatic control over the size, position and look of the new window (i.e. whether or not the menus, toolbars, etc. are visible). Validation of web from input values to make sure that they will be accepted before they are submitted to the server. Changing images as the mouse cursor moves over them: This effect is often used to draw the users attention to important links displayed as graphical elements. 3. ABOUT APACHE TOMCAT Apache Tomcat is a web container developed at the Apache Software Foundation (ASF). Tomcat implements the servlet and the Java Server Pages (JSP) specifications from sun Microsystems, providing an environment for Java code to run in co-operation with Web Server. It adds tools for configuration and management but can also be configured by editing configuration files that are normally XML-formatted. Tomcat includes its own internal HTTP server.

105.
Enrollment No 092725381

Developer: Apache Software Foundation Latest release: 6.0.10 OS: Cross platform Use: Web container License: Apache 2.0 License Website: Apache Tomcat ENVIRONMENT Tomcat is a web server that supports servlets and JSPs. The accompanying Tomcat Jasper compiler compiles JSPs into servlets. The Tomcat servlet engine is often used in combination with an Apache HTTP Server or other web servers. Tomcat can also function as an independent web server. Earlier in its development, the perception existed that standalone Tomcat was only suitable for development environments and other environments with minimal requirements for
106.
Enrollment No 092725381

speed and transaction handling. However, that perception no longer exists; Tomcat is increasingly used as a standalone web server in high traffic, high availability environments. Tomcat is cross-platform, running on any operating system that has a Java Runtime Environment. ORACLE DATABASE Developer: Oracle Corporation OS: Cross Platform Use: RDBMS License: Proprietary Website: http://www.oracle.com/ An Oracle database consists of a collection of data managed by an oracle database management system. Popular generic usage also uses the term to refer to the oracle DBMS management software, but not necessarily to a specific database under its control. Oracle Corporation blurs the distinctions between: Data managed by an oracle RDBMS An Oracle database and The Oracle RDBMS software itself

107.
Enrollment No 092725381

When it refers now a days to the Oracle RDBMS (the software is sells for the purpose of managing databases) as the Oracle database. The distinction between the managed data (the database) and the software which manages the data (the DBMS/RDBMS) relies, in Oracle marketing literature, on the capitalization of the word database.

Database features Apart from the clearly defined database options, Oracle databases may include many semi-autonomous software sub-systems, which Oracle Corporation sometimes refers to as features. Such features may include (For example): Data aggregation and Consolidation Data guard for high availability Flashback for selective data recovery and reconstruction Primary keys Every table in Oracle has a field or a combination of fields that uniquely identifies each record in the table. This unique identifier is called the Primary key or simply the key. The Primary key provides the means to distinguish one record from all the others in a table. It allows the user and the database system to identify, locate, and refer to one particular record in the table. The link between the tables is based on one or more field values common to both tables.
108.
Enrollment No 092725381

Foreign keys Every table in Oracle has a primary key, a field or fields making each record unique. When a field in one table matches the primary key of another table, the field is referred to as a foreign key. A foreign key is a field or a group of fields in one table whose values match those of the primary key of another table. We can think of a foreign key as the primary key of another table.

JDBC
JDBC (Java Database Connectivity) is a standard Java interface for connecting to relational databases from Java. The JDBC standard was defined by Sun Microsystems, allowing individual providers to implement and extend the standard with their own JDBC drivers. JDBC is based on the X/Open SQL Call Level Interface, and complies with the SQL92 Entry Level standard. In addition to the standard JDBC API, Oracle drivers have extensions to properties, types, and performance JDBC Architecture Different database systems have surprisingly little in common: just a similar purpose and a mostly compatible query language. Beyond that, every database has its own API that you must learn to write programs that interact with the database. This has meant that from writing more than code one capable vendor of has interfacing been a with databases daunting

challenge. Cross-database APIs exist, most notably Microsoft's 109.


Enrollment No 092725381

ODBC API, but these tend to find themselves, at best, limited to a particular platform. JDBC is Sun's attempt to create a platform-neutral interface between databases and Java. With JDBC, we can count on a standard set of database access features and (usually) a particular subset of SQL, SQL-92. The JDBC API defines a set of interfaces that encapsulate major database functionality, including running queries, processing results, and determining configuration information. A database vendor or third-party developer writes a JDBC driver, which is a set of classes that implements these interfaces for a particular database system. An application can use a number of drivers interchangeably.

110.
Enrollment No 092725381

JDBC-database interaction

Developers who are familiar with the Oracle Call Interface (OCI) layer of client-side C code will recognize that JDBC provides the power and flexibility for the Java programmer that OCI does for the C or C++ programmer. Just as with OCI, we can use JDBC to query and update tables. JDBC is a way to use dynamic SQL statements in Java programs. Using JDBC, a calling program can construct SQL statements at runtime. Our JDBC program is compiled and run like any other Java program. No analysis or checking of the SQL statements is performed. Any errors that are made in your SQL code raise runtime errors. JDBC is designed as an API for dynamic SQL. However, many applications do not need to construct SQL

statements dynamically because the SQL statements they use are fixed or static. In this case, we can use SQLJ to embed static SQL in Java programs. In static SQL, all of the SQL statements are complete or "textually evident" in the Java program. That is, details of the database object, such as the column names, number of columns in the table, and table name, are known before time. The syntax and semantics which of they JDBC are do not depend thus on the runtime. SQLJ provides advantages for these applications because it permits error checking at precompile

configuration tier

under

running,

enabling

implementation on the client or database side or in the middle

111.
Enrollment No 092725381

Basic Driver Architecture

1) JDBC Thin Client-Side Driver Architecture. 2) JDBC OCI Client-Side Driver Architecture 3) JDBC Server Driver Architecture.
Database Version
8.1.5

Driver Version
JDBC Thin Driver JDBC OCI Driver JDBC Server Driver

Remarks
Both client- and server-side drivers offer full object support when run against an 8.1.5 database.

8.1.4

JDBC Thin Driver JDBC OCI Driver JDBC Server Driver

Both client- and server-side drivers offer full object support when run against an 8.1.4 database.

8.0.x

The JDBC OCI and Thin drivers do not support objects when run JDBC OCI Driver against an 8.0.x database. This is because JDBC depends on PL/SQL Note: the JDBC functions that did not exist in Server driver is 8.0.x. not available for version 8.0.x JDBC Thin Driver JDBC OCI Driver Note: the JDBC Server driver is not available for version 7.x The JDBC OCI and Thin drivers do not support objects when run against a 7.x database. This is because JDBC depends on PL/SQL functions that did not exist in 7.x The JDBC OCI driver does not support LOBs

JDBC Thin Driver

7.x

112.
Enrollment No 092725381

Oracle Table Layout (SQL STATEMENTS)


create table doctor ( doctor_id varchar2(20) primary key, doctor_name varchar2(50), NOT NULL, specialization varchar2(50),NOT NULL, phone number(14), NOT NULL, Address ); create table patient ( patient_ID varchar2(10)primary key, name sex varchar2(25), Not NULL, char(1), Not NULL, age number(3),Not NULL, address varchar2(80), phone number(14), email_id varchar2(15) ); create table medicine ( name varchar2(10) primary key, exp_date date Not NULL, mfg_date date Not NULL, price number(5) Not NULL ); varchar2(70),

113.
Enrollment No 092725381

create table bed( ward_no varchar2(10) primary key, bdate date Not NULL, bed_charge number(6) Not NULL, ); create table test( name varchar2(10) primary key, charge number(6) Not NULL, ); create table pwd( username varchar2(25) primary key, password varchar2(25) Not NULL, );

114.
Enrollment No 092725381

Source Code and Screen Layouts


project.html
<html> <head> <title>HOMEPAGE</title> </head> <body background="h1.jpg"> <font size="7" color="black"> <center>ONLINE</center> <center>HOSPITAL MANAGEMENT</center> <center>SYSTEM</center><br> </font> <font size="5"><br><br><br><br><br><br> <pre> <a href="login.html">ADMINISTRATOR</a> <a href="user.html" align=right>USER FACILITIES</a></pre> </font> </body> </html> OUTPUT:-

Administrator
115.
Enrollment No 092725381

login.html:/* 1) <%@ page language = "java" import="java.sql.*"%> signifies that the java is used and importing the sql.* package. 2) <% Connection con = null; Statement stmt = null; ResultSet rs = null; %> This is connection interface SQL package initialized to NULL. 3) sun.jdbc.odbc is a path that specifies the driver which is used for database and JdbcOdbcDriver is class name. 4) con=DriverManager.getConnection("jdbc:odbc:dsnname","arvind","krishna"); Where project is a system DSN, arvind is user name and krishna is his password. */

<html> <head> <title> Login Directory </title> <script language ="javascript"> function init() { document.login.username.focus() } function isempty(str) { if(str == "") return true else return false } function validate() { if(isempty(document.login.username.value)) { alert("Please Enter Correct Username & Password"); document.login.username.focus(); return false } if(isempty(document.login.password.value)) { alert("Please Enter Correct Username & Password"); document.login.username.focus(); return false } return true

116.
Enrollment No 092725381

} function fun_sub() { if(validate()) { document.login.action="login.jsp"; document.login.method="post"; document.login.submit(); } } </script> </head> <body onLoad ="init()"> <img src="h4.jpg" align=right width=700 height=500 border=2> <br><br><br><br><br> <form name="login" method ="post" action ="login.jsp"> <table border="0" cols="2" width="40%"> <tr> <td><br><b>Username </b></td> <td><br><Input type="text" name="username" size="40"></td> </tr> <tr> <td><br><b> Password </b></td> <td><br><Input type="password" name="password" size="40"></td> </tr> <tr> <td><br><input type ="button" value ="LOGIN" name =b1 onClick ="fun_sub()"></td> <td><br><input type ="reset" value ="CLEAR" ></td> </tr> </table><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> <center><a href ="project.html"> HOMEPAGE</a></center> </body> </html>

Output:-

117.
Enrollment No 092725381

login. jsp:118.
Enrollment No 092725381

<html> <head> <title>login jsp</title> </head> <body bgcolor="#ffffff"> <%@ page language = "java" import="java.sql.*"%> <% Connection con = null; Statement stmt = null; ResultSet rs = null; %> <p> <% try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:project","arvind","krishna"); } catch(SQLException se) { out.println(se.getMessage()); } catch(ClassNotFoundException ce) { out.println(ce.getMessage()); } String uname=request.getParameter("username"); String pwd=request.getParameter("password"); int flag=0; try { stmt=con.createStatement(); rs=stmt.executeQuery("select * from login"); while(rs.next()) { if(uname.equals(rs.getString("username")) && pwd.equals(rs.getString("password"))) { flag=1; out.println("successfully login"); %> <img src="h3.jpg" align=right width=800 height=500 border=2> <font size=5 color="#red"> <br><br> <a href="doctor.jsp">Doctor Table</a> <br><br> <a href="patient.jsp">Patient Table</a> <br><br> <a href="appoint.jsp">Appointment Table</a> <br><br> <a href="phistory.jsp">Patient History Table</a> </font>

119.
Enrollment No 092725381

<% break; } } if(flag==0) { %> <a href="login.html">please try again </a> <% } rs.close(); con.close(); } catch(SQLException e1) { out.println(e1.getMessage()); } %> <br><br><br><br><br><br><br> <center><a href="login.html">BACK</a></center><br> <center><a href="project.html">HOMEPAGE</a></center> </body> </html>

Output:-

Doctor. Jsp (doctor table):<html> <head> <title>doctor table</title> </head>

120.
Enrollment No 092725381

<body bgcolor="#fffff"> <font size="5" color="#003366"> <b>Doctor Administrative Console</b> </font> <p> <a href="adoctor.html">ADD DOCTOR</a><br><br> <%@page language="java" import="java.sql.*"%> <% Connection con=null; Statement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); stmt=con.createStatement(); String q="select * from doctor"; rs=stmt.executeQuery(q); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <table border="1" width="150%"> <tr> <td><b>---</b></td> <td><b>---</b></td> <td><b>Name</b></td> <td><b>Specialization</b></td> <td><b>Qualification</b></td> <td><b>Contact</b></td> <td><b>E_mail</b></td> </tr> <% try { String id=""; while(rs.next()) { id=rs.getString("d_id"); %> <tr> <td><a href="dupdate.jsp?id=<%=id%>">UPDATE</a></td> <td><a href="ddelete.jsp?id=<%=id%>">DELETE</a></td> <td><%=rs.getString("name")%></td> <td><%=rs.getString("speci")%></td>

121.
Enrollment No 092725381

<td><%=rs.getString("quali")%></td> <td><%=rs.getString("c_no")%></td> <td><%=rs.getString("email")%></td> </tr> <% } } catch(SQLException se1) { out.println(se1.getMessage()); } rs.close(); con.close(); %> </table> <br><center> <a href="javascript:history.back()">BACK</a> <a href="project.html">HOME PAGE</a></center> </body> </html>

Output:-

Adoctor.html (add doctor):<html> <head> <title>Insert form</title>

122.
Enrollment No 092725381

</head> <body bgcolor="#ffffff"> <center> <font color="red" size=6> Add New Doctor Information </font> <form name="doctor" method="post" action="adoctor.jsp"> <table border="0" cols="2" width="50%"> <tr> <td ><br><b>Doctor_Id</b></td> <td><br><input type="text" name="d_id" size="30"></td> </tr> <tr> <td ><br><b>Doctor Name</b></td> <td><br><input type="text" name="d_name" size="30"></td> </tr> <tr> <td ><br><b>Specialization</b></td> <td><br><input type="text" name="speci" size="30"></td> </tr> <tr> <td ><br><b>Qualification</b></td> <td><br><input type="text" name="quali" size="30"></td> </tr> <tr> <td ><br><b>Contact_No</b></td> <td><br><input type="text" name="c_no" size="30"></td> </tr> <tr> <td ><br><b>E-Mail</b></td> <td><br><input type="text" name="e_mail" size="30"></td> </tr> <tr> <td><br><br><input type="submit" name="submit" value="submit"></td> </tr> </table> </form> <br><br><br><br> <a href="project.html"><b>HOMEPAGE</b></a></center> </body> </html>

Adoctor.jsp(insert process):<html> <head> <title>Insert Form</title> </head> <body bgcolor="#ffffff"> <font size=5> <b>Insert Doctor Form</b>

123.
Enrollment No 092725381

</font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="insert into doctor(d_id,name,speci,quali,c_no,email)values(?,?,?,?,?,?)"; stmt=con.prepareStatement(query); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } stmt.setString(1,request.getParameter("d_id")); stmt.setString(2,request.getParameter("d_name")); stmt.setString(3,request.getParameter("speci")); stmt.setString(4,request.getParameter("quali")); stmt.setString(5,request.getParameter("c_no")); stmt.setString(6,request.getParameter("e_mail")); stmt.executeUpdate(); con.close(); %> <font size="4"> <br><br><br><b>Record Inserted Successfully</b> </font> <br><br> <a href="doctor.jsp">View All Records</a> </body> </html>

Output:-

124.
Enrollment No 092725381

Dupdate .jsp:<html> <head>

125.
Enrollment No 092725381

<title>Process Update Form</title> </head> <body bgcolor="#ffffff"> <font size=5 color="#003366"> <b>DOCTOR UPDATE FORM</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="select * from doctor where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("id")); rs=stmt.executeQuery(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } while(rs.next()) { %> <form name="dupdate" method="post" action="dupdate1.jsp"> <table width="50%" border="1" cols="2"> <input type="hidden" name="did" value="<%=rs.getString("d_id")%>"> <tr> <td width="30%"><br><b>Doctor_Name</b></td> <td width="70%"><br> <input type="text" name="name" size="40" value="<%=rs.getString("name")%>"></td> </tr> <tr> <td width="30%"><br><b>Specialization</b></td> <td width="70%"><br> <input type="text" name="speci" size="40" value="<%=rs.getString("speci")%>"></td> </tr> <tr> <td width="30%"><br><b>Qualification</b></td> <td width="70%"><br> <input type="text" name="quali" size="40" value="<%=rs.getString("quali")%>"></td> </tr> <tr> <td width="30%"><br><b>Contact_no</b></td>

126.
Enrollment No 092725381

<td width="70%"><br> <input type="text" name="cno" size="40" value="<%=rs.getString("c_no")%>"></td> </tr> <tr> <td width="30%"><br><b>E Mail</b></td> <td width="70%"><br> <input type="text" name="email" size="40" value="<%=rs.getString("email")%>"></td> </tr> </table> <br><input type="submit" name="update" value="UPDATE RECORD"> </form> <% } rs.close(); con.close(); %> <p> <a href="doctor.jsp">View All Records</a> </body> </html>

Dupdate1.jsp:<html> <head> <title>Process update</title> </head> <body bgcolor="#ffffff"> <font size=5 color="#003366"> <b>Doctor Update Form</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="update doctor set name=?,speci=?,quali=?,c_no=?,email=? where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("name")); stmt.setString(2,request.getParameter("speci")); stmt.setString(3,request.getParameter("quali")); stmt.setString(4,request.getParameter("cno")); stmt.setString(5,request.getParameter("email")); stmt.setString(6,request.getParameter("did")); stmt.executeUpdate(); con.close(); }

127.
Enrollment No 092725381

catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <font size=5> <p> THE RECORD HAS BEEN UPDATED </font> <p> <a href="doctor.jsp">View All Records</a> </body> </html>

Output:-

128.
Enrollment No 092725381

Ddelete.jsp:<html>

129.
Enrollment No 092725381

<head> <title>delete form</title> </head> <body bgcolor="#ffffff"> <center> <font size="5" color="red"> <b>Doctor Delete Form</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project", "arvind", "krishna"); String query="select * from doctor where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("id")); rs=stmt.executeQuery(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } while(rs.next()) { %> <form name=ddelete method="post" action="ddelete1.jsp"> <table width="50%" border="0"> <input type="hidden" name="did" value="<%=rs.getString("d_id")%>"> <input type="hidden" name="name" value="<%=rs.getString("name")%>"> <input type="hidden" name="speci" value="<%=rs.getString("speci")%>"> <input type="hidden" name="quali" value="<%=rs.getString("quali")%>"> <input type="hidden" name="c_no" value="<%=rs.getString("c_no")%>"> <input type="hidden" name="email" value="<%=rs.getString("email")%>"> </table> <b>Are you want to delete it</b> <br><br> <input type="submit" name="delete" value="YES"> </form> <form method="post" action="doctor.jsp"> <input type="submit" name="no" value="NO"> </form> <% }

130.
Enrollment No 092725381

rs.close(); con.close(); %> </center> </body> </html> Ddelete1.jsp:<html> <head> <title>delete form</title> </head> <body bgcolor="#ffffff"> <font size="5" color="#003366"> <b>DOCTOR DELETE FORM</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:project", "arvind","krishna"); String query="delete from doctor where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("did")); stmt.executeUpdate(); con.close(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <br><br> <font size="5" color="#003366"> The record has been deleted. </font> <br> <p> <a href="doctor.jsp" > view all record</a> </body> </html>

Output:131.
Enrollment No 092725381

Patient. jsp (patient table):<html> <head> <title>patient table</title> </head>

132.
Enrollment No 092725381

<body bgcolor="#ffffff"> <font size="5" color="#003366"> <b>Patient Administrative Console</b> </font> <p> <a href="apatient.html">ADD PATIENT</a><br><br> <%@page language="java" import="java.sql.*"%> <% Connection con=null; Statement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); stmt=con.createStatement(); String q="select * from patient"; rs=stmt.executeQuery(q); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <table border="1" width="150%"> <tr> <td><b>---</b></td> <td><b>---</b></td> <td><b>Name</b></td> <td><b>Age</b></td> <td><b>Gender</b></td> <td><b>Contact</b></td> <td><b>Email</b></td> </tr> <% try { String id=""; while(rs.next()) { id=rs.getString("p_id"); %> <tr> <td><a href="pupdate.jsp?id=<%=id%>">UPDATE</a></td> <td><a href="pdelete.jsp?id=<%=id%>">DELETE</a></td> <td><%=rs.getString("name")%></td> <td><%=rs.getString("age")%></td>

133.
Enrollment No 092725381

<td><%=rs.getString("gender")%></td> <td><%=rs.getString("c_no")%></td> <td><%=rs.getString("email")%></td> </tr> <% } } catch(SQLException se1) { out.println(se1.getMessage()); } rs.close(); con.close(); %> </table> <br><center> <a href="javascript:history.back()">BACK</a> <a href="project.html">HOME PAGE</a></center> </body> </html>

Output:-

Apatient.html (add patient):<html> <head> <title>Insert form</title> </head> <body bgcolor="#ffffff"> <center>

134.
Enrollment No 092725381

<font color="red" size=6> Add New Patient Information </font> <form name="patient" method="post" action="apatient.jsp"> <table border="0" cols="2" width="50%"> <tr> <td ><br><b>Patient_Id</b></td> <td><br><input type="text" name="p_id" size="30"></td> </tr> <tr> <td ><br><b>Patient Name</b></td> <td><br><input type="text" name="p_name" size="30"></td> </tr> <tr> <td ><br><b>Age</b></td> <td><br><input type="text" name="age" size="30"></td> </tr> <tr> <td ><br><b>Gender</b></td> <td><br><input type="text" name="gender" size="30"></td> </tr> <tr> <td ><br><b>Contact_No</b></td> <td><br><input type="text" name="c_no" size="30"></td> </tr> <tr> <td ><br><b>E-Mail</b></td> <td><br><input type="text" name="e_mail" size="30"></td> </tr> <tr> <td><br><br><input type="submit" name="submit" value="submit"></td> </tr> </table> </form> <br><br><br><br> <a href="project.html"><b>HOMEPAGE</b></a> </center> </body> </html>

Apatient.jsp (process insert):<html> <head> <title>Insert Form</title> </head> <body bgcolor="#ffffff"> <font size=5> <b>Insert Patient Form</b>

135.
Enrollment No 092725381

</font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="insert into patient(p_id,name,age,gender,c_no,email)values(?,?,?,?,?,?)"; stmt=con.prepareStatement(query); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } stmt.setString(1,request.getParameter("p_id")); stmt.setString(2,request.getParameter("p_name")); stmt.setString(3,request.getParameter("age")); stmt.setString(4,request.getParameter("gender")); stmt.setString(5,request.getParameter("c_no")); stmt.setString(6,request.getParameter("e_mail")); stmt.executeUpdate(); con.close(); %> <font size="4"> <br><br><br><b>Record Inserted Successfully</b> </font> <br><br> <a href="patient.jsp">View All Records</a> </body> </html>

Output:-

136.
Enrollment No 092725381

Pupdate.jsp:<html>

137.
Enrollment No 092725381

<head> <title>Process Update Form</title> </head> <body bgcolor="#ffffff"> <font size=5 color="#003366"> <b>PATIENT UPDATE FORM</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="select * from patient where p_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("id")); rs=stmt.executeQuery(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } while(rs.next()) { %> <form name="pupdate" method="post" action="pupdate1.jsp"> <table width="50%" border="1" cols="2"> <input type="hidden" name="pid" value="<%=rs.getString("p_id")%>"> <tr> <td width="30%"><br><b>Patient Name</b></td> <td width="70%"><br> <input type="text" name="name" size="40" value="<%=rs.getString("name")%>"></td> </tr> <tr> <td width="30%"><br><b>Age</b></td> <td width="70%"><br> <input type="text" name="age" size="40" value="<%=rs.getString("age")%>"></td> </tr> <tr> <td width="30%"><br><b>Gender</b></td> <td width="70%"><br> <input type="text" name="gender" size="40" value="<%=rs.getString("gender")%>"></td> </tr> <tr>

138.
Enrollment No 092725381

<td width="30%"><br><b>Contact_no</b></td> <td width="70%"><br> <input type="text" name="cno" size="40" value="<%=rs.getString("c_no")%>"></td> </tr> <tr> <td width="30%"><br><b>E Mail</b></td> <td width="70%"><br> <input type="text" name="email" size="40" value="<%=rs.getString("email")%>"></td> </tr> </table> <br><input type="submit" name="update" value="UPDATE RECORD"> </form> <% } rs.close(); con.close(); %> <p> <a href="patient.jsp">View All Records</a> </body> </html> Update.jsp (update process):<html> <head> <title>Process update</title> </head> <body bgcolor="#ffffff"> <font size=5 color="#003366"> <b>Patient Update Form</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="update patient set name=?,age=?,gender=?,c_no=?,email=? where p_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("name")); stmt.setString(2,request.getParameter("age")); stmt.setString(3,request.getParameter("gender")); stmt.setString(4,request.getParameter("cno")); stmt.setString(5,request.getParameter("email")); stmt.setString(6,request.getParameter("pid")); stmt.executeUpdate(); con.close();

139.
Enrollment No 092725381

} catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <font size=5> <p> THE RECORD HAS BEEN UPDATED </font> <p> <a href="patient.jsp">View All Records</a> </body> </html>

Output:-

140.
Enrollment No 092725381

Pdelete.jsp:<html> <head>

141.
Enrollment No 092725381

<title>delete form</title> </head> <body bgcolor="#ffffff"> <center> <font size="5" color="red"> <b>Patient Delete Form</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project", "arvind", "krishna"); String query="select * from patient where p_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("id")); rs=stmt.executeQuery(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } while(rs.next()) { %> <form name=pdelete method="post" action="pdelete1.jsp"> <table width="50%" border="0"> <input type="hidden" name="pid" value="<%=rs.getString("p_id")%>"> <input type="hidden" name="name" value="<%=rs.getString("name")%>"> <input type="hidden" name="age" value="<%=rs.getString("age")%>"> <input type="hidden" name="gender" value="<%=rs.getString("gender")%>"> <input type="hidden" name="c_no" value="<%=rs.getString("c_no")%>"> <input type="hidden" name="email" value="<%=rs.getString("email")%>"> </table> <b>Are you want to delete it</b> <br><br> <input type="submit" name="delete" value="YES"> </form> <form method="post" action="patient.jsp"> <input type="submit" name="no" value="NO"> </form> <% } rs.close();

142.
Enrollment No 092725381

con.close(); %> </center> </body> </html>

Pdelete1.jsp:<html> <head> <title>delete form</title> </head> <body bgcolor="#ffffff"> <font size="5" color="#003366"> <b>PATIENT DELETE FORM</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:project", "arvind","krishna"); String query="delete from patient where p_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("pid")); stmt.executeUpdate(); con.close(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <br><br> <font size="5" color="#003366"> The record has been deleted. </font> <br> <p> <a href="patient.jsp" > view all record</a> </body> </html>

Output:143.
Enrollment No 092725381

Appoint.jsp (appointment table):- Here doctor give a limited appointments to a one day after that second day you simply update all the record.
<html>

144.
Enrollment No 092725381

<head> <title>appointment table</title> </head> <body bgcolor="#ffffff"> <font size="5" color="#003366"> <b>Daily Appointment Table</b> </font> <p> <%@page language="java" import="java.sql.*"%> <% Connection con=null; Statement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); stmt=con.createStatement(); String q="select * from appoint"; rs=stmt.executeQuery(q); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se)

145.
Enrollment No 092725381

{ out.println(se.getMessage()); } %> <table border="1" width="100%"> <tr> <td><b>---</b></td> <td><b>Doctor Name</b></td> <td><b>Patient_ID</b></td> <td><b>Date of Appointment</b></td> <td><b>Time</b></td> </tr> <% try { String id=""; while(rs.next()) { id=rs.getString("d_id"); %> <tr> <td><a href="aupdate.jsp?id=<%=id%>">UPDATE</a></td> <td><%=rs.getString("name")%></td> <td><%=rs.getString("p_id")%></td> <td><%=rs.getString("d_of_a")%></td> <td><%=rs.getString("time")%></td>

146.
Enrollment No 092725381

</tr> <% } } catch(SQLException se1) { out.println(se1.getMessage()); } rs.close(); con.close(); %> </table> <br><center> <a href="javascript:history.back()">BACK</a> <a href="project.html">HOME PAGE</a></center> </body> </html>

Output:-

147.
Enrollment No 092725381

Aupdate.jsp:<html>

148.
Enrollment No 092725381

<head> <title>Process Update Form</title> </head> <body bgcolor="#ffffff"> <font size=5 color="#003366"> <b>APPOINTMENT UPDATE FORM</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="select * from appoint where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("id")); rs=stmt.executeQuery(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se)

149.
Enrollment No 092725381

{ out.println(se.getMessage()); } while(rs.next()) { %> <form name="aupdate" method="post" action="aupdate1.jsp"> <table width="50%" border="1" cols="2"> <input type="hidden" name="did" value="<%=rs.getString("d_id")%>"> <tr> <td width="30%"><br><b>Doctor Name</b></td> <td width="70%"><br> <input type="text" name="name" size="40" value="<%=rs.getString("name")%>"></td> </tr> <tr> <td width="30%"><br><b>Patient Id</b></td> <td width="70%"><br> <input type="text" name="pid" size="40" value="<%=rs.getString("p_id")%>"></td> </tr> <tr> <td width="30%"><br><b>Date of Appointment</b></td> <td width="70%"><br> <input type="text" name="doa" size="40" value="<%=rs.getString("d_of_a")%>"></td> </tr> <tr> <td width="30%"><br><b>Time</b></td>

150.
Enrollment No 092725381

<td width="70%"><br> <input type="text" name="time" size="40" value="<%=rs.getString("time")%>"></td> </tr> </table> <br><input type="submit" name="update" value="UPDATE RECORD"> </form> <% } rs.close(); con.close(); %> <p> <a href="appoint.jsp">View All Records</a> </body> </html>

Aupdate1.jsp (process):<html> <head> <title>Process update</title> </head> <body bgcolor="#ffffff"> <font size=5 color="#003366"> <b>Appointment Update Form</b> </font> <%@page language="java" import="java.sql.*"%>

151.
Enrollment No 092725381

<% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="update appoint set name=?,p_id=?,d_of_a=?,time=? where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("name")); stmt.setString(2,request.getParameter("pid")); stmt.setString(3,request.getParameter("doa")); stmt.setString(4,request.getParameter("time")); stmt.setString(5,request.getParameter("did")); stmt.executeUpdate(); con.close(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); }

152.
Enrollment No 092725381

%> <font size=5> <p> THE RECORD HAS BEEN UPDATED </font> <p> <a href="appoint.jsp">View All Records</a> </body> </html>

Output:-

153.
Enrollment No 092725381

Phistory.jsp (patient table):<html> <head> <title>patient history</title> </head>

154.
Enrollment No 092725381

<body bgcolor="#ffffff"> <font size="5" color="#003366"> <b>Patient History Table</b> </font> <p> <a href="addhistory.html">ADD NEW HISTORY</a><br><br> <%@page language="java" import="java.sql.*"%> <% Connection con=null; Statement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); stmt=con.createStatement(); String q="select * from phistory"; rs=stmt.executeQuery(q); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <table border="1" width="150%"> <tr> <td><b>---</b></td> <td><b>Date of Observation</b></td> <td><b>Patient Name</b></td> <td><b>Hitory</b></td> <td><b>Doctor Name</b></td> </tr> <% try { String id=""; while(rs.next()) { id=rs.getString("d_id"); %> <tr> <td><a href="hdelete.jsp?id=<%=id%>">DELETE</a></td> <td><%=rs.getString("d_of_o")%></td> <td><%=rs.getString("p_name")%></td> <td><%=rs.getString("history")%></td> <td><%=rs.getString("name")%></td>

155.
Enrollment No 092725381

</tr> <% } } catch(SQLException se1) { out.println(se1.getMessage()); } rs.close(); con.close(); %> </table> <br><center> <a href="javascript:history.back()">BACK</a> <br><a href="project.html">HOME PAGE</a></center> </body> </html>

Output:-

Addhistory.html:<html> <head> <title>Insert form</title> </head> <body bgcolor="#ffffff"> <center>

156.
Enrollment No 092725381

<font color="red" size=6> Add New History Information </font> <form name="history" method="post" action="addhistory.jsp"> <table border="0" cols="2" width="50%"> <tr> <td ><br><b>Date of Observation</b></td> <td><br><input type="text" name="dofo" size="30"></td> </tr> <tr> <td ><br><b>Doctor_Id</b></td> <td><br><input type="text" name="d_id" size="30"></td> </tr> <tr> <td ><br><b>Patient Name</b></td> <td><br><input type="text" name="p_name" size="30"></td> </tr> <tr> <td ><br><b>History</b></td> <td><br><input type="text" name="history" size="30"></td> </tr> <tr> <td ><br><b>Docter Name</b></td> <td><br><input type="text" name="name" size="30"></td> </tr> <tr> <td><br><br><input type="submit" name="submit" value="submit"></td> </tr> </table> </form> <br><br><br><br> <a href="project.html"><b>HOMEPAGE</b></a> </center> </body> </html>

Addhistory.jsp (process):<html> <head> <title>Insert Form</title> </head> <body bgcolor="#ffffff"> <font size=5>

157.
Enrollment No 092725381

<b>Insert Doctor History</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="insert into phistory(d_of_o,d_id,p_name,history,name)values(?,?,?,?,?)"; stmt=con.prepareStatement(query); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } stmt.setString(1,request.getParameter("dofo")); stmt.setString(2,request.getParameter("d_id")); stmt.setString(3,request.getParameter("p_name")); stmt.setString(4,request.getParameter("history")); stmt.setString(5,request.getParameter("name")); stmt.executeUpdate(); con.close(); %> <font size="4"> <br><br><br><b>Record Inserted Successfully</b> </font> <br><br> <a href="phistory.jsp">View All Records</a> </body> </html>

Output:-

158.
Enrollment No 092725381

Hdelete.jsp:159.
Enrollment No 092725381

<html> <head> <title>delete form</title> </head> <body bgcolor="#ffffff"> <center> <font size="5" color="red"> <b>Patient History Delete Form</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project", "arvind", "krishna"); String query="select * from phistory where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("id")); rs=stmt.executeQuery(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } while(rs.next()) { %> <form name=hdelete method="post" action="hdelete1.jsp"> <table width="50%" border="0"> <input type="hidden" name="dof" value="<%=rs.getString("d_of_o")%>"> <input type="hidden" name="did" value="<%=rs.getString("d_id")%>"> <input type="hidden" name="pname" value="<%=rs.getString("p_name")%>"> <input type="hidden" name="history" value="<%=rs.getString("history")%>"> <input type="hidden" name="name" value="<%=rs.getString("name")%>"> </table> <b>Are you want to delete it</b> <br><br> <input type="submit" name="delete" value="YES"> </form> <form method="post" action="phistory.jsp"> <input type="submit" name="no" value="NO"> </form> <% }

160.
Enrollment No 092725381

rs.close(); con.close(); %> </center> </body> </html>

Hdelete1.jsp (process):<html> <head> <title>delete form</title> </head> <body bgcolor="#ffffff"> <font size="5" color="#003366"> <b>PATIENT HISTORY DELETE FORM</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; ResultSet rs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:project", "arvind","krishna"); String query="delete from phistory where d_id=?"; stmt=con.prepareStatement(query); stmt.setString(1,request.getParameter("did")); stmt.executeUpdate(); con.close(); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se) { out.println(se.getMessage()); } %> <br><br> <font size="5" color="#003366"> The record has been deleted. </font> <br> <p> <a href="phistory.jsp" > view all record</a> </body> </html>

161.
Enrollment No 092725381

Output:-

User
User.html:<html> <head>

162.
Enrollment No 092725381

<title>user facilities</title> </head> <body bgcolor="#ffffff"> <img src="h2.jpg" align="left" width=700 height=475 border=2> <table border=0 width="30%"> <tr> <td width="25%"><br><a href="cardic.html"><b>CARDIC DEPARTMENT</b></a></td> </tr> <tr> <td width="25%"><br><a href="nefro.html"><b>NEFROLOGY DEPARTMENT</b></a></td> </tr> <tr> <td width="25%"><br><a href="onco.html"><b>ONCOLOGY DEPARTMENT</b></a></td> </tr> <tr> <td width="30%"><br><a href="cspl.html"><b>SPECIALITY IN CARDIC DISEASE </b></a></td> </tr> <tr> <td width="30%"><br><a href="nspl.html"><b>SPECIALITY IN NEFROLOGY</b></a></td </tr> <tr> <td width="30%"><br><a href="ospl.html"><b>SPECIALITY IN CANCER</b></a></td> </tr> <tr> <td width="20%"><br><a href="padd.html"><b>PATIENT ADDMISSION</b></a></td> </tr> <tr> <td width="25%"><br><a href="hrule.html"><b>ABOUT HOSPITAL</b></a></td> </tr> <tr> <td width="25%"><br><a href="hfac.html"><b>HOSPITAL FACILITIES</b></a></td> </tr> </table> <br><br><br><br><br> <center><a href="project.html"><b>HOMEPAGE</b></a></center> </body> </html>

Output:-

163.
Enrollment No 092725381

Cardic.html:<html> <head> <title>Cardic department</title> </head> <body bgcolor="#ffffff"> <font size="5" color="red"> DOCTOR OF CARDIOLOGY DEPT </font> <pre><b>1.Dr RAVI KISHORE MD,DCA(USA) HEAD OF CARDIC ARETHIMIA, KIMS HYDERABAD <br> 2.Dr PRADEEP SHETTY MS,DS(STANDFORD) HEAD OF OPEN HEART SURGERY, KIMS,HYDERABAD <BR> 3.DR S.C JAIN MD,DM(AIIMS) CHIEF CONSUTANT PHYSICIAN (PRESIDENT OF AIMA) </b> </pre> <br>

164.
Enrollment No 092725381

<a href="user.html">BACK</a> </body> </html>

Output:-

Nefro.html:<html> <head> <title>CaNCER department</title> </head> <body bgcolor="#ffffff"> <font size="5" color="red"> DOCTOR OF NEFROLOGY DEPT </font> <pre><b>1.Dr S GULERIA MS,DS(LONDON) HEAD OF RENAL, KIMS HYDERABAD <br> 2.Dr R N L DAS MS,DS(PENSLYVENIA) VISITING SURGEN, KIMS,HYDERABAD </b> </pre>

165.
Enrollment No 092725381

<br> <a href="user.html">BACK</a> </body> </html>

Output:-

Onco.html:<html> <head> <title>CaNCER department</title> </head> <body bgcolor="#ffffff"> <font size="5" color="red"> DOCTOR OF ONCOLOGY DEPT

166.
Enrollment No 092725381

</font> <pre><b>1.Dr BHOLA PD <br> 2.Dr V REDDY

MD,DO(LONDON) HEAD OF ONCOLOGY, KIMS HYDERABAD MS,DS(STANDFORD) SENIOR CANCER SPECIALIST, KIMS,HYDERABAD

</b> </pre> <br> <a href="user.html">BACK</a> </body> </html>

Output:-

Cspl.htm:<html> <head> <title>cardic speciality</title> </head> <body bgcolor="#ffffff"> <font size="5" color="red"> Speciality in Cardiology </font>

167.
Enrollment No 092725381

<br><br> Everyday we are knowing about different type of heart disease by the different source of media.Prior the treatment of all such diseases were not available in india.patient those have not huge money for their treatment from super speciality hospital of abroad.They did not avail the facility of such hospitals.Now "KIMS" provides treatment for different type of cardic diseases by experinced doctor. <br><br> <b>TYPE OF TREATMENT</b> <table border="2" cols="2" width="50%"> <tr> <td width="20%"><b>DISEASE</b> <td width="40%"><b>TREATMENT</b> </tr> <tr> <td width="20%"><b>ARITHIMIA</b> <td width="40%"><b>RFA,ERW</b> </tr> <tr> <td width="20%"><b>HEARTA ATTACK</b> <td width="40%"><b>OPEN HEART SURGERY</b> </tr> <tr> <td width="20%"><b>ARTARY BLOCK</b> <td width="40%"><b>ANGEOPLASTY</b> </tr> <tr> <td width="20%"><b>BLUE BABY</b> <td width="40%"><b>MINOR SURGERY</b> </tr> </table> <a href="user.html">BACK</a> </body> </html>

Output:-

168.
Enrollment No 092725381

Nspl.html:<html> <head> <title>cancer speciality</title> </head> <body bgcolor="#ffffff"> <font size="5" color="red"> Speciality in Oncology </font> <br><br> Nefrology is an important department in medical science.incresing in the case of kidney problem is the warning of our polluted environment.changing lifestyle & unproper dose of medicine is the main reason of kidney failure problems."KIMS" provides the special treatment under the specialist group of doctors. <br><br> <b>TYPE OF TREATMENT</b> <table border="2" cols="2" width="50%"> <tr> <td width="20%"><b>KIDNEY FUNCTIONIG</b> <td width="40%"><b>TREATMENT</b> </tr> <tr>

169.
Enrollment No 092725381

<td width="20%"><b>50%</b> <td width="40%"><b>CHEMOTHERAPY</b> </tr> <tr> <td width="20%"><b>35%UPTO40%</b> <td width="40%"><b>DILASIS TWICE MONTH</b> </tr> <tr> <td width="20%"><b>20%</b> <td width="40%"><b>DILASIS WEEKLY</b> </tr> <tr> <td width="20%"><b>BELOW 20%</b> <td width="40%"><b>TRANSPLANTATION</b> </tr> </table> <a href="user.html">BACK</a> </body> </html>

Output:-

Ospl.html:<html> <head> <title>cancer speciality</title> </head> <body bgcolor="#ffffff">

170.
Enrollment No 092725381

<font size="5" color="red"> Speciality in Oncology </font> <br><br> cancer is not a dangerous desease if it detects in it's intial stage.prior It is not easly detected due to the scarcity of specialist doctor & advance diagnostic lab."KIMS" provide every facilities under the single roof. <br><br> <b>TYPE OF TREATMENT</b> <table border="2" cols="2" width="50%"> <tr> <td width="20%"><b>DISEASE</b> <td width="40%"><b>TREATMENT</b> </tr> <tr> <td width="20%"><b>INITIALSTAGE</b> <td width="40%"><b>BIOPSY</b> </tr> <tr> <td width="20%"><b>SECONDSTAGE</b> <td width="40%"><b>CHEMOTHERAPY</b> </tr> <tr> <td width="20%"><b>THIRDSTAGE</b> <td width="40%"><b>RADIATION</b> </tr> <tr> <td width="20%"><b>LUKEMIA</b> <td width="40%"><b>BLOOD FUSION</b> </tr> </table> <a href="user.html">BACK</a> </body> </html>

Output:-

171.
Enrollment No 092725381

Padd.html:<html> <head> <title>Insert form</title> </head> <body bgcolor="#ffffff"> <center> <font color="red" size=6> Add New Patient Information </font> <form name="padd" method="post" action="padd.jsp"> <table border="0" cols="2" width="50%"> <tr> <td ><br><b>Patient_Id</b></td> <td><br><input type="text" name="p_id" size="30"></td> </tr> <tr> <td ><br><b>Patient Name</b></td> <td><br><input type="text" name="p_name" size="30"></td> </tr> <tr> <td ><br><b>Age</b></td> <td><br><input type="text" name="age" size="30"></td>

172.
Enrollment No 092725381

</tr> <tr> <td ><br><b>Gender</b></td> <td><br><input type="text" name="gender" size="30"></td> </tr> <tr> <td ><br><b>Contact_No</b></td> <td><br><input type="text" name="c_no" size="30"></td> </tr> <tr> <td ><br><b>E-Mail</b></td> <td><br><input type="text" name="e_mail" size="30"></td> </tr> <tr> <td><br><br><input type="submit" name="submit" value="submit"></td> </tr> </table> </form> <br><br><br><br> <a href="project.html"><b>HOMEPAGE</b></a> </center> </body> </html>

Padd.jsp (process):<html> <head> <title>Insert Form</title> </head> <body bgcolor="#ffffff"> <font size=5> <b>Insert Patient Form</b> </font> <%@page language="java" import="java.sql.*"%> <% Connection con=null; PreparedStatement stmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:project","arvind","krishna"); String query="insert into patient(p_id,name,age,gender,c_no,email)values(?,?,?,?,?,?)"; stmt=con.prepareStatement(query); } catch(SQLException ce) { out.println(ce.getMessage()); } catch(ClassNotFoundException se)

173.
Enrollment No 092725381

{ out.println(se.getMessage()); } stmt.setString(1,request.getParameter("p_id")); stmt.setString(2,request.getParameter("p_name")); stmt.setString(3,request.getParameter("age")); stmt.setString(4,request.getParameter("gender")); stmt.setString(5,request.getParameter("c_no")); stmt.setString(6,request.getParameter("e_mail")); stmt.executeUpdate(); con.close(); %> <font size="4"> <br><br><br><b>Record Inserted Successfully</b> </font> <br><br> <a href="padd.html">BACK</a> </body> </html>

Output:-

Patient process insert:-

174.
Enrollment No 092725381

Hrule.html:<html> <head> <title>ESTABLISHMENT</title> </head> <body > <center><font size=5 color="#145263"> <i><b>ABOUT HOSPITAL</b></i> </font></center> <p> <u><b>WHY KRISHNA'S ESTABLISHED "K I M S"*****</b></u> <p> KIMS ESTABLISHED BY KRISHNA'S GROUP IN 2001 UNDER THE SCANNING EYES OF RENOWNED CARDIOLOGISTDR R. KRISHNA.IT IS A FIVE STAR SUPERSPECIALITY HOSPITAL SITUATED ON HYDERABAD CHENNAI HIGHWAY.IT IS THE FIRST OF IT'S KIND IN SOUTHASIA PROVIDING CARDIOLOGICAL, ONCOLOGICAL & RENAL FACILITY. <p> <a href="user.html">BACK</a> </body> </html>

175.
Enrollment No 092725381

Output:-

Hfac.html:<html> <head> <title>facility</title> </head> <body bgcolor="#ffffff"> <center><font size=5 color="#145263"> <i><b> HOSPITAL FACILITY</b></i> </font></center> <p> <u><b>FACILITY PROVIDED BY "K I M S"*****</b></u> <p> <OL START="1"> <LI>:AIRCONDITIONED ,SEMIDELUXE,DELUXE, & SUITES</LI> <BR> <LI>:PICKUP & DROP FACILITIES</LI> <BR> <LI>:CAFETERIA PROVIDING NORTH INDIAN & CONTINENTAL CUSINE</LI> <BR> <LI>:TELEMEDICINE FOR REMOTE AREA'S REGISTERD PATIENT</LI> </BR> <LI>:ARRANGEMENT OF VISA EXTENSON</LI>

176.
Enrollment No 092725381

<BR> <LI>:SUBSIDISED TREATMENT FOR B.P.L CARD HOLDER</LI> <BR> <LI>:EXPERINCED PARAMEDICAL STAFF</LI> <BR> <LI>:ADVANCED DIAGONOSTIC FACILITIES</LI> <BR> <LI>:MORE ............</LI> <p> <a href="user.html">BACK</a> </body> </html>

Output:-

177.
Enrollment No 092725381

General Rules for Optimization


There are certain principles that apply to optimization in any computer language, and

Java

is

no

exception.

These

principles are as follows: -

1)

Don't optimize as you go: - Write your program without


regard to possible optimizations, concentrating instead on making sure that the code is clean, correct, and understandable. If it's too big or too slow when you've finished, then you can consider optimizing it.

2)

Remember the 80/20 rule: - In many fields you can get


80% of the result with 20% of the effort (also called the 90/10 rule - it depends on who you talk to). Whenever you're about to optimize code, use profiling to find out where that 80% of execution time is going, so you know where to concentrate your effort.

3)

Always run "before" and "after" benchmarks: - How else


will you know that your optimizations actually made a difference? If your optimized code turns out to be only slightly code. faster or smaller than the original version, undo your changes and go back to the original, clear

4)

Use the right algorithms and data structures: Don't use an O(n2) bubblesort algorithm to sort a thousand elements when there's an O(n log n) quicksort available. Similarly, don't store a thousand items in an array that requires an O(n) search when you could use an O(log n) binary tree, or an O(1) Java hash table.

178.
Enrollment No 092725381

Optimizing Java code for Speed


1)
Compiler optimizations: When you've finished developing and testing your code, recompile with compiler optimizations turned on (e.g., javac -O).

2)

Just-in-time compilers: Make sure your users have a just-in-time compiler instead of a standard interpreted Java VM. JIT compilers typically improve the performance of non-graphical Java primitives by 10-30 times. Browsers with JIT compilers include the Win32 and Mac versions of Netscape Navigator 3.0 and Internet Explorer 3.0. Standalone JIT compilers are also available from (at least):

3)

Exploiting multiprocessors: If you have a multiprocessor and a Java VM that can spread threads across processors (and currently these are big ifs), you can improve performance by multithreading, either manually or through the use of a restructuring compiler such as JAVAR.

4)

Native methods: If you're don't care about cross-platform portability, native methods will get you the speed of raw C (or FORTRAN, or C++, or...). Fallback code lets your program continue even if native methods aren't available.

5)

Translation into C: 179.


Enrollment No 092725381

There are currently four freely-available tools to translate Java into C: j2c from Japan, JCC from Nik Shaylor, Toba (formerly Juice) from Arizona, and Harissa (formally Salsa) from France. Toba and Harissa are both products of active research groups.

6)

Graphics: Use clipping to reduce the amount of work done in repaint(), double buffering to improve perceived speed, and image strips or compression to speed up downloading times. Remember to use high-level primitives; it's much faster to call drawPolygon() on a bunch of points than looping with drawLine() (tip from Jean-Marc Lugrin). And if you have to draw a single pixel drawLine (x,y,x,y) may be faster than fillRect (x,y,1,1) (tip from Wayne Cochran).

7)

Input/output: Use BufferedInputStream and BufferedOutputStream or equivalent buffered methods wherever possible; doing I/O a single byte at a time is generally too slow to be practical. Note that the JDK 1.0.2 I/O classes use lots of synchronization, so you might get better performance by using a single "bulk" call such as readFully and then interpreting the data yourself (tip and code from Doug Erickson).

8)

Synchronization: In the JDK interpreter, calling a synchronized method is typically 10 times slower than calling an unsynchronized method. With JIT compilers, this performance gap has increased to 50-100 times (see Java micro-benchmarks). Avoid 180.
Enrollment No 092725381

synchronized

methods

if

you

can

--

if

you

can't,

synchronizing on methods rather than on code blocks is slightly faster (tip and benchmarks from Doug Lea).

9)

Exceptions: You should only use exceptions where you really need them--not only do they have a high basic cost, but their presence can hurt compiler.

10) The costs of Strings: The String concatenation operator + looks innocent but involves a lot of work: a new StringBuffer is created, the two arguments are added to it with append(), and the final result is converted back with a toString(). This costs both space more and than time. one In particular, consider if you're a appending String, using

StringBuffer directly instead.

11) Using API classes: Use classes from the Java API when they offer native machine performance that you can't match using Java. For example, arraycopy() is much faster than using a loop to copy an array of any significant size.

12) Replacing API classes:


Sometimes can write API classes do more than that you do need, less with but a corresponding increase in execution time; for these you specialized versions run faster. For example, in one application where I needed a 181.
Enrollment No 092725381

container to store lots of arrays I replaced the original Vector with a faster dynamic array of objects

13) Overriding API methods: If you're using a class from the Java API and are seeing performance problems with one method, try defining a subclass which overrides that method with your own.

14) Avoiding expensive constructs: Sometimes Java constructs are so expensive that it can be worth making your data structures or code a little more complex to work around the problem. For example, you can add a type id number to objects to avoid paying the cost of an instanceof. Similarly, in a long inheritance tree you can avoid casting by including a method that returns a value of the type you would otherwise cast to.

15) Avoiding expensive data structures: In a similar manner to the constructs above, expensive Java data structures can be replaced with simpler ones at the cost of some extra code complexity. For example, it can be up to twice as expensive to access a twodimensional array as a one-dimensional array, due to the extra indirections.

16) Know your switches: A switch statement is compiled into one of two bytecodes, depending together, on uses the a sparsity fast of the lookup. cases The you're second, switching on. The first, where the numbers are close direct where the numbers are further apart, uses a slower
182.
Enrollment No 092725381

search through a table. Look at the bytecode your code is compiled into to find which you're using .This is particularly important if you're trying to replace a sequence of if statements with a switch.

17) Function inlining: Java compilers can only inline a method if it is final, private, or static (and Hans Hall has noted that javac will only inline if a method has no local variables). If your code spends lots of time calling a method that has none of these modifiers, consider writing a version that is final.

18) Reusing objects: It takes a long time to create an object, so it's often worth updating the fields of an old object and reusing it rather than creating a new object. For example, rather than creating a new Font object in your paint method you can declare it as an instance object, initialize it once, and then just update it when necessary in paint. Similarly, rather than allowing the garbage collector to deal with objects you've removed from a linked list, you can store them in a free list, to be reused the next time you need to add a new object. This can be particularly important for graphics objects like Rectangles, Points and Fonts

183.
Enrollment No 092725381

Optimization of SQL or PL/SQL Code


Coding comprises of mainly SQL or PL/SQL. Rules followed to optimize the code are as following:-

Rule 1:

If you have two or more expression connected with an

AND then put the most limiting expression first.

Rule 2: Put the table with the smallest number of qualified


rows last in the FROM clause and the first in the WHERE clauses join expression. Then AND the join expression with a COLUMN >= (and empty string) expression to force the optimizer to choose this expression as driver.

Rule 3: Accuracy before speed. Dont leave off redundant


ORDER BY clauses, they might not be redundant tomorrow.

Rule 4: Use a combination of values in a single sub-query


search. rather than multiple sub-query searches.

Rule 5: Anticipate that LIKE wont be optimize after the


first %or --.

184.
Enrollment No 092725381

Rule 6:

If your table is small enough to be read in a single

disk access, force the optimizer to ignore indexes by adding a do nothing expression.

Rule 7: Use OR rather than UNION if the predicate column are


un-indexed.

Rule 8: If you have a highly skewed distribution of values in


an indexed column, convert a not equals expression into a pare of greater than and instead. less than expressions. If the column is not indexed, always use a not equals expression

Rule 9: Replace the expression COLUMN>= empty string for


indexed columns. If your DBMS doesnt index NULLs, you will be glad you did. And if it does, you wont regret.

Rule 10:

Avoid

Cartesian

products

on

tables

with

large

number of rows. Create a temporary table and index and use that in your query instead.

Rule 11: Use >= MAX (COLUMN) rather than >= all column. Rule 12: Use the law of transitivity when writing Where
Clauses.

Rule 13: OR should not be used to enumerate a long Series


and, Since IN is always converted to OR it should be not be used either use BETWEEN instead. 185.
Enrollment No 092725381

Rule 14: If neither the outer SELECT, nor the simple IN sub
SELECT of a query can return a duplicate values and then selection isnt part of a possible updateable View or Cursor, replaces the sub-query with a join.

If there is a DISTINCT in the query or the query isnt likely to be harmed by adding DISTINCT. (Note: This rule does not apply for certain minor

exception).

Rule 15: Unless you know the fact that your DBMS has special
optimization routine for EXISTS, use IN. If youre porting code from an old SQL DBMS application be suspicious when you see Correlated sub-queries. The code might have been written for a specific DBMS and may perform poorly in other packages.

Rule 16: Dont trust on SQL packages to optimize away a


repetitive calculation. Do it yourself to be sure. You can always add a comment.

Rule 17: If you have two or more ORED expression, put the
least limiting expression first.

186.
Enrollment No 092725381

PROJRCT TESTING
Verification and Validation

Verification :

At every stage in project we maintained to verify user at each form

and in every stage of processing a user verification is being done.

Validation: User can do mistake. So we maintain mostly in every form to check the data for its correctness (format and limit). We can say that there could be less chance to allow to collect the garbage data .

In all the phases we maintain to validate all the fields so that the user cannot enter validate data. We maintain to collect the data mostly from predefined validations so that data must be correct and valid. And mostly avoided text boxes to enter data as much as possible.

Two types of verification and validation:

Static, Analysis and checking of documents (including source code). Performed at all stage of the process.

187.
Enrollment No 092725381

Dynamic, Exercise the implementation (testing). Obviously only performed when executable available (which might be prototype). Neither is sufficient by itself. Dynamic testing is the traditional approach, but static technique are becoming more sophisticated. As a step in system development life cycle, testing and implementation consist of final steps that puts the new system into operation. An exhaustive test must be conducted to ascertain that the system produces right result. This chapter throws light on testing of the system developed. System Testing During the system testing , the system is used experimentally to ensure that the software doesnt fail i.e. It will run according to its specification and in the way user expected it to work . the system was tested with sample data first , after obtaining the satisfactory result, The data from the existing system was transferred. The system is found to be functioning good in all areas. Typical test plan contains: Overview of testing process Requirement tractability (to ensure that all requirement are tested) List of item to be tested Schedule Recording procedures so that test results can be audited Hardware and software requirement.
188.
Enrollment No 092725381

Constraints Program and form testing In system analysis the system was designed according to the requirement of the system. The system deals with a large number of states, complex logic and activities. So some error might occur in the system. Error may be in software Which is known as Software Error i.e. The software doesnt do what the requirement says. So an exhaustive and through testing must be conducted to ascertain whether the system produces right results. The project guide and user both did testing at several stages. First each program module was tested as a single program which is also known as module testing or Unit testing . In unit testing, a set of data was given as input to the module and the outputs produced were observed. In addition , logic and boundary conditions for input and output data was also checked. The interface between this module and others was also checked for correctness. While collecting the input data for testing the program module it was kept in mind that input data must be from all classes, so the entire condition of the program could be checked. In testing, the role of the user is also very important, since they understand the full range of data and the condition that might occur in the system. So a wide range of data was collected from the user to test the program thoroughly.

Integration and system testing


When the individual program modules were working perfectly, the modules were combined into a working system. This integration is planned and coordination so
189.
Enrollment No 092725381

that when an occurs, we can have an idea of what caused it. Integrating is the process of verifying that the component of the system work together. For testing, the entire system was viewed as a hierarchy of modules. We began with the highest level of design and worked down. The next modules to be tested are those that call the previously tested modules.

Function Test
Once we were sure that information is passed among modules according to the design prescription, we tested the system to assure whether the function describing the requirement specification was actually performed by the integrating system.

Acceptance Test
When the function test was completed, we involved the user to make sure that the system worked according to the users expectation. Thus the user did the final acceptance test. Installation Test When acceptance test was completed, the accepted system was installed in the environment in which it would be used and a final installation test was performed to make sure that the system is working, as it should.

190.
Enrollment No 092725381

Errors Listed for each Test case


Errors generated during the run-time of my projects are: -

1) 2) 3) 4) 5) 6)
resolve the address.

Oracle not available. Database not connected. Table or view does not exist. Database not available. Invalid username or password. Network Adaptor could not able to

7)

Could

not

able

to

open

port

(1581)

at

the

host

COMP

(127.01.01.01).

8) 9) 10)
to the remote host.

JDBC-ODBC driver not available. Page could not be displayed. Could not able to make a connection

11)
the remote host.

Could not able to open port (8080) on

191.
Enrollment No 092725381

SOFTWARE COST ESTIMATION TECHNIQUES


Within most organizations, software cost estimates are based on past performance. Historical data are used to identify cost factors course, collected ones. Cost estimates can be made either top-down or bottom-up. In practice, both top-down and bottom-up cost estimates should be developed, compared, and iterated to eliminate differences. I have used COCOMO model for software cost estimation and determine that current the relative and importance of various must be factors within the environment of that organization. This of means on cost productivity in order to data projects estimate future

Introduction to COCOMO Model


(COnstructive COst MOdel)
estimation model is used The COCOMO cost by thousands of

software project managers, and is based on a study of hundreds of software projects. Unlike other cost estimation models, COCOMO is an open model, so all of the details are published, including: -

1)

The underlying cost estimation equations. 192.


Enrollment No 092725381

2) 3) 4)

Every assumption made in the model (e.g. the project will enjoy good management). Every definition (e.g. the precise definition of product Design phase of project). The costs included in an estimate are explicitly stated (e.g. project managers are included, secretaries arent).

The most fundamental calculation in the COCOMO model is the use of the Effort Equation to estimate the number of PersonMonths required for developing a project. Most of the other COCOMO results, including the estimates for Requirements and Maintenance, are derived from this quantity.

The Scale Drivers:The five Scale Drivers are: -

1) 2) 3) 4) 5)

Precedentedness Development Flexibility Architecture/Risk Resolution Team Cohesion Process Maturity

Cost Drivers:COCOMO has 17 cost drivers- we assess our project, development environment, required different to and team to our set each cost driver. There The cost 15 drivers are multiplicative factors that determine the effort complete software cost project. drivers are attributes called attributes that

determine multiplying factors. These factors dependent upon

193.
Enrollment No 092725381

1) Product 2) Computer 3) Personnel and 4) Project attribute


Types of COCOMO model according to their increasing complexity: -

1) Basic 2) Intermediate 3) Detailed


Types of COCOMO projects: -

1) Organic Project 2) Embedded Project 3) Semidetached Project

Cost Estimation for the development of Hospital Management System using Intermediate COCOMO
Since our project is of hospital Management system which is Web based, therefore the type of project will be Semidetached. The equation used to determine initial effort

Ei in person-

month will be as follows: -

Ei
a =

=
3.0

a * (KDLOC)b PM

Where a and b are constants whose value is 194.


Enrollment No 092725381

1.12

KDLOC is Thousands of delivered lines of source code KDLOC = 4

Ei

= =

3.0 * (4)1.12 PM 3.0 * 4.72

= 14.16 PM
Effort multiplier for Semidetached Hospital

Management system (Web Based)

Multiplier
Reliability

Rationale
Global Use. Serious recovery problems can occur (High)

Value
1.15

Database Size Complexity

40,000 bytes (Nominal) On-line processing and data manipulation (High)

1.00 1.15

Timing

Will use 40% of processing time (Nominal)


195.

1.00

Enrollment No 092725381

Storage

Heavy Storage required (High)

1.06

Machine

Stable. Commercially available microprocessor (Nominal)

1.00

Turnaround

Six Hours average (High)

1.07

Analysts Capability Programmers

Average People (Nominal) Average People (Nominal)

1.00

1.00

Application Experience Virtual Machine Experience Programming Language Experience

Average Experience (Low) No Experience (Very Low) One Year (Nominal)

1.17

1.21

1.00

More than six months


196.

1.00
Enrollment No 092725381

Modern Programming Practices Tools, use of S/W tools Schedule

experience with modern techniques (Nominal)

Basic Software (Low)

1.10

Seven months; 6.9 estimated (Nominal)

1.00

Effort Adjustment Factor = 2.33


The effort adjustment factor (EAF) of 2.33 is the product of the effort multipliers. The final effort estimate

is

obtained by multiplying the initial estimate by EAF.

= = =

EAF *

Ei

2.33 * 14.16 32.99 Person Month

The effort adjustment factor produces an estimate of 32.99

Person

Months

required

for

the

development

of

hospital

management system (Web Based) which consists of 2,000 lines of source code.

197.
Enrollment No 092725381

Assuming Rs.

that the programmers per Person-Month,

and analysts the total

cost of

13,500

cost

project personnel will be

Rupees = =

(32.99 PM) * (Rs. 13,500 Per PM) Rs. 4,45,365

Therefore the cost estimation of the project is Rs. 4,45,365.

198.
Enrollment No 092725381

Reports Generation: It generates reports, which are as follows: -

v.

Discharge Report: It collects patient (name, code, address, and phone), date of admit, date of discharge, disease, doctor (name, code) ward no, bed no, account clearance (initiated by the clearance module) and generates a report showing complete details of the Discharge such as discharge date, service code, patient details, Doctor name etc.

vi.

Bill Report: It collects various details like patient details, total charge, paid amount, balance amount etc and generates a printable report in the form of bills.

vii.

Search Report: It takes doctor name/patient name/bed no as input and provides all relevant information regarding doctor/patient/bed etc in the form of report.

viii.

Clearance Report: It takes input from the bill, bed and patient module and generates the clearance information in the form of report.

PROGRAM EVALUATION AND REVIEW TECHNIQUE (PERT )


199.
Enrollment No 092725381

System Design (8 Jan/10) Process Design (16 Jan)


Design (2 Jan)

Start (31 Dec 2009)

System Analysis &use Require ment

Module Design (22 Jan) Data Design (2 Feb) System Testing (15 Mar 2010)

Form Design (17 Feb) Implementation (26 Mar 2010)

Program Design ( 28 Feb)

D O C M E N T A T I O N

Documentation Design (3 Mar) Finish (30 Mar 2010)

Gantt Chart for Hospital Management System


200.
Enrollment No 092725381

CONCLUSION
201.
Enrollment No 092725381

Working on the project ohms was a great learning experience. It helped us to gain technical as well as inter-personal skills and we can definitely say that this period will always act as a stepping stone in our career as a software professional.

The system is development with the view to integrate the new ohms services of a hospital with the existing.

The main benefits of the System can be enlisted as: To provide user friendly web based module for services. Store data centrally at Oracle database. Provide timely and accuracy information. Provide Information Security. Reduce the workload of the manual work.

LIMITATION
202.
Enrollment No 092725381

Using covenantal API data is transmitted as bit stream over n/w link. The bit stream if incepted by means of tools such as a n/w protocol analyzer, can be decoded by some one who has knowledge of a data representation of the data exchanged. Hence, if is risky to transmit the sensitive data such as credit card information and authentication data. For second data transmission we attach any inscription algorithm. The more secure algorithm is RSA (Rivest Shamir Adolman) algorithms used for secure data transmission. We can apply this algorithm in future for secure data transmission.

FUTURE ENHANCEMENT
After the development of the project, it has been noticed that there are certain major feature that have not been incorporated, or have been overlooked. No project is perfect, there is always some scope of future modification in future. In this project as well there are some problems that can be rectified in future.

In the future we will try to incorporate the following

5. In future we can upload the web site. 6. Our system is not providing security on credit card. In future we can implement an RSA algorithm to make more secure. 7. On line system is depend for current scenario.
203.
Enrollment No 092725381

8. In future we can implement in a frame works line structure.

SECURITY
This project is developed in JAVA Language, since after using right and appropriate password, JAVA provides very high security to its end user. Unauthorized user can not access this project because no user can enter without password. We have developed the password program in forms the authorized user and his password is stored in ORACLE database, no unauthorized user can directly enter in the ORACLE database because only the system administrator can change or delete the user login password.

BIBLIOGRAPHY AND REFERENCES

BIBLIOGRAPHY:1. Java the complete reference. 2. JSP Wrox Publication. 3. HTML / DHTML / Java script by Ivam Bayros. 4. Oracle the complete reference by Loney Koch, Oracle press.

REFERENCES:204.
Enrollment No 092725381

JavaScript - http://www.w3schools.com/js/default.asp Tomcat Apache- http://jakarta.apache.org Java, jsp tutorials- http://www.roseindia.net Software Engineering http://www.wikipedia.org/Software_development_process

205.
Enrollment No 092725381

Das könnte Ihnen auch gefallen