Apr 07 , 2015

Upgrading OpenEMR 4.1.2 to 4.2.0 in 15 steps.



When dealing with highly sensitive patient records security should be your number one concern. A do it yourself approach is not recommended.  If one were to ask on the message board what the HIPAA requirements are for security, you would get answers ranging from “lock it down like area 51” to “just keep OpenEMR off the web.”  So how would one choose?

There is a lot of information available on the HHS website that could guide someone who is committed; however it is hard wading through all the jargon that is on the HHS website about HIPAA, Covered Entity, and Business Associates.

There are a lot of technical things that can be done to secure OpenEMR which fall under the category of “Best Practices.” There are things that, depending on your situation, will be unique to your office. So there is no one size fits all. There needs to be a tailor made plan for each physician that installs OpenEMR. So it is best to consult with a specialist like ZH Healthcare.


Upgrading is a time to re-evaluate the server configuration being used to power the installation. The great thing about OpenEMR is that it takes very little over head to run the program. And because of its lightweight design, it can run on just about anything.  But it is always wise to see if your current configuration is scalable. The nature of software is to grow in resource requirements over time. It is just the nature of the beast. OpenEMR 4.2.0 has a much bigger foot print and system requirement than OpenEMR 3.0. If you are running 4.2.0 on the same server as you did 3.0, you might want to take a look under the hood and make a capital investment in a newer server. Notice that I did not say new.

Just like with OpenEMR growing in resource requirements, the underlying programs that cause OpenEMR to work like PHP, Apache and MySQL all have their own system requirements as well. So they compound the server’s ability to deliver on the needs/demands of the business.


One of the common questions is “why upgrade? It looks the same.  The OpenEMR project is not like commercial software products that make superficial and cosmetic changes just so they can sell you a newer version. .”  The mostly volunteer programming community is always working to clear up bugs in the software. There are major and minor bug fixes that go out with each upgrade.  Each release of OpenEMR comes with necessary changes, bug fixes, added features, and functionalities all of which are not usually that apparent.


Upgrading OpenEMR is relatively the same on both Linux and Windows systems.  If there has not been any customization done by you to the program, this is a very simple procedure.

  1. It is highly recommended that this upgrade be performed over a weekend i.e. lean days.
  2. First obtain a copy of the latest release version of the program that is on this site, zhhealthcare.com, souceforge.net or from the www.open-emr.org site. Also visit the open-emr patch site to download any patches that may have been released since the new release was published.
  3. The next step would be to back up the current database. I would suggest doing these backup minutes before doing the upgrade. The reason not to rely on the previous backup is that there is no way to know what is in the previous backup, or if it works. It never hurts to have two copies: Better safe than sorry.
  4. So, in proceeding with the process of upgrading, run the mysqldump command that is located in the bin folder of the MySQL installation.
  5. Once that is done, secure it on a thumb drive. (This would be the third copy)
  6. Go to the /www/openemr/sites/default folder and record the database variables from the sqlconf.php file.
  7. Rename the current installation openemr-old.
  8. Create a new folder named openemr.
  9. Unpack the new release into the new openemr folder.
  10. Navigate to the /www/openemr/sites/default folder and open the sqlconfig.php file and enter the database variables.
  11. Be sure to change the $config variable to 1 ($config = 1). If this is not changed to 1, the program will attempt to do an initial installation.
  12. Next copy from the openemr-old the following folders
  • openemr/sites/default/documents
  • openemr/sites/default/edi
  • openemr/sites/default/era
  • openemr/sites/default/letter_templates
  1. The documents folder will take the longest to copy since it has all uploaded patient files in it.
  2. Now that the files are copied, it is time to run the database update to complete the upgrade process. Open the browser and point the localhost/openemr/ sql_upgrade.php in the browser, choose 4.1.2 and click “Upgrade Database”.
  3. Once the script has finished running, return to the localhost/openemr and you will be able to see the version number change to 4.2.0.

Log in and run the program as you would do in a normal day’s work flow. This will give you a good indication if the upgrade went well.

Remember, there is a backup of the old if anything is wrong. Now is the time to find the glitch in the upgrade before production day comes. If there are no errors found, congratulations!