The software behind the VA health care transformation

A review of Phillip Longman's book "Best Care Anywhere."

Best Care AnywherePhillip Longman’s book “Best Care
,” just released in its second edition, had a strong
effect on me that cascaded off of several other experiences and
encounters I’ve had recently. The material should have been more
familiar to me. The Department of Veterans Affairs’ quality efforts have
become health care industry buzz, and its illustrious VistA software
has also often made the news, a couple times for its near-death
experiences. But VistA is still not the subject of daily discussion in
American public life.

I’m beginning to think our blind spot about the VA and VistA comes
from the sheer magnitude of the whole achievement. Longman’s
modest-length book is just an introduction to the swirling mass of
issues that come with this topic: what VA’s quality program has to say
about health care, about business motivations, about government, about
software development, even about ordinary people and how they handle
the most important aspects of their own lives.

There’s just too much there for us to absorb, and the lessons of VistA
force us to relinquish too many prejudices. I’m beginning to make the
necessary shift to understanding VistA after talking to doctors,
hearing from the people porting it to new environments, and now
reading Longman’s book. For other people without so many contacts in
the health care field, his book is a good start. Don’t expect it to
answer all your questions, but just to make you uncomfortable enough
to change the way you think — and act.

I’ll focus on the development and technical aspects of VistA in this
blog, because I’m writing for a computer technology website. But we
should recognize the big points made by Longman, a journalist with a
clear public policy agenda:

  • The VA is way ahead of most U.S. providers in quality — Some of the quality control measures have been in place for 30 years and are incredibly simple, but are still nearly unique to the VA. They also have very sophisticated uses for data, including intensive and routine data mining, and hook-ups of devices in people’s homes.
  • The VA provides a model being adopted around the world — Leading health care institutions in several countries, notably Jordan and Mexico, have implemented or are implementing VistA and its information-driven care model. It’s happening in the U.S. too. Adoption is slow to start with because there are only a few small companies actively marketing VistA solutions (and they don’t cooperate as well as they should). But the huge provider Kaiser Permanente interoperates with the VA and uses many of its techniques.
  • The mainstream health care industry can’t change because of business models — The culprit to which Longman points is the long-criticized
    fee-for-service model. He cites many private institutions that tried to do the right thing for their patients and provide long-term treatments, including life style changes. All these institutions went bankrupt because they weren’t reimbursed for making patients healthier, and could not recoup the cost savings created by keeping patients healthy. He ascribes similar problems to the HMO movement, which began with wonderful ideals and degenerated into one of the most hated businesses in the U.S.
  • Modern health care requires a life-long relationship to the patient — Longman says that the key to the VA’s quality approach was their realization that they would remain responsible for their patients throughout their life spans. Quality controls that didn’t make business sense in private institutions did wonders for the VA. But
    this doesn’t mean we need socialized medicine (depending on how you define that emotion-laden term) or even a public insurance option. Rather, we should create a national system based on the VA’s successes, where doctors are rewarded for following evidence-based medicine.

There’s a lot more in this pithy and readable book, such as how to
encourage providers to report errors and how to expand the VA health
care system. I’ll let you get the book for yourself to enjoy the
details. I’ll turn now to the software-related issues raised by the

Bottom-up development wins big

VistA software was most decidedly a bazaar, not a cathedral. It was
conceived by doctors in the late 1970s, and built either by health
care providers or by programmers working closely (sometimes having
chairs literally side by side) with health care providers. VistA is
actually a loosely interconnected system containing over 100
integrated, patient-focused applications.

Distributed development started because many different doctors had
bright ideas at about the same time. The distributed approach
continued despite (perhaps even because of) overt persecution. When
the developers tried to get together to formalize their relationships,
they were discovered and disciplined (through firings or having their
computers confiscated) because they were bucking the official
mainframe-based IT team. The developers’ tenuous position was
reflected in the name they picked for themselves, the Hard Hats, and
even more in the name attributed to them later by the head of the VA:
the Underground Railroad.

Conceptually, VistA also emerged in a bazaar-like fashion. No one
originally thought of the comprehensive life-long health management
system VistA has become. Rather, each piece of the system emerged from
a narrow need recognized by a health care provider: keeping track of
diagnoses, analyzing diabetic nutrition, ensuring that medicine was
administered to patients properly, and so on. Eventually, once the VA
administration got on board the railroad, everything was linked

It’s a truism that open source software development (and perhaps all
software development ) is best driven by the people who will
ultimately use it. So we can understand why VistA meets certain
essential needs — such as allowing an emergency room doctor enter an
order within a few seconds — that are missed by most proprietary
software in the health care field. But I find it surprising that the
system could work so well when each piece was developed in isolation.
Perhaps the software used can provide a clue.

The MUMPS language and database

