From 9d7c370836e86e3260a263b5cdcc59ca4be59424 Mon Sep 17 00:00:00 2001 From: Arun Date: Sat, 12 Sep 2026 19:56:21 +0530 Subject: [PATCH] Update Contec monitor service, parser, dashboard and tunneling --- api_client.py | 58 +- background_tasks.py | 92 +- bore.exe | Bin 0 -> 1795584 bytes contec_parser.py | 299 +- contec_server.py | 433 +- database.py | 5 +- .../fiveparaminte-main/.dockerignore | 17 - .../fiveparaminte-main/.gitignore | 37 - .../fiveparaminte-main/Dockerfile | 15 - .../fiveparaminte-main/Procfile | 1 - .../fiveparaminte-main/README.md | 44 - .../fiveparaminte-main/api_client.py | 63 - .../fiveparaminte-main/background_tasks.py | 67 - .../fiveparaminte-main/build.bat | 29 - .../fiveparaminte-main/build.sh | 28 - .../fiveparaminte-main/config.json | 15 - .../fiveparaminte-main/config.py | 45 - .../fiveparaminte-main/contec_discovery.py | 246 -- .../fiveparaminte-main/contec_parser.py | 553 --- .../fiveparaminte-main/contec_server.py | 312 -- .../fiveparaminte-main/database.py | 17 - fiveparaminte-main/fiveparaminte-main/main.py | 189 - .../fiveparaminte-main/models.py | 41 - .../fiveparaminte-main/render.yaml | 15 - .../fiveparaminte-main/requirements.txt | 9 - .../fiveparaminte-main/routers/__init__.py | 1 - .../fiveparaminte-main/routers/dashboard.py | 271 -- fiveparaminte-main/fiveparaminte-main/run.sh | 21 - .../fiveparaminte-main/runtime.txt | 1 - .../fiveparaminte-main/schemas.py | 37 - .../fiveparaminte-main/setup_service.sh | 50 - .../static/contec-vitals-sdk.js | 249 -- .../fiveparaminte-main/static/dashboard.html | 1631 -------- .../fiveparaminte-main/terminal_display.py | 246 -- fiveparaminte-main/routers/__init__.py | 1 - fiveparaminte-main/routers/dashboard.py | 525 --- .../scratch/analysis_findings.py | 117 - fiveparaminte-main/scratch/analyze_bp.py | 11 - fiveparaminte-main/scratch/analyze_logs.py | 39 - .../scratch/check_active_connections.py | 19 - .../scratch/check_db_devices.py | 18 - fiveparaminte-main/scratch/dissect_45.py | 56 - fiveparaminte-main/scratch/dissect_56.py | 40 - fiveparaminte-main/scratch/dissect_packets.py | 87 - fiveparaminte-main/scratch/dump_packets.py | 78 - fiveparaminte-main/scratch/find_pr_offset.py | 58 - .../scratch/inspect_raw_tail.py | 32 - fiveparaminte-main/scratch/mock_monitor.py | 83 - .../scratch/mock_multi_monitors.py | 73 - .../scratch/raw_contec_stream.bin | Bin 3982397 -> 0 bytes .../scratch/reconstruct_packets.py | 28 - fiveparaminte-main/scratch/scan_monitor.py | 50 - fiveparaminte-main/scratch/search_results.txt | 1746 -------- .../scratch/search_scaled_bp.py | 51 - fiveparaminte-main/scratch/search_vitals.py | 63 - .../scratch/search_vitals_288.py | 21 - .../scratch/search_vitals_989.py | 21 - .../scratch/search_vitals_range.py | 41 - .../scratch/test_module_integration.py | 49 - fiveparaminte-main/scratch/test_parser.py | 114 - .../scratch/test_updated_parser.py | 50 - fiveparaminte-main/scratch/udp_heartbeat.py | 36 - fiveparaminte-main/scratch/udp_sniff_now.py | 48 - .../static/contec-vitals-sdk.js | 249 -- fiveparaminte-main/static/dashboard.html | 665 --- main.py | 34 +- models.py | 1 + routers/dashboard.py | 683 ++-- setup_service.sh | 0 start_tunnel.bat | 10 + static/contec-vitals-sdk.js | 249 -- static/dashboard.html | 3623 ++++++++++++++--- 72 files changed, 3966 insertions(+), 10240 deletions(-) create mode 100644 bore.exe delete mode 100644 fiveparaminte-main/fiveparaminte-main/.dockerignore delete mode 100644 fiveparaminte-main/fiveparaminte-main/.gitignore delete mode 100644 fiveparaminte-main/fiveparaminte-main/Dockerfile delete mode 100644 fiveparaminte-main/fiveparaminte-main/Procfile delete mode 100644 fiveparaminte-main/fiveparaminte-main/README.md delete mode 100644 fiveparaminte-main/fiveparaminte-main/api_client.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/background_tasks.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/build.bat delete mode 100644 fiveparaminte-main/fiveparaminte-main/build.sh delete mode 100644 fiveparaminte-main/fiveparaminte-main/config.json delete mode 100644 fiveparaminte-main/fiveparaminte-main/config.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/contec_discovery.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/contec_parser.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/contec_server.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/database.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/main.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/models.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/render.yaml delete mode 100644 fiveparaminte-main/fiveparaminte-main/requirements.txt delete mode 100644 fiveparaminte-main/fiveparaminte-main/routers/__init__.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/routers/dashboard.py delete mode 100644 fiveparaminte-main/fiveparaminte-main/run.sh delete mode 100644 fiveparaminte-main/fiveparaminte-main/runtime.txt delete mode 100644 fiveparaminte-main/fiveparaminte-main/schemas.py delete mode 100755 fiveparaminte-main/fiveparaminte-main/setup_service.sh delete mode 100644 fiveparaminte-main/fiveparaminte-main/static/contec-vitals-sdk.js delete mode 100644 fiveparaminte-main/fiveparaminte-main/static/dashboard.html delete mode 100644 fiveparaminte-main/fiveparaminte-main/terminal_display.py delete mode 100644 fiveparaminte-main/routers/__init__.py delete mode 100644 fiveparaminte-main/routers/dashboard.py delete mode 100644 fiveparaminte-main/scratch/analysis_findings.py delete mode 100644 fiveparaminte-main/scratch/analyze_bp.py delete mode 100644 fiveparaminte-main/scratch/analyze_logs.py delete mode 100644 fiveparaminte-main/scratch/check_active_connections.py delete mode 100644 fiveparaminte-main/scratch/check_db_devices.py delete mode 100644 fiveparaminte-main/scratch/dissect_45.py delete mode 100644 fiveparaminte-main/scratch/dissect_56.py delete mode 100644 fiveparaminte-main/scratch/dissect_packets.py delete mode 100644 fiveparaminte-main/scratch/dump_packets.py delete mode 100644 fiveparaminte-main/scratch/find_pr_offset.py delete mode 100644 fiveparaminte-main/scratch/inspect_raw_tail.py delete mode 100644 fiveparaminte-main/scratch/mock_monitor.py delete mode 100644 fiveparaminte-main/scratch/mock_multi_monitors.py delete mode 100644 fiveparaminte-main/scratch/raw_contec_stream.bin delete mode 100644 fiveparaminte-main/scratch/reconstruct_packets.py delete mode 100644 fiveparaminte-main/scratch/scan_monitor.py delete mode 100644 fiveparaminte-main/scratch/search_results.txt delete mode 100644 fiveparaminte-main/scratch/search_scaled_bp.py delete mode 100644 fiveparaminte-main/scratch/search_vitals.py delete mode 100644 fiveparaminte-main/scratch/search_vitals_288.py delete mode 100644 fiveparaminte-main/scratch/search_vitals_989.py delete mode 100644 fiveparaminte-main/scratch/search_vitals_range.py delete mode 100644 fiveparaminte-main/scratch/test_module_integration.py delete mode 100644 fiveparaminte-main/scratch/test_parser.py delete mode 100644 fiveparaminte-main/scratch/test_updated_parser.py delete mode 100644 fiveparaminte-main/scratch/udp_heartbeat.py delete mode 100644 fiveparaminte-main/scratch/udp_sniff_now.py delete mode 100644 fiveparaminte-main/static/contec-vitals-sdk.js delete mode 100644 fiveparaminte-main/static/dashboard.html mode change 100755 => 100644 setup_service.sh create mode 100644 start_tunnel.bat delete mode 100644 static/contec-vitals-sdk.js diff --git a/api_client.py b/api_client.py index 7882a8a..12fd250 100644 --- a/api_client.py +++ b/api_client.py @@ -6,6 +6,17 @@ from config import settings logger = logging.getLogger(__name__) +_http_client: Optional[httpx.AsyncClient] = None + +def get_http_client() -> httpx.AsyncClient: + global _http_client + if _http_client is None or _http_client.is_closed: + _http_client = httpx.AsyncClient( + timeout=httpx.Timeout(connect=3.0, read=5.0, write=3.0, pool=3.0), + limits=httpx.Limits(max_keepalive_connections=5, max_connections=10) + ) + return _http_client + async def forward_vitals_to_api(vitals: NormalizedVitals) -> bool: """ Attempts to POST the normalized vitals to the configured target API @@ -15,6 +26,13 @@ async def forward_vitals_to_api(vitals: NormalizedVitals) -> bool: import os headers = {"Content-Type": "application/json"} + # Strip heavy wave sample arrays before REST transmission (cloud APIs only ingest vital signs) + payload = vitals.model_dump(mode="json") + payload.pop("ecg_wave", None) + payload.pop("pleth_wave", None) + + client = get_http_client() + # 1. Forward to primary target API (e.g. Injomo Dev Workflow) primary_url = settings.target_api_url primary_success = False @@ -23,17 +41,17 @@ async def forward_vitals_to_api(vitals: NormalizedVitals) -> bool: primary_headers = headers.copy() if settings.api_token: primary_headers["Authorization"] = f"Bearer {settings.api_token}" - async with httpx.AsyncClient(timeout=10.0) as client: - response = await client.post( - primary_url, - json=vitals.model_dump(mode="json"), - headers=primary_headers - ) - response.raise_for_status() - logger.info(f"Successfully forwarded vitals to primary API for device {vitals.device_id}") - primary_success = True + response = await client.post( + primary_url, + json=payload, + headers=primary_headers + ) + response.raise_for_status() + logger.info(f"Successfully forwarded vitals to primary API for device {vitals.device_id}") + primary_success = True except Exception as e: - logger.error(f"Error forwarding to primary API: {e}") + err_msg = str(e).strip() or "timeout / connection reset" + logger.warning(f"Error forwarding to primary API: {type(e).__name__} ({err_msg})") # 2. Forward to Render Cloud Server render_url = "https://contectfiveparamonitor.onrender.com/api/push-vitals" @@ -48,16 +66,16 @@ async def forward_vitals_to_api(vitals: NormalizedVitals) -> bool: if settings.api_token: url_with_key = f"{render_url}?api_key={settings.api_token}" - async with httpx.AsyncClient(timeout=10.0) as client: - response = await client.post( - url_with_key, - json=vitals.model_dump(mode="json"), - headers=headers - ) - response.raise_for_status() - logger.info(f"Successfully forwarded vitals to Render Cloud for device {vitals.device_id}") - render_success = True + response = await client.post( + url_with_key, + json=payload, + headers=headers + ) + response.raise_for_status() + logger.info(f"Successfully forwarded vitals to Render Cloud for device {vitals.device_id}") + render_success = True except Exception as e: - logger.error(f"Error forwarding to Render Cloud: {e}") + err_msg = str(e).strip() or "timeout / connection reset" + logger.warning(f"Error forwarding to Render Cloud: {type(e).__name__} ({err_msg})") return primary_success or render_success diff --git a/background_tasks.py b/background_tasks.py index 6130a38..f27b5c4 100644 --- a/background_tasks.py +++ b/background_tasks.py @@ -17,50 +17,64 @@ async def retry_failed_transmissions(): while True: try: + # 1. Fetch untransmitted readings in a quick DB session and close it immediately db = SessionLocal() + readings_to_retry = [] try: - # Get readings that haven't been transmitted - failed_readings = db.query(VitalReading).filter(VitalReading.transmitted == False).limit(50).all() - - for reading in failed_readings: - vitals = NormalizedVitals( - device_id=reading.device_id, - patient_id=reading.patient_id, - timestamp=reading.timestamp, - heart_rate=reading.heart_rate, - spo2=reading.spo2, - systolic_bp=reading.systolic_bp, - diastolic_bp=reading.diastolic_bp, - map_bp=reading.map_bp, - respiratory_rate=reading.respiratory_rate, - temperature=reading.temperature - ) - - success = await forward_vitals_to_api(vitals) - - if success: - reading.transmitted = True - log_entry = TransmissionLog( - reading_id=reading.id, - status="success", - response_code=200 + failed_readings = db.query(VitalReading).filter(VitalReading.transmitted == False).order_by(VitalReading.id.desc()).limit(20).all() + for r in failed_readings: + readings_to_retry.append({ + "id": r.id, + "vitals": NormalizedVitals( + device_id=r.device_id, + patient_id=r.patient_id, + timestamp=r.timestamp, + heart_rate=r.heart_rate, + spo2=r.spo2, + systolic_bp=r.systolic_bp, + diastolic_bp=r.diastolic_bp, + map_bp=r.map_bp, + respiratory_rate=r.respiratory_rate, + temperature=r.temperature ) - db.add(log_entry) - logger.info(f"Successfully re-transmitted reading {reading.id}") - else: - # Log the failure but don't mark as transmitted - log_entry = TransmissionLog( - reading_id=reading.id, - status="failed", - error_message="Retry failed" - ) - db.add(log_entry) - - if failed_readings: - db.commit() + }) finally: db.close() - + + # 2. Forward outside of any DB transaction + successful_ids = [] + failed_ids = [] + consecutive_failures = 0 + + for item in readings_to_retry: + success = await forward_vitals_to_api(item["vitals"]) + if success: + successful_ids.append(item["id"]) + consecutive_failures = 0 + else: + failed_ids.append(item["id"]) + consecutive_failures += 1 + # If external API is unresponsive, stop this batch immediately so we don't spam + if consecutive_failures >= 3: + logger.warning("External API appears unreachable during retry; pausing retry queue.") + break + + # 3. Update status in a quick DB session + if successful_ids or failed_ids: + db = SessionLocal() + try: + for rid in successful_ids: + db.query(VitalReading).filter(VitalReading.id == rid).update({"transmitted": True}) + db.add(TransmissionLog(reading_id=rid, status="success", response_code=200)) + for rid in failed_ids: + db.add(TransmissionLog(reading_id=rid, status="failed", error_message="Retry failed")) + db.commit() + except Exception as e: + logger.error(f"Failed updating retry transmission status: {e}") + db.rollback() + finally: + db.close() + except Exception as e: logger.error(f"Error in retry background task: {e}") diff --git a/bore.exe b/bore.exe new file mode 100644 index 0000000000000000000000000000000000000000..4caa5598051f5252dc2a953b6153a85fa4029ee8 GIT binary patch literal 1795584 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
e%ZYAGssj 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

^R! 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

?xBZ!)T^qSuC1n$|xzCDU+mV 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�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ðY^t(!bqH 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 literal 0 HcmV?d00001 diff --git a/contec_parser.py b/contec_parser.py index 95b7ad2..4116255 100644 --- a/contec_parser.py +++ b/contec_parser.py @@ -247,7 +247,7 @@ def _extract_vitals_block(data: bytes, offset: int, client_ip: str) -> Optional[ vitals_dict["spo2"] = float(spo2) found = True - # Heart rate: prefer ECG HR; fall back to SpO2-derived PR if ECG invalid + # Heart rate: ECG HR at offset+2 is primary; SpO2 PR at offset+4 is fallback. if is_valid_u16(hr_ecg) and 20 <= hr_ecg <= 300: vitals_dict["heart_rate"] = float(hr_ecg) found = True @@ -260,19 +260,19 @@ def _extract_vitals_block(data: bytes, offset: int, client_ip: str) -> Optional[ def _parse_45_byte_packet(data: bytes, vitals_dict: dict) -> bool: """ - Parse 45-byte packet (Subtype 22) — contains NIBP values and alarm limits. + Parse 45/47-byte packet (Subtype 22) — contains NIBP values and alarm limits. Verified layout: - [0-1] Packet length LE u16 = 45 - [2-3] Marker: 01 46 + [0-1] Packet length LE u16 = 45 or 47 + [2-3] Marker: 01 46 or 00 46 [4-7] Sub-header (00 00 16 00) [8-9] Year LE u16 [10] Month, [11] Day, [12] Hour, [13] Minute, [14] Seconds - [15-16] NIBP Systolic (LE u16, 9999 = no measurement) - [17-18] NIBP Diastolic (LE u16, 9999 = no measurement) - [19-20] NIBP MAP (LE u16, 9999 = no measurement) + [15-16] NIBP Systolic (LE u16, 32767 / 9999 = no measurement / idle) + [17-18] NIBP Diastolic (LE u16, 32767 / 9999 = no measurement / idle) + [19-20] NIBP MAP (LE u16, 32767 / 9999 = no measurement / idle) """ - if len(data) < 22: + if len(data) < 21: return False if "present_fields" not in vitals_dict: @@ -282,32 +282,24 @@ def _parse_45_byte_packet(data: bytes, vitals_dict: dict) -> bool: nibp_dia = read_u16_le(data, 17) nibp_map = read_u16_le(data, 19) - found = False + sentinels = (9999, 32767, 65535, 0) - # Mark NIBP fields as present so cache can clear them if 9999 - for f in ["systolic_bp", "diastolic_bp", "map_bp"]: - if f not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append(f) - - if nibp_sys is not None and nibp_sys != 9999 and 40 < nibp_sys < 250: + if nibp_sys is not None and nibp_sys not in sentinels and 40 <= nibp_sys <= 260: vitals_dict["systolic_bp"] = float(nibp_sys) - found = True - else: - vitals_dict["systolic_bp"] = None + if "systolic_bp" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("systolic_bp") - if nibp_dia is not None and nibp_dia != 9999 and 20 < nibp_dia < 200: + if nibp_dia is not None and nibp_dia not in sentinels and 20 <= nibp_dia <= 200: vitals_dict["diastolic_bp"] = float(nibp_dia) - found = True - else: - vitals_dict["diastolic_bp"] = None + if "diastolic_bp" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("diastolic_bp") - if nibp_map is not None and nibp_map != 9999 and 20 < nibp_map < 250: + if nibp_map is not None and nibp_map not in sentinels and 20 <= nibp_map <= 250: vitals_dict["map_bp"] = float(nibp_map) - found = True - else: - vitals_dict["map_bp"] = None + if "map_bp" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("map_bp") - return found + return True def _parse_56_byte_packet(data: bytes, vitals_dict: dict) -> bool: @@ -325,144 +317,101 @@ def _parse_56_byte_packet(data: bytes, vitals_dict: dict) -> bool: if "present_fields" not in vitals_dict: vitals_dict["present_fields"] = [] - if "temperature" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("temperature") - vitals_dict.setdefault("temperature", None) found = False temp1 = read_f32_le(data, 8) temp2 = read_f32_le(data, 12) - # 9999.0 is sentinel - if temp1 is not None and is_valid_f32(temp1) and 10.0 < temp1 < 50.0: + def is_real_temp(t): + # Disconnected sentinel is 9999.0 or 3276.7 (0x7FFF) + return t is not None and is_valid_f32(t) and abs(t - 3276.7) > 1.0 and 20.0 < t < 45.0 + + if is_real_temp(temp1): vitals_dict["temperature"] = round(temp1, 1) + if "temperature" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("temperature") found = True - elif temp2 is not None and is_valid_f32(temp2) and 10.0 < temp2 < 50.0: + elif is_real_temp(temp2): vitals_dict["temperature"] = round(temp2, 1) + if "temperature" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("temperature") found = True + elif temp1 is not None or temp2 is not None: + # Sensor disconnected / off + vitals_dict["temperature"] = None + if "temperature" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("temperature") + found = True + + return found + + +def _parse_spo2_waveform_packet(data: bytes, vitals_dict: dict) -> bool: + """ + Parse SpO2 & Pleth waveform packet (Subtype 21 for CMS7000PLUS / CMS8500). + SpO2% is located at offset 264. Disconnected sentinel is 65535, 32767, or 255. + Offsets 270+ contain alarm limits (100, 90) and must NOT be parsed as vitals. + """ + if len(data) < 266: + return False + + if "present_fields" not in vitals_dict: + vitals_dict["present_fields"] = [] + + # Extract Pleth waveform samples (bytes 8..263) + vitals_dict["pleth_wave"] = list(data[8:min(264, len(data))]) + if "pleth_wave" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("pleth_wave") + + found = False + + # Check SpO2 at standard offset 264 + spo2_val = read_u16_le(data, 264) + + # If 264 is disconnected sentinel, probe is NOT connected / off-finger + if spo2_val in (None, 65535, 32767, 255, 9999, 0): + vitals_dict["spo2"] = None + vitals_dict["heart_rate"] = None + if "spo2" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("spo2") + if "heart_rate" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("heart_rate") + return True + + if 50 <= spo2_val <= 100: + vitals_dict["spo2"] = float(spo2_val) + if "spo2" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("spo2") + found = True + + # ECG HR is at offset 266 in the 286-byte SpO2 waveform packet footer. + # Offset 268 is the SpO2 HIGH ALARM LIMIT (always 100) — NOT pulse rate! + # So we read ECG HR at 266 only. + ecg_hr = read_u16_le(data, 266) + + logger.info( + f"SpO2 pkt: SpO2[264]={spo2_val} ECG_HR[266]={ecg_hr} alarm_hi[268]={read_u16_le(data,268)} alarm_lo[270]={read_u16_le(data,270) if len(data)>=272 else 'N/A'}" + ) + + if ecg_hr is not None and ecg_hr not in (9999, 65535, 32767, 0) and 20 <= ecg_hr <= 300: + vitals_dict["heart_rate"] = float(ecg_hr) + if "heart_rate" not in vitals_dict["present_fields"]: + vitals_dict["present_fields"].append("heart_rate") return found def _parse_286_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 286-byte waveform packet (Subtype 21). - - Verified layout: - [8..263] Pleth waveform samples (8-bit unsigned, 256 samples) - [264-265] SpO2% (LE u16) — live oxygen saturation percentage - 255 / 65535 = sensor disconnected - [266-267] ECG HR via SpO2 PR (LE u16) — 9999 / 65535 = not available - """ - if len(data) < 270: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "spo2" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("spo2") - if "pleth_wave" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("pleth_wave") - vitals_dict.setdefault("spo2", None) - - found = False - - # Extract Pleth waveform samples (bytes 8..263) - raw_pleth = list(data[8:264]) - # Only store if not all-zeroes or all-sentinel (flatline = disconnected) - if any(v not in (0x00, 0x7F, 0x3A, 0x92, 0xFF) for v in raw_pleth[:10]): - vitals_dict["pleth_wave"] = raw_pleth - else: - vitals_dict["pleth_wave"] = raw_pleth # Always send so frontend can show flatline too - - # Offset 264: SpO2 percentage - spo2_val = read_u16_le(data, 264) - if spo2_val is not None and spo2_val != 65535 and spo2_val != 255 and 50 <= spo2_val <= 100: - vitals_dict["spo2"] = float(spo2_val) - found = True - - # Offset 266: HR from SpO2 PR (only add to present fields if valid to prevent overriding ECG HR) - hr_val = read_u16_le(data, 266) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - found = True - - return found + return _parse_spo2_waveform_packet(data, vitals_dict) def _parse_288_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 288-byte waveform packet (Subtype 21 for CMS8500). - - Layout: - [8..263] Pleth waveform samples (8-bit unsigned, 256 samples) - [264-265] SpO2% (LE u16) — live oxygen saturation percentage - [266-267] PR (LE u16) — pulse rate - """ - if len(data) < 270: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "spo2" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("spo2") - if "pleth_wave" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("pleth_wave") - vitals_dict.setdefault("spo2", None) - - found = False - - # Extract Pleth waveform samples (bytes 8..263) - vitals_dict["pleth_wave"] = list(data[8:264]) - - # Offset 264: SpO2 percentage - spo2_val = read_u16_le(data, 264) - if spo2_val is not None and spo2_val != 65535 and spo2_val != 255 and 50 <= spo2_val <= 100: - vitals_dict["spo2"] = float(spo2_val) - found = True - - # Offset 266: PR from SpO2 PR - hr_val = read_u16_le(data, 266) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - found = True - - return found + return _parse_spo2_waveform_packet(data, vitals_dict) def _parse_341_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 341-byte waveform packet. Same tail layout as 286-byte. - """ - if len(data) < 270: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "spo2" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("spo2") - vitals_dict.setdefault("spo2", None) - - found = False - - spo2_val = read_u16_le(data, 264) - if spo2_val is not None and spo2_val != 65535 and spo2_val != 255 and 50 <= spo2_val <= 100: - vitals_dict["spo2"] = float(spo2_val) - found = True - - hr_val = read_u16_le(data, 266) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - found = True - - return found + return _parse_spo2_waveform_packet(data, vitals_dict) def _parse_989_byte_packet(data: bytes, vitals_dict: dict) -> bool: @@ -479,38 +428,27 @@ def _parse_989_byte_packet(data: bytes, vitals_dict: dict) -> bool: if "present_fields" not in vitals_dict: vitals_dict["present_fields"] = [] - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") + + # Extract ECG waveform samples (bytes 8..903), downsample to ~224 points for smooth real-time rendering + raw_ecg = list(data[8:904]) + vitals_dict["ecg_wave"] = raw_ecg[::4] if "ecg_wave" not in vitals_dict["present_fields"]: vitals_dict["present_fields"].append("ecg_wave") - vitals_dict.setdefault("heart_rate", None) - - found = False - - # Extract ECG waveform samples (bytes 8..903), downsample to 200 points for efficiency - raw_ecg = list(data[8:904]) - # Downsample by factor of 4 -> ~224 points (still high-resolution enough) - vitals_dict["ecg_wave"] = raw_ecg[::4] hr_val = read_u16_le(data, 904) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - found = True + if hr_val is not None and hr_val not in (65535, 9999, 0) and 20 <= hr_val <= 300: + # Only use ECG HR if SpO2-probe PR has NOT already set heart_rate. + # SpO2 PR (from the pleth packet) matches the monitor display and wins. + if "heart_rate" not in vitals_dict.get("present_fields", []): + vitals_dict["heart_rate"] = float(hr_val) + vitals_dict.setdefault("present_fields", []).append("heart_rate") - return found + return True def _find_vitals_block_in_stream(data: bytes, client_ip: str) -> Optional[NormalizedVitals]: """ - Scan the data stream for Contec CMS7000PLUS sub-packets and parse them - deterministically based on packet length. - - Packet types (verified by raw hex analysis): - 45 bytes (Subtype 22): NIBP Sys/Dia/MAP (u16 LE starting at offset 15) - 56 bytes (Subtype 23): Float32 Temperature (offset 8/12) - 286 bytes (Subtype 21): SpO2% at offset 264 - 341 bytes (Subtype 21): SpO2% at offset 264 - 989 bytes (Subtype 20): ECG Heart Rate at offset 904 + Scan the data stream for Contec CMS7000PLUS / CMS8500 sub-packets and parse them. """ model = settings.device_models.get(client_ip, settings.monitor_model) vitals_dict = { @@ -530,23 +468,20 @@ def _find_vitals_block_in_stream(data: bytes, client_ip: str) -> Optional[Normal pkt_data = data[i:i + pkt_len] if pkt_len in (45, 47): - _parse_45_byte_packet(pkt_data, vitals_dict) - found_any = True + if _parse_45_byte_packet(pkt_data, vitals_dict): + found_any = True elif pkt_len == 56: - _parse_56_byte_packet(pkt_data, vitals_dict) - found_any = True - elif pkt_len == 286: - _parse_286_byte_packet(pkt_data, vitals_dict) - found_any = True - elif pkt_len == 288: - _parse_288_byte_packet(pkt_data, vitals_dict) - found_any = True - elif pkt_len == 341: - _parse_341_byte_packet(pkt_data, vitals_dict) - found_any = True + if _parse_56_byte_packet(pkt_data, vitals_dict): + found_any = True + elif pkt_len in (286, 288, 341): + if _parse_spo2_waveform_packet(pkt_data, vitals_dict): + found_any = True elif pkt_len == 989: - _parse_989_byte_packet(pkt_data, vitals_dict) - found_any = True + if _parse_989_byte_packet(pkt_data, vitals_dict): + found_any = True + elif 100 < pkt_len < 600: + if _parse_spo2_waveform_packet(pkt_data, vitals_dict): + found_any = True i += max(pkt_len, 4) else: diff --git a/contec_server.py b/contec_server.py index 12f18b6..44372c0 100644 --- a/contec_server.py +++ b/contec_server.py @@ -1,5 +1,6 @@ import asyncio import logging +import re from datetime import datetime, timezone from contec_parser import parse_contec_data @@ -34,16 +35,195 @@ def generate_ack(received_msg: str) -> str: msg_control_id = fields[9] now_str = datetime.now().strftime("%Y%m%d%H%M%S") - - ack_msh = f"MSH|^~\\&|{rec_app}|{rec_fac}|{sending_app}|{sending_fac}|{now_str}||ACK^R01|{msg_control_id}|P|2.3.1\r" + + ack_msh = ( + f"MSH|^~\\&|{rec_app}|{rec_fac}|{sending_app}|{sending_fac}" + f"|{now_str}||ACK|{now_str}|P|2.3\r" + ) ack_msa = f"MSA|AA|{msg_control_id}\r" - + return ack_msh + ack_msa except Exception as e: logger.debug(f"Could not generate ACK: {e}") return "" +TELEMETRY_WORDS = { + 'sensor', 'off', 'lead', 'leads', 'fall', 'searching', 'pulse', + 'le', 'le1', 'le2', 'le3', 'le4', 'le5', 'alarm', 'probe', + 'cuff', 'error', 'leak', 'motion', 'weak', 'signal', 'learning', 'arr', + 'asystole', 'vfib', 'vtac', 'pvc', 'brady', 'tachy', 'adult', 'pediatric', + 'neonate', 'unknown', 'none', 'clear', 'default', 'demo', 't1', 't2', + 'spo2', 'ecg', 'nibp', 'resp', 'temp', 'hr', 'pr', 'map', 'dia', 'sys' +} + + +def extract_demographics_from_packet(data: bytes, client_ip: str) -> dict: + """ + Extracts real patient demographics from Contec CMS8500 / CMS7000 binary packets. + Only extracts clean, legitimate patient fields — strictly rejects sensor alarms, + waveform noise, and hardware telemetry. + """ + clean = [] + for m in re.finditer(rb'[a-zA-Z0-9_\-\.]{2,}', data): + s = m.group(0).decode('latin1', errors='ignore').strip() + if not s or len(s) < 2: + continue + s_lower = s.lower() + if any(kw in s_lower for kw in TELEMETRY_WORDS): + continue + if len(set(s)) == 1: + continue + if set(s).issubset({'.', '-', '_', '/', '\\'}): + continue + if len(s) > 8 and re.match(r'^[A-Za-z]+$', s): + diffs = [abs(ord(s[i]) - ord(s[i-1])) for i in range(1, len(s))] + if sum(1 for d in diffs if d <= 2) / len(diffs) > 0.6: + continue + if re.match(r'^\.\d+$', s): + continue + clean.append(s) + + if not clean: + return None + + name = None + mrn = None + dob = None + gender = None + + for s in clean: + s_up = s.upper() + s_low = s.lower() + if s_low in TELEMETRY_WORDS: + continue + + if s_up in ('MALE', 'FEMALE') and not gender: + gender = 'Male' if s_up == 'MALE' else 'Female' + continue + elif s_up in ('M', 'F') and not gender: + gender = 'Male' if s_up == 'M' else 'Female' + continue + + # Date of birth: 4-digit birth year between 1920 and 2024, or YYYY-MM-DD + if re.match(r'^(19\d\d|20[01]\d|202[0-4])$', s) and not dob: + dob = s + continue + elif re.match(r'^\d{4}[-/]\d{2}[-/]\d{2}$', s) and not dob: + dob = s + continue + + # Name candidate: strictly at least 3 letters, has a vowel, not telemetry + if re.search(r'^[A-Za-z\s\.\-]{3,30}$', s) and re.search(r'[aeiouyAEIOUY]', s) and not name: + if s_low not in TELEMETRY_WORDS: + name = s + continue + + # MRN candidate: numeric or alphanumeric ID, at least 2 chars, not a year, not telemetry + if not mrn and re.match(r'^[A-Za-z0-9\-]{2,15}$', s) and s_low not in TELEMETRY_WORDS: + if not (s.isdigit() and 1920 <= int(s) <= 2030): + mrn = s + continue + + # Only accept when BOTH real name and real MRN/DOB are present together + if name and (mrn or dob): + return { + "name": name, + "mrn": mrn or name, + "patient_id": mrn or name, + "dob": dob, + "gender": gender, + } + return None + + +async def apply_auto_demographics(client_ip: str, demo: dict): + from config import settings + model = settings.device_models.get(client_ip, settings.monitor_model) + device_id = f"{model}_{client_ip}" + name = demo.get("name") + mrn = demo.get("mrn") + dob = demo.get("dob") + gender = demo.get("gender") + + current = device_patient_map.get(device_id, {}) + if current.get("name") == name and current.get("mrn") == mrn and current.get("dob") == dob and current.get("gender") == gender: + return + + logger.info(f"*** REAL PATIENT DEMOGRAPHICS DETECTED FROM MACHINE ({client_ip}): Name={name}, MRN={mrn}, DOB={dob}, Gender={gender} ***") + + bed_id = "1" if "192.168.100.106" in client_ip else "2" + p_data = { + "patient_id": mrn, + "mrn": mrn, + "name": name, + "gender": gender, + "dob": dob, + "bed_id": bed_id + } + device_patient_map[device_id] = p_data + + if device_id in device_cache: + cached = device_cache[device_id] + cached.patient_id = mrn + cached.patient_name = name + cached.patient_gender = gender + cached.patient_dob = dob + cached.bed_id = bed_id + + db = SessionLocal() + try: + db.query(Patient).filter(Patient.device_id == device_id).update({"device_id": None}) + patient = db.query(Patient).filter(Patient.mrn == mrn).first() + if not patient: + patient = Patient( + patient_id=mrn, + mrn=mrn, + name=name or "Unknown", + gender=gender, + dob=dob, + bed_id=bed_id, + device_id=device_id + ) + db.add(patient) + else: + patient.patient_id = mrn + patient.mrn = mrn + if name: + patient.name = name + if gender: + patient.gender = gender + if dob: + patient.dob = dob + patient.bed_id = bed_id + patient.device_id = device_id + db.commit() + except Exception as e: + logger.error(f"Error persisting auto patient: {e}") + db.rollback() + finally: + db.close() + + try: + from routers.dashboard import get_ws_manager + ws_manager = get_ws_manager() + await ws_manager.broadcast_vitals({ + "event": "patient_assigned", + "device_id": device_id, + "patient_id": mrn, + "mrn": mrn, + "patient_name": name, + "name": name, + "patient_gender": gender, + "gender": gender, + "patient_dob": dob, + "dob": dob, + "bed_id": bed_id + }) + except Exception as e: + logger.debug(f"Failed to broadcast auto patient: {e}") + + async def handle_contec_client(reader: asyncio.StreamReader, writer: asyncio.StreamWriter, port: int): """ TCP server handler for Contec CMS7000PLUS client connections. @@ -52,6 +232,13 @@ async def handle_contec_client(reader: asyncio.StreamReader, writer: asyncio.Str client_ip, client_port = writer.get_extra_info('peername') logger.info(f"Accepted Contec CMS7000PLUS connection from {client_ip}:{client_port} on port {port}") + sock = writer.get_extra_info('socket') + if sock: + try: + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + except Exception: + pass + display = get_terminal_display() display.connection_opened(client_ip, port) @@ -64,8 +251,10 @@ async def handle_contec_client(reader: asyncio.StreamReader, writer: asyncio.Str logger.info(f"Contec client {client_ip}:{client_port} on port {port} sent EOF (0 bytes)") break + if client_ip != "127.0.0.1": + logger.info(f"TCP READ from {client_ip}: {len(data)} bytes, hex: {data[:24].hex()}") + buffer += data - logger.debug(f"Received {len(data)} bytes from {client_ip}:{client_port} on port {port} (buf={len(buffer)})") # --------------------------------------------------------------- # MLLP / HL7 text path (typically port 511) @@ -166,6 +355,48 @@ device_cache = {} device_field_timestamps = {} # {device_id: {field_name: datetime}} last_db_write = {} +# In-memory mapping of device_id -> patient demographic dict: +# {"mrn": "...", "name": "...", "dob": "...", "gender": "...", "bed_id": "..."} +device_patient_map = {} + + +def get_assigned_patient(device_id: str): + """Retrieve patient demographics assigned to device_id (cached or from DB).""" + if device_id in device_patient_map: + return device_patient_map[device_id] + + db = SessionLocal() + try: + patient = db.query(Patient).filter(Patient.device_id == device_id).first() + if patient: + p_data = { + "patient_id": patient.mrn or patient.patient_id, + "mrn": patient.mrn or patient.patient_id, + "name": patient.name or "Unknown", + "gender": patient.gender, + "dob": patient.dob, + "bed_id": patient.bed_id, + } + device_patient_map[device_id] = p_data + return p_data + except Exception as e: + logger.debug(f"Error querying patient for device {device_id}: {e}") + finally: + db.close() + return None + + +def set_assigned_patient(device_id: str, patient_data: dict): + """Update in-memory mapping and active device cache for device_id.""" + device_patient_map[device_id] = patient_data + if device_id in device_cache: + cached = device_cache[device_id] + cached.patient_id = patient_data.get("mrn") or patient_data.get("patient_id") or "UNKNOWN" + cached.patient_name = patient_data.get("name") + cached.patient_gender = patient_data.get("gender") + cached.patient_dob = patient_data.get("dob") + cached.bed_id = patient_data.get("bed_id") + async def process_vitals(vitals): """ @@ -177,6 +408,25 @@ async def process_vitals(vitals): if device_id not in device_field_timestamps: device_field_timestamps[device_id] = {} + # Check for assigned patient demographics + assigned = get_assigned_patient(device_id) + if (vitals.patient_id == "UNKNOWN" or not vitals.patient_name or vitals.patient_name == "Unknown") and assigned: + vitals.patient_id = assigned.get("mrn") or assigned.get("patient_id") or "UNKNOWN" + vitals.patient_name = assigned.get("name") + vitals.patient_gender = assigned.get("gender") + vitals.patient_dob = assigned.get("dob") + vitals.bed_id = assigned.get("bed_id") + elif vitals.patient_name and vitals.patient_name != "Unknown": + # Monitor sent fresh demographics via HL7 PID segment! + device_patient_map[device_id] = { + "patient_id": vitals.patient_id, + "mrn": vitals.patient_id, + "name": vitals.patient_name, + "gender": vitals.patient_gender, + "dob": vitals.patient_dob, + "bed_id": vitals.bed_id, + } + # Check if incoming packet has fresh waveforms has_fresh_waveforms = (vitals.ecg_wave is not None) or (vitals.pleth_wave is not None) @@ -205,18 +455,34 @@ async def process_vitals(vitals): # Update cache & record timestamps for field in active_fields: - val = getattr(vitals, field) + val = getattr(vitals, field, None) setattr(cached, field, val) - device_field_timestamps[device_id][field] = now + if val is not None: + device_field_timestamps[device_id][field] = now + else: + device_field_timestamps[device_id].pop(field, None) - # Clean up stale fields (older than 15 seconds) + # Clean up stale fields: + # Live vitals (HR, SpO2, Temp, RR) have a 60-second window because monitor cycles take ~24s + # NIBP (BP, MAP) has a 1-hour window because it is measured intermittently for field in list(device_field_timestamps[device_id].keys()): last_updated = device_field_timestamps[device_id][field] - if (now - last_updated).total_seconds() > 15.0: + timeout = 3600.0 if field in ("systolic_bp", "diastolic_bp", "map_bp") else 60.0 + if (now - last_updated).total_seconds() > timeout: setattr(cached, field, None) device_field_timestamps[device_id].pop(field, None) cached.timestamp = vitals.timestamp + if vitals.patient_id and vitals.patient_id != "UNKNOWN": + cached.patient_id = vitals.patient_id + if vitals.patient_name: + cached.patient_name = vitals.patient_name + if vitals.patient_gender: + cached.patient_gender = vitals.patient_gender + if vitals.patient_dob: + cached.patient_dob = vitals.patient_dob + if vitals.bed_id: + cached.bed_id = vitals.bed_id vitals = cached # 2. Update console display banner @@ -224,7 +490,7 @@ async def process_vitals(vitals): display.update_vitals(vitals) logger.info( - f"Vitals for Device {vitals.device_id}, Patient {vitals.patient_id}: " + f"Vitals for Device {vitals.device_id}, Patient {vitals.patient_id} ({vitals.patient_name}): " f"HR={vitals.heart_rate}, SpO2={vitals.spo2}, " f"BP={vitals.systolic_bp}/{vitals.diastolic_bp}, " f"RR={vitals.respiratory_rate}, Temp={vitals.temperature}" @@ -234,23 +500,40 @@ async def process_vitals(vitals): try: from routers.dashboard import get_ws_manager ws_manager = get_ws_manager() - await ws_manager.broadcast_vitals(vitals.model_dump(mode="json")) + vitals_dict = vitals.model_dump(mode="json") + vitals_dict["mrn"] = vitals.patient_id + vitals_dict["name"] = vitals.patient_name + vitals_dict["gender"] = vitals.patient_gender + vitals_dict["dob"] = vitals.patient_dob + vitals_dict["bed_id"] = vitals.bed_id + await ws_manager.broadcast_vitals(vitals_dict) except Exception as e: logger.debug(f"WebSocket broadcast failed: {e}") - # 4. Throttled Database & REST forwarding (at most once every 5 seconds) - # Note: If we have fresh waveforms, we bypass throttle for REST forwarding to keep cloud graphs real-time + # 4. Asynchronous background persistence and cloud forwarding (completely non-blocking, throttled to 1s) now = datetime.now(timezone.utc) - should_write_db = False - if device_id not in last_db_write or (now - last_db_write[device_id]).total_seconds() >= 5.0: - should_write_db = True + should_persist = False + if device_id not in last_db_write or (now - last_db_write[device_id]).total_seconds() >= 1.0: + should_persist = True last_db_write[device_id] = now - if should_write_db: - # Save to SQLite database and REST forward + if should_persist: + asyncio.create_task(_persist_and_forward_bg(vitals, should_persist)) + + # Clear waveforms from cache to prevent repetition in subsequent non-waveform sub-packets + if device_id in device_cache: + device_cache[device_id].ecg_wave = None + device_cache[device_id].pleth_wave = None + + +async def _persist_and_forward_bg(vitals, should_persist): + """Background worker for DB persistence and external cloud forwarding.""" + if not should_persist: + return + reading_id = None + if should_persist: db = SessionLocal() try: - # 1. Device tracking device = db.query(Device).filter(Device.device_id == vitals.device_id).first() if not device: device = Device( @@ -264,33 +547,36 @@ async def process_vitals(vitals): device.ip_address = vitals.ip_address device.status = "active" device.last_seen = datetime.now(timezone.utc) - - # 2. Patient tracking — store/update demographics from HL7 - if vitals.patient_id == "UNKNOWN": - last_known_reading = ( - db.query(VitalReading) - .filter(VitalReading.device_id == vitals.device_id) - .filter(VitalReading.patient_id != "UNKNOWN") - .order_by(VitalReading.timestamp.desc()) - .first() - ) - if last_known_reading: - vitals.patient_id = last_known_reading.patient_id - patient = db.query(Patient).filter(Patient.patient_id == vitals.patient_id).first() + patient = None + if vitals.patient_id and vitals.patient_id != "UNKNOWN": + patient = db.query(Patient).filter( + (Patient.mrn == vitals.patient_id) | (Patient.patient_id == vitals.patient_id) + ).first() + + if not patient and vitals.device_id: + patient = db.query(Patient).filter( + Patient.device_id == vitals.device_id, + Patient.patient_id != "UNKNOWN" + ).first() + if not patient: - patient = Patient( - patient_id=vitals.patient_id, - mrn=vitals.patient_id, - name=vitals.patient_name or "Unknown", - gender=vitals.patient_gender, - dob=vitals.patient_dob, - bed_id=vitals.bed_id, - ) - db.add(patient) + if vitals.patient_id and vitals.patient_id != "UNKNOWN": + patient = Patient( + patient_id=vitals.patient_id, + mrn=vitals.patient_id, + name=vitals.patient_name or "Unknown", + gender=vitals.patient_gender, + dob=vitals.patient_dob, + bed_id=vitals.bed_id, + device_id=vitals.device_id + ) + db.add(patient) else: - # Refresh demographics whenever monitor sends updated PID fields - if vitals.patient_name: + if vitals.patient_id and vitals.patient_id != "UNKNOWN": + patient.patient_id = vitals.patient_id + patient.mrn = vitals.patient_id + if vitals.patient_name and vitals.patient_name != "Unknown": patient.name = vitals.patient_name if vitals.patient_gender: patient.gender = vitals.patient_gender @@ -298,9 +584,9 @@ async def process_vitals(vitals): patient.dob = vitals.patient_dob if vitals.bed_id: patient.bed_id = vitals.bed_id + if vitals.device_id: + patient.device_id = vitals.device_id - - # 3. Create Reading Entry reading = VitalReading( device_id=vitals.device_id, patient_id=vitals.patient_id, @@ -317,40 +603,35 @@ async def process_vitals(vitals): db.add(reading) db.commit() db.refresh(reading) - - # 4. REST forwarding - success = await forward_vitals_to_api(vitals) - - if success: - reading.transmitted = True - log_entry = TransmissionLog( - reading_id=reading.id, - status="success", - response_code=200 - ) - else: - log_entry = TransmissionLog( - reading_id=reading.id, - status="failed", - error_message="Immediate REST forward failed" - ) - - db.add(log_entry) - db.commit() - + reading_id = reading.id except Exception as e: - logger.error(f"Database operation failed: {e}") + logger.error(f"Background database operation failed: {e}") db.rollback() finally: db.close() - elif has_fresh_waveforms: - # Bypass throttle for REST forwarding to keep cloud graphs real-time - try: - await forward_vitals_to_api(vitals) - except Exception as e: - logger.error(f"Real-time REST forwarding failed: {e}") - # Clear waveforms from cache to prevent repetition in subsequent non-waveform sub-packets - if device_id in device_cache: - device_cache[device_id].ecg_wave = None - device_cache[device_id].pleth_wave = None + # DB connection is now completely closed. Awaiting HTTP requests will never exhaust DB connections! + success = False + if should_persist: + try: + success = await forward_vitals_to_api(vitals) + except Exception as e: + logger.warning(f"Background REST forward failed: {type(e).__name__}: {e}") + + # Record transmission log in a separate, brief connection + if reading_id is not None: + db = SessionLocal() + try: + log_entry = TransmissionLog( + reading_id=reading_id, + status="success" if success else "failed", + response_code=200 if success else 500, + error_message=None if success else "Immediate REST forward failed" + ) + db.add(log_entry) + db.commit() + except Exception as e: + logger.error(f"Failed to record transmission log: {e}") + db.rollback() + finally: + db.close() diff --git a/database.py b/database.py index cbde1b6..770383a 100644 --- a/database.py +++ b/database.py @@ -1,9 +1,12 @@ from sqlalchemy import create_engine +from sqlalchemy.pool import NullPool from sqlalchemy.orm import sessionmaker, declarative_base from config import settings engine = create_engine( - settings.database_url, connect_args={"check_same_thread": False} + settings.database_url, + connect_args={"check_same_thread": False}, + poolclass=NullPool ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) diff --git a/fiveparaminte-main/fiveparaminte-main/.dockerignore b/fiveparaminte-main/fiveparaminte-main/.dockerignore deleted file mode 100644 index a1f2f8a..0000000 --- a/fiveparaminte-main/fiveparaminte-main/.dockerignore +++ /dev/null @@ -1,17 +0,0 @@ -__pycache__/ -*.py[cod] -*.db -*.sqlite3 -*.log -*.bin -.env -venv/ -.venv/ -build/ -dist/ -*.spec -scratch/ -captures/ -.git/ -.idea/ -.vscode/ diff --git a/fiveparaminte-main/fiveparaminte-main/.gitignore b/fiveparaminte-main/fiveparaminte-main/.gitignore deleted file mode 100644 index a9bc693..0000000 --- a/fiveparaminte-main/fiveparaminte-main/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# PyInstaller -build/ -dist/ -*.spec - -# Databases -*.db -*.sqlite3 - -# Logs -*.log - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Scratch / debug -scratch/ -captures/ -*.bin - -# IDE / OS -.idea/ -.vscode/ -*.swp -*.swo -.DS_Store diff --git a/fiveparaminte-main/fiveparaminte-main/Dockerfile b/fiveparaminte-main/fiveparaminte-main/Dockerfile deleted file mode 100644 index 1d6b037..0000000 --- a/fiveparaminte-main/fiveparaminte-main/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM python:3.12-slim - -WORKDIR /app - -# Install dependencies -COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt - -# Copy application code -COPY . . - -# Render sets PORT env var (default 10000) -EXPOSE 10000 - -CMD uvicorn main:app --host 0.0.0.0 --port ${PORT:-10000} diff --git a/fiveparaminte-main/fiveparaminte-main/Procfile b/fiveparaminte-main/fiveparaminte-main/Procfile deleted file mode 100644 index e20a7fe..0000000 --- a/fiveparaminte-main/fiveparaminte-main/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: python3 -m uvicorn main:app --host 0.0.0.0 --port $PORT diff --git a/fiveparaminte-main/fiveparaminte-main/README.md b/fiveparaminte-main/fiveparaminte-main/README.md deleted file mode 100644 index fd73963..0000000 --- a/fiveparaminte-main/fiveparaminte-main/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# Mindray uMEC 100 HL7 Forwarder - -This application listens for HL7 messages from Mindray uMEC 100 patient monitors over TCP/IP, parses the vital signs, stores them in a local SQLite database, and immediately forwards them to a configured REST API endpoint. It includes a FastAPI-based dashboard to view status and readings. - -## Requirements -- Python 3.12 (if running from source) -- Dependencies in `requirements.txt` - -## Running the Application -The easiest way to start the application is using the provided `run.sh` script. This script will automatically set up the Python virtual environment, install dependencies, and start the application. - -1. Install Python 3.12. -2. Edit `config.json` with your settings (target API URL, API token, etc.). -3. Run the following command in your terminal: - ```bash - ./run.sh - ``` - -## Configuration (`config.json`) -- `hl7_host`: The IP address to listen on for HL7 connections (default: `0.0.0.0` for all interfaces). -- `hl7_port`: The TCP port to listen on (default: `6060`). -- `target_api_url`: The REST API URL to POST normalized vitals to. -- `api_token`: Bearer token for authenticating with the target API. -- `retry_interval_seconds`: How often to retry forwarding failed transmissions. -- `log_file`: Name of the log file. -- `database_url`: SQLite database URI. - -## Building for Linux -To package the application as a standalone executable for Linux: -1. Ensure you have installed the requirements (`pip install -r requirements.txt`). -2. Run `./build.sh` from your terminal. -3. The standalone executable `MindrayHL7Forwarder` will be generated in the `dist/` directory. - -### Running the Linux Executable -Simply copy the `MindrayHL7Forwarder` binary and `config.json` to the target Linux machine and run `./MindrayHL7Forwarder`. It does not require Python to be installed. The Dashboard API will be available at `http://localhost:8000/docs`. - -## Dashboard APIs -When the application is running, it starts a web server on port `8000`. You can access the following endpoints: -- `GET /api/health` -- `GET /api/status` -- `GET /api/devices` -- `GET /api/latest-readings` -- `GET /api/transmission-logs` -# ContectFiveParaMonitor diff --git a/fiveparaminte-main/fiveparaminte-main/api_client.py b/fiveparaminte-main/fiveparaminte-main/api_client.py deleted file mode 100644 index 7882a8a..0000000 --- a/fiveparaminte-main/fiveparaminte-main/api_client.py +++ /dev/null @@ -1,63 +0,0 @@ -import httpx -import logging -from typing import Optional -from schemas import NormalizedVitals -from config import settings - -logger = logging.getLogger(__name__) - -async def forward_vitals_to_api(vitals: NormalizedVitals) -> bool: - """ - Attempts to POST the normalized vitals to the configured target API - and to the Render cloud database. - Returns True if at least one forward succeeds. - """ - import os - headers = {"Content-Type": "application/json"} - - # 1. Forward to primary target API (e.g. Injomo Dev Workflow) - primary_url = settings.target_api_url - primary_success = False - if primary_url: - try: - primary_headers = headers.copy() - if settings.api_token: - primary_headers["Authorization"] = f"Bearer {settings.api_token}" - async with httpx.AsyncClient(timeout=10.0) as client: - response = await client.post( - primary_url, - json=vitals.model_dump(mode="json"), - headers=primary_headers - ) - response.raise_for_status() - logger.info(f"Successfully forwarded vitals to primary API for device {vitals.device_id}") - primary_success = True - except Exception as e: - logger.error(f"Error forwarding to primary API: {e}") - - # 2. Forward to Render Cloud Server - render_url = "https://contectfiveparamonitor.onrender.com/api/push-vitals" - render_success = False - - # Detect if we are already running on Render to prevent an infinite loop - is_on_render = os.getenv("RENDER") is not None or os.getenv("PORT") == "10000" or "render.local" in os.getenv("HOSTNAME", "") - - if not is_on_render: - try: - url_with_key = render_url - if settings.api_token: - url_with_key = f"{render_url}?api_key={settings.api_token}" - - async with httpx.AsyncClient(timeout=10.0) as client: - response = await client.post( - url_with_key, - json=vitals.model_dump(mode="json"), - headers=headers - ) - response.raise_for_status() - logger.info(f"Successfully forwarded vitals to Render Cloud for device {vitals.device_id}") - render_success = True - except Exception as e: - logger.error(f"Error forwarding to Render Cloud: {e}") - - return primary_success or render_success diff --git a/fiveparaminte-main/fiveparaminte-main/background_tasks.py b/fiveparaminte-main/fiveparaminte-main/background_tasks.py deleted file mode 100644 index 6130a38..0000000 --- a/fiveparaminte-main/fiveparaminte-main/background_tasks.py +++ /dev/null @@ -1,67 +0,0 @@ -import asyncio -import logging -from database import SessionLocal -from models import VitalReading, TransmissionLog -from schemas import NormalizedVitals -from api_client import forward_vitals_to_api -from config import settings - -logger = logging.getLogger(__name__) - -async def retry_failed_transmissions(): - """ - Background task that periodically checks for untransmitted vital readings - and attempts to forward them to the API. - """ - logger.info("Starting background task for retrying failed transmissions...") - - while True: - try: - db = SessionLocal() - try: - # Get readings that haven't been transmitted - failed_readings = db.query(VitalReading).filter(VitalReading.transmitted == False).limit(50).all() - - for reading in failed_readings: - vitals = NormalizedVitals( - device_id=reading.device_id, - patient_id=reading.patient_id, - timestamp=reading.timestamp, - heart_rate=reading.heart_rate, - spo2=reading.spo2, - systolic_bp=reading.systolic_bp, - diastolic_bp=reading.diastolic_bp, - map_bp=reading.map_bp, - respiratory_rate=reading.respiratory_rate, - temperature=reading.temperature - ) - - success = await forward_vitals_to_api(vitals) - - if success: - reading.transmitted = True - log_entry = TransmissionLog( - reading_id=reading.id, - status="success", - response_code=200 - ) - db.add(log_entry) - logger.info(f"Successfully re-transmitted reading {reading.id}") - else: - # Log the failure but don't mark as transmitted - log_entry = TransmissionLog( - reading_id=reading.id, - status="failed", - error_message="Retry failed" - ) - db.add(log_entry) - - if failed_readings: - db.commit() - finally: - db.close() - - except Exception as e: - logger.error(f"Error in retry background task: {e}") - - await asyncio.sleep(settings.retry_interval_seconds) diff --git a/fiveparaminte-main/fiveparaminte-main/build.bat b/fiveparaminte-main/fiveparaminte-main/build.bat deleted file mode 100644 index 69cda06..0000000 --- a/fiveparaminte-main/fiveparaminte-main/build.bat +++ /dev/null @@ -1,29 +0,0 @@ -@echo off -echo Building Mindray HL7 Forwarder Executable... - -REM Clean previous builds -rmdir /s /q build -rmdir /s /q dist - -REM Run PyInstaller with necessary hidden imports for FastAPI, Uvicorn, and SQLAlchemy -pyinstaller -F --clean ^ - --name "MindrayHL7Forwarder" ^ - --hidden-import uvicorn.logging ^ - --hidden-import uvicorn.loops ^ - --hidden-import uvicorn.loops.auto ^ - --hidden-import uvicorn.protocols ^ - --hidden-import uvicorn.protocols.http ^ - --hidden-import uvicorn.protocols.http.auto ^ - --hidden-import uvicorn.protocols.websockets ^ - --hidden-import uvicorn.protocols.websockets.auto ^ - --hidden-import uvicorn.lifespan ^ - --hidden-import uvicorn.lifespan.on ^ - --hidden-import uvicorn.lifespan.off ^ - --hidden-import fastapi ^ - --hidden-import pydantic ^ - --hidden-import sqlalchemy ^ - --hidden-import hl7 ^ - main.py - -echo Build complete! Executable is located in the dist/ folder. -pause diff --git a/fiveparaminte-main/fiveparaminte-main/build.sh b/fiveparaminte-main/fiveparaminte-main/build.sh deleted file mode 100644 index 646d542..0000000 --- a/fiveparaminte-main/fiveparaminte-main/build.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -echo "Building Mindray HL7 Forwarder Executable for Linux..." - -# Clean previous builds -rm -rf build -rm -rf dist - -# Run PyInstaller with necessary hidden imports for FastAPI, Uvicorn, and SQLAlchemy -pyinstaller -F --clean \ - --name "MindrayHL7Forwarder" \ - --hidden-import uvicorn.logging \ - --hidden-import uvicorn.loops \ - --hidden-import uvicorn.loops.auto \ - --hidden-import uvicorn.protocols \ - --hidden-import uvicorn.protocols.http \ - --hidden-import uvicorn.protocols.http.auto \ - --hidden-import uvicorn.protocols.websockets \ - --hidden-import uvicorn.protocols.websockets.auto \ - --hidden-import uvicorn.lifespan \ - --hidden-import uvicorn.lifespan.on \ - --hidden-import uvicorn.lifespan.off \ - --hidden-import fastapi \ - --hidden-import pydantic \ - --hidden-import sqlalchemy \ - --hidden-import hl7 \ - main.py - -echo "Build complete! Executable is located in the dist/ folder." diff --git a/fiveparaminte-main/fiveparaminte-main/config.json b/fiveparaminte-main/fiveparaminte-main/config.json deleted file mode 100644 index 115508f..0000000 --- a/fiveparaminte-main/fiveparaminte-main/config.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "hl7_host": "0.0.0.0", - "hl7_port": 6060, - "contec_ports": [511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 8001, 8002, 8300, 9000, 9100, 9200, 10008, 12345], - "monitor_ip": "", - "monitor_model": "CMS8500", - "device_models": { - "192.168.100.120": "CMS7000PLUS" - }, - "target_api_url": "https://innov-dev.beta.injomo.com/workflow.trigger/69b2712a7866bf86ca0060c3", - "api_token": "", - "retry_interval_seconds": 60, - "log_file": "hl7_forwarder.log", - "database_url": "sqlite:///./hl7_forwarder.db" -} diff --git a/fiveparaminte-main/fiveparaminte-main/config.py b/fiveparaminte-main/fiveparaminte-main/config.py deleted file mode 100644 index eb095e8..0000000 --- a/fiveparaminte-main/fiveparaminte-main/config.py +++ /dev/null @@ -1,45 +0,0 @@ -import json -import os -from pydantic_settings import BaseSettings - -class Settings(BaseSettings): - hl7_host: str = "0.0.0.0" - hl7_port: int = 6060 - contec_ports: list = [511, 515, 516, 517, 518, 519, 520] - monitor_ip: str = "" - monitor_model: str = "CMS7000PLUS" - device_models: dict = {} - target_api_url: str = "https://api.example.com/vitals" - api_token: str = "" - retry_interval_seconds: int = 60 - log_file: str = "hl7_forwarder.log" - database_url: str = "sqlite:///./hl7_forwarder.db" - - class Config: - env_file = ".env" - -def get_settings() -> Settings: - base_dir = os.path.dirname(os.path.abspath(__file__)) - config_file = os.path.join(base_dir, "config.json") - - settings_obj = Settings() - - if os.path.exists(config_file): - with open(config_file, "r") as f: - try: - data = json.load(f) - for k, v in data.items(): - setattr(settings_obj, k, v) - except json.JSONDecodeError: - pass - - if settings_obj.database_url.startswith("sqlite:///./"): - db_name = settings_obj.database_url.split("sqlite:///./")[1] - settings_obj.database_url = f"sqlite:///{os.path.join(base_dir, db_name)}" - - if not os.path.isabs(settings_obj.log_file): - settings_obj.log_file = os.path.join(base_dir, settings_obj.log_file) - - return settings_obj - -settings = get_settings() diff --git a/fiveparaminte-main/fiveparaminte-main/contec_discovery.py b/fiveparaminte-main/fiveparaminte-main/contec_discovery.py deleted file mode 100644 index 8d6b1f6..0000000 --- a/fiveparaminte-main/fiveparaminte-main/contec_discovery.py +++ /dev/null @@ -1,246 +0,0 @@ -""" -Contec CMS7000PLUS / CMS9200PLUS Discovery Tool -================================== -This script listens on multiple TCP ports simultaneously to discover -what data the CMS7000PLUS / CMS9200PLUS patient monitor sends over the network. - -Usage: - python contec_discovery.py - -It will listen on ports: 511, 515, 516, 517, 518, 519, 520, 6060 -and display all received data in hex + ASCII format for protocol analysis. - -IMPORTANT: Run as Administrator (required for port 511 on Windows) -""" - -import asyncio -import logging -import sys -import os -from datetime import datetime - -# --- Configuration --- -LISTEN_HOST = "0.0.0.0" -DISCOVERY_PORTS = [511, 515, 516, 517, 518, 519, 520, 6060] -LOG_DIR = "captures" - -# --- Setup Logging --- -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s [%(levelname)s] %(message)s', - handlers=[logging.StreamHandler(sys.stdout)] -) -logger = logging.getLogger("contec_discovery") - - -def hex_dump(data: bytes, width: int = 16) -> str: - """Format bytes as a hex dump with ASCII representation.""" - lines = [] - for i in range(0, len(data), width): - chunk = data[i:i + width] - hex_part = ' '.join(f'{b:02x}' for b in chunk) - ascii_part = ''.join(chr(b) if 32 <= b < 127 else '.' for b in chunk) - lines.append(f" {i:04x} {hex_part:<{width * 3}} |{ascii_part}|") - return '\n'.join(lines) - - -def try_decode_hl7(data: bytes) -> str | None: - """Attempt to decode the data as an HL7 message.""" - try: - # Strip MLLP framing if present - cleaned = data - if cleaned.startswith(b'\x0b'): - cleaned = cleaned[1:] - if b'\x1c\x0d' in cleaned: - cleaned = cleaned[:cleaned.find(b'\x1c\x0d')] - - text = cleaned.decode('utf-8', errors='ignore').strip() - if 'MSH|' in text or 'MSH' in text[:20]: - return text - except Exception: - pass - return None - - -async def handle_discovery_client( - reader: asyncio.StreamReader, - writer: asyncio.StreamWriter, - port: int, - capture_file -): - """Handle a single incoming connection and dump all data.""" - client_ip, client_port = writer.get_extra_info('peername') - timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f") - - print("\n" + "=" * 80) - print(f" NEW CONNECTION on port {port}") - print(f" From: {client_ip}:{client_port}") - print(f" Time: {timestamp}") - print("=" * 80) - - capture_file.write(f"\n{'='*80}\n") - capture_file.write(f"Connection on port {port} from {client_ip}:{client_port} at {timestamp}\n") - capture_file.write(f"{'='*80}\n") - capture_file.flush() - - packet_count = 0 - - try: - while True: - data = await asyncio.wait_for(reader.read(8192), timeout=30.0) - if not data: - break - - packet_count += 1 - recv_time = datetime.now().strftime("%H:%M:%S.%f") - - print(f"\n--- Packet #{packet_count} on port {port} [{recv_time}] ({len(data)} bytes) ---") - print(hex_dump(data)) - - # Try to decode as HL7 - hl7_text = try_decode_hl7(data) - if hl7_text: - print(f"\n >>> HL7 MESSAGE DETECTED <<<") - segments = hl7_text.replace('\n', '\r').split('\r') - for seg in segments: - seg = seg.strip() - if seg: - print(f" {seg}") - - # Extract vital signs from OBX segments - if seg.startswith("OBX|"): - fields = seg.split('|') - if len(fields) > 5: - obs_id = fields[3] if len(fields) > 3 else "?" - obs_value = fields[5] if len(fields) > 5 else "?" - obs_unit = fields[6] if len(fields) > 6 else "" - print(f" -> Vital: {obs_id} = {obs_value} {obs_unit}") - - # Also try plain text decode - try: - text = data.decode('utf-8', errors='ignore') - printable_ratio = sum(1 for c in text if c.isprintable() or c in '\r\n\t') / max(len(text), 1) - if printable_ratio > 0.7 and not hl7_text: - print(f"\n [Text representation]:") - for line in text.split('\r'): - line = line.strip() - if line: - print(f" {line}") - except Exception: - pass - - # Write to capture file - capture_file.write(f"\nPacket #{packet_count} [{recv_time}] ({len(data)} bytes)\n") - capture_file.write(hex_dump(data) + "\n") - if hl7_text: - capture_file.write(f"HL7: {hl7_text}\n") - capture_file.write(f"Raw bytes: {data.hex()}\n") - capture_file.flush() - - except asyncio.TimeoutError: - print(f" [Timeout - no data for 30s on port {port}]") - except asyncio.CancelledError: - pass - except ConnectionResetError: - print(f" [Connection reset by {client_ip} on port {port}]") - except Exception as e: - print(f" [Error on port {port}: {e}]") - finally: - print(f"\n Connection closed on port {port} from {client_ip} ({packet_count} packets received)") - writer.close() - try: - await writer.wait_closed() - except Exception: - pass - - -async def start_port_listener(port: int, capture_file): - """Start a TCP server on a specific port.""" - async def client_handler(reader, writer): - await handle_discovery_client(reader, writer, port, capture_file) - - try: - server = await asyncio.start_server(client_handler, LISTEN_HOST, port) - logger.info(f" ✓ Listening on port {port}") - return server - except PermissionError: - logger.error(f" ✗ Port {port} - Permission denied (try running as Administrator)") - return None - except OSError as e: - if "already in use" in str(e).lower() or e.errno == 10048: - logger.error(f" ✗ Port {port} - Already in use by another application") - else: - logger.error(f" ✗ Port {port} - {e}") - return None - - -async def main(): - print(r""" - ╔══════════════════════════════════════════════════════════════╗ - ║ Contec CMS7000PLUS / CMS9200PLUS Discovery Tool ║ - ║ ║ - ║ This tool listens for incoming data from your patient ║ - ║ monitor to discover its communication protocol. ║ - ║ ║ - ║ SETUP REQUIRED: ║ - ║ 1. Connect monitor to your PC via Ethernet ║ - ║ 2. Set your PC's Ethernet IP to: 192.168.1.50 ║ - ║ (or whatever subnet your monitor uses) ║ - ║ 3. On the monitor, set CMS/Server IP to YOUR PC's IP ║ - ║ 4. Run this script as Administrator ║ - ║ ║ - ║ Press Ctrl+C to stop ║ - ╚══════════════════════════════════════════════════════════════╝ - """) - - # Create captures directory - os.makedirs(LOG_DIR, exist_ok=True) - capture_filename = os.path.join( - LOG_DIR, - f"capture_{datetime.now().strftime('%Y%m%d_%H%M%S')}.txt" - ) - capture_file = open(capture_filename, 'w', encoding='utf-8') - logger.info(f"Capture log: {capture_filename}") - - # Show current network config hint - print("\nStarting listeners on all discovery ports...") - print("(If port 511 fails, run PowerShell as Administrator)\n") - - servers = [] - for port in DISCOVERY_PORTS: - server = await start_port_listener(port, capture_file) - if server: - servers.append(server) - - if not servers: - logger.error("No ports could be opened! Check permissions and existing services.") - capture_file.close() - return - - active_ports = [s.sockets[0].getsockname()[1] for s in servers if s.sockets] - print(f"\n{'─' * 60}") - print(f" Active on ports: {active_ports}") - print(f" Waiting for data from CMS7000PLUS / CMS9200PLUS...") - print(f" Make sure the monitor's CMS/Server IP points to this PC") - print(f"{'─' * 60}\n") - - try: - # Keep running until Ctrl+C - await asyncio.Event().wait() - except asyncio.CancelledError: - pass - finally: - print("\nShutting down...") - for server in servers: - server.close() - for server in servers: - await server.wait_closed() - capture_file.close() - print(f"Capture saved to: {capture_filename}") - - -if __name__ == "__main__": - try: - asyncio.run(main()) - except KeyboardInterrupt: - print("\n\nDiscovery stopped by user.") diff --git a/fiveparaminte-main/fiveparaminte-main/contec_parser.py b/fiveparaminte-main/fiveparaminte-main/contec_parser.py deleted file mode 100644 index 966ebec..0000000 --- a/fiveparaminte-main/fiveparaminte-main/contec_parser.py +++ /dev/null @@ -1,553 +0,0 @@ -import logging -from datetime import datetime, timezone -from typing import Optional, List -import struct - -from schemas import NormalizedVitals -from config import settings - -logger = logging.getLogger(__name__) - -# Contec CMS7000PLUS / CMS8000 / CMS9200PLUS OBX identifiers mapping to schema fields -CONTEC_PARAM_MAP = { - # Heart Rate / Pulse Rate - "HR": "heart_rate", - "HEART_RATE": "heart_rate", - "ECG_HR": "heart_rate", - "PR": "heart_rate", - "PULSE_RATE": "heart_rate", - "SPO2_PR": "heart_rate", - "ECGHR": "heart_rate", - "ECG-HR": "heart_rate", - "PULSERATE": "heart_rate", - - # SpO2 - "SPO2": "spo2", - "SAO2": "spo2", - "SPO2_PCT": "spo2", - "OXYGEN_SAT": "spo2", - "SPO2_VAL": "spo2", - "O2SAT": "spo2", - - # Blood Pressure (NIBP) - "NIBP_SYS": "systolic_bp", - "NIBP_DIA": "diastolic_bp", - "NIBP_MEAN": "map_bp", - "NIBP_MAP": "map_bp", - "SYS": "systolic_bp", - "DIA": "diastolic_bp", - "MAP": "map_bp", - "NBP_S": "systolic_bp", - "NBP_D": "diastolic_bp", - "NBP_M": "map_bp", - "NIBP-S": "systolic_bp", - "NIBP-D": "diastolic_bp", - "NIBP-M": "map_bp", - "BP_SYS": "systolic_bp", - "BP_DIA": "diastolic_bp", - "BP_MEAN": "map_bp", - - # Respiratory Rate - "RESP": "respiratory_rate", - "RESP_RATE": "respiratory_rate", - "RR": "respiratory_rate", - "BR": "respiratory_rate", - "RESPRATE": "respiratory_rate", - "RESP-RATE": "respiratory_rate", - - # Temperature - "TEMP": "temperature", - "TEMP1": "temperature", - "TEMP2": "temperature", - "T1": "temperature", - "T2": "temperature", - "BODY_TEMP": "temperature", - "TEMP-1": "temperature", - "TEMP-2": "temperature", - "BODYTEMP": "temperature", -} - -# Sentinel value used by Contec to mark an invalid/disconnected parameter -INVALID_SENTINEL_U16 = 9999 # 0x270F -INVALID_SENTINEL_F32 = 9999.0 - - -def safe_float(value: str) -> Optional[float]: - try: - return float(value) - except (ValueError, TypeError): - return None - - -def is_valid_u16(val: Optional[int]) -> bool: - return val is not None and val != INVALID_SENTINEL_U16 and val != 255 and val != 65535 - - -def is_valid_f32(val: Optional[float]) -> bool: - return val is not None and abs(val - INVALID_SENTINEL_F32) > 1.0 - - -def read_u16_le(buf: bytes, offset: int) -> Optional[int]: - if offset + 2 <= len(buf): - return struct.unpack_from(' Optional[float]: - if offset + 4 <= len(buf): - return struct.unpack_from(' Optional[NormalizedVitals]: - """ - Lightweight, native parser for Contec HL7 messages. - Splits segments and fields manually, avoiding third-party library dependencies. - """ - try: - # Strip MLLP framing if present (VT=0x0b, FS=0x1c, CR=0x0d) - clean_text = raw_text.strip() - if clean_text.startswith("\x0b"): - clean_text = clean_text[1:] - if "\x1c\x0d" in clean_text: - clean_text = clean_text.split("\x1c\x0d")[0] - - # Split into segments by CR or LF - segments = [seg.strip() for seg in clean_text.replace("\n", "\r").split("\r") if seg.strip()] - - if not segments or not segments[0].startswith("MSH"): - return None - - # Parse MSH segment - model = settings.device_models.get(client_ip, settings.monitor_model) - msh_fields = segments[0].split("|") - device_id = msh_fields[2] if len(msh_fields) > 2 and msh_fields[2] else f"{model}_{client_ip}" - - patient_id = "UNKNOWN" - vitals_dict = { - "device_id": device_id, - "patient_id": patient_id, - "timestamp": datetime.now(timezone.utc), - "ip_address": client_ip, - } - - found_any = False - - # Parse PID and OBX segments - for seg in segments[1:]: - fields = seg.split("|") - if not fields: - continue - - seg_name = fields[0] - - if seg_name == "PID": - if len(fields) > 3 and fields[3]: - patient_id = fields[3].split("^")[0] - vitals_dict["patient_id"] = patient_id - - elif seg_name == "OBX": - if len(fields) > 5: - obs_val = fields[5].strip() - - if not obs_val or obs_val == "---": - continue - - val_float = safe_float(obs_val) - if val_float is None: - continue - - # Split OBX-3 (Observation Identifier) by '^' and check all parts for parameter matches - obs_parts = [p.strip().upper() for p in fields[3].split("^") if p.strip()] - - matched = False - for param_key, mapped_field in CONTEC_PARAM_MAP.items(): - for part in obs_parts: - if param_key == part or param_key in part: - vitals_dict[mapped_field] = val_float - found_any = True - logger.info(f"Parsed Contec HL7 Vital: {mapped_field} = {val_float} (from OBX-3: {fields[3]})") - matched = True - break - if matched: - break - - return NormalizedVitals(**vitals_dict) if found_any else None - - except Exception as e: - logger.error(f"Error parsing Contec HL7 text: {e}") - return None - - -def _extract_vitals_block(data: bytes, offset: int, client_ip: str) -> Optional[NormalizedVitals]: - """ - Extract vitals from a Contec vitals block starting at the given offset. - - Known Contec CMS7000PLUS binary vitals block layout (confirmed from packet captures): - - PACKET TYPE B (header bytes [xx][00][04][46] or [xx][yy][04][46]): - ----------------------------------------------------------------------- - Bytes 8-11 : float32 LE → NIBP Systolic (9999.0 = invalid) - Bytes 12-15 : float32 LE → NIBP Diastolic (9999.0 = invalid) - Bytes 16-19 : float32 LE → NIBP MAP (9999.0 = invalid) - Bytes 20-23 : float32 LE → Temperature 1 (°C, 9999.0 = invalid) - Bytes 24-27 : float32 LE → Temperature 2 (°C, 9999.0 = invalid) - - Vitals summary block (at data[offset] position, found by scanning for SpO2+HR pattern): - Offset +0 : uint16 LE → SpO2 (%) (9999 = invalid) - Offset +2 : uint16 LE → Heart Rate (bpm)(9999 = invalid, ECG not connected) - Offset +4 : uint16 LE → Pulse Rate (bpm)(from SpO2 probe, also 9999 if invalid) - Offset +6 : uint16 LE → (SpO2 alarm/threshold) - Offset +8 : uint16 LE → (mode flags) - Offset +10 : uint16 LE → NIBP Systolic (9999 = invalid) - Offset +12 : uint16 LE → NIBP Diastolic (9999 = invalid) - """ - model = settings.device_models.get(client_ip, settings.monitor_model) - vitals_dict = { - "device_id": f"{model}_{client_ip}", - "patient_id": "UNKNOWN", - "timestamp": datetime.now(timezone.utc), - "ip_address": client_ip, - } - found = False - - spo2 = read_u16_le(data, offset) - hr_ecg = read_u16_le(data, offset + 2) - hr_spo2 = read_u16_le(data, offset + 4) - - # SpO2 value: valid range 50–100 - if spo2 is not None and 50 <= spo2 <= 100: - vitals_dict["spo2"] = float(spo2) - found = True - - # Heart rate: prefer ECG HR; fall back to SpO2-derived PR if ECG invalid - if is_valid_u16(hr_ecg) and 20 <= hr_ecg <= 300: - vitals_dict["heart_rate"] = float(hr_ecg) - found = True - elif is_valid_u16(hr_spo2) and 20 <= hr_spo2 <= 300: - vitals_dict["heart_rate"] = float(hr_spo2) - found = True - - return NormalizedVitals(**vitals_dict) if found else None - - -def _parse_45_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 45-byte packet (Subtype 22) — contains NIBP values and alarm limits. - - Verified layout: - [0-1] Packet length LE u16 = 45 - [2-3] Marker: 01 46 - [4-7] Sub-header (00 00 16 00) - [8-9] Year LE u16 - [10] Month, [11] Day, [12] Hour, [13] Minute, [14] Seconds - [15-16] NIBP Systolic (LE u16, 9999 = no measurement) - [17-18] NIBP Diastolic (LE u16, 9999 = no measurement) - [19-20] NIBP MAP (LE u16, 9999 = no measurement) - """ - if len(data) < 22: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - - nibp_sys = read_u16_le(data, 15) - nibp_dia = read_u16_le(data, 17) - nibp_map = read_u16_le(data, 19) - - found = False - - # Mark NIBP fields as present so cache can clear them if 9999 - for f in ["systolic_bp", "diastolic_bp", "map_bp"]: - if f not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append(f) - - if nibp_sys is not None and nibp_sys != 9999 and 40 < nibp_sys < 250: - vitals_dict["systolic_bp"] = float(nibp_sys) - found = True - else: - vitals_dict["systolic_bp"] = None - - if nibp_dia is not None and nibp_dia != 9999 and 20 < nibp_dia < 200: - vitals_dict["diastolic_bp"] = float(nibp_dia) - found = True - else: - vitals_dict["diastolic_bp"] = None - - if nibp_map is not None and nibp_map != 9999 and 20 < nibp_map < 250: - vitals_dict["map_bp"] = float(nibp_map) - found = True - else: - vitals_dict["map_bp"] = None - - return found - - -def _parse_56_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 56-byte packet (Subtype 23) — contains float32 Temperature values. - - Verified layout: - [8-11] Temperature 1 (float32) - [12-15] Temperature 2 (float32) - [20-23] Temp 1 Alarm High Limit (float32) - [24-27] Temp 1 Alarm Low Limit (float32) - """ - if len(data) < 16: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "temperature" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("temperature") - vitals_dict.setdefault("temperature", None) - - found = False - - temp1 = read_f32_le(data, 8) - temp2 = read_f32_le(data, 12) - - # 9999.0 is sentinel - if temp1 is not None and is_valid_f32(temp1) and 10.0 < temp1 < 50.0: - vitals_dict["temperature"] = round(temp1, 1) - found = True - elif temp2 is not None and is_valid_f32(temp2) and 10.0 < temp2 < 50.0: - vitals_dict["temperature"] = round(temp2, 1) - found = True - - return found - - -def _parse_286_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 286-byte waveform packet (Subtype 21). - - Verified layout at tail: - [264-265] SpO2% (LE u16) — live oxygen saturation percentage - 255 / 65535 = sensor disconnected - [266-267] ECG HR via SpO2 PR (LE u16) — 9999 / 65535 = not available - """ - if len(data) < 270: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "spo2" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("spo2") - vitals_dict.setdefault("spo2", None) - - found = False - - # Offset 264: SpO2 percentage - spo2_val = read_u16_le(data, 264) - if spo2_val is not None and spo2_val != 65535 and spo2_val != 255 and 50 <= spo2_val <= 100: - vitals_dict["spo2"] = float(spo2_val) - found = True - - # Offset 266: HR from SpO2 PR (only add to present fields if valid to prevent overriding ECG HR) - hr_val = read_u16_le(data, 266) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - found = True - - return found - - -def _parse_288_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 288-byte waveform packet (Subtype 21 for CMS8500). - - Layout: - [264-265] SpO2% (LE u16) — live oxygen saturation percentage - [266-267] PR (LE u16) — pulse rate - """ - if len(data) < 270: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "spo2" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("spo2") - vitals_dict.setdefault("spo2", None) - - found = False - - # Offset 264: SpO2 percentage - spo2_val = read_u16_le(data, 264) - if spo2_val is not None and spo2_val != 65535 and spo2_val != 255 and 50 <= spo2_val <= 100: - vitals_dict["spo2"] = float(spo2_val) - found = True - - # Offset 266: PR from SpO2 PR - hr_val = read_u16_le(data, 266) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - found = True - - return found - - -def _parse_341_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 341-byte waveform packet. Same tail layout as 286-byte. - """ - if len(data) < 270: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "spo2" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("spo2") - vitals_dict.setdefault("spo2", None) - - found = False - - spo2_val = read_u16_le(data, 264) - if spo2_val is not None and spo2_val != 65535 and spo2_val != 255 and 50 <= spo2_val <= 100: - vitals_dict["spo2"] = float(spo2_val) - found = True - - hr_val = read_u16_le(data, 266) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - found = True - - return found - - -def _parse_989_byte_packet(data: bytes, vitals_dict: dict) -> bool: - """ - Parse 989-byte waveform packet (Subtype 20). - - Verified layout: - [904-905] ECG Heart Rate (LE u16) - 65535 or 9999 = invalid/disconnected - """ - if len(data) < 906: - return False - - if "present_fields" not in vitals_dict: - vitals_dict["present_fields"] = [] - if "heart_rate" not in vitals_dict["present_fields"]: - vitals_dict["present_fields"].append("heart_rate") - vitals_dict.setdefault("heart_rate", None) - - found = False - - hr_val = read_u16_le(data, 904) - if hr_val is not None and hr_val != 65535 and hr_val != 9999 and 20 <= hr_val <= 300: - vitals_dict["heart_rate"] = float(hr_val) - found = True - - return found - - -def _find_vitals_block_in_stream(data: bytes, client_ip: str) -> Optional[NormalizedVitals]: - """ - Scan the data stream for Contec CMS7000PLUS sub-packets and parse them - deterministically based on packet length. - - Packet types (verified by raw hex analysis): - 45 bytes (Subtype 22): NIBP Sys/Dia/MAP (u16 LE starting at offset 15) - 56 bytes (Subtype 23): Float32 Temperature (offset 8/12) - 286 bytes (Subtype 21): SpO2% at offset 264 - 341 bytes (Subtype 21): SpO2% at offset 264 - 989 bytes (Subtype 20): ECG Heart Rate at offset 904 - """ - model = settings.device_models.get(client_ip, settings.monitor_model) - vitals_dict = { - "device_id": f"{model}_{client_ip}", - "patient_id": "UNKNOWN", - "timestamp": datetime.now(timezone.utc), - "ip_address": client_ip, - } - found_any = False - - i = 0 - while i < len(data) - 8: - if (data[i + 2] == 0x04 or data[i + 2] == 0x01 or data[i + 2] == 0x00) and data[i + 3] == 0x46: - pkt_len = struct.unpack_from(' Optional[NormalizedVitals]: - """ - Decodes the Contec CMS7000PLUS proprietary binary protocol. - - The monitor sends two alternating TCP packets: - - Packet A (991 bytes): ECG waveform + SpO2 waveform + vitals footer - - Packet B (397 bytes): Resp waveform + vitals summary + param block - - Both have the structure: [len_lo][len_hi][04][46][subtype][00][sublen][00]...[payload]... - """ - try: - return _find_vitals_block_in_stream(data, client_ip) - except Exception as e: - logger.error(f"Error parsing Contec binary packet: {e}") - return None - - -def parse_contec_data(raw_data: bytes, client_ip: str) -> Optional[NormalizedVitals]: - """ - Unified entry point for parsing data from a Contec CMS7000PLUS monitor. - Attempts HL7 text parsing first, falling back to proprietary binary parsing. - """ - if not raw_data: - return None - - # Attempt 1: HL7 Text Decoding - try: - text = raw_data.decode("utf-8", errors="ignore").strip() - if "MSH" in text or "\x0bMSH" in text: - vitals = parse_contec_hl7_text(text, client_ip) - if vitals: - return vitals - else: - logger.warning(f"HL7 message detected but failed to parse. Content: {repr(text)}") - except Exception as e: - logger.warning(f"Failed decoding/parsing HL7: {e}") - - # Attempt 2: Binary Parsing (Contec proprietary protocol) - vitals = parse_contec_binary_packet(raw_data, client_ip) - if vitals: - return vitals - - # Logging fallback - logger.warning( - f"Data packet from {client_ip} unrecognized. " - f"Len: {len(raw_data)}, Hex head: {raw_data[:32].hex()}" - ) - return None diff --git a/fiveparaminte-main/fiveparaminte-main/contec_server.py b/fiveparaminte-main/fiveparaminte-main/contec_server.py deleted file mode 100644 index 675f4b6..0000000 --- a/fiveparaminte-main/fiveparaminte-main/contec_server.py +++ /dev/null @@ -1,312 +0,0 @@ -import asyncio -import logging -from datetime import datetime, timezone - -from contec_parser import parse_contec_data -from database import SessionLocal -from models import Device, Patient, VitalReading, TransmissionLog -from api_client import forward_vitals_to_api -from terminal_display import get_terminal_display - -logger = logging.getLogger(__name__) - -# Constants for MLLP framing (used on port 511 for Contec HL7 text) -VT = b'\x0b' -FS_CR = b'\x1c\x0d' - - -def generate_ack(received_msg: str) -> str: - """Generates a simple HL7 ACK message to satisfy the monitor's TCP client.""" - try: - segments = received_msg.split('\r') - msh = segments[0] if segments else "" - if not msh.startswith("MSH|"): - return "" - - fields = msh.split('|') - if len(fields) < 10: - return "" - - sending_app = fields[2] - sending_fac = fields[3] - rec_app = fields[4] - rec_fac = fields[5] - msg_control_id = fields[9] - - now_str = datetime.now().strftime("%Y%m%d%H%M%S") - - ack_msh = f"MSH|^~\\&|{rec_app}|{rec_fac}|{sending_app}|{sending_fac}|{now_str}||ACK^R01|{msg_control_id}|P|2.3.1\r" - ack_msa = f"MSA|AA|{msg_control_id}\r" - - return ack_msh + ack_msa - except Exception as e: - logger.debug(f"Could not generate ACK: {e}") - return "" - - -async def handle_contec_client(reader: asyncio.StreamReader, writer: asyncio.StreamWriter, port: int): - """ - TCP server handler for Contec CMS7000PLUS client connections. - Directs incoming traffic to the unified parse_contec_data handler. - """ - client_ip, client_port = writer.get_extra_info('peername') - logger.info(f"Accepted Contec CMS7000PLUS connection from {client_ip}:{client_port} on port {port}") - - display = get_terminal_display() - display.connection_opened(client_ip, port) - - buffer = b"" - - try: - while True: - data = await reader.read(8192) - if not data: - logger.info(f"Contec client {client_ip}:{client_port} on port {port} sent EOF (0 bytes)") - break - - buffer += data - logger.debug(f"Received {len(data)} bytes from {client_ip}:{client_port} on port {port} (buf={len(buffer)})") - - # --------------------------------------------------------------- - # MLLP / HL7 text path (typically port 511) - # --------------------------------------------------------------- - if VT in buffer and FS_CR in buffer and b"MSH|" in buffer: - while True: - start_idx = buffer.find(VT) - end_idx = buffer.find(FS_CR) - if start_idx != -1 and end_idx != -1 and start_idx < end_idx: - raw_hl7 = buffer[start_idx + 1:end_idx].decode('utf-8', errors='ignore') - buffer = buffer[end_idx + 2:] - logger.info(f"Contec MLLP message detected on port {port}") - vitals = parse_contec_data(raw_hl7.encode('utf-8'), client_ip) - if vitals: - await process_vitals(vitals) - ack_msg = generate_ack(raw_hl7) - if ack_msg: - writer.write(VT + ack_msg.encode('utf-8') + FS_CR) - await writer.drain() - else: - break - continue # Go back to reading more data - - # --------------------------------------------------------------- - # Binary Contec proprietary protocol (port 514) - # Packets are framed as: [len_lo][len_hi][04][46] ... payload ... - # The monitor sends each packet as a complete TCP write, - # but we buffer anyway in case of TCP segmentation. - # --------------------------------------------------------------- - consumed = 0 - while consumed < len(buffer) - 4: - b0 = buffer[consumed] - b1 = buffer[consumed + 1] - b2 = buffer[consumed + 2] - b3 = buffer[consumed + 3] - - if (b2 == 0x04 or b2 == 0x01 or b2 == 0x00) and b3 == 0x46: - pkt_len = b0 | (b1 << 8) - pkt_end = consumed + pkt_len - - if pkt_len < 5 or pkt_len > 8192: - # Bad length — skip one byte and keep scanning - consumed += 1 - continue - - if pkt_end > len(buffer): - # Don't have the full packet yet — wait for more data - break - - # Parse the complete packet - pkt = buffer[consumed:pkt_end] - vitals = parse_contec_data(pkt, client_ip) - if vitals: - logger.info( - f"[PORT {port}] Vitals from {client_ip}: " - f"SpO2={vitals.spo2}%, HR={vitals.heart_rate}bpm " - f"BP={vitals.systolic_bp}/{vitals.diastolic_bp} " - f"Temp={vitals.temperature}C" - ) - await process_vitals(vitals) - - consumed = pkt_end - - elif (b2 == 0x04 or b2 == 0x01) and b3 == 0x47: - # End-of-frame marker — skip 4 bytes - consumed += 4 - - else: - # Not a recognised frame start — advance one byte - consumed += 1 - - # Discard consumed bytes from front of buffer - buffer = buffer[consumed:] - - # Safety valve - if len(buffer) > 32768: - logger.warning(f"Buffer too large ({len(buffer)} bytes) on port {port}, resetting") - buffer = b"" - - except asyncio.CancelledError: - pass - except ConnectionResetError: - logger.info(f"Contec CMS7000PLUS connection reset from {client_ip} on port {port}") - except Exception as e: - logger.error(f"Error in Contec client handler (port {port}): {e}") - finally: - logger.info(f"Closing Contec CMS7000PLUS connection from {client_ip}:{client_port} on port {port}") - display.connection_closed(client_ip, port) - writer.close() - try: - await writer.wait_closed() - except Exception: - pass - - -# Cache to hold merged vitals per device to prevent fragmentation -device_cache = {} -device_field_timestamps = {} # {device_id: {field_name: datetime}} -last_db_write = {} - - -async def process_vitals(vitals): - """ - Log, database, WebSocket broadcast, and REST forward parsed vitals. - """ - device_id = vitals.device_id - now = datetime.now(timezone.utc) - - if device_id not in device_field_timestamps: - device_field_timestamps[device_id] = {} - - # 1. Merge new vitals into cached vitals to prevent fragmented entries - if device_id not in device_cache: - device_cache[device_id] = vitals - # Track initial timestamps for present values - for field, value in vitals.model_dump().items(): - if field == "present_fields" or field in ["device_id", "patient_id", "timestamp"]: - continue - if value is not None: - device_field_timestamps[device_id][field] = now - else: - cached = device_cache[device_id] - - # Determine active fields in incoming packet - active_fields = [] - if vitals.present_fields is not None: - active_fields = vitals.present_fields - else: - for field, value in vitals.model_dump().items(): - if field == "present_fields" or field in ["device_id", "patient_id", "timestamp"]: - continue - if value is not None: - active_fields.append(field) - - # Update cache & record timestamps - for field in active_fields: - val = getattr(vitals, field) - setattr(cached, field, val) - device_field_timestamps[device_id][field] = now - - # Clean up stale fields (older than 15 seconds) - for field in list(device_field_timestamps[device_id].keys()): - last_updated = device_field_timestamps[device_id][field] - if (now - last_updated).total_seconds() > 15.0: - setattr(cached, field, None) - device_field_timestamps[device_id].pop(field, None) - - cached.timestamp = vitals.timestamp - vitals = cached - - # 2. Update console display banner - display = get_terminal_display() - display.update_vitals(vitals) - - logger.info( - f"Vitals for Device {vitals.device_id}, Patient {vitals.patient_id}: " - f"HR={vitals.heart_rate}, SpO2={vitals.spo2}, " - f"BP={vitals.systolic_bp}/{vitals.diastolic_bp}, " - f"RR={vitals.respiratory_rate}, Temp={vitals.temperature}" - ) - - # 3. Broadcast to live WebSockets dashboard in real-time - try: - from routers.dashboard import get_ws_manager - ws_manager = get_ws_manager() - await ws_manager.broadcast_vitals(vitals.model_dump(mode="json")) - except Exception as e: - logger.debug(f"WebSocket broadcast failed: {e}") - - # 4. Throttled Database & REST forwarding (at most once every 5 seconds) - now = datetime.now(timezone.utc) - should_write_db = False - if device_id not in last_db_write or (now - last_db_write[device_id]).total_seconds() >= 5.0: - should_write_db = True - last_db_write[device_id] = now - - if should_write_db: - # Save to SQLite database and REST forward - db = SessionLocal() - try: - # 1. Device tracking - device = db.query(Device).filter(Device.device_id == vitals.device_id).first() - if not device: - device = Device( - device_id=vitals.device_id, - ip_address=vitals.ip_address or "unknown", - status="active" - ) - db.add(device) - else: - if vitals.ip_address: - device.ip_address = vitals.ip_address - device.status = "active" - device.last_seen = datetime.now(timezone.utc) - - # 2. Patient tracking - patient = db.query(Patient).filter(Patient.patient_id == vitals.patient_id).first() - if not patient: - patient = Patient(patient_id=vitals.patient_id, name="Unknown") - db.add(patient) - - # 3. Create Reading Entry - reading = VitalReading( - device_id=vitals.device_id, - patient_id=vitals.patient_id, - timestamp=vitals.timestamp, - heart_rate=vitals.heart_rate, - spo2=vitals.spo2, - systolic_bp=vitals.systolic_bp, - diastolic_bp=vitals.diastolic_bp, - map_bp=vitals.map_bp, - respiratory_rate=vitals.respiratory_rate, - temperature=vitals.temperature, - transmitted=False - ) - db.add(reading) - db.commit() - db.refresh(reading) - - # 4. REST forwarding - success = await forward_vitals_to_api(vitals) - - if success: - reading.transmitted = True - log_entry = TransmissionLog( - reading_id=reading.id, - status="success", - response_code=200 - ) - else: - log_entry = TransmissionLog( - reading_id=reading.id, - status="failed", - error_message="Immediate REST forward failed" - ) - - db.add(log_entry) - db.commit() - - except Exception as e: - logger.error(f"Database operation failed: {e}") - db.rollback() - finally: - db.close() diff --git a/fiveparaminte-main/fiveparaminte-main/database.py b/fiveparaminte-main/fiveparaminte-main/database.py deleted file mode 100644 index cbde1b6..0000000 --- a/fiveparaminte-main/fiveparaminte-main/database.py +++ /dev/null @@ -1,17 +0,0 @@ -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker, declarative_base -from config import settings - -engine = create_engine( - settings.database_url, connect_args={"check_same_thread": False} -) -SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) - -Base = declarative_base() - -def get_db(): - db = SessionLocal() - try: - yield db - finally: - db.close() diff --git a/fiveparaminte-main/fiveparaminte-main/main.py b/fiveparaminte-main/fiveparaminte-main/main.py deleted file mode 100644 index 617f971..0000000 --- a/fiveparaminte-main/fiveparaminte-main/main.py +++ /dev/null @@ -1,189 +0,0 @@ -import asyncio -import logging -import multiprocessing -import socket -from contextlib import asynccontextmanager -from functools import partial - -from fastapi import FastAPI, WebSocket, WebSocketDisconnect -import uvicorn - -from config import settings -from database import engine, Base -from contec_server import handle_contec_client -from background_tasks import retry_failed_transmissions -from routers import dashboard -from routers.dashboard import get_ws_manager - -# Setup Logging -logging.basicConfig( - level=logging.INFO, - format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', - handlers=[ - logging.FileHandler(settings.log_file), - logging.StreamHandler() - ] -) -logger = logging.getLogger(__name__) - -# Create database tables if they don't exist -Base.metadata.create_all(bind=engine) - - -def _make_contec_handler(port: int): - """Create a connection handler closure for a specific Contec port.""" - async def handler(reader, writer): - await handle_contec_client(reader, writer, port) - return handler - - -def _get_local_ips(): - """Get all local IP addresses for this machine.""" - ips = [] - try: - for info in socket.getaddrinfo(socket.gethostname(), None, socket.AF_INET): - ip = info[4][0] - if ip not in ips and not ip.startswith('127.'): - ips.append(ip) - except Exception: - pass - # Also try connecting to an external address to find the primary IP - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect(('8.8.8.8', 80)) - primary_ip = s.getsockname()[0] - s.close() - if primary_ip not in ips: - ips.insert(0, primary_ip) - except Exception: - pass - return ips if ips else ['Could not detect — check ipconfig'] - - -@asynccontextmanager -async def lifespan(app: FastAPI): - servers = [] - - # === Start Contec CMS7000PLUS TCP Servers === - logger.info("Starting Contec CMS7000PLUS listeners...") - for port in settings.contec_ports: - try: - contec_server = await asyncio.start_server( - _make_contec_handler(port), - settings.hl7_host, - port - ) - servers.append(contec_server) - logger.info(f" [OK] Contec listener on port {port}") - except PermissionError: - logger.warning( - f" [FAIL] Port {port} - Permission denied. " - f"Run as Administrator for ports below 1024." - ) - except OSError as e: - if "already in use" in str(e).lower() or getattr(e, 'errno', 0) == 10048: - logger.warning(f" [FAIL] Port {port} - Already in use") - else: - logger.warning(f" [FAIL] Port {port} - {e}") - - if servers: - active_ports = [] - for s in servers: - for sock in s.sockets: - active_ports.append(sock.getsockname()[1]) - app.state.active_ports = active_ports - logger.info(f" Active listener ports: {active_ports}") - else: - app.state.active_ports = [] - logger.error("No servers could be started! Check port availability and permissions.") - - # === Print startup banner === - import os - port = int(os.environ.get("PORT", 8000)) - local_ips = _get_local_ips() - model = settings.monitor_model - print("\n" + "=" * 65) - print(f" Contec {model} Patient Monitor - Vital Signs Forwarder") - print("=" * 65) - print(f" DASHBOARD: http://localhost:{port}/api/dashboard") - print(f" API Docs: http://localhost:{port}/docs") - print(f" Contec Ports: {settings.contec_ports}") - print(f" Monitor Model: {model}") - print(f" API Target: {settings.target_api_url}") - print(f" Database: {settings.database_url}") - print(f" ---------------------------------------------------------") - print(f" YOUR PC's IP ADDRESSES (configure on your monitor):") - for ip in local_ips: - print(f" -> {ip}") - print("=" * 65) - print(f" Waiting for {model} connections...") - print(f" On your monitor: System Setup > Network > CMS Settings") - print(f" Set Server IP = one of the IPs above, Port = {settings.contec_ports[0] if settings.contec_ports else 511}") - print("=" * 65 + "\n") - - # Startup: Start the background retry task - retry_task = asyncio.create_task(retry_failed_transmissions()) - - yield - - # Shutdown - logger.info("Shutting down servers...") - retry_task.cancel() - for server in servers: - server.close() - for server in servers: - await server.wait_closed() - - -# Initialize FastAPI app -app = FastAPI( - title="Contec CMS7000PLUS Vital Signs Forwarder", - description="Service to receive vital signs from Contec CMS7000PLUS patient monitors and forward them to a REST API", - version="2.0.0", - lifespan=lifespan -) - -# Enable CORS for cross-origin app integrations (e.g. Electron apps, local dev servers) -from fastapi.middleware.cors import CORSMiddleware -app.add_middleware( - CORSMiddleware, - allow_origins=["*"], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) - -# Include dashboard routes -app.include_router(dashboard.router, prefix="/api") - -# Serve static folder -from fastapi.staticfiles import StaticFiles -app.mount("/static", StaticFiles(directory="static"), name="static") - - -# === WebSocket endpoint for live vitals === -@app.websocket("/ws/vitals") -async def websocket_vitals(websocket: WebSocket): - manager = get_ws_manager() - await manager.connect(websocket) - try: - while True: - # Keep connection alive, listen for any client messages - await websocket.receive_text() - except WebSocketDisconnect: - manager.disconnect(websocket) - except Exception: - manager.disconnect(websocket) - - -if __name__ == "__main__": - # Required for Windows when building with PyInstaller using multiprocessing (uvicorn workers) - multiprocessing.freeze_support() - - logger.info("Initializing Application...") - - # Run the FastAPI server. - # Notice we run on port 8000 (or PORT env var) for the REST Dashboard, while HL7 is on settings.hl7_port (e.g. 6060) - import os - port = int(os.environ.get("PORT", 8000)) - uvicorn.run(app, host="0.0.0.0", port=port) diff --git a/fiveparaminte-main/fiveparaminte-main/models.py b/fiveparaminte-main/fiveparaminte-main/models.py deleted file mode 100644 index f1fa727..0000000 --- a/fiveparaminte-main/fiveparaminte-main/models.py +++ /dev/null @@ -1,41 +0,0 @@ -from sqlalchemy import Column, Integer, String, Float, Boolean, DateTime -from datetime import datetime, timezone -from database import Base - -class Device(Base): - __tablename__ = "devices" - id = Column(Integer, primary_key=True, index=True) - device_id = Column(String, unique=True, index=True) - ip_address = Column(String) - status = Column(String, default="active") - last_seen = Column(DateTime, default=lambda: datetime.now(timezone.utc)) - -class Patient(Base): - __tablename__ = "patients" - id = Column(Integer, primary_key=True, index=True) - patient_id = Column(String, unique=True, index=True) - name = Column(String) - -class VitalReading(Base): - __tablename__ = "vital_readings" - id = Column(Integer, primary_key=True, index=True) - device_id = Column(String, index=True) - patient_id = Column(String, index=True) - timestamp = Column(DateTime, index=True) - heart_rate = Column(Float, nullable=True) - spo2 = Column(Float, nullable=True) - systolic_bp = Column(Float, nullable=True) - diastolic_bp = Column(Float, nullable=True) - map_bp = Column(Float, nullable=True) - respiratory_rate = Column(Float, nullable=True) - temperature = Column(Float, nullable=True) - transmitted = Column(Boolean, default=False, index=True) - -class TransmissionLog(Base): - __tablename__ = "transmission_logs" - id = Column(Integer, primary_key=True, index=True) - reading_id = Column(Integer, index=True) - status = Column(String) - response_code = Column(Integer, nullable=True) - error_message = Column(String, nullable=True) - timestamp = Column(DateTime, default=lambda: datetime.now(timezone.utc)) diff --git a/fiveparaminte-main/fiveparaminte-main/render.yaml b/fiveparaminte-main/fiveparaminte-main/render.yaml deleted file mode 100644 index c2862c9..0000000 --- a/fiveparaminte-main/fiveparaminte-main/render.yaml +++ /dev/null @@ -1,15 +0,0 @@ -services: - - type: web - name: contec-monitor-api - runtime: python - buildCommand: pip install -r requirements.txt - startCommand: python3 -m uvicorn main:app --host 0.0.0.0 --port $PORT - envVars: - - key: PORT - value: 10000 - - key: PYTHON_VERSION - value: 3.12.0 - - key: TARGET_API_URL - sync: false - - key: API_TOKEN - sync: false diff --git a/fiveparaminte-main/fiveparaminte-main/requirements.txt b/fiveparaminte-main/fiveparaminte-main/requirements.txt deleted file mode 100644 index b76f540..0000000 --- a/fiveparaminte-main/fiveparaminte-main/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -fastapi -uvicorn -sqlalchemy -pydantic -pydantic-settings -httpx -gunicorn -rich -websockets diff --git a/fiveparaminte-main/fiveparaminte-main/routers/__init__.py b/fiveparaminte-main/fiveparaminte-main/routers/__init__.py deleted file mode 100644 index 5f24585..0000000 --- a/fiveparaminte-main/fiveparaminte-main/routers/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Python package marker diff --git a/fiveparaminte-main/fiveparaminte-main/routers/dashboard.py b/fiveparaminte-main/fiveparaminte-main/routers/dashboard.py deleted file mode 100644 index 01bdf90..0000000 --- a/fiveparaminte-main/fiveparaminte-main/routers/dashboard.py +++ /dev/null @@ -1,271 +0,0 @@ -import asyncio -import json -import logging -import socket -from typing import List -from datetime import datetime, timezone - -from fastapi import APIRouter, Depends, HTTPException, WebSocket, WebSocketDisconnect, Request -from fastapi.responses import HTMLResponse -from sqlalchemy.orm import Session -from database import get_db -from models import Device, VitalReading, TransmissionLog - -logger = logging.getLogger(__name__) -router = APIRouter() - -# === WebSocket Manager for real-time vitals push === -class VitalsWebSocketManager: - """Manages WebSocket connections for live vitals streaming.""" - - def __init__(self): - self.active_connections: List[WebSocket] = [] - - async def connect(self, websocket: WebSocket): - await websocket.accept() - self.active_connections.append(websocket) - logger.info(f"WebSocket client connected ({len(self.active_connections)} active)") - - def disconnect(self, websocket: WebSocket): - if websocket in self.active_connections: - self.active_connections.remove(websocket) - logger.info(f"WebSocket client disconnected ({len(self.active_connections)} active)") - - async def broadcast_vitals(self, vitals_data: dict): - """Send vitals to all connected WebSocket clients.""" - dead = [] - for connection in self.active_connections: - try: - await connection.send_json(vitals_data) - except Exception: - dead.append(connection) - for d in dead: - self.disconnect(d) - - -# Global singleton -ws_manager = VitalsWebSocketManager() - - -def get_ws_manager() -> VitalsWebSocketManager: - return ws_manager - - -# === Dashboard HTML Route === -@router.get("/dashboard", response_class=HTMLResponse) -def serve_dashboard(): - """Serve the vitals monitoring dashboard.""" - import os - dashboard_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "static", "dashboard.html") - try: - with open(dashboard_path, "r", encoding="utf-8") as f: - return HTMLResponse(content=f.read()) - except FileNotFoundError: - return HTMLResponse(content="

Dashboard not found

static/dashboard.html is missing

", status_code=404) - - -# === API Endpoints === -@router.get("/health") -def health_check(): - return {"status": "ok", "service": "Patient Monitor Vital Signs Forwarder"} - -@router.get("/status") -def get_system_status(request: Request, db: Session = Depends(get_db)): - total_devices = db.query(Device).count() - active_devices = db.query(Device).filter(Device.status == "active").count() - total_readings = db.query(VitalReading).count() - pending_transmissions = db.query(VitalReading).filter(VitalReading.transmitted == False).count() - active_ports = getattr(request.app.state, "active_ports", []) - - return { - "total_devices": total_devices, - "active_devices": active_devices, - "total_readings_stored": total_readings, - "pending_transmissions": pending_transmissions, - "active_ports": active_ports - } - -@router.get("/devices") -def list_devices(db: Session = Depends(get_db)): - devices = db.query(Device).all() - now = datetime.now(timezone.utc) - updated = False - for device in devices: - last_seen = device.last_seen - if last_seen.tzinfo is None: - last_seen = last_seen.replace(tzinfo=timezone.utc) - - # If not seen for more than 15 seconds, mark offline - if (now - last_seen).total_seconds() > 15.0: - if device.status != "offline": - device.status = "offline" - updated = True - else: - if device.status != "active": - device.status = "active" - updated = True - if updated: - db.commit() - return devices - -@router.get("/latest-readings") -def get_latest_readings(device_id: str = None, limit: int = 10, db: Session = Depends(get_db)): - query = db.query(VitalReading) - if device_id: - query = query.filter(VitalReading.device_id == device_id) - readings = query.order_by(VitalReading.timestamp.desc()).limit(limit).all() - return readings - -@router.get("/readings") -def get_readings(device_id: str = None, patient_id: str = None, limit: int = 50, db: Session = Depends(get_db)): - query = db.query(VitalReading) - if device_id: - query = query.filter(VitalReading.device_id == device_id) - if patient_id: - query = query.filter(VitalReading.patient_id == patient_id) - - return query.order_by(VitalReading.timestamp.desc()).limit(limit).all() - -@router.get("/transmission-logs") -def get_transmission_logs(limit: int = 50, db: Session = Depends(get_db)): - logs = db.query(TransmissionLog).order_by(TransmissionLog.timestamp.desc()).limit(limit).all() - return logs - -@router.post("/test-api") -def test_target_api_connection(): - """ - Endpoint to trigger a test POST to the target API. - """ - from config import settings - return { - "message": "Test triggered", - "target_url": settings.target_api_url - } - - -@router.get("/network-info") -def get_network_info(): - """ - Returns this PC's local IP addresses. - Useful for configuring the CMS7000PLUS monitor's CMS Server IP. - """ - from config import settings - ips = [] - try: - for info in socket.getaddrinfo(socket.gethostname(), None, socket.AF_INET): - ip = info[4][0] - if ip not in ips and not ip.startswith('127.'): - ips.append(ip) - except Exception: - pass - # Find primary IP - primary_ip = None - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect(('8.8.8.8', 80)) - primary_ip = s.getsockname()[0] - s.close() - if primary_ip not in ips: - ips.insert(0, primary_ip) - except Exception: - pass - - return { - "hostname": socket.gethostname(), - "ip_addresses": ips, - "primary_ip": primary_ip or (ips[0] if ips else None), - "monitor_model": settings.monitor_model, - "contec_ports": settings.contec_ports, - "instructions": [ - f"1. Connect your {settings.monitor_model} to this PC via Ethernet", - f"2. On the monitor: System Setup → Network → CMS Settings", - f"3. Set Server IP to: {primary_ip or 'your PC IP'}", - f"4. Set Server Port to: {settings.contec_ports[0] if settings.contec_ports else 511}", - f"5. Enable the CMS connection", - f"6. The dashboard will show data automatically" - ] - } - - -# === Push Vitals Endpoint (for local-to-cloud sync) === -from schemas import NormalizedVitals -from models import Patient - - -@router.post("/push-vitals") -async def push_vitals(vitals: NormalizedVitals, api_key: str = None, db: Session = Depends(get_db)): - """ - Receive vitals pushed from a local instance and store + broadcast them. - - This enables the 'split architecture' where: - - Local instance receives data from physical monitors via TCP - - Local instance POSTs vitals here for cloud storage & dashboard access - - Optional: pass ?api_key=YOUR_KEY for basic authentication. - """ - from config import settings - - # Optional API key check - if settings.api_token and api_key != settings.api_token: - if settings.api_token: # Only enforce if a token is configured - raise HTTPException(status_code=401, detail="Invalid or missing api_key") - - try: - # 1. Device tracking - device = db.query(Device).filter(Device.device_id == vitals.device_id).first() - if not device: - device = Device( - device_id=vitals.device_id, - ip_address=vitals.ip_address or "remote-push", - status="active" - ) - db.add(device) - else: - if vitals.ip_address: - device.ip_address = vitals.ip_address - device.status = "active" - device.last_seen = datetime.now(timezone.utc) - - # 2. Patient tracking - patient = db.query(Patient).filter(Patient.patient_id == vitals.patient_id).first() - if not patient: - patient = Patient(patient_id=vitals.patient_id, name="Unknown") - db.add(patient) - - # 3. Create vital reading - from models import VitalReading as VR - reading = VR( - device_id=vitals.device_id, - patient_id=vitals.patient_id, - timestamp=vitals.timestamp, - heart_rate=vitals.heart_rate, - spo2=vitals.spo2, - systolic_bp=vitals.systolic_bp, - diastolic_bp=vitals.diastolic_bp, - map_bp=vitals.map_bp, - respiratory_rate=vitals.respiratory_rate, - temperature=vitals.temperature, - transmitted=True # Already received = transmitted - ) - db.add(reading) - db.commit() - db.refresh(reading) - - # 4. Broadcast to WebSocket clients - await ws_manager.broadcast_vitals(vitals.model_dump(mode="json")) - - logger.info(f"Push-vitals received for device {vitals.device_id}") - - return { - "status": "ok", - "reading_id": reading.id, - "device_id": vitals.device_id, - "patient_id": vitals.patient_id - } - - except HTTPException: - raise - except Exception as e: - logger.error(f"Push-vitals error: {e}") - db.rollback() - raise HTTPException(status_code=500, detail=f"Failed to store vitals: {str(e)}") diff --git a/fiveparaminte-main/fiveparaminte-main/run.sh b/fiveparaminte-main/fiveparaminte-main/run.sh deleted file mode 100644 index 58e9f3e..0000000 --- a/fiveparaminte-main/fiveparaminte-main/run.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -set -e - -echo "=== Mindray HL7 Forwarder ===" - -# 1. Create a virtual environment if it doesn't exist -if [ ! -d "venv" ]; then - echo "Creating Python virtual environment..." - python3 -m venv venv -fi - -# 2. Activate the virtual environment -source venv/bin/activate - -# 3. Install dependencies quietly -echo "Checking and installing dependencies..." -pip install -r requirements.txt -q - -# 4. Start the server -echo "Starting the application..." -python main.py diff --git a/fiveparaminte-main/fiveparaminte-main/runtime.txt b/fiveparaminte-main/fiveparaminte-main/runtime.txt deleted file mode 100644 index 44f8fbe..0000000 --- a/fiveparaminte-main/fiveparaminte-main/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.12.0 diff --git a/fiveparaminte-main/fiveparaminte-main/schemas.py b/fiveparaminte-main/fiveparaminte-main/schemas.py deleted file mode 100644 index 6a8e69e..0000000 --- a/fiveparaminte-main/fiveparaminte-main/schemas.py +++ /dev/null @@ -1,37 +0,0 @@ -from pydantic import BaseModel -from typing import Optional -from datetime import datetime - -class NormalizedVitals(BaseModel): - device_id: str - patient_id: str - timestamp: datetime - ip_address: Optional[str] = None - heart_rate: Optional[float] = None - spo2: Optional[float] = None - systolic_bp: Optional[float] = None - diastolic_bp: Optional[float] = None - map_bp: Optional[float] = None - respiratory_rate: Optional[float] = None - temperature: Optional[float] = None - present_fields: Optional[list] = None - -class DeviceStatus(BaseModel): - device_id: str - ip_address: str - status: str - last_seen: datetime - - class Config: - from_attributes = True - -class TransmissionLogResponse(BaseModel): - id: int - reading_id: int - status: str - response_code: Optional[int] - error_message: Optional[str] - timestamp: datetime - - class Config: - from_attributes = True diff --git a/fiveparaminte-main/fiveparaminte-main/setup_service.sh b/fiveparaminte-main/fiveparaminte-main/setup_service.sh deleted file mode 100755 index ea3a2e6..0000000 --- a/fiveparaminte-main/fiveparaminte-main/setup_service.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -# Exit on error -set -e - -SERVICE_NAME="contec-forwarder" -SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" -WORKING_DIR="/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main" -PYTHON_EXEC="${WORKING_DIR}/venv/bin/python" -SCRIPT_PATH="${WORKING_DIR}/main.py" - -echo "=== Creating systemd service file ===" -sudo bash -c "cat > ${SERVICE_FILE}" < {}); - this.onStatusChange = config.onStatusChange || (() => {}); - this.onError = config.onError || (() => {}); - - // State management - this.ws = null; - this.pollTimer = null; - this.status = 'idle'; - this.reconnectAttempts = 0; - this.maxReconnectAttempts = 5; - this.reconnectDelay = 1000; - this.isStarted = false; - this.lastVitalsTime = 0; - } - - /** - * Start listening for vital signs. - */ - start() { - if (this.isStarted) return; - this.isStarted = true; - this.reconnectAttempts = 0; - this._setStatus('connecting'); - this._connectWebSocket(); - } - - /** - * Stop listening and clean up all connections/timers. - */ - stop() { - this.isStarted = false; - this._clearPollTimer(); - this._closeWebSocket(); - this._setStatus('idle'); - } - - /** - * Change current status and trigger callback. - * @private - */ - _setStatus(newStatus) { - if (this.status !== newStatus) { - this.status = newStatus; - this.onStatusChange(newStatus); - } - } - - /** - * Parse the base URL to construct the WS URL. - * @private - */ - _getWebSocketUrl() { - const wsProto = this.baseUrl.startsWith('https') ? 'wss' : 'ws'; - const cleanUrl = this.baseUrl.replace(/^(https?:\/\/)/, ''); - return `${wsProto}://${cleanUrl}/ws/vitals`; - } - - /** - * Open WebSocket connection. - * @private - */ - _connectWebSocket() { - this._clearPollTimer(); - const wsUrl = this._getWebSocketUrl(); - - try { - this.ws = new WebSocket(wsUrl); - - this.ws.onopen = () => { - console.log('ContecVitalsClient: WebSocket connected'); - this._setStatus('connected'); - this.reconnectAttempts = 0; - this.reconnectDelay = 1000; - }; - - this.ws.onmessage = (event) => { - try { - const data = JSON.parse(event.data); - this._processIncomingVitals(data); - } catch (err) { - this.onError(new Error('Failed to parse incoming WS message: ' + err.message)); - } - }; - - this.ws.onerror = (err) => { - this.onError(err); - }; - - this.ws.onclose = (event) => { - this.ws = null; - if (!this.isStarted) return; - - console.log(`ContecVitalsClient: WebSocket closed (code: ${event.code})`); - - // Attempt reconnection - if (this.reconnectAttempts < this.maxReconnectAttempts) { - this.reconnectAttempts++; - const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1); - console.log(`ContecVitalsClient: Reconnecting in ${delay}ms (Attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})...`); - this._setStatus('connecting'); - setTimeout(() => { - if (this.isStarted) this._connectWebSocket(); - }, delay); - } else { - // Exceeded Max WebSocket retries -> Fallback to HTTP Polling - console.log('ContecVitalsClient: WebSocket connection limit exceeded. Falling back to HTTP polling.'); - this._startPolling(); - } - }; - } catch (err) { - this.onError(err); - this._startPolling(); - } - } - - /** - * Close WebSocket connection cleanly. - * @private - */ - _closeWebSocket() { - if (this.ws) { - // Remove event listeners to prevent onclose reconnect logic - this.ws.onopen = null; - this.ws.onmessage = null; - this.ws.onerror = null; - this.ws.onclose = null; - try { - this.ws.close(); - } catch (e) {} - this.ws = null; - } - } - - /** - * Start HTTP Polling. - * @private - */ - _startPolling() { - this._closeWebSocket(); - this._setStatus('polling'); - this._poll(); - } - - /** - * Perform single HTTP poll. - * @private - */ - async _poll() { - if (!this.isStarted || this.status !== 'polling') return; - - try { - const url = `${this.baseUrl}/api/latest-readings?limit=1` + (this.deviceId ? `&device_id=${encodeURIComponent(this.deviceId)}` : ''); - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const readings = await response.json(); - if (Array.isArray(readings) && readings.length > 0) { - this._processIncomingVitals(readings[0]); - } - } catch (err) { - console.error('ContecVitalsClient polling error:', err.message); - this.onError(err); - } - - // Schedule next poll - this.pollTimer = setTimeout(() => this._poll(), this.pollingInterval); - } - - /** - * Clear the HTTP polling timer. - * @private - */ - _clearPollTimer() { - if (this.pollTimer) { - clearTimeout(this.pollTimer); - this.pollTimer = null; - } - } - - /** - * Normalizes and emits the vitals data payload. - * @private - */ - _processIncomingVitals(data) { - if (!data) return; - - // Filter by device if configured - if (this.deviceId && data.device_id !== this.deviceId) { - return; - } - - // Normalize property names and types - const normalized = { - deviceId: data.device_id, - patientId: data.patient_id, - timestamp: data.timestamp, - heartRate: typeof data.heart_rate === 'number' ? Math.round(data.heart_rate) : null, - spo2: typeof data.spo2 === 'number' ? Math.round(data.spo2) : null, - temperature: typeof data.temperature === 'number' ? parseFloat(data.temperature.toFixed(1)) : null, - systolicBp: typeof data.systolic_bp === 'number' ? Math.round(data.systolic_bp) : null, - diastolicBp: typeof data.diastolic_bp === 'number' ? Math.round(data.diastolic_bp) : null, - mapBp: typeof data.map_bp === 'number' ? Math.round(data.map_bp) : null, - respiratoryRate: typeof data.respiratory_rate === 'number' ? Math.round(data.respiratory_rate) : null, - }; - - // Calculate BP display string helper - normalized.bloodPressureDisplay = (normalized.systolicBp && normalized.diastolicBp) - ? `${normalized.systolicBp}/${normalized.diastolicBp}` - : null; - - this.onVitals(normalized); - } -} - -// Export for ES6/Node compatibility -if (typeof module !== 'undefined' && module.exports) { - module.exports = ContecVitalsClient; -} else if (typeof window !== 'undefined') { - window.ContecVitalsClient = ContecVitalsClient; -} diff --git a/fiveparaminte-main/fiveparaminte-main/static/dashboard.html b/fiveparaminte-main/fiveparaminte-main/static/dashboard.html deleted file mode 100644 index aa380d4..0000000 --- a/fiveparaminte-main/fiveparaminte-main/static/dashboard.html +++ /dev/null @@ -1,1631 +0,0 @@ - - - - - - Patient Vital Signs Monitor — Contec CMS7000PLUS / CMS8500 - - - - - - - -
-
- -
- - - - - -
- -
-
-
-
- - - -
- Heart Rate -
- No Data -
-
-
---
-
-
- -
- -
- - -
-
-
-
- - - - - - -
- SpO₂ -
- No Data -
-
-
---
-
-
- -
- -
- - -
-
-
-
- - - -
- Blood Pressure -
- No Data -
-
-
---
-
-
- -
- -
- - -
-
-
-
- - - - - -
- Respiratory Rate -
- No Data -
-
-
---
-
-
- -
- -
- - -
-
-
-
- - - - -
- Temperature -
- No Data -
-
-
---
-
-
- -
- -
- - -
-
-
-
- - - -
- Mean Arterial Pressure -
- No Data -
-
-
---
-
-
- -
- -
-
- - -
-
- Model: - CMS7000PLUS -
-
-
- Device: - Waiting... -
-
-
- Patient: - Waiting... -
-
-
- Readings: - 0 -
-
-
- Last Update: - Never -
-
-
- API: - Checking... -
-
-
- - - - diff --git a/fiveparaminte-main/fiveparaminte-main/terminal_display.py b/fiveparaminte-main/fiveparaminte-main/terminal_display.py deleted file mode 100644 index fb04af9..0000000 --- a/fiveparaminte-main/fiveparaminte-main/terminal_display.py +++ /dev/null @@ -1,246 +0,0 @@ -""" -Terminal Display for Live Vital Signs -====================================== -Provides a rich, color-coded terminal dashboard showing real-time -vital signs received from patient monitors. - -Works with both Mindray uMEC 100 and Contec CMS9200PLUS monitors. -""" - -import logging -from datetime import datetime, timezone -from typing import Optional -from schemas import NormalizedVitals - -logger = logging.getLogger(__name__) - -# Try to use 'rich' for beautiful output, fall back to basic print -try: - from rich.console import Console - from rich.table import Table - from rich.panel import Panel - from rich.text import Text - from rich.layout import Layout - from rich.live import Live - from rich import box - HAS_RICH = True -except ImportError: - HAS_RICH = False - logger.info("'rich' library not installed. Using basic terminal output.") - - -# === Normal Range Definitions === -VITAL_RANGES = { - "heart_rate": {"low": 60, "high": 100, "critical_low": 40, "critical_high": 150, "unit": "bpm", "label": "Heart Rate"}, - "spo2": {"low": 95, "high": 100, "critical_low": 90, "critical_high": 101, "unit": "%", "label": "SpO2"}, - "systolic_bp": {"low": 90, "high": 140, "critical_low": 70, "critical_high": 180, "unit": "mmHg", "label": "BP Systolic"}, - "diastolic_bp": {"low": 60, "high": 90, "critical_low": 40, "critical_high": 120, "unit": "mmHg", "label": "BP Diastolic"}, - "map_bp": {"low": 70, "high": 105, "critical_low": 60, "critical_high": 130, "unit": "mmHg", "label": "MAP"}, - "respiratory_rate": {"low": 12, "high": 20, "critical_low": 8, "critical_high": 30, "unit": "/min", "label": "Resp Rate"}, - "temperature": {"low": 36.1,"high": 37.2,"critical_low": 35.0,"critical_high": 39.0,"unit": "C", "label": "Temperature"}, -} - - -def get_vital_color(param_name: str, value: Optional[float]) -> str: - """Return a color name based on whether the value is normal, warning, or critical.""" - if value is None: - return "dim" - - ranges = VITAL_RANGES.get(param_name) - if not ranges: - return "white" - - if value <= ranges["critical_low"] or value >= ranges["critical_high"]: - return "bold red" - elif value < ranges["low"] or value > ranges["high"]: - return "yellow" - else: - return "bold green" - - -def format_vital_value(param_name: str, value: Optional[float]) -> str: - """Format a vital sign value with its unit.""" - if value is None: - return "---" - - ranges = VITAL_RANGES.get(param_name, {}) - unit = ranges.get("unit", "") - - # Format based on typical precision - if param_name == "temperature": - return f"{value:.1f} {unit}" - elif param_name == "spo2": - return f"{value:.0f} {unit}" - else: - return f"{value:.0f} {unit}" - - -class TerminalDisplay: - """Manages the live terminal display of vital signs.""" - - def __init__(self): - self._latest_vitals: dict[str, NormalizedVitals] = {} # keyed by device_id - self._last_update: Optional[datetime] = None - self._connection_count: int = 0 - self._message_count: int = 0 - - if HAS_RICH: - self.console = Console() - else: - self.console = None - - def update_vitals(self, vitals: NormalizedVitals): - """Update the display with new vital signs data.""" - self._latest_vitals[vitals.device_id] = vitals - self._last_update = datetime.now(timezone.utc) - self._message_count += 1 - self._print_vitals(vitals) - - def connection_opened(self, client_ip: str, port: int): - """Track a new connection.""" - self._connection_count += 1 - if HAS_RICH: - self.console.print( - f" [bold cyan]Connected:[/] {client_ip} on port {port} " - f"(total connections: {self._connection_count})" - ) - else: - print(f" Connected: {client_ip} on port {port}") - - def connection_closed(self, client_ip: str, port: int): - """Track a closed connection.""" - if HAS_RICH: - self.console.print(f" [dim]Disconnected:[/dim] {client_ip} on port {port}") - else: - print(f" Disconnected: {client_ip} on port {port}") - - def _print_vitals(self, vitals: NormalizedVitals): - """Print vital signs to terminal.""" - if HAS_RICH: - self._print_vitals_rich(vitals) - else: - self._print_vitals_basic(vitals) - - def _print_vitals_rich(self, vitals: NormalizedVitals): - """Print vital signs using rich library for beautiful output.""" - table = Table( - title=f"Live Vitals -- Device: {vitals.device_id} | Patient: {vitals.patient_id}", - box=box.HEAVY_EDGE, - show_header=True, - header_style="bold white on dark_blue", - title_style="bold white", - border_style="blue", - padding=(0, 2), - ) - - table.add_column("Parameter", style="bold white", width=16) - table.add_column("Value", justify="right", width=14) - table.add_column("Status", justify="center", width=10) - table.add_column("Normal Range", justify="center", style="dim", width=14) - - vital_params = [ - ("heart_rate", vitals.heart_rate), - ("spo2", vitals.spo2), - ("systolic_bp", vitals.systolic_bp), - ("diastolic_bp", vitals.diastolic_bp), - ("map_bp", vitals.map_bp), - ("respiratory_rate", vitals.respiratory_rate), - ("temperature", vitals.temperature), - ] - - for param_name, value in vital_params: - ranges = VITAL_RANGES.get(param_name, {}) - color = get_vital_color(param_name, value) - formatted = format_vital_value(param_name, value) - label = ranges.get("label", param_name) - - # Status indicator - if value is None: - status = "[dim]-[/dim]" - elif color == "bold green": - status = "[green]Normal[/green]" - elif color == "yellow": - status = "[yellow]Warning[/yellow]" - elif color == "bold red": - status = "[red]ALERT[/red]" - else: - status = "[dim]-[/dim]" - - # Normal range - low = ranges.get("low", "?") - high = ranges.get("high", "?") - unit = ranges.get("unit", "") - range_str = f"{low}-{high} {unit}" - - table.add_row( - label, - f"[{color}]{formatted}[/{color}]", - status, - range_str, - ) - - self.console.print() - self.console.print(table) - - # Timestamp footer - time_str = vitals.timestamp.strftime("%Y-%m-%d %H:%M:%S UTC") if vitals.timestamp else "N/A" - self.console.print( - f" [dim]Last update: {time_str} | " - f"Messages received: {self._message_count} | " - f"Active connections: {self._connection_count}[/dim]" - ) - - def _print_vitals_basic(self, vitals: NormalizedVitals): - """Fallback plain-text vital signs display.""" - print("\n" + "=" * 65) - print(f" LIVE VITALS — Device: {vitals.device_id} | Patient: {vitals.patient_id}") - print("=" * 65) - - vital_params = [ - ("Heart Rate", vitals.heart_rate, "bpm"), - ("SpO2", vitals.spo2, "%"), - ("BP Systolic", vitals.systolic_bp, "mmHg"), - ("BP Diastolic",vitals.diastolic_bp, "mmHg"), - ("MAP", vitals.map_bp, "mmHg"), - ("Resp Rate", vitals.respiratory_rate, "/min"), - ("Temperature", vitals.temperature, "C"), - ] - - for label, value, unit in vital_params: - if value is not None: - if "temp" in label.lower(): - val_str = f"{value:.1f} {unit}" - else: - val_str = f"{value:.0f} {unit}" - - # Simple text status - ranges = VITAL_RANGES.get(label.lower().replace(" ", "_"), {}) - if ranges: - if value < ranges.get("critical_low", 0) or value > ranges.get("critical_high", 999): - status = " *** CRITICAL ***" - elif value < ranges.get("low", 0) or value > ranges.get("high", 999): - status = " ! WARNING" - else: - status = " OK" - else: - status = "" - - print(f" {label:<16} {val_str:>12}{status}") - else: - print(f" {label:<16} {'---':>12}") - - time_str = vitals.timestamp.strftime("%H:%M:%S") if vitals.timestamp else "N/A" - print(f"\n Time: {time_str} | Messages: {self._message_count}") - print("-" * 65) - - -# Global singleton -_display: Optional[TerminalDisplay] = None - - -def get_terminal_display() -> TerminalDisplay: - """Get or create the global terminal display instance.""" - global _display - if _display is None: - _display = TerminalDisplay() - return _display diff --git a/fiveparaminte-main/routers/__init__.py b/fiveparaminte-main/routers/__init__.py deleted file mode 100644 index 5f24585..0000000 --- a/fiveparaminte-main/routers/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Python package marker diff --git a/fiveparaminte-main/routers/dashboard.py b/fiveparaminte-main/routers/dashboard.py deleted file mode 100644 index 6e4acd0..0000000 --- a/fiveparaminte-main/routers/dashboard.py +++ /dev/null @@ -1,525 +0,0 @@ -import asyncio -import json -import logging -import socket -from typing import List, Optional -from datetime import datetime, timezone - -from fastapi import APIRouter, Depends, HTTPException, WebSocket, WebSocketDisconnect, Request -from fastapi.responses import HTMLResponse -from sqlalchemy.orm import Session -from database import get_db -from models import Device, VitalReading, TransmissionLog - -logger = logging.getLogger(__name__) -router = APIRouter() - -# === WebSocket Manager for real-time vitals push === -class VitalsWebSocketManager: - """Manages WebSocket connections for live vitals streaming.""" - - def __init__(self): - self.active_connections: List[WebSocket] = [] - - async def connect(self, websocket: WebSocket): - await websocket.accept() - self.active_connections.append(websocket) - logger.info(f"WebSocket client connected ({len(self.active_connections)} active)") - - def disconnect(self, websocket: WebSocket): - if websocket in self.active_connections: - self.active_connections.remove(websocket) - logger.info(f"WebSocket client disconnected ({len(self.active_connections)} active)") - - async def broadcast_vitals(self, vitals_data: dict): - """Send vitals to all connected WebSocket clients.""" - dead = [] - for connection in self.active_connections: - try: - await connection.send_json(vitals_data) - except Exception: - dead.append(connection) - for d in dead: - self.disconnect(d) - - -# Global singleton -ws_manager = VitalsWebSocketManager() - - -def get_ws_manager() -> VitalsWebSocketManager: - return ws_manager - - -# === Dashboard HTML Route === -@router.get("/dashboard", response_class=HTMLResponse) -def serve_dashboard(): - """Serve the vitals monitoring dashboard.""" - import os - dashboard_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "static", "dashboard.html") - try: - with open(dashboard_path, "r", encoding="utf-8") as f: - return HTMLResponse(content=f.read()) - except FileNotFoundError: - return HTMLResponse(content="

Dashboard not found

static/dashboard.html is missing

", status_code=404) - - -# === API Endpoints === -@router.get("/health") -def health_check(): - return {"status": "ok", "service": "Patient Monitor Vital Signs Forwarder"} - -@router.get("/status") -def get_system_status(request: Request, db: Session = Depends(get_db)): - total_devices = db.query(Device).count() - active_devices = db.query(Device).filter(Device.status == "active").count() - total_readings = db.query(VitalReading).count() - pending_transmissions = db.query(VitalReading).filter(VitalReading.transmitted == False).count() - active_ports = getattr(request.app.state, "active_ports", []) - - return { - "total_devices": total_devices, - "active_devices": active_devices, - "total_readings_stored": total_readings, - "pending_transmissions": pending_transmissions, - "active_ports": active_ports - } - -@router.get("/devices") -def list_devices(db: Session = Depends(get_db)): - devices = db.query(Device).all() - now = datetime.now(timezone.utc) - updated = False - for device in devices: - last_seen = device.last_seen - if last_seen.tzinfo is None: - last_seen = last_seen.replace(tzinfo=timezone.utc) - - # If not seen for more than 15 seconds, mark offline - if (now - last_seen).total_seconds() > 15.0: - if device.status != "offline": - device.status = "offline" - updated = True - else: - if device.status != "active": - device.status = "active" - updated = True - if updated: - db.commit() - return devices - -@router.get("/latest-readings") -def get_latest_readings(device_id: str = None, limit: int = 10, db: Session = Depends(get_db)): - query = db.query(VitalReading) - if device_id: - query = query.filter(VitalReading.device_id == device_id) - readings = query.order_by(VitalReading.timestamp.desc()).limit(limit).all() - return readings - -@router.get("/readings") -def get_readings(device_id: str = None, patient_id: str = None, limit: int = 50, db: Session = Depends(get_db)): - query = db.query(VitalReading) - if device_id: - query = query.filter(VitalReading.device_id == device_id) - if patient_id: - query = query.filter(VitalReading.patient_id == patient_id) - - return query.order_by(VitalReading.timestamp.desc()).limit(limit).all() - -@router.get("/transmission-logs") -def get_transmission_logs(limit: int = 50, db: Session = Depends(get_db)): - logs = db.query(TransmissionLog).order_by(TransmissionLog.timestamp.desc()).limit(limit).all() - return logs - -@router.post("/test-api") -def test_target_api_connection(): - """ - Endpoint to trigger a test POST to the target API. - """ - from config import settings - return { - "message": "Test triggered", - "target_url": settings.target_api_url - } - - -@router.get("/network-info") -def get_network_info(): - """ - Returns this PC's local IP addresses. - Useful for configuring the CMS7000PLUS monitor's CMS Server IP. - """ - from config import settings - ips = [] - try: - for info in socket.getaddrinfo(socket.gethostname(), None, socket.AF_INET): - ip = info[4][0] - if ip not in ips and not ip.startswith('127.'): - ips.append(ip) - except Exception: - pass - # Find primary IP - primary_ip = None - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect(('8.8.8.8', 80)) - primary_ip = s.getsockname()[0] - s.close() - if primary_ip not in ips: - ips.insert(0, primary_ip) - except Exception: - pass - - return { - "hostname": socket.gethostname(), - "ip_addresses": ips, - "primary_ip": primary_ip or (ips[0] if ips else None), - "monitor_model": settings.monitor_model, - "contec_ports": settings.contec_ports, - "instructions": [ - f"1. Connect your {settings.monitor_model} to this PC via Ethernet", - f"2. On the monitor: System Setup → Network → CMS Settings", - f"3. Set Server IP to: {primary_ip or 'your PC IP'}", - f"4. Set Server Port to: {settings.contec_ports[0] if settings.contec_ports else 511}", - f"5. Enable the CMS connection", - f"6. The dashboard will show data automatically" - ] - } - - -# === Push Vitals Endpoint (for local-to-cloud sync) === -from schemas import NormalizedVitals -from models import Patient - - -@router.post("/push-vitals") -async def push_vitals(vitals: NormalizedVitals, api_key: str = None, db: Session = Depends(get_db)): - """ - Receive vitals pushed from a local instance and store + broadcast them. - - This enables the 'split architecture' where: - - Local instance receives data from physical monitors via TCP - - Local instance POSTs vitals here for cloud storage & dashboard access - - Optional: pass ?api_key=YOUR_KEY for basic authentication. - """ - from config import settings - - # Optional API key check - if settings.api_token and api_key != settings.api_token: - if settings.api_token: # Only enforce if a token is configured - raise HTTPException(status_code=401, detail="Invalid or missing api_key") - - try: - # 1. Device tracking - device = db.query(Device).filter(Device.device_id == vitals.device_id).first() - if not device: - device = Device( - device_id=vitals.device_id, - ip_address=vitals.ip_address or "remote-push", - status="active" - ) - db.add(device) - else: - if vitals.ip_address: - device.ip_address = vitals.ip_address - device.status = "active" - device.last_seen = datetime.now(timezone.utc) - - # 2. Patient tracking - from models import VitalReading as VR - if vitals.patient_id == "UNKNOWN": - last_known_reading = ( - db.query(VR) - .filter(VR.device_id == vitals.device_id) - .filter(VR.patient_id != "UNKNOWN") - .order_by(VR.timestamp.desc()) - .first() - ) - if last_known_reading: - vitals.patient_id = last_known_reading.patient_id - - patient = db.query(Patient).filter(Patient.patient_id == vitals.patient_id).first() - if not patient: - patient = Patient( - patient_id=vitals.patient_id, - mrn=vitals.patient_id, - name=vitals.patient_name or "Unknown", - gender=vitals.patient_gender, - dob=vitals.patient_dob, - bed_id=vitals.bed_id, - ) - db.add(patient) - else: - if vitals.patient_name: - patient.name = vitals.patient_name - if vitals.patient_gender: - patient.gender = vitals.patient_gender - if vitals.patient_dob: - patient.dob = vitals.patient_dob - if vitals.bed_id: - patient.bed_id = vitals.bed_id - - # 3. Create vital reading - from models import VitalReading as VR - reading = VR( - device_id=vitals.device_id, - patient_id=vitals.patient_id, - timestamp=vitals.timestamp, - heart_rate=vitals.heart_rate, - spo2=vitals.spo2, - systolic_bp=vitals.systolic_bp, - diastolic_bp=vitals.diastolic_bp, - map_bp=vitals.map_bp, - respiratory_rate=vitals.respiratory_rate, - temperature=vitals.temperature, - transmitted=True # Already received = transmitted - ) - db.add(reading) - db.commit() - db.refresh(reading) - - # 4. Broadcast to WebSocket clients - await ws_manager.broadcast_vitals(vitals.model_dump(mode="json")) - - logger.info(f"Push-vitals received for device {vitals.device_id}") - - return { - "status": "ok", - "reading_id": reading.id, - "device_id": vitals.device_id, - "patient_id": vitals.patient_id - } - - except HTTPException: - raise - except Exception as e: - logger.error(f"Push-vitals error: {e}") - db.rollback() - raise HTTPException(status_code=500, detail=f"Failed to store vitals: {str(e)}") - - -# === Patient-to-Monitor Matching Endpoint === -def _normalize_name(s: str) -> str: - """Lowercase, strip punctuation and extra spaces for fuzzy name comparison.""" - import re - if not s: - return "" - return re.sub(r"[^a-z0-9\s]", "", s.lower()).split() - -def _normalize_dob(dob: str) -> str: - """Normalize DOB to YYYYMMDD regardless of input format (YYYY-MM-DD / YYYYMMDD / DD-MM-YYYY).""" - if not dob: - return "" - dob = dob.strip().replace("/", "-") - if len(dob) == 8 and dob.isdigit(): - return dob # already YYYYMMDD - parts = dob.split("-") - if len(parts) == 3: - if len(parts[0]) == 4: # YYYY-MM-DD - return "".join(parts) - elif len(parts[2]) == 4: # DD-MM-YYYY - return parts[2] + parts[1] + parts[0] - return dob.replace("-", "") - -def _gender_code(g: str) -> str: - """Return single-letter gender code: M / F / U.""" - if not g: - return "" - g = g.strip().upper() - if g in ("M", "MALE"): - return "M" - if g in ("F", "FEMALE"): - return "F" - return "U" - -def _calculate_age(dob_str: str) -> Optional[int]: - """Calculate age from YYYYMMDD string.""" - if not dob_str: - return None - normalized = _normalize_dob(dob_str) - if len(normalized) != 8 or not normalized.isdigit(): - return None - try: - birth_year = int(normalized[:4]) - birth_month = int(normalized[4:6]) - birth_day = int(normalized[6:]) - today = datetime.now() - return today.year - birth_year - ((today.month, today.day) < (birth_month, birth_day)) - except Exception: - return None - -@router.post("/register-patient") -def register_patient( - mrn: str, - gender: str, - dob: str, - name: str = "Unknown", - bed_id: str = None, - device_id: str = None, - db: Session = Depends(get_db) -): - """ - Register or update patient demographics in the monitor database. - - Call this to seed patient data when the CMS monitor uses binary protocol - (which does not transmit demographics). - - Example: - POST /api/register-patient?mrn=09091102&gender=Male&dob=1960-06-22&name=Shahil - """ - if not mrn: - raise HTTPException(status_code=400, detail="MRN is required") - - clean_mrn = mrn.strip().upper() - - # Check if patient already exists - patient = db.query(Patient).filter( - (Patient.mrn == clean_mrn) | (Patient.patient_id == clean_mrn) - ).first() - - if patient: - # Update existing record - patient.mrn = clean_mrn - patient.name = name or patient.name - patient.gender = gender or patient.gender - patient.dob = dob or patient.dob - if bed_id: - patient.bed_id = bed_id - else: - # Create new patient record - patient = Patient( - patient_id=clean_mrn, - mrn=clean_mrn, - name=name, - gender=gender, - dob=dob, - bed_id=bed_id, - ) - db.add(patient) - - # If device_id is provided, also create a vital reading to link patient to device - if device_id: - device = db.query(Device).filter(Device.device_id == device_id).first() - if device: - reading = VitalReading( - device_id=device_id, - patient_id=clean_mrn, - timestamp=datetime.now(timezone.utc), - transmitted=True, - ) - db.add(reading) - - db.commit() - db.refresh(patient) - - return { - "status": "ok", - "patient_id": patient.patient_id, - "mrn": patient.mrn, - "name": patient.name, - "gender": patient.gender, - "dob": patient.dob, - "bed_id": patient.bed_id, - } - -@router.get("/match-patient") -def match_patient( - mrn: str = None, - gender: str = None, - dob: str = None, - age: int = None, - db: Session = Depends(get_db) -): - """ - Match incoming patient demographics to an active Contec monitor. - Uses 4-point verification: MRN, Gender, DOB, Age. - - Call this from the dashboard iframe URL: - /api/dashboard?minimal=true&mrn=MRN001&gender=M&dob=19900115&age=36 - - Returns: - { matched: true/false, device_id, patient_id, bed_id, device_status, ... } - """ - if not mrn: - return {"matched": False, "reason": "No MRN supplied"} - - # Normalize incoming params - in_mrn = (mrn or "").strip().upper() - in_gender = _gender_code(gender or "") - in_dob = _normalize_dob(dob or "") - in_age = age - now = datetime.now(timezone.utc) - - # Fetch or auto-register patient based on MRN only (essential to survive Render cloud SQLite wipeouts) - matched_patient = db.query(Patient).filter( - (Patient.mrn == in_mrn) | (Patient.patient_id == in_mrn) - ).first() - - if not matched_patient: - matched_patient = Patient( - patient_id=in_mrn, - mrn=in_mrn, - name="Shahil Kumar", - gender=gender or "Male", - dob=dob or "1960-06-22", - ) - db.add(matched_patient) - db.commit() - db.refresh(matched_patient) - - # Find the most recent vital reading for this patient - latest = ( - db.query(VitalReading) - .filter(VitalReading.patient_id == matched_patient.patient_id) - .order_by(VitalReading.timestamp.desc()) - .first() - ) - - # Fallback: If this patient has no readings yet, check if there is an active device - # transmitting data under 'UNKNOWN' in the last 15 seconds. This links binary monitors to the verified patient. - if not latest: - active_unknown_reading = ( - db.query(VitalReading) - .filter(VitalReading.patient_id == "UNKNOWN") - .order_by(VitalReading.timestamp.desc()) - .first() - ) - if active_unknown_reading: - reading_time = active_unknown_reading.timestamp - if reading_time.tzinfo is None: - reading_time = reading_time.replace(tzinfo=timezone.utc) - if (now - reading_time).total_seconds() < 15.0: - latest = active_unknown_reading - - if not latest: - return { - "matched": True, - "patient_id": matched_patient.patient_id, - "device_id": None, - "bed_id": matched_patient.bed_id, - "reason": "Patient found/created, but no active monitor data received yet" - } - - # Get device status - device = db.query(Device).filter(Device.device_id == latest.device_id).first() - device_status = "unknown" - if device: - last_seen = device.last_seen - if last_seen.tzinfo is None: - last_seen = last_seen.replace(tzinfo=timezone.utc) - device_status = "active" if (now - last_seen).total_seconds() < 15 else "offline" - - return { - "matched": True, - "patient_id": matched_patient.patient_id, - "patient_name": matched_patient.name, - "patient_gender": matched_patient.gender, - "patient_dob": matched_patient.dob, - "device_id": latest.device_id, - "bed_id": matched_patient.bed_id, - "device_status": device_status, - "last_reading_at": latest.timestamp.isoformat() if latest.timestamp else None, - "match_score": 100, - } - diff --git a/fiveparaminte-main/scratch/analysis_findings.py b/fiveparaminte-main/scratch/analysis_findings.py deleted file mode 100644 index 5d57805..0000000 --- a/fiveparaminte-main/scratch/analysis_findings.py +++ /dev/null @@ -1,117 +0,0 @@ -# Findings summary and analysis artifact - -""" -=== COMPLETE PACKET STRUCTURE DECODED === - -From monitor image: ECG=88, SpO2=98, NIBP=110/67 (MAP=82), TEMP=disconnected - ---- 45-BYTE PACKET (Subtype 22) = REAL-TIME VITALS + NIBP --- -The 45-byte packet uses BIG-ENDIAN u16 format! -Bytes 14-19 contain the key vitals as individual bytes: - -Packet at index 147 (captured around the same time as the image): - Bytes 14-19: [3, 110, 0, 67, 0, 82] - - byte[14] = 3 → seconds (3) - byte[15] = 110 → NIBP Systolic = 110 ✅ (matches monitor 110) - byte[16] = 0 → high byte padding - byte[17] = 67 → NIBP Diastolic = 67 ✅ (matches monitor 67) - byte[18] = 0 → high byte padding - byte[19] = 82 → NIBP MAP = 82 ✅ (matches monitor 82) - -Earlier packet at index 3: - Bytes 14-19: [40, 123, 0, 69, 0, 83] - byte[15] = 123 → Not NIBP (too high for that reading) - -Wait - the readings CHANGED between packets. Let me check the full structure: - Index 3: bytes[15]=123, bytes[17]=69, bytes[19]=83 - Index 147: bytes[15]=110, bytes[17]=67, bytes[19]=82 - -The index 147 values perfectly match the monitor! -And index 3 was captured earlier when NIBP values may have been different (cuff measurement changes). - -Full 45-byte packet layout: - [0-1] Packet length (LE u16) = 45 - [2-3] Marker: 01 46 - [4-7] Sub-header - [8-9] Year (LE u16) = 2026 - [10] Month = 7 - [11] Day = 9 - [12] Hour = 18 (0x12) - [13] Minute = 42 (0x2a) or 47 (0x2f) - [14] Second = 40 (0x28) or 3 (0x03) - [15] NIBP Systolic (single byte!) - [16-17] NIBP Diastolic (BE u16, but high byte usually 0) - [18-19] NIBP MAP (BE u16, but high byte usually 0) - [20-21] Alarm limit: SpO2 HIGH (LE u16) = 156 → WAIT that's 0x9c = 156 - -Hmm, let me re-examine. Looking at bytes starting at offset 14: - Packet 147: [03, 6e, 00, 43, 00, 52, 00, 9c, 00, 5a, 00, 02, 00, 5a, 00, 32, 00, 02, 00, 6a, 00, 3c, 00, 02, ...] - - 0x6e=110, 0x43=67, 0x52=82 → These are NIBP values! - -So the structure from offset 14: - [14] Seconds - [15] NIBP Systolic = 110 - [16] 0x00 - [17] NIBP Diastolic = 67 - [18] 0x00 - [19] NIBP MAP = 82 - [20-21] 0x009c = 156 (HR alarm HIGH) - [22-23] 0x005a = 90 (HR alarm LOW) - [24-25] 0x0002 = 2 (flag) - [26-27] 0x005a = 90 (SpO2 alarm...) - [28-29] 0x0032 = 50 (SpO2 alarm LOW) - [30-31] 0x0002 = 2 (flag) - [32-33] 0x006a = 106 (Resp alarm HIGH?) - [34-35] 0x003c = 60 (Resp alarm LOW?) - [36-37] 0x0002 = 2 (flag) - ---- 286-BYTE PACKET (Subtype 21) = WAVEFORM + SpO2/HR SUMMARY --- - [264-265] SpO2 PR (pulse rate from SpO2 sensor) - changes: 255→98→99 - This is NOT ECG HR, it's the SpO2 pulse rate! - [266-267] ECG HR: 9999 (sentinel = ECG disconnected or not reporting HR via ECG) - [268-269] 100 = SpO2 HIGH alarm limit (NOT live SpO2!) - [270-271] 90 = SpO2 LOW alarm limit - [272-273] 2 = flag - [274-275] 120 = ECG HR HIGH alarm limit - [276-277] 50 = ECG HR LOW alarm limit - [278-279] 1 = flag - -So offset 264 in the 286-byte packet gives us: - SpO2 Pulse Rate (which equals SpO2% when sensor is connected) - -But WAIT - the value 98 at offset 264 matches the SpO2 value (98%), not HR! -And ECG HR (88) is NOT in this packet at all. - -Let me check: at index 74, offset 264 = 98, which matches SpO2 = 98%. -At index 186, offset 264 = 99, but the SpO2 was still 98 on monitor... - -Actually, offset 264 could be the SpO2 Pulse Rate (PR), which is the heart rate -derived from the SpO2 sensor. When ECG is also connected, the ECG HR is shown -separately. But the PR from SpO2 sensor = 98 is close to the SpO2% = 98. - -Hmm, actually both the SpO2 percentage AND the pulse rate from the SpO2 sensor -can have similar values. We need to figure out which is which. - ---- 56-BYTE PACKET (Subtype 23) = FLOAT32 NIBP/TEMP --- - [8-11] f32=9999.0 → NIBP Systolic (sentinel = no measurement) - [12-15] f32=9999.0 → NIBP Diastolic (sentinel) - [16-19] f32=9999.0 → NIBP MAP (sentinel) - [20-23] f32=39.0 → TEMP alarm HIGH limit (NOT actual temp!) - [24-27] f32=36.0 → TEMP alarm LOW limit (NOT actual temp!) - ---- 989-BYTE PACKET (Subtype 20) = Full waveform, no vitals in tail --- - No vital sign values found in this packet. - -=== CONCLUSIONS === -1. The 286-byte packet at offset 264 contains SpO2 PR (pulse rate), NOT ECG HR -2. ECG HR (88 bpm) is NOT transmitted in any of these packets! - The ECG HR is only available on the monitor's own display. -3. NIBP values (110/67/82) are in the 45-byte packet at bytes 15/17/19 -4. Temperature 39.0 in the 56-byte packet is the ALARM HIGH limit, not actual temp -5. The actual temperature value is NOT transmitted (temp probe disconnected) -6. SpO2 percentage is NOT directly transmitted - only the SpO2 PR is at offset 264 - (but these are often the same value when the sensor is working) -""" -print("Analysis complete - see code comments for findings") diff --git a/fiveparaminte-main/scratch/analyze_bp.py b/fiveparaminte-main/scratch/analyze_bp.py deleted file mode 100644 index 946c21a..0000000 --- a/fiveparaminte-main/scratch/analyze_bp.py +++ /dev/null @@ -1,11 +0,0 @@ -import re -from collections import Counter - -with open("/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/hl7_forwarder.log", "r") as f: - content = f.read() - -warnings = re.findall(r"unrecognized. Len: (\d+)", content) -lengths = [int(l) for l in warnings] -print("Unique unrecognized packet lengths and their frequencies:") -for length, count in Counter(lengths).most_common(): - print(f" Length {length}: {count} times") diff --git a/fiveparaminte-main/scratch/analyze_logs.py b/fiveparaminte-main/scratch/analyze_logs.py deleted file mode 100644 index 11570ee..0000000 --- a/fiveparaminte-main/scratch/analyze_logs.py +++ /dev/null @@ -1,39 +0,0 @@ -import re -import struct - -# Helper to read uint16 from bytes -def read_u16_le(data: bytes, offset: int) -> int: - if offset + 2 > len(data): - return None - return struct.unpack_from('= 5: - break - -print("\nSample of Len 45 packets:") -count = 0 -for len_str, hex_str in warnings: - if len_str == "45": - print(f" {hex_str}") - count += 1 - if count >= 5: - break diff --git a/fiveparaminte-main/scratch/check_active_connections.py b/fiveparaminte-main/scratch/check_active_connections.py deleted file mode 100644 index f02ddd0..0000000 --- a/fiveparaminte-main/scratch/check_active_connections.py +++ /dev/null @@ -1,19 +0,0 @@ -import psutil -import time - -print("Monitoring TCP connections for traffic from 202.114.4.114 for 15 seconds...") -monitor_ip = "202.114.4.114" -start = time.time() -found_any = False - -while time.time() - start < 15: - connections = psutil.net_connections(kind='tcp') - for conn in connections: - # Check if remote address matches the monitor IP - if conn.raddr and conn.raddr.ip == monitor_ip: - print(f"Connection detected: Local={conn.laddr.ip}:{conn.laddr.port}, Remote={conn.raddr.ip}:{conn.raddr.port}, Status={conn.status}") - found_any = True - time.sleep(0.5) - -if not found_any: - print("No TCP connections from 202.114.4.114 were detected during the 15-second window.") diff --git a/fiveparaminte-main/scratch/check_db_devices.py b/fiveparaminte-main/scratch/check_db_devices.py deleted file mode 100644 index 3fde8b7..0000000 --- a/fiveparaminte-main/scratch/check_db_devices.py +++ /dev/null @@ -1,18 +0,0 @@ -import sqlite3 - -def main(): - conn = sqlite3.connect("hl7_forwarder.db") - cursor = conn.cursor() - try: - cursor.execute("SELECT id, device_id, ip_address, status, last_seen FROM devices") - rows = cursor.fetchall() - print("=== Registered Devices ===") - for row in rows: - print(f"ID: {row[0]} | Device ID: {row[1]} | IP: {row[2]} | Status: {row[3]} | Last Seen: {row[4]}") - except Exception as e: - print("Error:", e) - finally: - conn.close() - -if __name__ == "__main__": - main() diff --git a/fiveparaminte-main/scratch/dissect_45.py b/fiveparaminte-main/scratch/dissect_45.py deleted file mode 100644 index d40c8aa..0000000 --- a/fiveparaminte-main/scratch/dissect_45.py +++ /dev/null @@ -1,56 +0,0 @@ -import struct - -def read_u16_le(data: bytes, offset: int) -> int: - if offset + 2 > len(data): - return None - return struct.unpack_from(' 8192: - consumed += 1 - else: - consumed += pkt_len - else: - consumed += 1 - -print(f"Found {len(packets)} 45-byte packets:") -seen_timestamps = set() -for p in packets: - # Decode timestamp - year = read_u16_le(p, 8) - month = p[10] - day = p[11] - hour = p[12] - minute = p[13] - second = p[14] - ts_str = f"{year:04d}-{month:02d}-{day:02d} {hour:02d}:{minute:02d}:{second:02d}" - - if ts_str in seen_timestamps: - continue - seen_timestamps.add(ts_str) - - # Let's decode all uint16 fields from offset 15 onwards - fields = [] - for offset in range(15, len(p) - 1, 2): - val = read_u16_le(p, offset) - fields.append(f"off{offset}:{val}") - - print(f"Timestamp: {ts_str} | Payload: {p[15:].hex()}") - print(" Decoded uint16s: " + ", ".join(fields)) diff --git a/fiveparaminte-main/scratch/dissect_56.py b/fiveparaminte-main/scratch/dissect_56.py deleted file mode 100644 index f58ef0a..0000000 --- a/fiveparaminte-main/scratch/dissect_56.py +++ /dev/null @@ -1,40 +0,0 @@ -import struct - -def read_f32_le(data: bytes, offset: int) -> float: - if offset + 4 > len(data): - return None - return struct.unpack_from(' 8192: - consumed += 1 - else: - consumed += pkt_len - else: - consumed += 1 - -print(f"Found {len(packets)} 56-byte packets:") -# Print the float32 values of the first packet at every possible offset -if packets: - p = packets[0] - print(f"Sample 56-byte packet: {p.hex()}") - for offset in range(8, len(p) - 3, 4): - val = read_f32_le(p, offset) - print(f" Offset {offset:02d}: {val}") diff --git a/fiveparaminte-main/scratch/dissect_packets.py b/fiveparaminte-main/scratch/dissect_packets.py deleted file mode 100644 index fd75bf1..0000000 --- a/fiveparaminte-main/scratch/dissect_packets.py +++ /dev/null @@ -1,87 +0,0 @@ -import struct - -def read_u16_le(data: bytes, offset: int) -> int: - if offset + 2 > len(data): - return None - return struct.unpack_from(' float: - if offset + 4 > len(data): - return None - return struct.unpack_from(' 8192: - consumed += 1 - continue - - if consumed + pkt_len <= len(stream): - packets.append(stream[consumed:consumed + pkt_len]) - consumed += pkt_len - else: - break - else: - consumed += 1 - -print(f"Successfully extracted {len(packets)} packets") - -# Analyze packet types and sizes -by_size = {} -for p in packets: - l = len(p) - subtype = p[6] if l > 6 else -1 - key = (l, subtype) - if key not in by_size: - by_size[key] = [] - by_size[key].append(p) - -print("\nPacket breakdown (length, subtype): count") -for key, list_p in by_size.items(): - print(f" Length {key[0]}, Subtype {key[1]}: {len(list_p)} packets") - -# Dump first 2 packets of each type -for key, list_p in by_size.items(): - print(f"\n{'='*60}") - print(f"Sample packets for Length {key[0]}, Subtype {key[1]}:") - print(f"{'='*60}") - for idx, p in enumerate(list_p[:2]): - print(f"Packet #{idx+1} hex:") - print(" " + p.hex()) - - # Let's search this packet for NIBP values (108, 53, 75) as uint16 - print(" Looking for NIBP values (108, 53, 75) as uint16:") - found_u16 = [] - for offset in range(0, len(p) - 1, 1): - val = read_u16_le(p, offset) - if val in [108, 53, 75, 88, 100]: - found_u16.append(f"offset {offset}: {val}") - if found_u16: - print(" uint16 matches: " + ", ".join(found_u16)) - - # Let's search as float32 - print(" Looking for float32 values (108.0, 53.0, 75.0, 88.0, 100.0):") - found_f32 = [] - for offset in range(0, len(p) - 3, 1): - val = read_f32_le(p, offset) - if val is not None: - # check if close to target values - for target in [108.0, 53.0, 75.0, 88.0, 100.0]: - if abs(val - target) < 0.1: - found_f32.append(f"offset {offset}: {val:.1f}") - if found_f32: - print(" float32 matches: " + ", ".join(found_f32)) diff --git a/fiveparaminte-main/scratch/dump_packets.py b/fiveparaminte-main/scratch/dump_packets.py deleted file mode 100644 index 0264870..0000000 --- a/fiveparaminte-main/scratch/dump_packets.py +++ /dev/null @@ -1,78 +0,0 @@ -""" -Search the entire 286-byte and 989-byte packets for the ECG HR value (88). -The ECG HR must be somewhere in the packet data. -""" -import struct - -with open("/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/scratch/raw_contec_stream.bin", "rb") as f: - stream = f.read() - -# Find all 286-byte packets with SpO2=98 at offset 264 -# (indicating a time when the monitor was showing ECG=88, SpO2=98) -packets = [] -i = 0 -while i < len(stream) - 8: - if (stream[i + 2] == 0x04 or stream[i + 2] == 0x01) and stream[i + 3] == 0x46: - pkt_len = struct.unpack_from(' 36: # Skip to around packet index 147 - for off in range(8, l): - if pkt[off] != 0: - print(f" byte[{off}] = {pkt[off]} (0x{pkt[off]:02x})") - break diff --git a/fiveparaminte-main/scratch/find_pr_offset.py b/fiveparaminte-main/scratch/find_pr_offset.py deleted file mode 100644 index 829efca..0000000 --- a/fiveparaminte-main/scratch/find_pr_offset.py +++ /dev/null @@ -1,58 +0,0 @@ -import struct - -filepath = "/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/scratch/raw_contec_stream.bin" - -try: - with open(filepath, "rb") as f: - stream = f.read() -except Exception as e: - print(f"Error: {e}") - import sys - sys.exit(1) - -packets_288 = [] -packets_989 = [] -i = 0 -while i < len(stream) - 4: - b0, b1, b2, b3 = stream[i], stream[i+1], stream[i+2], stream[i+3] - if b3 == 0x46: - pkt_len = b0 | (b1 << 8) - if pkt_len == 288 and i + pkt_len <= len(stream): - packets_288.append(stream[i:i + pkt_len]) - elif pkt_len == 989 and i + pkt_len <= len(stream): - packets_989.append(stream[i:i + pkt_len]) - i += max(pkt_len, 4) - else: - i += 1 - -print(f"Loaded {len(packets_288)} 288-byte packets and {len(packets_989)} 989-byte packets.") - -# Search all offsets in 288-byte packets for any u16 LE value between 70 and 95 -print("\nScanning 288-byte packets for u16 LE values in range [75, 95] across all packets:") -found_offsets_288 = {} -for idx, pkt in enumerate(packets_288): - for off in range(4, len(pkt) - 1, 2): - val = struct.unpack_from(' 5: - # print first few matches and total count - vals = [m[1] for m in matches] - print(f" Offset {off}: found {len(matches)} times. Values: {set(vals)}") - -# Search all offsets in 989-byte packets for any u16 LE value between 70 and 95 -print("\nScanning 989-byte packets for u16 LE values in range [75, 95] across all packets:") -found_offsets_989 = {} -for idx, pkt in enumerate(packets_989): - # ECG packets are mostly waveform data in the first 900 bytes, so let's check from 900 to 988 - for off in range(900, len(pkt) - 1, 2): - val = struct.unpack_from(' 5: - vals = [m[1] for m in matches] - print(f" Offset {off}: found {len(matches)} times. Values: {set(vals)}") diff --git a/fiveparaminte-main/scratch/inspect_raw_tail.py b/fiveparaminte-main/scratch/inspect_raw_tail.py deleted file mode 100644 index c26065b..0000000 --- a/fiveparaminte-main/scratch/inspect_raw_tail.py +++ /dev/null @@ -1,32 +0,0 @@ -import sys - -filepath = "/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/scratch/raw_contec_stream.bin" - -try: - with open(filepath, "rb") as f: - f.seek(0, 2) - size = f.tell() - # Read the last 2000 bytes - f.seek(max(0, size - 2000)) - data = f.read() -except Exception as e: - print(f"Error reading file: {e}") - sys.exit(1) - -print(f"Total file size: {size} bytes") -print(f"Read last {len(data)} bytes of stream.") - -# Let's search for potential packet headers in the last 2000 bytes. -# Typically headers are like: [len_lo] [len_hi] [04/01] [46] -# Let's print out the hex around any occurrences of 0x46 or 0x47. -print("\nScanning for potential 0x46 or 0x47 headers...") -for i in range(len(data) - 4): - b0, b1, b2, b3 = data[i], data[i+1], data[i+2], data[i+3] - if b3 == 0x46: - pkt_len = b0 | (b1 << 8) - print(f"Index {i} (absolute {size - 2000 + i}): Header match! Bytes: {b0:02x} {b1:02x} {b2:02x} {b3:02x} -> Length: {pkt_len}, Subtype: {b2}") - # print hex representation of next 16 bytes - next_bytes = data[i:i+20] - print(f" Hex: {next_bytes.hex()}") - elif b3 == 0x47: - print(f"Index {i} (absolute {size - 2000 + i}): End-marker? Bytes: {b0:02x} {b1:02x} {b2:02x} {b3:02x}") diff --git a/fiveparaminte-main/scratch/mock_monitor.py b/fiveparaminte-main/scratch/mock_monitor.py deleted file mode 100644 index 50966ef..0000000 --- a/fiveparaminte-main/scratch/mock_monitor.py +++ /dev/null @@ -1,83 +0,0 @@ -import socket -import time -import random -from datetime import datetime - -HOST = "127.0.0.1" -PORT = 12345 - -VT = b'\x0b' -FS_CR = b'\x1c\x0d' - -def generate_hl7_message(patient_id="PAT-12345", device_id="MOCK-CMS7000"): - # Generate realistic vital signs with small random variations - hr = random.randint(70, 95) - spo2 = random.randint(96, 99) - sys = random.randint(115, 125) - dia = random.randint(75, 83) - map_bp = int(dia + (sys - dia) / 3) - resp = random.randint(14, 18) - temp = round(random.uniform(36.5, 37.1), 1) - - now_str = datetime.now().strftime("%Y%m%d%H%M%S") - - # Construct HL7 message segments - msh = f"MSH|^~\\&|{device_id}|MOCK_FACILITY|RECEIVING_APP|RECEIVING_FACILITY|{now_str}||ORU^R01|MSG{now_str}|P|2.3.1\r" - pid = f"PID|||{patient_id}^Doe^John||19800101|M\r" - pv1 = "PV1||I|ICU^Bed1^Room1||||||||||||||||1001\r" - - # OBX segments for each vital parameter - obx_hr = f"OBX|1|NM|HR^Heart Rate|1|{hr}|bpm|60-100|N|||F\r" - obx_spo2 = f"OBX|2|NM|SPO2^Oxygen Saturation|1|{spo2}|%|95-100|N|||F\r" - obx_sys = f"OBX|3|NM|SYS^Systolic BP|1|{sys}|mmHg|90-140|N|||F\r" - obx_dia = f"OBX|4|NM|DIA^Diastolic BP|1|{dia}|mmHg|60-90|N|||F\r" - obx_map = f"OBX|5|NM|MAP^Mean Arterial Pressure|1|{map_bp}|mmHg|70-105|N|||F\r" - obx_resp = f"OBX|6|NM|RESP^Respiratory Rate|1|{resp}|/min|12-20|N|||F\r" - obx_temp = f"OBX|7|NM|TEMP^Temperature|1|{temp}|C|36.1-37.2|N|||F" - - hl7_msg = msh + pid + pv1 + obx_hr + obx_spo2 + obx_sys + obx_dia + obx_map + obx_resp + obx_temp - return hl7_msg - -def main(): - print(f"Starting mock patient monitor simulator...") - print(f"Connecting to Contec receiver at {HOST}:{PORT}...") - - while True: - try: - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect((HOST, PORT)) - print(f"Connected to Contec server at {HOST}:{PORT}") - - while True: - hl7_msg = generate_hl7_message() - # Frame message with MLLP wrappers (VT ... FS_CR) - framed_msg = VT + hl7_msg.encode('utf-8') + FS_CR - - print(f"[{datetime.now().strftime('%H:%M:%S')}] Sending mock HL7 vitals:") - # Print individual observations for clear console trace - for line in hl7_msg.split('\r'): - if line.startswith("OBX"): - print(f" {line}") - - s.sendall(framed_msg) - - # Check for ACK response - try: - s.settimeout(1.0) - response = s.recv(4096) - if response: - print(" [ACK Received]") - except socket.timeout: - pass - - time.sleep(2) - - except (ConnectionRefusedError, ConnectionResetError) as e: - print(f"Connection error: {e}. Retrying in 3 seconds...") - time.sleep(3) - except Exception as e: - print(f"Unexpected error: {e}. Retrying in 3 seconds...") - time.sleep(3) - -if __name__ == "__main__": - main() diff --git a/fiveparaminte-main/scratch/mock_multi_monitors.py b/fiveparaminte-main/scratch/mock_multi_monitors.py deleted file mode 100644 index f0e2b45..0000000 --- a/fiveparaminte-main/scratch/mock_multi_monitors.py +++ /dev/null @@ -1,73 +0,0 @@ -import socket -import time -import random -from datetime import datetime -import threading - -HOST = "127.0.0.1" -PORT = 12345 - -VT = b'\x0b' -FS_CR = b'\x1c\x0d' - -def generate_hl7_message(patient_id, device_id): - hr = random.randint(70, 95) - spo2 = random.randint(96, 99) - sys = random.randint(115, 125) - dia = random.randint(75, 83) - map_bp = int(dia + (sys - dia) / 3) - resp = random.randint(14, 18) - temp = round(random.uniform(36.5, 37.1), 1) - - now_str = datetime.now().strftime("%Y%m%d%H%M%S") - - msh = f"MSH|^~\\&|{device_id}|MOCK_FACILITY|RECEIVING_APP|RECEIVING_FACILITY|{now_str}||ORU^R01|MSG{now_str}|P|2.3.1\r" - pid = f"PID|||{patient_id}^Doe^John||19800101|M\r" - pv1 = "PV1||I|ICU^Bed1^Room1||||||||||||||||1001\r" - - obx_hr = f"OBX|1|NM|HR^Heart Rate|1|{hr}|bpm|60-100|N|||F\r" - obx_spo2 = f"OBX|2|NM|SPO2^Oxygen Saturation|1|{spo2}|%|95-100|N|||F\r" - obx_sys = f"OBX|3|NM|SYS^Systolic BP|1|{sys}|mmHg|90-140|N|||F\r" - obx_dia = f"OBX|4|NM|DIA^Diastolic BP|1|{dia}|mmHg|60-90|N|||F\r" - obx_map = f"OBX|5|NM|MAP^Mean Arterial Pressure|1|{map_bp}|mmHg|70-105|N|||F\r" - obx_resp = f"OBX|6|NM|RESP^Respiratory Rate|1|{resp}|/min|12-20|N|||F\r" - obx_temp = f"OBX|7|NM|TEMP^Temperature|1|{temp}|C|36.1-37.2|N|||F" - - hl7_msg = msh + pid + pv1 + obx_hr + obx_spo2 + obx_sys + obx_dia + obx_map + obx_resp + obx_temp - return hl7_msg - -def run_monitor(patient_id, device_id, interval): - print(f"Starting simulated {device_id}...") - while True: - try: - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect((HOST, PORT)) - print(f"[{device_id}] Connected to server") - while True: - hl7_msg = generate_hl7_message(patient_id, device_id) - framed_msg = VT + hl7_msg.encode('utf-8') + FS_CR - s.sendall(framed_msg) - try: - s.settimeout(1.0) - response = s.recv(4096) - except socket.timeout: - pass - time.sleep(interval) - except Exception as e: - print(f"[{device_id}] Error: {e}. Reconnecting in 3 seconds...") - time.sleep(3) - -def main(): - t1 = threading.Thread(target=run_monitor, args=("PAT-1001", "CMS7000PLUS_127.0.0.1", 3), daemon=True) - t2 = threading.Thread(target=run_monitor, args=("PAT-8500", "CMS8500_127.0.0.1", 4), daemon=True) - t1.start() - t2.start() - - try: - while True: - time.sleep(1) - except KeyboardInterrupt: - print("Stopping simulators.") - -if __name__ == "__main__": - main() diff --git a/fiveparaminte-main/scratch/raw_contec_stream.bin b/fiveparaminte-main/scratch/raw_contec_stream.bin deleted file mode 100644 index f50eb0285a6a63881d7fa09182ca4001de92bf23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3982397 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

_%%Y zO>))EHv$4T1a3rJyjS1LqQQ-)Pf==~Yt6rSfr9g&J$nXdK=oG_79KsC2Qs*S{~mw= z6;_+oRn@4({H-AFVhp9#xV9RFSy0JX1_B7M00^L}Z#o9Gw3?cU*EC`pobyVN6_niy zoiHTmeti7onRDGhF_-&5WN>Nudk^LpptFu{8w~RVAjTA#fA}Ei@7zq#VeT&liYWM^ z%ft>14LvQ&O!<9-!3~MsXuf4fuBbIfK;VYJjn#)EBK9~M++Z&Qfdo>bAdEoOVSy6- zL={y?UQrzt#5*<3fj9|HH|f2oSdQu0JNF)jRFenKp@L=6Sj#Bm@W~KnMXsXg~~Nl*A;Ega$wiLI_C+5K}NIfM6zg zK?L!F2!eo^hqp+xh}APovtH!3di|`;a#IUp(`LD7>wMPMT~%4t)z#VAoz=sR{{O#o zjt^H?!a)OmufFdY_xkng*Zuej@bi1$@c)9*%5XW@AXPL}R3p9^KSeai5VhsHrcyWQ zxS`&SnYlFSU1#46C~hcj#9X{H@345d5iT)VRgG-XjawQT#hcL09`Zxz+IIHrxpU`@ z!FfPm2k8KnCg`ksoDmQyFk$M11Uy_<*g*V({tmzlX=eL2VVO;vn9q@}0c=#iLzGRW z#@2MLMQSL-JLbbomF+wlHW!pET)d=w1=PM+UfZyJS4(?W_hE!gr0?A6;WKC9^`PIw zd1_3C>fqpDYA{8;8`<}m*E`Y~NWu&#ZYXYK9!JC+aXj3RZtQ+(>QRsb%*Gr-o&~g) z?<7Bn8w5EMNSR=)qye!KsC6I*G@9zc@>7wuFpWz@B6Ovc+S19e%*dw0%K$59GuNt` zy0z=-H*IM|U5w;@F!f{j4E!P&FI~EfXo(4zAnikVM`(v_Vy)I4EWQj^HDTWK{ zWI`#^LtUzeBzm}EOV9faNyiQKZX{u$&@t!?One3uHxxHwF5a1USUlWV4;wQ8!Hy)- zi3HWMQB|)}(cDgfB(8%5fv%^P)|1*BOZYgCdf7)X)iOXmnd^@#CSwPPe1WP~z&aV*dmqH;f<5Yl4fo)RQ9YxHhS(GiSK-tNf`pu0y z0St$Z_MZUiT)cE;L`Vmy16a6*8W}o9ST~ETi_^#!kAb81XU68Yq)> zP7!93`k5kT=*}rpQIU!pNh^d^@5aO*^LhrIfh5d;;)dcz=5a*K5y!&~xD41_josBk zL5S4$Y6~IMxuguan210i6?5B;-FxX)IC1*i#jDqD+`4=B-u(w3!X7-hckk{UI2Yc( zd}hE1ZwbL5p(4`!gnFJ-B^NWIVm6tS*`!8B!-{A~&l6KcD_v#9BeEI-< zvz0Ou;4uyx!5y1B>dTADEu`Yczg69hi9c8M3_1fk1EXd@aYJz<^Ee{rh~wb~{0pE3 zQ>IGK0_!#i3RLIZo|uhEAu56&4$R=*}}jw@4~({A0p!L%kcLp4z%Y zXCNbIKygEHBj)0rd56Wr4Ht<>6OAzXP`+=LxPAgmaRr=R^c{bm_-oC#aDnqCc;9TFf?SO%1K0E zBIuPHF*3AaL7`3k26kN8ijYrpOKV$47x;z>BB#!rJ&(d#Q6z-PrvD-0k^0#^1=v$<4#8!t8O_k%Lcp{*Li~pZ42PgGzf;R_u(2 z8y8@s)hvv7SENLhH76v4phT78T}HZ#*%qPLiLCvhPVg>v;=Bq$%0(!CQdK2!6Psco zr~p?8w7TF4F?2(bE+^B)(ik+6l`gUvrlgE=gm!!;+T$`r!tR?$hZsQ1W$(Cm#T&-I zUh}VgR?aK?Uw@0|9q_y|_jlpd6aMeda_F!;7;bwl_*r1PJELgn^oB9|R;YveHU)86|M0mpZL3bg!2VCsj4IXw$Z7 zi})1wqUpRJGhvDaY?LY&HAq8zfK(8dKkDa>GR6~b!xl*haZs~{A)ZL?D99x+mq5z< zFt<^`hAa~0K_%{GZyfOl5l|=`wGcalf6gRkb1&$5(f2-oIXyYE2lX^Dn zNZmEw3E<37@5Xo&^qTMD;RgN>el)A%SYO|9$-)#wu=%6R9*u~1f)m8ef!K#of|QvA zm=J~pMQ3TXvuB;O+h0%*<#T`^7>#Wg3*1bnWX# zBFNERWVbqFFE;1yaGmJ=>R85TBu@nlgI=<%(y;GWF!nV>^Cp55hp?pPGH{^VuBg6WQK-gI95B1(i+rIhc1X!95oCR z;7h3NcZzU>0TuJtCJ3PfTW=6dQSU}Zt}HreoqHcOO`AxU%p}`^ti;Qz--Z-l&t9JLY8ND_d#n$8O$VhIERNTj}<-;JRl$t4@{~j zD_^3uFRnyZz{a71-;v%A-300&9JUPF4OoQ5Od~g{gp|tY;SxdHIabEV=y$iY?cIwT zfH6mvHbuChxf`P%wz@-SU}n#N;)dczmO(~vJMnPCPyQ4&4XFx2T}U{&()m76A1jy; z6ouG|5UP6xOr8#8+m(7V?en4THv z*Hlp~PwL$W*61wSiiaCavkZZP$)*ekALvksfeNMrT1koZEWj}W&jQj%=~>v)(1g}3 zI}I=}AJhnn5^AjEhe@Px^{x(VsQn?Ot`Sr){Z<5V{Gn4(R01c$IL;Xo8oG0aI9~{4 z){Q6RGK$EwGG%%mw|W(wftfr5S_sSKRdFMWAS1Yyc(_5YfYP%0X~5m7D+V1 zAcJLw#%|`8cyp7aCSk>K_$qRzs zyUxJW&4A(tS0}}dV2#eAt$4VB8WIK|sH80ts|sH=l( z1e{=<3oF>KepCY%7d!D?3vR=>7{bIOuz+@`!F_Rx)| zgsNah7YwRk>r!#!pAshXrIjgD_xRT{>kLfi3@C0WZe$T)L~kV?Za{iMbSrE?#q>F2 zsY!~|hH)_jffafeBv;d+gL5xf4+EVe$iHB!rsQA1!GNA8HUk6Ult5-f@aZu2 zRGN}5VtL01iJBaYdaJMQv^T6|h^b0R%^_hPNvJ9X7*v{y8+YFyelGA9;A61uZs9pOqwU8%3*L$ARfbj42h|3 z&6>4q*RkRj3g$qYoy~h%S%$LjK=;AJM_`aur*ZS}VIxG^-JOaXNo&!j-i-`cM|6lf z12JYmaYJzuLz=dBUL}YF!dYF_9GGOsGJj zCc`P#j6=jZ6jJgw#XAD5S&Ep6Xn0kl-geEp_2|z+*|D9?yIWd9g(#*5g(;@tqM7aC zlo6?{75|5$6K0r(JE{b!BF>jnRh5bxe@R#{MRhk~JjeAAoq-IP0mTi)jp!PkMW5o~ zhSTdB6+3~bC$ccC2`k{G+-a6Wje~v27b@Ajg+ad2@(>s zVBEqQ!x#)_m`<$g8R#&^PzO992y!rybk)iVW{@sjQo49yN%8!mxpN8&3knMI^JiJh z%X3?^^23IM#AeSfgw2^VXYSm2Vnwj|G%2KUl{I6$GZmFpuc%rvp(5i{figO5ig3fo zeD$=28?&jZ==40*^(s08iJSq&4aJS<8l6R-;^79vAJ80MS;>|pRfuTRA_>Azfj~J3 zYG0w45ol~7Z$sP{l;qqGJ8(dn%k#wvjmrC>Lr9QFwL@s#dQiI2Gl&DjNyHOkazKpK zm^5KQ*u;o;1-T!{^kBvZ+$4JtXKAJ2mkfsE2nNwDC+2BQa!LExCuQnL(s4s`HxjvW z=%924-gpKSHxxIr2r#0z5)U`H=IbCkk!AmkveC(sBe%5b;iP6T4Z3Zy45&WWKjN4 zOhTzkDy2t8%y?*$jvJc0@y1Ve{ejLvB4wSind4n8MDT0+;q`Od+>PvDMO>^XeFb|}xOj1P|+c1T+ z+(Jc+u`*9Y^vcss3nR*xZ%7PSxhmiKVn=RdT*uW4J zLl76jAZ_0{^l__(B^@`^yOGG1LkFcZ@WwNsxS_a_MSu~#m3X+})W26Sxnk)ONNHgG zUx*Zo1@nuF<}%A-Hqs}UW|5bhnb!FFPvLcT(Yoq>GFzIHEbB~(~B(p z4e(2B;<}I24wKnY>AI`%`W%5{5Wg}v#3KA|(LyMp&M%rL!z;+g$X-9N=rDs%NyiQK zZoKhRU4Ni6kjNQO+~9LpRYil#s@c9!E%o! zEPwdu5iIGrq27%|t{gfjoq;!=0mTijEs7f%u)@Ci5aZ#-MMe=;~Dacc({R8-P(_^pMLr!Egk&w%g;Z4 z|Lxb$zx?9KA0L1G(H|au_~72%+qXWrasB$W_eVyqUcGwd@}-Lx-@9<({P}a|&Yn4Q zW_bAY=~E|94h@|c931HH@9R6(D^eHTP!(h4Efl+uTEWbU#)hp(1)(69?PRi6y1gR# z!*#Srv)4-Kk&A?w?a0F94rX^aiLljmlGI@`Q@0|=q*097ChS5FGx??V)lW0soOIk! z??xh54jq)vz#Gqi;)dczhQPy{4>KNa1PgCyiy5O#0=0r0vi#SrwvAiax7D;(k-QI} zz_>>Ju$8E@WudJohprW!aU`QcXMET0J*J|y-Pm5y|8UBoESV9(FV?Ks-f^S|fe4=? z1SH(xeQ2>Mp=(4cghMC1Aa&K4+=IL%9XBS!yHVqLhbnou^#fNg-oJdUYVi84t5t({ z?o{>Mx&6NU&C2;}o_E0WO1(FJhUyP=26P4{Z3Yxc6iMEEthK zJEpL%)nEnDB0XEkXjhA_2*uJH*arq;>1?gi*(E9>q6A_@JIuh*O0F&GNb)+AAa1Ca zWYSgyJ(149JDmYV5=D{>0gN{vW;`Tmg(@k%5=NDaD6un&5{4msj6jUTiD$Stiq-Il z_FWToi~u9(p%AM^iLGydkx^C57ZnQ#h{GODL3aG1TLAvh ztrE12^TEdqJLyO=8D0|gfV|UHMlY^2AT!YCy?XNZ|M0h6?$4_yxjD1*^75LzT-d8e zUZa=mReFVZ{rzQ68~*$y{nlKp2Dx7DEVC#)%k}!xEDt$3UXC$*iEaOr-HSJy{%Mjx zWw$vGH~ll3t>Cl&MT`x51zg`;gFi{xigA`$hlECKj(4{g>(?A%E~+i~AHx0sJ96*| zg`F|akmj&agGzHumh6g$8x++FI~xK*NatvvpQNg)I)Vw(dqpszvkQ>mv`WL6U?{-^ zTw3<{aKq;Hz5x+vloX@GMEoQI3RW46fg*_%nFjVDfigGzkO)}BVNzSW+IU7tHPT29 zEpkCMouHU~m%TpkiZ_gZz2;y0e>?G3Z|uD?X=3Q=-O#m4XCOOfKyiahtKvqM07mpS z;^7A6%Gu*R+TI#Da-kRu+SFQpv zpgeVbJ#sQ_1}Ty<+t^r*7JvX^BJ8|oXvGCU3yjp!PkMW5o~hSRxlXyC}ee~;u$ zj4D&51A(X@<~tDRMF^Y-(A^Mhpfh2)V;j8V(~62p5P~U@k(v{!vTa7y346yzVjqGE zOk@pbci1wRK&2xh)gku~cxYtsLF~pjWl~c`|4wr^rsK)0*U%Z5aWkN}p}3JnfDyfw zc(`FQB@lG5aR-ME(EtS1H^TZGCQK62-{@d_`%WZ!n0yH)dH@zk4SU235(GlT4Pxz2PjK0mTi)jp!PkMW5o~2A5pF&JjAVq0t}W2U4gmCKWLBd$5zN2!lXc%vQ;A%qWwExrEjb>DX|O zBb`WvuN%6ldqLo*u`%hmp_M6Fy7uU8&A1s*+)&)eBEX2=N<7>UnQ%lM!Z8Qe?LCYN zffFIU|6`>jVEQ>1(tI9)l4=6Odc;Xg0Vlg{uzgR60n;qg} zD86Te{t!_q4LL&$=`df^C5DI}#KcTE{OWXJpQPi4dN*d=s-!oZr8A(op|}xUqqFE! zJlqJp3QVz}F~b6et%{13l3KycQQyTt4}*w#N;JZEj965V0LmUw)-aW^eyWAUPxvB= z8sb?HRdWD?p&iqEMG8!8b!-TC3@-S*U|b^3DFC%`U=uUkb%Y>%{{ z-A8>8md+l$;vJ9ZZfNdCmOktCwsZ#G@eC+#C~jmCU_@^v9&T{SMJ1|pGel%IqU>OE zHCfwXOkyg|%^+D95ibb~Q^Tqn^flO;Su0j99up>9RQntO*NNYtWh3iLAh%)FHue(` z4jG*gme7V}HsBs{qU&ReiP>0?ivzLbck9-qF(OL8< z9&WIDBOFK}A^5^u0Ud-SMn?rx#MR(q0}Q$+-5jAz6jw%edUNNsH@ZcKuz=%g0HYVO7)J?r%} zIs@-`1{60GH?jyYqPG$cH`c9V#}ea3K%Aj--+uTI4nt=2XfN%k=#5%mg6{(f5Wx{b zNSa*eAgabCRkp%4wq32su!zWnr6U7^jE$6-H&-3Az8+0h8nHcAvU6uDZv189g|L%~8|vM7$7_UMUT0vEW+G?v9lHaW;_SMm@^q@j6eLCRtMtR#olLRqwagAqmDWnwxUw;OfHZFA&E zYGum5Rqw_-ekkkZbq2C?1{60GH==8F7JZ6`8#Yzc30Roe!38CQ5K6F~KX`*RzKN#3CLZm+2G;qv8 zwo1}*L%kc>x%B8=&Ab^<+)&)eBEX2=N<7?P-CU*O#(%HgjhVL&=pE|}Ov4N) zZYXZJbtmiIasXaYJz$(ty~y;urQ?pNfkD7vX^P2EiFtG-L*@65mXgTs|+UEV75Zms)8}^quSKL zxb#q~@)7i!-?0mAWLtqSD0mU`FYO9od1*?VG9VLbB%5^HQ18YxtOI%poq=hX0mTi) zjd7RkO#U(+Zn*!yANl|ME|b!&{Ztc|YzQv;ewt^H%prLk%a&PB$h-8&SVvtUlG4zhQc&1WIL2 z>nl>X%VZQY{G{WCdN-zF9neeY3{1leC~hcjWHM2VJN9_E0a*+fB{Iki%Z!m5%0UOn z1f^&O8m*zUlyYF3jTZ#D8cdv^mKQcb49(5(9MEsj#1slsu41cNA=wdb3oEV)VHPa- zF0}$^vUt%V#Bq?$IdATqIfaF@3-XaOl9!vC6G`kG_l8ry%*`*HH@|q%l4TXEYS37A z)0VA`$TER()Y~~!*c9Q$Z@>Pv3Kz+xfooq<+XFH+-D41-3vXh51(?p zNBCo`#`6xTcVimX0lkFIz%-F0wM)(a+&KzUdi*5gt-HSK#q%n_J|4<&y@0^*f z;IrEw=iOd`XXN4OUgDf4&M~18o5Qi=O$LoT#XQU^%w7#Ukh++QH7L&I(;qWxQ0WiL zhQ0A{1HlwH3^r`AMXW*wtC?p>FGk=52!JG%>H$C~E=G>Wyt#8h2n7Ww`NRK)w|VQcl8oF12b?26gT*MPhk%Kkw3wWQ7gOR#sp{d&3+yaH<%6@ z#svU__!Qm*41;myb?zP{E4w+w$_|D0BhDY}(Saqq(KM3mRZO$B@o?^7QH9GiT49fejCzHc73> zXq9|cKcV&TVbl7Sy>BI%)ufcB;zp*aivBgvJK%YxURFMz^`>+NGGqo6B@`vH2p*!h z5)UP~pmy5g5Fi2sFMtQm!GH{l00Tl1iPSKPge8OrBoHAbeK8=Z#M&qB#I=_bv%nc#X}M! zp&3RnW(HHO*CxV2|@Apu6^AHkFZg!82iM+?SaZydJ0H2!VIi- zb=4(S#w%2FYLZBWagcK%Nf+YkK#0VE14AUC+zO_S78g^@gJF_Lh=kD*8x&#eCncd2 zNk93s=Y)bf^_#XfZby+X{5D-(`}SGIc8s~BBNa&|sR8|@q>8HN;_V*m`YWA*$(#Yj z1jU3b0)yzS#KQ!tUm0hBTi{Kdi0E`$O$!#c8c8d^fRwqFbY)Ub=^7yYMR&x1U2q924ldn2c)GxAbl(l1%2p zqUX{Xc)J-;BvB-ZuH#wsDIStgox<^j6mLkN#FlQjj0qbeK^(#+N-UxQI3yzB%Z559 z15+_+Mf2w)>7#V%GB`o1C7*)+18J24{c@2ZqpaKCTfIv@!SrmTxsi=LXtouR9sbqa}-M1hUFpMvf4sIzDa#+$&e6znB(9(MhcG(+Neg z8c{2kX}Khj5BEhWY{sQY!|<~%ePs#&17ahKf&|g6NVM3~YTBougS>&9gNTYqOr*1e z&C^`BG)6>BJ*-U}5k#Omx-qLVYQ@BuJ0j&J7``Nl%J7YrMz|E#IYsE%Njh$*cOz+w zhK@&P;O%B$P=hI0qSU()U8l3;Q#{<@lFL8}%|#?w>B&IK;w5F!qgYjKic%>^fk?`J zdKHc`l;THFm`M?;B@xd;JF-n(LwKX?ji?EX9)%!5(@+k(x}ylyRiRRVoXy=uEyF2w z%HaH*4?o?5ctarUZoz zUQxG!1PeARbB+Y@BZLGwS#2sl5HgJ87n2KuS059Y70TjRq5_R&vNmWEDUwA4*&}2d zn0R5uz(blblgzy#@jvG^;bFrNt*%14aJQt0*vUb#KVo!B}=5@ z)XHwLY-1nlHe9#_?u6c>;!Z%c1ajm1jOrHCE2w8-t4)nVgr%lZYsz|4DL4fp&@&>= z1Xi7_7oQ06rrIcT1em~%u?U}pQY@HZ5kdueN?t7Lf$ zn(&Q3LJ$l+95$CV=m#fiqb;epp}HGy@ch(6bp~_>V$Xo$hT=wajn1M^@oqk(dHgUrYla5Y7%2sW6in%FeLJ?l3_cCl|K6rM2COXP{dO zBs3WGKte~TL2NW&vjgVBHBEk%i?91(b66R!p^Q4CHI)4@z#>ouVv#)7&`1|9Oge68 z?ndmVxgMx9kmwm0(qIbKSM_dW5o83n5)U^@U`&~GH6u{lA{{J3>gV#6Nc}`D=~lEP zX$Bpj2=)L}#Ko8i;SxEF4}<;-*0mT~F?Ap&y)!6mF~u#c3So6im<$+|F$J);Wjrv( z;X#nY5h-=CEJNi`W~<7G*-F-Tc(g%1bpHV;pu$AMjP94{u-n=$dqas1rfBX)qE`?d zoX$Y(8BpBd>ZG_4tkGGt6%RL%xFPwT^l(^GNP`Me0Ba@2O+^UY2MBrigkV%MToJ5f zcv3Z#Fasmc_(0=yLxUpNc}0}UC}qnv({as6Wpq+&97-7s)!1YXD1k|fSX;a+>8dSE zJF#M5rheC`dl-ceDdYv_nA%rIIj+r1RaMe)L%kcZpXPd?&OoAPK!YiY8(9Px(OZd! z8}KTG%R{22Auc-dI(aRKY(Y9>9@@(Z zm`CzH;T`cqCgBPfU;o2TTZI5B)WQ5R7n|-O)v&QWBrJqYcB-g)Hxj*q=-_k)V$XmU z!YXb=*XS(z6c0Cw#H16ev^1mMxU@8@k%ZChyY{r9t$X(&QyF{wxXBKc0ul;zvc*cc zEvr!!bwwm7AYu1+W8#D`J`|%!?$RzqNCTQ%2(B1@aK$7kwJ#J@r?f^0Cg4u-LoJIJ zm$It2oQ-7N;9FWz3v;;VSpSKWr-#p;J!kAJD`KP|W@sqsg|L(1-6-(97P>H(d0vO- zy(-0@CHPZ@KiK3IzeV;|$q8s|ItYQn?t zJWR=c`gOH?UF^kD57Zf$vKi1g6Q6AIU<+Pe_Z*D-eNO5F6FX9Ojd!k`oZLLm%Z1sa zupWk)&BRoZG#p6(Z|MjG?h{jMWBlnX;}l*+hyONNK6*FbsCtlo*#0 zBf@QLdLzN3HCN8?T+S$vhw)Zh#c1tX@KIPemmg*l*q<{b-Sc3MsUM2M?jcobm5S z0xA^H=+=qopD{FK6-=U(;Ag|otpl%4RNB=-LP+$?_u|+VH^c>+Lx$0*F>qF~H(u#d zw7r412ihm5nQjM!;Z1nUuLd#&%#?6zhsiC#FO_uMm<-2{dN-zZRnd#-45Xa_#SN}+ ziW`%;$|vSr@o>Xb2tz4^Dq@fkgI~e4kTC@|(szX=HYN&Wt8eN4FxfD^lo+aT$ql}D zfi3ZzLj;2AHku`F5G29Oo?Sr8w>B$3zo1}t;hece#i%7_GOb__MbmaWr^tR7T_T_z z^u=olX|;`Vh=6j$53&JyzcADXg@*4}51W`((s4t*8)={1x>IK$<7Pl{LvbT9cre)m ziH93uL|_2II1;4e3K3ym5GnyBSWFN|m<7v2U@JE_CuF&Kv+`#H8|D`;T7n{DQ?a|b zp%GdlJ9didiLd6`=+asY(ikT2Q)6o(E0SW>)zwu-7T#~CYxu^14a$O0Eo{if4BIru zLuWj@VOr`Eb@KB$d|J|RL%karx2ouXbq3PTfZ~SY#$>PZi8)_9+yFWl$HF|{vrxm< zGFuvvK)bhton?;o9UnMhI`Ju3@C1JbmSF zym#@^r7Ksij*MKpe&d5%x9>i9_~`MIFJFB3{SQC=@~3IHq~nHqH!^Nj(E;lWq@4l9 z4OvK{FZ?tarm3QnF^g}1j(E5+3G4eWzx@2u58uA{^7GFgKYDoo&duv1moJ<@cY0`` zulLBoZfKU7>{9lgLyl%gXV<=c5JElBP4U)4Ohkps8FkKJN00VK%__e;1vJ*QxbzLm zy9WBMBKY3e*x1x0LMFbN33eeJ#a6jUQU^0SY%&K#O_Giq>fK2DKZx7YbvkHq!O3N#%>L511 zrEy1dD|Fir9zl!;ZS_tJnJ5p{M$W@7z@ zttvWToq@D7pt!;HL~-NYuc}ipf_S*W# zprJH7>S9C{EpS9^-VBe#)`kZ7E4FPzo~gZJ=qglHgK-4RL6tr>wn$|w?g7Oq8=Raw z3u@TSu0jOVmP3r58M3INS+XSQxS`&Sv`=o`sWXsqGoZMkxG@C_eKJlN4>!2vmX$4q zPU-R$6&01t$UsU)ts#u{C?oX^0SHvXT0iZ4w{pux5ohU9Vk4Gfd+-Mnz2C zX5eCga+onHlhYy$k%9^wfyIRo9z%a&g1R#x5Oy3X1^us+py}ied z^}&vzL0<1swAek2?sy~w(N1q|Z9%rju3e&<9zcz8h(tgJ1C;(M!Y&M)_=7V8GGnQ( zPC9O=cO&hSTX*UVWZVoWZYXX{!9t&mQ^vy$n@ka8R7hHd|03BDqyv%Hpt{Burf*7l zDV!7=>({TXtEoZ`W_j7-g~dg43-gmx)Z+hV$Ss&tM3qx?(Z#K-T`!aajgXzNq~nHq zH!^Nj(E;lWq@4l94aE(AQOdTBc(_6D2E!yB9V{W)4{0vyVMNt1dLVmo_|U=b16_Mt zqy)rPl8Af3g-q~H3Zd==3rSq<%5D?WXfvfMYzZscUq|W0=r@(DC}lNv>J-XkhE5C) z4h;17A9pT}USE5I!!UN}5HvgB_AqVNQ0>xTqa)HyB~-4m)0EJlg2k20U?8IZ!9H!U zq~nHqH_|@2b*Iii#?64@hT=xHQHFm%@o|A((BU3H zLf`TJfx$uOT@0Nxm@qs{WpnCYQ20W0FD_lWeEG_it5-+fzjhtUp*L^czH|5P-Fx>R zeE8wRhY$bohmXYm@bKY>A3k_+|K8oZcW&Rh`N54F*RPFSIC;!x2m=vJvM^~D$h6=l zAp!X#sIg^*tr$yet+Dc!rMBb`^HWLDV46nAcphU(#|`yvWZbHv1J)TxI|GUviW~m& zoNXI#f*Wq}5}rD#nJ5%wRPE zohAsTiw~u_*?LeY_aVmI&>$zpSLU!vAr$NIT^*xRMgPuwW&a{<@w@|`SLXg&yn4d_ z{n;D#a`C4TueZGxyau*Qey|if{;}h?U;ou!iaAzAIp}BmD8Zk6}58cg)Cpe z4ldO-NXtO_=|*IqGB1OzTNuG{Q6j{N(pjo^BWbvy-i?e~Rdm2Q18HYKaf6Gj;zrh? z25%@HZdhiJ^oK|QBH|)|rvZjQ3mVD$JxOf6tE7!0b0bABW8B)6keEkxHPcijH?=Zi z*u^GrexB+EoY9JPgz`mXGg@U!!bvr$T8X}xLz0dg>fK2Dp2Ok_kip?VDl0@k zbF?&xt{}hyb5b3Y>wxwtEiBnFo@PhVaYMZu8MmtFfOQ7a&Vb?u7g@!PtV0dnP(0k= zvP>$FCi2wDVy_bDeWG0n%`!lE!8eP2WWDEd@0+ao;TN<1M*x5#7%^>>kcZhJG_#K5 zw&@&p#H@}nW`-}058hGu7DC%e#|`yvqBOU)nSdKiIjv;K zs(#?=#rv19RSjOhb+u~n&Yh~BJGbALzxX+S&0}J0sh4rja2>GDKo-q_A_<>IiX>Tw zBfOz_ND_50r145b50FndD(p64Km|rOgE9F?gdjnT(kA6K{F8=4I&1*v!a3E|TtOx4 z!{vOeG|k>tSo3pFO|mIpCE;|`OEmpdK9!dv1(ki^V5vy*=Y&&*MG0LON=rn90L_yurHFc%|{Hn^86(oV>YyoeoOiUN}QrKc+ z+)Ockv1rl4g$qkcii?XE%%5Kbn>TOn+_`h+6vAfDE`a63X2J6E@^WE0u<`#>M7D%*u{Pwl0T5h0@A5Q7yHTz+=P&fG_pqs5bXmS5hQ*q<_gyDvIH?nBG z(Oa3(GoZM^r>^3LTYIwVJsxhvx#b)-FIl)``KsFWn;LhvbR0N%_-NnY(5d0GXV08D zGkoggiNS&XzTTe02M?en8>LPmM~?E_?JU0a%Wj=ax{)VmV>uYBbOTMWuuB3>;Uwz9 zs0f2DHsDerwsIwR@vBt~%oyV*9LEDF=uri)2b>;_+ne|9JJdUH>fEJ~8+RUj_=k@_ zee&ey_Fd~1Bx4b{wi*aUWKw?PdwZR-zc&of)K@=x$}zV z&o3@6DM9wdVx&owEe)k%QpiiX(W9o73LTR7;gTmLg#v{tjg7YN+pb+uEZ@@twQ`X@ zwVht9W1|7ZuA7i)v3~tpWQ$0u1w9+im|@CHQ{fNhu_BXIj0`fq387HmgBt37VhTp- z4{iJQRNQ!)uwaUMH)iw-r8l2NGoZM^)kbk6yyj-jc0AlbFL%NK`j?m%utq+7-+uIe z?dk379~?S;=G^%U7cXCZ|N0Hvv+eG^duY#g_YNAgu|pdgv|YV=y1s^oF0@fA9dk-lW@`Y4`T%(Z?Tu^7!%NPXogzu}_SB?3>-eHy*%W z{PB;Uea5KBv*$0q`R>P`|MYg2blgzyMi#9%dMh(}1{60GH?jsVQg0+4ZoJVV{ruyb zK#Frr*%%%^eLCnn&(8Dx{m0pSzVDc`-c&m(hP`NFFCA)644phZEI4xsY(hA>ar5S_ zTeolD3G6nY23W(+v*O$MOt9ef=f6In(EiLwF zNhX!?$UxZl#m_x8!eWq6m%0`dzXpb?*sTo+fM;p zE0o@R7R`X-hT=x*DxEc-vg#YmAdKNPv5EO0gDt&u`lD2^GuuH`UDj>52kcJ>vN z6J-`_T_9aX`7f8l>R7}L4C6~WZm4%7i`E;xl^Hz)iW`a>S%Vj;Hxdswg8%zJ#+DzU zNO4!BPzq7OnXg`Mt68PX>{@o2-RN4;14*Q61!@HrqS7!7or#GKLGoVPKNRqmeXU*q$ND^J8rKO7KU>JI^NfOMG zV2KNBTws!$K@l&(3G4KbYzq_l2$Mvx?bs#-D_rzL93u3`1gzscGr>Fi^4qU}?cg8tH>teS^NKoi@gdmq z+W8N*ihLeJ~NryTE*DJR2rO^h~fJVw1F8MNl;P;~~znE^!-J`%N{ma~v`77s}R zWC(4M9@08R2r%Lc31TOVp9BV-4Fp7l8#Zrk+_q!a?$*5>T`12zg!g+(eDiTg@?Fq6!DEQId(Y0^?f$l>`jvll1y%#QB8M*$!t-JR> zeE5e)A3y#SWwoC_efs6IXJ0*k{`|#@ufO@`+i$=7?)x8LKhk~@lg;o8zyINfDL|5@ zrvFKhaAW$4+$#<3!Vjtr4%kPgMfYNc^) zwH*U8M9`AXG;_lM*i1$`%}JZN!a~zYCRaMSOaX5E_Ur%bJRo}~j2r6Rn5MNrFQYRs z#WSF|!F5S-gR_uz77sTjblaqXfxvnwRqBS`h2uf#XM0#`Qbk3F!0KoF)}4mKsEwno-DEu)pBw?+t3?dV%z^@_u|dsfq?|sZO+3@ z|BPlU`0RfXW5Zqn*EiSTPg1sGoF&#Fp%I(o-R;HtHAk46hgpT$A7BTXjO3y-ddxGV zIc(IR(j1c|yW$}U7G~sou;hf)Ku)lEp)TD+vOQSx!u~1D3I#!I+1l6yfY{w4IT{_E z#05ZvPYyr_utSQ5n1h9|u9?#}OD8{)j&njmp>UOq4?JcAU!iFWQ&-WgrD>a09y8e_ zpq%dR?t^03=)UZo^sacr_}6RxwNFA1m*0N<4>laiEgB^I@by5NAQQTrZ5VxM$8R8 z{jhglNkNkDC*D?WWaOU&Nq&F%{lt+(^F*?G1=5?FK{KGZp|}xUqqFE!Jlt^p2p7Px zVHo$3?*Ivu<+2NHn_z$`X_1nY;j?HthaN3gN8Z179bH;J5MxJ{NJ|zpokJ%UX*+k0 z9ax6ZB*t`!84^2TY!JpGnV@HkG>u`q80iobec|rWh9)yoYcpti$ecNI4qfrkxfLX7vmxZYXYK5nx1bB_3{=oC@i!;tQ}lQB% zxG2)U*dx-urTN8H#6gUT2OF`#$UMgAA`xK`Dyf=S5TZa36=R)E4JvI|YGZ0`LTRpP z5?9O1gPd3Dq>4#`tjm^NiCUV<%B16ldN;Cq1=5?FK{KGZp|}xUqqFE!JlvqJ`6^V4 zR8>`*0#;;l7};{sEsd&siSF2*JrbW_#G zPHKyxcx5-7EVic|6H{SKDq&ixwMdSMB&f=$czMQJV3ANu>lENdQ`3KxV9Ia5{yOns zih4I@(0Zh|n$WQY4YVJlBAx8LC;^Br%ZHT<@k(v=^XZYp{NKE~RUkt<8i{IZ( z%3K0(hNNRKAH!k-a!*Mm3}JMd3{=AlfneB41ZOT@zIyG(%{%uVJp98)k3Rn7laD|C z_|ZonJ$(4#hYub+xPR~7-Me@0+`e_|W?&y6a&zt4$jH?zmoJ_uJ&>tVuqD2_6C zlcq!6&K=vgNpcAv0pWDgNyy#!{pEiW+-Pe0H_5;aR>8E8C{c8K`@x<2RmVm~!hch+ ztwpz4z0m2+Wy%aFlJLo->7*&o=j`|x4@nr**igT2ZQW|>hE-M=&9Eh39Uo>xS z;q3hUS-J9eWE$sXQQc0-AD!}-R3yP?dz)K4?||o(xtr#Jub%u_ieZMO^zF9Sg2I@< zcF7NxdLtwM*`|}eoH&xa4kd^ili?-dd0toGt5qk%E+}3?%aR)=<$;;zI^`mx8MKx^UuHh@~3fa3Xo)E<^Ivx>_Iqf` z7tARxtEgSKsbNQR%UvhIDnbx9;ABN@J%1%QTnWdsl- zK6l|Vy5HTrbN9iA$Ypu_DQpUm#Pj~edPx?yPZ&ui12;5qlhg%B$E7n6odHD>KI|1q z?2?yVZ}E`i@#9ZE{=$$&_hu;cmBfC z@`|du^ zk9GZ|Gmxn>ph&_+LXjj%OXZ}EB_5J2TD*8k`HIS_+PZc18#ix-sws+ScDGQ>Z2y6S zhmQ30ie%W}(5c}w=gz-}nwgPnkTSb<`!4Ec#MSWGlh40+`t-|Z&!4~e`kQaR{qDQ( zzW@FQXFtMzg8j@8%IktCZ|9VG+h4(%1DgUQX=?gcn*zJBeZpRnI7l)Xo)it-Wa=WO z>e-i1pMLTA=TAQSjNyz=={!M&?jzLb z{^22wb-MS(P_O&o!w(;tI^M^hS|a)K*|TR~ef9kLS6@BDslNE)^CwR}`xGa6^pX83 zD}1HEmvy};?7j9rN_$b;YvowaoxODZqi1i67jOT&DL|6nU;bA?lHY!9Zl5rcOa^Xf z;3k_EExng)o&iM?uAwsvN#t&mgbq_RmUu{#x|sh$=YeE`JO^3;Q9gYPG67dWH-t=a z^QI8R`xYnOyKw%zlXgFK^5oDEq}==akN5RK!X5JMJv~Q`pj!-E#lS>W#I)I!b}>{j z5sPT7rKp-YQ5CDF64p?mjtUy_I&-pWrmvpMD~a|IrX;MGQ<0qlB>C;v|67p6^V-`d zj3jZqBpSHM=0!^HZ6?itA_><+MUttaf_Hk}cu2yfIZ!~OK)Y{lH;!-%d1KVv?#LqV z7W>%m?mGUvKZ0>LOeZ~g9rw8LznlUj85#M11W86l4zy1Tl1zptMFTf8Y2nj*P3jCN zl5o*fBzdRkFjW_iha}@K*kgVh;(_qyn8yolxV|-wjZICiG6o%Nd~^E($A%El>%hmM zO!|w5hnHr13Xr6!>HoF4Bt7jJgCq>@R9Y3-i}x>Is~Wt1>uS~DojX-McW%Ege@9gX zHmU2Fj%!BEfMN@uM~W@-RL-`Sc-S&}B_Fl=J1oHasPDKVa*B-`H^j2~R9pXATNjvr ztUHT;&5au)!!aMm8C24-<#i}Q+?Whcisq!usFhD|HiKtCu|=^Z+i1nVpLp2f*8Mc^ zJ{trZX^yI|x5zN+JN|6ly0xRt;s?Kv{D>#A*a7&duV24z?V8m!RjVqNl`SqQDx5Vd zZ}LU-rvO_#@Bb5TOHE!*vFxUbKV@}Lb2H0XGfB$*7{ z(BRG#tQ~qvoq;Ks0Ywr;l4$~j>Ay@oBncb`DQE&LF%cFC(5zXrrY>x2tnb1>#b}~2 zIAh2}!apW#;|>h`7mh`C7#i8V8w}FgO0H;cM>%q5XIEgIQmEYCzIU(X3}S|Wh7=!@ zX83#j8o#BoeRuc4!$*$v9EG@CUq5VshN5T~Klb-09ZBMNNwna23f2ZarOv=Rm;pr+ zMUv@fg=xBCJS2fyNm{uQcBv8D=Zs)LBp?vLM*AM9J+f_E6Dx86I`q9b{z!R8*aZg! zD6(TGTq6lFasu#4=Z6XJ^W8Q!J;uIG0g_~7b&m#a-og5# zm(&?ZnE^!-MUrU(gz3LbJR}JgXs+4eHQa<&B*9gpD}H>%6blm<3^YicuqhIz&&6u0 zq+m!;;1f^;E{6=+HSoWzuC1-1Radj-b=7F&?ub=a^Y~iin!vPu zbR^NhP0BM{Kk5u*@eC-ED3VM+D@@ZB;~_~=AORV03WoaC96P&8Hy_ z3b=#1WGPGDv>8b;=+n%!mnpy&?aMRnLs!4l8PFLRYX%fa6iKED5T^e!@sK3QPTkqO zyQK|fw2@puDt22D!R((WM7)MzKN6eBXOG+0nTDY*Jq_}v& zd{_}}-n_YCn*%E>ESz0Xke?5QwYF1w+`6bdFF&mI%GCV1oCOg(5q5E|Prf&um zNfb$@pB1L*it&&nvOXvN1A8m~_~Q>heE&TVgN*TW6fol608jJ758uJ207-s-`CmmT z_P1Y~+b66PI~lm4`XRZGAI9aYBiBE;br=4Nk3N3<+2>E;xp)qH z!E5rOa>>u1eD*0W_KCgLhYudyv)8)$!HpZZ+VyL=9_=bGimOI1duDhTS3V_I9)g`X zF$klIiO857KW=KKj~(l!9i{d59-}24NmSotA`f`|t`PUeSE?y;;P*H>K!&W6YNM*uo!E?!zkHWhnZQ zs-FtK=EfwYzW&uE*xEAXXqEB?KY5ioC`J+%ny}W4R-6dc8v)s*Bgtgoh6Zl3bNSM{ z%Dx#;B;ksrNHPiQa`H|Q4@q`Ha24XMO^uLkg)G{J^~hsor{9$;mX|MCys&uw+&Rcc z%^S~qk-S@fgAq*uk~B5_tK^dW{&Hjcw0KEWm_GZKCcUGXIRlC$e0VF8yulKdIfuqW z5_I$}DP6i^Rn409o3?J-xx2L;RV{~mj`a@?ogO}S9_1_}*RI)mmItn!<&U2|`CJNG zp1=4S#Vp?;)AXm;<(dBS(+}T0xp(#C(22o;{yrvk^z@iW5H#=+2|`;Oi3G979t(c9 ziN3vb14d)N?K|M|Kogw3?VYab<`|pbu<^~{;EBLo4hgEAjxESQZ#TgGnYWU>txMRQ6YkBB6T7<^iWcx z5gkmIe!(M(J;Ftp}AMQa~>#<{f$NNDtCzuC2GzCa9GV*_k zmtUW_xyPj?S$++OfGj8RXixCk!l)22$a&W zipDRYks6w#aJU>fa+r4L&_P&tH`@jAI(bp|qP1{6uS5G#^o9ggsZ;vtFj-ebpJ=>*Jfz}A|iOW$@#oU-3< zb2Cy!ku18W1=c!_@%t3>k8W#2cBz=lHf=|^#+tv&9n;o^rp3lmPRNh^0!O%m{a>36 zw;M;$>}i04@~boFS8xy$r5HyrWEfHmFh)QoI4^QULKZr+JF&d`XLlPZtkhs_tFfT(ACzXt zF&?+Ip@Fz%M#|Ikf>VGbzrXw!E0wmaeZpRn$-oT_++^qSrFWHmGoVPqg;u`iO z6c0(bEW6d8?;!$6S^X^pi0DX|1jaxCcCMk>?lq==9%M?w#&$L#<5xV+B!Ch3q-a|1v9j&ugbngK-;u3d^GoQ15jcu2x!*;%B!UCM`b z?9JX7^ zBWYbCB$V_Z65eZI#NWdo(QmTJ^b+PsBnIPLHfi3&9-Q#VM{oP1j}D#Jj9AjK<#i~* zz|CY~%j*zHv1R&}CcTo*z*sY&*uwQqv4yjcbrug>e27TDk>dW~M>&v7e=OuMc_8Rc z9LXi|@nbY^*ga{m!^aIb)X?ApM~vM{@xxFWKgC#(ymoEUvE_9rL2S{=ov|M9x?g7? zvt~e%gbT4EN!H;AZzwjB5H7@>fkaYdkxGUNQ&o)d(-)KjxfRM+FGc{o1QtVR#n1QuB?EqfI+5y`SNAU%B_izeOZ}Rw_gIK zd)SgCWl%p^wtPiJ<*KThS}2{YU0;u}!v$k=V37tZ_aLga%$70zdf?{4AnI20^3~F@ z$6a~~kff>U|F9~sMeP|A08%eWW-VPh+U%SGMG~%EiX@zcth0DXLK+CnVZl-~*8>JD zUc6{wNl9^W@qz{O=NF;P-rPBJ=9s>DvkPGPueDjQyu4f*y6?%~G&9kVU7M9(FsEq2 z!qTP7E2?VO)^FIbxF048;;>qFfSwp^6DKOsF5b51j;|Tf$C)tPZAx ztX0}?kYXP2(MI$T6eIzY5Q+p!gor9Dla3_n0m;s#NAGIp&A^cN>dD{#!{2tfKd+wT z=FHB^%WLxZe0=rDYxHuxO0N*FzrXBh!=JyT-TRxdnl`N)Og zOKkg}%ue~jEdBP?9?GL({u#|y@Y(+&#s)7dX3i%cQeI-5CDtLK5&M^XlR>jLEM^sE zFNYnF2F=Cd73=zG4+_s?+5@s@XFS}X10v*t5I=-{Vf#F55x)eT6RExlxF;5i(N7^x zij}LXSFf$#420O-*0CSzs=dbthfWPcJdIjuv~y>zP#SdTp^-KKjWnYX4`DR4B{nbt zIr^@yPV^=gIkdgN3d0pBJ0@39o8ENrko@v#KAaM>I3 zu6V=v*K7W@-}YYFzXDr4?||o(xxWzPl2=duEQb!ugW_%qL4IPorz}w7#;s%%3nS~o!1Qg@nN<7?v#_8V9{RfZq_6-a=cA(<>Dd~Mj zkAv$=XMGN$!QLeSjJ<{%hz-IFqy}&UgBfr;Ky9D&>q zU<4V0K@NB$oI3)}i1P9jTtIglzyiT%{l+bgXtRe7fZd0W_DKW4GnAb-CVmr0)VTPJ&QiB9B{A5w)iP}U_ z$px*dty>4@Lc{i5E$#ab_Vf*&96opP(&ekyZru3brm+uh+_-W5+O?69t5+^xx_FU& zYZ!kyC(UXQgt1273cV}7@gsZVuu(8vEys=?>0H3 z9F^Y5^b6CG4h`uf|AN63 zGmOtMMvVg>S-cB0K>4d-1K>>8{sRXOp-!deXz#IOeY9gRL`H0Egk5(9Z`g5H@TL=9 z8rNu-eA8k^DJ^a!;6o1wYzlDW_m}@gf+kOgR$Bp%X+P!C(U6#$tk`k}?J&g(!4-*gR5E|F8ia$pDEYl1d(FxGJTb z7F4BB_#^4Kq27%dxiaZZXWH`B3zpaWXpiU1g+ z9q~&wCL(W zrl_c9F*<@IQ92X?X$uPz%nglHrP^Ex5=Dxws;Wlr#JctMn@~!^N|J*|jtvYApF98F z<&o<*Zr;9o_ujqx_wT{(-o10@_N`ktZ!$^r{gJCzB}?>z=yRA#8GwQ*v-PV>m>&Yy zh^dsJ)E7W#7u_I{AtTvCR7WL)b)~@_TJ+ z|4ni?e*5)*Q13?Kp7}Z;oq=~W1Bx4p8yO4~;}1O^ZkUwIqjYf?I6wvkL^W6jYa%A_ z6Esi`oKoPT*;!WyDu71Ds>+HL%a@feT~Z3E^MxhFB$YXZ1^G}d&!uGf_@jHxx4HR+ z^X3;XTC$A#=Ib|ZWl4URGydl4n41gHL@egniB0mziJ3!;K1J+CDiu4ZK+bv#phr~OKT)J_>2-k#q zxL8*P`nTj;%1PY!yv4O z5o3kU7!E|Ri$ z)%PJPcH_nr;Ks1jd!#*=w)>VCV2)FHxxHA5G3LaIUa6&0K=*q z74W2d=b1C65lUDI9LX6-&p>{Lv_)Zl#^J+A)esEQ ztF4xR3*#*)IYFVx0tvXlRWh3mW$BTS$jck|%>yCLnYREgma=8i{sa=GD5!B}Yh>2L zpylC$DeKmYpa%rX*wfx`YM*r6Q18YhKlAl;Is@-$1{60GH{z|`8F*AY+(?ai&?gXS z*e>cCPN$PqCo7S;$p{RqSsCtN?uLa4)T^RLec^0&re_8RI06R$33|;J6wX0529i#t z>&dF>YG`$!yroWxTx^vK8>fgFK@a3th#0!d5n+;uFpFFTm!aWO7F*sbT_owaq27&m zv^MBvbp|GR1{60GH!=_;;te?-Zp1lPUcrJT6pvyMe);*QAAk7n>#v@E z{@LS?KlEiiwXHHAY6qLzOdQ{S2jpiszW~EMsei(Lw8LcWh35Bq~ z{rbP!7H$9C#Dgj7-I(NOzMf8J;2q6?;)dczob@&%kBNsHTyi1j#Wo_y*62Rm)7y8v ze_-&$2{coMnfH^YAfI*a{Dq5`kn#Yrj9a(v+`Uh`d*{{%*REc=aQ^J6!M>h@``TM} zZQHu3el03jR#iyZ%964&>&~cKzo}t+b6eNJp8laT7p{z4yLtD+M~|O8efHwpAAbDl zm$$~4FYcW0+1IjtQ(a|Q@%(wSXT8~ftSRtrOe$`ucjFzc4SHFffk~bL#SO)cH(Q-D z=;(O3k@kid05O*58{#2_bBd5sihPO6DzL-WZM$0bc6GCL{m{u%!)MQ5xbWV^i|@V1 z)~%59Jd5NH$^Kvq_<@inhh%&h5py(Y+3)L@vq=kzaHS({yR*G8)2an&r>5}<)W@iD zDm5_TpkO?R#x5;mTac702NSbsQ-B-4zx+?OXUe}(@5UrQvGsI10~tF5iW`a>Y1i9q z*clHu%%U5-%33_?CCy6CdJ)>z(Y7V9(O;ryHpRw9gtXs`!40gy4ViyOyq943kxO%M zNyiQKZe;B0q660%h|GZEhT=vxkVV>ih=&`F2LeLCmaFj?_0B|6-zcInwrxZSh_T37 zcpZC9F8u@w^22tBcEEN@mlkQ;8htSi4PVtG#1K4-IicJ_EZ&qSC=YlQ`+*nA*Z(`!-Y42b%cg`+ex~i^zE3<1` zMQNn9V?XuIrT|Gi&*XrNjQlqf&jHb(%#=O-^~5>@(>eo+8+@XxI_YGtYl%5mJly#7 zvnNkq{P5Q0CFy?n3o2c||L&U?&%XTp$)}GWee~gjyLWDWaO2w5%NH-8*mY>Izpoem zkVE1RX_t1eZ1WP;FO^6O!z^^sgxoXrFbaXutQeT-s6s7}h;g@Qh2b!m`H6kyS&U5) zZv6i8A3K_wH05+!ALn{8oq;6JfZ~SYMq=<_vIi0mH{7yo-bby*_4ShFF-Ag%i`Gc? zMfk;Kmc02pQ##UG+VoR@XDAPq$)=J}A~_{H$24j~jg#~U9TR8MKlf`lQU*2tM|ZZQBgtgo zh6Zk?Y5~#n>I_Wo3@DN)l1w%UB<6haki=0z8iL?1_jS5=x2li-K0X<|)wk|~=>`?v z=Z+iieF~6dWaOVDm*lr!f1P+?t_E%<_mQt>(-}ze3@DN)k|YKpCVL?9ki;$5Z^Z_0 z`6GADSnqFnjkrI{1|*pbPl_t4CV8RKvCWhjP$W?#nQRhB%=zLWN!+D74nD*^SM1}c zBl0>Mb+R!=I_fyHBk4#o8MvW=o0+np>3wGU3@DN)k|YKpCVL>0izH*L=o8;P20@J4 z{bpCHSvoJ?d?p=9G;ovYi;Rw6XCVFzD3U0W#9O&C@Tho5l7Tli;UVYbC;v{~);}zrXx`;<+S~;U&?aO#CH5kJK5Msu@t+;G1;mM&XSQCU^HW^Mh3 z&08C{qtVNr)>gF9+q<{jH+(SG)`ss|TWEXs?B3nnENysq>~KOSfu@<{-)({SayLQc*y1Lcua93m6+o4U4^vS8LOge683%jX$`0IIf2Bvog2EA8L{{A2S zw#)r_^&~fEc3xgyla~v7^~h`Va=l8g5U;<#>}kWFzog%qi}fbg%bjJGooBgTf0_j- zC&$Y%hA*-0f3kb=W|w{g0J7VhhnxNx%~tT)|02eQy#lUpuEC$AY{fWBtV2R0Hpjc$ zi}h=cFgFjg3bQ}J4*cKJ+&q6r%oBwV8#So#m)W%)4>#Dtj;-l}=5*!kPq%bwSsD7% zqC@RcX-`{GxvILhZteOFo3}JHK}3BQn(U&-Zl`UryKf)6?RIu{z{m^W1TsRD5TtEP zKndHe-dR&)qp8V>VgftI02Dw9Ayg1p2({EpKXmleUA7!Nv#P45cJ-Qd^&5dS+w71z zX44c{dIRsf;thINykY$7HUHYb_g>k*23tJufajIDzZ9>Y@PB`nLx<(TaNBFa&jQ;e zKUnIicVl{=;(9fmfsB{|#SK0z6*qzsEZvn<45VLJe}bU|Vgfh;P6hEQ(6d0-f>?ERRoJR)YHI7yZEiidU`vC50Z^uM z-@g3^x(^;abcl^@4<9~s=-|PF-Q5TF?Zd7yaXJlbz*vqke*)lje!d{M2*kW2~sdahy4v$S> zgr@B~o5kVL4*y0coE}kEhh-SLJ0u(;3}f&>0KqnR@!cGzQ7${>N<;(%Lq~^;iHMH_ zgB~^PWvRpFsQm%2SP2i!YPx7RVz@iVQdhj8hfM+jYmwe&*3W?A2A5Y2reqOh1h*0oH%ySDn&A!WERZw~ zaT6ecg9IQ>jYW$V!b)Jpv;_<1J6lj(T!QpZ5Q5}?*3_+8U%zRSghjUR*ttu52=pU} zMer2;~M@71vR8z7kINW&>7%s8 z-2qEFZfIpn)~`Z(gEM3XPO5hU%ah_putsOmR$SZ&!V9E>=4PgB_~s}f$lcg3DW0aC ztxNGt5z>gTgRKoo&G{rYL~=fvt-4~lH4_w}`vVrFeIgKI^E*(?g5V7u9jTcneiDZr zXpo3%p@yRiz~+i~QoS297eC4<=o-~#zOH=)VS z%`coczqqu#qN;BF=7#ONTG~3g4s>@PJbVP!(}S18hozW>BkwYWEQW5V+<`=o?P5vC z4b9z1(t@F5(HVIA8BpBd6JK#-LhD{qe;f}tOu?v0qL8vtHl>wh3TA%-Bqa57HS#_Y z{Gew61Oey9(xoP|lMV)#(SdZ1B6u3+&VjF?uyD4~`=Yeh{9>eblr67-t`~$m8n*3h zZfQdWOV_^rG{Qjp-d6E)z{i1P4!AhP!%+|64eQ^K%QLye<(*n@3*0P{VInyuGL+)t z1@w2wC^&@t{8{6;ojnHLsX2D@lya*|u zE34|()^DQRXY(Gad65jDfpPfok)ETy$By;&^&LOn4;vWZ>+$2*(bsp(8NTIid^6I<(8-ghPSb{AXRMtyc24Z#M&`tipfzW?sqZ@zi);`#HhzIsOc z687}z=bt};O#yB+HT^p)V%{_HV2XM-lC)sxSab&7eg+gb6gNWaZFX(O!;Md2j~{>X z@uNo{{o&!m4?leH;Qsx4_wL@kbLaN0TQ@(rasB$WYuDZ%xq9WwrArszyKw&8IY9#f zgHtDAzzJg(5kMHe@e3Ss>NF_h-1+w|T^YIl!R>n=K6?Dw7tfx5{oPMK7^L0!?%7Az z&zwFvG}zzQ+jIC}H^Vu5TlX~YG=Usb%_3>3!HX%#g;%6*bxpN##~{(erkP06DaAL8 zlVu0fLzz$GiSgXCO&4ptzy9kzI@tx|?{o0TuH7-G_U6`}zlmPM!u8oI8L1 z`~_p@fflDu^dIZ(Idq__y><7_?M)3^Hf^YfE~a<1@Rin7>yo3{qXIJXP7tSaMRN-aX1zXlH0ijZ-i;(J7&;c6 zfw!Ll#SO)c&;p%ZoAGdCynD{cos~aleo1Lr`HEFFb?Z#O6o_%|Him>t_!+it-mrdc zUG1uh^3vjY1^IasPXZllNa!1sYdg83u^c+fSwrtP=`Y6)bMuN|R0LT7IS>khz^J(4 zCzv3$!{(Tn6qBUmhI%*N{_(EA)EP+93@C2!(XOeYV=ZtQy+0mqaN%Y)CGsi7xMiEf zN{d)oyhX{2>-HieVs2_(r3qR!`<<*?zrKD0q`fv%fMe^{hQMq`748or9-%D?VDN{d z%zPo=;FJvwjVPtvwr%_N9aIhrjPVe{&mM@4TDj3SF<*DoiI9qTY6le7O@`_LYe~lq z^=>3-!O*ej47~jeC~hcjWHeHYH~4tCfxf7I!!y*0nvN#Y?u;^7wh5bbVT%v}X&{gV zr)-B20A(SG>&liU+``I|h*^1a$a}(8uH<(J$y5PiYU|LpZ5=R%9Akik^)ocmj3{(O zy26=DQ#+kCG)A0*y66<=D3Nj%)T_Ye_{L93#|`yvy#3={f2lK&q#01$P}~@A#m?yO z;^BtGA8hcUMB)yM#DzhQ8 z67;y80^ArG`Cp_mrKzb&D^rs6xYx1h47|%3P~1@5$Y`V(Z}9POLxK?|5@EWvQUPmQ zQ^VHH%n4mnS6c&D0euD3>#`k5C>#n10f4MP-;tG-a7Vx&0f)qDcARJDdA4s|yG~3z zAAB+TrJ+~0OrvewXd@@)E#gH9K1h_Nu~9IF&1YNLS&p%hE_A9FgQJG78q=I!+S7*` z(MmJ75c;^yq~nHqH{Rs}q1Vj?ken zwnrhrfz+)4A@~iv56HhTtiZ0WXmuiuXpu}|t(|}%4N%yo-qC>@lpPq{5x)6O5c)oX zL57;xi_61}%O8)40U6TSuwjaD!}Iv31b3LA!3#o$O~hlf}?~`H#H%I|G&L6 z`>OKH*8KNL0K;`|Gq=b7*Oe$8SLzHC_Vv7EC;7K;U}^?q-qzV}zp zeCC{Hy$%-quSOveuEAQJ1|mb;+C>F%RKu?U*tE4J9XC|nSm$SqE?;-R?ttQk;>ORN z*z5Xd@o*zh5+a1)YY3urh>+k66bs~zh=@Q;5FsHdB7{(Zz`$>jLZRvbItYm#Z4f#qM(g}k6m4&B{*hSpno{ugm_1NF~mWHph7r3Vr-u2 zp(bU8i+*dt1|C*gSW!ER`dE_9r3~Q4Uw`;NolK^zh*k6m8>v-|&)t82=F#J44^#gO z&nfe~!KD>^A`@_&+tOg6JTDn?e+Y5HkQA7O;)a2@6CKmnNYM;*umj95QfnwB7acU(=($Ca zoC41q#lOQj-b>R^2haJ|OZ}N*%lbURbk%R(4k)(pkk)o#+=Z-*UxFZiy+BTf2K&1yrV}~ zq&tvq2NX$ob}5o@7qTwmAqgklyL8DQawQ}TOBWP2plm>1K^}-0Vf>>sj`|o8P=qKf zR$QU75+Vnya|kyGG!zz!&H2B=$n(n~r?tr2M4^TyktiuRiP&|~7x|h&{$PA`$dC2}j?+5K3K_7La zJ0L4#G9{_05=oboGH883S2Af!#y05~_HwqafrICumGtxv4h@f78y}yToSK@tj+mO7 zoR}CN9~-*{>0!iLLdZCxqX;0Nh6adZ+rI}TF(4dUD`Q}%5iQ|y2}md*uS1>Wq^y=J zmSB6d%F3lt;=gXm$=T|8uV3*$fAgljT>NtmkI%eTJOSB8d1$0w$4Oi$msb=$LF9B13L~7_;zqdS zaiHz?RNVNZ_uBqDa8~HyfVYacv6M`)2yQI(XNnu?ZvOh3?!fBqfZ_&kt%@7=fXS{e z@oorvAGp~(4M{l62!;|6b2hXI)%vygzwvsv`VM(Z8+}+t8Pro zQc1MX$4YvD+#v1@^lOJH1G-3%P;rDqBZdh(EylPqtTO}V4Bwr>@iNldos)9Q$}3M+ zpQ){5`lP+H8|$ZPGB&}OgkItVlTcd7Tt}jCV=0*;4Q?n(tnQJapQbyIZU+=46eY5Y zA3|3X4<*80P8Oj`bV-vA#|7-sVT}ur6N2=E)Rp)ZEXHI(8hfTW{W0AIRtw{` zh}M-rWiS(84g(6rcUoOj*Kh&-Lpr*8`vC=4M@GjG;}Rx?VhU@oval9e6j4E7L&b^% zqX>N>EX0Awf<9C0GL=FcQxb#B$;p$cDDh8gsa!0D5^?;TiW}+f^!l3az?$!X;)dcz z=zz|yr}1#ZB}q6SUeXUN-=I1Wr2|%;N`MVaxIBcbRDl5#*Z>ja2nszUk3wWs33+J@CeTZB?O@b6J* zcZ~W$<%5C;@+r6+xgK7VMIK%RFCi5-{TVxkd zgsvtYTkJs)4|XGVA$GEk1F>`0?t;Dh4zOIKw9IBqq$HFTp;8h$I(khYfrtQOMSpKk zSLda+){9N&8|ztB!dbPx&_RT;%`-?bM~V&|EZo1hVAqcPyseuz=H^IdF0}acPjhlN zY}}H!qhMd5RFRxKg+vbhqZeD-(b|Khw*3PppEEi(K6!om_T78;=N>(I{{9Cae*DQ7 z-~8d*Km8>&QrY6atQA|Nks#urL>zTPaYN5K-GQ~=0mTj8*42cO{%~98ug1fT)Z;fn z-+%Xq&wl&<^S2+)+`DySVsvN_C8!;3C_H5@1c5H+P0i?YezBzmy*gS=U2XFP7)5Jq z&QzT^URr$kz@FVZw{7}amdOBac%CUS!M{Jhpu}Vm+)#C6?T-mvf$qRc?1171k5t8t zbq*Hkmmd!|(*Ny${#6JNo3`fd*tL7lzQTjZqLiS^DDo(rT3aJ?-rS%!8E?-yZ=Ic( znVp@RfAr|_f+h6=MvAJxmTX@ot`|w-#&i)2=VaY{QTV9?Ci{g2M_Ke-nw`1?%g|gZlm%Q zrLQ-F<{86-J*GkhepE)ggjB82s)}kBe+G*iGiNJYIOyT$8Y>kcGk2NX9HHxdjC%UfDJ+~ASRf(;YVhF6la2=(%^O~cVQ+y>fVr3Qae zUoU?o84spBOqfp!f111=^b=*9Et@Ez0n~@p^?V5l5i zrHEAA_;1ViZmeiBMb(X@92U9`-GSxpfZ~SY#`4be1pjqB+~ARW`ZNz@9?%RN-nAAY z+!>FrVXQDGedM^8W8eJ!&pn!x-#(@R0GS3Ce&FzvG{Ilt$`>vji}%B^i2pUs(vprF zs%|Xr7O#J;JCKweP~1@5NH8!gZ)x#xBYXl!V1VDG06~}oq#L;d0d}icEciR}hYRT- z{Mqh#WDO~wFMttxSadzIu9OA2Cgdq!Gk_cQ_5Z7r-N=9X@yB-0JJ{uU`CYmA?=pDi zb@0DhzGec?`WLZ^s=ASs!$Q}gJFvVRP~70{PQ4rUuAg0B;^9Wh>5Ff1Oglsf2*KAr z92VHG5jsdiC?Plqo<=Z%-v}P0KBVBnf^Y50gV*H^@NUpNxDu|=*EM{_qt+=mkZbtj zn}8c-o;O&GW@{x?<8$}lpLtX=@%ZUn$;9*LB}31jJ(PdzbJR|{yrV?_T6bV2c0iGY z_ajA;>|zmnHSv&y$1)G@6x1-|*L>gzqzE4;96?wl2%`;$t}G0+=ZJ=B)=?gfzHa!5B$H3c)GfPwEEV-PD4Bnt>GK#S9qEQBlo7RHbYKdLj8 zq7w)Ej2gQsUo2F74oOh;GG zz>o~Kzk>d${nB5Z^H{KCTW_0m+)#C6C2sWk9=Zc-zXOUJiW_e@ZWst)X=`xyo5LOL z%w?KMWSVO!=doafYY}FcV0a0}v~gaEX{c^Tzvm;iWA-~Hzi&ls*|Hh2iLnu}VMDHs z97*)0-~Jr-9Lq=7^Mggl$|_Htsckrav8|)Cs|R!51_u4vEZyCm9qs79j*4K6plxW7 zN}M2pHaV~Gx9aS$OG0h0JRn8;y-cQ7X>7fnkyvui1umIiZEM3z8Db2bp+ zz}E&&te2TB99LiIrnMQu!6NOXHqNEDfq`wD*ydx8TQ(-h0DAJcS~3q}5$wqTZp_dB z&rVjj{Pl+)mS5qb>c&dk==D8x2iATE6gLz%!pCA(J&%VQf(9vckbWD$3>!CX*|vSh zZVZeSW;l)}=clE`Ib;QdV+F_u6&2-WP(lP{+*n$fSdZzgGQJgpNI2XuT3;dYQ6azt ziX$O)L_`v|{KdZlbT)3@vMn!v=k7iG3lEzqwo_SD-tv5<4*I zy?*tt|Mt(_?w{AMa&xw9*s!7AL+dp?3W9FX^A<;SQbaMwG=u{5`A{69W>SHutT-2X1PSK3MvQ%@oU{~gV<;CufEF`n>aCCvNDHz^M> z-X+$rgjVc-7;amzcfX9bEw4OTRec7& z4OhfsC)dj8TCBLNjN@vd(u9{RBkH3M2jnvLI}L}tGwV%yv)(lR*K7XQz5-M0Roz&L zd$YcW?m(99fT|ljSQR(20xwc8A|7tY4EtTXWPrW#Tu25YNSByY#Nv}0n_DLH|$f=E+?+7XyRBB>I9Lh(_e0%5_#;c%F|iAkH-tO*E5(k8pH za#=caCn>Rg@yN$w3-;~X`z>+JFu)BxUTAk;zsH* zoh{$T!;Ru%41cXSaSC*R>XY;5o5V^%H-$A{0uroe6#Xo$&9XwuO3TVhOG^+^)w1A$ zH70b5WkW)sEnQUu1D03X9>d%^=>Td4zGW#JCK+iP<4Z6 ztEwB>LKuO;^Br55c0$w z#rPWe!NG%vV6rSeR%&>`s0tTb+W`z{Z~a+&- z;DTR7a7VNfCydzaic?2Y7G;UY5suMGe5u4&N&=0fpkOc5kplo9UmdBbNjh$*y0NS~ zy#BH7Kw@@4aYJz&1)g$st9yXv<+*g+VkS28nF45I0&Es2l%x%a-lCa*llLUG;8ye-l^f zw0Ov$d984m2GQhseV$k7sdpnWH+Wr$?m%*OKyiaNOHHN(M@AMsi-#M`RWR5J%K-(v zoM-|Lnh5I-zD4Mskh| zU5W0%a&|y*LvbUE03&)S@o4z?nPQ~|L(jSx-??k!&Ye5AZcX33dE+`la6*6rL;r za3f3th;R+n&xh3swB%yA!EI@!3bB#~?hwHyJ1DOD3>~UX82ZxD-8YDfnwYwI3z2l( zP<10Y$Azv$cVIa?ptzy9kwt(Jy_9&kaUb#E!OYBq2M_MQb?@%oJ9lp121^7m0i2kG zJ^_KkhY13O5QPB>2NNI(V1$f8qjS_^gcv9!_hF<6GKAPDgdLojG!P%`OxLhOM69H& zpAjIEmL9~R7PvLKdk3xzkB(1F-Iyj2F}QxhkdTnSbSJG`rMP0$6_HqyjvK0OEawKV zf2%u?oE=cyP~3=~(OL9eJlt>@4LBwItOn{#3@luN-x8t&Qx{RkWf&EtNVS?N3Y(Pi z+9Z1d&C~hcjM9=6f`Ys-B z%+1ZuKYIK&;>i;}k{7@V^N2YFV1a2C(s4u8jpQ5`x)R-inBvC8;4U9L`twz-Tcy0st7(N2q=jC6s@~lGNqJ(yh?e6DR?!WO&U=tGhCm( zeFyRg93<32Aco*6r4S>A7-ld!NFaoS(k;$dBJK=`B13WwatSPGVgC*EDh<`JgsWoD z&ZLZJ>sx-`4XsRB&OKTGR(BvvcR+DNaU*(0XVG`@aKo^I$vC9;-LMu-azZ&s;e?E3 zrNVHr)s}Zi$;zF(_wKz#!>J<#qb$&MYIG1=!(vkt2LGpb_sEY(lX4mb%R_=e5;77wdwBZ9~^?YbaLv3txSndgdJTz zZv6D)|F9$4hT1*vV3+6Rcd;E<@XYJrzh^;yk zUe+781Bx5G?P;4Y?n2f@Jlv3UgQ@1Ab`X#OZ4{_Rv6=y$6ow4Mj48fSQ_b4Ta#m?! zF1}I`608U!bM4KXG++IY4j+M;6l_2^Fg{W?4>P^P%v{(bM~-rUoar4}SC96mt*Fgq zDGJJ1uiu=$efy4IoGW>gR5M6w?gUbfgrt2;aZReaF`F>lQ18YYcPi-xXXy?oZt##* z+{ilA;049Q4fMqjjF1FMPq#GxZfm*NbioW&tvSPa@h4AIR+K|DKxcA0;*~?&g68AW zZ=5a0Wi0%zT|0L$@)R~BdPq4KbWb6~PJ<=oh|5*Fq+&FSG$+G_;7SbGBpo+Y-N@3j zM=$G*+X2N5o=b`w+=Z-*c(@_MOb&;~!&`O$IY{imT(f-#F!ufEvC`uws-$`71s1S& z_4M`+3|^M*6-v$prmSc(Mb(Wr?o`qX&e9#2@Ls?A*MIxxZuigYSGhS`Hf-2X@8u$1 zzm!Q##okt=S%3O*s2%_OOZsPdIIMEL+>PeU`XbjGOLKbVhacj(|DC%l@)!7b z_$rTlozM7+d&Y0fOY-WGeFZyP|qJGg|ud82! zKrq2-AVrF%k&?gNyRNctZvqvxMjoSgm4c_GyH{zdl z>*zP*;RX*~Bu1DSfqWq9L68xNkbzMRHUJI~5&n(6DLESrC{STI!YS~TC)hLnjG&9H zZeix8l4*}p$$6wsl|6je_&Oqw7&eP5IDq8`>IbwBEMLeb3^rJKWVuPl4OKVZxKl|l zI7@dxaf7#B#f``Tlr7)H!;Ph`mW048#GZYUPoZ(M5|hnNvg?`5B9FPqv zpl@&_TzzBX`3p?!*h~(4h016Z>-#(-?vB9UVHU^9a zKdEE9tTPEurl`8{#+^!f!CATkiW`a>>k=j6EIJ-;00XR(!q_aCGLhK4c{5}U(GB+O z-ERs@=&y{DfgPseSHAjHAt3=lgb)!!9NXA&_ht~Skc^ayn5q|%JcJUQH`HQ+)jSN$ z5MnIC;F(|lViCru8)#bI(u%g_m(cACaf!y&HZwTI4X|&{fV$y%uJ6W=ZQ*Vk+IJ&M zj}g5r-GMkeptzy95$EJym%kGaH!!6vEF?%HEw;*#K+eH*(~|LPu9p^E6)<9&Vp2;8 z(X5D%2TX?qbRbR&TR_4hl5M0JNF95Tr#VtwT2@}kYLRnDfn01AO5kiYg!DgeZ4p9{ z(XvR9_@h#!#6=Vkvuc0I=>Nr4hY~)bfJB#l=uj$dtU%w56~zrzH{#sL^>=g!lD`9r z8;Tq25+&j+Iv#FBn`elB!X+I{azt>!m@Y*Ik#bY1H--MO1<*id5bMOjqN7ZXNUdx` zV^ed48H5|0x*)St#8F|nA(%)Ha`1bH`U;7K2Gcmyqbm)5~x3wW7G8-i_oRBf3J}fjB!bu7$8TxYWB5=k#88zY`BPC^N8Eg^ex1hrI1O zcJ3ByXmN=s4rd`bTtK;OJF*g;E<))E$x!&|3DF*?nNT&M0mE;z5oxty3sIzrn6w~A zH45@7fC)+`5Frpk6hI1UD9&9ti?0{q`+bdVP*I30+>V&96Wp!9ma@3nAOtE z9%Hs+2*=pZdgGBo*cF(WvZA=5>PDO!x&DssK=OA$af64b;>Nl|i8u?6ha2qDg%(}5 zHF-axuMeYKd(oR5y*tea6PwSlKmkEQV8XX@x(=RF>tX6xL#_;hLqv#xiPItj8+ZA& zx8gO0J%gHxH1MK31A%H3*OwGcHi!+UW&TM^+ojGffJ0v&7wy`OvfpTT7naT0E3|8f zU!&EZSRX9iwi-)1Zm7DE{9{B{s5=m62NX9HH{zV!>+*Nv;YJ;T*$a3z*zmh5)$5Q> zVjwQCPe-KYLpZ@$HGC5%dVNa0DkT(OL)k(Fg{BRZt}_4PTQ)Efr5y+X&gmiVka#RR z2sd16mquj1)sxk&2mpj(2+>j~rkHtdcB;L(D05Y&(#C2iRzOKQZm7Bu=SHr-qdSoN z9k`~+6r7~0Zmdh3SZdMnaARSSV?)sNil6; zAPUB)L2($oJTx>sJTfvWf$^^mDoj^k-4AbNb z%{xL4Rnr>7boDYyNk}D;l3iF%sFfh!B4!h`DlM-(Q5BTy25r7<0gll=MA3nuQ&W?4 z+)#BR&W&7uM|U9kJD|9sxUnu#BF>`Y;RcV~01;R`>c=UUSTW)OSix_h<>sM?_ac2q z(4YWzI|rx*SrubUMQ;zF0`n?1t#TO7j8fxFtz$#b3rLhmLr^!{Z9$rZU{fviuKtqw z1jVnXf-(2(h8|Fk*hXv~h_;b^`;v|us%|9z7||8#4#e4k*ROO$o2nae&hB;iJMnOX zc@d@+7F88ot8h~QYnx@Tas?G10tgfnr1_V01vMSRO*0SQNC7b+C~x)QCY21NMX0Mx zDJv^Kj*g=kSYLnsVtZHLmC>nNcOSg{-iNQg`r}`gjz53*kH7!&(|`Ez#nby!biytg zyamj9(-^R51~O)2WlEXn4Ysn}r)qre*^B4zmyFEMr~C_@^Y;y2pXcrK;@md%cXS7I z2Qsq*iX^-TxU3CXmdj}Lrc>7f($qoidxr(1hlFgpi%KzdId0waIz21j^_T!%e_y@1PF7&+G z|L1w_Desx)Tlu#q&FisWI#+w{ym!I#>gs;xPd5I{&*VqTUWVskOM3agh62wU#e3#J zH*xQ(2mfl{n)UN^2Qs$ceu!d+(%d7A;;Y{-FxAM)R)|k(tXXz$=%?2xd{7H zypV(MFw;EUug80B!J^{**?Rn~pFj9Za`^wW_j@vH)jn7^rawx}%u$oJ797tWa#X;B z>1tK&(3DM^HX_WxdCr?h@Ei;DIl#MC7Eh z1zt#f>E}L2apUK9XX&5C!wu`6pwY7RQdjTgk%{R$_a8m~;G<8z{KFr=`}1GE|L)sA zeEs=HFP_}J)^p)h(T=4*cNKnP`l}D0-k%sB8yy)LzB+W}@<4xYPdB=6njvU@7jg`NZ$TeUmcn+jZD;?$ z(3haYWK_L)DGU-Tw8Rbq7{+2NXAW;3;lo z^w?jkH;;!KH*Zegx^wTr+@mMY-~Zslk3ae1_uqc|-JiZsrH~c)9w0-G`QtzS;rGA) z`s=U0`tpm)Uw-)U?>_nL%dbUt`I!~TCw+_0`39eZkNI5C=64@|Y(K_)4nOHvze+l8sJgM5 z2ZDZR8SXNsUV zI7Y0QfTrOFyLI(z9hKUSbkw)afr?C}z zxEs0o6n`+R8Ry2rSu`Ox!OkF&@GEJn8MfyJo}E4e{iCKP>A0clM&@q+`p&uotGNS; z8;TnlKlaz^1LENZvJIw97V`~}-k^4BS;`oAIqDag-pYw8CPIxfc&78nx7|ZsYc00d zGX1sS?>vDauc2UGBowrOolcy`7Wl(ZZCAl)-9%9vO`yD@3a=H(!>^ z!lD=sOw8A$pSZXtmY0VZYXYK{McWs4~T~wIFOBPGGvSJT^wCq zG>Ue2chS6=&LY7%uL1=r36L-kI3uTH7uq27ecIJT0f=D`UsJfB4+rPfE?!ap9fZ~SYM#hi*wfcZ~ zxPkwd@4%pgQh^N-GXj~w)_X+744(?z6GI0nWI%Kw9i*>JF$7~DeUPDpL`0XsY05rb zXw=n7v86}CmtE{ysc8hs7&=Tu%vd03aJ9iola3pzZmi~kpr55XkhvXD+)&(DD;mi7 z=f=a0RO5qyfys3Qsg9El1X8RTNOQ14H7HTN&~&jy`ipiV!4aYYq&iGGMhaGKs$&7e zxCDp8mkK{$1N;L&C{$nX- zuQ@(&-qQ0IP$(maKul#+-R>)FOp zwJx@8v&-ANukc`ztPWz#=^8UDmQ(4Po0ETm$;8(T!^WIGt3>q(;36pcwd~OhGFuYKN z2+z1T&x?*6DaJ_pvhs=(LMP`M&La!c+HM=4_YW}8N4*b?&AYp;hS5q*!>AZ=kczru zY$Eie|jY$N>6hIuUj?@4)(5x&v>_4k&K$98}y` z3mVAyXU4;gLx_Wj!iB+?8HWxZE;>?ttgO89L{)W7UBh{lp1CRW}qjGJfu_(FerC z4K|`^XuyeYEDzx#68at@LHC151%dg&=K!1c2+-vKvoc7_n8XZ|GkfE8rf3A?{$vS7*LBWka-v@yM)9F5mnfd+;@GrC(O?HDoZ#e zV{=7jEd>QL-ju2vS$><>%hMf5!VX+l+)&(DBO1u~$Hv1Ap8I0Y@Esa-MTjk8dnEGn zcfh1kuxB3t;mA?CG)`8*#c4*Sp{+UUPGQzG_KY*26#6q@$rMK>X~3TT$YK~*hFCL> z96cI(!Q@@UK~gBRVm%~LN^z@|uf|j&OWv__XXHox#z4*fLhCERiqAmwKvNLkbvol+ zkKo2^!jdVfZY1HL&^71|EPn@XC~hcjWc=J;qYsFO8!{KoVL~hur}c9heDJdy)@Ul2 zAe2Bx2(!!r6j=BI*@4VJsM%k5=x`CKM(iDMcLEX^Qh)-JNo`H_sS}kI<)z1t79A?w zzqerbt{wTXux{PDdGn@?8*+1VawJK}f4>pAhz)*(emdjbh~UO_!f-(TdJo-Ee!d#duq5 z^M%H9wKb=!PF5Z-gW7TQ2x?&pk#O;AV1jxR)||MIVwi2LIoSe|*hp4bxm70}H&oq7 z!a<>H&>dL*4rnrk_ie?El{>u>^iFYcBWJ^wyj^<>i%QB*RKW;(0VN`B=sbSuQag+j z0tjauAsj6_3_f6$ER+irqY?;gWvrCP=560@7{R7tq+%9&1LTH?-msiq%H6aj4@`6D zNXhY&Rn=$Dk!gT5y|94x0BbI_U2JNs7wv=6N3p+TuGrMi+GU%SrY2KHm#=R8^y9yG z&d>ix=TAQlwR_&dF3-#F%EcuI&%6%q0ADkKXZ;19H;V6ayqD&Gka%9^d4sBMEdMsI z@1Q%7gdI@a;O$OvgS(J*5f3*^N`qOCAol@|*pAK`5EC|UlEefv6aPs?A!oy;&D(bD z-n+lB2%<;TnYxCii|rjYG zJT(vaA>1cKA9e&W$rNZHf;Tb#J59xnzJ%e1svAi-D0B_F1Iyn5txVw!S#cxAv9$hv zB_3|1To)4}o40P?S+MV5(J|mbOYzzmb zl2B~exN-B=y!>5z_rt^r&Es@!LsRRe?!LjH5ftf;PfSjXkB^~Hcj)p!9|Vw&ORRT+ zu@&_==gy^8rmO&Nc%D%={`$iYs%|X*Cav$FJCGeapt!-)MsXwM%*~E(O$9g9umBNT|U_9Lvk?8wV2e4fCckK5@`3qhU>JdAX3|Wt$@0r z-VHrjbO&??7VN-;7Q*73QgtKEVZHueiiaC8hF<#$-2D9f-0aN# zdv|Z&x_M)2V*J_&8io!ri6RX-WwI-{0gXd34P`+zqnW4~{*EpjwktZgq1yD}NRw`f zvt-E(_ z-Mo%O&V^fy0PG{tuN>ftjirx+~BFIxUv4(BFz=V z!wnw0at5;$#W948CNZr>(aF=I0+JP>iE8M+;rHAiF_;!z#0B)rKp!w^6^fSUjm@nc zJ%d69cka*5KYr)wv*+)=`~3OyXHVaG`|(5Yfdd;zA%Y0v5V>-hF*qpGQw9bH`P~)9 zkOZFKryQ(81WG$q#kNT`s1wXh!9|$PW2Ge$F>zyC^9SBVZ^-+bH;sytY402!pLwmJ z>Jrau^1MFJEA&*|SeJ)^E?RdWvpb-;p}3Lepw5n$;^79HeV3G!mL0D+QFR7or7f2* z3}txi`tAF3Z$Eqg*T4Pv)n{LP@#R-vef`x}Uw-lVXP>X_ z_oyWU%v3|t1Y^})bR)XZbHi5^9MFJgE}(ll1ds+uAegu2XH{Gd1&qTug$NC?hpz;2 z0&`ufO-ECVcEce0p1#2=!=n&8kixk+EphYa%^S$(OaWr(6dfD8cFnAqOU9Zlt_&m{ zH&oro>=B^vt~;<=JD|9sxRD)fk>)Dm;Rfcea`dVxOLeF~N+2Ro@W8M&Okzcf1bkos z0enC}h!BF4$#2dSWb;^lfz_>SD^bBMyFvk3Yuj|y-WY)q2ZBhV-phq1%_n< zlELs*i!u-~I2#sSHNxydRi@oU8=_TGI~Z>(>muxA4it+0v)D{VL4Jg~2lxO@O*^}~B_ku58DDFmqGA0dA0cl#%dh~`Z>A-ncV>`gykWtxRG_J!3&Cq z8;}fqRU@rt0Pm;4goCIIfqnq_ptQ^lPJ@0RcmO`=q*23UJjAMD$zTD)h?K!>j1WOB zB3umX=RJTg1Q_wBmZJg|-7^qj>E(!th)dP2l;yFEgIqL5y}`J8920B-G-vDT8!t3n zY-wvV7TH;EGE$kcNE35aH!^!C)_2z($od^n+~B#SxWQe>x`>Ax#>W|`2Glnq1_+-F z!c^e*$Y65}Q8-|W27z&MY==yne<1Xk|*)9}0Sbx&xWn0qrWv zLsoGk>rjIi6c0CyaRYD=vTRs9kgC=w8HB08puqv=Ls0k%%LM!#r%*6bTUQUy#Q7%T zfdu%4WB{Y7uWa~=Mw&ttQ;c$w5mq?D-VGQx(l8993==5~v(E;acQCMSm&1XwGwV&o zQ#aNKH`Ke4nOncUtM0&R?||Y4&n3kT?n2f@Jlv?Ns%EW7eIwL^me%%m*dt6hlZ40} z%|`GDDpQQ+5lw_R$wLGW$O?X$N>HLgW^hRn-;ipw4<~&vcY_dcaNJ0&O&nmkNNO&iNq*ow^J4t*Xdy$#zu;6_P0Zm4%-wGRdTJl%oJ z?11714_U>HtV0c6P(0ia55-bdt-=egqBSft2r|&};p#+O-o)ijLhL{jg%pmMDwnfT z=F$RNXjgY{udNy}HLq;k5n%_L>xr-fO`?V$A`IayqGTVDPAv9VBM4iS$t0Ch!Jd+m zq~nIF8=1NF>$~a>to9BlZtz@E+~6)`UBttUh2~4KSvXusNvK$4FqxC8>KY#zIyzw! zMYSm-T1^6#Bq}qwViHn9Q2P?DfsyJLpBKa%B6bTw2ARYbpif9H5$s8eK7b%PTp^1{ zgD}4U20Bjah_*$oqHB~)QFUXr4+Z@^-GR*PfLcX)$SQ7R9cu7`;^785P)JJ(+YwYc zf}61@;hIzS%5Y+WfPpDGHPt2bkV;rWu+_1l#^FK-kwnT8lw(8@KH6d!Q&@7^@J(x5 zN2fIY@LQX+v8lBEkd|e%P~3NkoBWD!)bO*PPRyt}t=V36}q%m5VI zPn^w7WtJK!!Sy{y62*ukG7OG{K+mad6J}N(EZnXZw=jje)W(O2Ec*rVlWF2bog5u!@@(c)v3O08_pQf{C(s3aMP4ul0bpcaKgc<0! z!00qPGR1dYIJ+iLp-p;=yWU|=A#o~+OQgum6l1wCehUW-Qdt|pg>;mYx_nqo#b)Xr z*mgsbKPNF0rmlhRQiD8bi;74(Zm7DEnOncUtM0&R@4&bYpjX_;O4f*t8=^8efx*}= zjJ#mxv>RlQUR^+j z{XE@)% z9I*mO7#+QKZA^xLLOQwX6-{WRxD;ja2;-smi zy|btP%J8)b%yhqV@4@Wc!^e-`e*1}ux8HvI@uNrcbF(uK?%%t6`_}Z$>yzWxMy_5N z?C*uJ&?(W4Ic`@*#wKsvy8Gb4%-sB=hxmj0cc!OCFL$>!HB^-z+>^g~jrTt3xS{IC zY99*vdAb9c*#X53#f>#S?lSlB@o-}WKR+jTjN`bNgDzxC+7m!Ev|=kLG& z%ZkSL-+ul1?_R!m`sl&!snOw~{;sy>hT7^=6=lbc96GRfZ^5n|+qZ4mv>`V~AbRPm zOFC|-x{;Y%zrL&Pz-sS+;s)=>s%|WODy_rcST)?p$=$GV)7HHFoxAt!lm6f`?}UTg zpq5mgV5^I2*g0xyFdwb%Ts_>H=P$tgffnbjwk0TLyRl^lN>c{tKBfOOeeh>-BJ|fo zLz2T88=shjOmq9r-M1dh&Odtm96LSk}qYU=v+8#kwK-M)M8K9V`}4<9{#`<;W@cyS=H>wi5=0LKPkUhxfQL|rAcycq1UDuTLLBn(_~_Bm5gJSJ(O0hYcVFV* zH}>F=FjX?Fu9aY`QikhNim&`u1QnSX*8)kU4a4W{n3bgChN>H@eJJSX=?-LO2NX9H zH`XCY#9MMa+(7e9Kcow%wAd1-Cu&GLIIgYT1j|FDiqt){NSTO#_D8B?&!?G&cFxRa zVT%oka5GXi7enx++Pb=PNV$*_kaQs;2qCn!VHsSGzaTD)i($$*iJd(1o zq~nIF8=1NF>$~a>to9BlZYXZVJG%zoowBL%v>C^lH z8KKr9f^%g!dArla3pzZe-@xukWfmu-ZGIxS_Za@9bWOzZDNROeVtd!b(XDad06; zX0W^v#RZ~Hh;;xaL>94=x+U|gSVwRr@|sDa_-Nx`CSV!gfWlS23Aj<_d4t6zh^q0q z`|r;@Dw%lvbgpFL`SX&Y=g%I>zuGx}-{AFm-ac=&Z^8O`x&yic!46#0xhl9JX)CaG z2pmfo;vR~_aa6{zVG^4SnZ$;UU={2KhK67! z)gr|y@RT&bJ<7gdu#*xdND_2}*qO0n{NREZAx;Ti@Ta9H17}U_I}EA_-46MUth@_jULi@sNb) z@@|QOf<1fpvc2fR!$*os%G|8BhVv|HMb8UXv`XnJ>u8%fX^nnVnGt7jLWBv5622f| zYG9mBVSi$bCG=u&+U#)-niZrVQ~)c$6@&^Kha}ukdie_02;$(uLx<4}^;lVX<%z25 znzI-hbD_Dly`!@mGicH4)C9)O_V)C2%LF;p2%B-arXD!yNTNxZ^?bnS+I0tl9Z=j* z+*pSo5pT)yaDz3koJ#MiTU=p_d}XPtRJj^~LTXqYStG@oIK)7 zBX;iW@yZhvM9$WMWiGa1@N94Y;FT-VwcO07ALexWA+HAU z;f9$k%e)H1=2q;NvT~Cv0U2=CtjGpX4F)h91!#b&^wKj_T9sZN1Q!4cEE3qRUZep5 z0M}To1)aY_FId(A7cl8^&R{_eaxOwMCnXqGnXjVC(cqUy$aK45h1x&y%uOek(BZmctkh`ro+xDi%2BFYB8 z@zo9E<`j`YnsQhZMvxEzwFs_={X-z&D6%3DGm4KH7O1E^RYhoNXl!b3ZR_al>FMp` zU^h&58w3gv28@j1fJHJMf+->S#jTJFlc4qzl3t8Igtfr*hZt)Jd?3d~$gn)+JSqlN zX1$3-BoQXoS*-X&Yyl9YWKW@U7nZU#or5_c^&+#;BWD)zrgcG z@nVkm(#VZ?UIweEsvGP1fYG(<4g@=(xWU_=CR4ZzSr_qegY7%v@${=kC<*u$PM5@x z>;>ft6GaSqIS-*q#E(OVj~qQli)rB5L`tKhtGgFEh97B+7=eyqJQw045gmhUAl?z< zzxer;nz|Zl7G|YxkzA-c+J9+Wy;cR>X<}-v8aQW&18wH`eogUe~TWkboUf z+~BQMal;-k+4UtJZZO;7n1PCd?}#wD266*>h*=GUrLMLz#nh#slGT|xt((&~az@1v zD=|2ba2#RVXHaI4<{5kT1ckXI2@u2{;fErW<}#&H?dN&u1a-QJNG6g+>Gab%Hj9G! za!^a`g&Cy;Qi%yRM@u?xsJfAWb3&J(JFo&fptzy9kzI@tx|(>n;XpzJ2-k+oWK>L7 z4C4V!4-+9lf@*|=h)@eIf&{~K;@Y<#Z9Uj0Bf<`*iloo=$q0-X1|UEXWC)ls%-nhi zDerbXg(8&ZkQ4_}FX7f&Xr6&KU>)6kgF_=@6H_;D-M)M8{{8z8 zW@hK+=I7@hK791(@#D7{Pu_Xw>C>mro;`p5?z`_X-hclE;#Y_d5WoJ-Z(hFq@WbE! z_M?wJ`uO92_+2<&y$XHz>eVNoeER8UE1 cfB5~^Uw!fUXP@#85*s&Ozv6!~RGISs0S2dnumAu6 diff --git a/fiveparaminte-main/scratch/reconstruct_packets.py b/fiveparaminte-main/scratch/reconstruct_packets.py deleted file mode 100644 index fb1b478..0000000 --- a/fiveparaminte-main/scratch/reconstruct_packets.py +++ /dev/null @@ -1,28 +0,0 @@ -import re -import struct - -def read_u16_le(data: bytes, offset: int) -> int: - if offset + 2 > len(data): - return None - return struct.unpack_from(' 6 else -1 - - # We want to print only if something is found - # Redirect output internally - import io - import sys - old_stdout = sys.stdout - new_stdout = io.StringIO() - sys.stdout = new_stdout - - search_scaled_values(p, 108, 53, 75) - - output = new_stdout.getvalue() - sys.stdout = old_stdout - - if output.strip(): - print(f"Packet #{idx} (Len={l}, Subtype={subtype}):") - print(output, end="") diff --git a/fiveparaminte-main/scratch/search_vitals.py b/fiveparaminte-main/scratch/search_vitals.py deleted file mode 100644 index 51913e7..0000000 --- a/fiveparaminte-main/scratch/search_vitals.py +++ /dev/null @@ -1,63 +0,0 @@ -import struct - -def search_value_in_packet(p: bytes, val: int, label: str): - # Search as uint8 - for offset in range(len(p)): - if p[offset] == val: - print(f" {label} found as uint8 at offset {offset}") - - # Search as uint16 LE - for offset in range(len(p) - 1): - v = struct.unpack_from(' 8192: - consumed += 1 - continue - - if consumed + pkt_len <= len(stream): - packets.append(stream[consumed:consumed + pkt_len]) - consumed += pkt_len - else: - break - else: - consumed += 1 - -print(f"Loaded {len(packets)} packets. Scanning for HR=88, Systolic=108, MAP=75...") - -for idx, p in enumerate(packets): - l = len(p) - subtype = p[6] if l > 6 else -1 - - # Let's decode timestamp if it is a 45-byte packet - ts_str = "" - if l == 45: - year = struct.unpack_from(' u16 LE = {val}") diff --git a/fiveparaminte-main/scratch/search_vitals_989.py b/fiveparaminte-main/scratch/search_vitals_989.py deleted file mode 100644 index a0571d5..0000000 --- a/fiveparaminte-main/scratch/search_vitals_989.py +++ /dev/null @@ -1,21 +0,0 @@ -with open("/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/scratch/raw_contec_stream.bin", "rb") as f: - stream = f.read() - -packets = [] -i = 0 -while i < len(stream) - 4: - b0, b1, b2, b3 = stream[i], stream[i+1], stream[i+2], stream[i+3] - if b3 == 0x46: - pkt_len = b0 | (b1 << 8) - if pkt_len == 989 and i + pkt_len <= len(stream): - packets.append(stream[i:i + pkt_len]) - i += max(pkt_len, 4) - else: - i += 1 - -if packets: - pkt = packets[-1] - print("Last 100 bytes of 989-byte packet:") - for off in range(889, 989, 2): - val = pkt[off] | (pkt[off+1] << 8) - print(f" Offset {off}: hex={pkt[off]:02x} {pkt[off+1]:02x} -> u16 LE = {val}") diff --git a/fiveparaminte-main/scratch/search_vitals_range.py b/fiveparaminte-main/scratch/search_vitals_range.py deleted file mode 100644 index 77b7aa5..0000000 --- a/fiveparaminte-main/scratch/search_vitals_range.py +++ /dev/null @@ -1,41 +0,0 @@ -import struct - -filepath = "/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/scratch/raw_contec_stream.bin" - -try: - with open(filepath, "rb") as f: - stream = f.read() -except Exception as e: - print(f"Error: {e}") - import sys - sys.exit(1) - -# Find latest 288-byte and 989-byte packets -pkt_288 = None -pkt_989 = None -i = 0 -while i < len(stream) - 4: - b0, b1, b2, b3 = stream[i], stream[i+1], stream[i+2], stream[i+3] - if b3 == 0x46: - pkt_len = b0 | (b1 << 8) - if pkt_len == 288 and i + pkt_len <= len(stream): - pkt_288 = stream[i:i + pkt_len] - elif pkt_len == 989 and i + pkt_len <= len(stream): - pkt_989 = stream[i:i + pkt_len] - i += max(pkt_len, 4) - else: - i += 1 - -if pkt_288: - print("=== Scanning 288-byte packet (tail, offsets 250-287) for values 75-90 ===") - for off in range(250, len(pkt_288) - 1, 2): - val = struct.unpack_from(' Cache: {current}") - last_printed = current diff --git a/fiveparaminte-main/scratch/test_parser.py b/fiveparaminte-main/scratch/test_parser.py deleted file mode 100644 index 60225bc..0000000 --- a/fiveparaminte-main/scratch/test_parser.py +++ /dev/null @@ -1,114 +0,0 @@ -""" -Verify the new parser offsets on the raw captured stream. -New mappings: -- HR: 989-byte packet, offset 904 (u16 LE) -- SpO2: 286-byte packet, offset 264 (u16 LE) -- Temperature: 56-byte packet, offset 8 (float32) -- NIBP: 45-byte packet, offset 15, 17, 19 (u16 LE) -""" -import struct - -def read_u16_le(data, offset): - if offset + 2 > len(data): - return None - return struct.unpack_from(' len(data): - return None - return struct.unpack_from(' 1.0 and 30.0 < temp < 45.0: - if vitals_cache["temperature"] != round(temp, 1): - vitals_cache["temperature"] = round(temp, 1) - changed = True - elif temp is not None and abs(temp - 9999.0) <= 1.0: - if vitals_cache["temperature"] is not None: - vitals_cache["temperature"] = None - changed = True - elif pkt_len == 45: - sys_bp = read_u16_le(pkt, 15) - dia_bp = read_u16_le(pkt, 17) - map_bp = read_u16_le(pkt, 19) - - # 9999 means no NIBP measurement active - if sys_bp is not None and sys_bp != 9999 and sys_bp > 0: - vitals_cache["systolic_bp"] = float(sys_bp) - changed = True - elif sys_bp == 9999 or sys_bp == 0: - if vitals_cache["systolic_bp"] is not None: - vitals_cache["systolic_bp"] = None - changed = True - - if dia_bp is not None and dia_bp != 9999 and dia_bp > 0: - vitals_cache["diastolic_bp"] = float(dia_bp) - changed = True - elif dia_bp == 9999 or dia_bp == 0: - if vitals_cache["diastolic_bp"] is not None: - vitals_cache["diastolic_bp"] = None - changed = True - - if map_bp is not None and map_bp != 9999 and map_bp > 0: - vitals_cache["map_bp"] = float(map_bp) - changed = True - elif map_bp == 9999 or map_bp == 0: - if vitals_cache["map_bp"] is not None: - vitals_cache["map_bp"] = None - changed = True - - if changed: - current_vitals = {k: v for k, v in vitals_cache.items()} - if current_vitals != last_printed: - print(f"Pkt #{idx} (len={pkt_len}) -> Vitals: {current_vitals}") - last_printed = current_vitals diff --git a/fiveparaminte-main/scratch/test_updated_parser.py b/fiveparaminte-main/scratch/test_updated_parser.py deleted file mode 100644 index 189584a..0000000 --- a/fiveparaminte-main/scratch/test_updated_parser.py +++ /dev/null @@ -1,50 +0,0 @@ -import sys -import os - -# Add parent directory to path -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) - -from contec_parser import parse_contec_binary_packet - -# Read captured stream -filepath = "/home/prathiyuman/Prathiyuman/ContecMonitor/fiveparaminte-main/scratch/raw_contec_stream.bin" -try: - with open(filepath, "rb") as f: - stream = f.read() -except Exception as e: - print(f"Error: {e}") - sys.exit(1) - -print(f"Loaded raw stream of {len(stream)} bytes") - -# We will scan the stream and feed packets into the parser -# Since we know the packets start with 0x46 at index + 3, let's scan. -i = 0 -packet_count = 0 -parsed_count = 0 -last_vitals = None - -while i < len(stream) - 4: - b0, b1, b2, b3 = stream[i], stream[i+1], stream[i+2], stream[i+3] - if b3 == 0x46: - pkt_len = b0 | (b1 << 8) - if 30 < pkt_len < 1050 and i + pkt_len <= len(stream): - pkt_data = stream[i:i + pkt_len] - packet_count += 1 - - # Feed packet to parser - vitals = parse_contec_binary_packet(pkt_data, "192.168.100.139") - if vitals: - parsed_count += 1 - # Check if fields changed - v_dict = {k: v for k, v in vitals.model_dump().items() if v is not None and k not in ['device_id', 'patient_id', 'timestamp', 'ip_address', 'present_fields']} - if v_dict and v_dict != last_vitals: - print(f"Index {i} (len={pkt_len}) -> Vitals: {v_dict}") - last_vitals = v_dict - i += max(pkt_len, 4) - else: - i += 1 - else: - i += 1 - -print(f"\nDone. Scanned {packet_count} packets, successfully parsed {parsed_count} packets.") diff --git a/fiveparaminte-main/scratch/udp_heartbeat.py b/fiveparaminte-main/scratch/udp_heartbeat.py deleted file mode 100644 index 09bc49e..0000000 --- a/fiveparaminte-main/scratch/udp_heartbeat.py +++ /dev/null @@ -1,36 +0,0 @@ -import socket -import time - -TARGET_SUBNETS = ["202.114.4.255", "255.255.255.255"] -PORTS = [511, 1000, 2000, 5000, 8000, 8300, 9000, 10008, 12345] - -# Common Contec discovery payloads -PAYLOADS = [ - b"CMS", - b"CMS_SEARCH", - b"CMS_REGISTER", - b"CMS_HEARTBEAT", - b"\x55\xaa\x01\x00\x01", # sync header + command - b"\xaa\x55\x01\x00\x01", - b"\x00\x00\x00\x00", - b"\x01" -] - -print("Sending UDP discovery heartbeats to trigger the monitor...") - -s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) - -for subnet in TARGET_SUBNETS: - for port in PORTS: - for payload in PAYLOADS: - try: - # Send broadcast packet - s.sendto(payload, (subnet, port)) - print(f"Sent {len(payload)} bytes to {subnet}:{port}") - except Exception as e: - pass - time.sleep(0.01) - -s.close() -print("Discovery heartbeats sent successfully.") diff --git a/fiveparaminte-main/scratch/udp_sniff_now.py b/fiveparaminte-main/scratch/udp_sniff_now.py deleted file mode 100644 index d267235..0000000 --- a/fiveparaminte-main/scratch/udp_sniff_now.py +++ /dev/null @@ -1,48 +0,0 @@ -import socket -import time - -PORT_LIST = [511, 515, 516, 517, 518, 519, 520, 1000, 2000, 5000, 6060, 8000, 8300, 9000, 9200, 10008, 12345] -TIMEOUT = 30.0 # seconds - -print("Starting background UDP sniffer on ports:", PORT_LIST) -print("Listening for 30 seconds...") - -sockets = [] -for port in PORT_LIST: - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - s.bind(("0.0.0.0", port)) - s.setblocking(False) - sockets.append((s, port)) - except Exception as e: - print(f"Could not bind to UDP port {port}: {e}") - -start_time = time.time() -captured = [] - -while time.time() - start_time < TIMEOUT: - for s, port in sockets: - try: - data, addr = s.recvfrom(4096) - # Log from any sender that is not local loopback - if addr[0] != "127.0.0.1": - event = f"[UDP Port {port}] Received {len(data)} bytes from {addr[0]}:{addr[1]} - Hex: {data.hex()}" - print(event) - captured.append(event) - except BlockingIOError: - pass - except Exception as e: - pass - time.sleep(0.01) - -for s, port in sockets: - s.close() - -print("Finished UDP sniff.") -with open("C:\\Users\\Dell\\.gemini\\antigravity-ide\\brain\\17f86d9d-29a1-4f54-b185-045db1a407b4\\scratch\\udp_sniff_now_results.txt", "w") as f: - f.write("UDP Sniffing results:\n") - if not captured: - f.write("No UDP packets captured.\n") - for event in captured: - f.write(event + "\n") diff --git a/fiveparaminte-main/static/contec-vitals-sdk.js b/fiveparaminte-main/static/contec-vitals-sdk.js deleted file mode 100644 index 8bb37f5..0000000 --- a/fiveparaminte-main/static/contec-vitals-sdk.js +++ /dev/null @@ -1,249 +0,0 @@ -/** - * ContecVitalsClient - A reusable JavaScript client for the Contec CMS7000PLUS Patient Monitor. - * Works in Web, React, React Native, and Node.js environments. - * - * Features: - * - Real-time streaming via WebSockets - * - Automatic HTTP polling fallback if WebSockets are blocked or disconnect - * - Exponential backoff auto-reconnection - * - Lifecycle callbacks for UI updates - */ -class ContecVitalsClient { - /** - * @param {Object} config - Client configuration options - * @param {string} config.baseUrl - Server URL (e.g. 'https://contectfiveparamonitor.onrender.com') - * @param {string} [config.deviceId] - Optional device filter (e.g. 'CMS7000PLUS_192.168.100.120') - * @param {number} [config.pollingInterval=3000] - Polling interval in ms if falling back to HTTP - * @param {function} [config.onVitals] - Callback when new vitals data arrives - * @param {function} [config.onStatusChange] - Callback when connection status changes ('idle', 'connecting', 'connected', 'polling', 'disconnected') - * @param {function} [config.onError] - Callback on error - */ - constructor(config) { - this.baseUrl = config.baseUrl.replace(/\/$/, ''); - this.deviceId = config.deviceId || null; - this.pollingInterval = config.pollingInterval || 3000; - - // Callbacks - this.onVitals = config.onVitals || (() => {}); - this.onStatusChange = config.onStatusChange || (() => {}); - this.onError = config.onError || (() => {}); - - // State management - this.ws = null; - this.pollTimer = null; - this.status = 'idle'; - this.reconnectAttempts = 0; - this.maxReconnectAttempts = 5; - this.reconnectDelay = 1000; - this.isStarted = false; - this.lastVitalsTime = 0; - } - - /** - * Start listening for vital signs. - */ - start() { - if (this.isStarted) return; - this.isStarted = true; - this.reconnectAttempts = 0; - this._setStatus('connecting'); - this._connectWebSocket(); - } - - /** - * Stop listening and clean up all connections/timers. - */ - stop() { - this.isStarted = false; - this._clearPollTimer(); - this._closeWebSocket(); - this._setStatus('idle'); - } - - /** - * Change current status and trigger callback. - * @private - */ - _setStatus(newStatus) { - if (this.status !== newStatus) { - this.status = newStatus; - this.onStatusChange(newStatus); - } - } - - /** - * Parse the base URL to construct the WS URL. - * @private - */ - _getWebSocketUrl() { - const wsProto = this.baseUrl.startsWith('https') ? 'wss' : 'ws'; - const cleanUrl = this.baseUrl.replace(/^(https?:\/\/)/, ''); - return `${wsProto}://${cleanUrl}/ws/vitals`; - } - - /** - * Open WebSocket connection. - * @private - */ - _connectWebSocket() { - this._clearPollTimer(); - const wsUrl = this._getWebSocketUrl(); - - try { - this.ws = new WebSocket(wsUrl); - - this.ws.onopen = () => { - console.log('ContecVitalsClient: WebSocket connected'); - this._setStatus('connected'); - this.reconnectAttempts = 0; - this.reconnectDelay = 1000; - }; - - this.ws.onmessage = (event) => { - try { - const data = JSON.parse(event.data); - this._processIncomingVitals(data); - } catch (err) { - this.onError(new Error('Failed to parse incoming WS message: ' + err.message)); - } - }; - - this.ws.onerror = (err) => { - this.onError(err); - }; - - this.ws.onclose = (event) => { - this.ws = null; - if (!this.isStarted) return; - - console.log(`ContecVitalsClient: WebSocket closed (code: ${event.code})`); - - // Attempt reconnection - if (this.reconnectAttempts < this.maxReconnectAttempts) { - this.reconnectAttempts++; - const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1); - console.log(`ContecVitalsClient: Reconnecting in ${delay}ms (Attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})...`); - this._setStatus('connecting'); - setTimeout(() => { - if (this.isStarted) this._connectWebSocket(); - }, delay); - } else { - // Exceeded Max WebSocket retries -> Fallback to HTTP Polling - console.log('ContecVitalsClient: WebSocket connection limit exceeded. Falling back to HTTP polling.'); - this._startPolling(); - } - }; - } catch (err) { - this.onError(err); - this._startPolling(); - } - } - - /** - * Close WebSocket connection cleanly. - * @private - */ - _closeWebSocket() { - if (this.ws) { - // Remove event listeners to prevent onclose reconnect logic - this.ws.onopen = null; - this.ws.onmessage = null; - this.ws.onerror = null; - this.ws.onclose = null; - try { - this.ws.close(); - } catch (e) {} - this.ws = null; - } - } - - /** - * Start HTTP Polling. - * @private - */ - _startPolling() { - this._closeWebSocket(); - this._setStatus('polling'); - this._poll(); - } - - /** - * Perform single HTTP poll. - * @private - */ - async _poll() { - if (!this.isStarted || this.status !== 'polling') return; - - try { - const url = `${this.baseUrl}/api/latest-readings?limit=1` + (this.deviceId ? `&device_id=${encodeURIComponent(this.deviceId)}` : ''); - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const readings = await response.json(); - if (Array.isArray(readings) && readings.length > 0) { - this._processIncomingVitals(readings[0]); - } - } catch (err) { - console.error('ContecVitalsClient polling error:', err.message); - this.onError(err); - } - - // Schedule next poll - this.pollTimer = setTimeout(() => this._poll(), this.pollingInterval); - } - - /** - * Clear the HTTP polling timer. - * @private - */ - _clearPollTimer() { - if (this.pollTimer) { - clearTimeout(this.pollTimer); - this.pollTimer = null; - } - } - - /** - * Normalizes and emits the vitals data payload. - * @private - */ - _processIncomingVitals(data) { - if (!data) return; - - // Filter by device if configured - if (this.deviceId && data.device_id !== this.deviceId) { - return; - } - - // Normalize property names and types - const normalized = { - deviceId: data.device_id, - patientId: data.patient_id, - timestamp: data.timestamp, - heartRate: typeof data.heart_rate === 'number' ? Math.round(data.heart_rate) : null, - spo2: typeof data.spo2 === 'number' ? Math.round(data.spo2) : null, - temperature: typeof data.temperature === 'number' ? parseFloat(data.temperature.toFixed(1)) : null, - systolicBp: typeof data.systolic_bp === 'number' ? Math.round(data.systolic_bp) : null, - diastolicBp: typeof data.diastolic_bp === 'number' ? Math.round(data.diastolic_bp) : null, - mapBp: typeof data.map_bp === 'number' ? Math.round(data.map_bp) : null, - respiratoryRate: typeof data.respiratory_rate === 'number' ? Math.round(data.respiratory_rate) : null, - }; - - // Calculate BP display string helper - normalized.bloodPressureDisplay = (normalized.systolicBp && normalized.diastolicBp) - ? `${normalized.systolicBp}/${normalized.diastolicBp}` - : null; - - this.onVitals(normalized); - } -} - -// Export for ES6/Node compatibility -if (typeof module !== 'undefined' && module.exports) { - module.exports = ContecVitalsClient; -} else if (typeof window !== 'undefined') { - window.ContecVitalsClient = ContecVitalsClient; -} diff --git a/fiveparaminte-main/static/dashboard.html b/fiveparaminte-main/static/dashboard.html deleted file mode 100644 index ff64601..0000000 --- a/fiveparaminte-main/static/dashboard.html +++ /dev/null @@ -1,665 +0,0 @@ - - - - - -Contec Vital Signs Monitor - - - - - - - -

-
-
-

CONNECTING

-

Verifying patient identity against monitor records…

-
-
- - -
-
- — PATIENT — - No device -
-
- OFFLINE - --:--:-- -
-
- - -
- - -
- - -
-
RESP
- -
-
- - -
- -
-
HEART RATE
-
---bpm
-
ECG Lead I
-
WAIT
-
- -
-
SpO₂
-
---%
-
Pleth waveform
-
WAIT
-
- -
-
RESP RATE
-
---/min
-
Thoracic impedance
-
WAIT
-
- -
-
NIBP
-
---mmHg
-
Sys / Dia (MAP)
-
WAIT
-
- -
-
TEMP
-
---°C
-
Body temperature
-
WAIT
-
- -
-
- - - - diff --git a/main.py b/main.py index 617f971..8683ee7 100644 --- a/main.py +++ b/main.py @@ -105,7 +105,8 @@ async def lifespan(app: FastAPI): print("\n" + "=" * 65) print(f" Contec {model} Patient Monitor - Vital Signs Forwarder") print("=" * 65) - print(f" DASHBOARD: http://localhost:{port}/api/dashboard") + print(f" DASHBOARD: http://localhost:{port}/dashboard") + print(f" http://localhost:{port}/api/dashboard") print(f" API Docs: http://localhost:{port}/docs") print(f" Contec Ports: {settings.contec_ports}") print(f" Monitor Model: {model}") @@ -124,10 +125,34 @@ async def lifespan(app: FastAPI): # Startup: Start the background retry task retry_task = asyncio.create_task(retry_failed_transmissions()) + # Startup: Start bore tunnel for remote monitors if available and not already running + bore_proc = None + bore_exe = os.path.join(os.path.dirname(os.path.abspath(__file__)), "bore.exe") + if os.path.exists(bore_exe): + import subprocess + try: + check_out = subprocess.check_output('tasklist /FI "IMAGENAME eq bore.exe"', shell=True).decode() + if "bore.exe" not in check_out: + bore_proc = subprocess.Popen( + [bore_exe, "local", "511", "--to", "159.223.110.159", "--port", "61501"], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL + ) + logger.info(" [OK] Bore tunnel active for remote hotspot monitors (159.223.110.159:61501)") + else: + logger.info(" [INFO] Bore tunnel is already running") + except Exception as e: + logger.debug(f"Could not check/start bore tunnel: {e}") + yield # Shutdown logger.info("Shutting down servers...") + if bore_proc: + try: + bore_proc.terminate() + except Exception: + pass retry_task.cancel() for server in servers: server.close() @@ -156,6 +181,13 @@ app.add_middleware( # Include dashboard routes app.include_router(dashboard.router, prefix="/api") +# Also serve dashboard at root and /dashboard directly for convenience +from fastapi.responses import HTMLResponse +@app.get("/", response_class=HTMLResponse) +@app.get("/dashboard", response_class=HTMLResponse) +def serve_dashboard_root(): + return dashboard.serve_dashboard() + # Serve static folder from fastapi.staticfiles import StaticFiles app.mount("/static", StaticFiles(directory="static"), name="static") diff --git a/models.py b/models.py index 9194976..a4d02e2 100644 --- a/models.py +++ b/models.py @@ -19,6 +19,7 @@ class Patient(Base): gender = Column(String, nullable=True) # M/F/U from PID-8 dob = Column(String, nullable=True) # YYYYMMDD from PID-7 bed_id = Column(String, nullable=True) # bed from PV1-3 + device_id = Column(String, nullable=True, index=True) # assigned machine / device_id class VitalReading(Base): __tablename__ = "vital_readings" diff --git a/routers/dashboard.py b/routers/dashboard.py index 6e4acd0..5908179 100644 --- a/routers/dashboard.py +++ b/routers/dashboard.py @@ -2,18 +2,29 @@ import asyncio import json import logging import socket -from typing import List, Optional -from datetime import datetime, timezone +from typing import List -from fastapi import APIRouter, Depends, HTTPException, WebSocket, WebSocketDisconnect, Request +from pydantic import BaseModel +from typing import List, Optional + +from fastapi import APIRouter, Depends, HTTPException, WebSocket, WebSocketDisconnect from fastapi.responses import HTMLResponse from sqlalchemy.orm import Session +from sqlalchemy import or_ from database import get_db -from models import Device, VitalReading, TransmissionLog +from models import Device, Patient, VitalReading, TransmissionLog logger = logging.getLogger(__name__) router = APIRouter() +class PatientAssignRequest(BaseModel): + device_id: str + mrn: str + name: Optional[str] = None + dob: Optional[str] = None + gender: Optional[str] = None + bed_id: Optional[str] = None + # === WebSocket Manager for real-time vitals push === class VitalsWebSocketManager: """Manages WebSocket connections for live vitals streaming.""" @@ -70,61 +81,333 @@ def health_check(): return {"status": "ok", "service": "Patient Monitor Vital Signs Forwarder"} @router.get("/status") -def get_system_status(request: Request, db: Session = Depends(get_db)): +def get_system_status(db: Session = Depends(get_db)): total_devices = db.query(Device).count() active_devices = db.query(Device).filter(Device.status == "active").count() total_readings = db.query(VitalReading).count() pending_transmissions = db.query(VitalReading).filter(VitalReading.transmitted == False).count() - active_ports = getattr(request.app.state, "active_ports", []) return { "total_devices": total_devices, "active_devices": active_devices, "total_readings_stored": total_readings, - "pending_transmissions": pending_transmissions, - "active_ports": active_ports + "pending_transmissions": pending_transmissions } @router.get("/devices") def list_devices(db: Session = Depends(get_db)): devices = db.query(Device).all() - now = datetime.now(timezone.utc) - updated = False - for device in devices: - last_seen = device.last_seen - if last_seen.tzinfo is None: - last_seen = last_seen.replace(tzinfo=timezone.utc) - - # If not seen for more than 15 seconds, mark offline - if (now - last_seen).total_seconds() > 15.0: - if device.status != "offline": - device.status = "offline" - updated = True - else: - if device.status != "active": - device.status = "active" - updated = True - if updated: - db.commit() return devices @router.get("/latest-readings") -def get_latest_readings(device_id: str = None, limit: int = 10, db: Session = Depends(get_db)): +def get_latest_readings( + limit: int = 10, + mrn: Optional[str] = None, + name: Optional[str] = None, + dob: Optional[str] = None, + device_id: Optional[str] = None, + db: Session = Depends(get_db) +): query = db.query(VitalReading) if device_id: query = query.filter(VitalReading.device_id == device_id) + + patient_filters = [] + if mrn: + mrn_clean = mrn.strip() + patient_filters.append(Patient.mrn == mrn_clean) + patient_filters.append(Patient.patient_id == mrn_clean) + if name: + name_clean = name.strip() + patient_filters.append(Patient.name.ilike(f"%{name_clean}%")) + if dob: + dob_clean = dob.strip() + patient_filters.append(Patient.dob.ilike(f"%{dob_clean}%")) + + if patient_filters: + matching_patients = db.query(Patient).filter(or_(*patient_filters)).all() + matching_dev_ids = [p.device_id for p in matching_patients if p.device_id] + matching_mrns = [p.mrn for p in matching_patients if p.mrn] + [p.patient_id for p in matching_patients if p.patient_id] + + conds = [] + if mrn: + conds.append(VitalReading.patient_id == mrn.strip()) + if matching_mrns: + conds.append(VitalReading.patient_id.in_(matching_mrns)) + if matching_dev_ids: + conds.append(VitalReading.device_id.in_(matching_dev_ids)) + + if conds: + query = query.filter(or_(*conds)) + readings = query.order_by(VitalReading.timestamp.desc()).limit(limit).all() return readings +@router.get("/patients") +def list_patients(db: Session = Depends(get_db)): + """ + List all patients with their assigned device and latest vitals readings. + """ + patients = db.query(Patient).filter(Patient.patient_id != "UNKNOWN", Patient.mrn != "UNKNOWN").all() + results = [] + for p in patients: + # Find latest vitals for this patient or this patient's assigned device + latest_reading = ( + db.query(VitalReading) + .filter( + or_( + VitalReading.patient_id == p.mrn, + VitalReading.patient_id == p.patient_id, + (VitalReading.device_id == p.device_id) if p.device_id else False + ) + ) + .order_by(VitalReading.timestamp.desc()) + .first() + ) + + device = db.query(Device).filter(Device.device_id == p.device_id).first() if p.device_id else None + + results.append({ + "id": p.id, + "patient_id": p.patient_id, + "mrn": p.mrn or p.patient_id, + "name": p.name or "Unknown", + "gender": p.gender, + "dob": p.dob, + "bed_id": p.bed_id, + "device_id": p.device_id, + "device_status": device.status if device else "unassigned", + "device_ip": device.ip_address if device else None, + "latest_vitals": { + "heart_rate": latest_reading.heart_rate if latest_reading else None, + "spo2": latest_reading.spo2 if latest_reading else None, + "systolic_bp": latest_reading.systolic_bp if latest_reading else None, + "diastolic_bp": latest_reading.diastolic_bp if latest_reading else None, + "map_bp": latest_reading.map_bp if latest_reading else None, + "respiratory_rate": latest_reading.respiratory_rate if latest_reading else None, + "temperature": latest_reading.temperature if latest_reading else None, + "timestamp": latest_reading.timestamp.isoformat() if (latest_reading and latest_reading.timestamp) else None, + } if latest_reading else None + }) + return results + + +@router.post("/patient/assign") +@router.post("/patients/assign") +async def assign_patient(req: PatientAssignRequest, db: Session = Depends(get_db)): + """ + Assign patient demographics (MRN, Name, DOB, Gender, Bed) to a specific monitor/device_id. + """ + from contec_server import set_assigned_patient + + device_id = req.device_id.strip() + mrn = req.mrn.strip() if req.mrn else "" + if not device_id: + raise HTTPException(status_code=400, detail="device_id is required") + + if not mrn or mrn.upper() in ("UNKNOWN", "CLEAR", "NONE", "UNASSIGN"): + # Clear assignment from in-memory cache and DB + from contec_server import device_patient_map, device_cache + if device_id in device_patient_map: + del device_patient_map[device_id] + if device_id in device_cache: + cached = device_cache[device_id] + cached.patient_id = "UNKNOWN" + cached.patient_name = None + cached.patient_gender = None + cached.patient_dob = None + cached.bed_id = None + db.query(Patient).filter(Patient.device_id == device_id).update({"device_id": None}) + db.commit() + try: + await ws_manager.broadcast_vitals({ + "event": "patient_assigned", + "device_id": device_id, + "patient_id": "UNKNOWN", + "mrn": "UNKNOWN", + "patient_name": None, + "name": None, + "patient_gender": None, + "gender": None, + "patient_dob": None, + "dob": None, + "bed_id": None + }) + except Exception: + pass + return { + "status": "success", + "message": f"Device {device_id} unassigned successfully" + } + + # 1. Clear device_id from any other patient previously holding this device + existing_for_device = db.query(Patient).filter(Patient.device_id == device_id).all() + for p in existing_for_device: + if p.mrn != mrn and p.patient_id != mrn: + p.device_id = None + + # 2. Find or create patient by MRN + patient = db.query(Patient).filter(or_(Patient.mrn == mrn, Patient.patient_id == mrn)).first() + if not patient: + patient = Patient( + patient_id=mrn, + mrn=mrn, + name=req.name or "Unknown", + gender=req.gender, + dob=req.dob, + bed_id=req.bed_id, + device_id=device_id + ) + db.add(patient) + else: + patient.patient_id = mrn + patient.mrn = mrn + if req.name is not None: + patient.name = req.name + if req.gender is not None: + patient.gender = req.gender + if req.dob is not None: + patient.dob = req.dob + if req.bed_id is not None: + patient.bed_id = req.bed_id + patient.device_id = device_id + + # 3. Associate recent readings for this device that were marked "UNKNOWN" + db.query(VitalReading).filter( + VitalReading.device_id == device_id, + VitalReading.patient_id == "UNKNOWN" + ).update({"patient_id": mrn}) + + db.commit() + db.refresh(patient) + + # 4. Update in-memory server mapping + p_data = { + "patient_id": patient.mrn, + "mrn": patient.mrn, + "name": patient.name, + "gender": patient.gender, + "dob": patient.dob, + "bed_id": patient.bed_id, + } + set_assigned_patient(device_id, p_data) + + # 5. Broadcast to connected WebSocket clients + try: + await ws_manager.broadcast_vitals({ + "event": "patient_assigned", + "device_id": device_id, + "patient_id": patient.mrn, + "mrn": patient.mrn, + "patient_name": patient.name, + "name": patient.name, + "patient_gender": patient.gender, + "gender": patient.gender, + "patient_dob": patient.dob, + "dob": patient.dob, + "bed_id": patient.bed_id, + }) + except Exception as e: + logger.debug(f"Broadcast of patient_assigned failed: {e}") + + return { + "status": "success", + "message": f"Patient {patient.name} ({mrn}) assigned to device {device_id}", + "patient": p_data + } + + +@router.get("/patient/{identifier}/history") +def get_patient_history(identifier: str, limit: int = 100, db: Session = Depends(get_db)): + """ + Fetch patient profile, assigned machine, and readings history by MRN, patient_id, or name. + """ + patient = db.query(Patient).filter( + or_( + Patient.mrn == identifier, + Patient.patient_id == identifier, + Patient.name.ilike(f"%{identifier}%") + ) + ).first() + + if not patient: + raise HTTPException(status_code=404, detail="Patient not found") + + readings = ( + db.query(VitalReading) + .filter(or_(VitalReading.patient_id == patient.mrn, VitalReading.patient_id == patient.patient_id)) + .order_by(VitalReading.timestamp.desc()) + .limit(limit) + .all() + ) + + device = db.query(Device).filter(Device.device_id == patient.device_id).first() if patient.device_id else None + + return { + "patient": { + "mrn": patient.mrn or patient.patient_id, + "name": patient.name, + "gender": patient.gender, + "dob": patient.dob, + "bed_id": patient.bed_id, + "device_id": patient.device_id, + }, + "device": { + "device_id": device.device_id if device else None, + "ip_address": device.ip_address if device else None, + "status": device.status if device else "offline", + } if device else None, + "readings_count": len(readings), + "readings": readings + } + + @router.get("/readings") -def get_readings(device_id: str = None, patient_id: str = None, limit: int = 50, db: Session = Depends(get_db)): +def get_readings( + device_id: Optional[str] = None, + patient_id: Optional[str] = None, + mrn: Optional[str] = None, + name: Optional[str] = None, + gender: Optional[str] = None, + dob: Optional[str] = None, + limit: int = 50, + offset: int = 0, + db: Session = Depends(get_db) +): + """ + Fetch vital readings filtered by patient MRN, Name, DOB, Gender, or Device ID. + """ query = db.query(VitalReading) + + target_mrn = mrn or patient_id + if target_mrn: + query = query.filter(VitalReading.patient_id == target_mrn) + + # If filtered by patient demographics (name, gender, dob) + if name or gender or dob: + p_query = db.query(Patient) + if name: + p_query = p_query.filter(Patient.name.ilike(f"%{name}%")) + if gender: + p_query = p_query.filter(Patient.gender.ilike(f"%{gender}%")) + if dob: + p_query = p_query.filter(Patient.dob.ilike(f"%{dob}%")) + + matching_patients = p_query.all() + matching_mrns = [p.mrn for p in matching_patients if p.mrn] + [p.patient_id for p in matching_patients if p.patient_id] + matching_devices = [p.device_id for p in matching_patients if p.device_id] + + query = query.filter( + or_( + VitalReading.patient_id.in_(matching_mrns), + VitalReading.device_id.in_(matching_devices) + ) + ) + if device_id: query = query.filter(VitalReading.device_id == device_id) - if patient_id: - query = query.filter(VitalReading.patient_id == patient_id) - return query.order_by(VitalReading.timestamp.desc()).limit(limit).all() + return query.order_by(VitalReading.timestamp.desc()).offset(offset).limit(limit).all() @router.get("/transmission-logs") def get_transmission_logs(limit: int = 50, db: Session = Depends(get_db)): @@ -185,341 +468,3 @@ def get_network_info(): f"6. The dashboard will show data automatically" ] } - - -# === Push Vitals Endpoint (for local-to-cloud sync) === -from schemas import NormalizedVitals -from models import Patient - - -@router.post("/push-vitals") -async def push_vitals(vitals: NormalizedVitals, api_key: str = None, db: Session = Depends(get_db)): - """ - Receive vitals pushed from a local instance and store + broadcast them. - - This enables the 'split architecture' where: - - Local instance receives data from physical monitors via TCP - - Local instance POSTs vitals here for cloud storage & dashboard access - - Optional: pass ?api_key=YOUR_KEY for basic authentication. - """ - from config import settings - - # Optional API key check - if settings.api_token and api_key != settings.api_token: - if settings.api_token: # Only enforce if a token is configured - raise HTTPException(status_code=401, detail="Invalid or missing api_key") - - try: - # 1. Device tracking - device = db.query(Device).filter(Device.device_id == vitals.device_id).first() - if not device: - device = Device( - device_id=vitals.device_id, - ip_address=vitals.ip_address or "remote-push", - status="active" - ) - db.add(device) - else: - if vitals.ip_address: - device.ip_address = vitals.ip_address - device.status = "active" - device.last_seen = datetime.now(timezone.utc) - - # 2. Patient tracking - from models import VitalReading as VR - if vitals.patient_id == "UNKNOWN": - last_known_reading = ( - db.query(VR) - .filter(VR.device_id == vitals.device_id) - .filter(VR.patient_id != "UNKNOWN") - .order_by(VR.timestamp.desc()) - .first() - ) - if last_known_reading: - vitals.patient_id = last_known_reading.patient_id - - patient = db.query(Patient).filter(Patient.patient_id == vitals.patient_id).first() - if not patient: - patient = Patient( - patient_id=vitals.patient_id, - mrn=vitals.patient_id, - name=vitals.patient_name or "Unknown", - gender=vitals.patient_gender, - dob=vitals.patient_dob, - bed_id=vitals.bed_id, - ) - db.add(patient) - else: - if vitals.patient_name: - patient.name = vitals.patient_name - if vitals.patient_gender: - patient.gender = vitals.patient_gender - if vitals.patient_dob: - patient.dob = vitals.patient_dob - if vitals.bed_id: - patient.bed_id = vitals.bed_id - - # 3. Create vital reading - from models import VitalReading as VR - reading = VR( - device_id=vitals.device_id, - patient_id=vitals.patient_id, - timestamp=vitals.timestamp, - heart_rate=vitals.heart_rate, - spo2=vitals.spo2, - systolic_bp=vitals.systolic_bp, - diastolic_bp=vitals.diastolic_bp, - map_bp=vitals.map_bp, - respiratory_rate=vitals.respiratory_rate, - temperature=vitals.temperature, - transmitted=True # Already received = transmitted - ) - db.add(reading) - db.commit() - db.refresh(reading) - - # 4. Broadcast to WebSocket clients - await ws_manager.broadcast_vitals(vitals.model_dump(mode="json")) - - logger.info(f"Push-vitals received for device {vitals.device_id}") - - return { - "status": "ok", - "reading_id": reading.id, - "device_id": vitals.device_id, - "patient_id": vitals.patient_id - } - - except HTTPException: - raise - except Exception as e: - logger.error(f"Push-vitals error: {e}") - db.rollback() - raise HTTPException(status_code=500, detail=f"Failed to store vitals: {str(e)}") - - -# === Patient-to-Monitor Matching Endpoint === -def _normalize_name(s: str) -> str: - """Lowercase, strip punctuation and extra spaces for fuzzy name comparison.""" - import re - if not s: - return "" - return re.sub(r"[^a-z0-9\s]", "", s.lower()).split() - -def _normalize_dob(dob: str) -> str: - """Normalize DOB to YYYYMMDD regardless of input format (YYYY-MM-DD / YYYYMMDD / DD-MM-YYYY).""" - if not dob: - return "" - dob = dob.strip().replace("/", "-") - if len(dob) == 8 and dob.isdigit(): - return dob # already YYYYMMDD - parts = dob.split("-") - if len(parts) == 3: - if len(parts[0]) == 4: # YYYY-MM-DD - return "".join(parts) - elif len(parts[2]) == 4: # DD-MM-YYYY - return parts[2] + parts[1] + parts[0] - return dob.replace("-", "") - -def _gender_code(g: str) -> str: - """Return single-letter gender code: M / F / U.""" - if not g: - return "" - g = g.strip().upper() - if g in ("M", "MALE"): - return "M" - if g in ("F", "FEMALE"): - return "F" - return "U" - -def _calculate_age(dob_str: str) -> Optional[int]: - """Calculate age from YYYYMMDD string.""" - if not dob_str: - return None - normalized = _normalize_dob(dob_str) - if len(normalized) != 8 or not normalized.isdigit(): - return None - try: - birth_year = int(normalized[:4]) - birth_month = int(normalized[4:6]) - birth_day = int(normalized[6:]) - today = datetime.now() - return today.year - birth_year - ((today.month, today.day) < (birth_month, birth_day)) - except Exception: - return None - -@router.post("/register-patient") -def register_patient( - mrn: str, - gender: str, - dob: str, - name: str = "Unknown", - bed_id: str = None, - device_id: str = None, - db: Session = Depends(get_db) -): - """ - Register or update patient demographics in the monitor database. - - Call this to seed patient data when the CMS monitor uses binary protocol - (which does not transmit demographics). - - Example: - POST /api/register-patient?mrn=09091102&gender=Male&dob=1960-06-22&name=Shahil - """ - if not mrn: - raise HTTPException(status_code=400, detail="MRN is required") - - clean_mrn = mrn.strip().upper() - - # Check if patient already exists - patient = db.query(Patient).filter( - (Patient.mrn == clean_mrn) | (Patient.patient_id == clean_mrn) - ).first() - - if patient: - # Update existing record - patient.mrn = clean_mrn - patient.name = name or patient.name - patient.gender = gender or patient.gender - patient.dob = dob or patient.dob - if bed_id: - patient.bed_id = bed_id - else: - # Create new patient record - patient = Patient( - patient_id=clean_mrn, - mrn=clean_mrn, - name=name, - gender=gender, - dob=dob, - bed_id=bed_id, - ) - db.add(patient) - - # If device_id is provided, also create a vital reading to link patient to device - if device_id: - device = db.query(Device).filter(Device.device_id == device_id).first() - if device: - reading = VitalReading( - device_id=device_id, - patient_id=clean_mrn, - timestamp=datetime.now(timezone.utc), - transmitted=True, - ) - db.add(reading) - - db.commit() - db.refresh(patient) - - return { - "status": "ok", - "patient_id": patient.patient_id, - "mrn": patient.mrn, - "name": patient.name, - "gender": patient.gender, - "dob": patient.dob, - "bed_id": patient.bed_id, - } - -@router.get("/match-patient") -def match_patient( - mrn: str = None, - gender: str = None, - dob: str = None, - age: int = None, - db: Session = Depends(get_db) -): - """ - Match incoming patient demographics to an active Contec monitor. - Uses 4-point verification: MRN, Gender, DOB, Age. - - Call this from the dashboard iframe URL: - /api/dashboard?minimal=true&mrn=MRN001&gender=M&dob=19900115&age=36 - - Returns: - { matched: true/false, device_id, patient_id, bed_id, device_status, ... } - """ - if not mrn: - return {"matched": False, "reason": "No MRN supplied"} - - # Normalize incoming params - in_mrn = (mrn or "").strip().upper() - in_gender = _gender_code(gender or "") - in_dob = _normalize_dob(dob or "") - in_age = age - now = datetime.now(timezone.utc) - - # Fetch or auto-register patient based on MRN only (essential to survive Render cloud SQLite wipeouts) - matched_patient = db.query(Patient).filter( - (Patient.mrn == in_mrn) | (Patient.patient_id == in_mrn) - ).first() - - if not matched_patient: - matched_patient = Patient( - patient_id=in_mrn, - mrn=in_mrn, - name="Shahil Kumar", - gender=gender or "Male", - dob=dob or "1960-06-22", - ) - db.add(matched_patient) - db.commit() - db.refresh(matched_patient) - - # Find the most recent vital reading for this patient - latest = ( - db.query(VitalReading) - .filter(VitalReading.patient_id == matched_patient.patient_id) - .order_by(VitalReading.timestamp.desc()) - .first() - ) - - # Fallback: If this patient has no readings yet, check if there is an active device - # transmitting data under 'UNKNOWN' in the last 15 seconds. This links binary monitors to the verified patient. - if not latest: - active_unknown_reading = ( - db.query(VitalReading) - .filter(VitalReading.patient_id == "UNKNOWN") - .order_by(VitalReading.timestamp.desc()) - .first() - ) - if active_unknown_reading: - reading_time = active_unknown_reading.timestamp - if reading_time.tzinfo is None: - reading_time = reading_time.replace(tzinfo=timezone.utc) - if (now - reading_time).total_seconds() < 15.0: - latest = active_unknown_reading - - if not latest: - return { - "matched": True, - "patient_id": matched_patient.patient_id, - "device_id": None, - "bed_id": matched_patient.bed_id, - "reason": "Patient found/created, but no active monitor data received yet" - } - - # Get device status - device = db.query(Device).filter(Device.device_id == latest.device_id).first() - device_status = "unknown" - if device: - last_seen = device.last_seen - if last_seen.tzinfo is None: - last_seen = last_seen.replace(tzinfo=timezone.utc) - device_status = "active" if (now - last_seen).total_seconds() < 15 else "offline" - - return { - "matched": True, - "patient_id": matched_patient.patient_id, - "patient_name": matched_patient.name, - "patient_gender": matched_patient.gender, - "patient_dob": matched_patient.dob, - "device_id": latest.device_id, - "bed_id": matched_patient.bed_id, - "device_status": device_status, - "last_reading_at": latest.timestamp.isoformat() if latest.timestamp else None, - "match_score": 100, - } - diff --git a/setup_service.sh b/setup_service.sh old mode 100755 new mode 100644 diff --git a/start_tunnel.bat b/start_tunnel.bat new file mode 100644 index 0000000..f3eff08 --- /dev/null +++ b/start_tunnel.bat @@ -0,0 +1,10 @@ +@echo off +echo Starting Bore Tunnel for Remote Contec Monitor (Hotspot)... +echo Server: 159.223.110.159:61501 -> Local Port: 511 +echo. +echo On the Remote Monitor: +echo CMS Server IP = 159.223.110.159 +echo CMS Port = 61501 +echo. +bore.exe local 511 --to 159.223.110.159 --port 61501 +pause diff --git a/static/contec-vitals-sdk.js b/static/contec-vitals-sdk.js deleted file mode 100644 index 8bb37f5..0000000 --- a/static/contec-vitals-sdk.js +++ /dev/null @@ -1,249 +0,0 @@ -/** - * ContecVitalsClient - A reusable JavaScript client for the Contec CMS7000PLUS Patient Monitor. - * Works in Web, React, React Native, and Node.js environments. - * - * Features: - * - Real-time streaming via WebSockets - * - Automatic HTTP polling fallback if WebSockets are blocked or disconnect - * - Exponential backoff auto-reconnection - * - Lifecycle callbacks for UI updates - */ -class ContecVitalsClient { - /** - * @param {Object} config - Client configuration options - * @param {string} config.baseUrl - Server URL (e.g. 'https://contectfiveparamonitor.onrender.com') - * @param {string} [config.deviceId] - Optional device filter (e.g. 'CMS7000PLUS_192.168.100.120') - * @param {number} [config.pollingInterval=3000] - Polling interval in ms if falling back to HTTP - * @param {function} [config.onVitals] - Callback when new vitals data arrives - * @param {function} [config.onStatusChange] - Callback when connection status changes ('idle', 'connecting', 'connected', 'polling', 'disconnected') - * @param {function} [config.onError] - Callback on error - */ - constructor(config) { - this.baseUrl = config.baseUrl.replace(/\/$/, ''); - this.deviceId = config.deviceId || null; - this.pollingInterval = config.pollingInterval || 3000; - - // Callbacks - this.onVitals = config.onVitals || (() => {}); - this.onStatusChange = config.onStatusChange || (() => {}); - this.onError = config.onError || (() => {}); - - // State management - this.ws = null; - this.pollTimer = null; - this.status = 'idle'; - this.reconnectAttempts = 0; - this.maxReconnectAttempts = 5; - this.reconnectDelay = 1000; - this.isStarted = false; - this.lastVitalsTime = 0; - } - - /** - * Start listening for vital signs. - */ - start() { - if (this.isStarted) return; - this.isStarted = true; - this.reconnectAttempts = 0; - this._setStatus('connecting'); - this._connectWebSocket(); - } - - /** - * Stop listening and clean up all connections/timers. - */ - stop() { - this.isStarted = false; - this._clearPollTimer(); - this._closeWebSocket(); - this._setStatus('idle'); - } - - /** - * Change current status and trigger callback. - * @private - */ - _setStatus(newStatus) { - if (this.status !== newStatus) { - this.status = newStatus; - this.onStatusChange(newStatus); - } - } - - /** - * Parse the base URL to construct the WS URL. - * @private - */ - _getWebSocketUrl() { - const wsProto = this.baseUrl.startsWith('https') ? 'wss' : 'ws'; - const cleanUrl = this.baseUrl.replace(/^(https?:\/\/)/, ''); - return `${wsProto}://${cleanUrl}/ws/vitals`; - } - - /** - * Open WebSocket connection. - * @private - */ - _connectWebSocket() { - this._clearPollTimer(); - const wsUrl = this._getWebSocketUrl(); - - try { - this.ws = new WebSocket(wsUrl); - - this.ws.onopen = () => { - console.log('ContecVitalsClient: WebSocket connected'); - this._setStatus('connected'); - this.reconnectAttempts = 0; - this.reconnectDelay = 1000; - }; - - this.ws.onmessage = (event) => { - try { - const data = JSON.parse(event.data); - this._processIncomingVitals(data); - } catch (err) { - this.onError(new Error('Failed to parse incoming WS message: ' + err.message)); - } - }; - - this.ws.onerror = (err) => { - this.onError(err); - }; - - this.ws.onclose = (event) => { - this.ws = null; - if (!this.isStarted) return; - - console.log(`ContecVitalsClient: WebSocket closed (code: ${event.code})`); - - // Attempt reconnection - if (this.reconnectAttempts < this.maxReconnectAttempts) { - this.reconnectAttempts++; - const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1); - console.log(`ContecVitalsClient: Reconnecting in ${delay}ms (Attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})...`); - this._setStatus('connecting'); - setTimeout(() => { - if (this.isStarted) this._connectWebSocket(); - }, delay); - } else { - // Exceeded Max WebSocket retries -> Fallback to HTTP Polling - console.log('ContecVitalsClient: WebSocket connection limit exceeded. Falling back to HTTP polling.'); - this._startPolling(); - } - }; - } catch (err) { - this.onError(err); - this._startPolling(); - } - } - - /** - * Close WebSocket connection cleanly. - * @private - */ - _closeWebSocket() { - if (this.ws) { - // Remove event listeners to prevent onclose reconnect logic - this.ws.onopen = null; - this.ws.onmessage = null; - this.ws.onerror = null; - this.ws.onclose = null; - try { - this.ws.close(); - } catch (e) {} - this.ws = null; - } - } - - /** - * Start HTTP Polling. - * @private - */ - _startPolling() { - this._closeWebSocket(); - this._setStatus('polling'); - this._poll(); - } - - /** - * Perform single HTTP poll. - * @private - */ - async _poll() { - if (!this.isStarted || this.status !== 'polling') return; - - try { - const url = `${this.baseUrl}/api/latest-readings?limit=1` + (this.deviceId ? `&device_id=${encodeURIComponent(this.deviceId)}` : ''); - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const readings = await response.json(); - if (Array.isArray(readings) && readings.length > 0) { - this._processIncomingVitals(readings[0]); - } - } catch (err) { - console.error('ContecVitalsClient polling error:', err.message); - this.onError(err); - } - - // Schedule next poll - this.pollTimer = setTimeout(() => this._poll(), this.pollingInterval); - } - - /** - * Clear the HTTP polling timer. - * @private - */ - _clearPollTimer() { - if (this.pollTimer) { - clearTimeout(this.pollTimer); - this.pollTimer = null; - } - } - - /** - * Normalizes and emits the vitals data payload. - * @private - */ - _processIncomingVitals(data) { - if (!data) return; - - // Filter by device if configured - if (this.deviceId && data.device_id !== this.deviceId) { - return; - } - - // Normalize property names and types - const normalized = { - deviceId: data.device_id, - patientId: data.patient_id, - timestamp: data.timestamp, - heartRate: typeof data.heart_rate === 'number' ? Math.round(data.heart_rate) : null, - spo2: typeof data.spo2 === 'number' ? Math.round(data.spo2) : null, - temperature: typeof data.temperature === 'number' ? parseFloat(data.temperature.toFixed(1)) : null, - systolicBp: typeof data.systolic_bp === 'number' ? Math.round(data.systolic_bp) : null, - diastolicBp: typeof data.diastolic_bp === 'number' ? Math.round(data.diastolic_bp) : null, - mapBp: typeof data.map_bp === 'number' ? Math.round(data.map_bp) : null, - respiratoryRate: typeof data.respiratory_rate === 'number' ? Math.round(data.respiratory_rate) : null, - }; - - // Calculate BP display string helper - normalized.bloodPressureDisplay = (normalized.systolicBp && normalized.diastolicBp) - ? `${normalized.systolicBp}/${normalized.diastolicBp}` - : null; - - this.onVitals(normalized); - } -} - -// Export for ES6/Node compatibility -if (typeof module !== 'undefined' && module.exports) { - module.exports = ContecVitalsClient; -} else if (typeof window !== 'undefined') { - window.ContecVitalsClient = ContecVitalsClient; -} diff --git a/static/dashboard.html b/static/dashboard.html index ff64601..18a6f21 100644 --- a/static/dashboard.html +++ b/static/dashboard.html @@ -1,665 +1,3120 @@ - - -Contec Vital Signs Monitor - - - + /* === Header === */ + .header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20px 28px; + background: var(--bg-card); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: 16px; + margin-bottom: 24px; + } + + .header-left { + display: flex; + align-items: center; + gap: 16px; + } + + .header-icon { + width: 48px; + height: 48px; + border-radius: 12px; + background: linear-gradient(135deg, var(--spo2-color), var(--hr-color)); + display: flex; + align-items: center; + justify-content: center; + font-size: 24px; + box-shadow: 0 4px 16px rgba(6, 182, 212, 0.3); + } + + .header-title { + font-size: 22px; + font-weight: 700; + letter-spacing: -0.5px; + } + + .header-subtitle { + font-size: 13px; + color: var(--text-secondary); + margin-top: 2px; + } + + .header-right { + display: flex; + align-items: center; + gap: 16px; + } + + /* Audio Alert Toggle */ + .audio-toggle { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 14px; + border-radius: 20px; + font-size: 13px; + font-weight: 500; + background: rgba(100, 116, 139, 0.1); + border: 1px solid rgba(100, 116, 139, 0.2); + color: var(--text-secondary); + cursor: pointer; + transition: all 0.3s; + user-select: none; + } + + .audio-toggle:hover { + background: rgba(100, 116, 139, 0.2); + } + + .audio-toggle.active { + background: rgba(239, 68, 68, 0.1); + border-color: rgba(239, 68, 68, 0.3); + color: var(--status-critical); + } + + .connection-badge { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 16px; + border-radius: 20px; + font-size: 13px; + font-weight: 500; + background: rgba(34, 197, 94, 0.1); + border: 1px solid rgba(34, 197, 94, 0.2); + color: var(--status-ok); + transition: all 0.3s; + } + + .connection-badge.offline { + background: rgba(100, 116, 139, 0.1); + border-color: rgba(100, 116, 139, 0.2); + color: var(--status-offline); + } + + .connection-badge.warning { + background: rgba(234, 179, 8, 0.1); + border-color: rgba(234, 179, 8, 0.2); + color: var(--status-warn); + } + + .status-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--status-ok); + animation: statusPulse 2s ease-in-out infinite; + } + + .connection-badge.offline .status-dot { + background: var(--status-offline); + animation: none; + } + + @keyframes statusPulse { + 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); } + 50% { opacity: 0.7; box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); } + } + + .time-display { + font-family: 'JetBrains Mono', monospace; + font-size: 14px; + color: var(--text-secondary); + } + + /* === Setup Guide Panel === */ + .setup-guide { + background: linear-gradient(135deg, rgba(6, 182, 212, 0.08), rgba(168, 85, 247, 0.06)); + backdrop-filter: blur(20px); + border: 1px solid rgba(6, 182, 212, 0.15); + border-radius: 16px; + margin-bottom: 24px; + overflow: hidden; + transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); + } + + .setup-guide.hidden { + max-height: 0; + margin-bottom: 0; + border-color: transparent; + opacity: 0; + } + + .setup-guide-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 18px 24px; + cursor: pointer; + user-select: none; + } + + .setup-guide-header:hover { + background: rgba(255, 255, 255, 0.02); + } + + .setup-guide-title { + display: flex; + align-items: center; + gap: 12px; + font-size: 15px; + font-weight: 600; + color: var(--spo2-color); + } + + .setup-guide-toggle { + font-size: 12px; + color: var(--text-dim); + padding: 4px 12px; + border-radius: 8px; + background: rgba(255, 255, 255, 0.05); + transition: all 0.2s; + } + + .setup-guide-body { + padding: 0 24px 20px 24px; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; + } + + .setup-step { + display: flex; + gap: 14px; + align-items: flex-start; + } + + .step-number { + width: 32px; + height: 32px; + border-radius: 10px; + background: rgba(6, 182, 212, 0.15); + color: var(--spo2-color); + display: flex; + align-items: center; + justify-content: center; + font-weight: 700; + font-size: 14px; + flex-shrink: 0; + } + + .step-content h4 { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 4px; + } + + .step-content p { + font-size: 12px; + color: var(--text-secondary); + line-height: 1.5; + } + + .step-content code { + background: rgba(255, 255, 255, 0.08); + padding: 2px 6px; + border-radius: 4px; + font-family: 'JetBrains Mono', monospace; + font-size: 11px; + color: var(--spo2-color); + } + + .setup-ip-display { + grid-column: 1 / -1; + background: rgba(0, 0, 0, 0.2); + border-radius: 12px; + padding: 16px 20px; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 12px; + } + + .setup-ip-label { + font-size: 13px; + color: var(--text-secondary); + } + + .setup-ip-value { + font-family: 'JetBrains Mono', monospace; + font-size: 18px; + font-weight: 700; + color: var(--spo2-color); + text-shadow: 0 0 20px var(--spo2-glow); + } + + /* === Vitals Grid === */ + .vitals-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-template-rows: auto auto; + gap: 20px; + flex: 1; + } + + .vital-card { + background: var(--bg-card); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: 20px; + padding: 28px; + position: relative; + overflow: hidden; + transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); + display: flex; + flex-direction: column; + } + + .vital-card:hover { + background: var(--bg-card-hover); + transform: translateY(-2px); + box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); + } + + .vital-card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + border-radius: 20px 20px 0 0; + } + + .vital-card.hr::before { background: linear-gradient(90deg, var(--hr-color), transparent); } + .vital-card.spo2::before { background: linear-gradient(90deg, var(--spo2-color), transparent); } + .vital-card.bp::before { background: linear-gradient(90deg, var(--bp-color), transparent); } + .vital-card.rr::before { background: linear-gradient(90deg, var(--rr-color), transparent); } + .vital-card.temp::before { background: linear-gradient(90deg, var(--temp-color), transparent); } + .vital-card.map-card::before { background: linear-gradient(90deg, var(--map-color), transparent); } + + /* Glow effect behind cards */ + .vital-card::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 200px; + height: 200px; + border-radius: 50%; + transform: translate(-50%, -50%); + opacity: 0; + transition: opacity 0.6s; + pointer-events: none; + z-index: 0; + } + + .vital-card.hr::after { background: radial-gradient(circle, var(--hr-glow), transparent 70%); } + .vital-card.spo2::after { background: radial-gradient(circle, var(--spo2-glow), transparent 70%); } + .vital-card.bp::after { background: radial-gradient(circle, var(--bp-glow), transparent 70%); } + .vital-card.rr::after { background: radial-gradient(circle, var(--rr-glow), transparent 70%); } + .vital-card.temp::after { background: radial-gradient(circle, var(--temp-glow), transparent 70%); } + .vital-card.map-card::after { background: radial-gradient(circle, var(--map-glow), transparent 70%); } + + .vital-card.has-value::after { + opacity: 0.15; + } + + .vital-card.has-value:hover::after { + opacity: 0.3; + } + + .card-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 16px; + position: relative; + z-index: 1; + } + + .card-label { + display: flex; + align-items: center; + gap: 10px; + } + + .card-icon { + width: 36px; + height: 36px; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + } + + .vital-card.hr .card-icon { background: rgba(239, 68, 68, 0.15); } + .vital-card.spo2 .card-icon { background: rgba(6, 182, 212, 0.15); } + .vital-card.bp .card-icon { background: rgba(168, 85, 247, 0.15); } + .vital-card.rr .card-icon { background: rgba(34, 197, 94, 0.15); } + .vital-card.temp .card-icon { background: rgba(249, 115, 22, 0.15); } + .vital-card.map-card .card-icon { background: rgba(236, 72, 153, 0.15); } + + .card-name { + font-size: 13px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 1px; + color: var(--text-secondary); + } + + .vital-card.hr .card-name { color: var(--hr-color); } + .vital-card.spo2 .card-name { color: var(--spo2-color); } + .vital-card.bp .card-name { color: var(--bp-color); } + .vital-card.rr .card-name { color: var(--rr-color); } + .vital-card.temp .card-name { color: var(--temp-color); } + .vital-card.map-card .card-name { color: var(--map-color); } + + .status-badge { + padding: 4px 10px; + border-radius: 8px; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + } + + .status-badge.normal { + background: rgba(34, 197, 94, 0.15); + color: var(--status-ok); + } + + .status-badge.warning { + background: rgba(234, 179, 8, 0.15); + color: var(--status-warn); + animation: warningFlash 2s ease-in-out infinite; + } + + .status-badge.critical { + background: rgba(239, 68, 68, 0.15); + color: var(--status-critical); + animation: criticalFlash 1s ease-in-out infinite; + } + + .status-badge.offline { + background: rgba(100, 116, 139, 0.1); + color: var(--status-offline); + } + + @keyframes warningFlash { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.6; } + } + + @keyframes criticalFlash { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.4; } + } + + /* === Vital Value Display === */ + .vital-value-container { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + position: relative; + z-index: 1; + min-height: 100px; + } + + .vital-value { + font-family: 'JetBrains Mono', monospace; + font-size: 64px; + font-weight: 700; + line-height: 1; + letter-spacing: -2px; + transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); + } + + .vital-card.hr .vital-value { color: var(--hr-color); text-shadow: 0 0 30px var(--hr-glow); } + .vital-card.spo2 .vital-value { color: var(--spo2-color); text-shadow: 0 0 30px var(--spo2-glow); } + .vital-card.bp .vital-value { color: var(--bp-color); text-shadow: 0 0 30px var(--bp-glow); } + .vital-card.rr .vital-value { color: var(--rr-color); text-shadow: 0 0 30px var(--rr-glow); } + .vital-card.temp .vital-value { color: var(--temp-color); text-shadow: 0 0 30px var(--temp-glow); } + .vital-card.map-card .vital-value { color: var(--map-color); text-shadow: 0 0 30px var(--map-glow); } + + .vital-value.no-data { + font-size: 48px; + color: var(--text-dim) !important; + text-shadow: none !important; + } + + .vital-value .unit { + font-size: 20px; + font-weight: 400; + letter-spacing: 0; + margin-left: 4px; + opacity: 0.6; + } + + .vital-value .slash { + font-size: 48px; + opacity: 0.4; + margin: 0 2px; + } + + .vital-value-update { + animation: valueFlash 0.6s ease-out; + } + + @keyframes valueFlash { + 0% { transform: scale(1.08); filter: brightness(1.4); } + 100% { transform: scale(1); filter: brightness(1); } + } + + /* === Waveform Canvas === */ + .waveform-container { + height: 50px; + margin-top: 12px; + position: relative; + z-index: 1; + overflow: hidden; + border-radius: 8px; + } + + .waveform-container canvas { + width: 100%; + height: 100%; + display: block; + } + + /* === Normal Range Footer === */ + .card-footer { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 12px; + padding-top: 12px; + border-top: 1px solid var(--border-color); + position: relative; + z-index: 1; + } + + .normal-range { + font-size: 12px; + color: var(--text-dim); + } + + .last-update { + font-size: 11px; + color: var(--text-dim); + font-family: 'JetBrains Mono', monospace; + } + + /* === Info Bar === */ + .info-bar { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px 24px; + background: var(--bg-card); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: 14px; + margin-top: 20px; + flex-wrap: wrap; + gap: 12px; + } + + .info-item { + display: flex; + align-items: center; + gap: 8px; + font-size: 13px; + color: var(--text-secondary); + } + + .info-item strong { + color: var(--text-primary); + font-weight: 600; + } + + .info-dot { + width: 6px; + height: 6px; + border-radius: 50%; + background: var(--text-dim); + } + + .model-badge { + padding: 4px 12px; + border-radius: 8px; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.5px; + background: linear-gradient(135deg, rgba(6, 182, 212, 0.15), rgba(168, 85, 247, 0.15)); + color: var(--spo2-color); + border: 1px solid rgba(6, 182, 212, 0.2); + } + + /* === Responsive === */ + @media (max-width: 1024px) { + .vitals-grid { + grid-template-columns: repeat(2, 1fr); + } + .setup-guide-body { + grid-template-columns: 1fr; + } + } + + @media (max-width: 640px) { + .app-container { padding: 12px; } + .vitals-grid { + grid-template-columns: 1fr; + } + .header { + flex-direction: column; + gap: 12px; + text-align: center; + } + .header-right { + flex-wrap: wrap; + justify-content: center; + } + .vital-value { font-size: 48px; } + .setup-guide-body { + grid-template-columns: 1fr; + } + } + + /* === Device Navigation & Multi-Bed CSS === */ + .device-nav-bar { + display: flex; + align-items: center; + justify-content: space-between; + background: var(--bg-card); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: 14px; + padding: 12px 18px; + margin-bottom: 20px; + gap: 12px; + flex-wrap: wrap; + } + + .device-tabs-wrap { + display: flex; + align-items: center; + gap: 10px; + flex-wrap: wrap; + } + + .device-nav-label { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.6px; + color: var(--text-dim); + display: flex; + align-items: center; + gap: 6px; + } + + .device-tabs { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; + } + + .device-tab-btn { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 7px 14px; + border-radius: 8px; + font-size: 13px; + font-weight: 600; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + color: var(--text-secondary); + cursor: pointer; + transition: all 0.2s ease; + } + + .device-tab-btn:hover { + background: rgba(255, 255, 255, 0.1); + color: var(--text-primary); + border-color: rgba(255, 255, 255, 0.2); + } + + .device-tab-btn.active { + background: linear-gradient(135deg, rgba(6, 182, 212, 0.25), rgba(168, 85, 247, 0.25)); + border-color: var(--spo2-color); + color: #fff; + box-shadow: 0 0 14px rgba(6, 182, 212, 0.3); + } + + .device-tab-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--status-ok); + box-shadow: 0 0 6px var(--status-ok); + } + + .view-mode-toggles { + display: flex; + background: rgba(0, 0, 0, 0.35); + padding: 4px; + border-radius: 8px; + border: 1px solid var(--border-color); + gap: 4px; + } + + .view-mode-btn { + padding: 6px 14px; + border: none; + border-radius: 6px; + background: transparent; + color: var(--text-secondary); + font-size: 12px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s ease; + } + + .view-mode-btn.active { + background: rgba(255, 255, 255, 0.15); + color: #fff; + box-shadow: 0 2px 6px rgba(0,0,0,0.3); + } + + /* === Multi-Bed Central Grid === */ + .multi-bed-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); + gap: 20px; + margin-bottom: 24px; + } + + .bed-card { + background: var(--bg-card); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: 14px; + padding: 20px; + transition: all 0.25s ease; + cursor: pointer; + position: relative; + overflow: hidden; + } + + .bed-card:hover { + border-color: rgba(6, 182, 212, 0.5); + box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5); + transform: translateY(-2px); + } + + .bed-card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 14px; + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + padding-bottom: 12px; + } + + .bed-card-title { + font-size: 16px; + font-weight: 700; + color: var(--text-primary); + display: flex; + align-items: center; + gap: 8px; + } + + .bed-card-sub { + font-size: 11px; + color: var(--text-dim); + font-family: 'JetBrains Mono', monospace; + margin-top: 2px; + } + + .bed-metrics { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 10px; + margin-bottom: 12px; + } + + .bed-metric { + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); + border-radius: 8px; + padding: 10px 8px; + text-align: center; + } + + .bed-metric-label { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + color: var(--text-dim); + margin-bottom: 4px; + } + + .bed-metric-val { + font-size: 22px; + font-weight: 700; + font-family: 'JetBrains Mono', monospace; + } + + .bed-card-footer { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 11px; + color: var(--text-dim); + padding-top: 8px; + border-top: 1px solid rgba(255, 255, 255, 0.04); + } + + /* === Patient Demographics & Filter Toolbar === */ + .patient-filter-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + background: var(--bg-card); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: 14px; + padding: 12px 18px; + margin-bottom: 16px; + flex-wrap: wrap; + } + + .search-box-wrap { + display: flex; + align-items: center; + gap: 10px; + flex: 1; + min-width: 280px; + } + + .search-input { + width: 100%; + background: rgba(0, 0, 0, 0.4); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 8px; + padding: 9px 14px; + font-size: 13px; + color: var(--text-primary); + font-family: inherit; + outline: none; + transition: all 0.2s; + } + + .search-input:focus { + border-color: var(--spo2-color); + box-shadow: 0 0 10px rgba(6, 182, 212, 0.25); + } + + .filter-select { + background: rgba(0, 0, 0, 0.4); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 8px; + padding: 9px 12px; + font-size: 13px; + color: var(--text-primary); + outline: none; + cursor: pointer; + } + + .filter-actions { + display: flex; + align-items: center; + gap: 10px; + } + + .btn-primary { + background: linear-gradient(135deg, #06b6d4, #3b82f6); + color: #fff; + border: none; + padding: 9px 16px; + border-radius: 8px; + font-size: 13px; + font-weight: 600; + cursor: pointer; + display: inline-flex; + align-items: center; + gap: 6px; + transition: all 0.2s; + } + + .btn-primary:hover { + filter: brightness(1.15); + box-shadow: 0 4px 14px rgba(6, 182, 212, 0.4); + } + + .btn-secondary { + background: rgba(255, 255, 255, 0.08); + color: var(--text-primary); + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 9px 14px; + border-radius: 8px; + font-size: 13px; + font-weight: 600; + cursor: pointer; + display: inline-flex; + align-items: center; + gap: 6px; + transition: all 0.2s; + } + + .btn-secondary:hover { + background: rgba(255, 255, 255, 0.15); + } + + /* Patient Demographics Badges */ + .patient-mrn-badge { + background: rgba(6, 182, 212, 0.15); + color: var(--spo2-color); + border: 1px solid rgba(6, 182, 212, 0.3); + border-radius: 6px; + padding: 2px 8px; + font-size: 11px; + font-weight: 700; + font-family: 'JetBrains Mono', monospace; + display: inline-flex; + align-items: center; + gap: 4px; + } + + .patient-gender-badge { + background: rgba(168, 85, 247, 0.15); + color: #c084fc; + border: 1px solid rgba(168, 85, 247, 0.3); + border-radius: 6px; + padding: 2px 8px; + font-size: 11px; + font-weight: 600; + } + + .patient-dob-badge { + background: rgba(249, 115, 22, 0.15); + color: #fb923c; + border: 1px solid rgba(249, 115, 22, 0.3); + border-radius: 6px; + padding: 2px 8px; + font-size: 11px; + font-weight: 600; + font-family: 'JetBrains Mono', monospace; + } + + .patient-name-display { + font-size: 17px; + font-weight: 700; + color: #fff; + letter-spacing: -0.3px; + } + + .card-actions-bar { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 12px; + padding-top: 10px; + border-top: 1px solid rgba(255, 255, 255, 0.06); + gap: 8px; + } + + .card-action-btn { + background: rgba(255, 255, 255, 0.06); + border: 1px solid rgba(255, 255, 255, 0.1); + color: var(--text-secondary); + padding: 5px 10px; + border-radius: 6px; + font-size: 12px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + display: inline-flex; + align-items: center; + gap: 5px; + } + + .card-action-btn:hover { + background: rgba(6, 182, 212, 0.15); + color: var(--spo2-color); + border-color: rgba(6, 182, 212, 0.3); + } + + /* Modal Overlay & Dialog */ + .modal-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.75); + backdrop-filter: blur(8px); + z-index: 1000; + display: none; + align-items: center; + justify-content: center; + padding: 20px; + animation: fadeIn 0.2s ease-out; + } + + .modal-overlay.active { + display: flex; + } + + .modal-dialog { + background: #111827; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 16px; + width: 100%; + max-width: 580px; + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7); + overflow: hidden; + display: flex; + flex-direction: column; + max-height: 90vh; + } + + .modal-dialog.large { + max-width: 900px; + } + + .modal-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 18px 24px; + border-bottom: 1px solid var(--border-color); + background: rgba(255, 255, 255, 0.02); + } + + .modal-title { + font-size: 17px; + font-weight: 700; + display: flex; + align-items: center; + gap: 10px; + } + + .modal-close-btn { + background: transparent; + border: none; + color: var(--text-dim); + font-size: 22px; + cursor: pointer; + padding: 4px; + line-height: 1; + transition: color 0.2s; + } + + .modal-close-btn:hover { + color: #fff; + } + + .modal-body { + padding: 24px; + overflow-y: auto; + display: flex; + flex-direction: column; + gap: 16px; + } + + .modal-footer { + display: flex; + align-items: center; + justify-content: flex-end; + padding: 16px 24px; + border-top: 1px solid var(--border-color); + background: rgba(255, 255, 255, 0.02); + gap: 10px; + } + + .form-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + } + + .form-group { + display: flex; + flex-direction: column; + gap: 6px; + } + + .form-label { + font-size: 11px; + font-weight: 700; + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.5px; + } + + .form-input, .form-select { + background: rgba(0, 0, 0, 0.4); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 8px; + padding: 10px 12px; + color: var(--text-primary); + font-size: 14px; + font-family: inherit; + outline: none; + transition: all 0.2s; + } + + .form-input:focus, .form-select:focus { + border-color: var(--spo2-color); + box-shadow: 0 0 10px rgba(6, 182, 212, 0.25); + } + + /* History Table */ + .history-table { + width: 100%; + border-collapse: collapse; + font-size: 13px; + } + + .history-table th { + text-align: left; + padding: 10px 12px; + background: rgba(255, 255, 255, 0.04); + color: var(--text-dim); + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.6px; + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + } + + .history-table td { + padding: 10px 12px; + border-bottom: 1px solid rgba(255, 255, 255, 0.04); + font-family: 'JetBrains Mono', monospace; + font-size: 12px; + } + + .history-table tr:hover td { + background: rgba(255, 255, 255, 0.03); + } + + /* Single view patient info card */ + .patient-banner { + background: linear-gradient(135deg, rgba(6, 182, 212, 0.1), rgba(168, 85, 247, 0.08)); + border: 1px solid rgba(6, 182, 212, 0.2); + border-radius: 14px; + padding: 16px 20px; + margin-bottom: 20px; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 14px; + } + + .patient-banner-left { + display: flex; + align-items: center; + gap: 14px; + } + + .patient-banner-avatar { + width: 44px; + height: 44px; + border-radius: 12px; + background: rgba(6, 182, 212, 0.2); + color: var(--spo2-color); + display: flex; + align-items: center; + justify-content: center; + font-size: 22px; + } + + .patient-banner-details { + display: flex; + align-items: center; + gap: 12px; + flex-wrap: wrap; + margin-top: 4px; + } + + /* === Scrollbar === */ + ::-webkit-scrollbar { width: 6px; } + ::-webkit-scrollbar-track { background: transparent; } + ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 3px; } + +
+
- -
-
-
-

CONNECTING

-

Verifying patient identity against monitor records…

-
-
+
+ + - -
-
- — PATIENT — - No device -
-
- OFFLINE - --:--:-- -
-
+ +
+
+
+ 📡 + CMS7000PLUS Setup Guide — Configure Your Monitor +
+
▾ Collapse
+
+
+
+
1
+
+

Connect via Ethernet

+

Connect your CMS7000PLUS to this PC using an Ethernet cable (direct or through a network switch).

+
+
+
+
2
+
+

Set PC IP Address

+

Set your PC's Ethernet adapter to a static IP, e.g. 192.168.1.50, subnet 255.255.255.0.

+
+
+
+
3
+
+

Configure Monitor CMS Settings

+

On your CMS7000PLUS: System Setup → Network → CMS Settings. Set the Server IP to your PC's IP.

+
+
+
+
4
+
+

Set Server Port

+

Set Server Port to 511 (default). If running without admin, use a port >1024 like 6060.

+
+
+
+
5
+
+

Enable CMS Connection

+

Enable the CMS/Central Monitor connection on your CMS7000PLUS. Set the sending interval (e.g., 5 seconds).

+
+
+
+
6
+
+

Data Will Appear Automatically

+

Once connected, vital signs will appear on this dashboard in real-time via WebSocket or polling.

+
+
+
+
+
🖥️ Your PC's Detected IP Address (set this on the monitor)
+
+
Detecting...
+
+
+
- -
+ +
+
+ 🔍 + +
+
+ + + +
+
- -
- - -
-
RESP
- -
-
+ +
+
+ 🖥️ Monitors / Beds: +
+ +
+
+
+ + +
+
- -
+ +
+
+
⏳
+
Waiting for patient monitors to connect...
+
+ Local Wi-Fi monitors connect to 192.168.100.112:511 | Remote hotspot monitors connect to 159.223.110.159:61501 +
+
+
-
-
HEART RATE
-
---bpm
-
ECG Lead I
-
WAIT
+ + + + +
+
+ Model: + CMS7000PLUS +
+
+
+ Device: + Waiting... +
+
+
+ Patient: + Waiting... +
+
+
+ Readings: + 0 +
+
+
+ Last Update: + Never +
+
+
+ API: + Checking... +
+
-
-
SpO₂
-
---%
-
Pleth waveform
-
WAIT
+ + -
-
RESP RATE
-
---/min
-
Thoracic impedance
-
WAIT
+ + -
-
NIBP
-
---mmHg
-
Sys / Dia (MAP)
-
WAIT
-
+ + const searchInput = document.getElementById('patientSearchInput'); + const query = searchInput ? searchInput.value.trim().toLowerCase() : ''; + const genderSelect = document.getElementById('genderFilterSelect'); + const genderFilter = genderSelect ? genderSelect.value : ''; + + if (devIds.length === 0) { + const msg = hasTargetFilter + ? `Waiting for Contec Monitor data for: ${getTargetPatientBadge()}` + : `Waiting for patient monitors to connect...`; + const sub = hasTargetFilter + ? `Showing only monitors matching target demographics. Ensure monitor is connected.` + : `Local Wi-Fi monitors connect to 192.168.100.112:511 | Remote hotspot monitors connect to 159.223.110.159:61501`; + multiGrid.innerHTML = ` +
+
⏳
+
${msg}
+
${sub}
+
+ `; + return; + } + + // Filter devices by demographics query & gender + const filteredIds = devIds.filter(id => { + const dev = connectedDevices[id]; + if (hasTargetFilter && !matchesTargetPatient(dev, id)) return false; + + const pName = (dev.patient_name || dev.name || '').toLowerCase(); + const pMrn = (dev.patient_id || dev.mrn || '').toLowerCase(); + const pDob = (dev.patient_dob || dev.dob || '').toLowerCase(); + const pGender = (dev.patient_gender || dev.gender || '').toLowerCase(); + const pBed = (dev.bed_id || dev.bedLabel || '').toLowerCase(); + const devIdStr = id.toLowerCase(); + + if (genderFilter) { + if (!pGender.includes(genderFilter.toLowerCase())) return false; + } + + if (query) { + const match = pName.includes(query) || pMrn.includes(query) || + pDob.includes(query) || pGender.includes(query) || + pBed.includes(query) || devIdStr.includes(query); + if (!match) return false; + } + return true; + }); + + if (filteredIds.length === 0) { + const msg = hasTargetFilter + ? `No monitors match Patient: ${getTargetPatientBadge()}` + : `No monitors match your search criteria`; + const sub = hasTargetFilter + ? `Filtered for: ${getTargetPatientBadge()}. Waiting for transmission.` + : `Filter: "${query || genderFilter}" — Try clearing the search bar or changing filters.`; + multiGrid.innerHTML = ` +
+
🔍
+
${msg}
+
${sub}
+ ${!hasTargetFilter ? ` +
+ +
` : ''} +
+ `; + return; + } + + let html = ''; + filteredIds.forEach(id => { + const dev = connectedDevices[id]; + const label = dev.bedLabel || dev.bed_id || getBedLabel(id, dev.ip_address); + const hasAssigned = dev.patient_name && dev.patient_name !== 'Unknown' && dev.patient_name !== 'UNKNOWN' && dev.patient_name !== 'Unassigned Patient'; + const pName = hasAssigned ? dev.patient_name : label; + const pMrn = (dev.patient_id && dev.patient_id !== 'UNKNOWN' && dev.patient_id !== 'UNASSIGNED') ? dev.patient_id : null; + const pGender = (dev.patient_gender && dev.patient_gender !== 'Unknown') ? dev.patient_gender : null; + const pDob = (dev.patient_dob && dev.patient_dob !== 'Unknown') ? dev.patient_dob : null; + + // A device is "live" only if it has received a live WebSocket packet within 8 seconds + // Devices loaded only from DB (never seen via WebSocket) are shown as DISCONNECTED + const isLive = dev._liveData === true && dev.lastSeen && (Date.now() - dev.lastSeen.getTime()) < 8000; + // Has active vitals (probe connected and sending data) + const hasVitals = isLive && (dev.heart_rate != null || dev.spo2 != null || dev.temperature != null); + const hr = hasVitals && dev.heart_rate != null ? Math.round(dev.heart_rate) : '---'; + const spo2 = hasVitals && dev.spo2 != null ? Math.round(dev.spo2) : '---'; + const sys = hasVitals && dev.systolic_bp != null ? Math.round(dev.systolic_bp) : '--'; + const dia = hasVitals && dev.diastolic_bp != null ? Math.round(dev.diastolic_bp) : '--'; + const bp = (sys !== '--' || dia !== '--') ? `${sys}/${dia}` : '---'; + const temp = hasVitals && dev.temperature != null ? dev.temperature.toFixed(1) + '°C' : '---'; + const rr = hasVitals && dev.respiratory_rate != null ? Math.round(dev.respiratory_rate) : '---'; + const timeStr = dev.lastSeen ? dev.lastSeen.toLocaleTimeString('en-US', { hour12: false }) : '--'; + + const genderIcon = pGender ? (pGender.toLowerCase().startsWith('m') ? '♂ Male' : pGender.toLowerCase().startsWith('f') ? '♀ Female' : pGender) : ''; + + // Badge: LIVE (data flowing) | CONNECTED (monitor on, probe off) | DISCONNECTED + const statusBadge = isLive + ? (hasVitals + ? `Live ↗` + : `Connected`) + : `Disconnected`; + + html += ` +
+
+
+
${pName}
+
+ ${pMrn ? `MRN: ${pMrn}` : `No MRN assigned`} + ${pGender ? `${genderIcon}` : ''} + ${pDob ? `🎂 ${pDob}` : ''} +
+
+ 🏥 ${label} • ${id} +
+
+ ${statusBadge} +
+
+
+
❤️ HR
+
${hr}
+
+
+
🫁 SpO₂
+
${spo2}${spo2 !== '---' ? '%' : ''}
+
+
+
🩺 NIBP
+
${bp}
+
+
+
🌡️ Temp
+
${temp}
+
+
+
🫁 RR
+
${rr}
+
+
+
🩸 MAP
+
${dev.map_bp ? Math.round(dev.map_bp) : '---'}
+
+
+ +
+ `; + }); + + multiGrid.innerHTML = html; + } + + // === Update Vitals Display === + function updateVitals(data) { + if (!data) return; + + // Handle special event broadcasts like patient assignment + if (data.event === 'patient_assigned' && data.device_id) { + const devId = data.device_id; + connectedDevices[devId] = { + ...(connectedDevices[devId] || {}), + device_id: devId, + patient_id: data.mrn || data.patient_id, + mrn: data.mrn || data.patient_id, + patient_name: data.patient_name || data.name, + name: data.patient_name || data.name, + patient_gender: data.patient_gender || data.gender, + gender: data.patient_gender || data.gender, + patient_dob: data.patient_dob || data.dob, + dob: data.patient_dob || data.dob, + bed_id: data.bed_id, + bedLabel: data.bed_id || connectedDevices[devId]?.bedLabel + }; + updateDeviceTabs(); + if (hasTargetFilter) { + if (matchesTargetPatient(connectedDevices[devId], devId)) { + activeDeviceId = devId; + renderSingleDevice(connectedDevices[devId]); + } + } else { + if (viewMode === 'grid') renderMultiBedGrid(); + else if (viewMode === 'single' && activeDeviceId === devId) { + renderSingleDevice(connectedDevices[devId]); + } + } + return; + } + + if (!data.device_id) return; + + // Hide setup guide once data starts flowing + if (!hasReceivedData) { + hasReceivedData = true; + const guide = document.getElementById('setupGuide'); + if (guide) guide.classList.add('hidden'); + } + + const devId = data.device_id; + const existing = connectedDevices[devId] || {}; + + if (!existing._vitalTimestamps) existing._vitalTimestamps = {}; + const retainVital = (field, maxAgeMs) => { + const newVal = data[field]; + if (newVal !== null && newVal !== undefined) { + existing._vitalTimestamps[field] = Date.now(); + return newVal; + } + const lastTime = existing._vitalTimestamps[field]; + if (existing[field] !== null && existing[field] !== undefined && lastTime && (Date.now() - lastTime < maxAgeMs)) { + return existing[field]; + } + return null; + }; + + connectedDevices[devId] = { + ...existing, + ...data, + heart_rate: retainVital('heart_rate', 60000), + spo2: retainVital('spo2', 60000), + temperature: retainVital('temperature', 60000), + respiratory_rate: retainVital('respiratory_rate', 60000), + systolic_bp: retainVital('systolic_bp', 3600000), + diastolic_bp: retainVital('diastolic_bp', 3600000), + map_bp: retainVital('map_bp', 3600000), + patient_id: (data.mrn && data.mrn !== 'UNKNOWN') ? data.mrn : (existing.patient_id || 'UNKNOWN'), + mrn: (data.mrn && data.mrn !== 'UNKNOWN') ? data.mrn : (existing.mrn || 'UNKNOWN'), + patient_name: (data.patient_name && data.patient_name !== 'Unknown') ? data.patient_name : (existing.patient_name || null), + patient_gender: data.patient_gender || existing.patient_gender || null, + patient_dob: data.patient_dob || existing.patient_dob || null, + bed_id: data.bed_id || existing.bed_id || null, + lastSeen: new Date(), + bedLabel: data.bed_id || existing.bed_id || existing.bedLabel || getBedLabel(devId, data.ip_address), + _fromDb: false, // confirmed live via WebSocket + _liveData: true // this device is actively transmitting + }; + + const isTargetMatch = !hasTargetFilter || matchesTargetPatient(connectedDevices[devId], devId); + + if (isTargetMatch) { + if (!activeDeviceId || hasTargetFilter) { + activeDeviceId = devId; + } + } + + updateDeviceTabs(); + + if (isTargetMatch && hasTargetFilter) { + // Target patient matched — force single view and render immediately + // (don't wait for fetchInitialDevicesAndPatients async race) + if (viewMode !== 'single') setViewMode('single'); + renderSingleDevice(connectedDevices[devId]); + } else if (viewMode === 'grid') { + renderMultiBedGrid(); + } else if (viewMode === 'single') { + if (isTargetMatch && activeDeviceId === devId) { + renderSingleDevice(connectedDevices[devId]); + } else if (hasTargetFilter && !activeDeviceId) { + renderSingleDevice(null); + } + } + } + + function renderSingleDevice(data) { + const waitingState = document.getElementById('singleTargetWaitingState'); + const patientBanner = document.getElementById('singlePatientBanner'); + const vitalsGrid = document.getElementById('singleVitalsGrid'); + + if (hasTargetFilter) { + const isMatch = data && matchesTargetPatient(data, data.device_id); + if (!isMatch) { + if (waitingState) { + waitingState.style.display = 'flex'; + const badge = document.getElementById('targetWaitingMrnBadge'); + if (badge) badge.innerHTML = `Target Patient: ${getTargetPatientBadge()}`; + } + if (patientBanner) patientBanner.style.display = 'none'; + if (vitalsGrid) vitalsGrid.style.display = 'none'; + return; + } + } + + if (waitingState) waitingState.style.display = 'none'; + if (patientBanner) patientBanner.style.display = 'flex'; + if (vitalsGrid) vitalsGrid.style.display = 'grid'; + + if (!data) return; + // 1. Update Patient Banner + const hasAssigned = data.patient_name && data.patient_name !== 'Unknown' && data.patient_name !== 'UNKNOWN' && data.patient_name !== 'Unassigned Patient'; + const label = data.bedLabel || data.bed_id || getBedLabel(data.device_id, data.ip_address); + const pName = hasAssigned ? data.patient_name : `${label} (No Patient Assigned)`; + const pMrn = (data.patient_id && data.patient_id !== 'UNKNOWN' && data.patient_id !== 'UNASSIGNED') ? data.patient_id : '---'; + const pGender = (data.patient_gender && data.patient_gender !== 'Unknown') ? data.patient_gender : '---'; + const pDob = (data.patient_dob && data.patient_dob !== 'Unknown') ? data.patient_dob : '---'; + const pBed = data.bed_id || label; + + const bannerEl = document.getElementById('singlePatientBanner'); + if (bannerEl) { + document.getElementById('bannerPatientName').textContent = pName; + document.getElementById('bannerMrn').textContent = `MRN: ${pMrn}`; + document.getElementById('bannerGender').textContent = `Gender: ${pGender}`; + document.getElementById('bannerDob').textContent = `DOB: ${pDob}`; + document.getElementById('bannerBed').textContent = `Location: ${pBed}`; + } + + // 2. Update Vital Cards + updateVitalCard('hr', data.heart_rate, 'heart_rate', v => `${Math.round(v)}bpm`); + updateVitalCard('spo2', data.spo2, 'spo2', v => `${Math.round(v)}%`); + + // Blood pressure - combined display + if (data.systolic_bp !== null && data.systolic_bp !== undefined) { + const sys = Math.round(data.systolic_bp); + const dia = data.diastolic_bp !== null ? Math.round(data.diastolic_bp) : '--'; + updateVitalCard('bp', data.systolic_bp, 'systolic_bp', + () => `${sys}/${dia}mmHg`); + } else { + updateVitalCard('bp', null, 'systolic_bp'); + } + + updateVitalCard('rr', data.respiratory_rate, 'respiratory_rate', v => `${Math.round(v)}/min`); + updateVitalCard('temp', data.temperature, 'temperature', v => `${v.toFixed(1)}°C`); + updateVitalCard('map', data.map_bp, 'map_bp', v => `${Math.round(v)}mmHg`); + + // Update info bar + if (data.device_id) document.getElementById('deviceId').textContent = `${label} (${data.device_id})`; + document.getElementById('patientId').textContent = hasAssigned ? `${pName} (${pMrn})` : 'Not Assigned'; + + const now = new Date(); + document.getElementById('lastUpdateTime').textContent = + now.toLocaleTimeString('en-US', { hour12: false }); + + // Push waveform data + pushWaveformPoint('hr', data.heart_rate); + pushWaveformPoint('spo2', data.spo2); + pushWaveformPoint('bp', data.systolic_bp); + pushWaveformPoint('rr', data.respiratory_rate); + pushWaveformPoint('temp', data.temperature); + pushWaveformPoint('map', data.map_bp); + } + + // === Modal 1: Assign / Edit Patient Logic === + async function openAssignPatientModal(deviceId) { + const modal = document.getElementById('modalAssignPatient'); + const select = document.getElementById('assignDeviceSelect'); + select.innerHTML = ''; + + // Fetch live devices from API or connected state + let devIds = Object.keys(connectedDevices); + try { + const resp = await fetch(`${API_BASE}/devices`); + if (resp.ok) { + const dbDevs = await resp.json(); + dbDevs.forEach(d => { + if (!devIds.includes(d.device_id)) devIds.push(d.device_id); + }); + } + } catch (e) {} + + devIds.forEach(id => { + const dev = connectedDevices[id] || {}; + const opt = document.createElement('option'); + opt.value = id; + opt.textContent = `${dev.bedLabel || id} — ${id}`; + select.appendChild(opt); + }); + + const targetId = deviceId || (devIds.length > 0 ? devIds[0] : select.value); + if (targetId) select.value = targetId; + + // Pre-fill existing demographics if known + const existing = connectedDevices[targetId]; + if (existing && existing.patient_name && existing.patient_name !== 'Unknown') { + document.getElementById('assignMrn').value = (existing.patient_id && existing.patient_id !== 'UNKNOWN') ? existing.patient_id : ''; + document.getElementById('assignName').value = existing.patient_name || ''; + document.getElementById('assignDob').value = existing.patient_dob || ''; + document.getElementById('assignGender').value = existing.patient_gender || 'Male'; + document.getElementById('assignBed').value = existing.bed_id || existing.bedLabel || ''; + } else { + document.getElementById('assignMrn').value = ''; + document.getElementById('assignName').value = ''; + document.getElementById('assignDob').value = ''; + document.getElementById('assignGender').value = 'Male'; + document.getElementById('assignBed').value = ''; + } + + modal.classList.add('active'); + } + + function closeAssignPatientModal() { + document.getElementById('modalAssignPatient').classList.remove('active'); + } + + async function submitAssignPatient(event) { + event.preventDefault(); + const btn = document.getElementById('btnSavePatient'); + btn.disabled = true; + btn.innerHTML = '⏳ Saving...'; + + const device_id = document.getElementById('assignDeviceSelect').value; + const mrn = document.getElementById('assignMrn').value.trim(); + const name = document.getElementById('assignName').value.trim(); + const dob = document.getElementById('assignDob').value; + const gender = document.getElementById('assignGender').value; + const bed_id = document.getElementById('assignBed').value.trim(); + + try { + const response = await fetch(`${API_BASE}/patient/assign`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ device_id, mrn, name, dob, gender, bed_id }) + }); + + if (!response.ok) { + const err = await response.json(); + throw new Error(err.detail || 'Assignment failed'); + } + + // Update local device state immediately + connectedDevices[device_id] = { + ...(connectedDevices[device_id] || {}), + device_id, + patient_id: mrn, + mrn: mrn, + patient_name: name, + name: name, + patient_gender: gender, + gender: gender, + patient_dob: dob, + dob: dob, + bed_id: bed_id, + bedLabel: bed_id || connectedDevices[device_id]?.bedLabel + }; + + closeAssignPatientModal(); + updateDeviceTabs(); + if (viewMode === 'grid') renderMultiBedGrid(); + else if (viewMode === 'single' && activeDeviceId === device_id) { + renderSingleDevice(connectedDevices[device_id]); + } + } catch (err) { + alert(`Could not save patient: ${err.message}`); + } finally { + btn.disabled = false; + btn.innerHTML = '💾 Save & Link to Machine'; + } + } + + // === Modal 2: Fetch Patient Data & History Logic === + let currentFetchedReadings = []; + let currentFetchedPatient = null; + + function openPatientHistoryModal(identifier) { + const modal = document.getElementById('modalPatientHistory'); + const queryInput = document.getElementById('historySearchQuery'); + modal.classList.add('active'); + + if (identifier && identifier !== 'UNKNOWN') { + queryInput.value = identifier; + executePatientHistorySearch(); + } else { + queryInput.value = ''; + document.getElementById('historyPatientProfile').style.display = 'none'; + document.getElementById('historyTableBody').innerHTML = ` + + + Enter an MRN, Name, or DOB above and click "Search Patient" to fetch all recorded vitals. + + + `; + } + } + + function closePatientHistoryModal() { + document.getElementById('modalPatientHistory').classList.remove('active'); + } + + async function executePatientHistorySearch() { + const query = document.getElementById('historySearchQuery').value.trim(); + if (!query) return; + + const tbody = document.getElementById('historyTableBody'); + tbody.innerHTML = `⏳ Searching patient database...`; + + try { + let patientInfo = null; + let readings = []; + + const histResp = await fetch(`${API_BASE}/patient/${encodeURIComponent(query)}/history?limit=100`); + if (histResp.ok) { + const data = await histResp.json(); + patientInfo = data.patient; + readings = data.readings || []; + } else { + const readResp = await fetch(`${API_BASE}/readings?mrn=${encodeURIComponent(query)}&name=${encodeURIComponent(query)}&limit=100`); + if (readResp.ok) { + readings = await readResp.json(); + } + } + + currentFetchedReadings = readings; + currentFetchedPatient = patientInfo || { mrn: query, name: query }; + + const profileBanner = document.getElementById('historyPatientProfile'); + if (patientInfo) { + profileBanner.style.display = 'flex'; + document.getElementById('historyName').textContent = patientInfo.name || 'Unknown'; + document.getElementById('historyMrn').textContent = `MRN: ${patientInfo.mrn || '---'}`; + document.getElementById('historyGender').textContent = `Gender: ${patientInfo.gender || '---'}`; + document.getElementById('historyDob').textContent = `DOB: ${patientInfo.dob || '---'}`; + document.getElementById('historyBed').textContent = `Bed: ${patientInfo.bed_id || '---'}`; + document.getElementById('historyDevice').textContent = `Machine: ${patientInfo.device_id || '---'}`; + } else { + profileBanner.style.display = 'none'; + } + + if (readings.length === 0) { + tbody.innerHTML = ` + + + No vitals records found for "${query}". + + + `; + return; + } + + let rowsHtml = ''; + readings.forEach(r => { + const timeStr = r.timestamp ? new Date(r.timestamp).toLocaleString() : '--'; + const hr = r.heart_rate !== null ? Math.round(r.heart_rate) : '--'; + const spo2 = r.spo2 !== null ? `${Math.round(r.spo2)}%` : '--'; + const sys = r.systolic_bp !== null ? Math.round(r.systolic_bp) : '--'; + const dia = r.diastolic_bp !== null ? Math.round(r.diastolic_bp) : '--'; + const bp = (sys !== '--' || dia !== '--') ? `${sys}/${dia}` : '--'; + const rr = r.respiratory_rate !== null ? Math.round(r.respiratory_rate) : '--'; + const temp = r.temperature !== null ? `${r.temperature.toFixed(1)}°C` : '--'; + const map = r.map_bp !== null ? Math.round(r.map_bp) : '--'; + + rowsHtml += ` + + ${timeStr} + ${hr} + ${spo2} + ${bp} + ${rr} + ${temp} + ${map} + + `; + }); + tbody.innerHTML = rowsHtml; + } catch (err) { + tbody.innerHTML = ` + + + Error searching: ${err.message} + + + `; + } + } + + function exportHistoryToCsv() { + if (!currentFetchedReadings || currentFetchedReadings.length === 0) { + alert('No vitals data available to export.'); + return; + } + + const p = currentFetchedPatient || {}; + let csv = `Patient Vital Signs History\n`; + csv += `MRN,${p.mrn || ''}\n`; + csv += `Name,${p.name || ''}\n`; + csv += `DOB,${p.dob || ''}\n`; + csv += `Gender,${p.gender || ''}\n`; + csv += `Bed,${p.bed_id || ''}\n\n`; + csv += `Timestamp,Heart Rate (bpm),SpO2 (%),Systolic BP (mmHg),Diastolic BP (mmHg),RR (/min),Temp (C),MAP\n`; + + currentFetchedReadings.forEach(r => { + const t = r.timestamp || ''; + csv += `"${t}",${r.heart_rate || ''},${r.spo2 || ''},${r.systolic_bp || ''},${r.diastolic_bp || ''},${r.respiratory_rate || ''},${r.temperature || ''},${r.map_bp || ''}\n`; + }); + + const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); + const link = document.createElement('a'); + link.href = URL.createObjectURL(blob); + link.download = `vitals_${p.mrn || 'patient'}_${new Date().toISOString().slice(0,10)}.csv`; + link.click(); + } + + function updateVitalCard(cardKey, value, rangeKey, formatter) { + const valueEl = document.getElementById(`value-${cardKey}`); + const statusEl = document.getElementById(`status-${cardKey}`); + const updateEl = document.getElementById(`update-${cardKey}`); + const cardEl = document.getElementById(`card-${cardKey}`); + + if (value === null || value === undefined) { + valueEl.innerHTML = '---'; + valueEl.className = 'vital-value no-data'; + statusEl.textContent = 'No Data'; + statusEl.className = 'status-badge offline'; + cardEl.classList.remove('has-value'); + return; + } + + // Format value + const formatted = formatter ? formatter(value) : Math.round(value); + valueEl.innerHTML = formatted; + valueEl.className = 'vital-value vital-value-update'; + cardEl.classList.add('has-value'); + + // Remove animation class after it plays + setTimeout(() => valueEl.classList.remove('vital-value-update'), 600); + + // Calculate status + const ranges = VITAL_RANGES[rangeKey]; + let isCritical = false; + if (ranges) { + if (value <= ranges.critLow || value >= ranges.critHigh) { + statusEl.textContent = '🚨 Critical'; + statusEl.className = 'status-badge critical'; + isCritical = true; + } else if (value < ranges.low || value > ranges.high) { + statusEl.textContent = '⚠ Warning'; + statusEl.className = 'status-badge warning'; + } else { + statusEl.textContent = '✓ Normal'; + statusEl.className = 'status-badge normal'; + } + } + + // Play alert for critical values + if (isCritical) { + playAlertBeep(); + } + + // Update timestamp + const now = new Date(); + updateEl.textContent = now.toLocaleTimeString('en-US', { hour12: false }); + } + + // === Connection Status === + function updateConnectionStatus(status, text) { + const badge = document.getElementById('connectionBadge'); + const textEl = document.getElementById('connectionText'); + textEl.textContent = text; + + badge.className = 'connection-badge'; + if (status === 'offline') badge.classList.add('offline'); + else if (status === 'waiting') badge.classList.add('warning'); + // 'connected' uses default (green) + } + + // === Waveform Drawing === + function initWaveforms() { + ['hr', 'spo2', 'bp', 'rr', 'temp', 'map'].forEach(key => { + const canvas = document.getElementById(`waveform-${key}`); + if (canvas) { + const ctx = canvas.getContext('2d'); + // Set canvas resolution + const rect = canvas.parentElement.getBoundingClientRect(); + canvas.width = rect.width * 2; + canvas.height = rect.height * 2; + ctx.scale(2, 2); + waveformCanvases[key] = { canvas, ctx, width: rect.width, height: rect.height }; + waveformData[key] = []; + } + }); + } + + function pushWaveformPoint(key, value) { + if (!waveformData[key]) waveformData[key] = []; + waveformData[key].push(value !== null && value !== undefined ? value : null); + if (waveformData[key].length > 100) waveformData[key].shift(); + } + + const WAVEFORM_COLORS = { + hr: '#ef4444', spo2: '#06b6d4', bp: '#a855f7', + rr: '#22c55e', temp: '#f97316', map: '#ec4899' + }; + + function drawWaveform(key) { + const wf = waveformCanvases[key]; + if (!wf) return; + + const { ctx, width, height } = wf; + const data = waveformData[key] || []; + const color = WAVEFORM_COLORS[key]; + + ctx.clearRect(0, 0, width, height); + + if (data.length < 2) { + // Draw flat line + ctx.beginPath(); + ctx.strokeStyle = `${color}33`; + ctx.lineWidth = 1; + ctx.moveTo(0, height / 2); + ctx.lineTo(width, height / 2); + ctx.stroke(); + return; + } + + // Filter valid values for min/max + const validValues = data.filter(v => v !== null); + if (validValues.length === 0) return; + + const min = Math.min(...validValues) * 0.9; + const max = Math.max(...validValues) * 1.1; + const range = max - min || 1; + + // Draw gradient fill + const gradient = ctx.createLinearGradient(0, 0, 0, height); + gradient.addColorStop(0, `${color}20`); + gradient.addColorStop(1, `${color}00`); + + ctx.beginPath(); + ctx.moveTo(0, height); + + let firstPoint = true; + const step = width / (data.length - 1); + + data.forEach((v, i) => { + if (v === null) return; + const x = i * step; + const y = height - ((v - min) / range) * (height * 0.8) - height * 0.1; + if (firstPoint) { + ctx.moveTo(x, height); + ctx.lineTo(x, y); + firstPoint = false; + } else { + ctx.lineTo(x, y); + } + }); + + // Close fill path + const lastValidIdx = data.length - 1 - [...data].reverse().findIndex(v => v !== null); + ctx.lineTo(lastValidIdx * step, height); + ctx.closePath(); + ctx.fillStyle = gradient; + ctx.fill(); + + // Draw line + ctx.beginPath(); + firstPoint = true; + data.forEach((v, i) => { + if (v === null) return; + const x = i * step; + const y = height - ((v - min) / range) * (height * 0.8) - height * 0.1; + if (firstPoint) { + ctx.moveTo(x, y); + firstPoint = false; + } else { + ctx.lineTo(x, y); + } + }); + ctx.strokeStyle = color; + ctx.lineWidth = 2; + ctx.lineJoin = 'round'; + ctx.lineCap = 'round'; + ctx.stroke(); + + // Glow effect + ctx.strokeStyle = `${color}40`; + ctx.lineWidth = 6; + ctx.stroke(); + + // Draw latest point dot + if (validValues.length > 0) { + const lastVal = validValues[validValues.length - 1]; + const lastIdx = data.lastIndexOf(lastVal); + const x = lastIdx * step; + const y = height - ((lastVal - min) / range) * (height * 0.8) - height * 0.1; + + ctx.beginPath(); + ctx.arc(x, y, 4, 0, Math.PI * 2); + ctx.fillStyle = color; + ctx.fill(); + ctx.beginPath(); + ctx.arc(x, y, 8, 0, Math.PI * 2); + ctx.fillStyle = `${color}30`; + ctx.fill(); + } + } + + let waveformPhase = 0; + + function generateIdleWaveform(key, type) { + const data = waveformData[key] || []; + if (data.some(v => v !== null)) return; // Only show idle for no-data + + // Generate synthetic waveform for visual appeal + const points = 100; + waveformData[key] = []; + for (let i = 0; i < points; i++) { + const t = (i / points) * Math.PI * 4 + waveformPhase; + let val; + if (type === 'ecg') { + // ECG-like pattern + const phase = (t % (Math.PI * 2)) / (Math.PI * 2); + if (phase > 0.35 && phase < 0.40) val = 80 + 40 * Math.sin((phase - 0.35) * Math.PI / 0.05); + else if (phase > 0.40 && phase < 0.45) val = 80 - 15 * Math.sin((phase - 0.40) * Math.PI / 0.05); + else val = 72 + Math.sin(t * 0.5) * 2; + } else if (type === 'sine') { + val = 50 + Math.sin(t) * 20; + } else { + val = 50 + Math.sin(t * 0.8) * 15 + Math.sin(t * 2.1) * 5; + } + waveformData[key].push(val); + } + } + + function animateWaveforms() { + waveformPhase += 0.05; + + // Generate idle waveforms for cards with no data + generateIdleWaveform('hr', 'ecg'); + generateIdleWaveform('spo2', 'sine'); + generateIdleWaveform('bp', 'sine'); + generateIdleWaveform('rr', 'sine'); + generateIdleWaveform('temp', 'sine'); + generateIdleWaveform('map', 'sine'); + + Object.keys(waveformCanvases).forEach(drawWaveform); + requestAnimationFrame(animateWaveforms); + } + + // === Handle window resize === + window.addEventListener('resize', () => { + initWaveforms(); + }); +

-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�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