How to Import Patients from a CSV File

Import your existing patient list into Dentare in minutes. Upload a CSV file, map columns, review the data, and let Dentare create the patient records automatically. This guide walks you through each step.

Written by Feti Jashari
Updated over a week ago

How to Import Patients from a CSV File

Import your existing patient list into Dentare in minutes. Upload a CSV file, map columns, review the data, and let Dentare create the patient records automatically. This guide walks you through each step.


In this article:



What You'll Need

  • An active Dentare account with admin access

  • A CSV file (.csv) containing your patient data β€” maximum 10 MB

  • The file must include at least First Name and Last Name columns



Step 1 β€” Upload Your CSV File

  1. Log in to Dentare as an account admin

  2. Go to Patients and click Import Patients (or navigate directly to the import page)

  3. Drag and drop your CSV file into the upload area, or click to browse and select the file

  4. Click Upload

Dentare automatically detects the file encoding (UTF-8, ISO-8859-1) and reads the column headers.

Note: Only .csv files are accepted. If you have an Excel file (.xlsx), export it as CSV first from Excel or Google Sheets.



Step 2 β€” Map Columns to Patient Fields

After uploading, you'll see a mapping table with three columns:

  • CSV Column β€” the header names from your file

  • Preview Data β€” the first few rows of data so you can verify

  • Maps To β€” a dropdown to select which Dentare patient field this column represents

Dentare automatically suggests mappings based on your column names. It recognizes headers in English, Albanian, and Macedonian.

To adjust a mapping:

  1. Click the dropdown next to any CSV column

  2. Select the correct Dentare field (e.g., First Name, Email, Phone)

  3. Select "Skip this column" for columns you don't want to import

Important: First Name and Last Name are required. You cannot proceed until both are mapped. Required fields are marked with an asterisk (*).

Once your mapping is correct, click Continue to Preview.



Step 3 β€” Preview and Validate

Dentare validates your data and shows a preview with four stats at the top:

  • Total Rows β€” the number of patient rows in your file

  • Valid β€” rows that will be imported successfully

  • Invalid β€” rows with errors (missing required fields, bad formats)

  • Duplicates β€” rows that match existing patients and will be skipped

Each row in the preview table shows a status icon:

  • Green checkmark β€” valid, will be imported

  • Red X β€” invalid, shows the error below the row

  • Amber icon β€” duplicate, shows which field matched (e.g., "Duplicate: email match")

What counts as a duplicate?

Dentare checks for matches in this order (first match wins):

  1. Personal Number (EMBG) β€” exact match

  2. Email β€” exact match (case-insensitive)

  3. Phone β€” exact match (E.164 format)

  4. First Name + Last Name + Birthdate β€” all three match

Duplicate rows are automatically skipped during import β€” existing patient records are never overwritten.

Review the preview carefully. When you're satisfied, click Run Import.



Step 4 β€” Run the Import

After clicking Run Import, the import is processed in the background. You'll see:

  • A progress bar showing how many rows have been processed

  • Live counters for created, skipped, and failed rows

  • The page refreshes automatically every few seconds

When the import is complete, you'll see:

  • Created β€” number of new patient records added

  • Duplicates Skipped β€” number of rows skipped because they matched existing patients

  • Failed β€” number of rows that could not be imported (with a downloadable error report)

  • A list of recently imported patients showing their name, email, and phone

Click View Patients to go to your patient list and see the newly imported records.



Downloading the Error Report

If any rows failed during import, a Download Error Report button appears on the results page.

The error CSV file contains:

  • Row Number β€” the original row number from your file

  • Errors β€” what went wrong (e.g., "First name is required", "Invalid email format")

  • Raw Data β€” the original data from that row

Use this file to fix the issues and re-import only the failed rows.



Supported Fields

The following fields can be imported. Only First Name and Last Name are required β€” all others are optional.

Required:

  • First Name β€” patient's first name

  • Last Name β€” patient's last name

Optional:

  • Email β€” patient's email address

  • Phone β€” phone number (automatically normalized to international format)

  • Birthdate β€” date of birth (supports formats: YYYY-MM-DD, DD/MM/YYYY, DD.MM.YYYY, DD-MM-YYYY, MM/DD/YYYY)

  • Personal Number β€” national ID / EMBG (validated per country: 13 digits for MK, 10 for XK, 9+letter for AL)

  • Gender β€” male, female, or other

  • Language β€” preferred language for messages (en, sq, mk)

  • Insurance Provider β€” name of the insurance company

  • Insurance ID β€” insurance policy number

  • Allergies β€” known allergies (free text)

  • Medical Conditions β€” known medical conditions (free text)

  • Emergency Contact Name β€” name of emergency contact

  • Emergency Contact Phone β€” phone number of emergency contact

  • External ID β€” ID from another system (for reference)

  • Legacy ID β€” ID from a previous system (for migration tracking)



Tips for Preparing Your CSV

  1. Use headers in the first row β€” Dentare reads the first row as column names. Use clear names like "First Name", "Last Name", "Email", etc.

  2. One patient per row β€” each row becomes one patient record.

  3. Phone numbers β€” include the country code if possible (e.g., +38970123456). Dentare will attempt to normalize phone numbers automatically.

  4. Dates β€” use a consistent date format throughout the file. YYYY-MM-DD is recommended.

  5. Encoding β€” save as UTF-8 to preserve special characters (Γ«, Γ§, ш, ΠΆ, etc.).

  6. No empty rows β€” remove blank rows at the end of the file.

  7. Column names in any language β€” Dentare recognizes headers in English, Albanian, and Macedonian. For example: "Emri" (Albanian for First Name), "ИмС" (Macedonian for First Name).



Troubleshooting

"Invalid format" error on upload Make sure the file is a .csv file, not .xlsx or .xls. Open it in a text editor to verify it uses commas or semicolons as separators.

Characters appear garbled (mojibake) Your file is likely not saved in UTF-8. Re-save it as UTF-8 from your spreadsheet application.

Phone numbers not recognized Include the country code (e.g., +389 for North Macedonia). If the phone number has no country code, Dentare uses the clinic's country to guess.

Too many duplicates Dentare matches patients by personal number, email, phone, or name + birthdate. If your existing patient list already has these records, they will be correctly skipped.

Import seems stuck Large files are processed in the background. Refresh the page β€” the progress bar updates automatically. If the import truly fails, you'll see an error message with a "Try Again" link.

Some rows failed but I don't know why Download the error report CSV. It shows the exact row number and error for each failed row.

Need help? Contact Support.

Updated over a week ago

On this page