How to upload a lot of data from an excel with patients (name, ID, address) to openemr?

I have an excel with 9000 patients, along with their full name, id, address. I need to move that information to openemr, but I don’t know how to do it quickly, without the need to register 1 by 1.

Hi @Nikolas_Bustamante,

Welcome to the community. We do not currently have a way to batch import patients. However, with SQL knowledge and a little PHP (or really any language) you could write the import yourself.

There is certainly no need to register each patient 1 by 1

Hi Nikolas,

If you are unfamiliar with PHP or MySQL I have experience writing import and export scripts. Feel free to reach out if you would like me to assist you.


1 Like

The way I do it is to use PHPMyAdmin and export the patient data table as a CSV. That way you have the format needed to import the CSV into the table. When you fill out the CSV with the patient data. It can be imported in bulk.

1 Like

@Nikolas_Bustamante i recently did what you are needing to do (only it was 3800 patients instead of 9000). I recommend going the PhpMyAdmin with a csv route like Sherwin mentioned.

In case you want more specific info, here is what I did. I printed out the table schema for “patient_data” table in oemr. I looked at my spreadsheet to see what data I had and looked at the table schema for what oemr was looking for. I made a backup copy of my spreadsheet in case i messed up the next part. Which was to rearrange the columns in the spread sheet to match the columns in the “patient_data” table. Adding blank columns where necessary because I didn’t have data for every column. In my case i had to change the format of all the date columns because the dates in my spread sheet had "/’ between the number. Easy enough to fix but it needs to be fixed before importing the data.

Once I had my spread sheet the way i needed it, i exported it as a csv. Went into phpMyAdmin, and imported it. Don’t be surprised if you you get an error the first time or two that you try to import. I had some other formatting issues i had to address that i didn’t see until trying to import the data.

Things to note: if there are other patients already in the patient_data table. You might want to make a copy of the table before importing the data. In case the import doesn’t go as planned you can revert back to the original table.

And if the first row of your spreadsheet has the column names in it. The import feature of phpMyAdmin will let you skip rows at the beginning of the table for import. You’ll want to make sure you do that otherwise you’ll get formatting errors from mysql.

I hope this info helps.

1 Like

It really depends on the columns you have. If you are trying to enter only names and addresses and other demographic things, the import should be quite simple. If you need to add insurace details and other things it makes the import more complicated.