AIDE is a healthcare triage system designed to optimize patient flow in clinics and hospitals. Built for the Waterloo Future Cities Institute hackathon by Jaineel Patel and Dhruv Joshi.
- Patient Intake System: Patients can register via web form with symptoms, urgency level, and visit details
- Intelligent Queue Management: Automatic triage scoring and positioning based on urgency and visit type
- Real-time Dashboard: Admins can view live queue, complete appointments, and see statistics
- Automated Advisal: Automatic advisal messages based on symptoms
- Email Summaries: Automatic visit summary emails via SendGrid
- Frontend: React + Vite
- Backend: Flask (Python)
- AI Integration: Gemini/GPT
- Voice Integration: ElevenLabs Voice Agent API
- email integration: Sendgrid API
cd backend
# Create virtual environment (if not exists)
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the server
python app.pyBackend will run on http://localhost:5001
cd frontend
# Install dependencies
npm install
# Run development server
npm run devFrontend will run on http://localhost:3000
POST /api/patient/intake- Submit new patient intakeGET /api/patients- Get all patients in queuePUT /api/patients/<id>/complete- Mark patient as completedPUT /api/patients/<id>/cancel- Cancel patient from queueGET /api/stats- Get queue statisticsGET /health- Health check
Note: Backend runs on port 5001 (instead of 5000) to avoid conflict with macOS AirPlay Receiver on port 5000.
-
Patient Registration: Patients fill out intake form with:
- Personal information (name, email, phone)
- Symptoms/visit purpose
- Visit type (advisal, follow-up, routine, emergency)
- Estimated duration
- Urgency level (1-10)
-
AI Triage Scoring: AIDE calculates a triage score based on:
- Urgency level (weighted heavily)
- Visit type (emergency gets priority)
- Estimated duration (shorter visits prioritized for efficiency)
-
Queue Positioning: Patients are automatically positioned in queue by triage score
-
Real-time Updates: Admin dashboard shows live queue with full patient details
-
Completion: Admins can mark patients as complete or cancel them from the queue
- Start both backend and frontend servers
- Fill out patient intake form as a patient
- Switch to Admin Dashboard to see the queue
- Complete or cancel patients as needed
- Watch statistics update in real-time
- Currently uses in-memory storage (data lost on server restart)