VistA, like most proprietary products offered for sale to health care
providers, is written in a language called MUMPS, invented at
Massachusetts General Hospital in 1966 and standardized as M by ANSI
and ISO. MUMPS is little more than an interface to a hierarchical,
key-value database (pretty much an associative array). What SQL is for
relational databases, MUMPS is for this hierarchical database. The
rest of the language, to my mind, is just a thin wrapper with
essential language traits such as flow control constructs and string

As a child of the’ 60s, MUMPS shares the hippie libertarian trappings
of languages from that time. For instance, it has no concept of
packaging, and certainly no concern for “GOTOs considered harmful.”
Instead of formal functions, it lets a programmer jump to a label at
any point in the program, even in another file. However, GOTOs are not
required for MUMPS programs any more than they are for C programs, and
MUMPS has features that modern programmers expect, such as
parameter-passing, localizing variables to particular scopes, block
structure, etc. It also comes with features to write applications that
use multiple, cooperating processes.

Perhaps this extreme open architecture for programs made integration
easy. But tying programs together isn’t the only task in integration;
data from one program must also be accessible to others.

Here we turn to the hierarchical database. Persistence in MUMPS is
achieved simply by marking data as “global,” which is like tied
variables in Perl. Every read or write to a global variable involves
the file system.

The VA, Department of Defense, and Indian Health Service have
licensed, for use with VistA and its derivatives, a proprietary
database called Caché from the company InterSystems. An open
source implementation of MUMPS, led by K.S. Bhaskar and called GT.M,
is available from FIS, a large public corporation, with support on
commercial terms. GT.M has its own database and is popular for VistA
implementations outside the Federal government.

Most databases assign types to data. If one database calls an ID a
Patient and another calls it a Client, you have to write special
conversion code to tie them together. Things are even harder if
Patient is stored as an integer and Client as a string.

In MUMPS, everything is a string (a choice that was popular with other
scripting languages as well, notably Tcl). MUMPS offers “canonical
numbers,” strings that encode numeric values and can be input to
mathematical operations. So there’s no such thing as data conversion

What you do need to do, however, is find the exact path to a data
item. Unlike SQL, you can’t simply ask the database to tell you
everything it knows about a patient. You have to know where the
patient is in the hierarchy. MUMPS provides just two simple functions
for retrieving data: you can specify a node in the hierarchy, or start
at an arbitrary point in the hierarchy and cycle through it in order,
somewhat like an SQL cursor.

While it may not be obvious how these very simple operations and data
structures can produce highly interconnected, robust systems, the VA
has proven that it can be done. The key to using such fundamental — but
powerful — data structuring and representation is to create
higher-level data abstractions that map real-world information at a
higher level.

Furthermore, you don’t need to learn MUMPS unless you want to program
VistA internals. VistA exposes its functionality through remote
procedure calls, and open source wrappers provide access to this
functionality from modern languages such as Python and Java, OVID from Medsphere being one example.

If you’d like to learn more about VistA, help to add features so it
can become the nation’s electronic health record system, or just meet
the fascinating people who work with it, check out the WorldVistA community. As Longman
points out, doctors are moving quickly to install electronic record
systems so they can benefit from government funding. To play in this
space, VistA needs both more promotion and (according to one project
leader, Joseph Dal Molin) changes to simplify deployment and


