VistA: From Start To Go In 5 Minutes

I recall attending a VistA Community Meeting (VCM) in early 2000s. Many enthusiasts and practitioners wanted to leave that meeting with the open source VistA electronic health record (EHR) system running in some form on their laptop or desktop computer. Since most of them were not IT savvy, but decision makers and medical providers for facilities, they were looking at a process that typically took two to three days. The process typically required three steps: (1) installing and configuring Linux, (2) installing and configuring GT.M, and (3) installing VistA. Yes, this may sound "simple." However many will attest this is indeed far from the case.

Happily, as technology evolved, along came virtualization and automation techniques. Virtualization products from VMware, Citrix, RedHat, and Oracle now help simplify matters by creating a "small computer container" within a "larger computer system." Think of it as a "slice" of your computer being the larger pie.  Automation from companies like OpsCode (for "Chef") and Puppet Systems (for "Puppet") help simplify both configuration and management. Think of this as adding one configuration change, like updating a software package, across a large data center of servers with just a few lines of code and the push of a button.

Then along comes comes Vagrant, an extremely interesting and useful combination of the two. Vagrant combines automation and virtualization into one tool. So what does this mean for VistA? It means a "slice" of your computer can have a basic installation the VistA system (on Linux and GT.M), brought up and running in the space of a few minutes to perhaps half-an-hour. Yes, that original two to three day process of trying to take home VistA EMR from yester year is now something that can be completed in the time it takes for you to walk to the nearby coffee shop for a refill and return to your office. Thanks to the extraordinary engineering work of Chris Edwards (a developer for KRM Associates and Certification Manager at OSEHRA), all of the "tough decisions" are made for you. 

This breakthrough was unveiled a month ago at the 28th VistA Community Meeting in Sacramento, California. Addressing the audience during a presentation titled “Using Vagrant to install and test VistA,” Chris opened up his MacBook Pro and proceeded to install and configure VistA on an Ubuntu Linux Virtual Machine, including GT.M database, Fileman, and all critical components, in just five minutes. The audience was completely stunned and asked Chris to perform different operations to make sure this was for real. And it all worked! Since then Chris has published a blog post and a YouTube video that walks  through the whole process from start to finish. The VistA installer can be downloaded here and since he first released it, Chris has enhanced it to include an option to automatically install, configure and fire up the EWD.js framework.

How does this help my practice, facility, and/or development group, you ask? Consider such a VistA installation as a common base or starting point to work with VistA and move forward from this point with your electronic health record endeavors. It is a simple proof of concept of a complex EHR system. It is a "white board" or "boiler plate" for customization and development of VistA to your needs. It  will cost you only a little time and some effort to have up in running in a matter of moments. You can then "tour VistA live" instead of watching some marketing and sales pitch during which others let you look, but not touch.

Now the, "what if...?" comes to mind. What if I want to use one of the other variants of VistA provided freely? If it is on GitHub, you just change a simple line in the Vagrant file, and that VistA variant will be pulled down instead.  What if I want to move my work from Vagrant into a production environment? With the right expertise on hand, the work done in your VistA development and testing environment can be moved into production. For the latter, I would of course highly recommend consulting the subject matter experts so that your work is properly implemented.  What if I want my whole development team to work on the same VistA configuration (also called "environments")?  Then all your team needs to do is configure their development systems to use Vagrant, and each will have the same "boiler plate" or starting point--each of which is  identical to the other--in a just a few minutes (depending on one's Internet connectivity speeds, development system hardware, and the usual culprits, of course).  Now, how slick is that?

So in the end, evolution of software that is free and open source continues. Yesterday, configuring your laptop or desktop machine for VistA was a process that required several days of work with many subject matter experts handling individual components. Today, this process has been simplified and made efficient: It can be accomplished in a matter of minutes. That is the power of open source development and collaboration. No proprietary EHR vendor could ever accomplish this feat.

To wrap things up, one caveat, which I cannot stress  enough:  The discussion above  is meant for development and testing purposes only, not live or production use!  Think of this as a "proof of concept" or a "white board workspace" for your VistA EMR exploration and preparation work.  The configuration and operational management of production level systems require much more than the effort needed for development and testing systems