Reports & Analytics
Routes: /reports/engagement, /reports/chat-analytics, /reports/ehr-health, /reports/ehr-ingestion
Files: reports/PatientEngagementPage.tsx, reports/AiChatAnalyticsPage.tsx, reports/EhrHealthPage.tsx, reports/EhrIngestionLogPage.tsx
The Reports section gives administrators visibility into how patients are using ChartChat and the health of EHR integrations. All charts are built with Chart.js (bar charts).
For the EHR Ingestion Log, see the dedicated page.
Patient Engagement (/reports/engagement)​
Tracks how patients are interacting with the portal over time.
Metrics shown​
| Metric | Description |
|---|---|
| Total logins | Number of patient sign-ins in the selected period |
| Active patients | Unique patients who have logged in |
| Daily activity | Bar chart of logins per day over the last 30 days |
| This month | Login count for the current calendar month |
Data source​
Built from AuditEvent FHIR resources. Each patient login generates an AuditEvent which this page aggregates. Events are bucketed by day for the chart.
AI Chat Analytics (/reports/chat-analytics)​
Tracks usage of the AI Chat Assistant across all patients.
Metrics shown​
| Metric | Description |
|---|---|
| Total messages | Total number of messages sent across all sessions |
| Total sessions | Total number of chat sessions started |
| Avg messages/session | Average conversation length |
| Safety events | Number of AI refusals or safety interventions |
| Intent breakdown | Percentage breakdown of chat topics (labs, medications, conditions, visits, allergies, general) |
| Daily messages | Bar chart of messages per day over the last 30 days |
Data source​
ChatMessageresources — counted and grouped by intent and date.AuditEventresources — filtered for safety/refusal events.
Intent breakdown​
Shows what patients are most commonly asking about:
| Intent | Meaning |
|---|---|
lab | Questions about lab results |
medications | Questions about medications |
condition | Questions about conditions |
visits | Questions about visits/encounters |
allergies | Questions about allergies |
general | General health questions |
EHR Integration Health (/reports/ehr-health)​
Monitors the status and sync health of all EHR connections across all patients.
Metrics shown​
| Metric | Description |
|---|---|
| Total connections | Number of active PatientEHRConnection resources |
| Connections by provider | Breakdown of how many patients are connected per EHR (Epic, Healow, MEDITECH, etc.) |
| Last sync times | How recently data was synced per provider |
| Expired tokens | Number of connections with status: token_expired |
| Bar chart | Active vs expired connections per EHR vendor |
Sync status indicators​
| Label | Meaning |
|---|---|
< 1 hour ago | Recently synced — healthy |
Xh ago | Synced within last 24 hours — acceptable |
Xd ago | Stale sync — may need attention |
Never | No sync has occurred |
Provider colors​
Each EHR vendor is shown with a consistent color in charts:
| Vendor | Color |
|---|---|
| Epic | Blue |
| MEDITECH | Amber |
| Healow | Green |
| Cerner | Purple |
| Athena | Cyan |