Skip to content

The primary goal is to keep track of doctor, appointment, patient, booking, and doctor schedule information. It keeps track of all doctor-related information, such as fees and schedules

Notifications You must be signed in to change notification settings

ShreyaGoel03/Phyzician-Teleconsultation-Android-Mobile-Application

Repository files navigation

Phyzician-Teleconsultation-Android-Mobile-Application

Problem Statement

The purpose of phyzician is to automate the existing manual system with the help of computer software and technologies. The primary goal is to keep track of doctor, appointment, patient, booking, and doctor schedule information. It keeps track of all doctor-related information, such as fees and schedules. This project aims to create application software that will decrease the amount of manual effort involved in maintaining Doctors, Appointments, Doctor Fees, and Patients.

One of the essential uses in telemedicine is teleconsultation, a method of communication over networks. Videoconferencing technology is used in real-time consultations, allowing medical specialists and clients to connect. Both sites must interact and change photos and documents in real-time throughout the consultation.

Teleconsultation, which uses electronic information and communication technology, can provide a cost-effective healthcare approach used in clinics. A teleconsultation is a valuable tool for remote consultations and discussion conferences. Teleconsultation can increase accessibility and quality of treatment and reduce expenses. The main functions of the teleconsultation that are considered under a single application include:

❖ Doctors and Patient Login
❖ Appointment Booking & Cancellation
❖ In-app Prescription Form
❖ Chat with Doctors
❖ Health Tracker
❖ Admin Accessibility

Overview:

1. This app provides role-based login features for Admins, patients, and doctors.
2. Admins accounts will be created from the backend (i.e., generated by developers). One admin can add multiple doctors in an application, record booking and cancelled appointments, manage the payment status, and view chat details.
3. Further, Doctors can login, change passwords, update their details, edit their appointment slots, and add prescriptions.
4. Patients can login with a phone number. They can view all doctor's and doctor's details based on specialization, edit and book appointments, and download current and all previous prescriptions.
5. Patients can chat with doctors after booking an appointment, share images and video call links.
6. Phyzician contains a feature Phyzihealth Health tracker, which will record all the basic patient details, for example Body mass index, blood pressure, step count, and menstrual cycle.

Stakeholders

1. Administration - Admin refers to the main head component of the application, which is an interface between the doctor and the patient.
2. Doctors - The doctor is one of the application's stakeholders. The doctor has to set up their profile, choose the slots, check appointments and chat with the patients.
3. Patients - The patient is one of the application's stakeholders. Any patient willing for a teleconsultation can log in to our application using its mobile number and can choose the doctor from the available speciality then, book an appointment from the open visiting hours of the doctor.

ScreenShots

Session Onboarding:

Using material design Onboarding i.e Application Walkthrough - An initial hierarchy that creates meaning for our Application. Here, firstly, the welcome screen will be displayed for 2-3 sec which is created using the splash screen feature of the android studio.

Role based Login

Role-based Login Activity is mainly used to redirect users to pages respectively. If the user is a doctor/admin, they will be able to login via doctors icon, and patients can login through patient icon.

Logout

Logout feature is used to get out of the respective users' pages. It redirects to the login page again.

Administration

Admin refers to the main head component of the application, which is an interface between the doctor and the patient. The admin has the list of all the doctors available. It also has to verify the payments for the final confirmation of the appointments. It has the right to add a doctor to the available doctors in the application. Admin has the view of all the chats that are taking place between the patients with their respective doctors. The navigation drawer is present, which contains all the features available to the admin.

Login

Admins login credentials will be generated from the backend, containing login id and password. While logging in for the first time, an email will get verified using the firebase authentication method, and they have the right to reset their password.

All Doctors

After login, the admin will see the list of all the available doctors who are currently providing the teleconsultation. On clicking any doctor, the doctor's details are shown in another activity. The details include today's availability, description of the doctor and consultation fees. A search bar is added, which searches the doctors from the text input using the addTextChangedListener method of searchview.

Add Doctors

Admin has a right to add doctors at any time. The createUserWithEmailAndPassword() method is used to register a new doctor, which requires two parameters: the email address and the password. Admin will add doctors full name, email id, and password in the respected Edittext boxes to generate doctors' credentials using the Register user button. After successful registration, the toast “Doctor added successfully” will be visible.

Chats

