prepare("SELECT * FROM partners WHERE user_id = ?"); $stmt->execute([$current_user_id]); $partner = $stmt->fetch(PDO::FETCH_ASSOC); if (!$partner) { $error_message = "Could not find a partner profile linked to your user account."; } else { $partner_id = $partner['id']; // -- Fetch assigned residents and their domain scores -- $resident_sql = " SELECT r.id, r.first_name, r.last_name, r.program, r.status, GROUP_CONCAT(rs.domain, ':', rs.score_int, ':', rs.level SEPARATOR ';') as domain_data FROM residents r LEFT JOIN risk_scores rs ON r.id = rs.resident_id WHERE r.partner_id = ? GROUP BY r.id ORDER BY r.last_name, r.first_name "; $resident_stmt = $pdo->prepare($resident_sql); $resident_stmt->execute([$partner_id]); $residents_raw = $resident_stmt->fetchAll(PDO::FETCH_ASSOC); $residents = array_map(function($res) { $res['domains'] = []; if ($res['domain_data']) { $domains_list = explode(';', $res['domain_data']); foreach ($domains_list as $d) { list($domain, $score, $level) = explode(':', $d); $res['domains'][$domain] = ['score' => $score, 'level' => $level]; } } unset($res['domain_data']); return $res; }, $residents_raw); // -- Performance Summary -- $total_assigned = count($residents); $active_assigned = count(array_filter($residents, fn($r) => $r['status'] === 'Active')); $stmt = $pdo->prepare("SELECT COUNT(*) FROM referrals WHERE partner_id = ?"); $stmt->execute([$partner_id]); $total_referrals = $stmt->fetchColumn(); // -- Referral Data -- $referral_sql = " SELECT ref.id, ref.referral_date, ref.status, ref.notes, res.first_name, res.last_name, u.email as staff_email FROM referrals ref JOIN residents res ON ref.resident_id = res.id JOIN users u ON ref.staff_user_id = u.id WHERE ref.partner_id = ? ORDER BY ref.referral_date DESC "; $referral_stmt = $pdo->prepare($referral_sql); $referral_stmt->execute([$partner_id]); $referrals = $referral_stmt->fetchAll(PDO::FETCH_ASSOC); // -- Fetch Messages -- $message_sql = " SELECT m.id, m.subject, m.created_at, m.read_at, u.email as sender_email FROM messages m JOIN users u ON m.sender_user_id = u.id WHERE m.recipient_user_id = ? ORDER BY m.created_at DESC "; $message_stmt = $pdo->prepare($message_sql); $message_stmt->execute([$current_user_id]); $messages = $message_stmt->fetchAll(PDO::FETCH_ASSOC); } ?>
Program:
Status:
| Date | Resident | Referred By | Status | Actions |
|---|---|---|---|---|
| No referrals found. | ||||