AI-Powered, Real-Time Medical Triage & Prioritization System
Eliminating ER wait-time fatalities by instantly identifying critical patients.
🏆 Judges Start Here ·
🧠 Architecture ·
📂 View Repositories
Public healthcare facilities face massive bottlenecks. Overcrowded emergency rooms and manual prioritization lead to delays in identifying critical patients. When a patient with a mild heart attack is stuck in a waiting room behind ten people with the flu, the results can be fatal.
TriageSync is a real-time, AI-driven Clinical Decision Support System (CDSS). Patients submit their symptoms in their own words (or language). Our AI instantly processes the unstructured text, assigns a standardized medical urgency score, and pushes the data via WebSockets to a live Staff Dashboard—reordering the hospital queue in less than 1 second.
We value your time. Here are the most critical links to evaluate our project:
- 🎥 Watch the 3-Minute Pitch & Demo (Insert Link Here)
- 💻 Live Web Demo (Staff Dashboard) (Insert Link Here)
- 📱 Live Web Demo (Patient Input) (Insert Link Here)
- 📚 Pitch Deck PDF (Insert Link Here)
Pro-Tip for Demo: Open the Patient App and Staff Dashboard side-by-side. Submit a symptom like "My chest hurts and my left arm feels numb" and watch the Staff Dashboard instantly resort the patient to Priority 1 via WebSockets without refreshing.
TriageSync uses a decoupled, microservice-inspired architecture. Our codebase is split into two primary repositories within this organization:
| Repository | Role | Tech Stack | Description |
|---|---|---|---|
/triagesync-frontend |
Client & Dashboard | Flutter, Dart, WebSocket Client | Contains both the Patient UI (Mobile-first) and the Staff Dashboard (Tablet/Web optimized). |
/triagesync-backend |
Core API & Real-Time Logic | Django, DRF, Redis, Channels | Handles JWT Auth, AI prompt engineering, database persistence, and WebSocket broadcasting. |
- ⚡ Real-Time WebSocket Synchronization: No manual refreshing. As soon as a patient submits a symptom, the staff dashboard securely updates and re-sorts the queue based on AI-calculated urgency (< 1s latency).
- 🧠 Explainable AI Triage: The AI doesn't just output a number. It outputs a structured JSON response containing the Priority Level (1-5), Urgency Score (0-100), and crucially, Clinical Reasoning to build trust with medical staff.
- 🌍 Native Multilingual Support: Patients can type symptoms in Spanish, Hindi, Mandarin, etc. The AI automatically translates, triages, and displays the standard English medical condition on the staff dashboard.
- 🛡️ Safety Fallbacks & Overrides: Built-in validation layers ensure that if the AI API fails or returns invalid JSON, a deterministic fallback algorithm takes over to ensure no patient data is lost.
graph TD
A[🧑 Patient App <br> Natural Language Input] -->|POST /api/triage/| B(Django Backend)
B -->|Prompt with Symptoms| C{LLM Engine}
C -->|Returns JSON: Urgency, Priority, Reasoning| B
B -->|Saves to DB| D[(PostgreSQL / SQLite)]
B -->|Pushes Payload via Redis| E((Django Channels <br> WebSocket))
E -->|Instant Broadcast| F[👩⚕️ Staff Dashboard <br> Live Queue Re-sort]
- Auth: User logs in via JWT. Routes are strictly protected based on role (Patient vs. Staff).
- Ingestion: Patient submits max 500 characters of natural symptom description.
- Processing: Django backend hits the AI endpoint with strict JSON-schema requirements.
- Broadcast: The structured response is broadcast via Redis and Django Channels to the authenticated Staff WebSocket group.
- UI Update: The Flutter dashboard parses the stream and animates the new patient to their proper slot in the urgency queue.
- Framework: Flutter (Cross-platform compilation for Web, iOS, Android)
- State Management: Provider / Riverpod
- Real-time: web_socket_channel package
- Framework: Django & Django Rest Framework (DRF)
- Real-time: Django Channels & Redis (In-memory datastore for WebSockets)
- AI Integration: OpenAI API / Google Gemini API
- Authentication: SimpleJWT (JSON Web Tokens)
- Database: PostgreSQL / SQLite
Want to spin this up on your local machine? Please refer to the specific setup guides in our repositories:
- Backend Setup: triagesync-backend/README.md
- Frontend Setup: triagesync-frontend/README.md
Built with ☕ and ❤️ during the [Insert Hackathon Name] Hackathon.
- [Your Name] - Backend / AI Architecture - GitHub
- [Teammate Name] - Frontend / Flutter Dev - GitHub
- [Teammate Name] - UX/UI & Pitch - GitHub
TriageSync is a hackathon prototype designed as a Clinical Decision Support System (CDSS). It is meant to assist, not replace, trained medical professionals. In a production environment, hard-coded safety nets and HIPAA-compliant LLM endpoints would be strictly enforced.