Open Source

DIY: OpenEMR, free software for medical practices

According to Jack Wallen, OpenEMR is an outstanding health records and medical practice management solution that won't break the budget.

If you're in the medical field, you know how important it is to have good software for records. The ability to access medical records from a centralized location is key, although it can cause problems.

Many proprietary solutions try to make it possible to access medical records from a centralized location with built-in web-server like functionality or use a built-in database and have clients connect to the db server. One issue this can cause is unreliability. The free OpenEMR makes unreliability a non-issue by placing the software on top of the Apache web server. With the stability and security of Apache running the tools, the concern for reliability goes out the window.

OpenEMR also offers:

  • ONC Certified
  • Patient Demographics
  • Patient Scheduling
  • Electronic Medical Records
  • Prescriptions
  • Medical Billing
  • Clinical Decision Rules
  • Patient Portal
  • Reports
  • Multi-language support
  • Security


Another great feature about OpenEMR is that it can be installed on any platform that meets these requirements:

  • Apache
  • MySQL
  • PHP

The requirements above must be met on a per-platform basis, so refer to the documentation on the platform intended to host OpenEMR. However, OpenEMR can be installed on Linux, various BSDs, Windows, and Mac.

Installing OpenEMR

I will demonstrate how simple it is to install OpenEMR. For this post, I explain how to install OpenEMR on a Ubuntu LAMP server. Follow these steps:

  1. Download the .deb file for Ubuntu from the OpenERM site.
  2. Open a terminal window.
  3. Change to the directory housing the newly downloaded .deb file.
  4. Issue the command sudo dpkg -i openemr_XXX.deb (where XXX is the release number).
  5. Debconf will open and prompt you for the MySQL root password. Enter the password and press Next.
  6. Allow Debconf to complete.

You'll see errors at this point, but that's okay, because we have the power of Synaptic to fix them. Follow these steps:

  1. From the terminal window, issue the command sudo synaptic.
  2. When Synaptic opens, it will inform you there are broken packages.
  3. Click Edit | Fix Broken Packages and click Apply.
  4. Allow Synaptic to download and install the remaining software.

The installation is complete, and all of the security issues (directory permissions) have been addressed.

Using OpenEMR

To log in to OpenEMR, point your browser to http://ADDRESS_TO_SERVER/openemr/ (where ADDRESS_TO_SERVER is the actual address of your OpenEMR server). When you're prompted for the login (Figure A), the default credentials are:

user: admin

password: pass

Figure A

The OpenEMR login screen
Once you're logged in, you'll see the Main Screen for OpenEMR. The first thing you should do is go to Administration | Users | admin (Figure B) and change the administrative user's password so it's as secure as possible. (You can also change other information for the administrative user.) Figure B

Change the administrative user's password right away.

Now you can configure OpenEMR according to the needs of your facility. The initial setup and configuration is time-consuming because you have to add patient information one record at a time -- there is no way to import patient records.

As you can see from the main window (Figure C), there are a lot of options and features available. Figure C

The main interface provides a lot of information at a glance.
One particularly interesting feature (go to Administration | Files) allows you to create new messages and drop-down options (Figure D). You can even send messages to patients who use the Patient Portal by following these steps:

  1. Go to the Messages section.
  2. Select the type of message you want to send.
  3. Select the patient.
  4. Select the status.
  5. Type the message.
  6. Click Send Message.

Figure D

Above the reminders section is where specific system files can be edited or uploaded. Use caution when exploring this section.


Jack Wallen is an award-winning writer for TechRepublic and He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website


I have a seperate HIM but connected to clinic as well as hospital. How do you resolve the billing and how does it integrate together? We need the billing to work together..

HAL 9000
HAL 9000

From Members of the Medical Profession. Far too often this type of Application is developed for them by people with no understanding of what is involved and they insert [i]Features[/i] that are never used and leave out necessary or at the very least something that would be very useful to the Doctors who mostly [b]Do Not[/b] have the necessary experience to work the system. Col


Is it certified for Meaningful Use? Also, will it accept inbound HL7 interfaces? What about interfacing with a billing system? I can see where a small, 1 or 2 provider, independent practice would be able to use this, assuming that they contracted with someone who can set up the servers, install the application, manage the backups, and be there to support them when they have issues. Too many times, we get calls from the independent providers who've gotten a system like this and had it installed by someone who has no healthcare experience, and who never comes back, now that provider needs help. Unfortunately, due to the Stark laws, we, as a department, can't really help them. Usually what happens is that some of us do contract work, and we'll contract to go in and try to clean up the mess that's left behind. My favorite is the Physician's husband who is "in IT" (basic computer class 10 years ago) and he sets the system up, and everyone logs in with one password, and it has admin rights, and they never take a backup of the server that resides under the sink in the bathroom.

seanferd I'm sure a lot of it is going to be technical help orientated, but you can usually tell which might be more relevant to your question by the thread titles (unlike most of the help forums at TR and elsewhere :^0 ). Oh, and short reviews: feature requests aside: I really hate PHP-or-AJAXy-or-whatever pages that have actual static links that don't show up in the address bar when the page is visited. Gah.

seanferd Apparently certified for testing to become MU certified. {edit: er, OK - - why this is listed only in the Wiki under Articles is a bit confusing.] Everything else you mention sounds situational. It isn't going to matter what system is in use, if the hardware isn't properly located and the system isn't properly administered. It will still crash and burn if you paid $20 million for it if it isn't maintained.

HAL 9000
HAL 9000

My Head Hurts after reading the above. People say that IT Types have Weird Lingo but the Medical People have really strange Terms that they feel are important. :^0 Personally I don't know what's worse doing a Little Medical or all Medical. if you do it all of the time you never get the chance to escape but if you don't do it all the time you get rusty on the Lingo. I think it's easier trying to explain to Doctors your Computers do not have a new Infection called Multiple Scenarios that's just Lingo for Microsoft. ;) Now I'm going to take some headache pills. But in the mean time the real problem here is not being able to Import Files it sort of makes any change harder to accomplish for even a medium sized practice. However it certainly looks like an interesting App particularly for a new practice. :0 Col


Hi, Can you expand on the no-import thing a bit? Are you referring to data from other EMRs? If so, note that as long as you can pull the data out of the other EMR, there is always a way to get it into OpenEMR; this is one of the beauties of open source.

HAL 9000
HAL 9000

`I even understood the Jargon. I thought I had forgotten it all and then I take a small look and it all comes flooding back. :_| To this day I still have some Quacks well really High Up Specialists who honestly believe that I have a Medical Degree and dropped it for IT because I could make more money in it. Of course the other side is that they keep asking me for my Medical Opinion on some case or other. :( It's time to give up something when the people you work with stop believing that you are what you say you are and are one of them. Even NOW I have one guy who claims that he owes me 5 Transplants another who claims that I'll have as many Orthopedic Treatments as necessary and they are not the simple ones but the much more complex ones that require months of recovery and I know what happens in Horespitals and avoid them like the plague. :D Doesn't matter that I don't need any of those they feel that they owe me so I should collect now. :^0 Col


But it did give me a headache following the links through all that - and I don't even know why I did. Passing fancy, I suppose. The no-import thing really is a killer, though. Then again, maybe your medical secretary/assistant isn't busy enough, right? :^0

Editor's Picks