temetro

Migrating from another system

Export your patient data from your current EHR and let the AI chat import it — with a preview and your approval before anything is written.

Already using another system? You don't have to re-type your patients. temetro can take a database export from your current EHR/EMR, read it with the AI chat, map it to temetro's record shape, and import it — all in a few minutes, with a preview and your approval before a single record is written.

Nothing happens to your old system: temetro only reads the export file you hand it. It never connects to your other software.

Export, then import

temetro has no direct HL7/FHIR or live-database connectors yet. Migration works by exporting a file from your current system and importing it here through the chat. Almost every EHR can export to CSV or JSON, which is all temetro needs.

How it works

Export your data

In your current system, export the patients you want to move as CSV or JSON. temetro also accepts .tsv, .txt, .md, .xml, and .ndjson. You don't need to rename or reorder columns — the AI figures out which column is which.

Attach the file and ask to import

In the chat, use the Attach file button to add your export, then ask in plain language:

Import these patients into my clinic.

The agent reads the file, maps each row to a patient record, and validates every one. You'll see a Thinking… trace as it parses and checks the records — but nothing is saved yet.

Review the preview

The agent replies with an import preview card showing how many records are ready, how many were skipped, and the total it read. If any rows were skipped, the card lists the first few with the reason (for example, a missing file number), so you know exactly what to fix.

Approve

Click Approve to write the ready records. temetro re-checks every record on the server and saves it through the same audited path used everywhere else — so the import shows up in your activity log. Click Reject and nothing is written.

Every system names its export differently, but the file you want is a CSV (or JSON) of patients and their clinical data. Look under Reports, Data export, or Patients → Export:

SystemWhere to find an export
EpicReporting Workbench / Chronicles extracts, or an admin CSV report.
Oracle Health (Cerner)Discern / HealtheAnalytics report exported to CSV.
athenahealthReports → Report Library; export results to CSV.
eClinicalWorksReports / eBO → export to CSV or Excel.
NextGenNextGen reporting → export to CSV.
Practice FusionReports → export patient list / data to CSV.
DrChronoAccount → Data Export (Patient and clinical CSVs).
OpenEMRReports → Clients → Patient List, or a direct CSV export.
Any other systemAnything that exports CSV or JSON works.

You don't have to match temetro's columns

The AI infers the mapping from whatever your export calls things — MRN, PatientID, DOB, Sex, Allergies, and so on — to temetro's record shape. Just export what you have; you don't need to pre-format it.

What gets mapped

temetro maps your export into a patient record made up of demographics plus five clinical lists. The more of these your export includes, the richer the imported chart:

  • File number (MRN) — required, and unique within your clinic. See Core concepts.
  • Name, age, sex, primary provider, and status.
  • Allergies, medications, problems, labs, and encounters (visit history), plus vitals.

Anything your export doesn't include is simply left empty — you can fill it in later from the chat or the patient record.

Limits & what to expect

Import in batches of 500

Each import writes up to 500 records. For a larger dataset, split the export into batches and import them one after another. temetro also reads about 200 KB of text per attached file, so very large files should be split too.

  • Skipped rows don't block the import. Valid records are imported; invalid ones are skipped and reported with the reason. Fix those rows in your export and import them again — duplicates of file numbers already in your clinic will simply fail and be reported, so re-running is safe.
  • The AI never writes directly. It only proposes; the server re-validates and writes after you approve. See the import API.

Privacy during migration

Migration data is patient data, so temetro's safeguards apply:

Keep sensitive bulk loads local

For cloud providers, Veil de-identifies patient details before the file leaves your clinic. For the most sensitive migrations, connect a local model with Ollama — Veil's local mode keeps the data entirely on your own infrastructure. See AI setup & safeguards.

Permissions

Importing needs a role that can write patient recordsdoctor, admin, owner, or member. Reception can import too, but only demographics (no clinical fields), matching what reception can see elsewhere. See Roles & permissions.

Troubleshooting

If records show up as skipped, the preview card tells you why. The most common causes:

  • Missing or duplicate file number. Every patient needs a unique file number (MRN); rows without one, or that collide with an existing patient, are skipped.
  • Unexpected sex value. temetro expects M or F; map other values in your export first.
  • Malformed dates or ages. Make sure ages are numbers and dates are readable.

Fix the flagged rows in your export and import that file again — already-imported patients are left untouched.

On this page