Patients
A complete guide to the Patients module — creating and managing patient profiles, medical history, emergency contacts, full profile view, search, and CSV export.
Written By Dev010
Last updated 19 days ago
The Patients module is the foundation of CareNova. Every clinical workflow — appointments, prescriptions, medical records, invoices — connects back to a patient record. This guide covers everything from creating a patient profile to exporting the full patient list.
Accessing the Module
Sidebar → Patients
Direct URL:
https://yourdomain.com/dashboard/patientsWho can access:
Patient List
The main patients page shows a paginated, searchable list of all registered patients.
Each row in the list displays:
Full name
Date of birth and age
Phone number
Gender
Blood group
Primary doctor
Department
Registration date
Action buttons (view, edit, delete)
Search and Filters
The search bar filters patients in real time across the following fields:
Full name
Phone number
Email address
Results update as you type. The search is handled server-side — no client-side filtering.
Pagination
The patient list is paginated. Large clinics with thousands of patients will see records split across pages. Navigation controls appear at the bottom of the list.
Bulk Actions
Select multiple patients using the checkboxes on the left of each row to perform bulk actions:
Bulk delete — permanently removes selected patient records
Bulk delete shows a confirmation dialog before executing. Deleting a patient also cascades and removes all linked records — appointments, medical records, prescriptions, invoices, and payments. This action cannot be undone.
Creating a Patient
Click the Add Patient button in the top right of the patients list.
Direct URL:
https://yourdomain.com/dashboard/patients/newRequired Fields
Optional Fields
Demographics:
Medical Background:
Assignment:
Emergency Contact:
Saving the Patient
Click Create Patient to save. The patient is immediately added to the list and assigned a unique UUID. You are redirected to the patient detail page after creation.
Patient Detail Page
Each patient has a dedicated detail page accessible by clicking their name in the list.
Direct URL:
https://yourdomain.com/dashboard/patients/[id]The detail page shows a complete overview of the patient including:
Full demographics and contact information
Medical history and allergies
Emergency contact details
Primary doctor and department assignment
Summary counts — total appointments, prescriptions, invoices
From this page you can:
Open the Full Profile Sheet
Navigate to Edit Patient
Access linked records directly
Full Profile Sheet
Clicking View Full Profile on a patient opens a slide-in sheet showing a 360° view of the patient's history across all modules — without leaving the current page.
The Full Profile Sheet contains tabbed sections:
This sheet is accessible from the patient list row actions and the patient detail page. It is available to all roles that have patients.view permission.
Editing a Patient
Click the Edit button on the patient list row or the patient detail page.
Direct URL:
https://yourdomain.com/dashboard/patients/[id]/editAll fields from the creation form are editable. Changes are saved immediately on form submission and the patient list is refreshed automatically.
Deleting a Patient
Patients can be deleted from:
The action menu on the patient list row
The patient detail page (Admin only)
A confirmation dialog appears before deletion.
⚠️ Deleting a patient is permanent and cascades to all linked records:
Appointments
Medical records, vitals, clinical notes, diagnoses, and attachments
Prescriptions
Invoices and invoice items
Payments
Test reports
Odontograms
Only Admin accounts can delete patients. This action cannot be undone.
CSV Export
The full patient list can be exported as a CSV file for use in spreadsheets or external systems.
Click the Export button on the patients list page. The export runs server-side and downloads immediately.
The exported CSV includes:
Full name
Date of birth
Phone
Email
Gender
Blood group
Address
Medical history
Allergies
Emergency contact details
Primary doctor name
Department name
Registration date
CSV export requires the
patients.exportpermission. By default this is granted to Admin only. Adjust in Dashboard → Permissions if needed.
Patient Database Fields
For developers and admins, here is the complete patients table schema:
Indexes are set on phone and full_name for fast search performance.
Workflow Examples
Register a walk-in patient and book their first appointment:
Sidebar → Patients → Add Patient
Fill in name, date of birth, phone
Assign primary doctor and department
Click Create Patient
From the patient detail page, click Book Appointment
Select service, doctor, date and time
Look up a returning patient quickly:
Sidebar → Patients
Type their name or phone in the search bar
Click their row to open the Full Profile Sheet
Review their appointment and prescription history
Check a patient's outstanding invoices:
Open patient from the list
Click View Full Profile
Navigate to the Invoices tab
Review unpaid invoice amounts
Troubleshooting
Patient does not appear in search after creation:
Hard refresh the browser
Confirm the patient was saved — check Supabase → Table Editor → patients
Search checks name and phone — try searching by phone number if name search returns nothing
Cannot create patients (button missing):
Confirm your role has
patients.createpermission in Dashboard → PermissionsNurses do not have create permission by default
Delete button not visible:
Patient deletion is restricted to Admin role only
Doctor, Receptionist, and Nurse accounts do not see the delete option
CSV export not downloading:
Confirm your account has
patients.exportpermission — Admin only by defaultCheck browser popup/download blocker settings
Try a different browser if the download does not start
Next Step
Continue to the Appointments module guide to learn how to schedule, manage, and track patient appointments in CareNova.