OSEHRA's First Challenge: VistA Version Control

Fred Trotter | O'Reilly Radar | October 20, 2011

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.)...