Visitor Management System
Visitor Management System
Visitor Management System
INTRODUCTION
1.1 OVERVIEW OF THE PROJECT
Patient Visiting Appointment
Systems is the system that manages the patient details, staff details, and check-in and create
pass. Patient management using a desktop application system is an enormous and time-
consuming process involving heavy workload. In the proposed system, one can easily
manage the various function of the Patients in an efficient manner. Things like, Patient
details, etc are entered into the database in an optimised manner.
The key feature of this project is to easily provide entry, exit and passes for the
Patient. The front end of the project has been created using PHP and the back end using
MySQL. Patient management deals with many functions of a company, namely appointment
details, Patient details, pass details. The system also includes a few special
features such as creating unique identities for each member so Patient details can be
accessed easily.
The modules of this project are user, admin, doctor and appointment and report
generation. Things like appointment details, patient details and pass details associated allotted
in optimized manner.
1
1.2 COMPANY PROFILE
Our People we are close-knit organized team that consists of drive, dynamic and
talented achievers. Founded, Supported and Promoted by the team who have spent over a
decade in the Industry DSK Technologies has come into existence in September 2009 in
Chandigarh (India) Among us are professionals in computer graphics, specialist in object-
oriented programming languages and analysts with strong mathematical background. We
always press on developing innovating solutions and learning new technologies. We can
implement the most advanced computer technologies as well as develop new ones. The result
is very important for us. We prefer challenging tasks that give us opportunity to work on the
edge of our capabilities. We cope with customers’ order in the earliest possible date. We
work to make our customers feel comfortable and happy carrying out their business tasks.
Services
2
2. MODULE DESCRIPTION
USER
ADMIN
DOCTOR
APPOINTMENT
3
3. SYSTEM REQUIREMENTS
Backend : My SQL
SOFTWARE FEATURES
FRONT END
PHP is a powerful server-side scripting language for creating dynamic and interactive
websites. PHP widely used; free and efficient alternative to competitors such as Microsoft’s
ASP.PHP is perfectly suited for Web development and can be embedded directly into the
HTML code. The PHP syntax is similar to pearl and C.
4
PHP is open source that it is readily available and absolutely free. Stability, flexibility
and speed are chief qualities that attract to choose PHP.PHP have multiple extensions and is
extremely scalable.
SERVER-SIDE SCRIPTING
This server-side scripting is the most traditional and main target field for PHP.
Programmer needs three things to make this work. Programmer need to run the web server,
with a connected PHP installation. Programmer can access the PHP program output with a
web browser, viewing the PHO page through the server. All these can run on your home
machine if programmers are just experimenting with PHP programming.
Programmer can make a PHP script to run it without any server or browser.
Programmers only need the PHP parser to use it this way. This type of usage is ideal for
scripts regularly executed using croon (on*nix or Linux) or Task Scheduler (on Windows).
These scripts can also be used for simple text processing tasks.
FEATURES OF PHP
BACK END
MYSQL
5
MYSQL IS A DATABASE MANAGEMENT SYSTEM
A relational database stores separate data in separate tables rather than putting all the
data in one big storeroom. This adds speed and flexibility. The SQL part of “MYSQL” stands
for “Structured Query Language”. SQL is the most common standardize language used to
access database and is defined by the ANSI/ISO SQL standard. The SQL standard has been
evolving since 1986 and several versions exist.
Open source means that it is possible for anyone to use modify the software. Anybody
can download the MYSQL software uses the GPL(GNU General Public License), to define
what we may and may not use do with the software.
6
A large amount of contributed MYSQL software is available: Modern day websites
seem to be relying more and more on compel the Structured Query Language is a very
popular database language, and its standardization makes it easy to store, update and access
data. One of the most powerful SQL servers out there is called MYSQL and surprisingly
enough, it’s free.
Some of the features of MYSQL include: Handles large databases, in the area of
50,000,000+records. No memory leaks. Tested with a commercial memory leakage detector
(purify). A privilege and password system which is very flexible and secure, and which
allows host-based verification. Passwords are secure since all password traffic when
connecting the server is encrypted.
FEATURES OF MYSQL
CLIENT/SERVER ARCHITECTURE
SQL COMPATIBILITY
As before said SQL is a standardized language for querying and updating data and
for the administration of a database. Through the configuration setting sol-mode we can make
the MYSQL server behave for the most part compatibly with various database systems.
STORED PROCEDURES
Stored procedures (SPs for short) are generally used to simplify sgteps such as
inserting or deleting a data record.
TRIGGERS
Triggers are SQL commands that are automatically executed by the server in certain
database operations INSERT, UPDATE, and DELETE, MYSQL has supported triggers.
7
REPLICATION
4. SYSTEM ANALYSIS
Existing system is based on desktop application work and all the process are done
through desktop application, so they maintain several database registers for recording all the
details of the system. They maintain several registers for recording the entry of daily
transactions such as Patients visited, Patient pass, etc.
They maintain the record of the Patients so they keep entire information regarding the
Patient in the Patient master file. In the similar fashion they maintain the records of their
visits so they keep entire information regarding their visits in the visit master file. They keep
the Patient book to maintain the record for the visits.
They maintain the register or book for Patient information, Patient list, check in and
checkout information and all the things are done with the help of desktop application.
The phase of analysis process deals with problems that are affecting in the current
desktop application system. The problems are those, which are affecting the organisation in
its daily routine work. As the growing trend in InfoTech World of computers need of
accuracy, perfectness, speed and high memory data storage is a must. Each and every
problem must be solved with a least amount of time and energy. The problems faced by
existing system are described as below:
8
Editing of data becomes a tedious job
No security of data
Lack of efficiency and man power
High data redundancy
Data inconsistency
It is very difficult to maintain data record in the system as all the records are entered
in the register or the respective record books. There are chances of the record books or files in
which all the data is kept may be torn or wearied out or some other damages which results in
destroyed data. Also a problem occurs if the data file or register is misplaced somewhere else
and is lost at the time of actual requirement of the data stored. It is also difficult to maintain
old files and registers which have data of past years, which the government has kept for
future references.
TIME CONSUMING
It is very time consuming process to write each and every entry in the database
register. Also it takes a lot of time if all the entries are repeated. In the system processes such
as making different type of reports, preparing Patients lists are examples of time consuming
process in the system.
EDITING OF DATA
Desktop application written data cannot be changed or edited once written. If there is
a mistake and if we try to rub and write it again it makes the register very dirty and untidy,
which creates a bad impression of the business. If data is entered incorrect whole document
gets incorrect while editing wrongly entered data cannot easily solve errors. If one had done
some wrong entry then to edit the data one has to go through lots of records and, again and
again editing the record makes it difficult to read.
DATA INSECURITY
9
As the data is stored in files or registers, it is not in a secure place. As the storage
media here are files and books or registers there are chances of getting these storage media
lost, torn, or it may go in the hand of wrong person, which can destroy the database, or it can
also be destroyed accidentally.
DATA INCONSISTENCY
Here as mentioned in the above step the same information is written in more than one
place that creates the problem, when there is a change or deletion in the recorded data for
example if we would like to change the name of the Patient due to some mistake earlier or
due to some other circumstances.
Generally, there has been a criterion to work on any job or task for a specific purpose.
Nobody works without specific detailed information about the particular task he is
performing. Thus, any transaction can be performed either or check in and check out. In the
computerised system, the first screen of the system would be a welcome message and a list of
menus.
These menus contain the options of collecting the information of any Patient. Any
transaction can be performed in the Patient Appointment Booking Portal i.e. routine
processes. After the transaction is completed the user can log off from the system by simply
10
quitting from the system. The main objective of the proposed system is to help the user. The
system can be handy to the user in the following reasons
• To provide quick and efficient means for gathering the Patient information
• To automate the work such as gathering Patient information and allocating the zones
they are allowed to visit.
• To automate the check in and check outs.
FEATURES
11
Maintaining the database for the Patient, check-in and check-out, etc.
Removal of data redundancy.
Data consistency.
Menu driven interface.
Ensure data security.
5. SYSTEM DESIGN
LEVEL 0
Patient
Login Visiting Appointment
Admin Appointme
nt Systems
12
LEVEL 1
Login
Admin
User
Controls
Appoint
Doctor ments
View
Add/update View, delete
Details
13
LEVEL 2
Login
Login Login_db
User process
Visitor
appointment Visitors_db
portal
View
Admin View_db
visitors
details
Suggest
Doctor_db
doctors
Time
Appointment_db
appoint
ment
14
5.2 ENTITY RELATIONSHIP DIAGRAM
doc_email
contact_no
c_date
Doc_addr
pwd
specialization pwd
u_date
u_name doc_id
doc_name
Manage Doctor
Admin
doc_fees
u_date
Manage
u_date
cons_fees
u_id a_date
doc_id a_time
app_id d_status
Appointment Gets
u_date
p_date d_status
p_date
u_status
u_status u_id
app_id
cons_fee
doc_id s
a_date
a_time 15
Get
View User
doctor
5.3 TABLE DESIGN
16
u_date Timestamp 10 Updation date Not null
17
Table name : Appointment
18
5.4 INPUT DESIGN
The design of the input should be made the input as the over to the numerous
networks in the reliable area that should be passed as the installation in the remote network. It
has the following constraints in the input database.
The system takes input from the users, processes it and produces an output. Input
design is link that ties the information system into the world of its users. The system should
be user-friendly to gain appropriate information to the user. The decisions made during the
input design are the project gives the low time consumption to make the sensitive application
made simple. When applying the project it provides the low man-power attrition with the
reasonable output.
The amount of fund that the company can spend into the research and development
of the system is limited. The expenditures must be justified. Thus the developed system as
well within the budget and this was achieved because most of the technologies used are freely
available. Only the customized products had to be purchased.
19
Input data of a system may not be necessarily is raw data captured in the system from
scratch. These can also be the output of another system or subsystem. The design of input
covers all the phases of input from the creation of initial data to actual entering of the data to
the system for processing. The design of inputs involves identifying the data needed,
specifying the characteristics of each data item, capturing and preparing data fro computer
processing and ensuring correctness of data.
Any Ambiguity in input leads to a total fault in output. The goal of designing the input
data is to make data entry as easy and error free as possible.
In the project, the forms are designed with easy to use options such as selecting the
master records through dropdown list in transaction forms. The coding is being done such
that proper validations are made to get the perfect input. No error inputs are accepted. The
end users need not to give the id themselves.
Output design generally refers to the results and information that are generated by the
system for many end-users; it should be understandable with the enhanced format.
The Output of the software is used to make the remote installation of the new
software in the system and, it is awake the immediate alert to the system that should be
20
enhanced it as the input to the system. Output is the main reason for developing the system
and the basis on which they evaluate the usefulness of the application.
Computer output is the most important direct source of information to the user output
design deals with form design efficient output design should improve the interfacing with
user.
When designing output, system analysis accomplishes more things like, to determine
what applications, websites or documents whether blocked or allowed. Allowing should be in
various options. The output is designed in such a way that it is attractive, convenient and
informative.
21
TESTING SCENARIO TEST STEP EXCEPTED ACTUAL RESULT
OUTCOME
RESULT
22
requirements. error.
IMPLEMENTATION
DATA STORAGE
We used XAMPP v3.2.1 which stands for Cross-Platform (X), Apache (A), Maria DB
(M), PHP (P) and Perl (P). It is a simple, lightweight Apache distribution that makes it
extremely easy for developers to create a local web server for testing and deployment
purposes.it was used to manage record since is the one which contain the database of the
system.
The technology which was used to design Graphical User Interface is the HTML
which is on client side programming to help the operation to be performed on client’s
machine, Java script was used for client-side validation.CSS was also used as style sheet
language for describing the presentation of a document written in a markup language. In the
system the server side programming which was used is PHP which is open source scripting
language allows the operation to be performed on server, PHP code was embedded into
HTML code.
These are the explanation of the information which are on the table above which show
us what will used to develop the web based application of Online Diagnostic Lab Reporting
System.
23
7. SCOPE FOR FUTURE ENHANCEMENTS
Since we are entering details of the Users and their diagnostic information
electronically in the “Online Diagnostic Lab Reporting System”, data will be secured. Using
this application we can retrieve User’s history with a single click. Thus processing
information will be faster. It guarantees accurate maintenance of User details. It easily
reduces the book keeping task and thus reduces the human effort and increases accuracy
speed.
The system also provides the facility of backup as per the requirement. It will be able
to adequate scope for modification in future if it is necessary. It will be able to reduce
potential errors in regulatory compliance, operational processes, and User safety in the
diagnostic system.
24
8. CONCLUSION
The system is completely menu driven and extremely user friendly since it is
developed in an efficient front end tool PHP. Appropriate error messages are also provided to
guide the user in a proper and user friendly manner.
The project is fully fledged and user friendly, end users will be lightened in using its
software because it is easy to have the reports and mostly all contents to be entered are to
selected from combo box. It reduces the efforts to be carried out by the staff.
25
9. APPENDICES
Home Page
Admin Login
26
Admin Dashboard
27
Add Doctor Successfully
28
Add Doctor
Doctor Login
29
Doctor Panel
30
Doctor Profile
31
Patient Login
Patient Registration
32
REPORTS
Doctor Report
Appointment Report
33
Patients Report
34
9.2 SAMPLE CODING
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
if(isset($_POST['submit']))
{
$pname=$_POST['packagename'];
$ptype=$_POST['packagetype'];
$plocation=$_POST['packagelocation'];
$pprice=$_POST['packageprice'];
$pfeatures=$_POST['packagefeatures'];
$pdetails=$_POST['packagedetails'];
$pimage=$_FILES["packageimage"]["name"];
move_uploaded_file($_FILES["packageimage"]["tmp_name"],"pacakgeimages/".
$_FILES["packageimage"]["name"]);
$sql="INSERT INTO
TblTourPackages(PackageName,PackageType,PackageLocation,PackagePrice,PackageFetur
es,PackageDetails,PackageImage)
VALUES(:pname,:ptype,:plocation,:pprice,:pfeatures,:pdetails,:pimage)";
$query = $dbh->prepare($sql);
$query->bindParam(':pname',$pname,PDO::PARAM_STR);
$query->bindParam(':ptype',$ptype,PDO::PARAM_STR);
$query->bindParam(':plocation',$plocation,PDO::PARAM_STR);
$query->bindParam(':pprice',$pprice,PDO::PARAM_STR);
$query->bindParam(':pfeatures',$pfeatures,PDO::PARAM_STR);
$query->bindParam(':pdetails',$pdetails,PDO::PARAM_STR);
$query->bindParam(':pimage',$pimage,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$msg="Package Created Successfully";
}
else
{
$error="Something went wrong. Please try again";
}
}
?>
<!DOCTYPE HTML>
35
<html>
<head>
<title>CRS | Admin Package Creation</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Pooled Responsive web template, Bootstrap Web
Templates, Flat Web Templates, Android Compatible web template,
Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG,
SonyEricsson, Motorola web design" />
<script type="application/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet">
<script src="js/jquery-2.1.4.min.js"></script>
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'
type='text/css'>
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>
<div class="clearfix"> </div>
</div>
36
<!--heder end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-
right"></i>Update Package </li>
</ol>
<!--grid-->
<div class="grid-form">
<!---->
<div class="grid-form1">
<h3>Create Package</h3>
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo
htmlentities($msg); ?> </div><?php }?>
<div class="tab-content">
<div class="tab-pane active" id="horizontal-form">
<form class="form-horizontal" name="package" method="post" enctype="multipart/form-
data">
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Test name</label>
<div class="col-sm-8">
<input type="text" class="form-control1" name="packagename" id="packagename"
placeholder="" required>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Test Type</label>
<div class="col-sm-8">
<input type="text" class="form-control1" name="packagetype" id="packagetype"
placeholder=" " required>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Location</label>
<div class="col-sm-8">
<input type="text" class="form-control1" name="packagelocation" id="packagelocation"
placeholder="" required>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Price </label>
<div class="col-sm-8">
<input type="text" class="form-control1" name="packageprice" id="packageprice"
placeholder=" " required>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Features</label>
<div class="col-sm-8">
37
<input type="text" class="form-control1" name="packagefeatures" id="packagefeatures"
placeholder="" required>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Test Details</label>
<div class="col-sm-8">
<textarea class="form-control" rows="5" cols="50" name="packagedetails"
id="packagedetails" placeholder="" required></textarea>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Image</label>
<div class="col-sm-8">
<input type="file" name="packageimage" id="packageimage" required>
</div>
</div>
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<button type="submit" name="submit" class="btn-primary btn">Create</button>
<button type="reset" class="btn-inverse btn">Reset</button>
</div>
</div>
</div>
</form>
<div class="panel-footer">
</div>
</form>
</div>
</div>
<!--//grid-->
<!-- script-for sticky-nav -->
<script>
$(document).ready(function() {
var navoffeset=$(".header-main").offset().top;
$(window).scroll(function(){
var scrollpos=$(window).scrollTop();
if(scrollpos >=navoffeset){
$(".header-main").addClass("fixed");
}else{
$(".header-main").removeClass("fixed");
}
});
});
</script>
<!-- /script-for sticky-nav -->
<!--inner block start here-->
<div class="inner-block">
</div>
<!--inner block end here-->
38
<!--copy rights start here-->
<?php include('includes/footer.php');?>
<!--COPY rights end here-->
</div>
</div>
<!--//content-inner-->
<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;
$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");
$("#menu span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu span").css({"position":"relative"});
}, 400);
}
toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->
</body>
</html>
<?php } ?>
39
10. WEBSITES & BIBLIOGRAPHY
REFERENCE BOOKS
WEBSITES
http://www.php.net/manual/en/
www.w3schools.com
www.tutorialpoint.com
www.bootstrap.com
www.mysql.com
www.php.net.
40