Developing a Portable Distribution of OpenEMR

OpenEMR LogoWhen Twin Rivers Adult School did their major organizational transformation, the curriculum needed expanding, to ensure students would have sufficient knowledge and skills within their career field.  I was tasked with developing the Intro to Health Informatics course, as well as instructing this course.

One of the major parts of the class, was teaching students about the basics of an Electronic Medical Records (EMR) system.  I needed a solution that students could use in the classroom or at home, and that they all could do the same assignment, and not “collide” with each other. To achieve this outcome, and to avoid potential issues with the school district’s IT department, I developed a portable distribution of the OpenEMR software, which could run off of a flash drive, using the XAMPP stack, that would run a local Apache web server, MySQL, and PHP, on which OpenEMR would then run.

While turning any software into a distribution that can run on a USB drive is challenging, there were some extra challenges of turning software that was originally designed to be client-server to operate in this manner.  But, as with all development work, I took each challenge in stride, worked through the problems, which generally could be solved by ensuring that I had scripts and settings that were setup in a way that could work from the flash drive.

Note: I no longer maintain or share the distribution, as it was primarily for that class, and Twin Rivers Adult School closed its major programs in 2013.  If someone wants to take over the project, or see the project for historical purposes, please contact me.


Twin Rivers Adult School started an Intro to Health Informatics course, and needed to be able to instruct students on how to use an Electronics Medical Record (EMR) system.

Since most EMR systems use a server, and so student work would "collide" with each other, Jacob designed a system so the students could use OpenEMR from a USB flash drives using a portable version of XAMPP.


Twin Rivers Adult School


Data Integration
Data System Improvement