The admin can view the chats that are taking place between the patient and respective appointment booked doctor. There is a drop-down list that contains the doctors, and after selecting the doctor, the list of the chats of the patients (Name and Phone Number) are visible using recycler view. The admin can click on any patient and view the conversations that have taken place.

All Appointments

The admin can look at all the current and previous appointments between the patient and respective doctor. There is a drop-down list that contains the doctors, and after selecting the doctor, the list of all the previous and current appointments are visible in their respective fragments using recycler view. The admin can see the patient name, contact number, date and time of the appointment, and its status. If the payment is completed, the status is visible as "Payment Verified and Booked!" in green. Otherwise, if the doctor cancels the appointment, it shows "Cancelled Appointment by Doctor!" in red.

Payment Details

The payments status page is created with the help of the viewpager layout manager that allows the user to navigate across data pages by swiping left and right. Here, it consists of two pages, "completed" and "upcoming," where all the details containing user name, mobile number, transaction id, doctor's name, date, and time regarding payments will be reflected using the recycler view. With the help of ItemTouchHelper class, on the right swipe of recycler view, a pop will appear asking, "Do you want to mark this payment as done? or cancel the appointment? If the response is Yes, then payment details will be added in the Completed section otherwise, the respected appointment will get cancelled, and the user will get notified about the cancellation.

Feedbacks

The admin can look at all the doctor's feedback from the appointments. There is a drop-down list that contains the doctors, and after selecting the doctor, the list of all the feedbacks are visible using recycler view. The admin can see the patient name, contact number, date and time of the appointment, and with the click of the particular view holder, the feedback received is visible. The feedback status and rating stars are visible using the RatingBar.


Doctor

The doctor is one of the application's stakeholders. The doctor has to set up their profile, choose the slots, check appointments and chat with the patients. The doctor can upload and look at all the prescriptions of the patient. The doctor can update its teleconsultation slots according to their availability. They can check all the booked appointments and chat with the patients.

Login

Doctors login credentials will be given by Admin, containing login id and password. While logging in for the first time, an email will get verified using the firebase authentication method, and they have the right to reset their password.

Forgot/Update Password

With the click of forgot password, the screen will appear containing edit text for email id. With the reset button click, the user will receive a reset password email sent from Firebase Console

View Profile

If Doctor is logging in for the first time in the application, they have to update all the necessary details otherwise, there is an option to edit attributes in a profile section. The details to be added are Name, Gender, Email, Speciality, Experience, Bio, Consultation Fees, Profile picture, and will be added in the firebase. On the click of the Profile option, the profile of the doctor will be visible along with their image.

Update Profile

The doctor can update the details anytime by clicking on update details.

Scheduled Appointments

All the confirmed appointments of the doctor will be displayed on the first page using the recycler view. The doctor can see the patient's name, contact number, date and time of the appointment, and status. A search bar is added, which searches the patients from the date input using the addTextChangedListener() method of searchview. Further on the click of recycler view, respected details of patient get displayed.

My Appointments

The doctor can look at all the current and previous appointments. The details of all the previous and current appointments are visible in their respective fragments using a recycler view. The doctor can see the patient's name, contact number, date and time of the appointment, and its status.

Your Slots

The doctor can choose its visiting hours on respective dates for a week. The doctor can choose from that drop-down and click on the select button. The doctor has first to choose the date, and then start and end times are visible. All the slots chosen are visible in the Your Chosen Slots section using the recycler view. The date, time and count of the booked slots by the patients are shown. The doctor can delete its chosen visiting hours by swiping the slot to the right from the "Your Chosen Slots" section.

Chats

The doctor can chat with the patients who have booked appointments with him. The list of the patients is visible with their names and phone numbers. The doctor can click on any patient and initiate or reply to the conversation. The chat window has a attach document/image button through which the doctor can send or receive any image as chat. A send button sends the message typed by the doctor to the patient.

Prescriptions

With the click of the upload prescription button, the screen will open where doctors can edit all the details, and The same information will be reflected on the patient's side. Doctors can edit the patient's name, gender, age, address, height, weight, instructions, consultation type, date, last lab report details, Relevant points from history, Diagnosis information, examinations, and medications.


Patient

The patient is one of the application's stakeholders. Any patient willing for a teleconsultation can log in to our application using its mobile number and receive OTP. The patient can choose the doctor from the available speciality and book an appointment from the open visiting hours of the doctor.


Login

