Support Tickets
Routes: /support, /support/:id
Files: support/SupportTicketsPage.tsx, support/SupportTicketDetailPage.tsx
The Support section lets administrators view, manage, and respond to support requests submitted by patients from the Member Portal.
Support Ticket List (/support)​
Displays all support tickets in a table with the following information per ticket:
| Column | Description |
|---|---|
| Patient Name | Name of the patient who submitted the ticket |
| Patient's email address | |
| Category | Type of issue (see categories below) |
| Priority | Low, Medium, or High |
| Status | Unresolved, Pending, or Resolved |
| Created | Date the ticket was submitted |
| Last Updated | Date of the most recent activity |
Ticket categories​
| Category key | Display label |
|---|---|
technical-issue | Technical Issue |
health-details | Health Details |
general-inquiry | General Inquiry |
feedback | Feedback |
Status colors​
| Status | Color |
|---|---|
unresolved | Red |
pending | Yellow |
resolved | Green |
Filtering​
Admins can filter tickets by:
- Status (multi-select)
- Search by patient name or email
Pagination​
Tickets are paginated. The page size can be adjusted.
Support Ticket Detail (/support/:id)​
The detail view lets admins read the full ticket and engage in a back-and-forth conversation with the patient.
Ticket information panel​
Shows the patient's submitted details:
- Full name, email, phone (if provided)
- Category, description
- Current status and priority
- Created and last updated timestamps
Conversation thread​
Shows the full message history between the patient and the support team, in chronological order. Messages from the patient and admin are visually distinguished.
Replying​
Admins type a reply in the text area and click Send. The reply is saved as a new message resource and becomes visible to the patient in their Member Portal support page.
Updating status and priority​
Admins can change:
- Status — Unresolved → Pending → Resolved
- Priority — Low / Medium / High
Changes are saved immediately via medplum.updateResource().
Internal notes​
A separate internal notes field is available for team-only notes that are not visible to the patient.
How support messages are stored​
Support tickets and messages are stored as custom FHIR resources:
| Resource | Description |
|---|---|
SupportTicket | The ticket itself — patient info, category, status, priority |
SupportTicketMessage | Individual messages in the conversation thread |
Each message has a sender field: patient or admin.