> ## Documentation Index
> Fetch the complete documentation index at: https://q.odontox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Importing Patient Data

> Migrate patient records, medical history, appointments, and financial data from another dental system into OdontoX using a guided CSV bulk import workflow.

If you are switching to the platform from another system, bulk import lets you bring your existing data over via CSV files.

<Note>
  Bulk import is managed by our support team. Contact us to initiate a data migration.
</Note>

## What you can import

| Entity              | Key columns                                                                       |
| ------------------- | --------------------------------------------------------------------------------- |
| **Patients**        | Legacy ID, patient number, name, email, phone, DOB, gender, address, insurance    |
| **Medical history** | Legacy patient ID, allergies, medications, conditions, smoking status, blood type |
| **Dental history**  | Legacy patient ID, chief complaint, previous work, gum disease, anxiety level     |
| **Appointments**    | Legacy patient ID, date, time, type, duration, doctor, status                     |
| **Clinical notes**  | Legacy patient ID, visit date, chief complaint, diagnosis, treatment              |
| **Treatment plans** | Legacy patient ID, plan name, diagnosis, priority, estimated cost                 |
| **Invoices**        | Legacy patient ID, invoice number, date, items, totals, status                    |

## Format rules

* **Dates** — `YYYY-MM-DD` format (e.g., `2026-04-19`)
* **Times** — `HH:MM` in 24-hour format (e.g., `14:30`)
* **Booleans** — `true`/`false`, `yes`/`no`, or `1`/`0`
* **Arrays** — separate values with semicolons or pipes (e.g., `Penicillin;Latex;Ibuprofen`)

<Warning>
  Incorrect date formats are the most common import error. Double-check all dates use YYYY-MM-DD.
</Warning>

## Legacy ID mapping

The `legacy_patient_id` column links records across CSV files. Your patients CSV assigns each patient a legacy ID, and your medical history, appointments, and other CSVs reference the same ID. The import system maps everything to new the platform records automatically.

## Dry-run validation

Before any data is written, the import runs in dry-run mode:

* Validates every row in every CSV
* Reports errors with line numbers and reasons
* No data is created during dry-run

Fix errors and re-run until dry-run passes clean, then our support team applies the actual import.

<Tip>
  Start with a small test batch (10 patients) to verify mapping before importing your full dataset.
</Tip>

## Related articles

* [Managing Patients](/clinical/patients) — verify imported records
* [Medical & Dental History](/clinical/medical-history) — check imported medical data
* [Invoices](/finance/invoices) — review imported financial records
