Commit Graph
35 Commits
Author SHA1 Message Date
prathiyuman 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
prathiyuman 78500c487a fix: only show waveforms when live monitor data is flowing 2026-07-15 13:00:19 +05:30
prathiyuman 61f977e718 style: replicate Contec CMS8500 design with real-time sweep-line waveforms 2026-07-15 12:51:46 +05:30
prathiyuman f262155049 feat: simplify verification to check MRN only 2026-07-15 12:45:37 +05:30
prathiyuman 0f360cf144 feat: add /api/register-patient endpoint to seed demographics for binary-only monitors 2026-07-15 12:38:23 +05:30
prathiyuman 8e3be794ce fix: remove auto-registration that bypassed strict matching - patients must come from monitor data only 2026-07-15 12:31:12 +05:30
prathiyuman fb291062de feat: enforce strict 4-point verification - MRN, Gender, DOB, and Age must all match exactly 2026-07-15 12:21:46 +05:30
prathiyuman 10884623d0 feat: enforce strict demographic matching for MRN, Gender, and DOB 2026-07-15 12:17:57 +05:30
prathiyuman 801def2dc4 feat: resolve UNKNOWN patient ID and support auto-registration and active monitor fallbacks 2026-07-15 12:09:29 +05:30
prathiyuman d7a8e1910f feat: match MRN, Gender, DOB, and Age only (removed Name check) 2026-07-15 11:58:20 +05:30
prathiyuman e21ed72634 fix: add missing Optional import in dashboard.py 2026-07-15 11:48:19 +05:30
prathiyuman 554771abfe feat: implement 4-point demographic synchronization & patient validation 2026-07-15 11:33:48 +05:30
prathiyuman 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
prathiyuman 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
prathiyuman 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
prathiyuman 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
prathiyuman 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
prathiyuman 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
prathiyuman f519527d8f Optimize dashboard card design to be smaller, compact, and professional 2026-07-13 16:20:30 +05:30
prathiyuman 073deb2814 Update root dashboard temperature units to Fahrenheit 2026-07-13 16:17:41 +05:30
prathiyuman 941de4d038 refactor: overhaul project structure and deployment configuration for Contec monitor system 2026-07-13 16:17:41 +05:30
prathiyuman 732ebbd1b2 feat: convert temperature display and logic from Celsius to Fahrenheit 2026-07-13 16:07:54 +05:30
prathiyuman 0ecace84d2 Convert temperature display from Celsius to Fahrenheit 2026-07-13 16:07:14 +05:30
prathiyuman 3a8710695d feat: implement Contec patient monitor discovery tool and server framework 2026-07-13 15:54:28 +05:30
prathiyuman 5d418c8eb0 Fix CMS8500 SpO2 offset in 288-byte packet 2026-07-13 15:54:28 +05:30
prathiyuman f7483d615d Fix CMS8500 SpO2 offset in 288-byte packet 2026-07-13 15:52:48 +05:30
prathiyuman 72c6e12015 feat: add minimal mode view toggled by minimal=true URL parameter 2026-07-13 15:27:21 +05:30
prathiyuman 1340de4fc4 style: upgrade dashboard vitals cards with clinical SVGs and patient demographics banner 2026-07-13 15:23:10 +05:30
prathiyuman c5b792a2ef style: upgrade dashboard to white theme responsive card design 2026-07-13 15:17:30 +05:30
prathiyuman c086bf5d27 feat: add CORS support, public JS SDK, and live Render vitals forwarding 2026-07-13 14:59:37 +05:30
prathiyuman b92a33d69f fix: add Dockerfile for reliable Render deployment 2026-07-13 13:44:30 +05:30
prathiyuman f71b498a66 fix: use python3 for Render runtime compatibility 2026-07-13 13:31:35 +05:30
prathiyuman 63540297aa fix: use python -m uvicorn for Render PATH compatibility 2026-07-13 13:22:42 +05:30
prathiyuman 6d0f3237af feat: implement Contec CMS7000PLUS TCP server and dashboard routing with deployment configuration 2026-07-13 12:58:45 +05:30
prathiyuman 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