Overview
The Waitlist Management system allows ARCA to efficiently manage people waiting to begin treatment. The waitlist is publicly accessible for registration, while clinic staff can view, manage, and process entries through the dashboard.How the Waitlist Works
The waitlist operates on a first-come, first-served basis:- Each entry receives a unique ID upon registration
- Position is determined by registration date and time (
createdAt) - Earlier registrations have priority over later ones
- Each entry has an active/inactive status (
isActive) - Only active entries count toward queue position
The waitlist ID is a UUID that registrants can use to check their position. Keep this ID safe - it’s the only way to track position without staff assistance.
Public Registration
People can register for the waitlist through ARCA’s public-facing form without needing an account.Registration Process
Access the Registration Form
Navigate to the public waitlist registration page at
/lista-espera/cadastro.Section 1: Personal Information
Enter:
- Registered Name: Full legal name (required, up to 150 characters)
- Social Name: Preferred name if different (optional, up to 100 characters)
- Birth Date: Select from calendar picker (required)
- Personal Phone: Contact number in format (11) 99999-9999 (required)
- Emergency Contact: Alternative phone number (required)
Section 2: Address
Complete the address fields:
- Street name and number
- Neighborhood
- City
- State (2-letter code, e.g., “SP”)
- CEP (postal code, 8 digits only, e.g., “12345678”)
Section 3: Complementary Information
Select from dropdown menus:
- Gender: Masculine, Feminine, Non-binary, or Prefer not to say
- Skin Color: White, Black, Brown, Yellow, Indigenous, or Prefer not to say
- Education Level: From incomplete elementary through doctorate
Submit Registration
Click Send Registration to submit. The system validates all required fields before accepting.
Registration Validation
The form validates:- Required fields are not empty
- Name fields respect character limits (150 for registered name, 100 for social name)
- Phone numbers are in valid format (up to 20 characters)
- State is exactly 2 letters
- CEP is exactly 8 numeric digits
- Birth date is not in the future
Staff Waitlist Dashboard
Clinic staff access the waitlist through/dashboard/lista-espera.
Viewing the Waitlist
The dashboard displays all waitlist entries in a table with:- Name: Registered name with social name in parentheses if provided
- Birth Date: Formatted as DD/MM/YYYY
- Phone: Personal contact number
- Status: Active (green badge) or Inactive (red badge)
- Registration Date: When they joined the waitlist
- Actions: View, Edit, and Delete buttons
Statistics Display
At the top of the waitlist table, you’ll see:- Total: All entries in the system
- Active: Currently active entries in the queue
- Inactive: Entries marked as inactive
- Displaying: Number of filtered results (when filters are applied)
Search and Filtering
Search Bar
The search field finds entries by:- Registered name (partial matches)
- Social name (partial matches)
- Phone number (exact or partial)
- City name
- Neighborhood name
Status Filter
Filter the list by:- All Status: Shows both active and inactive entries
- Active Only: Shows people currently in the queue
- Inactive Only: Shows people removed from the queue
Search and filters work together. For example, searching for “João” with “Active Only” filter shows only active entries matching “João”.
Managing Waitlist Entries
Viewing Details
Review Information
A dialog displays complete information organized in sections:
- Personal Information: Names, birth date, status
- Contacts: Personal phone and emergency contact
- Address: Full formatted address with CEP
- System Information: Waitlist ID and exact registration timestamp
Editing an Entry
Staff can update waitlist information:Update Fields
The edit dialog contains three sections matching the registration form:
- Personal Information (name and social name)
- Contacts (both phone numbers)
- Address (all address fields)
Editing a waitlist entry does NOT change their position. Position is based on original registration time and cannot be modified.
Deleting an Entry
Remove someone from the waitlist:Confirm Deletion
A confirmation dialog appears showing the person’s name. This action cannot be undone.
Checking Waitlist Position
People with a waitlist ID can check their position:- Navigate to
/lista-espera/consulta - Enter the waitlist ID provided during registration
- Click Check Position
- The system displays:
- Current position in the queue
- Status (Active or Inactive)
- Registration date
Position Calculation
Position is calculated by:- Counting all active entries with an earlier
createdAttimestamp - Adding 1 to get the current position
- Inactive entries are not counted in the queue
Waitlist Statistics
The/waitlist/stats endpoint provides:
- Total Queue Length (
qntFila): Number of people in the waitlist - Last Update (
ultimaAtualizacao): Timestamp of the most recent entry
Converting to Active Patient
When a waitlist entry is ready to begin treatment:Create Patient Record
In Patient Management, create a new patient record using the information from the waitlist entry:
- Copy demographic information
- Assign an intern and supervisor
- Set the treatment start date
Currently, waitlist-to-patient conversion is a manual process. Copy the information carefully to ensure accuracy in the patient record.
Data Privacy
Waitlist data handling:- Public Access: Anyone can register and check their own position with their ID
- Staff Access: All authenticated users can view and manage the complete waitlist
- Data Storage: Entries remain in the system even when deleted (soft delete with timestamps)
- Audit Trail: All staff actions on waitlist entries are logged
Best Practices
Regular Waitlist Review
Regular Waitlist Review
Review the waitlist weekly to:
- Verify contact information is still valid
- Identify the next candidates for treatment
- Remove duplicate entries
- Update any changed information
Clear Communication
Clear Communication
When contacting people from the waitlist:
- Identify yourself and the clinic clearly
- Explain their position and estimated wait time honestly
- Confirm their continued interest in treatment
- Update their contact information if it has changed
Maintain Active Status
Maintain Active Status
Use the active/inactive status effectively:
- Keep entries active if they’re still waiting
- Mark as inactive if they decline treatment, become unreachable, or convert to patients
- Don’t delete entries unnecessarily - inactive status preserves the data
Handle Duplicate Registrations
Handle Duplicate Registrations
If someone registers multiple times:
- Keep the earliest entry (it has priority)
- Contact them to confirm which contact information is correct
- Delete or mark newer duplicate entries as inactive
Waitlist Fields Reference
| Field | Type | Required | Max Length | Notes |
|---|---|---|---|---|
nomeRegistro | String | Yes | 150 | Legal/registered name |
nomeSocial | String | No | 100 | Preferred/social name |
dataNascimento | Date | Yes | - | Cannot be in the future |
telefonePessoal | String | Yes | 20 | Primary contact phone |
contatoEmergencia | String | Yes | 20 | Emergency contact phone |
enderecoRua | String | Yes | 255 | Street address |
enderecoNumero | String | Yes | 10 | Address number |
enderecoBairro | String | Yes | 100 | Neighborhood |
enderecoCidade | String | Yes | 100 | City name |
enderecoEstado | String | Yes | 2 | State code (e.g., “SP”) |
enderecoCEP | String | Yes | 8 | Postal code (numbers only) |
id_Genero | Integer | Yes | - | Gender ID (1-4) |
id_CorPele | Integer | Yes | - | Skin color ID (1-6) |
id_Escolaridade | Integer | Yes | - | Education level ID (1-9) |
isActive | Boolean | - | - | Auto-set to true |
createdAt | DateTime | - | - | Auto-generated timestamp |