prepare($query); $stmt->execute($params); $patients = $stmt->fetchAll(); ob_start(); if (empty($patients)): ?>
() $html]); exit; } // Fetch Stats $total_patients = $db->query("SELECT COUNT(*) FROM patients")->fetchColumn(); $today_appointments_count = $db->query("SELECT COUNT(*) FROM appointments WHERE DATE(start_time) = CURDATE()")->fetchColumn(); $total_visits = $db->query("SELECT COUNT(*) FROM visits")->fetchColumn(); $total_revenue = $db->query("SELECT SUM(total_amount) FROM bills WHERE status = 'Paid'")->fetchColumn() ?: 0; $pending_revenue = $db->query("SELECT SUM(total_amount) FROM bills WHERE status = 'Pending'")->fetchColumn() ?: 0; $total_xrays = $db->query("SELECT COUNT(*) FROM xray_inquiries")->fetchColumn(); $total_labs = $db->query("SELECT COUNT(*) FROM laboratory_inquiries")->fetchColumn(); // Fetch Running Visits (Not Completed/Cancelled) $running_visits_sql = " SELECT v.*, p.name as patient_name, d.name_$lang as doctor_name, n.name_$lang as nurse_name FROM visits v JOIN patients p ON v.patient_id = p.id LEFT JOIN doctors d ON v.doctor_id = d.id LEFT JOIN nurses n ON v.nurse_id = n.id WHERE v.status IN ('CheckIn', 'In Progress') ORDER BY v.visit_date ASC"; $running_visits = $db->query($running_visits_sql)->fetchAll(); // Initial Patients Load $patients_sql = " SELECT p.*, ic.name_$lang as insurance_name FROM patients p LEFT JOIN insurance_companies ic ON p.insurance_company_id = ic.id ORDER BY p.id DESC LIMIT 5"; $patients = $db->query($patients_sql)->fetchAll(); // Today's Appointments $appointments_sql = " SELECT a.*, p.name as patient_name, d.name_$lang as doctor_name, n.name_$lang as nurse_name FROM appointments a JOIN patients p ON a.patient_id = p.id LEFT JOIN doctors d ON a.doctor_id = d.id LEFT JOIN nurses n ON a.nurse_id = n.id WHERE DATE(a.start_time) = CURDATE() ORDER BY a.start_time ASC"; $appointments = $db->query($appointments_sql)->fetchAll(); ?>

()
No patients found.