This guide covers importing patient data from a legacy system using the Data Import Facility.
The import system accepts four CSV sheets that must be imported in order:
- Patient Demographics — creates patient records
- Clinical Background — allergies and conditions
- Medical Notes — consultation history
- Medications — prescription history
For full details on CSV column specifications, see the Data Import Facility reference page.
Navigate to:
https://{slug}.gp.veripath.co.uk/import/
Only staff with Practice Manager or appropriate permissions can access this page.
Export data from your legacy system into the four CSV sheets. Ensure:
- Column headers match the required names exactly
- Dates are in
YYYY-MM-DD format
- Patient IDs are consistent across all sheets (use
LegacyPatientID)
- Files are in UTF-8 or Windows-1252 encoding
- Go to the import dashboard at
/import/
- Enter your tenant subdomain (e.g.
maple-surgery)
- Drag and drop your CSV file onto the Patient Demographics card
- Review the dry-run preview:
- Row count — how many records will be imported
- Errors — rows that will be skipped (and why)
- Warnings — potential issues to review
- If errors are shown, fix the CSV and re-upload
- If the dry-run looks correct, click Confirm Import
- The system will process the CSV and import the records
- Results are shown inline — check the summary for any failures
¶ Step 4: Repeat for Remaining Sheets
Import the remaining sheets in order:
- Patient Demographics ✅ (done)
- Clinical Background → upload, dry-run, confirm
- Medical Notes → upload, dry-run, confirm
- Medications → upload, dry-run, confirm
When later sheets reference a patient by PatientID, the system matches in this order:
- LegacyPatientID — from the Demographics sheet
- NHS Number — encrypted match
- Email — email address match
This means you can reference patients across sheets using their legacy ID without needing the NHS number.
After import, verify the data:
- Go to Patients and search for a sample of imported patients
- Check that demographics, allergies, notes, and medications are present
- If anything is missing, review the import summary for warnings
For automated or bulk imports, the same engine is available via the command line:
python manage.py import_patients --file patients.csv --tenant {slug} --dry-run
python manage.py import_patients --file patients.csv --tenant {slug}