medi by murthy.u


More Info
									                                    1. INTRODUCTION

1.1Project Introduction

        Every hospital needs an online system where by it can accommodate the patients

comfortably and avoid any confusion to the doctors regarding their work. There should be a

system where the patients are categorized under insurance policy and non policy holders

and the system helps the hospital management to claim the bills from concerned insurance

companies. All these needs and much more are fulfilled in MediTracker

        MediTracker is useful to record patient’s details along with the compliant. It also

records the inpatient details and outpatient details and arranges the appointment of doctors.

MediTracker also provides the management reports like schedules, appointments of doctors,

inpatients, insurances and discharges. And also used to generate bills dynamically for the

discharged patients etc.

        The administrative user can create new users and change their passwords. He can

add the doctor’s information as well as new doctor’s details. He can add information related

to inpatients, outpatients, rooms availability, billing and insurance information. The

administrator can view the management reports.

        The doctors can change their own passwords. He can view his own appointments
and information of inpatients and outpatients for any day.
        Manager is another person who manages the activities in the hospital. He can add a
new doctor to the list. He can also add new room information. He can view the information
of doctors, rooms and patients.
       An accountant can add the information related to patient insurances and view all the
reports. He can view the details of inpatients, outpatients and discharged patient’s
information. He also collects the bill amount from the patient and enters it into the system.
MediTracker thus ensures smooth operation of the hospital management tasks as well as
offering facility to the patients

                   2. OPERATING ENVIRONMENT

2.1Hardware Specifications:

      Main Memory               :   64MB.

      Micro Processor           :   Pentium – III.

      Hard Disk Drive           :   4.3 GB.

      Cache Memory              :   512KB.

2.2Software Specifications:

      Server Operating System   :   Windows NT.

      Client Operating System   :   Windows NT WorkStation.

      Front End                 :   Jsp, Javascript.

      Technology                :   Java using Jsp.

      Back End                  :   Oracle 10g.

      Application Server        :   Apache Tomcat6.

      Database Connectivity     :   JDBC, Microsoft ODBC Driver for Oracle.

                              3. SYSTEM ANALYSIS

         System Analysis is first stage according to System Development Life Cycle model.
This System Analysis is a process that starts with the analyst.
        Analysis is a detailed study of the various operations performed by a system and
their relationships within and outside of the system. One aspect of analysis is defining the
boundaries of the system and determining whether or not a candidate system should
consider other related systems. During analysis, data are collected on the available files,
decision points, and transactions handled by the present system.
        Logical system models and tools that are used in analysis. Training, experience, and
common sense are required for collection of the information needed to do the analysis.

3.1 Existing System

       Current system is a manual one in which users are maintaining books to store the
information like Patients details, Doctors details, Available rooms and insurance facilities,
as well as employee details. It is very difficult to maintain historical data. Also regular
investments need to purchase stationary every year.
The following are the disadvantages of current system
       It is difficult to maintain important information in books
       More manual hours need to generate required reports
       It is tedious to manage historical data which needs much space to keep all the
        previous years ledgers, books etc
       Daily admissions of patients are to be entering into different books immediately   to
        avoid conflicts which are very difficult.

3.2 Proposed System

       Proposed system is a software application which avoids more manual hours that need
to spend in record keeping and generating reports. This application keeps the data in a
way which is available to all the users simultaneously. It is very easy to manage historical
data in database. No specific training is required for the employees to use this application.
They can easily use the tool that decreases manual hours spending for normal things and
hence increases the performance. As the data is centralized it is very easy to fix an
appointment of doctor with a patient immediately.

The following are the advantages of proposed system
       Easy to manage all the daily admissions of patients and appointments of doctors.
       Can generate required reports easily
       Easy to manage historical data in a secure manner
       Centralized database helps in avoiding conflicts
       Easy to use GUI that does not requires specific training.


         The systems development life cycle is a project management technique
that divides complex projects into smaller, more easily managed segments or
phases. Segmenting projects allows managers to verify the successful
completion of project phases before allocating resources to subsequent phases.
          Software development projects typically include initiation, planning, design,
development, testing, implementation, and maintenance phases. However, the phases
may be divided differently depending on the organization involved. For example,
initial project activities might be designated as request, requirements-definition, and
planning phases, or initiation, concept-development, and planning phases. End users
of the system under development should be involved in reviewing the output of each
phase to ensure the system is being built to delivered needed functionality


Initiation Phase
       The Initiation Phase begins when a business sponsor identifies a need or an
opportunity. The purpose of the Initiation Phase is to:
• Identify significant assumptions and constraints on solutions to that need of the
organization or a deficiency related to a business need
• Recommend the exploration of alternative concepts and methods to satisfy the
  need including questioning the need for technology, i.e., will a change in the
business process offer a solution
• Assure executive business and executive technical sponsorship.
       The Sponsor designates a Project Manager and the business need is
documented in a Concept Proposal. The Concept Proposal includes information about
the business process and the relationship to the Agency/Organization Infrastructure
and the Strategic Plan. A successful Concept Proposal results in a Project
Management Charter which outlines the authority of the project manager to begin
the project.
        Careful oversight is required to ensure projects support strategic business
objectives and resources are effectively implemented into an organization's enterprise
architecture. The initiation phase begins when an opportunity to add , improve, or
correct a system is identified and formally requested through the presentation of a
business case. The business case should, at a minimum, describe a proposal's
purpose, identify expected benefits, and explain how the proposed system supports
one of the organization's   business    strategies. The   business case should also
identify alternative solutions and detail as many informational, functional, and
network requirements as possible.

System Concept Development Phase
        The System Concept Development Phase begins after a business need or
opportunity is validated by the Agency/Organization Program Leadership and the
Agency/Organization CIO.

The Purpose of the System Concept Development Phase is to
   • Determine the feasibility and appropriateness of the alternatives.
   • Identify system interfaces.
   • Identify basic functional and data requirements to satisfy the business need.
   • Establish system boundaries, identify goals, objectives, critical success factors,
      and performance measures.
   • Evaluate costs and benefits of alternative approaches to satisfy the basic
      functional requirements
   • Assess project risks
   • Identify and initiate risk
       This phase explores potential technical solutions within the context of the
business need. It may include several trade-off decisions such as the decision to use
COTS software products as opposed to developing custom software or reusing
software components, or the decision to use an incremental delivery versus a
complete, one- time deployment. Construction of executable prototypes is encouraged
to evaluate technology to support the business process.
       The System Boundary Document serves as an important reference document to
support the Information Technology Project Request (ITPR) process. The ITPR must
be approved by the State CIO before the project can move forward.

Planning Phase
     The planning phase is the most critical step in completing development,
acquisition, and maintenance projects. Careful planning, particularly in the early
stages of a project, is necessary to coordinate activities and manage project risks
effectively. The depth and formality of project plans should be commensurate with
the characteristics and risks of a given project. Project plans refine the information
gathered during the initiation phase by further identifying the specific activities and
resources required to complete a project. A critical part of a project manager's job is
to coordinate discussions between user, audit, security, design, development, and
network personnel to identify and document as many functional, security, and network
requirements as possible.
       During this phase, a plan is developed that documents the approach to be used
and includes a discussion of methods, tools, tasks, resources, project schedules, and
user input. Personnel assignments, costs, project schedule, and target dates are
established. A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality assurance planning,
concept of operations, system security, verification and       validation, and systems
engineering management planning.
Requirements Analysis Phase
      This phase formally defines the detailed functional user requirements using
