Demo Data Generator


Little project I’m working on to create a wide array of demo data, beginning with basic patient info.

See GitHub - openemr/demo-data-generator: Generate fictional demo data for testing of OpenEMR


python, very nice, cool find with the barnum module


works fine, one of the dummy dudes was from Vermont!


Goal is to eventually automate facilities, insurance companies, pharmacies, users, encounters, lab providers. Basically everything you’d need to simulate a fully functioning clinic.

The most challenging part will probably be encounter data (Since it’s linked to a PT)

The other stuff should be rather mundane.

Also want to actually dump it to a SQL file so there’s no copying. I threw this together super quick today and just wanted to get a basic, functional version posted


Very nice!


Just pushed a new commit that generates a large majority of patient data. Hoping to next add the ability to create insurance companies, pharmacies and a handful of procedures to further easy problem solving.

For now I suggest piping output to a file, so ./ patients 25 > patient_data.sql (Note I tried to create 50,000 patients but was running into a indices out of range error when generating the title… not sure why, also not sure why I tried to create 50,000 patient :laughing: but I did)


Tried it via instructions on README, but getting following error:
(venv) [18:27][brady2@nonsense:~/git/demo-data-generator(master)]$ ./ patients 25
Traceback (most recent call last):
File “./”, line 3, in
import click
ImportError: No module named click


Ah, forgot to include the updated requirements.txt. Will do that tomorrow. If you’re itching to use it you can do pip install click From inside your virtualenvironment


Very cool!
Was able to get it to work with most recent changes. I noted the following mapping issues in OpenEMR (this means a FIX THIS in red shows up when edit the patient at the following fields):
Choices->HIPAA Notice Reviewed
Choices->Allow Voice Message
Choices->Allow Mail Message
Choices->Allow Email
Choices->Allow SMS


Noted that as well, should be resolved with the latest commit (or perhaps I forgot to push, either way I’ll check tonight)



Sorry if this is a little to late, but checking the git now, the steps are:

demodata <global options> COMMAND <options>

However when i try the command:
demodata --count 25 patients

it just says that count is not a valid option, and if i try running just:
demodata patients

It just generates 1 patient record. Am I doing something wrong?


Hi @JP_Talusan ,

I think it is:
demodata patients --count 25

If that doesn’t work, let me know, and I’ll look into this.


Thank you very much! It worked perfectly!