Knowledge (XXG)

MUMPS

Source đź“ť

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

Index

Digital Standard MUMPS
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

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

↑