MUMPS (Massachusetts General Hospital Utility Multi-Programming System, kurz M) ist eine imperative höhere Programmiersprache mit integrierter transaktionsorientierter Schlüssel-Wert-Datenbank. Neil Pappalardo entwarf sie 1966 am Massachusetts General Hospital als Ersatz für Assembler in der Medizininformatik; die Sprache ist seit 1977 ANSI- und ISO-standardisiert.
Kernkonzept: Globale Variablen
Das Besondere an MUMPS sind die globalen Variablen (Globals): persistent gespeicherte, hierarchische Schlüssel-Wert-Bäume, die direkt in der Datenbank liegen und wie normale Variablen angesprochen werden. Ein ^-Zeichen kennzeichnet eine Global-Referenz:
SET ^Patient(1001,"Name")="Müller"
SET ^Patient(1001,"Diagnose")="A411"
Wichtige Befehle
SET/KILL— Werte zuweisen bzw. löschenWRITE/READ— Ausgabe bzw. EingabeDO/GOTO— Unterroutine aufrufen bzw. springenIF/ELSE/FOR— KontrollstrukturenQUIT— Unterroutine verlassen,HALT— Programm beendenNEW— lokale Variablen beim Unterprogramm-Aufruf schützen
Systemfunktionen beginnen mit $, etwa $PIECE (Stringsegment), $LENGTH (Länge) oder $ORDER (nächster Schlüssel in einer Global).
Einsatzgebiete
MUMPS steckt in der US-Veteranenverwaltung (VistA/VA-EMR), in Krankenhausinformationssystemen (Meditech, Epic) und in freien Implementierungen wie GT.M (Greystone Technology M) und YottaDB. Das Abkürzungssystem ist standardisiert: jede Standard-Anweisung hat genau eine zugelassene Kurzform.
Verwandte Einträge: ABAP-Befehle, COBOL-Befehle und JCL-Befehle.