Engineering, 2013, 5, 527-529 Published Online October 2013 (
Copyright © 2013 SciRes. ENG
Design and Implementation of Clinic Appointment
Registration System
Xiuju Zhan, Xiufeng Liu
School of Medical Information Engineering, Guangzhou University of Chinese Medicine, Guangzhou, China
Received 2013
Clinic Appointment Registration System is an important way to se e a doctor, and it s also a preliminary tool for storage
and management of clinic medical records. This new system was developed using Visual Studio 2008 and C#.NET as
the development environment and tools and Microsoft Access 2003 as the database to store the medical data based on
Browse/Server (B/S) model. The system consists of several data operation functions including appointment registration,
data management (e.g. addition, deletion and searching), data backup and recovery, etc., thus, achieve key research ob-
Keywords: Clinic Appointment Registration System; C#.NET; B/S Mod e
1. Introduction
Clinic appointment registration system has been one of
the key barriers for hospitals to improve their service
quality. Especially for those high-level comprehensive
hospitals with a large amount of outpatients, outpatient
congestion is a common phenomenon. Online appoint-
ment registration system to see a doctor has been imple-
mented and is getting popular in some developed coun-
tries. The technology for making an online appointment
is getting mature. Domestically, only a few hospitals are
in the pilot phase in trying the online registration system.
The project is to follow the software life cycle, through
stages of demand analysis, system design, system im-
plementation, system testing and maintenance, to design
and develop an outpatient appointment registration sys-
tem based on B/S model. It provides learning programs
for the experimental teaching courses of Medical In-
formatics” and Hospital Information Systemfor stu-
dents majored in computer science focused on medical
informatics in our school. It can also be used in medium
and small hospitals as an outpatient appointment regis-
tration system.
2. System Requirements Analysis
Demand analysis is the first stage of software develop-
ment. It is a process of discovery, refinement, modeling,
specification and review. The demand analysis is directly
related to product quality of software, and subsequently
poses significant impacts on the design and implementa-
tion phases. In general (of software development), the
demand analysis includes both functional requirement
and technical requirement analyses [1].
2.1. Functional Requirements Analysis
There are two sets of functions for an online appointment
registration system based on B/S model. The first set of
functions are online registration functions including reg-
ister and login, selection of department, date, doctor and
other online booking registration functions. The opera-
tion flow chart is shown in Figure 1.
The second set of functions are data management func-
tions allowing the database administrator to add, delete,
inquire, modify, restore and backup data backup. In addi-
tion, deletion, inquiry and modification are the basic op-
erations of database management. They can effectively
maintain the consistency of the database to meet the ac-
tual need. The data backup and restore can greatly en-
hance the security of the system. Even if in the situation
of data loss, the system can be restored to the previous
version. The data management structure is shown in
Figure 2.
Figure 1. System flow chart for online appointment regis-
& Log in
& ID
Wait for
Copyright © 2013 SciRes. ENG
Figure 2. Data Management organization chart.
2.2. Technical Requirements An alysis
In software development, the system architecture is de-
termined by the functions required. The system architec-
ture determines system development model, development
environment and development tools. Taking into account
the system security and simplicity, our system uses B/S
structure as the system development model, Windows
Server 2003 as operating system, Visual Studio 2008 as
development environment, C#.NET as development plat-
form and development tools, and framework 3.5 as the
system framework [2,3]. Back-end database is Microsoft
Access 2003 with SQL Server database interface to faci-
litate data transfer and post-data analysis and data min-
3. System Design
3.1. System Functions Modular Design
According to business process, the system can be divided
into two ca tegories of users: the first user s are those who
want to make an online appointment. The second users
are the hospital staff of internal administrators. Appro-
priate permissions are set in the system corresponding to
the different user s et. Overall system fun ction struc ture is
shown in Figur e 3.
3.2. Database Design
Database design is an important part of software design.
The database design is directly related to the merits of
the program to achieve the efficiency and simplicity of
data access. Under normal circumstances, the database
usually adopts ER diagram (Entry-Relationship) to de-
termine the link between the data structure and data
tables [4]. In this system, the link between the data tables
is realized by the field code of patient’s appointment ID
number. According to requirement analysis and system
organization chart, our system contains thirteen data
tables including coding tables of department ID, doctor
ID, doctor information, doctor schedules, outpatient reg-
istration ID list, etc.
Figure 3. System function structure.
4. System Implementation
System implementation includes the implementation of
the functionalities of each module and the implementa-
tion of data backup and restoration. Here we will empha-
sis on introducing the impl ementat i on of data backup.
4.1. Data Backup
Data backup refers to storage of user data including files,
databases, application programs and etc for data recovery.
Despite a variety of protective measures embedded in the
system to prevent data security and integrity from dam-
age, data damage is inevitable because of the possibility
of computer system hardware failure, software error,
operator error, and malicious damage. Therefore, it is
imperative to provide data backup and restoration me-
chanism to improve system security [4 ].
4.2. Database Backup to Achieve
The data backup and restoration system are mainly achiev-
ed through the wrapper class AccessBak.
AccessBak.cs Source code is as follows:
public class AccessBak
{public void Create(string mdbPath)
// Check if the database already exists
{throw new Exception (“The target database already
exists, cannot create );}
// You can add password, so the database can only be
accessed with the password
mdbPath = Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=“ + mdbPath;
// Instance for creating a CatalogClass object,
ADOX.CatalogClass cat = new ADOX. Catalog-
//Use the Create method of CatalogClass object to
create an ACCESS database
//Compress and repair the ACCESS database, mdbPath
Appointment / Registration
Database Management
Modification Deletion Addition Restoration Backup Inquiry
System Main Interface
System ManagerPatient
Copyright © 2013 SciRes. ENG
as the absolute pa t h for the database
public void Compact(string mdbPath)
{if (!File.Exists(mdbPath)) // Check if the database a l-
ready exists
{throw new Exception(The target database does not
exist, can not be compressed”);}
// Enter a name for the temporary database
string temp = DateTime.Now.Year.ToString();
temp += DateTime.Now.Month.ToString();
temp += DateTime.Now.Day.ToString();
temp += DateTime.Now.Hour.ToString();
temp += DateTime.Now.Minute.ToString();
temp += DateTime.Now.Second.ToString() + .bak”;
temp = mdbPath.Substring(0, mdbPath.LastIndexOf(“\\”)
+ 1) + temp;
// Definite the connection string for the temporary da-
string temp2 = Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=“ + temp;
// Define the connection string for the target database
string mdbPath2 = Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=mdbPath;
// Instance for Creating a JetEngineClass object
JRO.JetEngineClass jt = new JRO.JetEngineClass();
// Compress and repair the JetEngineClass object da-
tabase using CompactDatabase method
jt.CompactDatabase(mdbPath2, temp2);
// Copy the temporary database to the target database
(overwrit e)
File.Copy(temp, mdbPath, true);
// Final step, delete the temporary database
public void Backup(string mdb1, string mdb2)
{throw new Exception(Source database does not exist
{File.Copy(mdb1, mdb2, true);}
catch (IOException ixp)
{throw new Exception(ixp.ToString());}}
// Restore the database, mdb1 as the absolute path for
the backup database, mdb2 as the absolute path for the
current database
public void Recover(string mdb1, string mdb2)
{if (!File.Exists(mdb1))
{throw new Exception(Backup database does not ex-
ist “);}
{File.Copy(mdb1, mdb2, true);}
catch (IOException ixp)
{throw new Exception(ixp.ToString());}
Click the backup button in the database to activate the
Click event. The database backup can be achieved as
long as it is using an AccessBak method.
5. Conclusion
The system integrates technology advantages of Visual
Studio 2008 and C #.NET development environment to
design and develop an outpatient online appointment
registration system. Since 2010, it has been used as an
experimental teaching program for Medical Informatics”
and Hospital Information Systemclasses for students
majored in computer science with orientation of medical
informatics in our school. It has led to satisf actory teach-
ing accomplishment. Because of the inadequate teaching
equipment, the functionality of online credit card pay-
ment cannot be implemented. We will continue to im-
prove and develop the system with goals of suitable to be
used in small and medium-size hospitals for managing
their outpatient online appointment registration and to be
used for managing outpatient medical records for data
6. Acknowledgements
This paper is supported by Chinese Medicine Streng-
thened Province Research Project of Guangdong Prov-
ince Administration of Traditional Chinese Medicine,
China (20111232), and Guangdong Province Social De-
velopment Field Technology Project of Guangdong Pro-
vincial Department of Science and Technology, China
[1] H. F. Zhang, Software Engineering,Tsinghua Univer-
sity Press, Beijing, 2007, pp. 10-15
[2] Jesse Liberty and Alex Horovitz, “Programming .NET
3.5, O’Reilly Me dia,” Vol. 8, 2008, p. 2.
[3] J. Sharp, “Microsoft Visual C# 2008 Step by Step,” Mi-
crosoft Press, Vol. 12, 2007, p. 2.
[4] S. X. Ca and S. Wang, “Introduction to Database System,
Higher Education Press, Beijing, 2006, p. 249.