Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

October 20 2011

OSEHRA's first challenge: VistA version control

As I mentioned previously, the VA is making a formal open-source project and governing body for its VistA electronic health record (EHR) system. VistA was developed internally by the VA in a collaborative, open-source fashion, but it has essentially been open source within the VA, with no attention or collaboration with VistA users outside the VA.

There are several challenges that the Open Source Electronic Health Record Agent (OSEHRA) faces, and many of them sit squarely between technical and political issues.

The first question any open-source project must answer is: "Who can commit?" That's almost immediately followed by: "How do we decide who can commit?" But to manage VistA OSEHRA, we must first ask: "How do we commit?" There is no version control system that currently works with VA VistA.

VistA is famously resistant to being managed via version control systems. The reason? Over the course of development of VistA, which predates most modern version control systems, updating was handled by a tool developed specifically for VistA. That system is called KIDS.

The problem with KIDS, and managing version control generally in VistA, is that MUMPS, the language/database that VistA is programmed in, happily lends itself to "source code in the database." MUMPS is a merged database and programming language, and is an intellectual predecessor to modern NoSQL databases. MUMPS is a dominant force in healthcare, and despite comments to the contrary by its numerous critics, it has features that are ideal for healthcare. (This is another excellent place to shamelessly plug "Meaningful Use and Beyond," which discusses the comprehensive use of MUMPS in healthcare.)

To understand the issue with MUMPS and VistA you must:

  • Imagine developing an application using Node.js and MongoDB.
  • Imagine that Node.js and MongoDB are one project.
  • Imagine doing that for 30 years.

Given that in MUMPS the programming language is the database and the database is the programming language, certain problematic historical decisions were made. First, MUMPS' executable code is sometimes included inside the MUMPS database. That makes it pretty impossible to map out what the source code is doing separately from what the database is doing.

Overlay the fact that the KIDS update system (think YUM for VistA) would update both the source code "on disk" at the same time as updating the system "in memory." KIDS is like source code patches and system updates all rolled together.

OSEHRA must find a way to reconcile the KIDS process with a version control system. Without that, there is no way to reconcile a VistA development environment with a given production environment.

Without a modern distributed version control system (DVCS) powering VistA development, OSEHRA will be unable to run VistA development as a meritocracy. The technology enables multiple parties to participate as "core VistA developers."

Without a DVCS, the VA had to rely on a process for software based on "classes" of software. Class I software was released by the national VA office and was the core of the EHR installed at each VA hospital. Class II was software that was used regionally or at several hospitals. Class III software was software that was used locally at one VA hospital.

VistA programmers at each hospital were required to reconcile Class I patches from the national office (which came as KIDS patches) with local instances that included Class III software. Each KIDS patch had the potential for requiring a local hospital programming effort in order to reconcile with local software changes.

With a DVCS, multiple parties could develop "core" changes to VistA, freeing the VA from the top-down VistA development management that prevents outsiders from contributing back. Remember, one of the largest "outsiders" to the VA is the Resource and Patient Management System (RPMS), which is a VistA fork extensively developed and improved by another federal agency, the Indian Health Service (IHS).

The KIDS- and Class-based software deployment model essentially made interagency cooperation between IHS and the VA impossible. There was no way for another "master" copy of the EHR to exist in cooperation.

To solve this problem, OSEHRA is betting heavily on Git and creating a project called SKIDS. From that project's page:

This project will design and implement "Source KIDS" in order to represent VistA software in a source tree suitable for use with modern version control tools. Once deployed, SKIDS will make it possible to exchange source code and globals between VistA instances and Git repositories.

"Globals" in MUMPS means "the database," which is different than most programming languages. With that explained, you can see that this project is intended to address exactly the problem that I have just outlined.

There is no guarantee that OSEHRA will be successful. Not everyone in the VA bureaucracy is keen on the notion of truly open-source VistA. Those of us in the VistA community outside the VA are apprehensive. We want to believe that OSEHRA is for real and will actually become the true seat of VistA development that is friendly to outsiders like us and run as a transparent open-source project. The single most important thing that OSEHRA can do to ensure the success of a truly open-source VistA process is to tackle and handle these challenges well.

