TriageFlow Algeria is a full-stack emergency triage management system for Algerian hospitals. It implements the ESI 5-level triage model, real-time patient queues, role-based access control, patient history tracking, and multilingual support using React, Node.js, MySQL, and Socket.io.
# TriageFlow Algeria 🚑
**Emergency Triage System for Algerian Hospitals**
A full-stack web application for hospital emergency triage, built on the ESI (Emergency Severity Index) 5-level system, adapted for the Algerian context.
---
## Features
- ✅ Patient registration with NNI lookup (returning patients auto-fill)
- ✅ ESI 1–5 triage algorithm (server-side, auditable)
- ✅ Real-time live queue with Socket.io
- ✅ Patient history with full visit records and vitals
- ✅ Role-based access: nurse / doctor / admin
- ✅ Trilingual UI: Arabic (RTL) / French / English
- ✅ Algerian fields: NNI, Wilaya, CNAS/CASNOS insurance
- ✅ Admin panel: daily stats, staff management, audit log
- ✅ Full audit trail on every action
---
## Tech Stack
| Layer | Tech |
|---|---|
| Frontend | React 18, Socket.io-client |
| Backend | Node.js, Express |
| Database | MySQL |
| Real-time | Socket.io |
| Auth | JWT + bcrypt |
---
## Setup
### Prerequisites
- Node.js 18+
- MySQL 8+
### 1. Database
```bash
mysql -u root -p 120 bpm
- SpO₂: 39.5°C
- Respiratory rate: 29 /min
---
## Project Structure
```
triageflow/
├── server/
│ ├── index.js # Express + Socket.io entry
│ ├── db/
│ │ ├── schema.sql # Full MySQL schema
│ │ └── connection.js # MySQL pool
│ ├── middleware/
│ │ └── auth.js # JWT + role guard
│ ├── routes/
│ │ ├── auth.js
│ │ ├── patients.js
│ │ ├── visits.js
│ │ ├── triage.js # ESI algorithm lives here
│ │ ├── queue.js
│ │ └── admin.js
│ └── socket/
│ └── queueEvents.js # Real-time events
└── client/
└── src/
├── App.jsx # Layout + routing
├── pages/
│ ├── LoginPage.jsx
│ ├── IntakePage.jsx
│ ├── TriageForm.jsx
│ ├── QueuePage.jsx
│ ├── HistoryPage.jsx
│ └── AdminPage.jsx
├── components/
│ └── LevelBadge.jsx
├── context/
│ ├── AuthContext.js
│ └── LanguageContext.js
└── i18n/
└── translations.js # AR / FR / EN
```
---
## Portfolio Notes
This project demon …