The CRM module is FemeSalud’s patient retention and re-engagement tool. It gives clinicians a fast way to reach out to patients directly from the platform — whether that means sending a single personalized WhatsApp message or assembling a bulk broadcast list for practice-wide campaigns. Outreach can target specific patient segments using status filters or free-text search, keeping communications relevant and reducing unnecessary noise.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KevxxAlva/femesalud-zen-flow/llms.txt
Use this file to discover all available pages before exploring further.
Accessing the Module
Navigate to CRM in the sidebar. The module is available to users with either theadmin or doctor role — no special permissions beyond a valid authenticated session are required. The page title reads CRM y Fidelización.
Patient List
The CRM table is powered byusePaginatedPatients() and displays 20 patients per page. Each row shows:
- Paciente — the patient’s full name
- Contacto — phone number, or
Sin teléfonoif none is recorded - Estado — current patient status rendered as a pill badge
- Acción Rápida — a direct WhatsApp send button for that individual row
Search and Filter
Search by name
Type in the search box to filter the list by patient name in real time. The query is debounced and passed to
usePaginatedPatients() as the search parameter.Filter by status
Use the status dropdown to narrow results to a specific patient segment. Available values match the
status column of the patients table.| Value | Label |
|---|---|
nuevo | Nuevos |
activo | Activos |
en_tratamiento | En tratamiento |
alta | De Alta |
Selecting Patients
- Single row: Click anywhere on a row (outside the quick-action button) to toggle selection. A selected row highlights and its checkbox changes to a filled state.
- Select all on page: Click the checkbox in the table header to select every patient currently visible. Clicking it again deselects all.
- The bulk action button in the toolbar shows a live count: Generar Lista de Difusión (N) when more than one patient is selected, or Enviar Mensaje when exactly one is selected.
Sending Messages
Single Patient
When exactly one patient with a phone number is selected, clicking the action button — or the Send icon in that patient’s row — opens a new browser tab with a pre-filled WhatsApp link:wa.me deep-link format is always valid.
Bulk Campaign (Multiple Patients)
When two or more patients are selected, clicking Generar Lista de Difusión copies a comma-separated list of sanitized phone numbers to the clipboard and shows a success toast:“Números copiados al portapapeles. Pégalos en WhatsApp Business para crear tu lista de difusión.”Only patients that have a phone number recorded are included — patients without a phone are silently skipped.
Patients without a recorded phone number are skipped during bulk outreach. The phone column will display
Sin teléfono in the CRM table. Make sure to collect phone numbers when registering new patients to maximize campaign reach.WhatsApp Reminders from Dashboard and Agenda
Beyond the CRM module, FemeSalud embeds appointment reminder shortcuts directly in the Dashboard and Agenda views. Each upcoming appointment card has a MessageCircle button that opens a pre-filled WhatsApp message addressed to the patient:wa.me link is constructed. This allows any doctor to send a personalized reminder in one click without leaving the scheduling interface.
Limitations
| Limitation | Detail |
|---|---|
wa.me supports one recipient | Individual WhatsApp links only open a chat with a single contact. For more than one recipient, use the copy-to-clipboard broadcast list approach. |
| Broadcast lists require WhatsApp Business | The clipboard numbers must be pasted into WhatsApp Business. Standard WhatsApp does not support broadcast lists. |
| 256-recipient cap | WhatsApp Business broadcast lists are capped at 256 recipients per list. For larger campaigns, split the selection across multiple pages. |
| No delivery receipts | FemeSalud does not track whether messages were delivered or read. Delivery confirmation must be checked inside WhatsApp Business directly. |