high-level requirements identified in the Initiation, System Concept, and Planning
phases. It also delineates the requirements in terms of data, system performance,
security, and maintainability requirements for the system. The requirements are
defined in this phase to a level of detail sufficient for systems design to proceed. They
need to be measurable, testable, and relate to the business need or opportunity
identified in the Initiation Phase. The requirements that will be used to determine
acceptance of the system are captured in the Test and Evaluation Master Plan.
The purposes of this phase are to
         Further define and refine the functional and data requirements and document
          them in the Requirements Document,
         Complete business process reengineering of the functions to be support
         Develop detailed data and process models (system inputs, outputs, and the
          process and develop the test and evaluation requirements that will be used to
          determine acceptable system performance.

Design Phase
      The design phase involves converting the informational, functional, and
network requirements identified during the initiation and planning phases into
unified design specifications that developers use to script programs during the
development phase. Program designs are constructed in various ways. Using a top-
down approach, designers first identify and link major program components and
interfaces, then expand design layouts as they identify and link smaller subsystems
and connections. Using a bottom-up approach, designers first identify and link minor
program components and interfaces, then expand design layouts as they identify and
link larger systems and connections.
    Contemporary design techniques often use prototyping tools that build mock-up
designs of items such as application screens, database layouts, and system
architectures. End users, designers, developers, database managers, and network
administrators should review and refine the prototyped designs in an iterative
process until they agree on an acceptable design. Audit, security, and quality
assurance personnel should be involved in the review and approval process.
     During this phase, the system is designed to satisfy the functional requirements
identified in the previous phase. Since problems in the design phase could be very
expensive to solve in the later stage of the software development, a variety of
elements are considered in the design to mitigate risk. These include:
    • Identifying potential risks and defining mitigating design features.
   • Performing a security risk assessment.
   • Developing a conversion plan to migrate current data to the new system.
   • Determining the operating environment.
   • Defining major subsystems and their inputs and outputs.
   • Allocating processes to resources.
   • Preparing detailed logic specifications for each software module.
    The result is a draft System Design Document which captures the preliminary
design for the system. Everything requiring user input or approval is documented and
reviewed by the user. Once these documents have been approved by the Agency CIO
and Business Sponsor, the final System Design Document is created to serve as the
Critical/Detailed Design for the system. This document receives a rigorous review
by Agency technical and functional representatives to ensure that it satisfies the
business requirement. Concurrent with the development of the system design, the
Agency Project Manager begins development of the Implementation Plan,
Operations and Maintenance Manual, and the Training Plan.

Development Phase
       The development phase involves converting design specifications into
executable programs. Effective development standards include requirements that
programmers Other project participants discuss design specifications before
programming begins.

       The procedures help ensure programmers clearly understand program designs
and functional requirements.       Programmers use various techniques to develop
computer programs. The large transaction-oriented           programs    associated   with
financial   institutions   have   traditionally   been    developed    using   procedural
programming techniques. Procedural programming involves the line-by-line scripting
of logical instructions that are combined to form a program. Effective completion of
the previous stages is a key factor in the success of the Development phase. The
Development phase consists of:
   • Translating the detailed requirements and design into system components.
   • Testing individual elements (units) for usability.
   • Preparing for integration and testing of the IT system.

Integration and Test Phase
    Subsystem integration, system, security, and user acceptance testing is conducted
during the integration and test phase. The user, with those responsible for quality
assurance, validates that the functional requirements, as defined in the functional
requirements document, are satisfied by the developed or modified system. OIT
Security staff assess the    system security and      issue a security certification    and
accreditation prior to   installation/implementation. Multiple levels of testing are
performed, including:
  • Testing at the development facility by the contractor and possibly supported by
        end users
  • Testing as a deployed system with end users working together with contract
   Operational testing by the end user alone performing all functions. Requirements
are traced throughout testing, a final Independent Verification & Validation
evaluation is performed and all documentation is reviewed and accepted prior to
acceptance of the system.

Implementation Phase
       This phase is initiated after the system has been tested and accepted by the user. In
this phase, the system is installed to support the intended business functions. System
performance is compared to performance objectives established during the planning
phase. Implementation includes user notification, usertraining,installationof hardware
, installation of software onto production computers, and integration of the system
into daily work processes. This phase continues until the system is operating in
production in accordance with the defined user requirements.

Operations and Maintenance Phase
        The system operation is ongoing. The system is monitored for continued
performance in accordance with user requirements and needed system modifications
are incorporated. Operations continue as long as the system can be effectively adapted
to respond to the organization's needs. When modifications or changes are identified,
the system may reenter the planning phase.
The purpose of this phase is to
  • Operate, maintain, and enhance the system.
   • Certify that the system can process sensitive information.
  • Determine when the system needs to be modernized, replaced or retired


The System after careful analysis has been identified to present with the following
           This module maintains all the information, which belongs to the employees who
are working with the Hospital. This module maintains the details all the four types of users.
This module separately maintains the information of different departments. This can be
maintaining Admin, Manager, Doctors, and Accountants. All the employees’ details are
recorded to database and can be viewed as a report.
       This module maintains all the information of doctors in the hospital. All the doctors’
details are recorded to database and can be viewed as a report that displays the schedules of
doctors. The admin user, manager, and doctor can view the details of all the doctors. Each
and every doctor can have their own personal identification numbers. Any one of the above
mentioned users can view the doctors details like, Identification number of the doctor,
name, date of joining in that hospital, personal contact number, doctor’s designation or
specialization, experience as a doctor, working days, holiday in that week, how much
money the doctor has been charging per hour or per day, these details are placed inside the
doctors list. This list is available only for the above mentioned doctors. The user wants the
details in sequencing order, he can just click on any of the field that is showing in the
doctor’s list then it will be automatically displayed in sorting order. If the user wants print
out of the doctor’s list then he can collect the print out just clicking on the print option that
is showing on the screen.

      This module deals with major and crucial part which includes information of patients
admitted either as inpatient or as outpatient This module provides interface to add the
Patients details and can be viewed as a report that displays all the information about the
inpatients and outpatients in the hospital. If the patient needs to join in the hospital as
inpatient, then the user just go through the option “Admission as” which is available in the
new patient’s admission form.
       If the user selects the patient as an inpatient then he should give the details of
insurance. It is working in any organization then he can directly claim the insurance,
otherwise he should give the details of any of his relatives details as a guardian. Then the
insurance claiming will be processed with the name of his guardian. All the users means
Admin, Manager, Doctor and Accountant can view the full details of all the users, which are
joined in the hospital, but only Admin User can add the patient’s details. The Patients
module displays all the details of the patient including Patient ID, Patient Name, contact no,
Occupation, Nature of Illness, admission date and discharge date all these details will be
      This module deals with major and crucial part that includes Appointments of doctors
that are either given to patients or to any charity etc. This module provides interface to add
the appointments of doctors and can be viewed as a report that displays all the appointments
given to patients and charities etc. Admin user, Doctor user and Manager user can view the
details of all the users. Only Admin and Manager can allot the new appointments for the
Whenever the user click on the field “view appointments”, it will display the doctor’s
details, either the doctor given the appointment to patient or charity these details it will be
displayed. The total appointments information will be placed inside the database.

        This module deals with major and crucial part that includes the details of available
rooms in the hospital for inpatients. This module provides interface to add the rooms and
can be viewed as a report that displays all the empty rooms and reserved rooms and it can
also shows the different types of rooms available in the hospital. Basically some categories
of rooms are available in the hospital. Whenever the patient admits in the hospital, the
admin user or the manager will fill the admission form of the patient. If the patient wants to
join as an inpatient then it will display availability of the rooms in some categories.
According to the availability, the patient can choose the room. Rooms description, Visiting
hours for the patient’s relatives this type of information will be displayed in the rooms list.
Only admin user and the manager can view details of all rooms, rooms availability
information, and they can allot the new rooms for the patients.


          This module deals with major and crucial part that includes discharges of inpatients
and updates the rooms’ status as empty after discharge of the patient. This module provides
interface to discharge a patient and can be viewed as a report that displays all the discharges
of patients done in the hospital. Every patients information will be placed inside the
database. When the time of discharge the concern user will check out the details of
corresponding patient. Whenever the user wants to check the patient’s details, the
discharges module will display the details like, date of joining, date of discharge, consultant
doctor, referred by doctor, and insurance claiming all these details will be displayed. All the
four types of users can view the details of the discharges in any time, but only admin user
can make the discharges. Any of the users can collect the information about the discharges.
          This module deals with major part which includes Insurances of patients which are
admitted as inpatients. This module provides interface to add the details of insured patients
and can be viewed as a report that displays all the details of inpatients who are insured. First
of all this module will checks whether the patient wants the insurance claiming or not. If the
wants the insurance claiming, then it will check the patient is working in any organization
or not. If the patient is working in any organization only the insurance claiming will
processed on the name of the patient, if at all he is not working in any organization, then he
should provide the details of any other working person in his family. Then that time only the
insurance processings will be transferred into his guardian’s account. The processing will be
b processed based on the patient’s bill details.

    This module is used to maintain the details of users of the project. Users are divided
   into four categories.
         Admin
         Doctors
         Managers
         Accountants
            All the four types of users details will be displayed in this module. Only the
   administrator can have wrights to add or delete the users from the users list. If at all the
   administrator wants to add one more user, then he can add. Remaining users can’t do
   this type works. All the admin user works, features all these information will be
   provided in this module. The works and features of the doctors, managers and

   accountants will be displayed in this module. All the four user’s can view the total
   reports in this application.

    This module used to provide reports required by the higher management. To generate
dynamic reports like Schedules of Doctors, information about the inpatients and outpatients,
Appointments of the doctors given to charities and patients, details of insured inpatients and
discharges of inpatients done in the hospital.
        The Reports module having the following information
              Doctors
              Appointments
              Discharges
              Inpatients
              Generate Bill
              Insurance
If at all the patient or other user’s wants to check the doctors list, then they can check out
the details of the doctors, his designation, experience using the Reporting module.


       The    Internet helped catapult Java to the forefront of programming, and Java, in
turn, has had a profound effect on the Internet. The reason for this is quite simple: Java
expands the universe of objects that can move about freely in the cyberspace. In a network,
two very broad categories of objects are transmitted between the server and our computer
passive information and dynamic, active programs.
       As desirable as dynamic, networked programs are, they also present serious
problems in the areas of security and portability. Java achieves this security or protection by
confining a Java program to the Java execution environment and not allowing it to access to
other parts of the computer. Many types of the computers and operating systems are in use
throughout the world and many are connected to the Internet. For programs to be
dynamically download to all the various types of platforms connected to the Internet, some
means of generating portable executable code is needed.
     Java was designed to be easy for the professional programmers to learn and use
efficiently. The object model of Java is simple and easy to extend, while simple types, such
as integers are kept as high-performance non-objects.
     BSNL System is implemented using the Java language so as to make the programmers
   and different users at different levels can make use of this system very affectively.
     The multiplatformed environment of the web places extraordinarily           demands on a
program, because the program must execute reliably in a variety of systems. Thus, the
ability to create robust programs was given a high priority in the design of Java. At the same
time, Java frees us from having to worry about many of the most common cause of
programming errors. Because Java is strictly typed language, it checks our code at the
compile time and also at run-time.
     Java    was   designed    to    meet   the    real   world   requirements    of   creating
interactive,Networked programs. Java supports multithreaded programming, which allows
us to write programs that do many things simultaneously. A central issue for the Java
designers was that of code longevity and portability. Their goal was “write once; run
anywhere, any time , forever “.
       Java enables the creation of the cross-platform programs by compiling into
intermediate representation called Javabytecode. This code can be interpreted on any system
that provides a java virtual machine. Java is designed for the distributed environment of the

Internet, because it handles TCP/IP protocols. In fact, accessing a resource using a URL is
not much different from accessing a file. The original version of Java (OAK) included
features for intra-address-space messaging. Java programs carry with them substantial
amounts of the run-time type information that is used to verify and resolve accesses to
objects at run-time. This makes it possible to dynamically link code in a safe and expedient
       Technologically, the Internet is network of computers. Not just a few special
Computers, but over nine million of all kinds of computers. Similarly it is not just a
network, but a network of networks hence the name and using TCP/IP (transmission control
protocol and internet protocol).
       Internet is the name for a vast, worldwide system consisting of people, information
and computers. Internet is global communication system of diverse, INTER connected
computer NETWORK for the exchange of information of virtually every conceivable topic
known to man.
      Internet is not just one thing. It is a lot of things to lot of people. In today’s world it is
one of the most important commodity of life. The Internet is more important in what it
enables than what it is, more of a phenomenon than fact.
     The classical definition of Intranet is the application of the Internet technologies to the
internal business applications media most refer to the Intranet in terms of applying web
technologies to information systems in the organization.


          JDBC (Java Database connectivity) is a front-end tool for connecting to a server to
ODBC in that respect, however JDBC can connect only java client and it uses ODBC for
the connectivity. JDBC is essentially a low-level API since any data manipulation, storage
and retrieval has to be done by the program itself. Some tools, which provide a higher-level
abstraction, are expected shortly.
       The next question that needs to be answered is why we need JDBC, once we have
ODBC on hand. We can use the same ODBC to connect the entire database and ODBC is a
proven technology.

       Problem for doing this is ODBC gives a ‘c’ language API, which uses pointers
extensively. Since java does not have any pointes and is object-oriented sun Microsystems,
inventor of java developed to suit its needs.

Requirements to use JDBC:
        To use JDBC you need a basic knowledge of databases and SQL.A part from this
you need the jdk1.1 (Java Development Kit1.1 available javasoft’s website) or a version of
Java since jdk1.1 and above come bundled with JDBC software.
       After that you need to have a back-end database engine for which a JDBC driver is
available. When JDBC drivers are not available JDBC-ODBC bridge drivers are used to
access the database through ODBC. Back-end is not needed when JDBC driver is capable of
storing and retrieving the data itself, or if JDBC-ODBC Bridge and the ODBC driver can be
used to store and retrieve the information.
       It is a java data base connectivity having database as a back-end of java as front end.
Database is a collectivity of related data. A data base management system (DBMS) controls
the storage or retrieval of data in the database. The main use of this JDBC is the database
       Using drivers we can get connection to the back-end:
      which drive we are going to connect back-end.
      create a data source name (dsn).
      .create a statement for connection.
      The package we use here is import java. Sql. *
       Interfaces of jdbc include driver, connection, and statement; prepare statement,
callable statement, Result Set, Result Set Meta data. Classes of JDBC are driver manages,
driver property information, date, time, and timestamp, type. The driver defined by the
classJdbc odbc driver in package sun.jdbc.odbc. Class sun.jdbc.odbc.jdbc odbc driver
represents the jdbc to odbc bridge driver
JDBC Driver Types
The JDBC drivers that we are aware of at this time fit into one of four categories:

       The java soft bridge product provides JDBC access via ODBC drivers. Note that
ODBC binary code end in many cases database client code must be loaded on each client
machine that uses this driver. As a result, this kind of driver is most appropriate on a

corporate network where client installations are not major problem, or for application server
code written in java in a 3-tier architecture
       This kind of driver converts JDBC calls into calls on the client API for oracle
Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver
requires that some binary code be loaded on each client machine.

       This driver translates JDBC calls into a DBMS independent net protocol, which is
then translated, to a DBMS protocol by a server. This net server middle-ware is able to
connect its all java clients to many different databases. The Specific protocol used depends
on the vendor. In general, this most flexible JDBC alternative. It is likely that all vendors of
this solution will provide products suitable for intranet use. In order for these products to
also support Internet access, they must handle the additional requirements for security,
access through firewalls, etc that the web imposes. Several vendors are adding JDBC
drivers to their existing database middleware products.

      This kind of driver converts JDBC calls into the network protocol used by DBMS
directory. This allows a direct call from the client machine to the DBMS server that is
practical solution for intranet access. Since many of these protocols are proprietary, the
database vendors themselves will be the primary source. Several database vendors have
these in progress. Eventually, we expect that driver categories 3 and 4 will be the preferred
way to access databases from JDBC. Driver categories one and two are interim solutions
where direct all java drivers are not yet available. Category 4 is in some sense the ideal;
however, there are many cases where category 3 may be preferable: eg: -where a thin
DBMS-independent client is desired, or if a DBMS –independent protocol is standardized
and implemented directly by many DBMS vendors.

   Servlet is server side applet. It contains several advantages. They are:
    Performance is significantly better. Servlets execute within the address space of the
       web server. Creating a separate process to handle each client request isn’t necessary.
    Servlets are platform-independent, because they are written in Java. Several web
       servers, from vendors such as sun, Netscape, and Microsoft, offer the servlet API
    Programs developed for this API can be moved to any of these environments without
    The java security manager on the server enforces a set of restrictions to protect the
       resources on a server machine.
    The full functionality of the Java class libraries is available to a servlet. It can
       communicate with applets, databases, or other software via the sockets and RMI
   The Lifecycle of a servlet
      Three methods are central to the lifecycle of a servlet: init (), service( ), and
   destroy(). First, assume that a user enters a Uniform Resource Locator (URL) to the web
   browser. The web browser then generates an HTTP request for this URL and sends it to
   the appropriate server. Second the web server receives this HTTP request. The server
   maps this request to particular servlet. The servlet is dynamically retrieved and loaded
   into the address space of the server. Third, the server invokes the init( )method of the
   servlet. This method is invoked only when the servlet is first loaded into the memory.
   Fourth, the server invokes the servlet service( ) method , which is called to process the
   HTTP request. The service( ) method is called for each HTTP request. Two packages
   are required to build the servlet they are javax.servlet and javax.servlet.http. They
   constitute of servlet API. ServletRequest interface is used to read the data from a
   client0request and servletResponse is used to write data to the client response. The
   javax.srevlet.http package include interfaces like HttpServletRequest which enables
   servlets to read data from HTTP request and HttpServletResponse which enables
   servlets to write data from HTTP response.

Overview of Servlets
      Servlets provides a Java-Based solution used to address the problems currently
associated with doing server side programming, including inextensible scripting solutions,
platform specific APIs, and incomplete interfaces. Servlets are objects conform to a specific
interface that can be plugged into a Java-based server. Servlets are to the server-side what
applets are to the client-side-object byte codes that can be dynamically loaded off the net.
They differ from applets in that they are faceless objects (without graphics or a GUI
component). They serve as platform independent, dynamically loadable, plug gable helper
byte code objects on the server side that can be used to dynamically extend server-side
       For example, an HTTP servlet can be used to generate dynamic HTML content. When
you use servlets to do dynamic content you get the following advantages:
       They’re faster and cleaner than CGI scripts.
       They use a standard API (the Servlet API)
       They provide all the advantages of Java (run on a variety of servers without needing
        to be rewritten)
       The attractions of Servlets
       There are many features of servlets that make them easy and attractive to use. These
       Easily configured using the GUI-based Admin Tool.
       Can be loaded and invoked from a local disk or remotely across the network.
       Can be linked together, or chained, so that one servlet can call another servlets, or
        several servlets in sequence.
       Can be called dynamically from within HTML pages, using server-side include tags

Invoking the servlet
         To invoke a servlet you call it by creating a URL with “/servlet/” pretended to the
servlet name. Then enter this URL in your favorite browser to see the output of the Servlet.

       After installing according to the directions above, access the HelloServlet by entering
the following URL in your favorite browser:

Internal Servlets
        The Java Server servlet architecture is very flexible and the server takes advantage of
this by dividing up its work among several internal servlets.
They are
       File Servlet
       Invoker Servlet
       Server side include servlet
       Admin Servlet
       CGI Servlet
       Image map servlet

File Servlet
        The file servlet provides the standard document serving capabilities of java server.
This servlet includes a caching mechanism to speed up response times of frequently
accesses files. In addition it recognizes files that are to be parsed for server side includes
and passes them on to the SSInclude Servlet.
        Servlets are an effective substitute for CGI scripts and provide a faster and cleaner
way to generate dynamic documents.
        The java server is both flexible and extensible. Using the java server APIs you can
your own servlet and incorporate it into the server. To do this follows these three steps
1. Write the servlet
2. Configure the servlet
3. Invoke the servlet

Writing the Servlet
        Unless they are used with the http protocol, servlets subclass the servlet.
GenericServlet class and override the service (Servlet Request, ServletResponse) method.
        Servlets use with the HTTP protocol should subclass the javax.servlet.HttpServlet
class override one or both of the doGet (HttpServletRequest, HttpServletResponse) and
doPost (HttpServletRequest, HttpServletResponse) methods
        Servlets class may choose to override the default implementations of the servlet
“lifecycle” servlet methods, init (ServletConfig) and destroy ().

Configuring the Server
        The real beauty of the java server is that it is extensible. But, before you can use a
Servlet to add an extended functionality to the JavaServer.You have to use the Java Server
administration applet to install the Servlet and specify the default parameters and
        Display the Administration Applet by connecting to:
Are secure-even when downloading across the network, the servlets security model and the
Servlet sandbox to protect your system from unfriendly behavior.
The advantage of the Servlet API
      One of the great advantages of the Servlet API is protocol independence. It assumes
       nothing about:
      The protocol being used to transmit on the net.
      How it is loaded.
      The server environment it will be running in.
      These qualities are important, because it allows the Servlet API to be embedded in
      Many different kinds of Servers.
      There are other advantages to the servlet API as well.

Servlet Features
The Java Server provides several important Servlet features. These include:
      Loading & Invoking Servlets.
      Servlets can be loaded both locally and remotely.
      Filters and Servlets change.
      The Java Server uses MIME types to call Servlets sequentially.

Server size includes
      Servlets can be invoked from dynamic HTML documents using Server side include
      Replacing the CGI Scripts.

   HTML
         The hypertext markup language (HTML) is a simple markup language. Used to
create a hypertext documents that are portable from one platform to another HTML
documents are SGML (Standard generalized mark up language) documents with generic
semantics that are appropriate for representing information from a wide range of
applications. This specification defines HTML version 3.2. HTML 3.2 aims to capture
recommended practice as of early ’96 and as such a replacement for HTML2.0 (RFC 1866).
        A set of instructions embedded in a document is called mark up language. These
instructions describe what the document text means and how it should look like in a display.

Hyper Text Mark Up language (HTML) is the language used to encode World Wide Web

     Website is a collection of pages, publications, and documents that reside on web
          While these pages publications and a document as a formatted in a single format,
you should use HTML for home page and all primary pages in the site. This will enable the
millions of web users can easily access and to take advantage of your website.
          HTML is considered first for formatting any new material you plan to publish on the
web. HTML documents are platform independent, meaning that they don’t confirm to any
standard. If they are created properly you can move home page to any server platform or
you can access them with any complaint www browser.

      HTML elements perform a defined task. HTML uses two types of elements
               Empty Tags
               Container Tags
          These tags differ because of what they represent. Empty tags represent formatting
constricts such as line breaks and horizontal rules. Container tags define a section of text,
formats and dot all of the selected text. A container tag has both a beginning and an ending.

          An HTML document consists of text, which comprises the content of the document
and tags, which, defines the structure, and appearance of the document. The structure of an
HTML document is simple, consists of outer.
<HTML>tag enclosing the document header and body
   <TITLE>the title of HTML document</TITLE>
This is where the actual HTML documents
Text lies, which is displayed in the browser
              Each document has a head and body delimited by the <HEAD> and <BODY>
tag. The head is where you give your HTML document a title and where you indicate other
parameters the browser may use when displaying the document. This includes the text for
displaying the text. Tag also references special and indicates the hot spots that link your
document to other documents.

       Creating a form usually involves two independent steps: Creating the layout for the
form itself and then writing a script program on the server side to process the formation you
get back from a form.
         To create a form, You use the <FORM> tag. Inside the opening and closing FORM
tags are each of the individual form elements plus any other HTML content to create a
layout for that form.
         The opening tag of the FORM element usually includes the attributes: METHOD
and ACTION. The METHOD attributes can be either GET or POST which determines how
your form data is sent to the script to process it.
         The ACTION attribute is a pointer to the script that processes the form on the
server side. The ACTION can be included by a relative path or by a full URL to a script on
your server or somewhere else. For example, the following <FORM> tag would call a script
called form-name in cgi-bin directory on server
<FORM Method= post action=>

          The other required attribute for the <form> tag sets the methods by which the
browser form’s data to the server for processing. There are two ways: the POST method and
GET method. With POST method, the browser sends the data in two steps: the browser first
contacts the form-processing server specified in the action attributes, and once contact is
made, sends the data.
          The GET method in the other hand, contacts the form processing server and sends
the form data in a single transaction step: the browser appends the data to the form’s action
URL, separated by the question mark (?) character.


       Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank
and Mike Sheridan at SUN Microsystems Incorporation in the year 1991.It took 18 months
to develop the 1st working version. This language was initially called “OAK”, but was
renamed “JAVA” in 1995, many more contributed to the design and evolution of the

       Java is a powerful but lean object-oriented programming language. It has generated
a lot of excitement because it makes it possible to program for Internet by creating Applets.
Programs that can be embedded in web page. The context of an applet can be an animation
with sound, an interactive game or a ticker tape. With constantly updated stock prices.
Applets can be just little decorations to liven up web page, or they can be serious
applications like Word processor or Spreadsheet.
             But Java is more than a programming language for writing Applets. It is being
used more and more for writing standalone applications as well. It is becoming so popular
that many people believe it will become standard language for both general purpose and
Internet programming.
            Here are many buzzwords associated with Java, but because of its spectacular
growth in popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are
that it will soon be everywhere.
         Java builds on the strength of C++. It has taken the best features of C++ and
discarded the more problematic and error prone parts. To this lean core, it has added
garbage collection (automatic memory management), multithreading (the capacity for one
program to do more than one thing at a time), security capabilities. This result is that Java is
simple, elegant, and powerful and easy-to-use.
         Java is actually a platform consisting of 3 components:
      Java Programming Language.
      Java Library of Classes and Interfaces.
      Java Virtual Machine
The following sections will say more about these components.

        One of the biggest advantages Java offers is that it is portable. An application
written in Java will run on all the major platforms. Any computer with a Java-based browser
can run the applications or Applets written in the Java-Programming-Language. A
programmer no longer
has to write one program to run on a Macintosh, another program to run on a Windows-
machine still another to run on a UNIX-machine and so on. In other words, with Java
developers write their programs only once.
        The Virtual Machine is what gives Java is cross platform capabilities. Rather being
compiled into machine language, which is different for each OS’s and computer
architecture, Java code is compiled into Byte codes.
        With other languages, the program code is compiled into a language that the
computer can understand. The problem is that other computers with different machine
instruction set cannot understand that language. Java code on the other hand is compiled
into Byte-Code rather than a machine language. These byte codes go to the JVM, which
executes them directly or translates them into the language that is understood by the
machine running it.In summary, these means that with the JDBC API extending Java, a
programmer writing Java code can access all the major RDBMS on any platform that
supports the JVM.
         The Java programming language is OBJECT-ORIENTED, which makes program
design focus on what you are dealing with, rather than on how your are going to do
something. This makes it more useful for programming in sophisticated projects, because
one can break the things into understandable components. A big benefit is that these
components can then be reused.
        Object-Oriented Languages use the paradigm of classes. In simplest term, a class
includes both the data and the functions to operate on data. You can create an instance of a
class, also called an object, which will have all the data members and functionality of its
class. Because of this, you can think of a class as being like template, with each object being
a specific instance of a particular type of class.
        The class paradigm allows one to encapsulate data so that specific data values are
those using the data cannot see the function implementation. Encapsulation makes it
possible to make the changes in code without breaking other programs that use that code.

        If for example, the implementation of a function is changed, the change is invisible
to any programmer who invokes that function, and does not affect his/her program, except
hopefully to improve it.
        Java includes inheritance, or the ability to derive new classes from existing classes.
The derived class, is also called as Sub-Class, inherits all the data in the functions of the
existing class.
        To code, edit, debug and test the java programs, one needs to have a java
development environment. At the minimum this will consists of a java compiler interpreter
and applet viewer where applets can be tested.
        Sun’s java development kit (JDK) latest version is 2.2 can be freely downloaded
from the Internet.
Java compiler is available on DOS, Win95, WIN’NT, Solaris and MAC etc.

        JavaScript is a new scripting language for WebPages. Scripts written with java script
can be embedded into your HTML pages. With java script you have many possibilities for
enhancing your HTML page with interesting elements.           For example you are able to
respond to user-initiated events quite easily. Some effects that are now possible with java
script were some time ago only possible with CGI. So you can create really sophisticated
pages with the helps of java script on the Internet.

How can Java Script scripts run
        The first browser to support java script was the Netscape Navigator 2.0 of course the
higher versions do have java script as well. You might know that java does not run on all
Netscape Navigators 2.0 (or higher versions) versions. But this is not true for java script -
although there are some problems with the different versions.
       The Mac version for example seems to have many bugs. In the near future there are
going to be some other browsers, which support java script.          The Microsoft Internet
explorer 3.0 is going to support java script. JavaScript enabled browsers are going to spread
soon - it is worth learning this new technique now. You might realize that is really easy to
write Java
Script scripts. We have to know is some basic techniques and some work-around for
problems you might encounter. Of course we need a basic. Understanding HTML before
reading this tutorial you can find many really good online resources about HTML. Best you
make an online search about ‘html’ at yahoo if you want to get informed about HTML.
Now I want to show some small scripts so you can learn how they are implemented into
HTML-documents and to show which possibilities you have with the new scripting
language. The following is a very small script, which will only print a text into an HTML
          My first JavaScript
        <body> <br>
                 This is a normal HTML document
          <script language=”JavaScript”>
          Document.write (“this is a java script”)

          Backing HTML again
          If you are using a java script enabled-browser at the moment then you will have the
possibility to see this script working. If your browser doesn’t support Java Script then this
output might be some kind of strange…
This is a normal HTML document
This is java script!
Back in HTML again.

       Functions are bet declared between the <Head> tag of HTML page. Functions are
called by user-initiated events. Seems reasonable to keep the functions between the <Head>
tags. They are loaded first before a user can do anything that might call a function. Scripts
can be placed between inside comment fields to ensure that older browser do not display the
script itself.

          <script language=”JavaScript”>
          function pushbutton (){
          alert (“Hello!”);
       <input type=”button” name=”Button1” value=”push me” onclick=”pushbutton ()”>
       If we want to test this one immediately and you are using a Java Script enabled
browser then please go ahead and push the button. This script will create a button and when
you press it a window will pop up saying “hello!”. In fact we have a lot of possibilities just
by adding functions to our scripts.
      The common browsers transmit the form information by either method: here’s the
complete tag including the GET transmission method attribute for the previous form
<Form method =GET action=>

Input elements
       Use the <input> tag to define any one of a number of common form elements
including text fields multiple choice lists click able images and submission buttons. There
are many attributers for this tag only that types and name attributes are required for each
element, each type of input element uses only a subset of the followed attributes.
Additional <input> attributes may be required based upon which type of the form element
you specify.

Submit button
     The submit button (<input type=submit> ) does what its name implies, settings in
motion the form’s submission to the server from the browser. We many have more than
submit buttons will be added to the parameter list the browser sends along to the server.

< Input type =”submit”>
<Input type=”submit” value=”submit” name=”name”>

Reset button
        The reset button if firm <input> button is nearly self- explanatory; it lets the user
reset erase or set to some default value all elements in the form. By default the browser
displays a reset button worth the label “reset”. We can change that by specifying a value
attribute with tour own button label.

            JDBC and accessing the database through applets and JDBC API via an
server resulted server resulted in a new type of database model which is different from the
client-server model. Based on number of intermediate server through the request should go
it is named as single tier, two tire and multi tier architecture

Single Tier
        In a single tier the server and client are the same in the sense that a client program
that needs information (client) and the source of this type of architecture is also possible in
java, in case flat files are used to store the data. However this is useful only in case of small
applications. The advantage with this is the simplicity and portability of the application

Two Tier (client-server)
      In two tier architecture the database resides in one machine and client in different
machine they are connected through the network. In this type of architecture a database
management takes control of the database and provides access to clients in a network. This
software bundle is also called as the server. Software in different machines, requesting for
information are called as the clients.

Three Tier and N-Tier
          In the three-tier architecture, any number servers can access the database that
resides on server. Which in turn serve clients in a network. For example, you want to access
the database using java applets, the applet running in some other machine, can send request
only to the server from which it is down loaded. For this reason we will need to have a
intermediate server which will accept the requests from applets and them to the actual
database server. This intermediate server acts as a two-way communication channel also.
This is the information or data from the database is passed on to the applet that is requesting
it. This can be extended to make n tiers of servers, each server carrying to specific type of
request from clients, however in practice only 3 tiers architecture is popular.

Database Tables
The total number of database tables that were identified to build the system is 8. The major
part of the Database is categorized as
     1. Transactional components
            The Transactional components are useful in recording the transactions made by
    the system. All the Discharges, Insurances, Appointments etc information handled by
    these components
    2. Data Dictionary components
           These components are used to store the major information like Employee details,
    Doctors details, Patients details, Rooms information etc.
    3. General components
           These components are used to store the general information like login information

                            5. SOFTWARE DESIGN

        The most creative and challenging phase of the life cycle is system design. The
term design describes a final system and the process by which it is developed. It refers to
the technical specifications that will be applied in implementations the candidate system.
The design may be defined as “the process of applying various techniques and principles for
the purpose of defining a device, a process or a system in sufficient details to permit its
physical realization”.
       The designer’s goal is how the output is to be produced and in what format samples
of the output and input are also presented. Second input data and database files have to be
designed to meet the requirements of the proposed output. The processing phases are
handled through the program Construction and Testing.                Finally, details related to
justification of the system and an estimate of the impact of the candidate system on the user
and the organization are documented and evaluated by management as a step toward
     The importance of software design can be stated in a single word “Quality”. Design
provides us with representations of software that can be assessed for quality. Design is the
only way that we can accurately translate a customer’s requirements into a finished software
product or system without design we risk building an unstable system, that might fail it
small changes are made or may be difficult to test, or one who’s quality can’t be tested. So
it is an essential phase in the development of a software product.

       The major functionality of this product is divided into four categories
           1. Administrative User Functions.
           2. Doctors Functions.
           3. Mangers Functions.
           4. Accountants Functions.

         In this application each and every user must having their own User ID and
Password, using these User ID and Password only they can directly enter into their
corresponding Login forms. After enter into their Login forms each user will interact with

the following functionalities. But according to their responsibilities only they will use the
above functionalities.

1.Administrative User Functions
        In this functionality the administrator will do his own responsibilities. Whenever he
needs to change the Password, then he can directly change it. If any reason he needs to add
a new user he can directly add. He can view how many doctors has already existed in
hospital, their details means how much money they have to charge per hour, the doctor’s
designation, Working hours, and their experience all these details he can view. If the admin
user can add a new doctor in hospital. The admin user can view the details of all the patients
already existed, their nature of illness, guardian’s details, either he has admitted as an
inpatient or outpatient all these details he can view and he can directly add a patient. The
admin user can provide the appointments for the patients or charities. For patients, which
doctor they have to prefer, his charges, working hours, all these details he can provide to
patients. He can view the appointment details of all the doctors. He can view the details of
all types of rooms and he can allot the new rooms for the Inpatients. The admin user can
view the details of all the patient’s discharges and he can make the discharges. He can view
the details of all the insurance claims and he can add a new insurance claim. The admin user
can view the details of all the users and he can add a new user. He can view or generate all
the management reports.

2.Doctors Functions
     In this function, the Doctor can enter into his functionality using his own User ID and
Password. After entering into his functionality, whenever he needs to change his password
then he can directly change it. The Doctor can view the details of all the doctors available in
hospital, but he can’t add the doctors. In the same way he can view the details of all the
patients but he can’t add the patients details in the register. The Doctor user can allot the
appointments for his own and he can view the details of all the doctor’s appointments and
his personal appointments. He can view the details of all types of rooms available in the
hospital. He can view the details of discharges. He can view the details of insurance claims.

3.Managers Functions
   In this function, the Manager can enter into his functionality using his own User ID and
Password. After entering into his functionality, whenever he needs to change his password
then he can directly change it. The Manager can view the details of all the users, means how

much money they have to charge per hour, their experience, working hours all these details
he can view and if any reason he needs another doctor to work in the hospital he can add the
new doctor. He can view the details of all the patients. He can monitor the appointment
details of all the doctors. He can allot the rooms for the patients and he can view the details
of all types of rooms. The Manager can view the details of patient discharges. He can view
the details of all insurance claims. He can view or generate all types of reports.

4.Accountants Function
       In this function, the Accountants can enter into his functionality using his own User
ID and Password. After entering into his functionality, whenever he needs to change his
password then he can directly change it He can view the details of all the patients. He can
view the details of patient discharges. He can view the details of all the insurance claims
and he can make the insurance claims for the patients. He can view all type management

           Notations enable us to articulate complex ideas succinctly and precisely. For a
notation, to enable accurate communication, it must come with a well-defined semantics, it
must be well suited for representing a given aspect of a system and it must be well
understood among       project participants. UML (Unified Modeling Language) provides a
spectrum of notations for presenting different aspects of a system and has been accepted as
a standard notation.

Brief History
           UML stands for Unified Modeling Language, a modeling language conceived by
the Rational Software Corporation and Grady Booch, James Rumbaugh and Ivar
Jacobson.UML is simple, extensible and a very expressive visual modeling language. UML
is mainly used to model software-intensive systems but is expensive enough to
comprehensively model non-
software systems. UML can be used to visualize, specify, construct and document the
software system being developed. The Object Management Group (OMG) has adopted
UML as the standard modeling language.

       UML is a notation resulted from the unification of OMT (Object Modelling
Technique) and OOSE (Object Oriented Software Engineering) and provides constructs for
a broad range of systems and activities. (Analysis and system design). System development
focuses on three different models of the system.
UML Diagrams are following below.
   1. Use Case Diagrams
   2. Class Diagrams.
   3. Sequence Diagrams.

Use Case Diagrams
      Use Case diagrams identify the functionality provided by the system (use cases), the
users who interact with the system (actors), and the association between the users and the
functionality. Use Cases are used in the Analysis phase of software development to
articulate the high-level requirements of the system. The primary goals of Use Case
diagrams include:
          Providing a high-level view of what the system does
          Identifying the users ("actors") of the system
          Determining areas needing human-computer interface


                  Figure 5.1

Class Diagrams
       Class diagrams identify the class structure of a system, including the properties and
methods of each class. Also depicted are the various relationships that can exist between
classes, such as an inheritance relationship. The Class diagram is one of the most widely
used diagrams from the UML specification. Part of the popularity of Class diagrams stems
from the fact that many CASE tools, such as Rational XDE, will auto-generate code in a
variety of languages, including Java, C++, and C#, from these models. These tools can
synchronize models and code, reducing your workload, and can also generate Class
diagrams from object-oriented code, for those "code-then-design" maintenance projects.
There are four kinds of relationships in the UML.These relationships are the basic relational
building blocks of the UML. You use them to write well-formed models.

       First, a dependency is a semantic relationship between two things in which a change
to one thing (the independent thing) may affect the semantics of the other thing (the
dependent thing). Graphically, a dependency is rendered as a dashed line, possibly directed,
and occasionally including a label.

       Second, an association is a structural relationship that describes a set of links, a link
being a connection among objects. Aggregation is a special kind of association, representing
a structural relationship between a whole and its parts. Graphically, an association is
rendered as a solid line, possibly directed, occasionally including a label, and often
containing other adornments, such as multiplicity and role names

       Third, a generalization is a specialization/generalization relationship in which
objects of the specialized element (the child) are substitutable for objects of the generalized
element (the parent). In this way, the child shares the structure and the behavior of the
parent. Graphically, a generalization relationship is rendered as a solid line with a hollow
arrowhead pointing to the parent.

       Fourth, a realization is a semantic relationship between classifiers, wherein one
classifier specifies a contract that another classifier guarantees to carry out. You'll encounter
realization relationships in two places: between interfaces and the classes or components
that realize them, and between use cases and the collaborations that realize them.




                         Figure 5.3


                       Figure 5.4

Sequence Diagrams

         Sequence diagram is an interaction diagram which focuses on the time ordering of
messages it shows a set of objects and messages exchange between these objects. This
diagram illustrates the dynamic view of a system A sequence diagram represents the
sequence and the interactions of given case or scenario. A sequence diagram shows an
interaction arranged in a time sequence. It shows the objects participating in the interaction
by their life times and messages they exchange, arranged in a time sequence.

       A sequence diagram has two dimensions: the vertical dimension represents time; the
horizontal dimension represents different objects. The vertical line is called the object's
lifeline. The lifeline represents the object's existence during the interaction. An object is
shown as box at the top of a dashed vertical line. A role is a slot for an object with in a
collaboration that describes the type of object that may play the role and its relationships to
other roles. Each message is represented by an arrow between lifetimes of two objects.
The order in which these message is occur is shown top to bottom on the page. Each
message is labeled with message name
       A class diagram shows a set of classes, interfaces, and collaborations and their
relationships. These diagrams are the most common diagram found in modeling object-
oriented systems. Class diagrams address the static design view of a system. Class diagrams
that include active classes address the static process view of a system.
       An object diagram shows a set of objects and their relationships. Object diagrams
represent static snapshots of instances of the things found in class diagrams. These diagrams
address the static design view or static process view of a system as do class diagrams, but
from the perspective of real or prototypical cases.
       A component diagram shows the organizations and dependencies among a set of
components. Component diagrams address the static implementation view of a system.
They are related to class diagrams in that a component typically maps to one or more
classes, interfaces, or collaborations.
       This is not a closed list of diagrams. Tools may use the UML to provide other kinds
of diagrams, although these nine are by far the most common you will encounter in practice


                                  FOR USERS AND DOCTORS SCENARIO

   LOGIN               VALIDATE          ADMIN HOME     ADD USERS             VIEW USERS             DELETE           DOCTORS        VIEW             ADD           REPORTS         LOGOUT
                                                                                                     USERS                          DOCTORS         DOCTORS

       username & password

                                  if valid
                                              adding the users

                                                      viewing the users

                                                                 deleting the users

                                                                        selecting the doctors

                                                                                       viewing doctors

                                                                                                   adding doctors

                                                                                                          generating reports

                                                                                                                      logging out


                                                                                        return to login page

                                                                              Figure 5.5


                          FOR USERS AND DOCTORS SCENARIO

                                    2: invalid                                                       5: processing

             1: username & password               3: if valid                 4: adding the users
       LOGIN                        VALIDA                        ADMIN                                  ADD
                                      TE                          HOME                                  USERS

                                                                10: selecting the doctors
                                                                                  11: viewing doctors

                                                                                                    12: processing
                                        8: deleting the users
                  9: processing
                              6: viewing the users
  7: processing                                                     DOCTO
                                                         15: generating reports 17: logging out
                    DELETE                13: adding page
                                   19: return to logindoctors

                                                   16: processing                    18: processing
                  14: processing

                                                        REPOR                            LOGOU
                      ADD                                                                  T
                    DOCTORS                               TS

                                          Figure 5.6


                                    FOR PATIENTS AND APPOINTMENTS SCENARIO

   LOGIN        VALIDATE            ADMIN HOME       PATIENT           ADD PATIENT VIEW PATIENT APOINTMENT             ADD       VIEW            LOGOUT
                                                                                                                    APOINTMENT APONITMENT

    username & password

                              if valid
                                          select patients

                                                  add the patients

                                                            view the patients

                                                                     select appointments

                                                                                add appointments

                                                                                        view appointments

                                                                                                      logging out

                                                                                return loginpage

                                                              Figure 5.7



                                     2: invalid

            1: username & password                3: if valid           4: select patients
      LOGIN                          VALIDA                     ADMIN                    PATIEN
                                       TE                       HOME                       T

  6: processing
                                                                            10: add appointments
                               5: add the patients              9: select appointments
                  8: processing                                                          11: processing
                                       7: view the patients

    PATIENT                 12: view appointments                              14: logging out

                     VIEW                                                                       ADD
                                     16: return loginpage           APOINT
                    PATIENT                                                                  APOINTMENT

                               13: procesing                                            15: processing

                                 VIEW                                                        LOGOU
                               APONITMENT                                                      T

                                        Figure 5.7


            The logical characteristics of current systems data stores, including name,
description, aliases, contents, and organization. Identifies processes where the data are used
and where immediate access to information needed.Serves as the basis for identifying
database requirements during system design.

Uses of Data Dictionary

      To manage the detail in large systems
      To communicate a common meaning for all system elements
      To Document the features of the system
      To facilitate analysis of the details in order to evaluate characteristics and determine
       where system changes should be made.
      To locate errors and omissions in the systems


        Field Name                          Data Type                  Size
        APPOINTMENT ID                      INT                        11
        DOCTOR NAME                         VARCHAR                    50
        DOCTOR ID                           INT                        10
        DESIGNATION                         VARCHAR                    50
        APPOINTMENT GIVEN TO                VARCHAR                    50
        PATIENT ID                          INT                        10
        NAME OF PATIENT                     VARCHAR                    50
        NAME OF CHARITY                     VARCHAR                    50
        DATE OF APPOINTMENT                 DATE
        NO OF HOURS                         INT                        10

                                        Table 5.1


 Field Name                   Data Type   Size
 BILL ID                      INT         20
 NAME OF PATIENT              VARCHAR     100
 ADMISSION FEE                FLOAT
 ROOM ID                      INT         50
 ROOM RENT                    FLOAT
 REFERED BY DOCTOR            VARCHAR     200
 DOCTOR FEE                   FLOAT
 TOTAL CHARGE                 FLOAT

                              Table 5.2


  Field Name                  Data Type   Size
  NAME OF PATIENT             VARCHAR     50
  PATIENT ID                  INT         10
  AGE                         INT         10
  SEX                         VARCHAR     10
  OCCUPATION                  VARCHAR     50
  NATURE OF ILLNESS           VARCHAR     50
  ROOM ID                     INT         10
  REFERED BY DOCTOR           VARCHAR     50
  INSURANCE                   VARCHAR     50
  BILL AMOUNT                 FLOAT

                              Table 5.3


Field Name          Data Type         Size
DOCTOR NAME         VARCHAR           50
DOCTOR ID           INT               10
DESIGNATION         VARCHAR           50
PHONE NUMBER        VARCHAR           50
EXPERIENCE          INT               10
HOLIDAY IN WEEK     VARCHAR           50
WORKING HOURS       VARCHAR           50
                          Table 5.4


Field Name          Data Type         Size
NAME OF PATIENT     VARCHAR           50
ROOM ID             INT               10

                          Table 5.5

Field Name                 Data Type     Size
INSURANCE ID               INT           10
NAME OF PATIENT            VARCHAR       50
EMPLOYEE ID                VARCHAR       50
PERIOD       OF   STAY   IN VARCHAR      50
PLACE                      VARCHAR       50
POLICY NUMBER              VARCHAR       50
CLAIM NUMBER               VARCHAR       50

                             Table 5.6


   Field Name              Data Type       Size
   USER ID                 VARCHAR         50
   PASSWORD                VARCHAR         50
   AUTH                    INT             11
                             Table 5.7


   Field Name             Data Type     Size
   NAME OF PATIENT        VARCHAR       50
   PATIENT ID             INT           10
   AGE                    INT           10
   SEX                    VARCHAR       10
   OCCUPATION             VARCHAR       50
   CONTACT NUMBERS        VARCHAR       50
   ADMISSIONAS            VARCHAR       50
   INSURANCE              VARCHAR       50
   GUARDIANNAME           VARCHAR       50
   RELATION          WITH VARCHAR       50
   ROOM ID                VARCHAR       10

                            Table 5.8


   Field Name             Data Type     Size
   ROOM ID                INT           10
   CATEGORY               VARCHAR       50
   NO OF BEDS             INT           50
   VISITING HOURS         VARCHAR       50
   STATUS                 VARCHAR       50
                            Table 5.9



conn system/durga


create user meditracker identified by meditracker ;

grant connect , resource to meditracker ;

conn meditracker/meditracker;

show user;

CREATE TABLE appointmentsmaster (

    AppointmentID number(11) NOT NULL,

    DoctorName varchar(50) not NULL,

    DoctorID number(10) not NULL,

    Designation varchar(50) not NULL,

    AppointmentGivento varchar(50) not NULL,

    PatientID number(10) not NULL,

    NameOfPatient varchar(50) not NULL,

    NameOfCharity varchar(50) not NULL,

    DateOfAppointment date not NULL,

    NoOfHours number(10) not NULL,constraint appointmestsmaster_appmtit_pk

    PRIMARY KEY (AppointmentID)

CREATE TABLE dischargesmaster (

    NameOfPatient varchar(50) default NULL,

    PatientID number(10) NOT NULL,

    Age number(10) default NULL,

 Sex varchar(10) default NULL,

Occupation varchar(50) default NULL,

 Natureofillness varchar(50) default NULL,

 DateOfAdmission date default NULL,

 DateOfDischarge date default NULL,

 RoomID number(10) default NULL,

 ConsultantDoctor varchar(50) default NULL,

 ReferedByDoctor varchar(50) default NULL,

 Insurance varchar(50) default NULL,constraint dischargesmaster_patientid_pk



CREATE TABLE doctorsmaster (

 DoctorName varchar2(50)not NULL,

 DoctorID number(10) NOT NULL,

 DateOfJoin date not NULL,

 Designation varchar2(50)not NULL,

 PhoneNumber varchar2(50) not NULL,

 Experience number(10)not NULL,

 HolidayinWeek varchar(50)not NULL,

 WorkingHours varchar2(50)not NULL,

 ChargesPerHour number(15,4) not NULL,constraint doctorsmaster_doctorid_pk



insert into doctorsmaster values('sunil',1,'10-jan-2000','MD',99898989,2,2,30,100)

CREATE TABLE inpatientmaster (

 NameOfPatient varchar(50) not NULL,

 Natureofillness varchar(50) not NULL,

 DateOfAdmission date not NULL,

 ReferedByDoctor varchar(50) not NULL,

 RoomID number(10) not NULL


CREATE TABLE insurancemaster (

 InsuranceID number(10) NOT NULL ,

 NameOfPatient varchar2(50) not NULL,

 NameOfApplicant varchar2(50) not NULL,

 WorkingAtCompany varchar2(50) not NULL,

 EmployeeID varchar2(50) not NULL,

 RelationWithPatient varchar2(50) not NULL,

 Natureofillness varchar2(50) not NULL,

 DateOfAdmission date not NULL,

 DateOfDischarge date not NULL,

 PeriodofStayinHospital varchar2(50) not NULL,

 AmountClaimed number(15,3) not NULL,

 Place varchar(50) not NULL,

 PolicyNumber varchar2(50) not NULL,

 ClaimNumber varchar2(50) not NULL,constraint insurancemaster_insuranceid_pk

 PRIMARY KEY (InsuranceID)



    UserID varchar(50) NOT NULL,

    Password varchar(50) NOT NULL,

    Auth number(11) NOT NULL,constraint login_userid_pk




insert into login values('admin','admin',0);

CREATE TABLE patientsmaster (

    NameOfPatient varchar(50) not NULL,

    PatientID number(10) NOT NULL ,

    Age number(10) not NULL,

    Sex varchar(10) not NULL,

    Occupation varchar(50) not NULL,

    Contactnumbers varchar(50) not NULL,

    Natureofillness varchar(50) not NULL,

    DateOfAdmission date not NULL,

    AdmissionAs varchar(50) not NULL,

    Insurance varchar(50) not NULL,

    GaurdianName varchar(50) not NULL,

    RelationWithPatient varchar(50) not NULL,

    ReferedByDoctor varchar(50) not NULL,

    RoomID varchar(10) not NULL, constraint patientsmaster_patientid_pk

    PRIMARY KEY (PatientID)


create sequence patientseq start with 1


CREATE TABLE roomsmaster (

    RoomID number(10) NOT NULL,

    Category varchar(50) not NULL,

    NoOfBeds number(38) not NULL,

    ChargesPerDay number(8,5) not NULL,

    VisitorsAllowed varchar(50) not NULL,

    VisitingHours varchar(50) not NULL,

    Status varchar(50) not NULL,constraint roomsmaster_roomid_pk



create table billingmaster(billid number(10),nameofpatient varchar2(30) not null,

admissionfee varchar2(30) not null,periodofshsp varchar2(30) not null,

roomid number(30) not null,roomrent number(15,3)not null,refbydoc varchar2(30) not


doctorfee number(15,3) not null,totcharge number(15,3)not null,constraint


primary key(billid))





  <SCRIPT LANGUAGE="JavaScript">





   <LINK href="styles.css" type="text/css" rel="stylesheet">


  <BODY CLASS=SC onload="document.LOGIN.uid.focus();">



  <FONT FACE="Century Gothic">

  <!--Declaration of varaibles-->

  <!--Retrieve the error from request and display on screen-->


      <FONT COLOR="black">

      Enter your UserID and password to login<BR><BR>


      Userid   &nbsp:&nbsp;<input      TYPE=text      id   ="usr"    name="uid"     size="8"
Password : <input TYPE=password name="pwd" size="8" maxlength="8"<BR><BR>


      <INPUT TYPE=submit name=submit value="Sign-in">

      <INPUT TYPE=reset name=resett value="Reset" >





         File : Report.jsp
         Purpose : This jsp displays the home page containing link to change user's password


   <SCRIPT LANGUAGE="JavaScript">





         <LINK href="styles.css" type="text/css" rel="stylesheet">





   <LINK href="styles.css" type="text/css" rel="stylesheet">


  <BODY class=SC>

  <script language="JavaScript1.2" src="coolfunctions.js"></script>

  <script language="JavaScript1.2" src="coolmenus.js"></script>




 <body Class=SC>


 <font face="Times New ROman" color=blue >


 <!--Retreiving user id using Session-->

 <h2      class=report><FONT     COLOR="#330000">Welcome</FONT>   <u><FONT
COLOR="#FF0000">admin</FONT></u><FONT COLOR="#330000"> to MediTracker



<p align="right">

<A href="ChangePassword1.jsp">Change Password </A><BR>

<A href="AddUser.html">Add new user </A><BR>



       Software Testing is a critical element of software quality assurance and represents
the ultimate review of specification, design and coding, Testing presents an interesting
anomaly for the software engineer.

Testing Objectives include
      Testing is a process of executing a program with the intent of finding an error
      A good test case is one that has a probability of finding an as yet undiscovered error
      A successful test is one that uncovers an undiscovered error

Testing Principles
           All tests should be traceable to end user requirements
           Tests should be planned long before testing begins
           Testing should begin on a small scale and progress towards testing in large
           Exhaustive testing is not possible
           To be most effective testing should be conducted by a independent third party

        A Strategy for software testing integrates software test cases into a series of well
planned steps that result in the successful construction of software. Software testing is a
broader topic for what is referred to as Verification and Validation. Verification refers to
the set of activities that ensure that the software correctly implements a specific function.
Validation refers he set of activities that ensure that the software that has been built is
traceable to customer’s requirements

Unit Testing
       Unit testing focuses verification effort on the smallest unit of software design that is
the module. Using procedural design description as a guide, important control paths are
tested to uncover errors within the boundaries of the module. The unit test is normally
white box testing oriented and the step can be conducted in parallel for multiple modules.

Integration Testing
      Integration testing is a systematic technique for constructing the program structure,
while conducting test to uncover errors associated with the interface. The objective is to
take unit tested methods and build a program structure that has been dictated by design

Top-down Integration
    Top down integrations is an incremental approach for construction of program
structure. Modules are integrated by moving downward through the control hierarchy,
beginning with the main control program. Modules subordinate to the main program are
incorporated in the structure either in the breath-first or depth-first manner.

Bottom-up Integration
     This method as the name suggests, begins construction and testing with atomic
modules i.e., modules at the lowest level. Because the modules are integrated in the bottom
up manner the processing required for the modules subordinate to a given level is always
available and the need for stubs is eliminated.

Validation Testing
     At the end of integration testing software is completely assembled as a package.
Validation testing is the next stage, which can be defined as successful when the software
functions in the manner reasonably expected by the customer. Reasonable expectations are
those defined in the software requirements specifications. Information contained in those
sections form a basis for validation testing approach.
System Testing
       System testing is actually a series of different tests whose primary purpose is to fully
exercise the computer-based system.Although each test has a different purpose, all work to
verify that all system elements have been properly integrated to perform allocated functions.

Security Testing
       Attempts to verify the protection mechanisms built into the system

Performance Testing
       This method is designed to test runtime performance of software within the context
of an integrated system.


Test            Test Case              Expecting              Exhibiting behavior
Case ID                                behavior                                           Result
          Enter the wrong Username Error message has Error                message    is
1         and Password for Admin       to be displayed        displaying                  Pass
          Login as admin and Try to It has to add the It                is       adding
2         add the new Doctor           doctor                 successfully                Pass
          Login as admin and try to It has to display all It is displaying all the
3         View the patients            the patients details   patients details            Pass
          Login as admin and Try to It has to display all It is displaying all the Pass
4         view the all appointments    the   appointments appointments details
5         Login as admin and View It has to display all It is displaying all the Pass
          all the Reports              the Reports            reports
6         Login as admin and try to It has to remove It              is      removing Pass
          Remove an user               successfully           successfully
7         Login as doctor and try to Error message has Error              message    is Pass
          add the doctor               to be displayed        displaying
8         Login as doctor and try to Error message has Error              message    is Pass
          add the patient              to be displayed        displaying
          Login as doctor and try to Error message has Error              message    is
9         view the insurance details   to be displayed        displaying                  Pass

10        Login as manager and try Error message has Error                message    is
          to provide an appointment    to be displayed        displaying                  Pass
          Login as manager and Try Error message has Error                message    is
11        to Discharge one patient     to be displayed        displaying                  Pass
          Login as manager and try Error message has Error                message    is
12        to remove one user           to be displayed        displaying                  Pass
          Login as accountant and Error message has Error                 message    is
13        try to view the details of to be displayed          displaying                  Pass

     Login as accountant and Error message has Error        message    is
14   try to issue the rooms to to be displayed   displaying                 Pass
     the patients
     Login as accountant and It has to provide   It    is       providing
     try to provide the insurance                successfully               Pass
15   claiming

                8.OUTPUT SCREENS


                      Screen 8.1


                     Screen 8.2


               Screen 8.3


                   Screen 8.4


                      Screen 8.5


                Screen 8.6


                    Screen 8.7


                      Screen 8.8


                     Screen 8.9


                    Screen 8.10


                       Screen 8.11


             Screen 8.12


                         Screen 8.13


                 Screen 8.14

                              9.SYSTEM SECURITY

        The Protection of Computer based resources that includes hardware ,Software,data
 ,procedures and people against unauthorized use or natural.Diaster is also known as System
 Security.System Security can be divided into four related issues:
          Security
          Integrity
          Privacy
          Confendentiality

  It refers to the technical invocations and procedures applied to the hardware and operating
 systems to protect against deliberate or accidental damage from a defined threat

        It is the protection of data from loss ,disclosure ,modification and destruction

         It refers to the power functioning of hardware and programs ,appropriate physical
 security and safety against external threats such as eavesdropping and wiretapping

          It defines the rights of the user or organizations to determine what information they
 are willing to share with or accept from others and how the organization can be protected
 against unwelcome ,unfair, or excessive dissemination of information about it

          It is a special status given to sensitive information in a database to minimize the
 possible invasion of privacy. It is a attribute of information that characterizes its needs for

           System security refers to various validations on data in forms of checks and
controls to avoid the system from failing .It is always important to ensure that only valid
data is entered and only valid operations are performed         on the system .The system
employees two types of checks and controls

       Various client side validations are used to ensure on the client side that only valid
data is entered. Client side validation saves server time and load to handle invalid data.
Some checks are imposed are:
       VB script is used to ensure those required fields are filled with suitable data only.
        Maximum lengths of fields of the forms are appropriately defined.
       Forms cannot be submitted without filling up the mandatory data so that manual
        make mistakes of submitting empty fields that are mandatory can be sorted out at the
        client side to save the server time and load
       Tab-indexes are set accordingly to the need and taking into account the ease of user
        while working with the system.

       Some checks cannot be applied at client side. Server side checks are necessary to the
save the system from failing and intimating the user that some invalid operation has been
performed or the performed operation is restricted.
Some of the server side checks imposed is:
       Server side constraint has been imposed to the check for validity of primary key
        and foreign key .
       A primary key value cannot be duplicated .Any attempt to duplicate the primary
        value results into a messaging intimating the user about those values through the
        forms using foreign key can be updated only of the existing foreign key values
       User is intimating through appropriate messages about the successful operations or
        exceptions occurring at the server side.

         Various Access Control Mechanisms have built so that one user may not agitate
upon another .Access permissions to various types of users are controlled according to the
organizational Structure .Only permitted users can log on the system and have access
according to their category.User-name,passwords and permissions are controlled on the
server side. Using server side validation,constraints on several restricted operations are


       The MediTracker is a web-based application for primarily providing the patients
comfortably and avoid any confusion to the doctors regarding their work. There should be a
system where the patients are categorized under insurance policy and non policy holders
and the system helps the hospital management to claim the bills from concerned insurance
companies. All these needs and much more are fulfilled in MediTracker.
       This application software has been computed successfully and was also tested

successfully by taking “test cases”. It is user friendly, and has required options, which can

be utilized by the user to perform the desired operations. The software is developed using

Java as front end and Oracle as back end in Windows environment. The goals that are

achieved by the software are:

      Efficient management of records.

      Simplification of the operations
      User friendly.

      Portable and flexible for further enhancement.

      Easy to manage all the daily admissions of patients and appointments of doctors.
      Can generate required reports easily
      Easy to manage historical data in a secure manner
      Centralized database helps in avoiding conflicts
      Easy to use GUI that does not requires specific
        The System being web-based and an undertaking of Cyber Security Division, needs
to be thoroughly tested to find out any security gaps.
        A console for the data center may be made available to allow the personnel to
   monitor on the sites which were cleared for hosting durning a particular period.
        Moreover it is just beginning ; further the system may be utilized in various other
types of auditing operation viz. Network auditing or similar process/workflow based


References for the Project Development were taken from the following Books and Web
PL/SQL Programming by Scott Urman

SQL complete reference by Livion

JAVA Technologies

JAVA Complete Reference

Java Script Programming by Yehuda Shiran

Mastering JAVA Security

JAVA2 Networking by Pistoria

JAVA Security by Scotl oaks

Head First EJB Sierra Bates

J2EE Professional by Shadab siddiqui

JAVA server pages by Larne Pekowsley

JAVA Server pages by Nick Todd


HTML Black Book by Holzner


Java Database Programming with JDBC by Patel moss.

Software Engineering by Roger Pressman


To top