RHOverview) is the primary landing page for the RH module, accessible at /rh/dashboard (the root /rh redirects here).
Overview
The dashboard loads live stats fromuseDashboardStats and renders a QuickActionsSection (editable, module rh, up to 6 module actions and 3 global), four summary StatCard tiles, and five widget sections. Widgets load lazily via Suspense with skeleton fallbacks.
Stat cards (linked to sub-routes):
- Total Residences — count of active residences (
rh_residences) - Bed Capacity —
occupied_beds / total_bedswith occupancy rate percentage - Active Episodes — count of episodes with
status = 'admitted' - Waitlist — count of episodes with
status = 'waitlisted'
- Census & Beds:
CensusSummaryWidget,BedCensusWidget,BedAvailabilityWidget,WaitlistWidget,RecentAdmissionsWidget,LicenseAlertsWidget - Daily Operations:
AttendanceComplianceWidget,ChoreCompletionWidget,CurfewComplianceWidget - Discharge Planning:
UpcomingDischargesWidget,DischargeReadinessWidget,FollowUpsDueWidget,ReferralSuccessWidget - Compliance & Staff Operations:
ComplianceStatusWidget,ComplianceDeadlinesWidget,TrainingDueWidget,UpcomingAuditsWidget - Outcomes & Alumni:
OutcomeSummaryWidget,SobrietyRateWidget,CompletionRateWidget,AlumniEngagementWidget,ReportsDueWidget
Who it’s for
This route is protected byRH_PERMISSIONS.DASHBOARD_VIEW (rh.dashboard.view) via RHViewGuard. No additional per-route permission gate.
Before you start
- Your account must hold
rh.dashboard.view. - An organization context must be active; all stat queries filter by
organization_id.
Steps
1
Navigate to the dashboard
Go to
/rh or /rh/dashboard. The stat cards load immediately from useDashboardStats; widget skeletons display while lazy components load.2
Review summary stats
The four stat cards at the top show Total Residences, Bed Capacity (with occupancy rate), Active Episodes, and Waitlist count. Click a card to navigate to the corresponding sub-section.
3
Use Quick Actions
The
QuickActionsSection below the header provides up to 6 module-specific quick actions and 3 global actions. Actions are editable by the current organization.4
Review widget sections
Scroll through the five widget sections to see daily operations status, discharge planning readiness, compliance standing, and outcomes metrics. Each widget queries data scoped to the current organization.
Bed Census widget
TheBedCensusWidget shows live occupancy for your organization’s active residences. It reads the same data as the RH Bed Board, so the numbers you see on the dashboard match what’s on the board.
What it shows:
- Occupancy Rate — occupied beds as a percentage of total active beds.
- Occupied Beds — beds with
status = 'occupied'. - Available Beds — beds with
status = 'available'. - Total Capacity — count of non-deleted beds across active residences.
- View bed board → — link to
/rh/bed-boardfor the full grid.
- Polls every 30 seconds via React Query.
- Subscribes to realtime updates on
rh_bedsand refetches on any insert, update, or delete in your organization. - A connection badge in the widget header shows realtime status.
useBedBoard):
- Residences are filtered to
status = 'active'in the current organization. - Beds are filtered to non-deleted rows (
deleted_at IS NULL) in those residences.
Key concepts
Related
Recovery Housing
Recovery Housing references and overview.
Governance & parity
Documentation coverage and governance.
This page documents shipped product behavior. It is not medical, legal, or
billing advice. Verify against your organization’s policies and applicable
regulations before using it for clinical, compliance, or billing decisions.
Protected health information (PHI) shown in the product is governed by your
tenant’s access controls and is never exposed in this documentation.
Documentation sources
Documentation sources
- src/routes/rh.tsx
- src/cores/rh/pages/RHOverview.tsx
- src/cores/rh/hooks/useDashboardStats.ts
- src/platform/dashboard/widgets/BedCensusWidget.tsx
- src/platform/census/fetchBedCensusSummary.ts