MUMPS Overview

From VistApedia
Revision as of 15:59, 30 April 2019 by DavidWhitten (talk | contribs)
Jump to: navigation, search

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 execution stack stack-

1. computer hardware running as a server -
      from PC's to much larger CPUs
      the VA ran many DEC(now HP) VAX
      the VA converted to Linux PCs
      A PC may run Linux - GT.M Stacks
2. An Operation system- Linux or Windows or DEC/HP VMS
3. MUMPS/M System  - Cache' or GT.M are the usual
4. VA Kernel (FileMan Sub component) - standardizes communications betwen OS and FileMan and MUMPS VistA Apps
4. VA 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 of Files(a superset of SQL Tables) and fields defined within those 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 technologies. 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. The language itself is an agreed upon way of interacting with the computer, with descriptions of what the language will do using certain commnds. Vendors sell programs which are 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:

MUMPS implementations
Vendor Implementation Documentation
website
Intersystems Caché
Fidelity GT.M
YottaDB YottaDB

Also, more here: M/Mumps Language Issues

If we think we need more details, we should add them here.