How solrinku/dynacardio-real-time-ecg-heart-risk-detection works
DynaCardio replays MIT-BIH ECG records as timed windows, extracts signal and HRV features, classifies each window into a risk tier, and streams results to a live monitoring dashboard. The queue separates raw-window and feature stages; the API owns inference, result history, HTTP endpoints, and WebSocket broadcasts. Model training is a separate dataset-to-artifact branch. Dashboard capabilities are documented in the README, but its implementation was not sampled, so its internal wiring is not expanded.
Main entry points: server.py Risk Inference · queue_server.py HTTP Queues · replay_service.py Record Replay · preprocess_service.py Feature Extraction
Components 11
ECG Replay
- Record Replay
backend/replay/replay_service.py - HTTP Queues
backend/queue_server.py
Signal Processing
- Feature Extraction
backend/preprocessing/preprocess_service.py
Risk Serving
- Risk Inference
backend/api/server.py - HTTP API
backend/api/server.py - Result History
backend/api/server.py - Live Dashboard
index.html
Model Training
- Training Pipeline
backend/scripts/train_model.py - Trained Model
Other components
- MIT-BIH Records
- Dashboard User
Connections 12
- MIT-BIH Records → Record Replay: reads record
- Record Replay → HTTP Queues: publishes raw windows
- HTTP Queues → Feature Extraction: delivers raw windows
- Feature Extraction → HTTP Queues: publishes features
- HTTP Queues → Risk Inference: delivers features
- Risk Inference → Trained Model: loads classifier
- Risk Inference → Result History: appends results
- Risk Inference → HTTP API: updates latest
- HTTP API → Live Dashboard: streams results
- Live Dashboard → Dashboard User: displays monitoring
- MIT-BIH Records → Training Pipeline: reads records
- Training Pipeline → Trained Model: writes classifier