845820-501650Medical Appointment Management System STUDENT NAMESAbdullah MansourAlhassan hadiMohammad AbunamousBasil BrerroA project report submitted in partial fulfilment of the requirements for the award of the degree of Bachelors of software EngineeringCollege of EngineeringAl Ain University of Science and Technology, Al Ain, U. A. E.January 2018I hereby confirm that this project report is based on my original work except for citations and quotations, which have been properly acknowledged.
I also declare that it has not been previously and concurrently submitted for any other degree or award at AAU or other establishment.The copyright of this report belongs to the author under the terms of the copyright as qualified by Intellectual Property Policy of Al Ain University of Science and Technology, Al Ain. Due acknowledgement shall always be made of the use of any material contained in, or derived from, this report.© 2018, Medical Appointment system .ACKNOWLEDGEMENTSWe would like to thank everyone who had participated to the successful completion of this project. We would like to express our gratitude to our capstone project supervisor, Dr. Issam Al-Azzoni for his invaluable advice, guidance and his massive patience throughout the development of the project.
ABSTRACTThe purpose of this study is to improve an appointment management system. The appointment management system is developed to improve the service delivery at hospitals and aims to save visitors time and effort when attending at the Polyclinic department. This device also aims to improve patients’ gratification, which is an important driver quality portion. By using the system, visitors, patients, and staff will book an appointment easily without calling or receiving help from the customer service unit.
In addition, the system provides contact info that give more details about the hospital and the services provided to patients. Officials and employees of the hospital, including the manager, heads of sections of the hospital and even the reception staff can use the appointments management system. We have noticed that especially in any hospital, booking appointment or editing appointment can be a challenging function. Better orientation for the customer is going to be the key to obtain customer satisfaction.TABLE OF CONTENTS TOC o “9-9” h z ACKNOWLEDGEMENTSABSTRACTTABLE OF CONTENTSLIST OF TABLESLIST OF FIGURESLIST OF SYMBOLS / ABBREVIATIONSLIST OF APPENDICESCHAPTERS TOC o “2-4” h z u 1INTRODUCTION1.1Project Statement81.
2Aims and Objectives92LITERATURE REVIEWDefinitions10Similar System11 Similar System (1) 12 3Use case diagram and Descriptions3.1Use case Diagram113.2Use case diagram descritions tabls 1133.3Use case diagram descritions tabls 2143.4Use case diagram descritions tabls 3153.
5Use case diagram descritions tabls 4163.6Use case diagram descritions tabls 5173.7Use case diagram descritions tabls 6183.8Use case diagram descritions tabls 7193.9Use case diagram descritions tabls 8193.10Use case diagram descritions tabls 8203.
11Use case diagram descritions tabls 8214sequence diagram 4.1sequence diagram 1134.2sequence diagram 2144.3sequence diagram 3154.4sequence diagram 3164.5sequence diagram 3174.6sequence diagram 3184.
7sequence diagram 3194.8sequence diagram 3204.9sequence diagram 3215.screenshots5.1screenshots 1135.2screenshots 2145.3screenshots 315screenshots 4166Functional requirements and None functional requirements 227Gantt chart237E-R diagram PAGEREF _Toc217107515 h 24REFERENCES258- ImplementationImplementation 1 27Implementation 2 28Implementation 3 299- TestingTest case 1 30Test case 2 3110-Design and Architecture1- Db (schema)1 ,2 322- Db (schema)3 333-SDC 34 LIST OF SYMBOLS / ABBREVIATIONSU.A.
E United Arab Emirates SMS Short Message ServiceAr Absher service in hospitalMAS Medical Appointment SystemASH Abu Dhabi Health Service CompanyAMS Appointment Management SystemEREntity Relationship diagramINTRODUCTIONBackgroundThis software system will be a medical appointment system for the polyclinic in hospitals. This system aims to improve the patients’ satisfaction. By using the system, visitors, patients, will be able to know hospital contact info easily without the need of help from the customer service unit , also the patients can book and manage their appointments in the hospital. This system was improved to help the customer service unit to locate by saving there time and patient time otherwise would have been provided by Absher Employees. Absher Employees work in hospitals to help the patients in different ways such as guiding the patients to the right Unit ( customer service unit ) .More specifically, this system has been designed under the customer services category to help different classes of stakeholders. The system will give more information about the clinic or services the user chooses. This info is because each clinic in the Polyclinic building includes other different clinic.
For example, Medicine Clinic contains Internal Medicine, Cardiology, and Gastroenterology, Pulmonology, Rheumatology and Infectious Disease clinic. Therefore, this system will show all the several service in the same system .Aims and Objectives1-The MAS is a mobile application used to relocate visitors, patients and also staff to their desired pages in the Polyclinic department without the need to receive logistic guidance from the customer service unit .2- The system is developed to improve the service delivery at hospitals and aims to save visitors time and effort when attending at the Polyclinic department.
The system also achieves to improve patients’ satisfaction, which is an important medical quality part.3- The system will display a map and give more info about the different floors and the services give it to the patients in each floor. Officials and employees of the hospital, contains the manager, would benefit from this feature.4- The system will authenticate users first.
Then they can set appointments and find out places. The system will be designed as an Ipad application and installed in the hospital main reception. Then the system sends SMS to your phone number to make sure about your info and dates.LITERATURE REVIEWThe first we give some definition then we present similar system.
DefinitionsUser Any person who would uses the Medical Appointment system software.Stakeholder A group of people who have any relation with (MAS) and act or interact with it in some way.Visitors The polyclinic patients, new patients, or any person visiting the hospital.Absher employees The staff of hospital employed that provide guidance and directions for visitors.Polyclinic building The building in Hospitals that contains outpatient clinics and some services. The building consists is detached from the hospital, main building.Admin A person who has an authority to manage and change the accounts or appointments.2.
2Similar Systemsappointmenteasy.com1The main direction of this portal is the healthcare market. With a main focus on the European medical professionals. The service is cost-free and the funding for the portal operation is made through the Ads on the portal, some optional paid features like SMS reminders and is an optional ad-free premium version of the portal for a better and smoother user experience.The system was built with doctors in mind, which means it offers more features than the general scheduling suits do. These features range from the ability for patients to select their preferred health insurance provider when booking an appointment, to management tools for medical office secretaries.
However, we think the user interface of the portal is not as user-friendly as other portals. Also, the focus on the European region medical market limits some functionalities for the U.S and other countries based professionals.Tajawal.com2This planning framework operates with coordination of the user’s current location to permit online arrangement booking services. The portal was developed for a wide range of different businesses (airports, hotels, restaurants).
Gmail, Google Calendar and Microsoft outlook sync are available. The service is free and the earnings are made through Ads within the portal and some optional paid service like SMS reminders.Appointy3This popular appointment scheduling software is supported by many operating systems and also has its own native mobile apps for ios and Android. The free version of the software offers one staff seat, five services and unlimited booking. The software is supported by ads and is feature-limited.
Appointmentseasy.com AppointyTajawalOur systemReminder using sms” the user can get reminders through sms after booking an appointment’ ?Contact info” the user can view contact information’s ” ? ?Medical Field ” the system can be used in the medical fields” ? ? ?Multi-language support: ” the system supports English and Arabic languages” ? ? ?Use Case DiagramIn this section, we represent the use cases of our system in a use case diagram. In addition we provide a use case description table, a sequence diagram modelling the use case scenario, and a storyboard describing the interaction with the user.-77978022987000Figure 3.1 Use case diagramsMedical Appointment uses tables that include how the actor uses the use casepre-conditions. Post conditions a step-by-step description of the main scenario of the use case, and exceptions scenarios.
Table 2.1 to Table 2.15 are use case description tables for the intended system:Use Case : Select Language Description : Allows the visitor to use the services in his desired language ( Arabic / English )Pre-condition : None ( the user still in the main menu )Steps: Visitor Select’s the (change language button)System Displays the Available LanguagesVisitor selects his desired languageThe system will be displayed in the new languagePost condition : If the flow is successful , the language is changedExceptions : The user selects cancel Table 2.1: Select Language uses case description table.-4813306223000 Figure 3.
2: sequence diagram for Select Language operation 17272018161000Figure 3.3: storyboard for Select Language Use Case : Sign inDescription : Allows the user to access the service provided by the system ( patient e & Admin )Pre-condition : The user must have a registered accountSteps: The user selects “sign in “The user enters his usernameThe user enters his passwordThe system will check the authentication of the username and passwordThe user will be signed inPost condition : If the normal flow is successful , the user will be signed inExceptions : The user selects ” cancel ” and return to the main menu or no matching username and password is found in the systemTable 2.2: Sign in with use case description table.-38608016891000Figure 3.4: sequence diagram for sign in oprationFigure 3.5: storyboard for sign in Use case : View appointmentsDescription : Allows the patient to view his appointments ( Date , Day , Time , Doctor , clinic )Precondition : The user must be logged inSteps:The user selects “view appointments “The system will check for any appointments created by the userThe system will display the user appointmentsPost condition : If the normal flow is successful , the system will display the user appointmentsException : If the user didn’t have any appointments or selects ” cancel ” and return to the main menuTable 2.3: View Appointment uses case description table.
-417830127000Figure 3.6: sequence diagram for View appointments operation -74930-14478000Figure 3.7: storyboard for View appointments operationUse case : View Contact InfoDiscerption : Allows the visitor and patient to contact information for the hospitalPrecondition : noneSteps:The user selects “view contact information”The system displays the contact information of the hospital ” landline number , website , email , social media accounts “Post condition : If the normal flow is successful , the system will display contact info’sException : noneTable 2.4: View Contact Info uses case description table.-64008019558000Figure 3.
8: sequence diagram for View Contact Info operation-495304445000Figure 3.9: storyboard for View Contact Info use case.Use case : Make AppointmentDiscerption : Allows the patient to book an appointment on a specific day , time and doctorPrecondition: The patient must be signed in. Steps:The user selects “book an appointment “The systems display the clinicsThe user selects a clinicThe system displays a table for time and date and the available doctors of the chosen clinicThe user selects one of the available doctors in the selected clinicThe user selects his desired date and timeThe system will display a confirmation message and an sms will be sent to the user’s phonePost condition: If the normal flow is successful, the appointment is booked.
Exception: -in step 1,The user select cancel: the system displays the main page.Table 2.5: Make an appointment description table operation1092207366000Figure 3.10: sequence diagram for Make an Appointment operation61023522161500Figure 3.11: storyboard for Make appointment operation.
Use case : Cancel AppointmentDiscerption : Allows the user to cancel an appointmentPrecondition : The user must be signed in and have an existing appointment(s).Steps:The user selects “view appointments”The system displays a list of the user’s appointment(s)The user selects an appointment to cancelThe user selects ” cancel appointment ” Post condition : If the normal flow is successful , the system will cancel the selected appointment and display a confirmation messageException : The user selects “cancel” and return to the main menuTable 2.7: cancel appointment uses case description table.-436880698500Figure 3.
12: sequence diagram for View appointment use case.Use case : Edit AppointmentDiscerption : Allows the user to Edit an appointmentPrecondition : The user must be signed in and have an existing appointment(s).Steps:The user selects “view appointments”The system displays a list of the user’s appointment(s)The user selects an appointment to edit.The user edits one of the available time and datesThe user selects ” ok “Post condition : If the normal flow is successful , the system will change the selected appointment time and date and displays a confirmation messageException : The user selects “cancel” and return to the main menuTable 3.13: Edit appointment uses case description table.Use case : Create patient accountDiscerption : Allows the Admin to create a new patient accountPrecondition : The admin must be signed in.Steps:The admin scans the patient Details and ID The system will check for any duplicationsThe admin selects ” create account “Post condition : If the normal flow is successful , the system will create the patient account in step 1, The user select scan: the system displays the main page.Table 2.
8: Create patient account uses case description table.5207015494000Figure 3.14: sequence diagram for Create patient account use case.Use case : Define DoctorsDiscerption : Allows the Admin to define doctors in clinics.Precondition : The admin must be signed in.Steps:The admin selects “define doctors”The system displays a list of all doctors in the hospitalThe admin selects a doctor The admin selects the desired clinic to assign the doctor inThe admin selects ” assign “Post condition : If the normal flow is successful , the system will assign the selected doctor in the desired clinic and display a confirmation message.
Exception : the admin selects ” cancel ” and returns to main menuTable 2.9: Define doctors uses case description table-4305304508500Figure 3.15: sequence diagram for Create patient account use caseFunctional and non-functional requirementsIn next chapter, we will explain the user requirements and system requirements to extract the functional requirement and nonfictional requirement.Each one of these requirements must be provided by the system , which are the system constraints.Functional requirements None functional requirementsThe system shall allow the user to manage his appointments.
Reliability ( the system will be able to scan the emirates ID of the user with an accuracy of 99.9% ( 0.1% error margin )The system shall allow the user to change the display language of the system. The user shall accomplish any task in less than 4 steps.The system shall allow the user to book an appointment.
The system shall allow the user to view contact info’s. The system shall allow the user to sign in using username and password The system shall allow the user to cancel his appointments. The system shall allow the user to edit his appointments. The system shall allow the user to view his appointments. The system shall allow the admin to manage accounts.
The system shall allow the admin to define doctors Table 2.10: functional and non functional requirements tableGantt chart:The most common form of presenting schedule information that portrays activities against a horizontal time scale. It shows our plan from the date we start until the date we will finish.This shows the plan for the first part of the project only.-135971323113900Figure 7.1: System Development Gantt chart.MAS-ID system DURATION (days) START DATE END DATE DESCRIPTION 9/10/17 9/15/17 Planning 5 9/16/17 10/1/17 Similar system 15 10/2/17 10/15/17 Requirement and analysis 13 10/16/17 10/25/17 UseCase & Usecase Modeling -> Report 1 writing 9 10/26/17 11/5/17 Design and Architecture 9 11/6/17 11/20/17 Implementation 14 11/21/18 11/28/18 Testing 7 0 0 Gantt chart Figure 7.1ER DiagramThe ER Diagram is muddling all the database entities in the system with its fields, primary keys and the entities relationships.
Figure 7.2 shows the ERD for the MAS.474726017754600388620045675550230187545034201966595443865Figure 7.2: “Medical Appointment” System ER Diagram.ImplementationIn this chapter, we will discuss the implementation process and the tools we used in our project. For the database, we used SQL lite.
For the java and php coding, we preferred to use and work with Android studio. For the libraries, we chose Google libraries to work withCreate user Accountfigure 8.1 shows how “create user account “function is implemented the system will import the libraries at first , the system will ask the user to fill the following fields : full name , email and password , mobile number , then save and return the user to the main user control panel.Add appointmentThis figure 8.2 shows how “add appointment “is implemented the system will ask the user to fill the following fields : add patient name, Add doctor name, add date and time , add notes then save and return the user to the main user control panel.Add timetable This figure 8.3 shows how the “add time table “is implemented This code give the admin the access to enter the available time for the patients so they can book the available date and time TestingIn this section we will test our system with some test case scenariostestcase # Brief description Input Expected output Actual output Result date1 The user enters username and password to login We assume the username is ahmedAnd the password is 123 Login successful ( pass ) Login successful pass 02/04/20182 The admin enters username and password to login We assume the admin username is Abdullah and the password is 456 Login successful ( pass ) Login successful pass 02/04/20183 the user books an appointment with a an old date We assume the user enters a date on last year ex 2015 Error message Error message pass 02/04/20184 Creating patient account without entering a mobile number We assume all the fields are completed expect the mobile number field left empty Error message ‘ please enter a mobile number ‘ Error message ‘ please enter a mobile number pass 02/04/20185 Creating patient account with the same email address We assume both of the usernames is ahmed and the email address is [email protected] Error message ‘ the email address is already in use ‘ Error message ‘ the email address is already in use ‘ pass 02/04/20186 The user selects a time or date that are not scheduled for a specific doctor We assume the doctor is available from 6-8pm and the user selects 5pm Error message ‘ the doctor is not available in that time’ Error message ‘ the doctor is not available in that time’ pass 02/04/20187 The user books an appointment but doesn’t confirm it by clicking save button We assume the user books an appointment with a specific time , date and doctor but clicks on cancel button instead of save No appointment will be saved and the user will be returned to the main menu No appointment will be saved and the user will be returned to the main menu pass 02/04/20188 The user cancels an already booked appointment The user clicks on cancel button for the specific appointment Message ‘ appointment canceld’ Message ‘ appointment canceld’ pass 02/04/20189 02/04/201810 02/04/2018Database SchemaAdd account (user table)This figure shows how the ” add account ” function is implemented3.Add timetableThis figure shows how the ” time table ” is being implemented in the DB2.Add appointment (appointment table)SDCReferences :1- itravel www.itravelsoftware.com/Booking-system? 06-11-20172- softwareart Tajawal booking softwareartTajawal 02-10-20173- business reviews https://www.business.com/reviews/appointy/ 04-12-20174- startup-providing https://yourstory.com/…/appointy 07-09-20175- makes-managing www.youngupstarts.com/2010/06/07/youram 13-09-20176- Appointmentseasy Appointmentseasy.com 14-10-2017