DocUA's picture
refactor: Modularize core Gradio application logic into dedicated session, chat, model, profile, prompt, stats, and verification handler modules.
17f3ad3
import asyncio
import uuid
import os
import sys
from datetime import datetime
from src.core.simplified_medical_app import SimplifiedMedicalApp
from src.core.core_classes import ClinicalBackground
class SimplifiedSessionData:
"""Container for user session data."""
def __init__(self, session_id: str = None):
self.session_id = session_id or str(uuid.uuid4())
self.app_instance = SimplifiedMedicalApp()
self.created_at = datetime.now().isoformat()
self.last_activity = datetime.now().isoformat()
# Set default patient info from profile
self.app_instance.set_patient_info(name="Serhii", phone="(555) 123-4567")
# Update clinical_background to match default profile
self.app_instance.clinical_background = ClinicalBackground(
patient_name="Serhii",
age=52,
conditions=["Atrial fibrillation", "Deep vein thrombosis", "Obesity", "Hypertension"],
primary_goal="Weight reduction and cardiovascular fitness improvement",
exercise_preferences=["Swimming", "Walking", "Light cardio"],
exercise_limitations=["Anticoagulation therapy", "Post-thrombotic recovery"]
)
# Update conversation logger patient name
if hasattr(self.app_instance, 'conversation_logger'):
self.app_instance.conversation_logger.patient_name = "Serhii"
def update_activity(self):
"""Update last activity timestamp."""
self.last_activity = datetime.now().isoformat()