reorganize application code into fiveparaminte-main directory structure
This commit is contained in:
@@ -79,3 +79,36 @@ async def forward_vitals_to_api(vitals: NormalizedVitals) -> bool:
|
||||
logger.warning(f"Error forwarding to Render Cloud: {type(e).__name__} ({err_msg})")
|
||||
|
||||
return primary_success or render_success
|
||||
|
||||
|
||||
async def sync_patient_assignment_to_cloud(patient_data: dict, device_id: str) -> bool:
|
||||
"""
|
||||
Synchronizes patient demographics assignment to Render Cloud Server.
|
||||
Ensures local and remote dashboards always show the exact same patient.
|
||||
"""
|
||||
import os
|
||||
is_on_render = os.getenv("RENDER") is not None or os.getenv("PORT") == "10000" or "render.local" in os.getenv("HOSTNAME", "")
|
||||
if is_on_render:
|
||||
return True
|
||||
|
||||
client = get_http_client()
|
||||
render_assign_url = "https://contectfiveparamonitor.onrender.com/api/patient/assign"
|
||||
payload = {
|
||||
"device_id": device_id,
|
||||
"mrn": patient_data.get("mrn") or patient_data.get("patient_id") or "",
|
||||
"name": patient_data.get("name") or patient_data.get("patient_name") or "Unknown",
|
||||
"dob": patient_data.get("dob") or patient_data.get("patient_dob"),
|
||||
"gender": patient_data.get("gender") or patient_data.get("patient_gender"),
|
||||
"bed_id": patient_data.get("bed_id"),
|
||||
}
|
||||
try:
|
||||
url_with_key = render_assign_url
|
||||
if settings.api_token:
|
||||
url_with_key = f"{render_assign_url}?api_key={settings.api_token}"
|
||||
resp = await client.post(url_with_key, json=payload, headers={"Content-Type": "application/json"})
|
||||
resp.raise_for_status()
|
||||
logger.info(f"Successfully synced patient {payload['mrn']} ({payload['name']}) to Render Cloud for {device_id}")
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.warning(f"Could not sync patient assignment to Render Cloud: {type(e).__name__} ({e})")
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user