Hello World!

EHR-hacking: How 2 DOs revamped their systems

These DOs have found a way to make EHRs work for their practices. Here’s what they did—and why they’re happier now.


Family physician Mark Leeds, DO, is satisfied with his electronic health records system. That makes him a rarity among his peers.

“My electronic medical records system always significantly speeds up my workflow,” says Dr. Leeds, who runs a small practice in Fort Lauderdale, Florida. “It never gets in my way.”

Dr. Leeds used his programming skills to adapt OpenEMR, a customizable open-source EHR system, to suit his practice’s needs.

A 2015 survey reported over half of physicians were unhappy with their electronic records system. According to an Annals of Internal Medicine study, about half of the average physician’s office hours are spent on EHRs and administrative work.

With significant effort, Dr. Leeds was able to make EHRs work for his practice. Another physician, Robert Zaid, DO, has customized his practice’s existing EHR system to make it less cumbersome. Here’s what they did—and why they’re happier with EHRs now.

[story-sidebar id=”202688″]

The programmer’s advantage

With a passion for computers, Dr. Leeds taught himself how to program nearly 20 years ago. Immediately he saw how it could be applicable to his practice. He then discovered OpenEMR.

Dr. Leeds uses a customized version of OpenEMR in his office. He’s also created a add-on called CAMOS, or Computer Aided Medical Ordering System, that anyone can use. CAMOS generates progress notes, prescriptions, referrals, test orders and more.

Working with his own system has allowed him to solve problems quicker. He’s developed his own templates, forms and plug-ins to ensure efficiency in his office.

“I work on this software throughout the day, in between patients or at the end of the day, so I’m constantly optimizing it, fixing things and improving things,” Dr. Leeds says.

Dr. Leeds believes even knowing minimal programming can help physicians navigate commercial EHR systems better. Even committing several hours over a few weekends to learn the basics of database structures would be beneficial.

“Understanding how a relational database management system works and how a database is designed would be very helpful in understanding why an EMR system is organized in a particular way,” Dr. Leeds says.

Dr. Leeds and Dr. Zaid offer their tips on getting started in programming and plunging into EHR systems.

Using EMRs to their fullest potential

Dr. Zaid used to dabble in the programming languages C++ and QBasic for fun as a kid. While he doesn’t know enough to program his own system, he has taken a deep plunge into learning about customizations available in the EMR system he uses in his practice, Practice Partner. In his medium-sized family medicine practice in Novi, Michigan, Dr. Zaid has found customizing his system has reduced redundancies in entering and retaining patient data.

“If you’re going to spend time typing and entering things, one year from now that data should be easy to access,” Dr. Zaid says.

As a resident, Dr. Zaid encouraged physicians to use EMRs to their fullest potential in a letter to the editor in the Journal of the American Osteopathic Association.

Because Dr. Zaid knows his EMR system fluently, he’s able to spend more time with patients, and his notes are done by the time the patient leaves the office.

“We’re able to spend less time on the computer and we’re having things flow naturally in our electronic records,” Dr. Zaid says.

One comment

  1. Thomas Longfellow, D.O.

    For those of us who don’t have access to the EMR’s source coding, don’t forget about Microsoft’s Visual Basic for Applications (VBA)! If one has a place to enter text in their encounter notes, it’s a relatively easy thing (after the learning curve) to create an encounter note that has programming code.

    With 12 general categories for chronic care problems (e.g., cardiac, pulmonary, GI, endocrine, etc.) I used to have hundreds of template notes stored on my computer for easy access. The idea was to save typing time by having a precompleted note. I would, obviously, make small changes as clinically indicated (e.g, change the prefilled “RRR” to “Brady” for heart rates <60).

    Now, I have one note with 12 different command buttons that allow me to choose which issues I am seeing the patient for. As I push each button, preprogrammed text that is specific to the patient's medical issue is place into a pre-made Word SOAP note. Other command buttons copy the text from each of the different parts of my SOAP note and I easily paste them into the corresponding part of the EMR's SOAP note. At the click of another command button, the note is wiped clean and ready for use on the next patient.

    Like those mentioned in the article, I find myself constantly making small changes to make my program more useful!

    I cannot convey how much more easily I am now able to maneuver the EMR than I could before I started programming! I highly recommend learning programming skills, as time allows!

Leave a comment Please see our comment policy