MUMPS is a general purpose ANSI and ISO standard computer language which is a key component of VistA systems. As with VistA, there is considerable history.
MUMPS is the middle component of the whole VistA structural stack.
The structural components of most VistA implementations includes in its stack-
1. computer hardware running as a server - from PC's to much larger CPUs the VA runs many DEC(now HP) VAX A PC may run Linux - GTM Stacks 2. An Operation system- Linux or Windows or DEC/HP VMS 3. MUMPS/M System - Cache' or GT.M are the usual 4. Kernel (FileMan Sub component) - standardizes communications betwen OS and FileMan and MUMPS VistA Apps 4. FileMan is Software written in MUMPS which adds a higher level DataBase Manager than the inherent database function of MUMPS (known in MUMPS as Globals) It has features analogous to SQL with many maintenance features, data dictionaries fof Files(~Tables) and fields defined within Files. It supports powerful cross referencing of Files, complex relationships between Files. It adds support for defined Data Types, control of data entry and encoding and decoding formats for output. 5. VistA Applications, written in MUMPS with heavy dependence upon FileMan for the structure and design framework and includes many modules. 5a. The core modules handle structures/Files for patient identification(ADT or Registration) and visits and Files for various actors- physicians, nurses, clerks, administrators, etc. 5b. Modules stacked upon the Core manage many specific medical functions- eg. medications, notes, insurance claims, radiology.
The Client Server structure of VistA is implemented with a combination of technoligies. CPRS is the main GUI interface running on a client PC and Windows OS. It communicates over a standard LAN or Internet TCP/IP connection to the VistA Server. The Server end is managed by a VistA Module called the RPC Broker which connects the clients to the FIleMan VistA data. CPRS as it runs on the client is a special Application written in Delphi.
Other components of VistA are evolving to use standard Browsers instead of CPRS to provide the User GUI interface via the Browser.
The oldest components of VistA and FileMan use a roll and scroll interface with a client terminal emulator connecting to the server securely over TCP/IP.
Implementations and Vendors
It is important for new people to know the difference between the language and the implementation of the language. Vendors sell implementations of MUMPS. In the process, they are allowed to add commands, functions, and special variables to their implementation of the language. This does not increase what is in the language, but simply in their product.
Currently there are several active Vendors of MUMPS, and MUMPS-like languages.
A partial list includes:
Also, more here: M/Mumps Language Issues
If we think we need more details, we should add them here.