OSEHRA's first challenge: VistA version control


Please see link to blog post from Fred Trotter in O'Reilly Radar on the challenges of version centrol and open source ...

Conrad Clyburn


O'Reilly Radar

Fred Trotter

The VA VistA EHR resists version control systems, which prevents open collaboration.

by @fredtrotter  | +Fred Trotter  | Comment | 20 October 2011


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.

Read on at: http://radar.oreilly.com/2011/10/osehra-vista-version-control.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+oreilly%2Fradar%2Fatom+%28O%27Reilly+Radar%29