The phone number authentication method is used on the patient's side, and the patient has to verify his identity with his phone number. Here on the patient login page patient has to add his phone number in the given edit text, After clicking the Get OTP button, Firebase will send an OTP to the number provided, and the patient has to input it in the following text field and then click the login button to confirm that the OTP is correct.

Our Doctors

After login, the patient can see the list of all the available doctors who are currently providing the teleconsultation on our doctors' click. On clicking any doctor, the doctor's details are shown in another activity.

Find Doctors by Speciality

After login, the patient can see the list of all the available specializations using the horizontal recycler view or search speciality in the grid recycler view. On clicking any doctor, the doctor's details are shown in another activity. The patient can click on any speciality, and the respective doctors are shown in the next activity. The patient can look at the profile of the doctors by clicking on the doctor list view.

Know Your Doctor

Know your doctor screen contains all the details related to the doctor. The details include Name, Specialized area of the doctor, today's availability, description of the doctor, contact details, and consultation fees. The buttons All Prescription, Book Appointment and Chat are visible.

All Prescriptions

With the click of the all prescription button, the screen will open where The recycler view, adapter, and view holders present the Doctor's name, date, and time. If the patient is opening a prescription for the first time mandatory page to provide doctors, feedback will appear on clicking any prescription. Otherwise, all the details will be displayed

Book Appointment

The booking appointment shows the doctor name, display picture and bio. The devs.mulham.horizontalcalendar.HorizontalCalendar has been used to display the calendar. The patient selects the dates by scrolling. The time slots are visible in the drop-down respective to the date selected. The patient has to enter their name and add any Questions for Doctor?. With the click of Pay Consultation Fees, the patient is redirected to another activity, where the doctor's consultation fees are visible. The patient can make the payment through the provided payment link and update the details with the Transaction ID. With the Book Appointment Button click, the appointment gets booked, and the final status is updated in the Your Appointments tab.

Your Appointments

The patient can look at all the current and previous appointments. The details of all the previous and current appointments are visible in their respective fragments using a recycler view. The patient can see the doctor's name, specialization, appointment date and time, transaction ID, payment status, and appointment status.

Chats

The patient can chat with the doctors who have booked appointments with him. The doctor's name and image as a display picture will be visible to patients to initiate or reply to the conversation. The chat window has a attach document/image button through which the patient can send or receive any image as chat. A send button sends the message typed by the doctor to the patient. The date and time of the message sent or received are also visible.



PhyziHealth

This feature is available on the Patient Side. It acts as a fitness tracker which records the BMI, Daily Steps, Blood Pressure and Menstrual Cycle. The patient can choose the PhyziHealth option available in the Navigation drawer. This module helps in the maintenance of the physical health of the patient. The patient must permit the ACTIVITY_RECOGNITION to track the activity using mobile sensors.


BMI

The BMI is based on a person's height and weight. BMI = kg/m2, where kg represents a person's weight in kilograms and m2 represents their height in meters squared. Here the user has to enter weight and height in the respected edit text fields, and with the click of calculating BMI button, As a result, BMI value and weight status will be displayed.

Step Counter

The patient can keep track of the daily steps with the distance travelled in km and calories burnt in cal. The horizontal calendar is visible at the top, pointing at the current date. The permission ACTIVITY_RECOGNITION is checked if it has been granted, then the step counter service is started in the background. The TYPE_STEP_COUNTER sensor is used, which registers the listener and updates the steps simultaneously as it tracks them using the Step sensor. The distance in cm is calculated as the product of 74*number of steps which are converted into kms. Then the calories burnt is calculated by the product of 0.04*number of steps. The steps, calories, and distance are visible in their edit text boxes.

Blood Pressure

Phyzihealth has an option to record blood pressure to keep an eye on your health and is designed to monitor and record both diastolic and systolic blood pressure, as well as your pulse rate. The user selects the dates by scrolling and is picked up using the setCalendarListener() function. With the click of dates on the calendar, the user can check previously recorded systolic and diastolic blood pressures.

Women’s Health

Women's Health contains a menstruation tracker where savvi.rangedatepicker.CalendarPickerView() is used for calendar. The click of duration will display the pop-up box to edit the cycle duration, and the upcoming date displays the next five months predicted dates. The home button redirects the patient to the home page.

About

The primary goal is to keep track of doctor, appointment, patient, booking, and doctor schedule information. It keeps track of all doctor-related information, such as fees and schedules

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages