Knowledge

MUMPS

Source đź“ť

3242: 4087: 4097: 3153: 236:" project at MGH by Pappalardo, Greenes, and Marble to create an alternative development environment. As a result of initial demonstration of capabilities, Dr. Barnett's proposal to NIH in 1967 for renewal of the hospital computer project grant took the bold step of proposing that the system be built in MUMPS going forward, rather than relying on the BBN approach. The project was funded, and serious implementation of the system in MUMPS began. 577:. This was based on their ISM product, but with influences from the other implementations. Micronetics Design Corporation, at this time #2 on the market, was acquired by InterSystems on June 21, 1998. InterSystems remains the dominant "M vendor" owning MSM, DSM, ISM, DTM and selling Caché to M developers who write applications for a variety of operating systems. Also Intersystems did not use the term M anymore, neither followed the M standard. 1477: 662: 3125: 4107: 749: 331:, where it lived for some time. It was first installed at Health Data Management Systems of Denver in May 1971. The portability proved to be useful and MUMPS was awarded a government research grant, and so MUMPS was released to the public domain which was a requirement for grants. MUMPS was soon ported to a number of other systems including the popular DEC 1250:. These are stored on disk, are available to all processes, and are persistent when the creating process terminates. Very large globals (for example, hundreds of gigabytes) are practical and efficient in most implementations. This is MUMPS' main "database" mechanism. It is used instead of calling on the operating system to create, write, and read files. 804:. Early MUMPS memory partitions were limited to 2048 bytes so aggressive abbreviation greatly aided multi-programming on severely resource limited hardware, because more than one MUMPS job could fit into the very small memories extant in hardware at the time. The ability to provide multi-user systems was another language design feature. The word " 865:, etc.). An unfortunate side effect of this, coupled with the early need to write minimalist code, was that MUMPS programmers routinely did not comment code and used extensive abbreviations. This meant that even an expert MUMPS programmer could not just skim through a page of code to see its function but would have to analyze it line by line. 1202:(i.e. use almost no space for missing nodes), can use any number of subscripts, and subscripts can be strings or numeric (including floating point). Arrays are always automatically stored in sorted order, so there is never any occasion to sort, pack, reorder, or otherwise reorganize the database. Built-in functions such as 1573:
rules are more permissive than other modern languages. Declared local variables are scoped using the stack. A routine can normally see all declared locals of the routines below it on the call stack, and routines cannot prevent routines they call from modifying their declared locals, unless the caller
1238:
variable names not beginning with caret (i.e. "^") are stored in memory by process, are private to the creating process, and expire when the creating process terminates. The available storage depends on implementation. For those implementations using partitions, it is limited to the partition size (a
319:
It was a few years until Unix was developed. The lack of memory management hardware also meant that all multi-processing was fraught with the possibility that a memory pointer could change some other process. MUMPS programs do not have a standard way to refer to memory directly at all, in contrast to
719:
The chief executive of InterSystems disliked the name MUMPS and felt that it represented a serious marketing obstacle. Thus, favoring M to some extent became identified as alignment with InterSystems. The 1990 ANSI Standard was open to both M and MUMPS and after a "world-wide" discussion in 1992 the
568:
vendor InterSystems had become the dominant player in the MUMPS market with the purchase of several other vendors. Initially they acquired DataTree Inc. in 1993. On December 30, 1994, InterSystems acquired the DSM product line from DEC. InterSystems consolidated these products into a single product
231:
during 1966 and 1967. It grew out of frustration, during a National Institutes of Health (NIH)-support hospital information systems project at the MGH, with the development in assembly language on a time-shared PDP-1 by primary contractor Bolt Beranek & Newman, Inc. (BBN). MUMPS came out of an
1035:
after it has been saved to disk. For direct execution of the code a kind of "label" (any alphanumeric string) on the first position of the program line is needed to tell the mumps interpreter where to start execution. Since MUMPS allows commands to be strung together on the same line, and since
1348:
This function treats its input as a structure, and finds the next index that exists which has the same structure except for the last subscript. It returns the sorted value that is ordered after the one given as input. (This treats the array reference as a content-addressable data rather than an
937:
languages. Additionally, the MUMPS language design requires that all subscripts of variables are automatically kept in sorted order. Numeric subscripts (including floating-point numbers) are stored from lowest to highest. All non-numeric subscripts are stored in alphabetical order following the
1593:
The US Department of Veterans Affairs (formerly the Veterans Administration) was one of the earliest major adopters of the MUMPS language. Their development work (and subsequent contributions to the free MUMPS application codebase) was an influence on many medical users worldwide. In 1995, the
912:
character or group of characters can be a subscript identifier. While this is not uncommon for modern languages such as Perl or JavaScript, it was a highly unusual feature in the late 1970s. This capability was not universally implemented in MUMPS systems before the 1984 ANSI standard, as only
812:
rogramming" in the acronym points to this. Even the earliest machines running MUMPS supported multiple jobs running at the same time. With the change from mini-computers to micro-computers a few years later, even a "single user PC" with a single 8-bit CPU and 16K or 64K of memory could support
856:
function. Spaces and end-of-line markers are significant in MUMPS because line scope promoted the same terse language design. Thus, a single line of program code could express, with few characters, an idea for which other programming languages could require 5 to 10 times as many characters.
1169:
GREPTHIS() NEW SET,NEW,THEN,IF,KILL,QUIT SET IF="KILL",SET="11",KILL="11",QUIT="RETURN",THEN="KILL" IF IF=THEN DO THEN QUIT:$ QUIT QUIT QUIT ; (quit) THEN IF IF,SET&KILL SET SET=SET+KILL QUIT
1129:
Commands and intrinsic functions are case-insensitive. In contrast, variable names and labels are case-sensitive. There is no special meaning for upper vs. lower-case and few widely followed conventions. The percent sign (%) is legal as first character of variables and
720:
Mumps User Groups officially changed the name to M. The dispute also reflected rivalry between organizations (the M Technology Association, the MUMPS Development Committee, the ANSI and ISO Standards Committees) as to who determines the "official" name of the language.
1521:
Some aspects of MUMPS syntax differ strongly from that of more modern languages, which can cause confusion, although those aspects vary between different versions of the language. On some versions, whitespace is not allowed within expressions, as it ends a statement:
265:
file system to standardize interaction with the data and abstract disk operations so they were only done by the MUMPS language itself. MUMPS was also used in its earliest days in an experimental clinical progress note entry system and a radiology report entry system.
316:, most mini-computers did not run parallel programs and threading was not available at all. Even on mainframes, the variant of batch processing where a program was run to completion was the most common implementation for an operating system of multi-programming. 1718:
Since 2005, the most popular implementations of MUMPS have been Greystone Technology MUMPS (GT.M) from Fidelity National Information Services, and Caché, from Intersystems Corporation. The European Space Agency announced on May 13, 2010, that it will use the
913:
canonically numeric subscripts were required by the standard to be allowed. Thus, the variable named 'Car' can have subscripts "Door", "Steering Wheel", and "Engine", each of which can contain a value and have subscripts of their own. The variable
887:
in MUMPS, because the scoping of these variables is "globally available" to all jobs on the system. The more recent and more common use of the name "global variables" in other languages is a more limited scoping of names, coming from the fact that
968:, in MUMPS terminology). Coercion can have some odd side effects, however. For example, when a string is coerced, the parser turns as much of the string (starting from the left) into a number as it can, then discards the rest. Thus the statement 990:
traditions, some space characters between MUMPS statements are significant. A single space separates a command from its argument, and a space, or newline, separates each argument from the next MUMPS token. Commands which take no arguments (e.g.,
194:
in the United States. MUMPS-based information systems run over 40% of the hospitals in the U.S., run across all of the U.S. federal hospitals and clinics, and provide health information services for over 54% of patients across the U.S.
961:) as an array. Early MUMPS programmers would often store a structure of related information as a delimited string, parsing it after it was read in; this saved disk access time and offered considerable speed advantages on some hardware. 648:
in 1969. They extended and built on the MUMPS language, naming the new language MIIS (and later, another language named MAGIC). Unlike InterSystems, MEDITECH no longer sells middleware, so MIIS and MAGIC are now only used internally at
904:) are temporary and private. Like global variables, they also have a hierarchical storage model, but are only "locally available" to a single job, thus they are called "locals". Both "globals" and "locals" can have child nodes (called 892:
are "globally" available to any programs running in the same process, but not shared among multiple processes. The MUMPS Storage mode (i.e. globals stored as persistent sparse arrays), gives the MUMPS database the characteristics of a
1582:) before calling any child routines. By contrast, undeclared variables (variables created by using them, rather than declaration) are in scope for all routines running in the same process, and remain in scope until the program exits. 883:) use permanent (instead of RAM) storage, will maintain their values after the application exits, and will be visible to (and modifiable by) other running applications. Variables using this shared and permanent storage are called 791:
MUMPS is a language intended for and designed to build database applications. Secondary language features were included to help programmers make applications using minimal computing resources. The original implementations were
1448:
GTM>S n="" GTM>S n=$ order(^nodex(n)) GTM>zwr n n=" building" GTM>S n=$ order(^nodex(n)) GTM>zwr n n=" name:gd" GTM>S n=$ order(^nodex(n)) GTM>zwr n n="%kml:guid"
995:) require two following spaces. The concept is that one space separates the command from the (nonexistent) argument, the next separates the "argument" from the next command. Newlines are also significant; an 377:
standard, X11.1-1977. At about the same time DEC launched DSM-11 (Digital Standard MUMPS) for the PDP-11. This quickly dominated the market, and became the reference implementation of the time. Also,
357:
in 1970 and 1971. By the early 1970s, there were many and varied implementations of MUMPS on a range of hardware platforms. Another noteworthy platform was Paul Stylos' DEC MUMPS-11 on the PDP-11, and
1585:
Because MUMPS database references differ from internal variable references only in the caret prefix, it is dangerously easy to unintentionally edit the database, or even to delete a database "table".
1899:
Pendergrass, Henry P; Greenes, Robert A; Barnett, G Octo; Poitras, James W; Pappalardo, A Neil; Marble, Curt W (1969). "An on-line computer facility for systematized input of radiology reports".
1162:
None. Since MUMPS interprets source code by context, there is no need for reserved words. You may use the names of language commands as variables, so the following is perfectly legal MUMPS code:
824:
Since memory was tight originally, the language design for MUMPS valued very terse code. Thus, every MUMPS command or function name could be abbreviated from one to three letters in length, e.g.
476:
MUMPS implementation. MGlobal also ported their implementation to the DOS platform. MGlobal MUMPS was the first commercial MUMPS for the IBM PC and the only implementation for the classic Mac OS.
1089:
In IF commands and other syntax that has expressions evaluated as conditions, any string value is evaluated as a numeric value and, if that is a nonzero value, then it is interpreted as True.
1562:) are used to indent the lines in a DO block, not whitespace. The ELSE command does not need a corresponding IF, as it operates by inspecting the value in the built-in system variable 1864:
Greenes, Robert A; Barnett, G Octo; Klein, Stuart W; Robbins, Anthony; Prior, Roderick E (1970). "Recording, retrieval and review of medical data by physician-computer interaction".
1184:
GREPTHIS() N S,N,T,I,K,Q S I="K",S="11",K="11",Q="R",T="K" I I=T D T Q:$ Q Q Q T I I,S&K S S=S+K Q
1702:
MUMPS is also widely used in financial applications. MUMPS gained an early following in the financial sector and is in use at many banks and credit unions. It is used by the
933:(both the names of the child-nodes and the child-nodes themselves are likewise called subscripts). Hierarchical variables are similar to objects with properties in many 324:, so since the multitasking was enforced by the language, not by any program written in the language it was impossible to have the risk that existed for other systems. 1109:
are important syntactic entities, unlike their status in languages patterned on C or Pascal. Multiple statements per line are allowed and are common. The scope of any
979:
Other features of the language are intended to help MUMPS applications interact with each other in a multi-user environment. Database locks, process identifiers, and
1803: 3189: 1485: 603:
During 2000, Ray Newman and others released MUMPS V1, an implementation of MUMPS (initially on FreeBSD) similar to DSM-11. MUMPS V1 has since been ported to
402:
was sold in parallel after released 1978. Both hardware families as well as MUMPS versions were available until 1995 from DEC. The DSM-11 was ported to the
2424: 2361: 950:
features such as mandatory schemas, several DBMS systems have been built on top of it that provide application developers with flat-file, relational, and
4186: 801: 4151: 504:
This period also saw considerable MDC activity. The second revision of the ANSI standard for MUMPS (X11.1-1984) was approved on November 15, 1984.
729:
registered "MUMPS" as a trademark with the USPTO on November 28, 1971, and renewed it on November 16, 1992, but let it expire on August 30, 2003.
2857: 2318: 4196: 4110: 1829:
Greenes, Robert; Pappalardo, A Neil; Marble, Curt W; Barnett, G Octo (1969). "Design and implementation of a clinical data management system".
532: 517: 350:. Word about MUMPS spread mostly through the medical community, and was in widespread use, often being locally modified for their own needs. 1459:). Additionally, there is the ability to specify an environment for a variable, such as by specifying a machine name in a variable (as in 528: 4141: 3182: 1282:
This breaks variables into segmented pieces guided by a user specified separator string (sometimes called a "delimiter"). Those who know
1177:
MUMPS can be made more obfuscated by using the contracted operator syntax, as shown in this terse example derived from the example above:
365:. In the Fall of 1972, many MUMPS users attended a conference in Boston which standardized the then-fractured language, and created the 3141: 390:
During the early 1980s several vendors brought MUMPS-based platforms that met the ANSI standard to market. The most significant were:
4181: 1007:
command processes (or skips) everything else till the end-of-line. To make those statements control multiple lines, you must use the
1490: 1317: 1226: 4171: 3146: 2218: 1695:, and Dynacare, use MUMPS software written by or based on Antrim Corporation code. Antrim was purchased by Misys Healthcare (now 1595: 1056:
ANSI X11.1-1995 gives a complete, formal description of the language; an annotated version of this standard is available online.
964:
MUMPS has no data types. Numbers can be treated as strings of digits, or strings can be treated as numbers by numeric operators (
4146: 4100: 3175: 581: 1330: 373:(MDC) to do so. These efforts proved successful; a standard was complete by 1974, and was approved, on September 15, 1977, as 3136: 2604: 1998: 565: 374: 2088: 633:
There are also several open source implementations of MUMPS, including some research projects. The most notable of these is
3798: 3230: 1607: 4131: 3872: 2877: 2850: 1798: 1623: 1550:
plus a strict comparison operator in the opposite direction), although some versions allow the use of the more standard
3877: 3818: 3765: 2677: 2557: 1146:
performs PRINTERR if N is greater than 100. This construct provides a conditional whose scope is less than a full line.
759: 2882: 2728: 2662: 2649: 701: 543:. The MDC finalized a further revision to the standard in 1998 but this has not been presented to ANSI for approval. 2887: 2821:
Development and Operation of a MUMPS Laboratory Information System: A Decade's Experience at Johns Hopkins Hospital
1455:
MUMPS supports multiple simultaneous users and processes even when the underlying operating system does not (e.g.,
879:, which is implicitly "opened" for every MUMPS application. All variable names prefixed with the caret character ( 4012: 2434: 2267: 3632: 3156: 3088: 2961: 2843: 1603: 1218:
functions provide efficient examination and traversal of the fundamental array structure, on disk or in memory.
1020: 873: 726: 683: 224: 184: 1606:(VHA) was the recipient of the Innovations in American Government Award presented by the Ash Institute of the 3902: 3198: 3131: 3109: 3063: 3036: 3011: 2971: 2116: 354: 244: 1602:
for best use of Information Technology in Medicine. In July 2006, the Department of Veterans Affairs (VA) /
1138:
execution of almost any command can be controlled by following it with a colon and a truthvalue expression.
580:
Greystone Technology Corporation's GT.M implementation was sold to Sanchez Computer Associates (now part of
4191: 3992: 3699: 3250: 3103: 3006: 2976: 2744: 2052: 1940: 1696: 1681: 1626: 980: 546:
In 1999 the last M Standard (ISO-IEC 11756-1999) was approved. ISO re-affirmed this on 2020. Together with
2382: 424:(InterSystems M) on VMS (M/VX), ISM-11 later M/11+ on the PDP-11 platform (1978), M/PC on MS-DOS, M/DG on 4156: 4050: 3997: 3780: 3742: 3587: 3078: 3073: 3016: 2996: 2110: 934: 869: 638: 362: 90: 353:
Versions of the MUMPS system were rewritten by technical leaders Dennis "Dan" Brevik and Paul Stylos of
4027: 3813: 3021: 2917: 2900: 1762: 947: 894: 585: 152: 3330: 2340: 4061: 3031: 2986: 2713:
Journal of the Healthcare Information and Management Systems Society, Vol 11, No 3, pp 81–95 (1997).
1733:
with unprecedented precision. InterSystems is in the process of phasing out Caché in favor of Iris.
1614:
for its extension of DHCP into the Veterans Health Information Systems and Technology Architecture (
1274:
and late binding as well as effectively the operational equivalent of "pointers" in other languages.
4136: 3724: 3068: 2951: 1570: 987: 889: 191: 190:
MUMPS technology has since expanded as the predominant database for health information systems and
2193: 4045: 793: 672: 615:(using cygwin). Initially only for the x86 CPU, MUMPS V1 has now been ported to the Raspberry Pi. 257:, and began using MUMPS in the admissions cycle and laboratory test reporting. MUMPS was then an 4166: 4161: 4017: 3582: 3376: 3325: 2937: 1538:
evaluates to 50). The operators for "less than or equal to" and "greater than or equal to" are
1531: 1225:
for i=10000:1:12345 set sqtable(i)=i*i set address("Smith","Daniel")="
958: 679: 180: 45: 41: 24: 2476: 644:
One of the original creators of the MUMPS language, Neil Pappalardo, founded a company called
4090: 3257: 2477:"European Space Agency Chooses InterSystems Caché Database For Gaia Mission to Map Milky Way" 2022: 1619: 1154:
You can abbreviate nearly all commands and native functions to one, two, or three characters.
868:
Database interaction is transparently built into the language. The MUMPS language provides a
301: 262: 2643:
The Complete MUMPS: An Introduction and Reference Manual for the MUMPS Programming Language.
1797: 1777: 1767: 1720: 1409:
Set i="" For Set i=$ O(stuff(i)) Quit:i="" Write !,i,10,stuff(i)
574: 156: 4007: 3775: 3679: 2866: 2497: 1671: 1262:
can be used, and effectively substitutes the contents of VBL into another MUMPS statement.
258: 176: 36: 3241: 540: 8: 3867: 3612: 3266: 2942: 2756: 2064: 1952: 1497: 1036:
commands can be abbreviated to a single letter, this routine could be made more compact:
596:
were also made available under the AGPL license. GT.M continues to be available on other
584:) in the mid-1990s. On November 7, 2000, Sanchez made GT.M for Linux available under the 251: 2820: 2068: 513:
On November 11, 1990, the third revision of the ANSI standard (X11.1-1990) was approved.
3734: 2593: 1611: 309: 233: 2760: 1956: 1239:
small partition might be 32K). For other implementations, it may be several megabytes.
942:. By using only non-negative integer subscripts, the MUMPS programmer can emulate the 3844: 3427: 3365: 3360: 2922: 2724: 2683: 2673: 2658: 2645: 2618: 2610: 2600: 2571: 2563: 2553: 2322: 1999:"HP NonStop Servers, Software Product Maintenance List, Effective Date: January 2012" 1980: 1916: 1881: 1846: 1842: 1724: 1692: 1599: 946:
data type from other languages. Although MUMPS does not natively offer a full set of
818: 612: 347: 336: 297: 220: 61: 2243: 983:
of database update transactions are all required of standard MUMPS implementations.
3882: 3567: 2778: 2748: 2634: 2056: 1944: 1908: 1873: 1838: 951: 917:
could have a nested variable subscript of "Color" for example. Thus, you could say
479: 450: 293: 278: 270: 123: 2130: 1101:
None. All variables are dynamically created at the first time a value is assigned.
723:
As of 2020, the ISO still mentions both M and MUMPS as officially accepted names.
289:. The MUMPS team chose to include portability between machines as a design goal. 187:
for managing patient medical records and hospital laboratory information systems.
4176: 3790: 3218: 2826:
IDEA Systems' technology solutions based on YottaDB (formerly FIS GT.M) and Caché
2691: 2626: 2579: 1703: 1271: 1071: 957:
Additionally, there are built-in operators which treat a delimited string (e.g.,
943: 493: 216: 57: 52: 3167: 2151: 1877: 641:) and students' project. Dr. O'Kane has also ported the interpreter to Mac OS X. 3887: 3754: 3748: 3308: 2774: 2656:
Object-Oriented Application Development Using the Caché Postrelational Database
766: 469: 199: 128: 857:
Abbreviation was a common feature of languages designed in this period (e.g.,
431:
Greystone Technology Corporation founded 1980, with a compiled version called
4125: 3932: 3041: 2815: 2793: 2782: 2752: 2687: 2097:(Press release). 8 November 2000. Archived from the original on 28 April 2004 2093: 2060: 2048: 1948: 1707: 1646: 1199: 2695: 2622: 2575: 2326: 1984: 1294:." The piece function can also appear as an assignment (SET command) target. 1048:' after the text generates a newline. This code would return to the prompt. 3927: 3823: 3770: 3669: 3093: 2932: 2583: 2502: 2429: 2194:"ISO/IEC 11756:1999(en) Information technology — Programming languages — M" 1850: 1636: 1441:
For iterating the database, the Order function returns the next key to use.
876: 738: 464:
on 6800, then 6809, and eventually a port to the 68000, which later became
425: 417: 398:(Digital Standard MUMPS). For the PDP-11 series DSM-11 was released 1977. 379: 305: 202:, allowing direct, high-speed read-write access to permanent disk storage. 2806: 2630: 1920: 1885: 551: 547: 536: 524:
as an alternative name for the language was approved around the same time.
3392: 3387: 3382: 3372: 3355: 3224: 2810: 2089:"Sanchez Offers GT.M Database as Open Source Freeware to GNU/Linux Users" 1676: 1650: 113: 2835: 2455: 1496:
Please help rewrite or integrate negative information to other sections
171:("Massachusetts General Hospital Utility Multi-Programming System"), or 3985: 3760: 3001: 1815: 1666: 1654: 1501: 862: 686: in this section. Unsourced material may be challenged and removed. 593: 321: 286: 3577: 2550:
ABCs of MUMPS: An Introduction for Novice and Intermediate Programmers
3958: 3862: 3833: 3719: 3413: 3408: 3347: 3212: 3098: 2362:"Mission-critical Ajax: Making Test Ordering Easier and Faster at Qu" 1912: 1730: 1074:
to string, integer, or floating-point data types as context requires.
1067: 552:
ISO/IEC 15852:1999, MUMPS Windowing Application Programmers Interface
403: 19:
This article is about the programming language. For the disease, see
2831:
MUMPS documentation, topics, and resources (mixed Czech and English)
661: 3969: 3709: 3704: 3664: 3443: 3303: 3285: 3280: 2403: 2288: 1641: 1270:
performs the subroutine named REPORT. This substitution allows for
908:
in MUMPS terminology). Subscripts are not limited to numerals—any
858: 797: 645: 608: 358: 344: 2172: 2004:. Hewlett-Packard Development Company, L.P. 2012-01-20. p. 32 1618:). Nearly the entire VA hospital system in the United States, the 292:
An advanced feature of the MUMPS language not widely supported in
4022: 3907: 3857: 3852: 3803: 3689: 3649: 3644: 3592: 2991: 2981: 1356:
Set stuff(6)="xyz",stuff(10)=26,stuff(15)=""
634: 589: 457: 445:
Micronetics Design Corporation (1980) with a product line called
313: 282: 2825: 2800: 2720:
Proceedings of the American Medical Informatics Association 1997
2614: 2567: 1898: 1629:
hospital system use MUMPS databases for clinical data tracking.
900:
All variable names which are not prefixed with caret character (
4055: 3975: 3963: 3828: 3659: 3654: 3627: 3622: 3597: 3539: 3318: 3058: 3026: 2910: 1594:
Veterans Affairs' patient Admission/Tracking/Discharge system,
1456: 1195: 929:. In MUMPS terms, "Color" is the 2nd subscript of the variable 497: 482:
developed an implementation for their fault-tolerant computers.
340: 328: 228: 1828: 921:
SET ^Car("Door","Color")="BLUE"
4072: 4067: 4040: 4032: 4002: 3980: 3953: 3897: 3892: 3808: 3694: 3617: 3602: 3557: 3551: 3545: 3533: 3528: 3523: 3517: 3512: 3507: 3501: 3496: 3491: 3486: 3481: 3476: 3471: 3465: 2966: 2956: 2927: 2905: 1615: 909: 604: 332: 254: 247: 20: 382:
sold ISM-11 for the PDP-11 (which was identical to DSM-11).
3937: 3922: 3917: 3912: 3607: 3460: 3455: 3449: 3437: 3337: 3313: 3048: 2723:
O'Kane, K.C., The Mumps Programming Language, Createspace,
2704:
A language for implementing information retrieval software,
1772: 597: 432: 274: 240: 198:
A unique feature of the MUMPS technology is its integrated
160: 140: 1863: 1578:) and aliases each of the variables they wish to protect ( 1463:), which can allow you to access data on remote machines. 796:, though modern implementations may be fully or partially 652:
New on the market since 2022 is MiniM from Eugene Karataev
527:
On December 8, 1995, the fourth revision of the standard (
3295: 3083: 3053: 1283: 814: 485: 2830: 2523: 2319:
The University of Texas Health Science Center at Dallas
627: 569:
line, branding them, on several hardware platforms, as
2672:(in European Spanish) (1st ed.). Barcelona: PPU. 2383:"Sunquest acquires Antrim Corp. - Free Online Library" 327:
Dan Brevik's DEC MUMPS-15 system was adapted to a DEC
2404:"Welcome to M21 -- the database for the 21st Century" 573:. In 1997, InterSystems launched a new product named 2667: 2306: 626:
is offered from the Real Software Company of Rugby,
438:
DataTree Inc. with an Intel PC-based product called
2315:
Software maintainability metrics for MUMPS programs
1632:Other healthcare IT companies using MUMPS include: 223:, and Curt Marble in Dr. Octo Barnett's lab at the 2592: 2040: 813:multiple users, who could connect to it from (non- 96:ANSI X11.1-1995 / December 8, 1995 3197: 2244:"Extreme Database programming with MUMPS Globals" 1530:. All operators have the same precedence and are 453:, VAX/VMS platforms and OpenVMS Alpha platforms. 428:, M/VM on IBM VM/CMS, and M/UX on various Unixes. 4123: 2711:A case study of a Mumps intranet patient record, 2081: 456:Computer Consultants (later renamed MGlobal), a 2745:"M Technology and MUMPS Language FAQ, Part 1/2" 2706:Online Review, Vol 16, No 3, pp 127–137 (1992). 2046: 1941:"M Technology and MUMPS Language FAQ, Part 1/2" 1598:(DHCP) was the recipient of the Computerworld 516:In 1992 the same standard was also adopted as 250:. Octo Barnett and Neil Pappalardo obtained a 3183: 2851: 2743:Trask, Gardner; Diamond, Jon (6 April 1999). 1939:Trask, Gardner; Diamond, Jon (6 April 1999). 2803:by Kevin O'Kane, University of Northern Iowa 2801:Mumps Programming Language Interpreter (GPL) 2742: 2456:"IDEA Turn-Key banking and ERP applications" 1938: 2219:"Trademark Status & Document Retrieval" 1857: 1796:Tweed, Rob; James, George (2 August 2008). 1691:Many reference laboratories, such as DASA, 1121:command is "the remainder of current line." 637:, by Dr. Kevin O'Kane (Professor Emeritus, 548:ISO/IEC 15851:1999, Open MUMPS Interconnect 312:was increasingly common in systems such as 4187:Programming languages with an ISO standard 3240: 3190: 3176: 3124: 2858: 2844: 1795: 1290:means the "third caret-separated piece of 1093:yields 1 if a is less than b, 0 otherwise. 588:license and on October 28, 2005, GT.M for 488:briefly sold a MUMPS implementation named 179:with an integrated transaction processing 2865: 2289:"The Annotated M[UMPS] Standards" 2268:"The Annotated M[UMPS] Standards" 1892: 1789: 702:Learn how and when to remove this message 449:MSM-PC, MSM/386, MS-UNIX, MSM-NT, MSM/VM 269:Some aspects of MUMPS can be traced from 2312: 2029:. Vol. XXI, no. 48. 1987-11-30 1822: 1546:(that is, the boolean negation operator 1014: 472:-based product. They also worked on the 210: 4152:Dynamically typed programming languages 2590: 2548:Walters, Richard F. (15 January 1989). 2547: 1979:. Digital Equipment Corporation. 1982. 1736:Other current implementations include: 1596:Decentralized Hospital Computer Program 1420:repeats until stopped by a terminating 938:numbers. In MUMPS terminology, this is 4124: 2668:Martinez de Carvajal, Ernesto (1993). 1806:from the original on 27 September 2021 1729:mission. This mission aims to map the 1142:sets A to "FOO" if N is less than 10; 800:. Individual "programs" run in memory 600:platforms under a traditional license. 4197:Programming languages created in 1966 3171: 2839: 2709:O'Kane, K.C.; and McColligan, E. E., 2341:"SunQuest emerges from Misys' shadow" 1934: 1932: 1930: 1660:AmeriPath (part of Quest Diagnostics) 986:In contrast to languages in the C or 4106: 3799:Digital Storage Systems Interconnect 2716:O'Kane, K.C.; and McColligan, E.E., 2595:M Programming: A Comprehensive Guide 2591:Walters, Richard F. (19 June 1997). 1977:VAX-11 DSM Language Reference Manual 1799:"MUMPS: the Internet scale database" 1608:John F. Kennedy School of Government 1574:manually creates a new stack level ( 1486:"criticism" or "controversy" section 1470: 742: 684:adding citations to reliable sources 655: 239:The original MUMPS system was, like 3873:Dynamically Redefined Character Set 2343:. Healthcare IT News. 13 March 2008 1194:are created dynamically, stored as 394:Digital Equipment Corporation with 13: 4142:Data-centric programming languages 3819:Synchronous Backplane Interconnect 2718:A Web Based Mumps Virtual Machine, 2540: 2131:"GT.M High end TP database engine" 1927: 1713: 1031:and would be run with the command 1027:write "Hello, World!",! 460:-based company originally created 183:. It was originally developed at 14: 4208: 2736: 2654:Kirsten, Wolfgang, et al. (2003) 2094:Sanchez Computer Associates, Inc. 1526:is an error, and must be written 925:to modify a nested child node of 769:and remove advice or instruction. 4182:Persistent programming languages 4105: 4096: 4095: 4086: 4085: 3152: 3151: 3123: 2385:. Thefreelibrary.com. 1996-11-26 1475: 1011:command to create a code block. 747: 660: 435:for AIX, HP-UX, UNIX and OpenVMS 261:, yet even then, incorporated a 4013:Maintenance Operations Protocol 2599:(2nd ed.). Digital Press. 2552:(2nd ed.). Digital Press. 2516: 2490: 2469: 2448: 2425:"CachĂ©-based Financial Systems" 2417: 2396: 2375: 2354: 2333: 2313:Richmond, Joseph Robin (1984). 2281: 2260: 2236: 2211: 2186: 2165: 2144: 2123: 1429: 1424:. This line prints a table of 930: 926: 914: 901: 880: 671:needs additional citations for 531:) was approved by ANSI, and by 175:, is an imperative, high-level 4172:Massachusetts General Hospital 2364:. Slideshare.net. 5 April 2008 2015: 1991: 1969: 1604:Veterans Health Administration 1436:is successively 6, 10, and 15. 1340:and could be written as such). 1300:$ PIECE("world.std.com",".",2) 1268:SET SUBROU="REPORT" DO @SUBROU 1266:sets the variable ABC to 123. 1040:w "Hello, World!",! 727:Massachusetts General Hospital 243:a few years later, built on a 225:Massachusetts General Hospital 185:Massachusetts General Hospital 1: 4147:Digital Equipment Corporation 3903:Mass Storage Control Protocol 3199:Digital Equipment Corporation 2152:"MUMPS Database and Language" 1783: 1489:may compromise the article's 3993:Digital Federal Credit Union 3215:(founder and CEO, 1957–1992) 1843:10.1016/0010-4809(69)90012-3 1697:Sunquest Information Systems 1684:(formerly Misys Healthcare). 1682:Sunquest Information Systems 1466: 1461:SET ^|"DENVER"|A(1000)="Foo" 520:standard 11756–1992. Use of 7: 4037:Sequence and Batch Language 3998:Dynamic debugging technique 2479:. Realwire.com. 13 May 2010 2175:. Rychannel.com. 2012-11-08 2023:"Two versions of MUMPS out" 1878:10.1056/NEJM197002052820605 1756: 1059:Language features include: 1051: 786: 639:University of Northern Iowa 371:MUMPS Development Committee 73:; 58 years ago 10: 4213: 4132:MUMPS programming language 4028:Record Management Services 3814:Standard Disk Interconnect 3639: 2526:. yottadb.com. 24 May 2024 2270:. 71.174.62.16. 2011-11-29 1763:Profile Scripting Language 1264:SET XYZ="ABC" SET @XYZ=123 895:document-oriented database 736: 618:Released in April 2002 an 205: 18: 4081: 4062:The Ultimate Entrepreneur 3946: 3842: 3789: 3733: 3678: 3566: 3426: 3401: 3346: 3294: 3265: 3249: 3238: 3205: 3119: 2896: 2873: 2115:: CS1 maint: unfit URL ( 1622:, and major parts of the 1327:SET $ P(X,"@",1)="office" 1286:will find this familiar. 732: 192:electronic health records 151: 146: 139: 134: 122: 112: 108: 89: 85: 67: 51: 35: 3725:DIGITAL Command Language 1723:database to support the 1588: 1446: 1416:Here, the argument-less 1407: 1354: 1314: 1288:$ PIECE(STRINGVAR,"^",3) 1223: 1182: 1167: 1038: 1025: 919: 558: 507: 385: 4051:Systems Research Center 4046:System Reference Manual 2816:M Links at Hardhats.org 2249:. Gradvs1.mjgateway.com 1558:respectively. Periods ( 1066:There is one universal 1021:"Hello, World!" program 861:, early BASICs such as 819:video display terminals 714: 215:MUMPS was developed by 4018:On-line Debugging Tool 1070:, which is implicitly 959:comma-separated values 915:^Car("Door") 25:Mumps (disambiguation) 23:. For other uses, see 2867:Programming languages 1624:Department of Defense 1620:Indian Health Service 1144:DO:N>100 PRINTERR, 1015:Hello, World! example 870:hierarchical database 263:hierarchical database 211:1960s-1970s - Genesis 4008:Local Area Transport 3766:National Replacement 1749:Reference Standard M 1672:Coventry Health Care 1349:address of a value.) 1329:causes X to become " 767:rewrite this section 680:improve this article 259:interpreted language 177:programming language 16:Programming language 4192:Scripting languages 3868:Digital Linear Tape 3227:(VP of engineering) 2731:, 120 pages (2010). 2498:"InterSystems Iris" 1140:SET:N<10 A="FOO" 1023:in MUMPS might be: 970:IF 20<"30 DUCKS" 310:mainframe computers 252:backward compatible 68:First appeared 32: 4157:Health informatics 4091:Computers template 2111:cite press release 2053:"DSM Announcement" 2051:(2 January 1995). 2047:Grabscheid, Paul; 1778:InterSystems CachĂ© 1768:CachĂ© ObjectScript 1721:InterSystems CachĂ© 1612:Harvard University 1498:through discussion 1396:$ Order(stuff(15)) 1388:$ Order(stuff(10)) 1364:$ Order(stuff("")) 1258:in many contexts, 1214:(deprecated), and 890:unscoped variables 828:(exit program) as 622:derivative called 181:key–value database 157:CachĂ© ObjectScript 30: 4119: 4118: 3422: 3421: 3165: 3164: 3147:Non-English-based 2775:"comp.lang.mumps" 2670:El Lenguaje MUMPS 2641:Lewkowicz, John. 2606:978-1-55558-167-1 2524:"YottaDB website" 2154:. Sourceforge.net 2133:. Sourceforge.net 1831:Comput Biomed Res 1693:Quest Diagnostics 1600:Smithsonian Award 1519: 1518: 1380:$ Order(stuff(8)) 1372:$ Order(stuff(6)) 1336:is equivalent to 784: 783: 760:a manual or guide 712: 711: 704: 541:published by ANSI 539:, which was also 406:in two variants: 367:MUMPS Users Group 348:PC12 minicomputer 337:Data General Nova 298:computer hardware 294:operating systems 221:Robert A. Greenes 200:database language 166: 165: 114:Typing discipline 62:Robert A. Greenes 4204: 4109: 4108: 4099: 4098: 4089: 4088: 3883:Flip-Chip module 3776:Special Graphics 3263: 3262: 3244: 3233:(CEO, 1992–1998) 3192: 3185: 3178: 3169: 3168: 3155: 3154: 3127: 3126: 2860: 2853: 2846: 2837: 2836: 2797: 2791: 2789: 2770: 2768: 2766: 2699: 2638: 2635:Internet Archive 2598: 2587: 2535: 2534: 2532: 2531: 2520: 2514: 2513: 2511: 2510: 2494: 2488: 2487: 2485: 2484: 2473: 2467: 2466: 2464: 2463: 2452: 2446: 2445: 2443: 2442: 2433:. Archived from 2421: 2415: 2414: 2412: 2411: 2400: 2394: 2393: 2391: 2390: 2379: 2373: 2372: 2370: 2369: 2358: 2352: 2351: 2349: 2348: 2337: 2331: 2330: 2310: 2304: 2303: 2301: 2299: 2285: 2279: 2278: 2276: 2275: 2264: 2258: 2257: 2255: 2254: 2248: 2240: 2234: 2233: 2231: 2229: 2215: 2209: 2208: 2206: 2205: 2190: 2184: 2183: 2181: 2180: 2169: 2163: 2162: 2160: 2159: 2148: 2142: 2141: 2139: 2138: 2127: 2121: 2120: 2114: 2106: 2104: 2102: 2085: 2079: 2078: 2076: 2074: 2044: 2038: 2037: 2035: 2034: 2019: 2013: 2012: 2010: 2009: 2003: 1995: 1989: 1988: 1973: 1967: 1966: 1964: 1962: 1936: 1925: 1924: 1913:10.1148/92.4.709 1896: 1890: 1889: 1861: 1855: 1854: 1826: 1820: 1819: 1813: 1811: 1801: 1793: 1581: 1577: 1565: 1561: 1557: 1553: 1549: 1545: 1541: 1537: 1532:left-associative 1529: 1525: 1514: 1511: 1505: 1479: 1478: 1471: 1462: 1435: 1431: 1427: 1423: 1419: 1401: 1397: 1393: 1389: 1385: 1381: 1377: 1373: 1369: 1365: 1339: 1335: 1328: 1305: 1301: 1293: 1289: 1269: 1265: 1261: 1249: 1217: 1213: 1209: 1205: 1145: 1141: 1135:Postconditionals 1126:Case sensitivity 1120: 1116: 1112: 1092: 1086: 1047: 1034: 1010: 1006: 1002: 998: 994: 975: 972:is evaluated as 971: 952:network database 932: 928: 916: 903: 882: 855: 851: 847: 843: 839: 835: 831: 827: 779: 776: 770: 758:is written like 751: 750: 743: 707: 700: 696: 693: 687: 664: 656: 480:Tandem Computers 271:RAND Corporation 103: 101: 81: 79: 74: 60:, Curt Marble, 53:Designed by 33: 29: 4212: 4211: 4207: 4206: 4205: 4203: 4202: 4201: 4137:Data processing 4122: 4121: 4120: 4115: 4077: 3942: 3838: 3785: 3745:(Multinational) 3729: 3681: 3674: 3569: 3562: 3429: 3418: 3397: 3342: 3290: 3256: 3252: 3251:Instruction set 3245: 3236: 3219:Harlan Anderson 3201: 3196: 3166: 3161: 3115: 2892: 2869: 2864: 2787: 2785: 2783:comp.lang.mumps 2773: 2764: 2762: 2753:comp.lang.mumps 2739: 2734: 2680: 2607: 2560: 2543: 2541:Further reading 2538: 2529: 2527: 2522: 2521: 2517: 2508: 2506: 2496: 2495: 2491: 2482: 2480: 2475: 2474: 2470: 2461: 2459: 2454: 2453: 2449: 2440: 2438: 2423: 2422: 2418: 2409: 2407: 2402: 2401: 2397: 2388: 2386: 2381: 2380: 2376: 2367: 2365: 2360: 2359: 2355: 2346: 2344: 2339: 2338: 2334: 2311: 2307: 2297: 2295: 2287: 2286: 2282: 2273: 2271: 2266: 2265: 2261: 2252: 2250: 2246: 2242: 2241: 2237: 2227: 2225: 2217: 2216: 2212: 2203: 2201: 2192: 2191: 2187: 2178: 2176: 2171: 2170: 2166: 2157: 2155: 2150: 2149: 2145: 2136: 2134: 2129: 2128: 2124: 2108: 2107: 2100: 2098: 2087: 2086: 2082: 2072: 2070: 2061:comp.lang.mumps 2045: 2041: 2032: 2030: 2021: 2020: 2016: 2007: 2005: 2001: 1997: 1996: 1992: 1975: 1974: 1970: 1960: 1958: 1949:comp.lang.mumps 1937: 1928: 1897: 1893: 1862: 1858: 1837:(Oct): 469–85. 1827: 1823: 1809: 1807: 1794: 1790: 1786: 1759: 1716: 1714:Implementations 1704:Bank of England 1591: 1579: 1575: 1563: 1559: 1555: 1551: 1547: 1543: 1539: 1535: 1527: 1523: 1515: 1509: 1506: 1495: 1484:This article's 1480: 1476: 1469: 1460: 1451: 1450: 1433: 1425: 1421: 1417: 1411: 1410: 1399: 1395: 1391: 1387: 1383: 1379: 1375: 1371: 1367: 1363: 1358: 1357: 1337: 1333: 1326: 1321: 1320: 1303: 1299: 1291: 1287: 1272:lazy evaluation 1267: 1263: 1259: 1247: 1230: 1229: 1215: 1211: 1207: 1203: 1186: 1185: 1172: 1171: 1143: 1139: 1118: 1114: 1110: 1090: 1080: 1054: 1045: 1042: 1041: 1032: 1029: 1028: 1017: 1008: 1004: 1000: 996: 992: 973: 969: 940:canonical order 935:object-oriented 923: 922: 853: 849: 845: 841: 837: 833: 829: 825: 789: 780: 774: 771: 764: 752: 748: 741: 735: 717: 708: 697: 691: 688: 677: 665: 561: 510: 494:virtual machine 492:which ran as a 408:DSM for OpenVMS 388: 300:of the era was 217:Neil Pappalardo 213: 208: 104: 99: 97: 77: 75: 72: 58:Neil Pappalardo 28: 17: 12: 11: 5: 4210: 4200: 4199: 4194: 4189: 4184: 4179: 4174: 4169: 4164: 4159: 4154: 4149: 4144: 4139: 4134: 4117: 4116: 4114: 4113: 4103: 4093: 4082: 4079: 4078: 4076: 4075: 4070: 4065: 4058: 4053: 4048: 4043: 4038: 4035: 4030: 4025: 4020: 4015: 4010: 4005: 4000: 3995: 3990: 3989: 3988: 3978: 3973: 3966: 3961: 3956: 3950: 3948: 3947:Related topics 3944: 3943: 3941: 3940: 3935: 3930: 3925: 3920: 3915: 3910: 3905: 3900: 3895: 3890: 3885: 3880: 3875: 3870: 3865: 3860: 3855: 3849: 3847: 3840: 3839: 3837: 3836: 3831: 3826: 3821: 3816: 3811: 3806: 3801: 3795: 3793: 3787: 3786: 3784: 3783: 3778: 3773: 3768: 3763: 3758: 3755:Code page 1288 3752: 3749:Code page 1287 3746: 3743:Code page 1100 3739: 3737: 3735:Character sets 3731: 3730: 3728: 3727: 3722: 3717: 3712: 3707: 3702: 3697: 3692: 3686: 3684: 3676: 3675: 3673: 3672: 3667: 3662: 3657: 3652: 3647: 3642: 3637: 3636: 3635: 3625: 3620: 3615: 3610: 3605: 3600: 3595: 3590: 3585: 3580: 3574: 3572: 3564: 3563: 3561: 3560: 3555: 3549: 3543: 3537: 3531: 3526: 3521: 3515: 3510: 3505: 3499: 3494: 3489: 3484: 3479: 3474: 3469: 3463: 3458: 3453: 3447: 3441: 3434: 3432: 3424: 3423: 3420: 3419: 3417: 3416: 3411: 3405: 3403: 3399: 3398: 3396: 3395: 3390: 3385: 3380: 3370: 3369: 3368: 3363: 3352: 3350: 3344: 3343: 3341: 3340: 3335: 3334: 3333: 3323: 3322: 3321: 3311: 3309:MicroVAX 78032 3306: 3300: 3298: 3292: 3291: 3289: 3288: 3283: 3278: 3275: 3271: 3269: 3260: 3247: 3246: 3239: 3237: 3235: 3234: 3228: 3222: 3216: 3209: 3207: 3203: 3202: 3195: 3194: 3187: 3180: 3172: 3163: 3162: 3160: 3159: 3149: 3144: 3139: 3134: 3120: 3117: 3116: 3114: 3113: 3106: 3101: 3096: 3091: 3086: 3081: 3076: 3071: 3066: 3061: 3056: 3051: 3046: 3045: 3044: 3034: 3029: 3024: 3019: 3014: 3009: 3004: 2999: 2994: 2989: 2984: 2979: 2974: 2969: 2964: 2959: 2954: 2949: 2948: 2947: 2946: 2945: 2940: 2925: 2920: 2915: 2914: 2913: 2903: 2897: 2894: 2893: 2891: 2890: 2885: 2880: 2874: 2871: 2870: 2863: 2862: 2855: 2848: 2840: 2834: 2833: 2828: 2823: 2818: 2813: 2804: 2798: 2771: 2738: 2737:External links 2735: 2733: 2732: 2721: 2714: 2707: 2702:O'Kane, K.C.; 2700: 2679:978-8447701254 2678: 2665: 2652: 2639: 2605: 2588: 2559:978-1555580179 2558: 2544: 2542: 2539: 2537: 2536: 2515: 2489: 2468: 2447: 2416: 2395: 2374: 2353: 2332: 2305: 2280: 2259: 2235: 2223:tsdr.uspto.gov 2210: 2185: 2164: 2143: 2122: 2080: 2039: 2014: 1990: 1968: 1926: 1891: 1856: 1821: 1787: 1785: 1782: 1781: 1780: 1775: 1770: 1765: 1758: 1755: 1754: 1753: 1750: 1747: 1744: 1741: 1715: 1712: 1689: 1688: 1685: 1679: 1674: 1669: 1664: 1661: 1658: 1644: 1639: 1590: 1587: 1517: 1516: 1483: 1481: 1474: 1468: 1465: 1453: 1452: 1447: 1443: 1442: 1438: 1437: 1413: 1412: 1408: 1404: 1403: 1360: 1359: 1355: 1351: 1350: 1346: 1345:Order function 1342: 1341: 1323: 1322: 1315: 1312: 1308: 1307: 1296: 1295: 1280: 1279:Piece function 1276: 1275: 1256: 1252: 1251: 1245: 1241: 1240: 1236: 1232: 1231: 1224: 1220: 1219: 1192: 1188: 1187: 1183: 1179: 1178: 1174: 1173: 1168: 1164: 1163: 1160: 1159:Reserved words 1156: 1155: 1152: 1148: 1147: 1136: 1132: 1131: 1127: 1123: 1122: 1107: 1103: 1102: 1099: 1095: 1094: 1087: 1076: 1075: 1064: 1053: 1050: 1039: 1026: 1016: 1013: 920: 788: 785: 782: 781: 755: 753: 746: 737:Main article: 734: 731: 716: 713: 710: 709: 668: 666: 659: 654: 653: 650: 642: 631: 616: 601: 578: 560: 557: 556: 555: 544: 537:ISO 11756:1999 525: 514: 509: 506: 502: 501: 483: 477: 454: 443: 436: 429: 415: 412:DSM for Ultrix 387: 384: 212: 209: 207: 204: 164: 163: 149: 148: 144: 143: 137: 136: 132: 131: 129:Cross-platform 126: 120: 119: 116: 110: 109: 106: 105: 95: 93: 91:Stable release 87: 86: 83: 82: 69: 65: 64: 55: 49: 48: 39: 15: 9: 6: 4: 3: 2: 4209: 4198: 4195: 4193: 4190: 4188: 4185: 4183: 4180: 4178: 4175: 4173: 4170: 4168: 4167:ISO standards 4165: 4163: 4162:IEC standards 4160: 4158: 4155: 4153: 4150: 4148: 4145: 4143: 4140: 4138: 4135: 4133: 4130: 4129: 4127: 4112: 4104: 4102: 4094: 4092: 4084: 4083: 4080: 4074: 4071: 4069: 4066: 4064: 4063: 4059: 4057: 4054: 4052: 4049: 4047: 4044: 4042: 4039: 4036: 4034: 4031: 4029: 4026: 4024: 4021: 4019: 4016: 4014: 4011: 4009: 4006: 4004: 4001: 3999: 3996: 3994: 3991: 3987: 3984: 3983: 3982: 3979: 3977: 3974: 3972: 3971: 3967: 3965: 3962: 3960: 3957: 3955: 3952: 3951: 3949: 3945: 3939: 3936: 3934: 3933:System Module 3931: 3929: 3926: 3924: 3921: 3919: 3916: 3914: 3911: 3909: 3906: 3904: 3901: 3899: 3896: 3894: 3891: 3889: 3886: 3884: 3881: 3879: 3876: 3874: 3871: 3869: 3866: 3864: 3861: 3859: 3856: 3854: 3851: 3850: 3848: 3846: 3841: 3835: 3832: 3830: 3827: 3825: 3822: 3820: 3817: 3815: 3812: 3810: 3807: 3805: 3802: 3800: 3797: 3796: 3794: 3792: 3791:Bus standards 3788: 3782: 3779: 3777: 3774: 3772: 3769: 3767: 3764: 3762: 3759: 3756: 3753: 3750: 3747: 3744: 3741: 3740: 3738: 3736: 3732: 3726: 3723: 3721: 3718: 3716: 3713: 3711: 3708: 3706: 3703: 3701: 3698: 3696: 3693: 3691: 3688: 3687: 3685: 3683: 3677: 3671: 3668: 3666: 3663: 3661: 3658: 3656: 3653: 3651: 3648: 3646: 3643: 3641: 3638: 3634: 3631: 3630: 3629: 3626: 3624: 3621: 3619: 3616: 3614: 3611: 3609: 3606: 3604: 3601: 3599: 3596: 3594: 3591: 3589: 3586: 3584: 3581: 3579: 3576: 3575: 3573: 3571: 3565: 3559: 3556: 3553: 3550: 3547: 3544: 3541: 3538: 3535: 3532: 3530: 3527: 3525: 3522: 3519: 3516: 3514: 3511: 3509: 3506: 3503: 3500: 3498: 3495: 3493: 3490: 3488: 3485: 3483: 3480: 3478: 3475: 3473: 3470: 3467: 3464: 3462: 3459: 3457: 3454: 3451: 3448: 3445: 3442: 3439: 3436: 3435: 3433: 3431: 3425: 3415: 3412: 3410: 3407: 3406: 3404: 3400: 3394: 3391: 3389: 3386: 3384: 3381: 3378: 3374: 3371: 3367: 3364: 3362: 3359: 3358: 3357: 3354: 3353: 3351: 3349: 3345: 3339: 3336: 3332: 3329: 3328: 3327: 3324: 3320: 3317: 3316: 3315: 3312: 3310: 3307: 3305: 3302: 3301: 3299: 3297: 3293: 3287: 3284: 3282: 3279: 3276: 3273: 3272: 3270: 3268: 3264: 3261: 3259: 3254: 3253:architectures 3248: 3243: 3232: 3231:Robert Palmer 3229: 3226: 3223: 3220: 3217: 3214: 3211: 3210: 3208: 3204: 3200: 3193: 3188: 3186: 3181: 3179: 3174: 3173: 3170: 3158: 3150: 3148: 3145: 3143: 3140: 3138: 3135: 3133: 3130: 3122: 3121: 3118: 3112: 3111: 3107: 3105: 3102: 3100: 3097: 3095: 3092: 3090: 3087: 3085: 3082: 3080: 3077: 3075: 3072: 3070: 3067: 3065: 3062: 3060: 3057: 3055: 3052: 3050: 3047: 3043: 3042:Object Pascal 3040: 3039: 3038: 3035: 3033: 3030: 3028: 3025: 3023: 3020: 3018: 3015: 3013: 3010: 3008: 3005: 3003: 3000: 2998: 2995: 2993: 2990: 2988: 2985: 2983: 2980: 2978: 2975: 2973: 2970: 2968: 2965: 2963: 2960: 2958: 2955: 2953: 2950: 2944: 2941: 2939: 2936: 2935: 2934: 2931: 2930: 2929: 2926: 2924: 2921: 2919: 2916: 2912: 2909: 2908: 2907: 2904: 2902: 2899: 2898: 2895: 2889: 2886: 2884: 2881: 2879: 2876: 2875: 2872: 2868: 2861: 2856: 2854: 2849: 2847: 2842: 2841: 2838: 2832: 2829: 2827: 2824: 2822: 2819: 2817: 2814: 2812: 2808: 2805: 2802: 2799: 2795: 2794:Google Groups 2784: 2780: 2776: 2772: 2761: 2758: 2754: 2750: 2746: 2741: 2740: 2730: 2729:1-4382-4338-3 2726: 2722: 2719: 2715: 2712: 2708: 2705: 2701: 2697: 2693: 2689: 2685: 2681: 2675: 2671: 2666: 2664: 2663:3-540-00960-4 2660: 2657: 2653: 2651: 2650:0-13-162125-4 2647: 2644: 2640: 2636: 2632: 2628: 2624: 2620: 2616: 2612: 2608: 2602: 2597: 2596: 2589: 2585: 2581: 2577: 2573: 2569: 2565: 2561: 2555: 2551: 2546: 2545: 2525: 2519: 2505: 2504: 2499: 2493: 2478: 2472: 2457: 2451: 2437:on 2013-06-02 2436: 2432: 2431: 2426: 2420: 2405: 2399: 2384: 2378: 2363: 2357: 2342: 2336: 2328: 2324: 2320: 2316: 2309: 2294: 2290: 2284: 2269: 2263: 2245: 2239: 2224: 2220: 2214: 2199: 2195: 2189: 2174: 2168: 2153: 2147: 2132: 2126: 2118: 2112: 2096: 2095: 2090: 2084: 2069: 2066: 2062: 2058: 2054: 2050: 2043: 2028: 2027:Computerworld 2024: 2018: 2000: 1994: 1986: 1982: 1978: 1972: 1957: 1954: 1950: 1946: 1942: 1935: 1933: 1931: 1922: 1918: 1914: 1910: 1907:(4): 709–13. 1906: 1902: 1895: 1887: 1883: 1879: 1875: 1872:(6): 307–15. 1871: 1867: 1860: 1852: 1848: 1844: 1840: 1836: 1832: 1825: 1817: 1805: 1800: 1792: 1788: 1779: 1776: 1774: 1771: 1769: 1766: 1764: 1761: 1760: 1751: 1748: 1745: 1742: 1739: 1738: 1737: 1734: 1732: 1728: 1727: 1722: 1711: 1709: 1708:Barclays Bank 1705: 1700: 1698: 1694: 1686: 1683: 1680: 1678: 1675: 1673: 1670: 1668: 1665: 1662: 1659: 1656: 1652: 1648: 1647:GE Healthcare 1645: 1643: 1640: 1638: 1635: 1634: 1633: 1630: 1628: 1625: 1621: 1617: 1613: 1609: 1605: 1601: 1597: 1586: 1583: 1572: 1567: 1533: 1513: 1510:February 2022 1503: 1499: 1493: 1492: 1487: 1482: 1473: 1472: 1464: 1458: 1445: 1444: 1440: 1439: 1415: 1414: 1406: 1405: 1362: 1361: 1353: 1352: 1347: 1344: 1343: 1332:" (note that 1331: 1325: 1324: 1318: 1313: 1310: 1309: 1298: 1297: 1285: 1281: 1278: 1277: 1273: 1257: 1254: 1253: 1246: 1244:Global arrays 1243: 1242: 1237: 1234: 1233: 1227: 1222: 1221: 1201: 1197: 1193: 1190: 1189: 1181: 1180: 1176: 1175: 1166: 1165: 1161: 1158: 1157: 1153: 1150: 1149: 1137: 1134: 1133: 1128: 1125: 1124: 1108: 1105: 1104: 1100: 1097: 1096: 1088: 1084: 1078: 1077: 1073: 1069: 1065: 1062: 1061: 1060: 1057: 1049: 1037: 1024: 1022: 1012: 989: 984: 982: 977: 967: 962: 960: 955: 953: 949: 945: 941: 936: 918: 911: 907: 898: 896: 891: 886: 878: 877:sparse arrays 875: 871: 866: 864: 860: 822: 820: 816: 811: 807: 803: 799: 795: 778: 775:February 2022 768: 763: 761: 756:This section 754: 745: 744: 740: 730: 728: 724: 721: 706: 703: 695: 685: 681: 675: 674: 669:This section 667: 663: 658: 657: 651: 647: 643: 640: 636: 632: 629: 625: 621: 617: 614: 610: 606: 602: 599: 595: 591: 587: 583: 579: 576: 572: 567: 564:By 1998, the 563: 562: 553: 549: 545: 542: 538: 534: 530: 526: 523: 519: 515: 512: 511: 505: 499: 495: 491: 487: 484: 481: 478: 475: 471: 467: 463: 459: 455: 452: 448: 444: 441: 437: 434: 430: 427: 423: 419: 416: 413: 409: 405: 401: 397: 393: 392: 391: 383: 381: 376: 372: 368: 364: 360: 356: 351: 349: 346: 342: 338: 334: 330: 325: 323: 317: 315: 311: 307: 303: 299: 295: 290: 288: 284: 280: 276: 272: 267: 264: 260: 256: 253: 249: 246: 242: 237: 235: 230: 226: 222: 218: 203: 201: 196: 193: 188: 186: 182: 178: 174: 170: 162: 158: 154: 150: 145: 142: 138: 135:Influenced by 133: 130: 127: 125: 121: 117: 115: 111: 107: 94: 92: 88: 84: 70: 66: 63: 59: 56: 54: 50: 47: 43: 40: 38: 34: 26: 22: 4060: 3968: 3928:Star coupler 3824:TURBOchannel 3714: 3670:Digital UNIX 3221:(co-founder) 3142:Generational 3132:Alphabetical 3128: 3108: 2933:Visual Basic 2792:– via 2786:. Retrieved 2763:. Retrieved 2717: 2710: 2703: 2669: 2655: 2642: 2633:– via 2594: 2549: 2528:. Retrieved 2518: 2507:. Retrieved 2503:InterSystems 2501: 2492: 2481:. Retrieved 2471: 2460:. Retrieved 2450: 2439:. Retrieved 2435:the original 2430:InterSystems 2428: 2419: 2408:. Retrieved 2406:. M21.uk.com 2398: 2387:. Retrieved 2377: 2366:. Retrieved 2356: 2345:. Retrieved 2335: 2314: 2308: 2296:. Retrieved 2293:71.174.62.16 2292: 2283: 2272:. Retrieved 2262: 2251:. Retrieved 2238: 2226:. Retrieved 2222: 2213: 2202:. Retrieved 2197: 2188: 2177:. Retrieved 2167: 2156:. Retrieved 2146: 2135:. Retrieved 2125: 2099:. Retrieved 2092: 2083: 2071:. Retrieved 2049:Ragon, Terry 2042: 2031:. Retrieved 2026: 2017: 2006:. Retrieved 1993: 1976: 1971: 1959:. Retrieved 1904: 1900: 1894: 1869: 1866:N Engl J Med 1865: 1859: 1834: 1830: 1824: 1814:– via 1808:. Retrieved 1791: 1735: 1725: 1717: 1701: 1690: 1663:Care Centric 1631: 1592: 1584: 1568: 1520: 1507: 1488: 1454: 1316:SET X=" 1235:Local arrays 1151:Abbreviation 1098:Declarations 1082: 1058: 1055: 1043: 1030: 1018: 985: 978: 965: 963: 956: 939: 924: 905: 899: 884: 867: 823: 809: 805: 802:"partitions" 790: 772: 765:Please help 757: 739:MUMPS syntax 725: 722: 718: 698: 692:October 2018 689: 678:Please help 673:verification 670: 623: 619: 570: 521: 503: 489: 473: 465: 461: 446: 439: 426:Data General 421: 418:InterSystems 411: 407: 399: 395: 389: 380:InterSystems 370: 366: 352: 326: 318: 306:time-sharing 302:multitasking 291: 268: 238: 214: 197: 189: 172: 168: 167: 3680:Programming 3393:Alpha 21464 3388:Alpha 21364 3383:Alpha 21264 3373:Alpha 21164 3356:Alpha 21064 3225:Gordon Bell 3137:Categorical 2811:SourceForge 2298:26 February 2228:26 February 2198:www.iso.org 2173:"Mumps/Mii" 1699:) in 2001. 1677:EMIS Health 1651:IDX Systems 1255:Indirection 1083:truthvalues 872:made up of 854:$ Translate 794:interpreted 535:in 1999 as 339:and on DEC 304:. Although 4126:Categories 3986:HP-Interex 3409:MicroPRISM 3258:processors 3206:Key people 3002:JavaScript 2878:Comparison 2788:25 October 2765:25 October 2530:2023-05-24 2509:2021-03-18 2483:2013-08-13 2462:2013-08-13 2441:2013-08-13 2410:2013-08-13 2389:2013-08-12 2368:2013-08-12 2347:2013-08-12 2274:2013-08-12 2253:2013-08-13 2204:2024-04-18 2179:2013-08-12 2158:2013-08-12 2137:2013-08-12 2073:25 October 2033:2022-07-09 2008:2014-05-17 1961:25 October 1816:SlideShare 1810:25 October 1784:References 1667:Allscripts 1655:Centricity 1649:(formerly 1491:neutrality 1248:^abc, ^def 1063:Data types 976:in MUMPS. 954:features. 906:subscripts 874:persistent 863:Tiny BASIC 840:function, 594:Tru64 UNIX 566:middleware 529:X11.1-1995 496:on top of 322:C language 287:STRINGCOMP 234:skunkworks 232:internal " 147:Influenced 100:1995-12-08 46:procedural 42:Imperative 3959:AltaVista 3863:DECwriter 3834:VAXBI bus 3781:Technical 3757:(Turkish) 3720:VAX MACRO 3682:languages 3568:Operating 3450:VT50/VT52 3430:terminals 3414:StrongARM 3213:Ken Olsen 3099:Smalltalk 2779:Newsgroup 2749:Newsgroup 2696:40214570M 2688:435380102 2458:. Idea.cz 2101:12 August 2057:Newsgroup 1945:Newsgroup 1901:Radiology 1731:Milky Way 1580:. new x,y 1502:talk page 1467:Criticism 1292:STRINGVAR 1085:in MUMPS) 1079:Booleans 1068:data type 1033:do ^hello 1019:A simple 981:atomicity 848:command, 815:graphical 649:MEDITECH. 410:, and as 227:(MGH) in 4101:Category 3970:CPU Wars 3888:Gold key 3845:hardware 3771:RADIX 50 3710:MACRO-11 3705:MACRO-10 3428:Computer 3157:Category 2923:Assembly 2883:Timeline 2623:78593848 2615:97006513 2584:2055247M 2576:18989618 2568:88033522 2327:13285529 1985:29217964 1851:11697375 1804:Archived 1757:See also 1687:Netsmart 1642:MEDITECH 1430:stuff(i) 1081:(called 1052:Features 859:FOCAL-69 798:compiled 787:Overview 646:MEDITECH 635:Mumps/II 609:Mac OS X 490:MUMPS/VM 466:MacMUMPS 442:. (1982) 359:MEDITECH 345:Artronix 343:and the 277:through 118:Typeless 37:Paradigm 4111:Commons 4023:PALcode 3908:PALcode 3878:Firefly 3858:DECtape 3853:DECtalk 3804:Massbus 3751:(Greek) 3690:BASIC-8 3650:VAX/VMS 3645:TOPS-20 3593:TOPS-10 3570:systems 3377:21164PC 3110:more... 3089:Scratch 2992:Haskell 2982:Fortran 2938:classic 2888:History 2781::  2757:Usenet: 2751::  2631:661091M 2317:(PhD). 2065:Usenet: 2059::  1953:Usenet: 1947::  1921:5767748 1886:5410816 1743:YottaDB 1571:scoping 1500:on the 1398:yields 1390:yields 1382:yields 1374:yields 1366:yields 1338:$ PIECE 1319:" 1302:yields 1228:" 1216:$ QUERY 1208:$ ORDER 1196:B-trees 1130:labels. 1072:coerced 966:coerced 885:Globals 838:$ Piece 613:Windows 590:OpenVMS 458:Houston 400:VAX DSM 314:Multics 283:TELCOMP 206:History 98: ( 76: ( 4177:PDP-11 4056:TD/SMP 3976:DECnet 3964:Compaq 3843:Other 3829:Unibus 3761:Hebrew 3660:Ultrix 3655:VAXELN 3640:DSM-11 3628:RSX-11 3623:RSTS/E 3613:DOS-11 3598:RSX-15 3583:4K DMS 3578:DECsys 3554:(1994) 3548:(1993) 3542:(1990) 3540:VT1000 3536:(1990) 3520:(1987) 3504:(1983) 3468:(1978) 3452:(1975) 3446:(1972) 3440:(1970) 3331:Mariah 3274:LSI-11 3267:PDP-11 3129:Lists: 3064:Python 3059:Prolog 3037:Pascal 3027:MATLAB 3012:Kotlin 2972:Erlang 2911:Simula 2759:  2727:  2694:  2686:  2676:  2661:  2648:  2629:  2621:  2613:  2603:  2582:  2574:  2566:  2556:  2325:  2200:. 2020 2067:  1983:  1955:  1919:  1884:  1849:  1569:MUMPS 1564:$ test 1536:2+3*10 1457:MS-DOS 1432:where 1212:$ NEXT 1204:$ DATA 1200:sparse 1198:, are 1191:Arrays 1117:, and 1091:a<b 944:arrays 733:Design 611:, and 498:VM/370 470:Mac OS 451:fo IBM 341:PDP-11 335:, the 329:PDP-15 296:or in 229:Boston 4073:WPS-8 4068:VT640 4041:Sixel 4033:ReGIS 4003:FX!32 3981:DECUS 3954:AdvFS 3898:LK421 3893:LK201 3809:Q-Bus 3715:MUMPS 3700:FOCAL 3695:DIBOL 3618:RT-11 3603:TSS/8 3558:VT525 3552:VT520 3546:VT510 3534:VT420 3529:VT340 3524:VT330 3518:VT320 3513:VT241 3508:VT240 3502:VT220 3497:VT180 3492:VT131 3487:VT105 3482:VT103 3477:VT102 3472:VT101 3466:VT100 3402:Other 3366:21068 3361:21066 3348:Alpha 3326:Rigel 3104:Swift 3094:Shell 3007:Julia 2977:Forth 2967:COBOL 2928:BASIC 2906:ALGOL 2807:MUMPS 2247:(PDF) 2002:(PDF) 1752:FreeM 1746:MiniM 1616:VistA 1589:Users 1556:>= 1552:<= 1544:'< 1540:'> 1524:2 + 3 1311:After 1106:Lines 1044:The ' 988:Wirth 910:ASCII 808:ulti- 605:Linux 575:CachĂ© 571:OpenM 559:2000s 508:1990s 420:with 404:Alpha 386:1980s 333:PDP-8 255:PDP-9 248:PDP-7 169:MUMPS 31:MUMPS 21:Mumps 3938:TU81 3923:RL02 3918:RK05 3913:RA90 3665:MICA 3608:OS/8 3461:VT62 3456:VT55 3444:GT40 3438:VT05 3338:NVAX 3314:CVAX 3304:V-11 3286:J-11 3281:T-11 3277:F-11 3079:Rust 3074:Ruby 3049:Perl 3017:Lisp 2997:Java 2943:.NET 2790:2022 2767:2022 2725:ISBN 2684:OCLC 2674:ISBN 2659:ISBN 2646:ISBN 2619:OCLC 2611:LCCN 2601:ISBN 2572:OCLC 2564:LCCN 2554:ISBN 2323:OCLC 2300:2018 2230:2018 2117:link 2103:2013 2075:2022 1981:OCLC 1963:2022 1917:PMID 1882:PMID 1847:PMID 1812:2022 1773:GT.M 1726:Gaia 1706:and 1653:and 1637:Epic 1627:CHCS 1554:and 1542:and 1428:and 1422:Quit 1260:@VBL 1115:ELSE 1001:ELSE 993:ELSE 974:TRUE 948:DBMS 931:^Car 927:^Car 850:$ TR 846:Read 826:Quit 715:Name 598:UNIX 592:and 550:and 468:, a 462:CCSM 447:MSM. 433:GT.M 375:ANSI 369:and 363:MIIS 285:and 275:JOSS 241:Unix 161:GT.M 141:JOSS 78:1966 71:1966 3633:IAS 3588:COS 3319:SOC 3296:VAX 3084:SQL 3054:PHP 3022:Lua 2957:C++ 2918:APL 2901:Ada 2809:on 1909:doi 1874:doi 1870:282 1839:doi 1740:M21 1610:at 1528:2+3 1418:For 1334:$ P 1304:std 1284:awk 1119:FOR 1005:FOR 1003:or 834:$ P 682:by 624:M21 620:MSM 586:GPL 582:FIS 533:ISO 518:ISO 486:IBM 474:MGM 440:DTM 422:ISM 396:DSM 361:'s 355:DEC 308:on 281:'s 279:BBN 273:'s 245:DEC 153:PSL 4128:: 3032:ML 2987:Go 2962:C# 2777:. 2755:. 2747:. 2692:OL 2690:. 2682:. 2627:OL 2625:. 2617:. 2609:. 2580:OL 2578:. 2570:. 2562:. 2500:. 2427:. 2321:. 2291:. 2221:. 2196:. 2113:}} 2109:{{ 2091:. 2063:. 2055:. 2025:. 1951:. 1943:. 1929:^ 1915:. 1905:92 1903:. 1880:. 1868:. 1845:. 1833:. 1802:. 1710:. 1576:do 1566:. 1400:"" 1394:, 1392:15 1386:, 1384:10 1378:, 1376:10 1370:, 1210:, 1206:, 1113:, 1111:IF 1046:,! 1009:DO 999:, 997:IF 897:. 852:= 844:= 836:= 832:, 821:. 817:) 628:UK 607:, 219:, 159:, 155:, 124:OS 44:, 3379:) 3375:( 3255:, 3191:e 3184:t 3177:v 3069:R 2952:C 2859:e 2852:t 2845:v 2796:. 2769:. 2698:. 2637:. 2586:. 2533:. 2512:. 2486:. 2465:. 2444:. 2413:. 2392:. 2371:. 2350:. 2329:. 2302:. 2277:. 2256:. 2232:. 2207:. 2182:. 2161:. 2140:. 2119:) 2105:. 2077:. 2036:. 2011:. 1987:. 1965:. 1923:. 1911:: 1888:. 1876:: 1853:. 1841:: 1835:5 1818:. 1657:) 1560:. 1548:' 1534:( 1512:) 1508:( 1504:. 1494:. 1434:i 1426:i 1402:. 1368:6 1306:. 902:^ 881:^ 842:R 830:Q 810:P 806:M 777:) 773:( 762:. 705:) 699:( 694:) 690:( 676:. 630:. 554:. 522:M 500:. 414:. 173:M 102:) 80:) 27:.

Index

Mumps
Mumps (disambiguation)
Paradigm
Imperative
procedural
Designed by
Neil Pappalardo
Robert A. Greenes
Stable release
Typing discipline
OS
Cross-platform
JOSS
PSL
Caché ObjectScript
GT.M
programming language
key–value database
Massachusetts General Hospital
electronic health records
database language
Neil Pappalardo
Robert A. Greenes
Massachusetts General Hospital
Boston
skunkworks
Unix
DEC
PDP-7
backward compatible

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