University of Koya
Faculty of Engineering
Software Department
Online Medical Booking System
A Project
Submitted to the School of Computer Engineering /
Faculty of Engineering / University of Koya
In a partial fulfillment of the requirements for the
Degree of B.Sc.
In
Software Engineering Department
Prepared By:
Pshtiwan A. Hassan
Safaa A. Nasir
Ahmed H. Abdullah
Supervised by
Mr. Marwan A. M
19-5-2013 ۹-۷-۱٤۳٤‫ھـ‬
Gifting
Gifting
‫اﻟﺮﺣﯿﻢ‬ ‫اﻟﺮﺣﻤﻦ‬ ‫ﷲ‬ ‫ﺑﺴﻢ‬
"‫وﻋﻠﻤﻪ‬ َ‫اﻟﻘﺮأن‬َ‫ﺗﻌﻠﻢ‬ ‫ﻣﻦ‬ ‫ﺧﻴﺮﻛﻢ‬"
(‫اﻟﻌﻈﯿﻢ‬ ‫ﷲ‬ ‫)ﺻﺪق‬
:(‫وﺳﻠﻢ‬ ‫ﻋﻠﯿﮫ‬ ‫ﷲ‬ ‫ﻣﺤﻤﺪ)ﺻﻠﻰ‬ ‫ﷲ‬ ‫رﺳﻮل‬ ‫ﻗﺎل‬
"‫اﻟﺠﻨﺔ‬ ‫اﻟﻰ‬ َ‫ﺎ‬‫طﺮﯾﻘ‬ ‫ﻟﮫ‬ ‫ﷲ‬ َ‫ﻞ‬‫ﺳﮭ‬ َ‫ﺎ‬‫ﻋﻠﻤ‬ ‫ﻓﯿﮫ‬ ٌ‫ﯾﻠﺘﻤﺲ‬ َ‫ﺎ‬‫طﺮﯾﻘ‬ ‫ﺳﻠﻚ‬ ‫ﻣﻦ‬‫)ﺻﺪق‬ "
(‫ﷲ‬ ‫رﺳﻮل‬
: ‫اﻟﺸﺎﻋﺮ‬ ‫ﯾﻘﻮل‬ ‫ﻛﻤﺎ‬
ُ‫ﻢ‬‫ﻓﺎﻟﻌﻠ‬ ‫"ﻓﺘﻌﻠﻤﻮا‬"‫ﻣﻐﻠﻘــــــــــــــــﻰ‬ ِ‫ة‬‫ﻟﻠﺴﻌﺎد‬ ‫ﺑﺎﺑـــــــــــــــــﺄ‬ ِ‫ﻖ‬‫ﯾﺒ‬ ‫ﻟﻢ‬ ‫اﻟﻌﻠــــــــــــــــﻰ‬ ‫ﻣﻔﺘﺎح‬
I would like to offer my unpretending work for everyone who contributes to
enhance our society in practical life; and makes the technology helpful for the
humans.
[Certification]
Acknowledgement
First of all, "�‫"اﻟﺤﻤـــــــــــﺪ‬
All thanks to Allah who create me when I was nothing, all thanks to Allah who give
everything.
I’m thankful to my family they always supported me in both of incorporeal and
physically.
Thanks to Teachers Staff:
• Dr.Yazen who encourage me to complete my way in the university.
• Dr.Tarik who make me in love with my department (Software Engineering)
• Mr. Marwan he is my supervisor and my supporter and who make all that
possible.
• Dr.Kayhan who opened my mind in network.
• Mr.Anmar gives us the meaning of our department Software Engineering.
• Mr.Zrar.
• Dr.Salah.
• Mr.Ladeh.
During my way in building this project I spent a lot of time only for theoretically and I
was distrait with which tool I should build the system, which methodology should I
follow? And fortunately this year I studied Software engineering subject and I discover
with this subject a great topics solved the project life cycle, but the choice of which tool,
that’s actually depending on the business policies.
My advice to everyone who trying to build web-based applications system must build the
bone and then the skin
Bone is the database
Skin here is the ASP.NET Web Forms
The Neural network between them is the ADO.NET.
[Certification]
SUPERVISOR’S CERTIFICATION
I certify that this project entitled
“Online Medical Booking System”
Is prepared under my supervision at the school of computer Engineering –
Faculty of engineering / University of Koya in partial fulfillment of the
requirements for the degree of B.Sc. in the Software Engineering.
Signature:
Name: Marwan Aziz
Title: Supervisor
Date: 19 / 5 / 2012
Abstract
I
Abstract
Main objective is helping a human that is considered the root hint for our proposed idea
(OMBS), and the leaves are what the features that the System would be able to support;
you’ll discover in chapter 1 later what the leaves are?
Before I go on into the project life cycle I must identify the tools that help me in order to
achieve this project I mentioned that in chapter 2. I found that within the software
engineering the ability to follow specific pattern to make our plant growing correctly, and
also in chapter 3 you’ll see which kind of method I used.
The construction (building or coding) of the project done in chapter 4.
As a final result the system is ready to use! And to deploy it either in a LAN, WAN, VPN
Networks, that’s belong to the business policies, as soon as after the system deployed
should be capable of responding to the good software attributes just like scalability,
maintainability, security and so on that is mentioned in chapter 5.
Contents
II
Contents
Title Page
Abstract …………………………………………………………………………… I
Content…………………………………………………………………………….. II-III
List of Abbreviations………………………………………………………………. IV
Chapter 1: Introduction
1.1 Overview of scheduling online system………………………………………... 1
1.2 Issues of old fashion for scheduling ………………………………………… 2
1.3 Aims ………………………………………………………………………….. 3
1.4 project architecture …………………………………………………………… 4
Chapter 2: Basic Concept and Background
2.1 Database ……………………………………………………………………… 5
2.1.1 Database vs. file processing ………………………………………………… 7
2.1.2 Why database................................................................................................... 8
2.1.3 Database Management System……………………………………………… 9
2.1.3.1 MS SQL Server ……………….………………………………………….. 10
2.2 IDE ……………………………………………………………………………. 12
2.2.1 GUI………………………………………………………………………….. 14
2.3 Programming Language……………………………………………………….. 15
2.3.1 Web Application…………………………………………………………….. 16
Chapter 3: Methodology
3.1 An overview of project process……………………………………………….. 17
3.2 Project life cycle………………………………………………………………. 18
3.2.1 Project initiation phase……………………………………………………… 19
3.2.1 Project execution phase……………………………………………………... 19
3.2.3 Project deployment phase………………………………………………….... 19
3.2.2.1 Analyzing requirements………………………………………………….... 19
3.2.2.2 High-level design………………………………………………………...... 23
3.2.2.2.1 Database design……………………………………………………......... 23
3.2.2.2.2 Interface design…………………………..……………………………… 27
3.2.2.3 Low-level design………………………………………………………...... 32
3.2.2.4 Construction………………..……………………………………………… 35
3.2.2.5 Integration and testing…………………………………………………...... 35
3.2.2.6 User acceptance testing………………………………………………….... 35
3.2.3.1 Implementation…………………………………………………………..... 35
3.2.3.2 Operation and maintenance……………………………………………....... 35
Chapter 4: Implementation
4.1 There are two phase to implement our proposed method …………………….. 36
4.1.1 First phase Construction of database…………..…………………….............. 36
4.1.2 Second phase Construction of interface ……………….................................. 39
Contents
III
Chapter 5: Conclusionand future work
5.1 Conclusion…………………………………………………………................... 40
5.2 Future work……………………………………………………………………. 40
References…………………………………………………………………………. 41
[List Of Abbreviations]
IV
List of Abbreviations
OMBS Online Medical Booking System
LAN Local Area Network
WAN Wide Area Network
VPN Virtual Private Network
IIS Internet Information Services
WWW World Wide Web
RAM Random Access Memory
RDBMS Relational Database Management System
SQL Structural Query Language
SSMS SQL Server Management Studio
IBM International Business Machine
GUI Graphical User Interface
T-SQL Transact Structure Query Language
DDL Data Definition Language
DML Data Manipulation Language
DCL Data Control Language
IDE Integrated Development Environment
ANSI American National Standard Institute
QA Quality Assurance
ADO Microsoft Active Data Object
HTML Hyper Text Markup Language
ASP Active Server Page
CSS Cascade Style Sheet
CISCO Name of city “Sanfrancisco”
IP Internet Protocol
Chapter One
Introduction
[Introduction]
1
1. Introduction
1.1 Overview of scheduling online system
Processes and procedures that previously were adequate may no longer be effective in
handling a rise in new patients, prompting administrators to seek out alternatives and new
technology and techniques to assist them and their patients.
Especially in our Web-connected society where more and more individuals prefer to
conduct common tasks—such as scheduling appointments—online instead of picking up
the phone and calling them in.
Technological advancements like online scheduling software have made the patient-
booking process easier for both administrative staff and patients.
They typically access the online scheduling system through a “Book Now” button found
on a Web site or page provided to them by the medial, healthcare or wellness facility.
Once a date and time are selected, the system will automatically confirm the booking and
instantly record it within the system, without any staff action needed.
[Introduction]
2
1.2 Issues of old fashion for scheduling
• Time
for example: spending time for going to hospital and then you might found that
the doctor not available at that time Okay, you’ll be disappointed then you
have one of the two choices: search for another hospital about specialist doctor
or going back to home!?
• Effort
Besides spending time followed by spending effort also.
• Money.
If the location of the hospital far away from your home you need to hire a
means of transport to arrive there, besides spending time and effort.
• Missed appointment.
Let’s assume in rare case you forgot the exact date of appointment so your turn
will be at the last queue.
• Availabilities.
In Europe Countries the old fashion to make an appointment was by making
phone to the receptionist in order to reserve an appointment, but this way not
efficient in case you make phone during rest hours or another one makes call or
not exist at night?!
Other problems can be found by Analysis phase (information gathering)
where the problems can be stated directly or indirectly by the customer how
interact with our system i.e. we need the opinion both of the patient and the
doctor to state the exact required features (functional requirements) included in
the future system.
[Introduction]
3
1.3 Aims
According to the Issues that mentioned above the system may have to make an aims to
follow:-
• OMBS (Online Medical booking System) Aims to solve the problems of
spending time, effort and money by Making the reservation of an
appointment On-line:
OMBS is a Web-based application that allows individuals to conveniently and
securely  Not that much, book their appointments and reservations online
through any Web-connected device, such as a computer, laptop, smartphone or
tablet.
• OMBS Aims to solve problem of missing an appointment by Making
reminder calls to the patient:
In addition to online scheduling, OMBS also come equipped with other beneficial
features like automated e-mail reminder, which the system sends out to patients on
a specific date prior to their scheduled appointment.
• OMBS Aims to solve problem of Availability by Making the System operate
on 24/7 for the patients:
Scheduling appointments over the phone usually requires an individual to phone in
during office hours, as few facilities offer round-the-clock phone booking. This is
an inconvenience for most patients, as they too are working at this time.
Additionally, many individuals prefer to schedule their appointments online rather than
over the phone. An online scheduling system allows for 24-hour scheduling, not just
during normal facility or office hours.
[Introduction]
4
1.4 Project architecture
Our system is 3-tier client/server architecture:
First tier is a client tier; client means a computer device when connected to the World
Wide Web (WWW).
Second tier (middle tier) is the IIS tier (web server tier), our resources (directories, files,
images, and other type of information) all are located in web server, for example client
request specific file such (appointment.aspx) from the web server hard disk, the operation
of the process done with memory (RAM).
Third tier is the (database tier) where all the data such as patient record, scheduling table,
profiles, other detail information stored in a database. Database is the repository for
storing data in a form of tables and the ability to make relationship among them.
Figure 1.1 Project Architecture (3-tier Client/Server architecture)
Chapter Two
Basic concepts and background
[Chapter 2: Basic Concepts And Background]
5
2. Basic concepts and background
Before we go on to which methodology should be follow, let’s take a brief introduction
about what are the tools that are helpful in building the system?
Along this chapter I’ll talk or I ‘ll explain about the following :
 Database
 IDE
 Programming Language
2.1 Database
The first step in the development of a project is to design a robust database. Before you
design a database, it’s a good idea to recapitulate the concepts related to a database.
Data: Meaningful facts, graphics, sound, text, images and video segments.
Database is the base for all data that are stored in a form of tables. “When you build your
house you need to make the base strong enough to ensure it will still stand for long time!”
According to my simple experience along this project I found that the database is the
most important part of any software system, and should be careful and accurate when
design it and implementing the SQL statement.
[Chapter 2: Basic Concepts And Background]
6
In this project the database is more than just tables for storing data, but it extended to
have a relationship among these tables, that’s why we call it Relational Database
Management System (RDBMS).
In addition to, we can add constraint on storing the data in database, like adding specific
constraints on a data field i.e. Allowed or Not Allowed Value for data field, unique value
or between a range of number …. And so on.
Figure 2.1 Showing database OMBS shared with different clients by different
Applications.
One of the most important advantages of the database is that sharing the data among
several applications at the same time, and the application should has a means to create
bridge to the database and use SQL to edit, delete, update data within database I.e.
ASP.NET 4.0 Uses ADO.NET Framework to communicate with database.
[Chapter 2: Basic Concepts And Background]
7
Next section shows difference between the ways of storing data either using file system
or database and advantages and dis-advantages for both.
2.1.1 Database VS. File processing (file System)
Typically we have two ways to store data (database and file system (program file))
• Database: A central data-store that can be read from different sources such
as (MS Access and MS SQL server ….).
• File System: Distributed data-stores that can usually only be read from a
single source such as (MS Excel, MS power point and MS word….).
Dis-advantages of file processing:
• Data redundancy and inconsistency: Multiple file formats, duplication of
information in different files
• Difficulty inaccessing data: Need to write a new program to carry out
each new task
• Data isolation: multiple files and formats
• Integrity problems.
• Atomicity of updates: Failures may leave database in an inconsistent state
with partial updates carried out
• Concurrent access by multiple users
Database systems offer solutions to all the above problems. Such as remove duplication
of data.
[Chapter 2: Basic Concepts And Background]
8
Figure 2.1 Not allowed Phone_No to be duplicated.
2.1.2 Why Database?
Because of database is a repository of data, a place where you can store data and
extract it whenever required. You can store and extract data from a database in
various ways.
Advantages of database systems such as:
1. An organized and comprehensiveness of recording the result of the firms
activities.
2. Reduced updating errors and increased consistency.
3. Data integrity and independence from applications programs.
4. Improved data access to users through use of host and query languages.
5. Improved data security.
6. Facilitated development of new applications program.
7. Speed.
8. Easy for understanding data report.
9. Accuracy.
[Chapter 2: Basic Concepts And Background]
9
2.1.3 Database Management System (DBMS):
A database-management system (DBMS) is a collection of interrelated data and a
set of programs to access those data. The collection of data, usually referred to as
the database, contains information relevant to an enterprise. The primary goal of a
DBMS Is to provide a way to store and retrieve database information that is both
convenient and efficient.
DBMS Internals:
1. Storage management
2. Query processing
3. Transaction processing.
Therefore we have many types of database management system such as MS Access, My
SQL Server , Oracle, MySQL….etc. in our project use MS SQL Server 2008 R2.
[Chapter 2: Basic Concepts And Background]
10
2.1.3.1 MS SQL Server:
The SQL Server relational database language is called Transact-SQL. It is a dialect of the
most important database language today: Structured Query Language (SQL). The origin
of SQL is closely connected with the project called System R, which was designed and
implemented by IBM in the early 1980s.
Microsoft SQL Server is a powerful relational database engine, widely used to store and
maintain data in Enterprises of various levels—be they small, medium, or large.
SQL Server delivers a rich set of integrated services and reporting features that enable
you to do more with your data such as query, search, synchronize, report, and analyse.
SQL Server 2008 R2 accelerates the capabilities to scale database operations and is a
highly scalable data platform.
Contrast to traditional languages like C, C++, and Java, SQL is a set-oriented language.
(The former are also called record-oriented languages.) This means that SQL can query
many rows from one or more tables using just one statement. This feature is one of the
most important advantages of SQL, allowing the use of this language at a logically higher
level than the level at which traditional languages can be used.
[Chapter 2: Basic Concepts And Background]
11
Another important property of SQL is non-procedurally. Every program written in a
procedural language (C, C++) describes how a task is accomplished, step by step. In
contrast to this, SQL, as any other non-procedural language, describes what it is that the
user wants. Thus, the system is responsible for finding the appropriate way to solve
users’ requests.
SQL contains three sublanguages:
• Data definitionlanguage (DDL)
DDL statements are used to describe the schema of database tables
Like CREATE, ALTER and DROP Object.
• Data manipulation language (DML).
DML statements are used to add, delete and update record.
Like UPDATE, INSERT and DELETE Record.
• Data Control Language(DCL)
Grant and denied an access for a user’s like GRANT
SQL is an ANSI (American National Standards Institute) standard for accessing database
systems.
Advantages of MS SQL Server 2008 are:
o Ease of use and maintenance
o Fast and efficient
o Security and Stability
o Availability and Reliability
o Programmability (T-SQL)
o Concurrency and locking
[Chapter 2: Basic Concepts And Background]
12
Some of the services provided by MS SQL Server 2008 are:
o Replication services
o Analysis services
o Reporting services
o Notification services
o Integration services
o Full text search services
2.2 IDE
IDE Stands for (integrated development environment) is a software application that
provides comprehensive facilities to computer programmers for software development.
An IDE normally consists of a source code editor, build automation tools and a debugger.
Some IDEs contain a compiler, interpreter, or both, such as Microsoft Visual
Studio and Eclipse; others do not, such as Sharp Develop and Lazarus. Sometimes
a version control system and various tools are integrated to simplify the construction of
a GUI. Many modern IDEs also have a class browser, an object inspector, and a class
hierarchy diagram, for use with object-oriented software development.
In our project we are use Microsoft Visual Studio 2010, Clears the UI organization and
“reduces clutter and complexity”,
[Chapter 2: Basic Concepts And Background]
13
The new IDE better supports multiple document windows and floating tool windows.
Visual Studio 2010 comes with .NET Framework 4 and supports developing applications
targeting Windows 7, it supports IBM DB2 and Oracle databases, in addition
to Microsoft SQL Server.
It has integrated support for developing Microsoft Silverlight applications, including an
interactive designer. Visual Studio 2010 offers several tools to make parallel
programming simpler: in addition to the Parallel Extensions for the .NET Framework and
the Parallel Patterns Library for native code, Visual Studio 2010 includes tools for
debugging parallel applications. The new tools allow the visualization of
parallel Tasks and their runtime stacks. The Visual Studio 2010 code editor now
highlights references; whenever a symbol is selected; all other usages of the symbol are
highlighted.it also offers a Quick Search feature to incrementally search across all
symbols in C++, C# and VB.NET projects.
Features of MS Visual Studio 2010:
1. Code editor
2. Debugger
3. Designer
4. Windows form Designer
5. WPF Designer
6. Web designer/development
7. Class designer
8. Data Designer
9. Mapping designer
10.Open Taps browser
11.Properties Editor
12.Object browser
13.Solution Explorer
14.Server explorer
15.Dotfuscator Software Services Community Edition
16.Text Generation Framework
[Chapter 2: Basic Concepts And Background]
14
Figure 2.2 Microsoft visual Studio Start page
2.2.1 GUI
GUI stands for (Graphical User Interface) is a visual computer environment that
represents programs, and that’s how the uses interacts with database through
programmed components like Button, Text Box, Radio Button, Check Box, and dialog
box etc.. User initiate the event triggered by for example a button has been clicked by
mouse or checking E-mail availability within database during typing by keyboard in a
Text Box.
The GUI for current project designed by Microsoft Visual Studio 2010 (IDE) >Web
Application> Visual C#.
[Chapter 2: Basic Concepts And Background]
15
2.3 Programming Language:
C# (pronounced "See Sharp") is a multi-purpose computer programming language
suitable for all development needs. Although C# is derived from the C programming
language, it has features such as garbage
collection that allow beginners to
become proficient in C# more quickly
than in C or C++. Similar to Java, it is
object-oriented, comes with an extensive
class library, and supports exception
handling, multiple types of
polymorphism, and separation of
interfaces from implementations. Those
features, combined with its powerful
development tools, multi-platform
support, and generics, make C# a good choice for many types of software development
projects: rapid application development projects, projects implemented by individuals or
large or small teams, Internet applications, and projects with strict reliability
requirements.
C# is intended to be a simple, modern, general-purpose, object-oriented programming
language. Its development team is led by Anders Hejlsberg. The most recent version is
C# 4.0, which was released on April 12, 2010.
Although C# applications are intended to be economical with regard to memory
and processing power requirements, the language was not intended to compete directly
on performance and size with C or assembly language.
[Chapter 2: Basic Concepts And Background]
16
2.3.1 Web Application:
In this this project we are using Asp.net by C# ASP.NET is a server-side Web
application framework designed for Web development to produce dynamic Web pages. It
was developed by Microsoft to allow programmers to build dynamic web sites, web
applications and web services. It was first released in January 2002 with version 1.0 of
the.NET Framework, and is the successor to Microsoft's Active Server Pages (ASP)
technology. ASP.NET is built on the Common Language Runtime (CLR), allowing
programmers to write ASP.NET code using any supported .NET language.
We choice Asp.net because it has many advantages such as
• ASP.NET drastically reduces the amount of code required to build large
applications.
• Optimum speed of development.
• High Reliability.
• Rigorous Security.
• Easy configurations of applications.
• Vast and enriched Class library, features, controls.
• ASP.NET Framework supports varied languages.
Code behind file separate from the html code.
Chapter Three
Methodology
[Chapter 3: Methodology]
17
3. Methodology
3.1 An Overview of Project Process
Software has now surpassed hardware as the key to the success of many computer-based
systems. Unfortunately, the track record at developing software systems is not
particularly impressive. The last few decades have seen the proliferation of software
applications ranging from small, relatively simple applications consisting of a few lines
of code, to large, complex applications consisting of millions of lines of code.
Many of these applications required constant maintenance.
This involved correcting faults that had been detected, implementing new user
requirements, and modifying the software to run on new or upgraded platforms.
The efforts spent on maintenance began to absorb resources at an alarming rate.
As a result, many major software projects were late, over budget, unreliable, difficult to
maintain, and performed poorly. This led to what has become known as the ‘software
crisis’. Although this term was first used in the late 1960s, more than 30 years later, the
crisis is still with us. As a result, some authors now refer to the software crisis as the
‘software depression’.
As an indication of the crisis, a study carried out in the UK by OASIG, a special Interest
Group concerned with the Organizational Aspects of IT, reached the following
conclusions (OASIG, 1996):
 80-90% does not meet their performance goals.
 About 80% of systems are delivered late and over budget.
 Around 40% of developments fail or are abandoned
 Less than 25% properly integrate business and technology objectives.
 Just 10-20% meets all their success criteria.
[Chapter 3: Methodology]
18
There are several major reasons for the failure of software projects including:
 Lack of a complete requirements specification.
 Lack of an appropriate development methodology.
 Poor decomposition of design into manageable components.
As a solution to these problems, a structured approach to the development of software
was proposed and this is called the Information System Lifecycle or the Software
Development Lifecycle (SDLC).
3.2 Project Life Cycle
The development life cycle of a project involves three phases:
Project initiation
Project execution
Project deployment
Project development actually starts when the need to develop or significantly change an
existing system is identified. In this case, the need is to store, organize, and analyze the
data and an interface to access the data using Web Application Programming Language
i.e. ASP.NET Visual C #.
Figure 3.1 System Development Life Cycle of the project
[Chapter 3: Methodology]
19
3.2.1 Project initiation phase,
A comprehensive list of tasks to be performed is prepared, and responsibilities,
depending upon individual skills, are assigned to team members.
3.2.2 Project execution phase
The development team develops the application .this phase consists of the following
stages:
Analyzing requirements
Creating high-level design
Creating low-level design
Constructing
Integration and testing
User acceptance testing
3.2.3 Project deployment phase
In this stage, the application is deployed at the client location, and support is provided to
the client for a specified period. In addition, any bugs identified in the application are
debugged. This phase consists of the following two stages:
Implementation
Operation and maintenance
3.2.2.1 Analyzing Requirements
Analyzing requirements is the process of determining and documenting a customer needs
and constraints. Subsequently, based on these requirements, I create a plan for developing
the application. The process of analyzing requirements often starts with a problem
statement given by a customer or the customer’s representative. Analysts organize all the
information gathered from the customer and analyze the customer’s needs. Finally, they
prepare a written description of the customer’s problem and define a possible solution. In
this case, the problem statement, there’s needed to make reservation easier and more
flexible in practice.
[Chapter 3: Methodology]
20
On analyzing the problem statement, I can define the following list of problems:
• The hospital needs to create databases to store and organize data i.e. Patient
Record.
• The hospital needs to analyze the data.
• Based on the analysis of the data, the hospital needs to find the medical history for
each patient and its reservations.
• Based on the analysis of the data, the hospital needs to find the statistics of diseases
in the country and other info...
As a solution to the problems we proposed that a Web-Based Application with the
following features be developed for specific hospital:
• The application communicates with the databases and displays the data from the
databases by the Web Pages.
• The application includes a means to create reports that are used for analysis of the
data.
• The application is then deployed at the client site.
• The application include automatic mechanism feature to remind the patients at their
dates of an appointment that’s leads to reduce no-shows.
Use Case Modeling
Originally introduced as a diagram for use in object-oriented UML, use cases are now
being used regardless of the approach to systems development. It can be used as part of
the SDLC or in agile modeling. use case model describes what a system does without
describing how the system does it; that is, it is a logical model of the system.
[Chapter 3: Methodology]
21
Use Case Symbols
A use case diagram contains the actor and use case symbols, along with connecting lines.
• Actor.
• User case.
• Connecting lines.
Actors:
Are similar to external entities; they exist outside of the system. The term actor refers to
a particular role of a user of the system. For example, an actor may be Patient, Doctor,
Administrator, Receptionist and Nurse. An actor can be a human, another system, or a
device such as a keyboard or Web connection. Actors can initiate an instance of a use
case.
Use case:
A use case provides developers with a view of what the users want, we can think of a use
case as a sequence of transactions in a system. A use case always describes three things:
an actor that initiates an event; the event that triggers a use case; and the use case that
performs the actions triggered by the event.
Use Case Relationships:
Table 3.1 shows relationship symbols of the use case modeling
[Chapter 3: Methodology]
22
Figure 3.2 Use Case diagrams
Designed with Enterprise Architect
As you can see the diagram shows different roles (Actors) include in the system each has
its own privileges to do some task with the system, and also the diagram shows the
features involve within the system.
[Chapter 3: Methodology]
23
3.2.2.2 High-Level Design
The second stage in the project execution phase is to develop a high-level design. In the
high-level design phase, the external characteristics of the system, such as interfaces, are
designed. In addition, in this phase, the operating environment and various subsystems
and their input and output are decided. In this stage, features that require user input or
approval from the client are documented, and client approval is obtained for the same.
These documents include the functional specifications document of the application,
which is presented in a simple language to the client. The functional specifications
include the description of the databases, Web Pages, and reports that will be included in
the application. This application will be called Online Medical Booking System.
High-level design includes:
• Database design.
• Interface design.
3.2.2.2.1 Database design
The first step in the development of a project is to design a robust database.
Why do you need a database? A database is a repository of data, a place where you can
store data and extract it whenever required. You can store and extract data from a
database in various ways. One of the ways is by using SQL (structured query language)
In order to design a database, you must decide what are the entities have interaction with
the system and then its attributes and the constraints for each field.
After all that we can establish the relation between each entity by using a foreign key
reference to the primary key in another table.
[Chapter 3: Methodology]
24
Referential Integrity
Foreign keys are used to establish relationships. However, you may be wondering why
you need to establish these relationships.
Referential integrity provides the following benefits. It prevents users from:
• Adding records to a related table if there is no associated record in the primary
table
• Changing values in a primary table when there are related records in the related
table
• Deleting records from a primary table if there are related records in the related
table
Normalization
Normalization refers to the process of reducing data redundancy. It usually involves
splitting data into two or more tables until repeating groups of data are placed in separate
tables.
The following rules help to design a robust database:
• A table should have a unique identifier.
• A table should not have repeating values or columns.
• A table should store data for only a single type of entity.
• A table should avoid columns with null values.
[Chapter 3: Methodology]
25
After applying all the concepts discussed so far, below the fruit is the database structure:
Figure 3.3 ER-Diagram for the OMBS database
Designed with Microsoft Visio 2010
[Chapter 3: Methodology]
26
The following section discusses the details of some tables in the OMBS Project:
• The tbl_Hospital table:
This table is used to store information about a specific hospital.
Column Name Data Type Length Allow Nulls
Id int - No
Hospt_Name nvarchar 30 No
Hospt_Photo nvarchar(30) 30 No
Hospt_Location nvarchar(40) 40 No
Emergency_Phone int - No
Table 3.2 shows data structure for hospital table
• The tbl_Profile table:
Generalization applied here, because each role (patient, doctor…and so on) have a
common attributes, hence they are human and each human has first name, last
name, gender, age ……. So I put these common attributes in one table and I make
an association between each role with this table if he/she has additional attributes.
Column Name Data Type Length Allow Nulls
Id int - No
First_Name nvarchar 15 No
Last_Name nvarchar 15 No
Gender nvarchar 10 No
Age int - No
Photo nvarchar 50 Yes
Personal_Phone_No bigint - No
Home_Phone_No bigint - Yes
Street nvarchar 40 No
PostalCode int - Yes
BloodType int - Yes
Country_Id int - Yes
City_Id int - Yes
Table 3.3 shows data structure for profile table.
[Chapter 3: Methodology]
27
3.2.2.2.2 Interface design
The Online Medical Booking System project includes the Login Page, Register Page,
Confirmation Page and directories for each role:
Patient: has User>Profile page with other resources.
Doctor: has Doctor>Profile page with other resources.
Admin: has Admin>Profile page with other resources.
All the above pages actually it’s just an interface to access data from the
tbl_PatientDetails, tbl_DoctorDetails, and tbl_AdminDetails tables, respectively. In
addition, the OMBS project includes the main or default page, contact page, the Reports
page for admin and an appointment page.
First Time when you access the system you’ll navigate automatically if you don’t have an
account to the login page this mechanism provided by ASP.NET 4.0 called Forms
Authentication
Figure 3.4 Login page for the OMBS
[Chapter 3: Methodology]
28
In case you’re patient and you want to register you need to follow the link in the top at
the header of the website and you need to pass with 3 steps in order to complete the
registration correctly?
[Chapter 3: Methodology]
29
Figure 3.5 Register page for the OMBS include three steps to follow
Conditions > filling the information > confirmation the account
[Chapter 3: Methodology]
30
In case if you have an account you can easily access your profile by entering the
credentials E-mail and password and submit them to the database, then if it’s valid then
you are authenticated during authentication process which decides who are you? , but
another process should be pass to determine what are the resources available for you,
this process called the authorization process which navigate you to the correct place.
Figure 3.6 default page for the OMBS after logged in
[Chapter 3: Methodology]
31
After you logged in you will see the default page and advertisement for our system, you
can navigate to your profile by hit on your name in the status panel allocated at the top of
header.
Figure 3.7 Profile page for the OMBS after logged in
there are other pages for doctor and patient and making an appointment and contact us..
[Chapter 3: Methodology]
32
3.2.2.3 Low-Level Design
In the low-level design phase, a detailed design of the software modules, based on the
high-level design, is produced. In the low-level design phase, the flow of the different
modules in the OMBS project and the interactions between various interfaces are defined.
The flow and the interaction between the interfaces are shown in the following figures.
Figure 3.8 Flowchart of the Login module for patient Access
Designed with Microsoft Visio 2010
[Chapter 3: Methodology]
33
Figure 3.9 Flowchart of the Report module for OMBS
Designed with Microsoft Visio 2010
[Chapter 3: Methodology]
34
Figure 3.10 Flowchart of the Appointment, Consultation module for OMBS
Designed with Microsoft Visio 2010
[Chapter 3: Methodology]
35
3.2.2.4 Construction
In the construction phase, different software modules are built. This phase uses the output
of the low-level design to produce software components.
This phase discussed in chapter 4 Construction phase.
3.2.2.5 Integration and Testing
The integration of different modules and testing are conducted during the integration and
testing phase. The quality assurance (QA) team validates whether the functional
requirements, defined in the requirements document, are met.
3.2.2.6 User Acceptance Testing
In this phase, the acceptance criteria include the fulfillment of all the requirements
identified during the requirements analysis phase.
3.2.3.1 Implementation
The system is installed and made operational in a production environment. The
implementation phase is initiated after the system has been tested and accepted by the
client. This phase continues until the system operates in a production environment.
3.2.3.2 Operations and Maintenance
In the operations and maintenance phase, software is monitored for performance in
accordance with user requirements. In addition, the modifications that are required are
incorporated in the software. Operations continue as long as a system can effectively
adapt to an organization’s needs. However, when modifications or changes are identified,
the system may re-enter the planning phase.
Chapter Five
Conclusion & Future work
[Conclusion]
40
5. Conclusion & Future Work
5.1 Conclusion
The system is composed of two technologies: database where the adding, retrieving,
editing, deleting and updating of data happens in the database engine, and GUI which
provides an interface to communicate with database.
The system is helpful to the humans in case of making an appointment online with
specialist doctor, each patient have its own medical record can access anytime, also
searching for doctors available time, the system provides a means to remind their patient
on the appointment time and a simple feature to translate between languages to be
understandable.
Beside the functional requirement of the system there are also requirements called non-
functional requirement not stated by the customer, which is very important because may
the system lies down since one of them not improved! Is that possible?
Our system must at least improve some of Good attributes for Software in terms of
Software engineering:
• Security.
• Scalability.
• Flexibility.
• Efficiency.
• Maintainability.
5.2 Future work
This software system is a web-based application accessed on-line, but at the receptionist
area instead of web-application we may extend the system with another application
(Windows-application) because it accessed only by one person which is receptionist, if
the patient want to reserve an appointment locally (inside the hospital) with the
receptionist then it’s record stored in the same database of the system and then the record
can be accessed either online by the patient or locally by receptionist.
[References]
41
References
[Books]
[1] [Database Systems A Practical approach to design, Implementation and
Management 2nd
ed. – THOMAS CONNOLLGY , CAROLYN BEGG AND
ANNE STRACHAN]
[2] [Systems Analysis and Design 8th ed. - K. Kendall, J. Kendall (Pearson,
2011) BBS].
[3] [Microsoft C Sharp Professional Projects 2002 ISBN: 1-931841-30-6
Geetanjali Arora, Balasubramaniam, Aiaswamy, Nitin Pandey] 2002.
[4] [Silberschatz−Korth−Sudarshan, Database System Concepts, Fourth
Edition].
[5] [Microsoft® SQL Server™ 2008, A Beginner’s, Guide: Author: Professor:
Dušan Petković].
[6] [Microsoft SQL Server 2008 R2, Administration Cookbook, Author: Satya
Shyam K Jayanty].
[7] [Modern Database Management, 6th Edition, Jeffrey A. Hoffer, Mary B.
Prescott, Fred R. McFadden].
[Web Sites]
[1] [http://www.appointment-plus.com/ ].
[2] [http://ecomputernotes.com/fundamental/what-is-a-
database/advantages-of-database].
[Thesis]
Online Booking & Patient Information System
Sim University
School Of Science and Technology
Student: Chua Lay Teng (B0707060)
Supervisor: Mr Kumbar, Shankarappa
Project Code: Jan2010/Bme/0039

Graduation Project

  • 1.
    University of Koya Facultyof Engineering Software Department Online Medical Booking System A Project Submitted to the School of Computer Engineering / Faculty of Engineering / University of Koya In a partial fulfillment of the requirements for the Degree of B.Sc. In Software Engineering Department Prepared By: Pshtiwan A. Hassan Safaa A. Nasir Ahmed H. Abdullah Supervised by Mr. Marwan A. M 19-5-2013 ۹-۷-۱٤۳٤‫ھـ‬
  • 2.
    Gifting Gifting ‫اﻟﺮﺣﯿﻢ‬ ‫اﻟﺮﺣﻤﻦ‬ ‫ﷲ‬‫ﺑﺴﻢ‬ "‫وﻋﻠﻤﻪ‬ َ‫اﻟﻘﺮأن‬َ‫ﺗﻌﻠﻢ‬ ‫ﻣﻦ‬ ‫ﺧﻴﺮﻛﻢ‬" (‫اﻟﻌﻈﯿﻢ‬ ‫ﷲ‬ ‫)ﺻﺪق‬ :(‫وﺳﻠﻢ‬ ‫ﻋﻠﯿﮫ‬ ‫ﷲ‬ ‫ﻣﺤﻤﺪ)ﺻﻠﻰ‬ ‫ﷲ‬ ‫رﺳﻮل‬ ‫ﻗﺎل‬ "‫اﻟﺠﻨﺔ‬ ‫اﻟﻰ‬ َ‫ﺎ‬‫طﺮﯾﻘ‬ ‫ﻟﮫ‬ ‫ﷲ‬ َ‫ﻞ‬‫ﺳﮭ‬ َ‫ﺎ‬‫ﻋﻠﻤ‬ ‫ﻓﯿﮫ‬ ٌ‫ﯾﻠﺘﻤﺲ‬ َ‫ﺎ‬‫طﺮﯾﻘ‬ ‫ﺳﻠﻚ‬ ‫ﻣﻦ‬‫)ﺻﺪق‬ " (‫ﷲ‬ ‫رﺳﻮل‬ : ‫اﻟﺸﺎﻋﺮ‬ ‫ﯾﻘﻮل‬ ‫ﻛﻤﺎ‬ ُ‫ﻢ‬‫ﻓﺎﻟﻌﻠ‬ ‫"ﻓﺘﻌﻠﻤﻮا‬"‫ﻣﻐﻠﻘــــــــــــــــﻰ‬ ِ‫ة‬‫ﻟﻠﺴﻌﺎد‬ ‫ﺑﺎﺑـــــــــــــــــﺄ‬ ِ‫ﻖ‬‫ﯾﺒ‬ ‫ﻟﻢ‬ ‫اﻟﻌﻠــــــــــــــــﻰ‬ ‫ﻣﻔﺘﺎح‬ I would like to offer my unpretending work for everyone who contributes to enhance our society in practical life; and makes the technology helpful for the humans.
  • 3.
    [Certification] Acknowledgement First of all,"�‫"اﻟﺤﻤـــــــــــﺪ‬ All thanks to Allah who create me when I was nothing, all thanks to Allah who give everything. I’m thankful to my family they always supported me in both of incorporeal and physically. Thanks to Teachers Staff: • Dr.Yazen who encourage me to complete my way in the university. • Dr.Tarik who make me in love with my department (Software Engineering) • Mr. Marwan he is my supervisor and my supporter and who make all that possible. • Dr.Kayhan who opened my mind in network. • Mr.Anmar gives us the meaning of our department Software Engineering. • Mr.Zrar. • Dr.Salah. • Mr.Ladeh. During my way in building this project I spent a lot of time only for theoretically and I was distrait with which tool I should build the system, which methodology should I follow? And fortunately this year I studied Software engineering subject and I discover with this subject a great topics solved the project life cycle, but the choice of which tool, that’s actually depending on the business policies. My advice to everyone who trying to build web-based applications system must build the bone and then the skin Bone is the database Skin here is the ASP.NET Web Forms The Neural network between them is the ADO.NET.
  • 4.
    [Certification] SUPERVISOR’S CERTIFICATION I certifythat this project entitled “Online Medical Booking System” Is prepared under my supervision at the school of computer Engineering – Faculty of engineering / University of Koya in partial fulfillment of the requirements for the degree of B.Sc. in the Software Engineering. Signature: Name: Marwan Aziz Title: Supervisor Date: 19 / 5 / 2012
  • 5.
    Abstract I Abstract Main objective ishelping a human that is considered the root hint for our proposed idea (OMBS), and the leaves are what the features that the System would be able to support; you’ll discover in chapter 1 later what the leaves are? Before I go on into the project life cycle I must identify the tools that help me in order to achieve this project I mentioned that in chapter 2. I found that within the software engineering the ability to follow specific pattern to make our plant growing correctly, and also in chapter 3 you’ll see which kind of method I used. The construction (building or coding) of the project done in chapter 4. As a final result the system is ready to use! And to deploy it either in a LAN, WAN, VPN Networks, that’s belong to the business policies, as soon as after the system deployed should be capable of responding to the good software attributes just like scalability, maintainability, security and so on that is mentioned in chapter 5.
  • 6.
    Contents II Contents Title Page Abstract ……………………………………………………………………………I Content…………………………………………………………………………….. II-III List of Abbreviations………………………………………………………………. IV Chapter 1: Introduction 1.1 Overview of scheduling online system………………………………………... 1 1.2 Issues of old fashion for scheduling ………………………………………… 2 1.3 Aims ………………………………………………………………………….. 3 1.4 project architecture …………………………………………………………… 4 Chapter 2: Basic Concept and Background 2.1 Database ……………………………………………………………………… 5 2.1.1 Database vs. file processing ………………………………………………… 7 2.1.2 Why database................................................................................................... 8 2.1.3 Database Management System……………………………………………… 9 2.1.3.1 MS SQL Server ……………….………………………………………….. 10 2.2 IDE ……………………………………………………………………………. 12 2.2.1 GUI………………………………………………………………………….. 14 2.3 Programming Language……………………………………………………….. 15 2.3.1 Web Application…………………………………………………………….. 16 Chapter 3: Methodology 3.1 An overview of project process……………………………………………….. 17 3.2 Project life cycle………………………………………………………………. 18 3.2.1 Project initiation phase……………………………………………………… 19 3.2.1 Project execution phase……………………………………………………... 19 3.2.3 Project deployment phase………………………………………………….... 19 3.2.2.1 Analyzing requirements………………………………………………….... 19 3.2.2.2 High-level design………………………………………………………...... 23 3.2.2.2.1 Database design……………………………………………………......... 23 3.2.2.2.2 Interface design…………………………..……………………………… 27 3.2.2.3 Low-level design………………………………………………………...... 32 3.2.2.4 Construction………………..……………………………………………… 35 3.2.2.5 Integration and testing…………………………………………………...... 35 3.2.2.6 User acceptance testing………………………………………………….... 35 3.2.3.1 Implementation…………………………………………………………..... 35 3.2.3.2 Operation and maintenance……………………………………………....... 35 Chapter 4: Implementation 4.1 There are two phase to implement our proposed method …………………….. 36 4.1.1 First phase Construction of database…………..…………………….............. 36 4.1.2 Second phase Construction of interface ……………….................................. 39
  • 7.
    Contents III Chapter 5: Conclusionandfuture work 5.1 Conclusion…………………………………………………………................... 40 5.2 Future work……………………………………………………………………. 40 References…………………………………………………………………………. 41
  • 8.
    [List Of Abbreviations] IV Listof Abbreviations OMBS Online Medical Booking System LAN Local Area Network WAN Wide Area Network VPN Virtual Private Network IIS Internet Information Services WWW World Wide Web RAM Random Access Memory RDBMS Relational Database Management System SQL Structural Query Language SSMS SQL Server Management Studio IBM International Business Machine GUI Graphical User Interface T-SQL Transact Structure Query Language DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language IDE Integrated Development Environment ANSI American National Standard Institute QA Quality Assurance ADO Microsoft Active Data Object HTML Hyper Text Markup Language ASP Active Server Page CSS Cascade Style Sheet CISCO Name of city “Sanfrancisco” IP Internet Protocol
  • 9.
  • 10.
    [Introduction] 1 1. Introduction 1.1 Overviewof scheduling online system Processes and procedures that previously were adequate may no longer be effective in handling a rise in new patients, prompting administrators to seek out alternatives and new technology and techniques to assist them and their patients. Especially in our Web-connected society where more and more individuals prefer to conduct common tasks—such as scheduling appointments—online instead of picking up the phone and calling them in. Technological advancements like online scheduling software have made the patient- booking process easier for both administrative staff and patients. They typically access the online scheduling system through a “Book Now” button found on a Web site or page provided to them by the medial, healthcare or wellness facility. Once a date and time are selected, the system will automatically confirm the booking and instantly record it within the system, without any staff action needed.
  • 11.
    [Introduction] 2 1.2 Issues ofold fashion for scheduling • Time for example: spending time for going to hospital and then you might found that the doctor not available at that time Okay, you’ll be disappointed then you have one of the two choices: search for another hospital about specialist doctor or going back to home!? • Effort Besides spending time followed by spending effort also. • Money. If the location of the hospital far away from your home you need to hire a means of transport to arrive there, besides spending time and effort. • Missed appointment. Let’s assume in rare case you forgot the exact date of appointment so your turn will be at the last queue. • Availabilities. In Europe Countries the old fashion to make an appointment was by making phone to the receptionist in order to reserve an appointment, but this way not efficient in case you make phone during rest hours or another one makes call or not exist at night?! Other problems can be found by Analysis phase (information gathering) where the problems can be stated directly or indirectly by the customer how interact with our system i.e. we need the opinion both of the patient and the doctor to state the exact required features (functional requirements) included in the future system.
  • 12.
    [Introduction] 3 1.3 Aims According tothe Issues that mentioned above the system may have to make an aims to follow:- • OMBS (Online Medical booking System) Aims to solve the problems of spending time, effort and money by Making the reservation of an appointment On-line: OMBS is a Web-based application that allows individuals to conveniently and securely  Not that much, book their appointments and reservations online through any Web-connected device, such as a computer, laptop, smartphone or tablet. • OMBS Aims to solve problem of missing an appointment by Making reminder calls to the patient: In addition to online scheduling, OMBS also come equipped with other beneficial features like automated e-mail reminder, which the system sends out to patients on a specific date prior to their scheduled appointment. • OMBS Aims to solve problem of Availability by Making the System operate on 24/7 for the patients: Scheduling appointments over the phone usually requires an individual to phone in during office hours, as few facilities offer round-the-clock phone booking. This is an inconvenience for most patients, as they too are working at this time. Additionally, many individuals prefer to schedule their appointments online rather than over the phone. An online scheduling system allows for 24-hour scheduling, not just during normal facility or office hours.
  • 13.
    [Introduction] 4 1.4 Project architecture Oursystem is 3-tier client/server architecture: First tier is a client tier; client means a computer device when connected to the World Wide Web (WWW). Second tier (middle tier) is the IIS tier (web server tier), our resources (directories, files, images, and other type of information) all are located in web server, for example client request specific file such (appointment.aspx) from the web server hard disk, the operation of the process done with memory (RAM). Third tier is the (database tier) where all the data such as patient record, scheduling table, profiles, other detail information stored in a database. Database is the repository for storing data in a form of tables and the ability to make relationship among them. Figure 1.1 Project Architecture (3-tier Client/Server architecture)
  • 14.
  • 15.
    [Chapter 2: BasicConcepts And Background] 5 2. Basic concepts and background Before we go on to which methodology should be follow, let’s take a brief introduction about what are the tools that are helpful in building the system? Along this chapter I’ll talk or I ‘ll explain about the following :  Database  IDE  Programming Language 2.1 Database The first step in the development of a project is to design a robust database. Before you design a database, it’s a good idea to recapitulate the concepts related to a database. Data: Meaningful facts, graphics, sound, text, images and video segments. Database is the base for all data that are stored in a form of tables. “When you build your house you need to make the base strong enough to ensure it will still stand for long time!” According to my simple experience along this project I found that the database is the most important part of any software system, and should be careful and accurate when design it and implementing the SQL statement.
  • 16.
    [Chapter 2: BasicConcepts And Background] 6 In this project the database is more than just tables for storing data, but it extended to have a relationship among these tables, that’s why we call it Relational Database Management System (RDBMS). In addition to, we can add constraint on storing the data in database, like adding specific constraints on a data field i.e. Allowed or Not Allowed Value for data field, unique value or between a range of number …. And so on. Figure 2.1 Showing database OMBS shared with different clients by different Applications. One of the most important advantages of the database is that sharing the data among several applications at the same time, and the application should has a means to create bridge to the database and use SQL to edit, delete, update data within database I.e. ASP.NET 4.0 Uses ADO.NET Framework to communicate with database.
  • 17.
    [Chapter 2: BasicConcepts And Background] 7 Next section shows difference between the ways of storing data either using file system or database and advantages and dis-advantages for both. 2.1.1 Database VS. File processing (file System) Typically we have two ways to store data (database and file system (program file)) • Database: A central data-store that can be read from different sources such as (MS Access and MS SQL server ….). • File System: Distributed data-stores that can usually only be read from a single source such as (MS Excel, MS power point and MS word….). Dis-advantages of file processing: • Data redundancy and inconsistency: Multiple file formats, duplication of information in different files • Difficulty inaccessing data: Need to write a new program to carry out each new task • Data isolation: multiple files and formats • Integrity problems. • Atomicity of updates: Failures may leave database in an inconsistent state with partial updates carried out • Concurrent access by multiple users Database systems offer solutions to all the above problems. Such as remove duplication of data.
  • 18.
    [Chapter 2: BasicConcepts And Background] 8 Figure 2.1 Not allowed Phone_No to be duplicated. 2.1.2 Why Database? Because of database is a repository of data, a place where you can store data and extract it whenever required. You can store and extract data from a database in various ways. Advantages of database systems such as: 1. An organized and comprehensiveness of recording the result of the firms activities. 2. Reduced updating errors and increased consistency. 3. Data integrity and independence from applications programs. 4. Improved data access to users through use of host and query languages. 5. Improved data security. 6. Facilitated development of new applications program. 7. Speed. 8. Easy for understanding data report. 9. Accuracy.
  • 19.
    [Chapter 2: BasicConcepts And Background] 9 2.1.3 Database Management System (DBMS): A database-management system (DBMS) is a collection of interrelated data and a set of programs to access those data. The collection of data, usually referred to as the database, contains information relevant to an enterprise. The primary goal of a DBMS Is to provide a way to store and retrieve database information that is both convenient and efficient. DBMS Internals: 1. Storage management 2. Query processing 3. Transaction processing. Therefore we have many types of database management system such as MS Access, My SQL Server , Oracle, MySQL….etc. in our project use MS SQL Server 2008 R2.
  • 20.
    [Chapter 2: BasicConcepts And Background] 10 2.1.3.1 MS SQL Server: The SQL Server relational database language is called Transact-SQL. It is a dialect of the most important database language today: Structured Query Language (SQL). The origin of SQL is closely connected with the project called System R, which was designed and implemented by IBM in the early 1980s. Microsoft SQL Server is a powerful relational database engine, widely used to store and maintain data in Enterprises of various levels—be they small, medium, or large. SQL Server delivers a rich set of integrated services and reporting features that enable you to do more with your data such as query, search, synchronize, report, and analyse. SQL Server 2008 R2 accelerates the capabilities to scale database operations and is a highly scalable data platform. Contrast to traditional languages like C, C++, and Java, SQL is a set-oriented language. (The former are also called record-oriented languages.) This means that SQL can query many rows from one or more tables using just one statement. This feature is one of the most important advantages of SQL, allowing the use of this language at a logically higher level than the level at which traditional languages can be used.
  • 21.
    [Chapter 2: BasicConcepts And Background] 11 Another important property of SQL is non-procedurally. Every program written in a procedural language (C, C++) describes how a task is accomplished, step by step. In contrast to this, SQL, as any other non-procedural language, describes what it is that the user wants. Thus, the system is responsible for finding the appropriate way to solve users’ requests. SQL contains three sublanguages: • Data definitionlanguage (DDL) DDL statements are used to describe the schema of database tables Like CREATE, ALTER and DROP Object. • Data manipulation language (DML). DML statements are used to add, delete and update record. Like UPDATE, INSERT and DELETE Record. • Data Control Language(DCL) Grant and denied an access for a user’s like GRANT SQL is an ANSI (American National Standards Institute) standard for accessing database systems. Advantages of MS SQL Server 2008 are: o Ease of use and maintenance o Fast and efficient o Security and Stability o Availability and Reliability o Programmability (T-SQL) o Concurrency and locking
  • 22.
    [Chapter 2: BasicConcepts And Background] 12 Some of the services provided by MS SQL Server 2008 are: o Replication services o Analysis services o Reporting services o Notification services o Integration services o Full text search services 2.2 IDE IDE Stands for (integrated development environment) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Some IDEs contain a compiler, interpreter, or both, such as Microsoft Visual Studio and Eclipse; others do not, such as Sharp Develop and Lazarus. Sometimes a version control system and various tools are integrated to simplify the construction of a GUI. Many modern IDEs also have a class browser, an object inspector, and a class hierarchy diagram, for use with object-oriented software development. In our project we are use Microsoft Visual Studio 2010, Clears the UI organization and “reduces clutter and complexity”,
  • 23.
    [Chapter 2: BasicConcepts And Background] 13 The new IDE better supports multiple document windows and floating tool windows. Visual Studio 2010 comes with .NET Framework 4 and supports developing applications targeting Windows 7, it supports IBM DB2 and Oracle databases, in addition to Microsoft SQL Server. It has integrated support for developing Microsoft Silverlight applications, including an interactive designer. Visual Studio 2010 offers several tools to make parallel programming simpler: in addition to the Parallel Extensions for the .NET Framework and the Parallel Patterns Library for native code, Visual Studio 2010 includes tools for debugging parallel applications. The new tools allow the visualization of parallel Tasks and their runtime stacks. The Visual Studio 2010 code editor now highlights references; whenever a symbol is selected; all other usages of the symbol are highlighted.it also offers a Quick Search feature to incrementally search across all symbols in C++, C# and VB.NET projects. Features of MS Visual Studio 2010: 1. Code editor 2. Debugger 3. Designer 4. Windows form Designer 5. WPF Designer 6. Web designer/development 7. Class designer 8. Data Designer 9. Mapping designer 10.Open Taps browser 11.Properties Editor 12.Object browser 13.Solution Explorer 14.Server explorer 15.Dotfuscator Software Services Community Edition 16.Text Generation Framework
  • 24.
    [Chapter 2: BasicConcepts And Background] 14 Figure 2.2 Microsoft visual Studio Start page 2.2.1 GUI GUI stands for (Graphical User Interface) is a visual computer environment that represents programs, and that’s how the uses interacts with database through programmed components like Button, Text Box, Radio Button, Check Box, and dialog box etc.. User initiate the event triggered by for example a button has been clicked by mouse or checking E-mail availability within database during typing by keyboard in a Text Box. The GUI for current project designed by Microsoft Visual Studio 2010 (IDE) >Web Application> Visual C#.
  • 25.
    [Chapter 2: BasicConcepts And Background] 15 2.3 Programming Language: C# (pronounced "See Sharp") is a multi-purpose computer programming language suitable for all development needs. Although C# is derived from the C programming language, it has features such as garbage collection that allow beginners to become proficient in C# more quickly than in C or C++. Similar to Java, it is object-oriented, comes with an extensive class library, and supports exception handling, multiple types of polymorphism, and separation of interfaces from implementations. Those features, combined with its powerful development tools, multi-platform support, and generics, make C# a good choice for many types of software development projects: rapid application development projects, projects implemented by individuals or large or small teams, Internet applications, and projects with strict reliability requirements. C# is intended to be a simple, modern, general-purpose, object-oriented programming language. Its development team is led by Anders Hejlsberg. The most recent version is C# 4.0, which was released on April 12, 2010. Although C# applications are intended to be economical with regard to memory and processing power requirements, the language was not intended to compete directly on performance and size with C or assembly language.
  • 26.
    [Chapter 2: BasicConcepts And Background] 16 2.3.1 Web Application: In this this project we are using Asp.net by C# ASP.NET is a server-side Web application framework designed for Web development to produce dynamic Web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, web applications and web services. It was first released in January 2002 with version 1.0 of the.NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language. We choice Asp.net because it has many advantages such as • ASP.NET drastically reduces the amount of code required to build large applications. • Optimum speed of development. • High Reliability. • Rigorous Security. • Easy configurations of applications. • Vast and enriched Class library, features, controls. • ASP.NET Framework supports varied languages. Code behind file separate from the html code.
  • 27.
  • 28.
    [Chapter 3: Methodology] 17 3.Methodology 3.1 An Overview of Project Process Software has now surpassed hardware as the key to the success of many computer-based systems. Unfortunately, the track record at developing software systems is not particularly impressive. The last few decades have seen the proliferation of software applications ranging from small, relatively simple applications consisting of a few lines of code, to large, complex applications consisting of millions of lines of code. Many of these applications required constant maintenance. This involved correcting faults that had been detected, implementing new user requirements, and modifying the software to run on new or upgraded platforms. The efforts spent on maintenance began to absorb resources at an alarming rate. As a result, many major software projects were late, over budget, unreliable, difficult to maintain, and performed poorly. This led to what has become known as the ‘software crisis’. Although this term was first used in the late 1960s, more than 30 years later, the crisis is still with us. As a result, some authors now refer to the software crisis as the ‘software depression’. As an indication of the crisis, a study carried out in the UK by OASIG, a special Interest Group concerned with the Organizational Aspects of IT, reached the following conclusions (OASIG, 1996):  80-90% does not meet their performance goals.  About 80% of systems are delivered late and over budget.  Around 40% of developments fail or are abandoned  Less than 25% properly integrate business and technology objectives.  Just 10-20% meets all their success criteria.
  • 29.
    [Chapter 3: Methodology] 18 Thereare several major reasons for the failure of software projects including:  Lack of a complete requirements specification.  Lack of an appropriate development methodology.  Poor decomposition of design into manageable components. As a solution to these problems, a structured approach to the development of software was proposed and this is called the Information System Lifecycle or the Software Development Lifecycle (SDLC). 3.2 Project Life Cycle The development life cycle of a project involves three phases: Project initiation Project execution Project deployment Project development actually starts when the need to develop or significantly change an existing system is identified. In this case, the need is to store, organize, and analyze the data and an interface to access the data using Web Application Programming Language i.e. ASP.NET Visual C #. Figure 3.1 System Development Life Cycle of the project
  • 30.
    [Chapter 3: Methodology] 19 3.2.1Project initiation phase, A comprehensive list of tasks to be performed is prepared, and responsibilities, depending upon individual skills, are assigned to team members. 3.2.2 Project execution phase The development team develops the application .this phase consists of the following stages: Analyzing requirements Creating high-level design Creating low-level design Constructing Integration and testing User acceptance testing 3.2.3 Project deployment phase In this stage, the application is deployed at the client location, and support is provided to the client for a specified period. In addition, any bugs identified in the application are debugged. This phase consists of the following two stages: Implementation Operation and maintenance 3.2.2.1 Analyzing Requirements Analyzing requirements is the process of determining and documenting a customer needs and constraints. Subsequently, based on these requirements, I create a plan for developing the application. The process of analyzing requirements often starts with a problem statement given by a customer or the customer’s representative. Analysts organize all the information gathered from the customer and analyze the customer’s needs. Finally, they prepare a written description of the customer’s problem and define a possible solution. In this case, the problem statement, there’s needed to make reservation easier and more flexible in practice.
  • 31.
    [Chapter 3: Methodology] 20 Onanalyzing the problem statement, I can define the following list of problems: • The hospital needs to create databases to store and organize data i.e. Patient Record. • The hospital needs to analyze the data. • Based on the analysis of the data, the hospital needs to find the medical history for each patient and its reservations. • Based on the analysis of the data, the hospital needs to find the statistics of diseases in the country and other info... As a solution to the problems we proposed that a Web-Based Application with the following features be developed for specific hospital: • The application communicates with the databases and displays the data from the databases by the Web Pages. • The application includes a means to create reports that are used for analysis of the data. • The application is then deployed at the client site. • The application include automatic mechanism feature to remind the patients at their dates of an appointment that’s leads to reduce no-shows. Use Case Modeling Originally introduced as a diagram for use in object-oriented UML, use cases are now being used regardless of the approach to systems development. It can be used as part of the SDLC or in agile modeling. use case model describes what a system does without describing how the system does it; that is, it is a logical model of the system.
  • 32.
    [Chapter 3: Methodology] 21 UseCase Symbols A use case diagram contains the actor and use case symbols, along with connecting lines. • Actor. • User case. • Connecting lines. Actors: Are similar to external entities; they exist outside of the system. The term actor refers to a particular role of a user of the system. For example, an actor may be Patient, Doctor, Administrator, Receptionist and Nurse. An actor can be a human, another system, or a device such as a keyboard or Web connection. Actors can initiate an instance of a use case. Use case: A use case provides developers with a view of what the users want, we can think of a use case as a sequence of transactions in a system. A use case always describes three things: an actor that initiates an event; the event that triggers a use case; and the use case that performs the actions triggered by the event. Use Case Relationships: Table 3.1 shows relationship symbols of the use case modeling
  • 33.
    [Chapter 3: Methodology] 22 Figure3.2 Use Case diagrams Designed with Enterprise Architect As you can see the diagram shows different roles (Actors) include in the system each has its own privileges to do some task with the system, and also the diagram shows the features involve within the system.
  • 34.
    [Chapter 3: Methodology] 23 3.2.2.2High-Level Design The second stage in the project execution phase is to develop a high-level design. In the high-level design phase, the external characteristics of the system, such as interfaces, are designed. In addition, in this phase, the operating environment and various subsystems and their input and output are decided. In this stage, features that require user input or approval from the client are documented, and client approval is obtained for the same. These documents include the functional specifications document of the application, which is presented in a simple language to the client. The functional specifications include the description of the databases, Web Pages, and reports that will be included in the application. This application will be called Online Medical Booking System. High-level design includes: • Database design. • Interface design. 3.2.2.2.1 Database design The first step in the development of a project is to design a robust database. Why do you need a database? A database is a repository of data, a place where you can store data and extract it whenever required. You can store and extract data from a database in various ways. One of the ways is by using SQL (structured query language) In order to design a database, you must decide what are the entities have interaction with the system and then its attributes and the constraints for each field. After all that we can establish the relation between each entity by using a foreign key reference to the primary key in another table.
  • 35.
    [Chapter 3: Methodology] 24 ReferentialIntegrity Foreign keys are used to establish relationships. However, you may be wondering why you need to establish these relationships. Referential integrity provides the following benefits. It prevents users from: • Adding records to a related table if there is no associated record in the primary table • Changing values in a primary table when there are related records in the related table • Deleting records from a primary table if there are related records in the related table Normalization Normalization refers to the process of reducing data redundancy. It usually involves splitting data into two or more tables until repeating groups of data are placed in separate tables. The following rules help to design a robust database: • A table should have a unique identifier. • A table should not have repeating values or columns. • A table should store data for only a single type of entity. • A table should avoid columns with null values.
  • 36.
    [Chapter 3: Methodology] 25 Afterapplying all the concepts discussed so far, below the fruit is the database structure: Figure 3.3 ER-Diagram for the OMBS database Designed with Microsoft Visio 2010
  • 37.
    [Chapter 3: Methodology] 26 Thefollowing section discusses the details of some tables in the OMBS Project: • The tbl_Hospital table: This table is used to store information about a specific hospital. Column Name Data Type Length Allow Nulls Id int - No Hospt_Name nvarchar 30 No Hospt_Photo nvarchar(30) 30 No Hospt_Location nvarchar(40) 40 No Emergency_Phone int - No Table 3.2 shows data structure for hospital table • The tbl_Profile table: Generalization applied here, because each role (patient, doctor…and so on) have a common attributes, hence they are human and each human has first name, last name, gender, age ……. So I put these common attributes in one table and I make an association between each role with this table if he/she has additional attributes. Column Name Data Type Length Allow Nulls Id int - No First_Name nvarchar 15 No Last_Name nvarchar 15 No Gender nvarchar 10 No Age int - No Photo nvarchar 50 Yes Personal_Phone_No bigint - No Home_Phone_No bigint - Yes Street nvarchar 40 No PostalCode int - Yes BloodType int - Yes Country_Id int - Yes City_Id int - Yes Table 3.3 shows data structure for profile table.
  • 38.
    [Chapter 3: Methodology] 27 3.2.2.2.2Interface design The Online Medical Booking System project includes the Login Page, Register Page, Confirmation Page and directories for each role: Patient: has User>Profile page with other resources. Doctor: has Doctor>Profile page with other resources. Admin: has Admin>Profile page with other resources. All the above pages actually it’s just an interface to access data from the tbl_PatientDetails, tbl_DoctorDetails, and tbl_AdminDetails tables, respectively. In addition, the OMBS project includes the main or default page, contact page, the Reports page for admin and an appointment page. First Time when you access the system you’ll navigate automatically if you don’t have an account to the login page this mechanism provided by ASP.NET 4.0 called Forms Authentication Figure 3.4 Login page for the OMBS
  • 39.
    [Chapter 3: Methodology] 28 Incase you’re patient and you want to register you need to follow the link in the top at the header of the website and you need to pass with 3 steps in order to complete the registration correctly?
  • 40.
    [Chapter 3: Methodology] 29 Figure3.5 Register page for the OMBS include three steps to follow Conditions > filling the information > confirmation the account
  • 41.
    [Chapter 3: Methodology] 30 Incase if you have an account you can easily access your profile by entering the credentials E-mail and password and submit them to the database, then if it’s valid then you are authenticated during authentication process which decides who are you? , but another process should be pass to determine what are the resources available for you, this process called the authorization process which navigate you to the correct place. Figure 3.6 default page for the OMBS after logged in
  • 42.
    [Chapter 3: Methodology] 31 Afteryou logged in you will see the default page and advertisement for our system, you can navigate to your profile by hit on your name in the status panel allocated at the top of header. Figure 3.7 Profile page for the OMBS after logged in there are other pages for doctor and patient and making an appointment and contact us..
  • 43.
    [Chapter 3: Methodology] 32 3.2.2.3Low-Level Design In the low-level design phase, a detailed design of the software modules, based on the high-level design, is produced. In the low-level design phase, the flow of the different modules in the OMBS project and the interactions between various interfaces are defined. The flow and the interaction between the interfaces are shown in the following figures. Figure 3.8 Flowchart of the Login module for patient Access Designed with Microsoft Visio 2010
  • 44.
    [Chapter 3: Methodology] 33 Figure3.9 Flowchart of the Report module for OMBS Designed with Microsoft Visio 2010
  • 45.
    [Chapter 3: Methodology] 34 Figure3.10 Flowchart of the Appointment, Consultation module for OMBS Designed with Microsoft Visio 2010
  • 46.
    [Chapter 3: Methodology] 35 3.2.2.4Construction In the construction phase, different software modules are built. This phase uses the output of the low-level design to produce software components. This phase discussed in chapter 4 Construction phase. 3.2.2.5 Integration and Testing The integration of different modules and testing are conducted during the integration and testing phase. The quality assurance (QA) team validates whether the functional requirements, defined in the requirements document, are met. 3.2.2.6 User Acceptance Testing In this phase, the acceptance criteria include the fulfillment of all the requirements identified during the requirements analysis phase. 3.2.3.1 Implementation The system is installed and made operational in a production environment. The implementation phase is initiated after the system has been tested and accepted by the client. This phase continues until the system operates in a production environment. 3.2.3.2 Operations and Maintenance In the operations and maintenance phase, software is monitored for performance in accordance with user requirements. In addition, the modifications that are required are incorporated in the software. Operations continue as long as a system can effectively adapt to an organization’s needs. However, when modifications or changes are identified, the system may re-enter the planning phase.
  • 47.
  • 48.
    [Conclusion] 40 5. Conclusion &Future Work 5.1 Conclusion The system is composed of two technologies: database where the adding, retrieving, editing, deleting and updating of data happens in the database engine, and GUI which provides an interface to communicate with database. The system is helpful to the humans in case of making an appointment online with specialist doctor, each patient have its own medical record can access anytime, also searching for doctors available time, the system provides a means to remind their patient on the appointment time and a simple feature to translate between languages to be understandable. Beside the functional requirement of the system there are also requirements called non- functional requirement not stated by the customer, which is very important because may the system lies down since one of them not improved! Is that possible? Our system must at least improve some of Good attributes for Software in terms of Software engineering: • Security. • Scalability. • Flexibility. • Efficiency. • Maintainability. 5.2 Future work This software system is a web-based application accessed on-line, but at the receptionist area instead of web-application we may extend the system with another application (Windows-application) because it accessed only by one person which is receptionist, if the patient want to reserve an appointment locally (inside the hospital) with the receptionist then it’s record stored in the same database of the system and then the record can be accessed either online by the patient or locally by receptionist.
  • 49.
    [References] 41 References [Books] [1] [Database SystemsA Practical approach to design, Implementation and Management 2nd ed. – THOMAS CONNOLLGY , CAROLYN BEGG AND ANNE STRACHAN] [2] [Systems Analysis and Design 8th ed. - K. Kendall, J. Kendall (Pearson, 2011) BBS]. [3] [Microsoft C Sharp Professional Projects 2002 ISBN: 1-931841-30-6 Geetanjali Arora, Balasubramaniam, Aiaswamy, Nitin Pandey] 2002. [4] [Silberschatz−Korth−Sudarshan, Database System Concepts, Fourth Edition]. [5] [Microsoft® SQL Server™ 2008, A Beginner’s, Guide: Author: Professor: Dušan Petković]. [6] [Microsoft SQL Server 2008 R2, Administration Cookbook, Author: Satya Shyam K Jayanty]. [7] [Modern Database Management, 6th Edition, Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden]. [Web Sites] [1] [http://www.appointment-plus.com/ ]. [2] [http://ecomputernotes.com/fundamental/what-is-a- database/advantages-of-database]. [Thesis] Online Booking & Patient Information System Sim University School Of Science and Technology Student: Chua Lay Teng (B0707060) Supervisor: Mr Kumbar, Shankarappa Project Code: Jan2010/Bme/0039