ViniBot is a Multi-Agent Receptionist system designed to automate and streamline administrative operations in healthcare facilities. Leveraging intelligent agents, ViniBot efficiently manages patient data, schedules appointments, and oversees medical inventory, improving the overall workflow of a healthcare receptionist.
The system consists of three primary agents and a Supervisor Agent that oversees and coordinates their activities:
- Role: Handles patient information intake and classification.
- Functions:
- Collects patient data including Name, Address, Date, Age, Marital Status, Sex, and Phone Number.
- Performs Create, Read, Update, and Delete (CRUD) operations on patient records.
- Identifies whether a patient is a new case or a follow-up.
- Role: Manages scheduling of patient appointments.
- Functions:
- Checks patient history for previous visits or relevant data.
- Sends appointment notifications/messages to patients.
- Finds available time slots and schedules appointments in 20–30 minute intervals.
- Role: Maintains and manages medical inventory.
- Functions:
- Tracks medicine stock levels in real time.
- Automatically places orders for medicines when stock is low.
- Role: Central controller and decision-maker.
- Responsibilities:
- Monitors and coordinates all other agents.
- Delegates tasks and ensures smooth workflow among the Case Generator, Appointment Scheduler, and Inventory Management agents.
- Efficient patient data management and classification.
- Automated appointment scheduling with notification system.
- Real-time medicine inventory tracking and restocking.
- Centralized supervision and coordination for consistent operations.
Follow these steps to set up and run ViniBot:
-
Create a virtual environment:
python -m venv venv
- On Windows
venv\Scripts\activate- On macOS/Linux
source venv/bin/activate- Install the required packages:
pip install -r requirements.txt
- Create a
.envfile:
- Add your OpenAI API key or modify the model configuration as needed.
- Example
.envcontent:
OPENAI_API_KEY=your_openai_api_key_here- Run the application:
streamlit run app.py
vinibot/
├── app.py
├── requirements.txt
├── Dockerfile
├── external.env # <-- your .env file with secrets (OpenAI key etc.)
Your .env file (named external.env) should look like:
OPENAI_API_KEY=your_openai_api_key_here
docker build -t <NAME> .docker run -p 8501:8501 \
-v $(pwd)/external.env:/app/.env \
<NAME>💡 On Windows PowerShell:
docker run -p 8501:8501 `
-v ${PWD}/external.env:/app/.env `
<NAME>Then open your browser at: http://localhost:8501