How sahildhatwalia/pulseflow works
PulseFlow is an emergency-department intake, triage, and patient-flow application. Patients check in through a kiosk or staff intake; clinicians assess acuity, optionally request an AI ESI prediction, and manage room assignments or priority overrides. The server maintains queue state and recalculates priorities and wait estimates, then synchronizes updates to staff and public displays. The README also documents analytics and HIPAA-conscious public views. Server and UI excerpts are partial, so links for unsampled endpoint and view behavior are limited to documented capabilities.
Main entry points: App.jsx Application shell · server.js Express API · db.js Hospital state · StaffTriageView.jsx Staff triage
Components 20
Clinical and Public UI
- Application shell
client/src/App.jsx - Patient intake
client/src/components/PatientDisplayView.jsx - Staff triage
client/src/components/StaffTriageView.jsx - Priority override
client/src/components/AdminOverrideView.jsx - Public queue display
client/src/components/PatientDisplayView.jsx - Patient call banner
client/src/components/PatientCallBanner.jsx - Analytics dashboard
client/src/components/AnalyticsView.jsx - Privacy display
client/src/components/HipaaComplianceView.jsx - HTTP client
client/src/services/api.js - Realtime client
client/src/services/socket.js
API and Coordination
- Express API
server/src/server.js - Socket.IO server
server/src/server.js
Queue and Clinical Flow
- AI triage
server/src/ai.js - Queue prediction
server/src/predictionEngine.js - Hospital state
server/src/db.js
Privacy and Analytics
- PHI protection
server/src/hipaa.js - Throughput metrics
server/src/db.js
Other components
- Patient
- Clinical staff
- Administrator
Connections 27
- Patient → Patient intake: checks in
- Clinical staff → Staff triage: assesses
- Administrator → Priority override: sets override
- Patient intake → Application shell: submits intake
- Staff triage → Application shell: updates status
- Priority override → Application shell: requests override
- Application shell → HTTP client: calls API
- HTTP client → Express API: HTTP requests
- Express API → Hospital state: reads and updates
- Express API → AI triage: requests prediction
- AI triage → Express API: returns ESI
- Hospital state → Queue prediction: recalculates queue
- Hospital state → PHI protection: creates tokens
- Express API → PHI protection: sanitizes public data
- Express API → Socket.IO server: broadcasts updates
- Socket.IO server → Realtime client: pushes events
- Realtime client → Application shell: delivers events
- Application shell → Public queue display: renders view
- Application shell → Staff triage: renders view
- Application shell → Priority override: renders view
- Application shell → Patient call banner: renders view
- Application shell → Analytics dashboard: renders view
- Application shell → Privacy display: renders view
- Patient → Public queue display: views queue
- Hospital state → Throughput metrics: provides metrics
- Analytics dashboard → HTTP client: fetches analytics
- Privacy display → Application shell: displays privacy view