What is VistA Really
VistA is a Electronic Health Record programed by Federal (US) employees working for the Veterans Association for several decades. Because it was developed by Federal Employees, it is available under a Freedom of Information Act (FOIA) request. The version of VistA available directly from the US Government is usually referred to as FOIA VistA.
Contents
Licensing of FOIA VistA
It is a common mis-conception that VistA is "Open Source" software. Technically, VistA is in the public domain. As a result VistA can legally be the basis of both proprietary software and Free and Open Source Software. FOIA VistA does meet the definition of "Free Software".
The fact that VistA can be proprietary software AND free software creates an ongoing tension between different portions of the VistA community. For instance WorldVistA has a policy of releasing software under the GPL. The GPL is a "keep-it-free" license that prevents proprietarization. Some proprietary VistA vendors favor other licenses that allow for proprietarization.
What do you mean by...
The first barrier to really understanding VistA is one of overlapping vocabularies. Often people who are technically savy have a more difficult time with this than those with less technolgical experience. This problem is directly related to the age of VistA. VistA developed in parallel with many technologies that we take for granted. Often names for technologies in VistA overlap with the names for more common technologies and give tremendous headaches to new VistA developers.
RPC is a good example. When most people say RPC that are referring to a common *nix messaging system. This standard meaning of RPC is based on the same idea as the VistA RPC mechanism, but otherwise bears no resemblance. CPRS connects to VistA using the VistA RPC methods, so it is an important part of the VistA technology model, but its name often causes confusion with those familiar with the more common meaning of RPC.
There are two things that you can do to avoid being confused, first, do not assume that you know what a "VistA person" means when they use these technological terms, and read the Confusing Terms section of this website.
Your programming language is named after a disease?
VistA is written in MUMPS. There are several facts about MUMPS that often confond first time programmers.
- MUMPS is not a C-based syntax, most modern programming languages are so often MUMPS code looks strange to outsiders
- MUMPS is not white space invariant. This means that you cannot indent which will really bother you if you like python (which forces indentation)
- MUMPS is its own database, but its not SQL. Its a Hierarchical Database that is ideally suited to healthcare
- Globals means something in the permenant database, not the typical programming meaning.
- MUMPS often behaves like an operating system . Some implementations of MUMPS were operating systems.
Business people might be a little jarred by some of the business implications of MUMPS.
- There are very very few qualified MUMPS programmers
- It takes a competent computer scientist much longer to learn MUMPS than other languages
- Because they are rare MUMPS progammers are often expensive
MUMPS is too often written off as an obscure language here are some of the really good things about MUMPS
- Excellent string handling
- The database is really really good, especially for healthcare
- It is unbelievably fast, it was designed to run on ancient hardware, so it flys on modern hardware.