EMR Databases – Which is Best?

Which is the best database for your EMR to use is a very tough question. In fact, like most questions the best answer is it depends. Here’s a few things to think about when you choose an EMR vendor and their associated database.

My first suggestion is that you avoid any database that is proprietary. When I say proprietary I mean any database that doesn’t allow you to add tables and modify the way the database is designed. Sure, almost every vendor will have policies on which tables and which parts of the database you are allowed to modify in order to maintain the integrity of the database, but no database should forbid you from adding tables in order to get the most out of your EMR. I think this is espescially important for custom reports you may want to create.

Second, look at the cost of the database as part of the overall cost of the EMR. Many colleges are lucky to have a site license for Oracle and so if some EMR is based on oracle then the expense will be much less for those in College Health and have this advantage. However, if your institution doesn’t have this site license then Oracle would be a very costly alternative. SQL Server licenses are also quite costly even if you could the college health education discount. MySQL is open source and therefore could be downloaded for free. If you have some in house expertise then you also will be able to avoid most other costs related to your database, but just know that because the software is delivered free there are often unseen costs that show up in managing the database. That covers the top 3 alternatives I think.

Understanding the language and the server software(ie. Windows, Linux, etc) you will be using is another important consideration when choosing a database. It doesn’t make much sense to use VB and connect to MySQL. Likewise, I don’t think it is wise to run MySQL on a Windows machine. If you go open source stay open source. If you go with Windows stay with windows. If you choose oracle then look at your in house skills, but I believe linux is better.

One final suggestion has to do with vendors who support multiple databases. You should consider the above criteria, but more importantly you should have a conversation with the vendor to see what database was used for the original development and which database was the program meant for. You will be best served if you use the database that the vendor is most familiar with so they can support you if and when any problems occur.

About the author

John Lynn

John Lynn

John Lynn is the Founder of the HealthcareScene.com, a network of leading Healthcare IT resources. The flagship blog, Healthcare IT Today, contains over 13,000 articles with over half of the articles written by John. These EMR and Healthcare IT related articles have been viewed over 20 million times.

John manages Healthcare IT Central, the leading career Health IT job board. He also organizes the first of its kind conference and community focused on healthcare marketing, Healthcare and IT Marketing Conference, and a healthcare IT conference, EXPO.health, focused on practical healthcare IT innovation. John is an advisor to multiple healthcare IT companies. John is highly involved in social media, and in addition to his blogs can be found on Twitter: @techguy.


  • I agree with your premise with respect to avoiding proprietary databases and the ability to leverage a table with one’s own linked queries etc.

    Having said that, you will be hard pressed to find any EMR Vendor willing or wanting of an end user to muck with the data causing potential problems and finger pointing.

  • I imagine you are right about most EMR vendors. My vendor has been very good about it. Although I have tried to avoid it as much as possible so that I can avoid the finger pointing.

    Adding extra tables is the better option that allows you to somewhat customize your EMR for clinic specific funtions and reports.

  • Okay John, you say it isn’t good in your opinion to use MySQL in a windows environment. You really don’t give concrete evidence why. I understand that a blog is an opinion page back by some varying levels of statistics/data. We have multiple Windows users running MySQL server very succesfully. The environments have had no crashes.

    Here is an exerpt from their site:
    “Not only is MySQL the world’s most popular open source database, it’s also become the database of choice for a new generation of applications built on the LAMP stack (Linux, Apache, MySQL, PHP / Perl / Python.) MySQL runs on more than 20 platforms including Linux, Windows, OS/X, HP-UX, AIX, Netware, giving you the kind of flexibility that puts you in control.”

    MySQL and Windows are working together. DescriptMED users can account for that at a fraction of the cost of many other SQL DBMS systems.

    Nice blogging!

  • I think I need to make more blanket statements on my blog to excite end users who want to tell me off. I really think that is when a blog truely becomes beautiful.

    So, here’s my response:
    Since reading your question I searched for some really solid concrete evidence why you shouldn’t use MySql and the best I found was an article desribing some of the potential problems with MySQL on windows. It is a pretty good read and it seems like most of the serious problems had to do with Windows 95. Which makes me wonder how dated the article is.

    Regardless I still agree with my statement that it isn’t “wise” to run MySQL on windows. I won’t say its not ok and I definitely wont say it’s not possible. In fact, I have run it on Windows a number of times when I want a nice development environment on my local machine. I would consider changing my statement from “it’s not wise to run MySQL on windows” to the statement that “it’s not optimal to run MySQL on windows.” How’s that Terry?

    Here’s the reasons I wouldn’t run MySQL on Windows:
    First, why pay for a Windows license when you can get a linux license for free? Not to mention the size of the server required to run linux is much smaller(and thus cheaper) than the machine required to run Windows. now, don’t tell me that mysql is easier to manage on a windows machine. They are pretty much equivalent since you have to do command line the same way. If you want a GUI interface hook up phpmyadmin on linux and you’ll have more than you’ll ever need.

    Second, be default adding a windows machine as opposed to a linux machine to your environment makes your environment inherently less secure. Like most points this could be debated, but we know that viruses, worms, trojan horses, etc love windows machines and rarely hit linux machines.

    Third, MySQL was created in the open source realm and it should stay there. This would be like saying you should run SQL Server on a linux machine since you like SQL Server’s stored procedures. That wouldn’t make any sense. I agree that MySQL has been ported to Windows quite well and is quite stable. However, I think there’s an intangible and difficult to qualify problem with MySQL developers developing MySQL for Linux and then having it ported over to Windows(at least this is my understanding of the process).

    One final comment is about the LAMP stack. I really really like it and think it is very very useful for me when I want to get a test environment up and running quickly. I just don’t feel comfortable with someone else doing the builds for my webservers, database, etc. I know from experience that there are some specific security holes with the default install. So, be careful.

Click here to post a comment