Professional Documents
Culture Documents
5 5.1 CONCLUSION
5.2 BIBLIOGRAPHY
ABSTRACT:
• Requirement Specification
• Functional Requirements
For Developing the Application the following are the Hardware Requirements:
Hardware Requirements
RAM : 4GB
SYSTEM DESIGN
The Purpose of the design is to replace manual based student management, which
is difficult to perform operation .so we are design web based student information
management system in order to get high security and easy to operate operation
easily.
DESIGN GOALS
The definition of design goals is the first step of system design. It identifies the
qualities that our system should focus on. The goal of the system is to satisfy the
functional and non-functional requirements as specified in the requirements
specification document. Design goals describe the qualities of the system that
developers should optimize. Such goals are normally derived from the non-
functional requirements of the system. The project team tried to group design
goals into five categories. These are: -
1. Performance
2. Dependability
3. Development Cost
4. Maintenance
The part of the system to be used for the record office should have a fast response
time (real time) with maximum throughput. Furthermore, the system should not be
taking up too much space in memory. The record officer has chosen fast response
time over throughput and hence the system should try to be more interactive. In
the case of the timetabling subsystem, the system should be more reliable in order
to satisfy the constraints than fast response time.
2. Dependability Criteria
3. Development Cost
The system should be developed with minimum cost possible. In reality there is
always tradeoffs and therefore the office prefers to invest more on development
cost than maintenance cost to minimize bugs which may appear at the later stage.
4. Maintenance Criteria
The system should be easily extensible to add new functionalities at a later stage.
It should also be easily modifiable to make changes to the features and
functionalities. Extensibility: - The new system is easy to add other functionality or
new classes to the system including managing other school resources like library
material, financial and human resource. Readability: The code written by well-
known programming language PHP, hence it is easy to understand the system from
reading the code.
Usability is the extent to which a product can be used by specified users to achieve
specified goals with effectiveness, efficiency and satisfaction in a specified context
of use. From the end users‟ perspective the system should be designed in such a
way that it is easy to learn and use, efficient and having few errors if any. Utility:
the new system shall to support the work of the user.
Trade-off is inevitable in trying to achieve a particular design goal. One best case
is the issue of security versus response time. Checking User-Id and Password
before a member can enter to the SMS creates response time problem/overhead.
The other case is the issue of response time versus quality. There is some amount
of time taken by the system to generate the timetable. So the user has to wait a
little after telling the system to generate the timetable and getting the result to get a
quality timetable.
The proposed system aims to address the limitations and challenges of the existing
doctor appointment system by leveraging technological innovations and
implementing patient-centered practices. This system encompasses several key
features and enhancements designed to improve accessibility, efficiency,
communication, and patient satisfaction throughout the appointment process.
ADMIN LOGIN
USER REGSISTRATION
DOCTOR
ADMIN STAFF
This module introduces virtual waiting rooms where patients can remotely check-
in upon arrival at healthcare facilities. Patients receive notifications when their
doctor is ready to see them, minimizing physical wait times and optimizing patient
flow. Administrators can monitor virtual waiting room statuses, manage patient
queues, and allocate resources accordingly.
4. IMPLEMENTATION:
Source code
Sample Input
Sample Output
<!-- Masthead-->
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-
content-center text-center">
<div class="col-lg-10 align-self-end mb-4"
style="background: #0000002e;">
<h1 class="text-uppercase text-white font-
weight-bold">About Us</h1>
<hr class="divider my-4" />
</div>
</div>
</div>
</header>
<section class="page-section">
<div class="container">
<?php echo html_entity_decode($_SESSION['setting_about_content'])
?>
</div>
</section>
<?php include 'admin/db_connect.php';
?>
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-
content-center text-center">
<div class="col-lg-10 align-self-end mb-4 page-
title">
<h3 class="text-white">Doctor's</h3>
<hr class="divider my-4" />
</div>
</div>
</div>
</header>
<section class="page-section" id="doctors" >
<div class="container">
<div class="card">
<div class="card-body">
<div class="col-lg-12">
<?php if(isset($_GET['sid']) &&
$_GET['sid'] > 0): ?>
<div class="row">
<div class="col-md-12 text-
center">
<?php
$s = $conn->query("SELECT *
from medical_specialty where id = ".$_GET['sid'])-
>fetch_array()['name'];
?>
<h2><b>Doctor/'s who are in
titled as <?php echo $s ?></b></h2>
</div>
</div>
<hr class="divider">
<?php endif; ?>
<?php
$where = "";
if(isset($_GET['sid']) && $_GET['sid'] > 0)
$where = " where
(REPLACE(REPLACE(REPLACE(specialty_ids,',','\",\"'),'[','[\"'),']','\"
]')) LIKE '%\"".$_GET['sid']."\"%' ";
$cats = $conn->query("SELECT * FROM doctors_list
".$where." order by id asc");
while($row=$cats->fetch_assoc()):
?>
<div class="row align-items-center">
<div class="col-md-3">
<img src="assets/img/<?php echo
$row['img_path'] ?>" alt="">
</div>
<div class="col-md-6">
<p>Name: <b><?php echo "Dr.
".$row['name'].', '.$row['name_pref'] ?></b></p>
<p><small>Email: <b><?php echo
$row['email'] ?></b></small></p>
<p><small>Clinic Address: <b><?php
echo $row['clinic_address'] ?></b></small></p>
<p><small>Contac #: <b><?php echo
$row['contact'] ?></b></small></p>
<p><small><a
href="javascript:void(0)" class="view_schedule" data-id="<?php echo
$row['id'] ?>" data-name="<?php echo "Dr. ".$row['name'].',
'.$row['name_pref'] ?>"><i class='fa fa-calendar'></i>
Schedule</a></b></small></p>
<p><b>Specialties:</b></p>
<div>
<?php
if(!empty($row['specialty_ids'])): ?>
<?php
foreach(explode(",",
str_replace(array("[","]"),"",$row['specialty_ids'])) as $k => $val):
?>
<span class="badge badge-light"
style="padding: 10px"><large><b><?php echo $ms_arr[$val]
?></b></large></span>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
<div class="col-md-3 text-center align-
self-end-sm">
<button class="btn-outline-primary
btn mb-4 set_appointment" type="button" data-id="<?php echo
$row['id'] ?>" data-name="<?php echo "Dr. ".$row['name'].',
'.$row['name_pref'] ?>">Set Appointment</button>
</div>
</div>
<hr class="divider" style="max-width: 60vw">
<?php endwhile; ?>
</div>
</div>
</div>
</div>
</section>
<style>
#doctors img{
max-height: 300px;
max-width: 200px;
}
</style>
<script>
$('.view_schedule').click(function(){
uni_modal($(this).attr('data-name')+" -
Schedule","view_doctor_schedule.php?id="+$(this).attr('data-id'))
})
$('.set_appointment').click(function(){
if('<?php echo isset($_SESSION['login_id']) ?>' == 1)
uni_modal("Set Appointment with "+$(this).attr('data-
name'),"set_appointment.php?id="+$(this).attr('data-id'),'mid-large')
else{
uni_modal("Login First","login.php")
}
})
</script>
<?php
include 'admin/db_connect.php';
?>
<style>
#portfolio .img-fluid{
width:100%
}
</style>
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-
content-center text-center">
<div class="col-lg-10 align-self-end mb-4 page-
title">
<h3 class="text-white">Welcome to <?php echo
$_SESSION['setting_name']; ?></h3>
<hr class="divider my-4" />
<a class="btn btn-primary btn-xl js-scroll-
trigger" href="index.php?page=doctors">Find a Doctor</a>
</div>
</div>
</div>
</header>
<section class="page-section" id="menu">
</section>
<div id="portfolio" class="container">
<div class="container-fluid p-0">
<div class="row">
<div class="col-lg-12 text-center">
<h2 class="mb-4">Medical Specialties</h2>
<hr class="divider">
</div>
</div>
<div class="row no-gutters">
<?php
$cats = $conn->query("SELECT * FROM
medical_specialty order by id asc");
while($row=$cats->fetch_assoc()):
?>
<div class="col-lg-4 col-sm-6">
<a class="portfolio-box"
href="index.php?page=doctors&sid=<?php echo $row['id'] ?>">
<img class="img-fluid"
src="assets/img/<?php echo $row['img_path'] ?>" alt="" />
<div class="portfolio-box-caption">
<div class="project-name"><?php echo
$row['name'] ?></div>
<div class="project-category text-
white">Find Doctor</div>
</div>
</a>
</div>
<?php endwhile; ?>
</div>
</div>
</div>
<script>
$('.view_prod').click(function(){
uni_modal_right('Product','view_prod.php?id='+$(this).attr('data-id'))
})
</script>
<?php
include 'db_connect.php';
$doctor= $conn->query("SELECT * FROM doctors_list ");
while($row = $doctor->fetch_assoc()){
$doc_arr[$row['id']] = $row;
}
$patient= $conn->query("SELECT * FROM users where type = 3 ");
while($row = $patient->fetch_assoc()){
$p_arr[$row['id']] = $row;
}
?>
<div class="container-fluid">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<button class="btn-primary btn btn-sm"
type="button" id="new_appointment"><i class="fa fa-plus"></i> New
Appointment</button>
<br>
<table class="table table-bordered">
<thead>
<tr>
<th>Schedule</th>
<th>Doctor</th>
<th>Pateint</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<?php
$where = '';
if($_SESSION['login_type'] == 2)
$where = " where doctor_id =
".$_SESSION['login_doctor_id'];
$qry = $conn->query("SELECT * FROM
appointment_list ".$where." order by id desc ");
while($row = $qry->fetch_assoc()):
?>
<tr>
<td><?php echo date("l M d, Y h:i
A",strtotime($row['schedule'])) ?></td>
<td><?php echo "DR.
".$doc_arr[$row['doctor_id']]['name'].',
'.$doc_arr[$row['doctor_id']]['name'] ?></td>
<td><?php echo
$p_arr[$row['patient_id']]['name'] ?></td>
<td>
<?php if($row['status'] == 0):
?>
<span class="badge badge-
warning">Pending Request</span>
<?php endif ?>
<?php if($row['status'] == 1):
?>
<span class="badge badge-
primary">Confirmed</span>
<?php endif ?>
<?php if($row['status'] == 2):
?>
<span class="badge badge-
info">Rescheduled</span>
<?php endif ?>
<?php if($row['status'] == 3):
?>
<span class="badge badge-
info">Done</span>
<?php endif ?>
</td>
<td class="text-center">
<button class="btn btn-primary
btn-sm update_app" type="button" data-id="<?php echo $row['id']
?>">Update</button>
<button class="btn btn-danger
btn-sm delete_app" type="button" data-id="<?php echo $row['id']
?>">Delete</button>
</td>
</tr>
<?php endwhile; ?>
</table>
</div>
</div>
</div>
</div>
<script>
$('.update_app').click(function(){
uni_modal("Edit
Appintment","set_appointment.php?id="+$(this).attr('data-id'),"mid-
large")
})
$('#new_appointment').click(function(){
uni_modal("Add Appintment","set_appointment.php","mid-
large")
})
$('.delete_app').click(function(){
_conf("Are you sure to delete this
appointment?","delete_app",[$(this).attr('data-id')])
})
function delete_app($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_appointment',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
alert_toast("Data successfully
deleted",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
}
</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0"
name="viewport">
<?php
session_start();
if(!isset($_SESSION['login_id']))
header('location:login.php');
include('./header.php');
// include('./auth.php');
?>
</head>
<style>
body{
background: #80808045;
}
.modal-dialog.large {
width: 80% !important;
max-width: unset;
}
.modal-dialog.mid-large {
width: 50% !important;
max-width: unset;
}
</style>
<body>
<?php include 'topbar.php' ?>
<?php include 'navbar.php' ?>
<div class="toast" id="alert_toast" role="alert" aria-
live="assertive" aria-atomic="true">
<div class="toast-body text-white">
</div>
</div>
<main id="view-panel" >
<?php $page = isset($_GET['page']) ? $_GET['page'] :'home'; ?>
<?php include $page.'.php' ?>
</main>
<div id="preloader"></div>
<a href="#" class="back-to-top"><i class="icofont-simple-
up"></i></a>
if($bg == 'success')
$('#alert_toast').addClass('bg-success')
if($bg == 'danger')
$('#alert_toast').addClass('bg-danger')
if($bg == 'info')
$('#alert_toast').addClass('bg-info')
if($bg == 'warning')
$('#alert_toast').addClass('bg-warning')
$('#alert_toast .toast-body').html($msg)
$('#alert_toast').toast({delay:3000}).toast('show');
}
$(document).ready(function(){
$('#preloader').fadeOut('fast', function() {
$(this).remove();
})
})
</script>
</html>
<style>
</style>
<nav id="sidebar" class='mx-lt-5 bg-dark' >
<div class="sidebar-list">
</nav>
<script>
$('.nav-<?php echo isset($_GET['page']) ? $_GET['page'] : ''
?>').addClass('active')
</script>
<?php if($_SESSION['login_type'] == 2): ?>
<style>
.nav-sales ,.nav-users,.nav-doctors,.nav-categories{
display: none!important;
}
</style>
<?php endif ?>
5.1 CONCLUSION
REFERENCES
Edition,[2]