Logo Lanfrica

abdelkrim-beddiar/triageflow

Domain:

healthcare

Record type:

softwareproject
Creator:
abd
Host:
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 …