Part 1 of a three-part series of articles written by a
veteran software developer who has worked extensively in the EMR
industry. The article series is published on his behalf. His comments
are directed broadly at the industry. Read Part 2
I have been a software developer for over 25 years and have worked in a number of industries, making use of new technology to create leading edge software systems. I started off in university headed to Med School, but switched to Computer Science when I found I could get much higher marks, with much less work, in programming courses. So a few years ago when I started working at an EMR company, I felt that I could really contribute to enhancing the software. I have worked for a number of EMR companies throughout my career and these are my observations and recommendations. What I have observed in the EMR software industry is a wide range of weaknesses and deficiencies.
Areas of deficiency include:
- Software design
- User interface design
- Quality assurance, and
- Design principles that do not encourage safety
There are over 350 EMR companies in the U.S., but only a handful in Canada. Some of the U.S. companies offer very sophisticated software. It is my belief that it won’t be long before the U.S. companies realize the weaknesses in the Canadian EMR landscape and make a move into the market.
The Anatomy of an EMR System
There are three or four components to an EMR system: the database, the client, the EDT interface, and, in the case of web-based EMR systems, the Web Server.
The Database
A database is simply where you store data. The standard database used is the Entity Relationship (ER) model. In these databases data is stored tables (Entity) with links between tables (Relations). SQL is the language used to retrieve data from tables and update the data in the tables. These databases are now generally referred to as SQL databases. The structure of the database, the tables, and relationships between tables is called the Schema.
The Client
The Client is what the user interacts with; this could be a desktop application or a web application (a website viewed in a web browser). Some people refer to the desktop application as a thick client and the web application as a thin client. Usually a desktop application is more interactive than a web application. However, with the capabilities of today’s web browsers, that difference is becoming less. The only real difference is that a desktop application has to be installed on each system, whereas a web application need only to have a single install on a web server.
The Electronic Data Transmission (EDT) Interface
The EDT interface is where the EMR system exchanges data with remote systems as well as other applications, medical devices, and local systems. Most of this data is in HL7 format, but there are also XML files, text files, binary files, and custom formats. How the EMR talks to other systems varies considerably. Each interface seems to have its own standard, and there are device interfaces, laboratory interfaces, hospital interfaces, local and regional interfaces, and provincial interfaces. Even when the data is in HL7 format, there are many different versions. In some cases, custom code has to be written to parse HL7 files from different sources. EMR companies frequently have a team that does nothing but write and update the EDT code to handle new and changing interfaces.
The second article will focus on the current state of EMRs from a developer’s perspective. Read Part 2
Just a couple of comments on the article.
US EMR companies have tried to come into the Canadian Market. They soon left because their software was not designed for this market. Other USA EMR companies have looked at the Canadian Market. They didn't walk away, but ran away from getting into this market. The reason is the over regulation, the different 'kingdoms' as they called it with each province and territory. The multiple certifications, and poorly coordinated process. They also noted that certain regions have the governments forcing a limited EMR list to select from. These items all discourage competition and their ability to penetrate the market. For the relatively small market of Canada, it is just not worth the cost and time to come into the Canadian market.
A point about using the term SQL. Though SQL is a common form of query, and the associated terms you use that are associated with the same, there are other languages out there. There is a big move in industry to NOSQL as the preferred way to perform searches for data.
Posted by: Jody Bevan | October 02, 2012 at 02:44 PM
@Jody
True, some US companies have attempted to enter the Canadian market in the past and participate in the various EMR funding programs. The certification requirements are indeed daunting, and keep the market constrained.
There are two situations where this may change: (1) the funding programs may not go on forever, in which case the certification programs will no longer keep the US players out, and (2) some US players may enter the market as non-funded offerings. This is happening already to some degree.
Is Jonoke using NoSQL? I'd love to see it being used in production in an EMR. I agree that it's probably the way to go.
-Shawn Vincent.
--
svincent@svincent.com
VP R&D, MD Practice Software LP.
Posted by: Shawn Vincent | October 16, 2012 at 07:20 PM