Skip to content

afia45/doctor-appointment-system-using-ai-chatbot

Repository files navigation

MedAI: Doctor Appointment System utilizing AI Chatbot with RASA Framework

Logo

Screen shots This project is a Doctor Appointment System (Mobile) app designed to help users book doctor appointments in the most efficient way. Rather than calling up centers, paying a visit or using complex appointment systems for the sake of making an appointment, users can just chat with an AI powered Chatbot with (NLP and ML) entity and intent recognition, to help users make appointments the most efficient way.



Note

This app was developed in order to submit it as a final project for my final year at IIUC (International Islamic University Chittagong), hence this project requires a lot more work to be fully developed for deployment. It is made open-source for learning purposes, my team and I will soon make proper tutorials, documentation, and deploy proper code (as it is all messy due to lots of trials and errors) in a seperate repository. So, please star this repository if you would want to keep up with the updates! Any contributions are welcomed, please e-mail me beforehand, Thank you.

License

Licensed under the Apache License 2.0. You are free to use, modify, and distribute this project in compliance with the terms of the license. See the LICENSE file for details.

Overview

The app provides essential features like booking an appointment using an AI Chatbot (Appointment Making Assistant) powered with RASA Framework, viewing all made appointments, cancelling or rescheduling appointments and viewing details of all doctors available in a selected hospital and department. With integration to Cloud Firestore to handle real time data, it offers a smooth and convinient solution of having easy access to their preffered doctors according to doctor availibility time.

Languages, tools, framework & Database

  • Dart, Python, YML
  • Android Studio/VS Code
  • Flutter, RASA
  • Cloud Firestore (NoSQL Real Time database) and Firebase Authentication (handles Authenticated App Users)

Features

  • Splash Screen: Displays an app logo during app startup.
  • Welcome Page: Displays a welcome page for a signup and login buttons.
  • Sign Up Page: Users can sign up with their Name, Email and Password.
  • Log In Page: Users can log in with their Email and Password.

User Panel

  • Home Page: Displays a dashboard of user next most upcoming scheduled appointments if any, and 8 other buttons with each having the following features;
  • Make Appointment Page: Allows users to communicate with a Chatbot (powered with RASA) to book an appoinmnet (it includes additional features of handling both Bangla and English Texts, STT and TTS).
  • Ask Any Health Related Questions Page: Allows users to communicate with another Chatbot (powered by Gemini) to ask any health related questions.
  • Appointment List Page: Allows users to reschedule or cancel any booked appointments (with a constraint that users can only reschedule/cancel 6 hrs before their due appointment time).
  • Calendar Page: Provides a calendar that marks a star on the days when users have an appointment, upon navigating to that specific date, users can view their appointment details.
  • BMI Calculator Page: Users can calculate their BMI if they wish.
  • View All Doctors Page: Users can view doctor details in a selected hospital and department.
  • Call Emergency Page: Users have access to emergency numbers of the selected hospitals.
  • Hospitals Nearby Page: Users are navigated to Google Maps that shows all nearby clinics and hospitals near them, using their device location.

Screenshots (WIP)

Screen shots Screen shots Screen shots Screen shots Screen shots

Admin Panel

  • Drawer: Provides easy navigation to the following pages;
  • Dashboard Page: Allows admins to view Firestore Usage Metrics, since Firestore does not yet provide an API link to the usage metrics, a link to Cloud Firestore is provided to view them.
  • Manage Users Page: Allows admins to view Authenticated App Users, and handle them as they wish.
  • Manage Appointment Page: Allows admins to View All Appointments under a specific Doctor's Time Slot and manage them accordingly, they have the ability to reorder patients if urgent and can handle the Queueing System.
  • Manage Hospital Database Page: Allows Admins to manage the Hospital Database, they can edit or delete as they wish. (Adding Functionality is yet to be implemented)

Screenshots (WIP)

Screen shots Screen shots

Limitations

There are considerable amount of limitations that my team and I are currently fixing, failure to fix those features will be noted down here!

Project Setup (WIP)

About

This project was implemented for our final year at IIUC, we successfully defended our project on "Effective Doctor Appointment System using AI Chatbot". We used Flutter, RASA Framework, and Cloud Firestore to create a fully functional Mobile App (for Androids) Doctor Appointment System for both Users and Admins!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors