Logo Lanfrica

abdelkrim-beddiar/triageflow

Domaine:

healthcare

Type de record:

softwareproject
Créateur:
abd
Hôte:
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 …