tags: ,
  • Denise

    Good Post.

    One teeny thing – VA is Veterans Affairs not Veterans Administration.

  • Andy Oram

    Apologies–that was a silly oversight, and I fixed it. Funny that all the people who reviewed this for me overlooked the error.

  • Ken McNamara

    I’m not surprised that was missed.

    Although today it is formally the US Department of Veterans Affairs — common usage interchanges VA with Veterans Administration.

    That’s probably because it was named the Veterans Administration until 1989.

  • Susan Rose

    I am a VA nurse with 25 years there.
    I remember paper charting and the switch to the blue screen VISTA to the CPRS Version of VISTA.
    I just came back from a VA conference where the VA is moving forward, perhaps to a web based record.
    What ever it is, I am sure it will turn out well.

    My nursing practice has changed over the years. With the electronic medical record as marvelous as CPRS/VISTA I am able to do the detective work, quickly, giving the medical provider accurate information to accurately make a diagnosis or select the appropriate care, especially when time is of the essence.

    Anticipating the next move (and not letting the medical provider make a mistake by overlooking a significant bit of data) is the work of every good nurse. At the VA, because of the computerized record, I can practice at a much higher level of critical thinking.

    It was only last year that it was pointed out to me that CPRS/Vista is OPEN Source too! Since my daughter was already affiliated with the Ohio Linux Fest, I am also known as “Beth Lynn Eicher’s Mom”, I was asked to present at this convention on the this open source medial topic.

    This quickly became a medical track after I learned that other Linux Fests were including medical tracks. If you would like see the medical track overview for the Ohio Linux Fest it is at

    Thank you for spreading the word
    About the Great VA care as well as the Ohio Linux Fest.
    Susan Rose RN MSN
    Ohio Linux Fest Medical Track Chairperson
    Sept 10-11-12 Columbus Ohio

  • oldmster

    Nice article – thanks for looking past the prejudices against M(umps) and seeing the results for what they are – an excellent system. Not because of (or in spite of ) the tools used, but because of the way it was developed.
    I really like the ‘What SQL is for relational databases, MUMPS is for this hierarchical database.’ sentence. I’ve tried to make that point, but never said it that well.

  • Michael Zacharias

    Even though Mumps is “a child of the ’60’s” it can be programmed using a modern object oriented like programming language. Examples are Intersystems’ Cache Object Script and Profile Scripting Language (PSL) available in Fidelity’s PIP project which is built on top of GT.M.

    SQL and Object Oriented database abstractions are also available in these projects making Mumps a modern/advanced development platform and not just “a child of the ’60’s.”

    Michael Zacharias

  • Carol Somer

    A great review of a terrific book — as a child of the ’60s myself, appreciate the appreciation for the oldies but goodies–in software and health IT as well as music! Sometimes old solutions bear repeating.

  • Miles Beckett

    Great post! I’m happy to see VistA get the attention it deserves in the technology community, and for the best practices of the VA system to come to light.

    I’m a physician turned technology entrepreneur and I used VistA first-hand when I worked as a medical student at the San Diego VA hospital, and as a surgery intern at the Loma Linda VA hospital.

    The VA is an incredible healthcare system. I was constantly amazed at how good their outcomes were with patients who were much sicker on average than the general population. I always felt like the VA was this hidden gem within an otherwise terrible healthcare system that we have here in the US.

    It was pretty clear to me (as a meta-thinking geek) that the success of the VA could be attributed to the PROCESSES they had put in place, rather than to the individuals that actually worked there. Don’t get me wrong, the VA has excellent staff, but it’s often the exact same residents and attendings working at the VA who also cover medical services at nearby University and private hospitals. The difference was the organizational structure, not the people.

    The VistA system is a key component to the successful implementation of the VA’s medical best practices. It enforces charting rules and provides ridiculously deep and thorough access to patient information. I remember accessing patient information at the SD VA for a guy who was visiting from Kansas City and I was able to pull up his ENTIRE medical history with a few keyboard strokes.

    Non-physicians reading this will say, “Duh, well of course you could do that. Obviously.” Physicians and nurses reading this who haven’t worked at the VA will GASP.

    It seems so obvious that pulling up a patient’s complete medical history from any terminal should be “standard of care” in US hospitals but unfortunately it isn’t. Pulling up his chart made me feel like I had performed a MIRACLE compared to my typical experience working at the University and private hospital where it was truly impossible to get any medical history whatsoever about patients who weren’t in the local system.

    In most hospitals there isn’t even interoperability between the ER, ICU, and Floor computer systems. Seriously. We would have patients transferred from the ICU to the floor and we’d have almost NO ACCESS to any of their vital data from the time they were in the ICU (drugs, vitals, chemistries, etc.). At best we might get a paper printout. It was madness.

    I learned that VistA was open source when I was a medical student, and I was shocked that it hadn’t been adopted by every hospital in the country. It was free software! Yeah, the UI was nothing to write home about, but slap a pretty GUI on it and you could sell it to hospitals around the country. Unfortunately, as noted in this post, there are powerful business forces preventing quality long-term healthcare for the general population, and hospitals simply aren’t interested in paying for “yet another” technology upgrade to improve patient care unless it will make them money. Good patient care doesn’t make hospitals money. Billing for procedures and services does.

    I left medicine for a lot of reasons, but one of them was definitely my frustration with how archaic and backwards the heathlcare system is. Once out, I considered starting an EMR company with VistA at its core, but my frustrations with the medical industry and concerns about the inherently anti-patient business model made me decide otherwise. Are their for-profit companies selling VistA right now? It’s still something I might do down the line.

    In the meantime, I hope that we can find a way as a society to change how we finance our healthcare system, and I also hope that VistA will get broader support and adoption throughout the medical community.

  • Andy Oram

    I’ve been enjoying and learning from the excellent comments on my blog. In response to Miles’s specific question about companies that market VistA, there are two that were represented at the recent O’Reilly Open Source conference; Medsphere and vxVistA. See my blog

  • Torkild Smith

    Well written.
    And I also like the ‘What SQL is for relational databases, MUMPS is for this hierarchical database.’ sentence. It is very well formulated!

  • GPHC

    Great article. Can you please check this out and tell me what you think?

  • Katie

    I know I’m a little late but – great article! I’m working on building a timeline of the history of electronic health records and this post has certainly been helpful. Thanks for your insight.