The fact that OSEHRA is addressing these problems head-on is a very good sign. The emphasis on Git has been obvious from early days. The new SKIDS project indicates that there is a distinct lack of pointy-haired bosses at OSEHRA. They might be biting off more than they can chew, but there is no confusion about identifying the problems that need solving.

There are other major challenges facing OSEHRA, but almost all of them are manageable if a collaborative development process is created that lets the best ideas about VistA bubble to the top. Most open-source projects simply take for granted the transparency afforded by a version control system, and almost all theory about how to manage a project well are based on the assumption of that transparency. So, this problem really lives "underneath" all of the other potential issues that OSHERA will face. If it can get this one right, or mostly right — or even "leastly" wrong — it will be a long way toward solving all of the other issues.

Meaningful Use and Beyond: A Guide for IT Staff in Health Care — Meaningful Use underlies a major federal incentives program for medical offices and hospitals that pays doctors and clinicians to move to electronic health records (EHR). This book is a rosetta stone for the IT implementer who wants to help organizations harness EHR systems.

Related:

October 19 2011

OSEHRA and the future of VA VistA

Apache Web Server, GNU/Linux Operating System, MySQL Database, Mozilla's Firefox Browser.

All pillars among the open-source community.

Each of these deserves its imminent position as a venerated project. Each has changed the world, and not a little. Moreover, they are the projects that spring to mind when we seek to justify the brilliance of the open-source licensing and development models.

But if this is intended to be a list of the highest-impact and most significant open-source projects, there is a project missing from this list.

VA VistA.

VA VistA is arguably the best electronic health record (EHR) in existence. It was developed over the course of several decades by federal employees in a collaborative, open-source fashion. Because it was developed by the U.S. government, it is available under the Freedom of Information Act (FOIA) in the public domain. VistaA has served as the basis for several open-source and proprietary products.

Anyone with expertise in health IT knows about VistA, but few in the open-source community are aware of the project. This is tragic, because it really is one of the most important examples of an open-source system anywhere, for any reason. Why? Because Veterans Affairs (VA) has been able to use VistA to deliver a system of high-quality healthcare.

That word "system" is important. You will get excellent healthcare at Mayo, Harvard, Cleveland Clinic, etc., but it is difficult to make a "system" that consistently delivers excellent healthcare. The VA has done that, and VistA is basically the health IT "operating system" that has made it possible. (I wrote and maintain the WorldVistA "What is VistA Really?" page if you would like further context on the system.)

Sounds amazing right? And it is. But there's a problem: VistA has been rotting. Development has largely stagnated in the last two decades.

This stagnation is mostly due to VistA's institutionalization at the VA. VistA was not developed as an "approved" project. It was developed as a kind of rebellion against the backward software that was available at the time and a rebellion against the backward ideas held by VA bureaucracy. This rebellion was called the "underground railroad" among VistA insiders.

Once the VA approved the project and started managing the software development using top-down practices, everything slowed to a crawl. Imagine the bazaar being "blessed" and moved into the cathedral.

Several outsiders in open-source health IT have been advocating for the VA to return VistA to its open-source roots. I wrote a proposal to make VistA truly open source, and Rick Marshal blogs about this almost exclusively.

Recently, a new, enlightened leadership at the VA has decided that taking the open-source route is precisely what VA VistA needs. The result is the Open Source Electronic Health Record Agent, or OSEHRA.

OSEHRA faces tremendous challenges. VistA uses a technical stack that makes typical project management very difficult, and there are several thorny political issues involved. But if this transition is successful, it could truly be a revolution for health IT.

If you care about healthcare software and open source, participating in OSEHRA is worth your while.

Meaningful Use and Beyond: A Guide for IT Staff in Health Care — Meaningful Use underlies a major federal incentives program for medical offices and hospitals that pays doctors and clinicians to move to electronic health records (EHR). This book is a rosetta stone for the IT implementer who wants to help organizations harness EHR systems.

Related:

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl