query("SELECT count(*) FROM residents")->fetchColumn(); $active_residents = $pdo->query("SELECT count(*) FROM residents WHERE status = 'Active'")->fetchColumn(); $high_risk_residents = $pdo->query("SELECT count(*) FROM residents WHERE risk_level = 'High'")->fetchColumn(); $high_risk_alert_stmt = $pdo->query("SELECT id, first_name, last_name, program FROM residents WHERE risk_level = 'High' ORDER BY last_name, first_name LIMIT 5"); $high_risk_alerts = $high_risk_alert_stmt->fetchAll(PDO::FETCH_ASSOC); // -- Fetch Domains -- $domain_stmt = $pdo->query("SELECT * FROM domains ORDER BY id"); $domains = $domain_stmt->fetchAll(PDO::FETCH_ASSOC); // -- Get active domain -- $active_domain_id = $_GET['domain_id'] ?? $domains[0]['id'] ?? 1; // -- Filtering -- $program_filter = $_GET['program'] ?? ''; $risk_filter = $_GET['risk_level'] ?? ''; $status_filter = $_GET['status'] ?? ''; $base_sql = "SELECT r.id, r.first_name, r.last_name, r.status, r.program, r.risk_level, COALESCE(rdp.progress, 0) as progress FROM residents r LEFT JOIN resident_domain_progress rdp ON r.id = rdp.resident_id AND rdp.domain_id = ?"; $params = [$active_domain_id]; $where_clauses = []; if ($program_filter) { $where_clauses[] = "r.program = ?"; $params[] = $program_filter; } if ($risk_filter) { $where_clauses[] = "r.risk_level = ?"; $params[] = $risk_filter; } if ($status_filter) { $where_clauses[] = "r.status = ?"; $params[] = $status_filter; } $sql = $base_sql; if (!empty($where_clauses)) { $sql .= " WHERE " . implode(' AND ', $where_clauses); } $sql .= " ORDER BY r.last_name, r.first_name"; $stmt = $pdo->prepare($sql); $stmt->execute($params); $residents = $stmt->fetchAll(PDO::FETCH_ASSOC); // For filter dropdowns $programs = $pdo->query("SELECT DISTINCT program FROM residents ORDER BY program")->fetchAll(PDO::FETCH_COLUMN); $risk_levels = $pdo->query("SELECT DISTINCT risk_level FROM residents ORDER BY risk_level")->fetchAll(PDO::FETCH_COLUMN); $statuses = $pdo->query("SELECT DISTINCT status FROM residents ORDER BY status")->fetchAll(PDO::FETCH_COLUMN); ?>
| Name | Program | Risk Level | Progress | Status | Action |
|---|---|---|---|---|---|
|
|
View | ||||
| No residents found matching your criteria. | |||||