Difference between revisions of "MUMPS Overview"

From VistApedia
Jump to: navigation, search
(Implementations and Vendors)
Line 3: Line 3:
 
MUMPS is the middle component of the whole VistA structural stack.
 
MUMPS is the middle component of the whole VistA structural stack.
  
The structural components of most VistA implementations includes in its 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
+
  1. computer hardware running as a server -
       the VA runs many DEC(now HP) VAX
+
      from PC's to much larger CPUs
       A PC may run Linux - GTM Stacks
+
       the VA ran many DEC(now HP) VAX
 +
      the VA converted to Linux PCs
 +
       A PC may run {{g|Linux}} - GT.M Stacks
 
  2. An Operation system- Linux or Windows or DEC/HP VMS
 
  2. An Operation system- Linux or Windows or DEC/HP VMS
 
  3. MUMPS/M System  - Cache' or GT.M are the usual
 
  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. VA 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)
+
  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 fof Files(~Tables) and fields defined within Files. It supports powerful cross referencing of Files, complex relationships between Files.
+
   It has features analogous to SQL with many maintenance features, data dictionaries of {{g|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~|Data Types]], control of data entry and encoding and decoding formats for output.
+
   It adds support for defined {{g|data types}}, control of data entry and encoding and decoding formats for output.
  5. VistA [[Application~|Application]]s, written in MUMPS with heavy dependence upon FileMan for the structure and design framework and includes many modules.
+
  5. VistA {{g|Application}}s, 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.
 
   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.
 
   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~|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~|CPRS]] as it runs on the client is a special [[application~|Application]] written in Delphi.
+
The Client Server structure of VistA is implemented with a combination of technologies{{g|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.  {{g|CPRS}} as it runs on the client is a special [[application~|Application]] written in Delphi.
  
Other components of VistA are evolving to use standard Browsers instead of [[CPRS~|CPRS]] to provide the User GUI interface via the Browser.
+
Other components of VistA are evolving to use standard Browsers instead of {{g|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.
 
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.
Line 27: Line 29:
 
=== Implementations and Vendors ===
 
=== 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.
+
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.
 
Currently there are several active Vendors of MUMPS, and MUMPS-like languages.

Revision as of 15:59, 30 April 2019

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.