42 Commits

Author SHA1 Message Date
2011544f53 fix: sync root repository files with updated fiveparaminte-main code 2026-07-15 16:13:43 +05:30
4a0aae6003 fix: constructor mismatch breaking waveforms, restore clock, hide ECG/Pleth strips until real data arrives
- WaveformTrack was being called with old (baseline, amplitude) args
  instead of new (mode) string, breaking all normalization
- Clock function was accidentally removed in a prior edit
- ECG and Pleth strips now hidden by default and only appear when
  the monitor actually sends waveform data for that channel
- Resp strip always visible (synthetic from RR value)
2026-07-15 15:50:16 +05:30
dd7bf27fc0 fix: default to flatline when no live waveform data is received (enable with demo=true) 2026-07-15 15:41:43 +05:30
e417ada576 fix: resolve stale waveform duplicates and throttle bypass for real-time streaming 2026-07-15 15:02:17 +05:30
fbb9febda8 fix: adjust ECG baseline centering and Pleth peak scaling in dashboard 2026-07-15 14:46:44 +05:30
14f3d45e53 feat: real ECG/Pleth waveform streaming + clinical monitor UI redesign
- schemas.py: Add ecg_wave and pleth_wave List[int] fields to NormalizedVitals
- contec_parser.py: Extract raw 8-bit waveform samples from binary packets
  - 286/288-byte (Subtype 21): bytes[8..263] = Pleth waveform (256 samples)
  - 989-byte (Subtype 20): bytes[8..903] = ECG waveform, downsampled 4x -> 224 pts
- dashboard.html: Full clinical monitor redesign
  - Scrolling sweep waveform engine (ECG green, Pleth cyan, Resp amber)
  - Real samples fed from WebSocket ecg_wave / pleth_wave arrays
  - Synthetic fallbacks when no live data
  - Right panel: HR, SpO2, RR, NIBP, Temp with range badges
  - MRN-only verification overlay
  - Minimal-mode support for iframe embedding
2026-07-15 13:37:14 +05:30
78500c487a fix: only show waveforms when live monitor data is flowing 2026-07-15 13:00:19 +05:30
61f977e718 style: replicate Contec CMS8500 design with real-time sweep-line waveforms 2026-07-15 12:51:46 +05:30
f262155049 feat: simplify verification to check MRN only 2026-07-15 12:45:37 +05:30
0f360cf144 feat: add /api/register-patient endpoint to seed demographics for binary-only monitors 2026-07-15 12:38:23 +05:30
8e3be794ce fix: remove auto-registration that bypassed strict matching - patients must come from monitor data only 2026-07-15 12:31:12 +05:30
fb291062de feat: enforce strict 4-point verification - MRN, Gender, DOB, and Age must all match exactly 2026-07-15 12:21:46 +05:30
10884623d0 feat: enforce strict demographic matching for MRN, Gender, and DOB 2026-07-15 12:17:57 +05:30
801def2dc4 feat: resolve UNKNOWN patient ID and support auto-registration and active monitor fallbacks 2026-07-15 12:09:29 +05:30
d7a8e1910f feat: match MRN, Gender, DOB, and Age only (removed Name check) 2026-07-15 11:58:20 +05:30
e21ed72634 fix: add missing Optional import in dashboard.py 2026-07-15 11:48:19 +05:30
554771abfe feat: implement 4-point demographic synchronization & patient validation 2026-07-15 11:33:48 +05:30
ae5a928671 Eliminate extra vertical stretching inside vitals cards by applying align-content start and setting fixed 56px heights 2026-07-13 16:52:41 +05:30
43c18954b8 Halve the height of vital cards to ultra-slim horizontal telemetry bars with nested layout to perfectly fit dashboard iframe widgets 2026-07-13 16:44:54 +05:30
8ebd4dc766 Reduce vital card size to exactly half height with hidden footer, smaller font size, smaller icons, and tighter grid gap 2026-07-13 16:42:16 +05:30
6f8cc31a02 Refactor vitals grid cards to horizontal split telemetry layout with left-aligned values, right-aligned waveforms, and glowing clinical accents 2026-07-13 16:35:33 +05:30
f6c3d2b8cf Restrict app container to a compact centered console layout and remove full screen height vertical stretch 2026-07-13 16:29:03 +05:30
35f90d2b49 Further reduce vital card sizes to ultra-compact bedside design, hide setup guide and info bar, and show only patient name, ID, location/bed 2026-07-13 16:24:37 +05:30
f519527d8f Optimize dashboard card design to be smaller, compact, and professional 2026-07-13 16:20:30 +05:30
073deb2814 Update root dashboard temperature units to Fahrenheit 2026-07-13 16:17:41 +05:30
941de4d038 refactor: overhaul project structure and deployment configuration for Contec monitor system 2026-07-13 16:17:41 +05:30
732ebbd1b2 feat: convert temperature display and logic from Celsius to Fahrenheit 2026-07-13 16:07:54 +05:30
0ecace84d2 Convert temperature display from Celsius to Fahrenheit 2026-07-13 16:07:14 +05:30
3a8710695d feat: implement Contec patient monitor discovery tool and server framework 2026-07-13 15:54:28 +05:30
5d418c8eb0 Fix CMS8500 SpO2 offset in 288-byte packet 2026-07-13 15:54:28 +05:30
f7483d615d Fix CMS8500 SpO2 offset in 288-byte packet 2026-07-13 15:52:48 +05:30
72c6e12015 feat: add minimal mode view toggled by minimal=true URL parameter 2026-07-13 15:27:21 +05:30
1340de4fc4 style: upgrade dashboard vitals cards with clinical SVGs and patient demographics banner 2026-07-13 15:23:10 +05:30
c5b792a2ef style: upgrade dashboard to white theme responsive card design 2026-07-13 15:17:30 +05:30
c086bf5d27 feat: add CORS support, public JS SDK, and live Render vitals forwarding 2026-07-13 14:59:37 +05:30
b92a33d69f fix: add Dockerfile for reliable Render deployment 2026-07-13 13:44:30 +05:30
f71b498a66 fix: use python3 for Render runtime compatibility 2026-07-13 13:31:35 +05:30
63540297aa fix: use python -m uvicorn for Render PATH compatibility 2026-07-13 13:22:42 +05:30
6d0f3237af feat: implement Contec CMS7000PLUS TCP server and dashboard routing with deployment configuration 2026-07-13 12:58:45 +05:30
84b8acc904 refactor: implement packet parsing heuristics and introduce device-level state caching to throttle database writes and vitals updates 2026-07-11 14:24:14 +05:30
a4972b3251 Implement patient vital signs monitoring system with Contec CMS7000PLUS integration and real-time dashboard 2026-07-08 14:14:03 +05:30
1bd8c70a64 first commit 2026-07-08 14:12:45 +05:30