Updated - Final Report - NITC TeleHealth Application
Updated - Final Report - NITC TeleHealth Application
PROJECT REPORT
submitted
by
MAY 2022
ACKNOWLEDGMENT
It gives me a great sense of pleasure to present the report of the Project Work
undertaken during MCA, Final Year. I owe special debt of gratitude to my Project
Owner and Guide Ms Anu Mary Chacko, Assistant Professor, Department of
Computer Science and Engineering, National Institute of Technology, Calicut for
her constant support and guidance throughout the course of my work. It is only her
cognizant efforts that my endeavors have seen the light of the day.
I hereby declare that the project titled, NITC TeleHealth Application, is my own
work and that, to the best of my knowledge and belief, it contains no material
previously published or written by another person nor material which has been
accepted for the award of any other degree or diploma of the university or any
other institute of higher learning, except where due acknowledgement and
reference has been made in the text.
________________
Signature
NATIONAL INSTITUTE OF TECHNOLOGY CALICUT
KERALA, INDIA - 673 601
CERTIFICATE
done by
1. INTRODUCTION 1
1.1 Problem Definition 1
1.2 Product Scope 1
1.3 Intended Audience 2
1.4 Definitions, Acronyms and Abbreviations 2
2. OVERVIEW 3
2.1 Product Overview 3
2.2 Product Functionality 3
2.2 Design and Implementation Constraints 4
2.4 Assumptions and Dependencies 4
3. REQUIREMENT SPECIFICATION 5
3.1 Use Cases of all Users
7. CONCLUSION 37
REFERENCES 38
List of Figures
Chapter 1
INTRODUCTION
The aim of the project is to develop a telehealth application for the students, staff
and faculty of NITC while they use NITC health center. Current process is paper
based and automating the process will improve the user experience.
The scope of this project is to create an online platform for NITC students to make
appointments to doctors for their health checkup. This application will allow its
users (NITC students, faculty and staff members) an easy way to book an
appointment, reschedule it, and allow students to request for medical leave. This
app will allow them to book an appointment with a doctor according to their issues
and each week specialist doctors will also be there for particular problems. All the
other activities of NITC and Health Center are out of scope.
1
NIT Calicut, MCA 2019
This document is intended for all the designers, developers, coders, project manager,
testers and all the stakeholders who are directly or indirectly involved in this project. The
reader is assumed to have basic knowledge of mobile UI/UX, databases and user
accounting along with knowledge and understanding of Use-case diagrams. The project
manager will read this document and check whether all the specifications required by the
client are present in the Telehealth Application design.
DB : Database
NITC : National Institute of Technology, Calicut
IEEE : Institute of Electrical and Electronics Engineering
GUI : Graphical User Interface
HTTP : Hypertext Transfer Protocol
CSS : Cascading Style Sheet
ID : Identity
API : Application Program Interface
UI : User Interface
US : Use Case
2
NIT Calicut, MCA 2019
Chapter 2
OVERVIEW
In this era of the Internet, where everything is moving towards online platforms
and each facility is available in one click. "NITC Tele Health Application" will
help students, faculty and staff to book appointments with NITC health center
doctors, rescheduling appointments and records management for previously
booked appointments.
This Application has a flow like, There are three users of the application
Admin, Doctor and patients(students). First Admin will register Doctors and
students to the application and send their login credentials to them. A student login
to the application then it requests for appointment by selecting what type of
problem he/she is facing, then according to the doctor schedule for morning,
afternoon and evening timings, a list of available slots will be visible to the user.
Each slot is 15 mins. After selecting an available slot after clicking on the
“Confirm Book” button, to book the slot. The user is also able to see a list of all its
previous bookings and the doctor will also be able to see all the past appointments.
In case, when the doctor won’t be able to take the appointments then he can cancel
appointments of that slot and the user will get notified that their appointments are
canceled and they have to again book another slot. Users can also reschedule its
appointments by simply canceling the upcoming appointment and then book
another slot at some other time. The Application will also allow its users to take a
medical leave certificate, if his condition is serious and needs to be admitted in
hospital. By this way the application has automated processes that are related to
appointment booking, rescheduling and cancellation.
There are various functionality of this product depending upon the role of user-
1. Admin Functionality
Login Page
Add Admin, Doctor, Patient(NITC students, faculty and staff)
3
NIT Calicut, MCA 2019
2. Doctor Functionality
Cancel Appointment
Accept Medical Leave
Appointments History
3. User Functionality
Book Appointment
Cancel Appointment
Medical leave request
Forget Password
This application will be using Nodejs (JavaScript) as the backend language and
Flutter in frontend for UI/UX design.
Here, I am using GIT version control to properly and concurrently develop
the application and use all the helpful features of GIT like staging area, commit it,
push etc. This will help in continuous and smooth development for the project.
MongoDB is a fast and reliable database that supports dynamic queries on
documents using a document-based query language. It handles large volumes of
data at high speed with a scale-out architecture.
This application also needs a reliable server for hosting as the application is
used by many students and faculties at the same time.
● The intended user and doctor of the application must be a part of NITC, that
is they should have a unique ID given by NITC.
● Admin will deal with the reports that will be given by the users if someone is
not behaving appropriately with them.
● Network and data availability.
● It requires proper internet connection to request an appointment
4
NIT Calicut, MCA 2019
Chapter 3
REQUIREMENTS SPECIFICATION
Purpose : The purpose of this test case is to get access to the application. The
user will provide its credentials to get access.
Priority : High
Precondition : The user has to enter the credentials to get logged to the account.
Post Condition : This will give the user access to the software.
Flow of Events
◦ Basic Flow: The user will enter his/her email id, password, and role
(Admin, doctor, Student) to the system. If the credentials are correct the
user will be logged in to his account.
◦ Alternate Flow: If the credentials are invalid then an error message is
displayed.
5
NIT Calicut, MCA 2019
Purpose : The purpose of this test case is to allow admin to register any new user
to the application.
Priority : High
Postcondition : Admin will see a successfully registered message, after user data
is saved in the database.
Actor : Admin(Human)
Extends : None.
Flow of Events:
■ Basic flow: Admin first selects the type of user( admin, doctor,
patient ) then according to that he will write user data and then
submit it. If the user data is not present in the system then it gets
successfully saved and gives a message " User added successfully'' .
■ Alternate Flow : If the user data already existed into the database
then it will give an error message "User Exist".
Purpose : The system will allow the admin to remove any user from the
application.
6
NIT Calicut, MCA 2019
Priority : Low
Precondition : The user's data should be present in the application and admin
should be logged in.
Actors: Admin(Human).
Extends : None.
Flow of Events
○ Basic Flow: The admin will give the user's Email ID and and click on the
"Search User" button to fetch details of the user. Once admin verifies the
user selected is correct. then it will click on the "Remove User" button to
delete data.
Purpose : The system will allow the admin to create schedule of each doctor that
is registered to the application.
Priority : High
Precondition : The Admin should be logged in to the application and the doctor
should be registered to the application.
Actors: Admin(Human).
Extends : None.
7
NIT Calicut, MCA 2019
Flow of Events
● Basic Flow: The admin will write details of the doctor and his time
interval for morning, afternoon and evening schedules for each day. If data
is successfully saved without any error then a success message pops up.
“Successfully Saved Schedule”.
Once the schedule creation code is executed, for each time interval
(morning, afternoon and evening) of the day slots of 15 minutes is created
automatically and users will be able to book those slots for appointments.
● Alternate Flow: If schedule is not created by the admin, then slots are also
not created and no appointments will be visible to the user.
Purpose : The system will allow the admin to print medical certificate for the
student who has a serious medical condition.
Priority : High
Precondition : The doctor's have accepted the medical leave request and he should
have receipt of bill that he paid in the accounts department.
Actors: Admin(Human).
Extends : None.
Flow of Events
○ Basic Flow: The admin will check if the doctor had accepted his medical
leave request in the system then he checks for bill paid receipt. If both are
correct, the admin will accept the request and update it in the app and he
will get his medical leave certificate.
8
NIT Calicut, MCA 2019
○ Alternate Flow: If the admin finds that any of the provided documents by
the student have faults then his request is canceled and he again needs to
apply for it again with correct documents.
Purpose : The purpose of this functionality is to allow doctor to cancel its all
appointments that lie in a particular date and time slot.
Priority : Medium
Actor : Doctor(Human)
Flow of Events:
○ Basic flow:
■ The doctor logged in to the application and moved to the "List
Appointment" page.
■ They need to give a date to check the list of appointments on that
particular date.
■ After that it will select the slot which he wants to cancel and click on
the “Cancel Appointment” button to cancel the appointment.
9
NIT Calicut, MCA 2019
Purpose : The purpose of this page is to allow the doctor to approve or reject
users medical leave requests.
Priority : High
Actor : Doctor(Human)
Extends : None.
Flow of Events:
○ Basic flow: The doctor fills user details and writes his medical condition in
the application and then clicks on submit to accept his leave request.
Priority : Medium
Postcondition : The doctor will see the appointment history of the patients.
10
NIT Calicut, MCA 2019
Actor ; Doctor(Human)
Extends : None.
Flow of Events:
○ Basic flow: The doctor will login to the application and then move to the
List appointment page to check all the details of his appointments. They can
give the date to check the list of all appointments on that date.
○ Alternate Flow : If no appointments are there, the page will be blank for
that person,
Priority : High
Precondition : The user should be registered to the application and logged in to it.
Actor : User(Human)
Flow of Events:
○ Basic flow:
■ The user first login to the application and then move to the book
appointment page.
11
NIT Calicut, MCA 2019
■ From the given options, according to their issue, they will select the
option.
■ Then the user will give the date and time of day of his choice for
appointment.
■ From the list of slots it will select one and click on “Register” button
to book an appointment.
Purpose : The purpose of this functionality is to allow the user to cancel his
appointment.
Priority : Medium
Actor : User(Human)
Extends : None.
Flow of Events:
○ Basic flow: The user first logs in to the application then moves to the
cancel appointments page. There, he will see his appointments. User will
select the appointment and click on cancel appointment to confirm his
cancellation.
○ Alternate Flow : None.
12
NIT Calicut, MCA 2019
Purpose : The purpose of this functionality is to allow its user to request for
medical leave.
Priority : Medium
Post condition : User will get Medical leave certificate from Admin in person.
Actor ; User(Human)
Extends : None.
Flow of Events:
○ Basic flow: The user will login to the application then go to “Book
Appointment ” page then select the Medical leave request card and then
book an appointment with the doctor.
Purpose : The purpose of this functionality is to allow its user to request for
medical leave.
Priority : Medium
13
NIT Calicut, MCA 2019
Post condition : Registered user will get a password reset on the link on his mail.
Actor ; User(Human)
Extends : None.
Flow of Events:
○ Basic flow: The user will directly move to Forgot password page and give
his registered mail in it then click on submit button. If he is registered then
he will get a successful message.
○ Alternate Flow : Error generated.
14
NIT Calicut, MCA 2019
Chapter 4
15
NIT Calicut, MCA 2019
16
NIT Calicut, MCA 2019
17
NIT Calicut, MCA 2019
● For the first time, users will start the application and they will be directed to
the login page automatically.
● User will write his registered email and password given to him by the admin.
● The application will search for that user having the same email address and
password and whether it belongs to the entered category or not.
● If it matches then the user will be redirected to the dashboard of the
application.
● Otherwise it will generate an error message “email or password is incorrect”.
18
NIT Calicut, MCA 2019
19
NIT Calicut, MCA 2019
● First the user will login to the application and book an appointment with the
doctor to request for medical leave.
● Doctor will check, then approve or reject it and update it to the application
through the “Accept medical leave” page.
● Then the user will pay the challan to the accounts department for medical
leave and then book an appointment with admin.
● Admin will verify the doctors approval from application and challan.
● If everything is fine then he accepts the request and prints the medical leave
certificate and gives it to the user.
20
NIT Calicut, MCA 2019
21
NIT Calicut, MCA 2019
22
NIT Calicut, MCA 2019
23
NIT Calicut, MCA 2019
24
NIT Calicut, MCA 2019
Chapter 5
IMPLEMENTATION
5.1.1 FrontEnd
5.1.2 BackEnd
● BackEnd Runtime Environment: Node.js
● Database: MongoDB Atlas
● Backend deployed: Heroku Cloud Platform
25
NIT Calicut, MCA 2019
Chapter 6
RESULTS
Test- case:
26
NIT Calicut, MCA 2019
Flow of Events:
■ Basic flow: Admin first selects the type of user( admin, doctor,
patient ) then according to that he will write user data and then
submit it. If the user data is not present in the system then it
gets successfully saved and gives a message " User added
successfully'' .
Test Case:
Flow of Events
○ Basic Flow: The admin will give the user's Email ID and and click on
the "Search User" button to fetch details of the user. Once admin
verifies the user selected is correct. then it will click on the "Remove
User" button to delete data.
27
NIT Calicut, MCA 2019
Test Case:
User data exists user not registered
Flow of Events
● Basic Flow: The admin will write details of the doctor and his time
interval for morning, afternoon and evening schedules for each day. If
data is successfully saved without any error then a success message
pops up “Successfully Saved Schedule”.
Once the schedule creation code is executed, for each time
interval (morning, afternoon and evening) of the day slots of 15
minutes is created automatically and users will be able to book those
slots for appointments.
28
NIT Calicut, MCA 2019
Test Case:
Flow of Events
○ Basic Flow: The admin will check if the doctor had accepted his
medical leave request in the system then he checks for bill paid
receipt. If both are correct, the admin will accept the request and
update it in the app and he will get his medical leave certificate.
29
NIT Calicut, MCA 2019
Test Case:
Flow of Events:
○ Basic flow:
■ The doctor logged in to the application and moved to the "List
Appointment" page.
■ They need to give a date to check the list of appointments on
that particular date.
■ After that it will select the slot which he wants to cancel and
click on the “Cancel Appointment” button to cancel the
appointment.
30
NIT Calicut, MCA 2019
Test Case :
○ Basic flow: The doctor fills user details and writes his medical
condition in the application and then clicks on submit to accept his
leave request.
31
NIT Calicut, MCA 2019
Test Case:
Flow of Events:
○ Basic flow: The doctor will login to the application and then move to
the List appointment page to check all the details of his appointments.
They can give the date to check the list of all appointments on that
date.
32
NIT Calicut, MCA 2019
Test Case:
Flow of Events:
○ Basic flow:
■ The user first login to the application and then move to the book
appointment page.
■ From the given options, according to their issue, they will
select the option.
■ Then the user will give the date and time of day of his choice
for appointment.
■ From the list of slots it will select one and click on “Register”
button to book an appointment.
33
NIT Calicut, MCA 2019
Test Case:
34
NIT Calicut, MCA 2019
○ Basic flow: The user first logs in to the application then moves to the
cancel appointments page. There, he will see his appointments. User
will select the appointment and click on cancel appointment to
confirm his cancellation.
Test Case:
35
NIT Calicut, MCA 2019
○ Basic flow: The user will directly move to Forgot password page and
give his registered mail in it then click on submit button. If he is
registered then he will get a successful message.
Test Case:
36
NIT Calicut, MCA 2019
Chapter 7
CONCLUSION
The proposed mobile app “Nitc Telehealth Application” is completed with frontend
in flutter and backend api written in Node.js deployed in Heroku platform and
mongodb is used for database storage. The proposed app is efficient and has a
friendly user interface.
Admin:
● Create schedule for doctors
● Register new users to the application
● Remove users from application
● Print medical certificate
Doctor:
● Cancel an appointment
● Check list of all appointments
User:
● Book an appointment
● Cancel an appointment
● Request for medical leave
37
NIT Calicut, MCA 2019
References
1. https://www.researchgate.net/publication/275097517_DOCUMENTATION_
OF_ONLINE_BOOKING_SYSTEM, last accessed on 15/04/2022
2. https://medium.com/@alenatsytovich/booking-an-appointment-6714c40954
0, last accessed on 19/04/2022
3. https://opus.govst.edu/cgi/viewcontent.cgi?article=1158&context=capstones,
last accessed on 22/04/2022
4. https://m.docsapp.in/?gclid=CjwKCAiAsNKQBhAPEiwAB-I5zaTENqZMF
CvTmnonvQnFjmDCfUW-lzOdrprd9JY1QtGFGpV7RABWVhoCvXEQAv
D_BwE, last accessed on 24/04/2022, last accessed on 28/05/2022
5. https://www.researchgate.net/publication/312946008_Mr_Doc_A_Doctor_A
ppointment_Application_System, last accessed on 05/05/2022
38