Health Management System for the VITC Health Centre
Automated Queue | Digitalized Prescriptions | Real-time Statistics
HealthBot is an application made to streamline the campus health centre operations and improve the quality of life of students. This was our Submission for the Summer Solve-A-Thon Hackathon conducted at VITC.
Features:
- Automated queue for appointments to reduce crowding and save time
- Digitalized prescriptions to reduce paper wastage and make it easier to search for past prescriptions
- Real-time statistics of current cases in campus and visual graph of the increasing frequency of cases day by day to predict and prevent outbreaks
There are 2 UIs to this application. One for the students and one for the health centre. The students interact with a Telegram bot, whereas the health centre officials interact with a web dashboard.
Students' UI:
- Schedule doctor's appointment
- Call ambulance
- Schedule counsellor's appointment
- Get food delivered to room
- Notifications for appointments and prescriptions
Health Centre Dashboard:
- Manage appointments queue
- Enter prescriptions for patients
- Search patient logs for consultation history
- Monitor real-time statistics of current cases in campus and get a visual graph of the increasing frequency of cases day by day
- Appropriate notifications to authorities
To get the project up and running locally on your machine, follow these simple steps:
- Create a database on MongoDB and obtain the connection URI.
- Create 2 telegram bots (One for student UI and one for notifications) using BotFather and obtain their API tokens.
- Clone the repo
git clone https://github.com/robinroy03/healthbot.git
cd healthbot
- Create a virtual environment and install dependencies
python3 -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt
- Create a .env file in the root directory with the following variables
ATLAS_URI = <your-MongoDB-connection-URI>
DB_NAME = <your-database-name>
BOT_TOKEN = <api-token-for-your-student-ui-bot>
NOTIF_BOT_TOKEN = <your-api-token-for-your-notifications-bot>
- Start the bot
python3 bot.py
- Launch the dashboard
streamlit run dashboard.py
- You are all set! You can now begin messaging the bot on telegram.
Patient's Medical History Search
- Get a logo
- Add contributing instructions, CONTRIBUTING.md and CODE_OF_CONDUCT.md
- Clean the code. It was a quick hack, so the code is a bit messy. A lot of edge cases are not yet handled.
- Combine the two telegram bots into one. Having a separate bot for notifications is not necessary.
- Make REST API endpoints for the dashboard to interact with instead of calling functions from db.py directly.
- Set up unit tests.
- Use an actual ML model to predict outbreaks using data from the health centre.
- Move to a better frontend framework (possibly Reflex?)
- Deploy the app.
Was an overall fun cook and the vibes were immaculate! Finished as 3rd runners up and were awarded a cash prize :)