Fact-checked by Grok 2 weeks ago

MUMPS

MUMPS, an acronym for Massachusetts General Hospital Utility Multi-Programming System and also known as M, is an imperative, with an integrated hierarchical key-value database designed for efficient in multi-user environments. Originally developed in 1966–1967 at the (MGH) Laboratory of , it enables seamless access to persistent data through subscripted global variables, supporting atomic, consistent, isolated, and durable () transactions without separate query languages. The language was created by Neil Pappalardo, Robert Greenes, and Curt Marble under the direction of G. Octo Barnett to address the needs of medical computing on limited hardware, such as the , focusing on hierarchical storage of patient records and clinical data. Implemented initially as both an operating system and programming environment, emphasized sparse, multi-dimensional arrays—treated as tree-like structures—for handling complex, interrelated medical information efficiently. Its interpreted nature, combined with built-in functions for string manipulation and pattern matching, allowed rapid development of database applications, distinguishing it from contemporary languages like or . Key features include variables for disk-resident, persistent storage and variables for in-memory operations, both accessed via identical to simplify programming across volatile and non-volatile data. supports multi-programming for concurrent user access, automatic data sorting, and scalability across platforms like Unix, , and Windows, making it robust for transaction-heavy workloads. These attributes facilitated its standardization, beginning with the National Bureau of Standards Handbook 118 in 1976, followed by ANSI/MDC-1 in 1977 and ISO/IEC 11756 in 1999, ensuring portability of programs across diverse systems. In healthcare, MUMPS became foundational for electronic health record (EHR) systems, powering applications like the U.S. Department of Veterans Affairs' VistA and numerous hospital databases due to its ability to manage large volumes of structured and unstructured clinical data. The MUMPS Users' Group, established in 1972, and the MUMPS Development Committee, formed in 1973, drove its evolution and adoption, growing from a niche medical tool to a widely used standard. Today, it remains in active use for legacy EHR maintenance and new developments in specialized medical software, underscoring its enduring efficiency in data-intensive domains.

Overview

Definition and Origins

MUMPS, also known as M, is an imperative, procedural, with an integrated key-value hierarchical database optimized for . This design allows seamless and retrieval within the language itself, supporting sparse, multi-dimensional arrays that function as a persistent, schema-flexible database. The language emphasizes efficiency in memory and processing, making it suitable for environments requiring concurrent access and real-time updates. The language originated in 1966 at the (MGH) Laboratory of Computer Science in , where it was developed to address the need for computerized management of clinical data. Key creators were Neil Pappalardo, Robert Greenes, and Curt Marble under the direction of G. Octo Barnett, as part of the lab's computing initiatives funded by the U.S. Public Health Service. Initially named the Massachusetts General Hospital Utility Multi-Programming System, it was crafted to operate on resource-limited minicomputers, reflecting the hardware constraints of the era. Its primary purpose was to facilitate multi-user, interactive in constrained environments, with a focus on handling healthcare records such as histories and results. This enabled physicians and staff to access and update information efficiently without extensive programming overhead. The initial implementation was written in for (DEC) PDP systems, including the PDP-7 and later the PDP-8, which had modest memory capacities of around 8K words.

Significance in Computing

MUMPS introduced an innovative of a programming language with a persistent, hierarchical database through its global variables, known as globals, which function as sparse, multi-dimensional arrays stored directly on disk. This allows seamless, high-speed access to data without the need for separate database management systems, enabling efficient manipulation of complex, tree-structured information. Developed in the mid-1960s, this approach predated the model formalized by E.F. Codd in 1970 and facilitated high-performance in resource-constrained environments, such as early minicomputers, where rapid read-write operations were essential for real-time applications. The language's architecture also pioneered multi-user, multitasking capabilities on minicomputers, supporting concurrent access to shared data with built-in concurrency controls like locking mechanisms, which optimized performance under heavy loads. This influenced subsequent database paradigms, particularly and key-value stores; MUMPS globals resemble the schema-flexible, high-throughput storage in systems like , where data is accessed via simple key-based lookups without rigid schemas. Features such as built-in for string processing further anticipated elements of query languages in SQL and , allowing direct manipulation of variable-length data in a single, integrated environment. As of 2025, remains highly significant in healthcare computing, powering the backend of major (EHR) systems like , which utilizes an evolved form of MUMPS called Caché. These systems handle medical records for over 300 million patients worldwide, including approximately 45% of the population, across more than 1,800 hospitals served by Epic alone, demonstrating MUMPS's enduring reliability for high-volume, mission-critical transaction processing. Globally, MUMPS-based EHRs are deployed in numerous hospitals, underscoring its proven scalability and fault tolerance in environments requiring uninterrupted data integrity and performance.

History

Early Development (1960s–1970s)

MUMPS was created in 1966–1967 at (MGH) in response to the need for efficient in healthcare environments constrained by limited hardware resources, such as minicomputers with modest memory capacities. The language emerged from the Laboratory of Computer Science under the direction of G. Octo Barnett, where it was designed to handle clinical recordkeeping and laboratory information systems on resource-poor systems. The first version, known as MUMPS-1, was implemented on a minicomputer equipped with 8K words of memory, three teletypes, and a 256K fixed-head disk, enabling basic multi-user access for medical applications. Key contributors to its development included Neil Pappalardo as the lead developer, alongside Robert A. Greenes and Curt W. Marble, who collaborated to build a system that integrated programming capabilities with database functionality tailored for medical use. This team drew on prior experiences with systems like the to create MUMPS as a utility multi-programming system optimized for hospital workflows. Initial testing occurred within MGH's clinical settings, where it supported applications such as billing, reporting, and ordering, demonstrating its utility in handling despite the era's limitations. During the 1970s, was ported to the more capable DEC PDP-11 series, which facilitated broader deployment through operating systems like and that supported multi-user environments. This adaptation enabled early adoption by major institutions, including the U.S. Veterans Administration (now Department of ), which integrated into its medical information systems for patient records and administrative tasks starting in the late 1970s. The U.S. Department of Defense also began employing for healthcare applications during this period, leveraging its efficiency for military systems. Central to MUMPS's design were core concepts like global variables, which provided persistent storage by automatically mapping hierarchical, multi-dimensional arrays to disk, allowing data to endure beyond program execution. Additionally, multitasking was introduced through job control mechanisms that managed memory partitions and time-slicing, enabling concurrent user sessions on shared hardware—a critical feature for resource-constrained clinical environments. These innovations established MUMPS as a foundational tool for transaction-oriented applications in .

Expansion and Standardization (1980s–1990s)

During the 1980s, experienced significant commercialization and expansion beyond its initial healthcare-focused implementations, with major vendors porting the language to prominent operating systems such as Unix and to support broader deployment in hospital information systems. (DEC) released DSM-11, a standardized implementation for PDP-11 systems, which was later extended to VAX/VMS as DSM in 1982, enabling efficient for medical databases on minicomputers. Similarly, developed ISM-11 and ISM-11+ for PDP-11 platforms around , followed by ports to VAX/VMS clusters, facilitating multi-user environments for . These ports capitalized on 's integrated database capabilities, making it a preferred choice for hospital systems handling high-volume patient records and laboratory data across institutions. A pivotal aspect of this era was the formal standardization efforts led by the MUMPS Development Committee (MDC), culminating in the initial ANSI X11.1-1977 standard, which defined the core syntax, semantics, and database interfaces of the language to ensure portability. This was revised in 1984 to enhance language features and implementation guidelines, and further updated in 1990 as ANSI/MDC X11.1-1990, which was adopted by NIST as FIPS PUB 125-1 and recognized internationally by ISO, emphasizing multi-processing support and data structure definitions. The MUMPS Users' Group (MUG), formed in 1972 following an initial conference at Massachusetts General Hospital, reached peak activity in the 1980s through annual meetings and proceedings that fostered collaboration among developers and vendors on standardization and best practices. In the 1990s, evolved to integrate with emerging network technologies, including TCP/IP bindings outlined in the 1995 ANSI/MDC X11.1-1995 standard, which expanded the language suite to include interconnect protocols for distributed systems. Some implementations introduced object-oriented extensions, such as those in , enabling and improved modularity for complex applications while maintaining with core MUMPS features. This period also saw growing international adoption in healthcare, particularly through pilots in the (NHS), where MUMPS-based systems like EMIS supported electronic records and clinical coding initiatives.

Modern Evolution (2000s–Present)

In the 2000s, became the leading commercial MUMPS implementation, powering a significant portion of healthcare and financial applications through its high-performance database capabilities and market consolidation via acquisitions. This dominance facilitated the language's continued use in mission-critical systems, particularly electronic health records (EHRs), where its integrated database handled complex efficiently. A pivotal shift occurred with the open-sourcing of in 2001, which provided a robust, free implementation of and spurred innovation in non-proprietary environments. This move enabled widespread adoption in open-source projects, including integrations with modern tools, and laid the groundwork for subsequent s. In , key GT.M developers departed Information Services (FIS) to found YottaDB LLC, creating a fork of GT.M aimed at broadening its applicability beyond banking to diverse sectors like healthcare and while maintaining full compatibility with existing MUMPS applications. YottaDB's open-source model has fostered a growing developer community, attracting contributions from enthusiasts and expanding its ecosystem with plugins and wrappers for languages like . YottaDB r1.34, released in 2022, enhanced interoperability by adding native Python support, allowing developers to embed MUMPS routines within Python applications for easier extension and testing. Subsequent releases, including r2.00 in December 2024, introduced substantial new functionality and database format enhancements for improved performance and scalability. Entering the 2010s and 2020s, MUMPS evolved through cloud-native enhancements and interoperability features. InterSystems IRIS, the successor to Caché released in 2018, introduced seamless integration with major cloud providers such as AWS and , enabling scalable deployments for high-volume data processing in hybrid environments. The IRIS 2025.2 release, made generally available in 2025, added advanced -enabled features and optimizations for data-intensive applications while bolstering security protocols to meet healthcare regulations like HIPAA. These advancements ensure secure handling of sensitive patient in distributed systems. Concurrently, MUMPS-based platforms began incorporating for EHR , with systems like Epic's leveraging the language's efficient data structures to preprocess clinical records for models in large-scale datasets. Epic's Cosmos platform, which relies on a core for its backend, saw significant expansions in , incorporating de-identified records from over 300 million patients to support collaborative research and -driven insights across health systems. At the 2025 Epic Users Group Meeting (UGM), further advancements were announced, including generative models trained on Cosmos data for outbreak detection and new scribes integrated into MyChart for clinical documentation. During the , -powered EHRs, such as those in the U.S. Department of ' , demonstrated resilience by managing surges in patient data and transactions without major disruptions, highlighting the language's under stress. Ongoing challenges, including transitioning from legacy MUMPS systems to contemporary stacks, have been addressed through automated migration tools that convert code to languages like Java while preserving functionality. The open-source trajectory, led by YottaDB, continues to build momentum as of 2025, with community-driven enhancements like JSON encoding for variables in recent updates, positioning MUMPS for integration with web and API-driven architectures.

Naming and Standards

Evolution of the Name

The MUMPS programming language was originally developed as the Massachusetts General Hospital Utility Multi-Programming System in at the Laboratory of Computer Science in . The name reflected its initial purpose as a utility system for multi-programming in a hospital environment, and the acronym MUMPS is pronounced "mumps." By the 1990s, as the language gained broader adoption beyond healthcare, standardization bodies sought to rebrand it to emphasize its general applicability and detach from its institutional origins. The 1990 ANSI standard (ANSI/MDC X11.1-1990) permitted both "MUMPS" and "M" as names, but following international discussions, the MUMPS Development Committee passed a resolution in 1993 to promote the use of "M" in the upcoming standard. This shift culminated in the ISO/IEC 11756:1999 standard, which defines the language as "M." Post-rename, "M" ceased to function as an acronym, symbolizing the language's evolution into a versatile tool. As of the 2020 reconfirmation, ISO continues to recognize both "M" and "MUMPS" as official names. Dual nomenclature persists today, with healthcare communities and legacy systems like the U.S. Department of ' VistA retaining "" to honor its roots. In contrast, commercial implementations such as InterSystems refer to the core language as "," often extending it with ObjectScript features. Early implementations like , developed by Greystone Technology in the 1980s, incorporated the "" designation while building on foundations. Discussions on preferred terminology continued in MUMPS Users' Group conferences through the , reflecting ongoing tensions between tradition and modernization.

Standardization Efforts

The first formal standardization of occurred with the approval of ANSI X11.1-1977 by the and the MUMPS Development Committee, which defined the core language syntax, the integrated , and operations to ensure consistency across implementations. Subsequent revisions built on this foundation, with the 1990 update (ANSI/MDC X11.1-1990) enhancing and portability. This revision was adopted internationally as ISO/IEC 11756:1992, which adopted the 1990 ANSI specifications under the name "" and emphasized the core language elements while excluding vendor-specific extensions to promote global portability. A further alignment with ANSI X11.1-1995 occurred in ISO/IEC 11756:1999, refining aspects of the language without introducing major changes. Subsequent revisions, including the 1995 update (ANSI X11.1-1995), introduced support for networking capabilities via standards like Open MUMPS Interconnect, enabling distributed operations and enhanced in multi-system environments. No major revisions to the ANSI standard have been issued since 1995, though the ISO/IEC 11756 standard for the core language has been reconfirmed periodically, including in 2005, 2010, and 2020, to maintain its relevance. In the absence of formal updates, de facto standards have emerged through leading implementations such as (formerly Caché) and YottaDB, which extend the core language with features like support introduced in the to handle international character sets in encoding. These standardization efforts have significantly enhanced the portability of MUMPS applications across diverse hardware and software platforms, allowing code developed on one system to run with minimal modifications on others, a key factor in its enduring use in high-reliability environments. In the healthcare sector during the , MUMPS-based systems have leveraged these standards to facilitate integrations with modern interoperability frameworks like (FHIR), enabling legacy platforms—such as —to exchange data seamlessly with contemporary systems.

Language Design

Core Syntax and Semantics

MUMPS is a typeless programming language, where all variables are treated as variable-length character strings without requiring explicit declarations, and automatic type coercion occurs during operations such as arithmetic, converting compatible strings to numeric values as needed. For instance, assigning the string "1" to a variable and adding 2 yields 3, as the system interprets the string numerically in context. This design emphasizes flexibility, with variables supporting both local (in-memory) and global (persistent) storage, though the core semantics focus on string-based manipulation. The syntax of MUMPS is notably terse and abbreviation-heavy to facilitate rapid coding in resource-constrained environments, featuring commands like S for SET (assignment) and K for KILL (deletion of variables). Programs are structured as line-based routines, where each line may begin with an optional tag (a label for control transfer, such as a name or integer), followed by one or more commands separated by spaces, with a maximum line length of 255 characters. Pattern matching and string manipulation are integral, supported by built-in functions like $PIECE, which extracts or replaces substrings delimited by a specified character—for example, $PIECE("a,b,c",",",2) returns "b"—and $SELECT, a conditional expression that evaluates to the value associated with the first true condition, such as $SELECT(X>0:"Positive",1:"Non-positive"). These elements enable concise handling of delimited data without explicit loops or conditionals in many cases. Semantically, MUMPS employs an interpretive execution model, processing code line-by-line dynamically after loading routines into memory, though some implementations support optional compilation to intermediate code for efficiency. Routines serve as modular code blocks, named units that can be invoked as entry points and contain tagged sections for subroutines, promoting reusability without traditional function definitions. Control flow relies on basic structures: DO for subroutine calls or block execution (e.g., DO TAG to enter a labeled section, with return via QUIT), IF for conditional evaluation (e.g., IF X=1 S Y="True"), paired with ELSE for alternatives, and GOTO for unconditional jumps to tags (e.g., GOTO END), which cancel pending DO returns. Indented DO loops, often using FOR (e.g., FOR I=1:1:5 DO LOOPBODY), provide iteration, while the special variable $TEST captures the truth value (1 or 0) of the last condition for further logic. Extrinsic special variables, prefixed by $ and often implementation-defined beyond standards like $HOROLOG for date-time or $JOB for process ID, provide context and can return computed values, enhancing the language's self-referential capabilities without separate function syntax.

Integrated Database

features an integrated that is tightly coupled with the language, allowing direct manipulation of persistent data structures without requiring external database management systems. This design, originating from its development for systems in the , emphasizes efficiency in handling large-scale, multi-user . The database is schema-less, enabling flexible data organization while supporting atomic operations for reliability. At the core of this model are globals, which are persistent, sparse, multidimensional arrays stored on disk and accessible across program executions. Globals are denoted by a caret symbol (^) prefix and can be subscripted by strings or numbers, ensuring collision-free identification of data nodes in a tree-like hierarchy. For instance, a global might store employee data as ^Employee("MGW","UK","London",1)="Rob TweedDirector020 8404 3054", where each subscript level represents a hierarchical category such as company, country, office, and employee ID. This sparseness means only explicitly set elements consume storage, optimizing space for irregular datasets without predefined dimensions or schemas. Data access in MUMPS occurs through built-in language commands that integrate seamlessly with programming logic, eliminating the need for separate query languages like SQL. The SET command assigns values to globals, such as SET ^a(1)=100, while KILL removes nodes or entire subtrees, for example KILL ^a(1,2). Retrieval uses SET for direct assignment or the $GET function for safe access with defaults, like $GET(^DATABASE(1),"default"). Internally, globals employ B-tree indexing to facilitate efficient storage and retrieval, supporting ordered traversal without explicit index management. For navigating hierarchical structures, provides extrinsic functions like $ORDER and $QUERY instead of declarative queries. $ORDER retrieves the next subscript in lexical order, enabling traversal, as in SET idx=$ORDER(^a("")) to get the first index of ^a. Similarly, $QUERY advances to the next node in the , such as $QUERY(^DATABASE(1)) for depth-first exploration. These functions support iterative processing of complex, tree-like data without enforcement, making them suitable for applications like patient records organized as ^PATIENT(ID,"DEMO"). The transaction model in ensures properties through implicit mechanisms, including journaling for and explicit locking for concurrency. Per the ANSI/MDC X11.1-1995 , transactions are delimited by commands like TSTART to begin, TCOMMIT to commit, and TROLLBACK to abort, guaranteeing atomicity of database updates. Journaling logs changes to globals for rollback or replication, while the LOCK command manages shared access, such as LOCK +^DATABASE(1) to acquire an exclusive lock. The system variable ^$LOCK tracks active locks by job and count, aiding in multi-user environments. This integrated approach supports high-throughput operations without external transaction coordinators.

Programming Features

MUMPS supports multitasking through the JOB command, which initiates a separate to execute in with the current , enabling concurrent operations without blocking the main execution flow. This command creates an independent job with its own and process ID, accessible via the $JOB special variable, allowing for efficient handling of multiple tasks such as background processing or distributed workloads. For example, JOB ^RoutineName::10 starts a local job with a 10-second timeout, while remote jobs can be specified as JOB ^RoutineName["RemoteNamespace"] for network-distributed execution. Device I/O in MUMPS is managed via commands like OPEN, USE, and CLOSE, facilitating interaction with terminals, printers, and other peripherals through a device-independent that abstracts specifics. The USE command selects the current I/O for input and output operations, such as directing output to a printer with USE PrinterDevice, while OPEN establishes connections, including support for lines and pseudo-terminals. Modern implementations extend this to I/O via / protocols, enabling socket-based communication for client-server applications without proprietary extensions. MUMPS provides robust and utility functions through intrinsic special variables, enhancing manipulation and system interactions. The FIND function locates the position of a [substring](/page/Substring) within a [string](/page/String), returning the starting index or 0 if not found, as in `FIND("hello world", "world")yielding 7, useful for [parsing](/page/Parsing) and searching operations. Complementing this, $EXTRACT retrieves or modifies specific characters from a [string](/page/STRING), e.g.,EXTRACT("hello",2,4)` returns "[ell](/page/Ell)", supporting efficient text processing without external libraries. For time-sensitive applications, HOROLOG delivers a as days since December 31, 1840, followed by seconds since midnight, enabling precise logging and scheduling, such as SET now=$HOROLOG. Extensions in contemporary MUMPS implementations, particularly InterSystems IRIS, introduce paradigms, including class definitions with properties, methods, , and encapsulation via classes like %RegisteredObject and %Persistent. Developers can define classes extending superclasses, e.g., Class MyClass Extends %Persistent { Property Name As %[String](/page/String); Method GetName() As %[String](/page/String) { Quit ..Name } }, facilitating modular, reusable for enterprise-scale applications. is augmented by the ROLES special variable, which lists the current user's assigned roles for privilege-based [access control](/page/Access_control), allowing conditional execution like `If FIND(ROLES,"%All") { /* privileged [code](/page/Code) */ }`. Error trapping and [debugging](/page/Debugging) are handled through mechanisms like the TRY/CATCH construct in ObjectScript or traditional ETRAP for intercepting exceptions, with tools such as BREAK for setting breakpoints and ZBREAK for conditional , ensuring robust error recovery in production environments. Performance optimizations in leverage in-memory caching to accelerate data access, with distributed caching in systems like IRIS enabling shared buffers across application servers for reduced latency in high-concurrency scenarios. Some implementations incorporate to generate optimized at , boosting execution speed for frequently called routines. These features support high throughput, with benchmarks demonstrating over 10,000 concurrent users in deployments, underscoring MUMPS's suitability for demanding transactional workloads.

Code Example

A basic example of MUMPS code demonstrates its concise command structure through a "Hello, World!" variant, which assigns a string to a and outputs it. The following snippet uses the SET (abbreviated as S) command to store the message in a X, followed by the WRITE (abbreviated as W) command to display it:
S X="Hello, World!"
W X
This code assigns the literal string "Hello, World!" to the variable X using SET, which supports both and variables without explicit type declaration. The WRITE command then outputs the value of X to , producing the result "Hello, World!" without a by default. In interactive mode, common to MUMPS interpreters like those in or InterSystems IRIS, this can be entered directly at the (often denoted by a '>' or similar), executed line by line, and immediately displays the output, allowing . For a more practical illustration relevant to MUMPS's healthcare origins, consider a simple routine that stores and retrieves data using globals, which are persistent, subscripted s forming the language's integrated database. The routine, named PATIENT, initializes a patient ID, sets a name in a global , and writes it back:
PATIENT ; Routine to demonstrate patient data storage
NEW ID    ; Declare local variable
S ID=1    ; Set ID to 1
S ^PATIENT(ID,"NAME")="John Doe"  ; Store name in global
W ^PATIENT(ID,"NAME")  ; Retrieve and display name
The first line, PATIENT ;, defines a routine tag named PATIENT, serving as an entry point or label for the subroutine; the semicolon introduces a comment. Next, NEW ID declares ID as a local variable, limiting its scope to this routine and preventing interference from prior values in the session. The command S ID=1 assigns the numeric value 1 to ID using SET. Then, S ^PATIENT(ID,"NAME")="John Doe" stores the string "John Doe" in the global ^PATIENT, where the caret (^) denotes persistence on disk, ID is the first subscript (patient identifier), and "NAME" is a second subscript for the attribute; this creates a sparse, hierarchical structure without predefined schemas. Finally, W ^PATIENT(ID,"NAME") retrieves the value from the global using the same subscript path and writes it to the output, displaying "John Doe". When run interactively or loaded as a routine, this outputs the name after execution, with the global persisting across sessions for multi-user access. Common pitfalls in MUMPS coding include overlooking indentation conventions, which, while not syntactically enforced, are crucial for readability in routines; lines typically start at column 1, with indents used informally for post-conditionals or blocks, but misalignment can confuse . scoping poses another frequent issue, as all undeclared variables default to global (persistent) unless explicitly localized with NEW, potentially leading to unintended or conflicts in multi-routine programs.

Implementations

Commercial Implementations

InterSystems IRIS, formerly known as Caché, represents the most prominent commercial implementation of MUMPS, providing an object-enabled, high-performance data platform that builds on MUMPS's core hierarchical database while adding modern features like SQL projection and interoperability standards support. Developed by InterSystems since the 1980s and evolving into a cloud-native solution in the 2010s, IRIS enables seamless integration with object-oriented programming and relational databases, making it suitable for enterprise-scale applications in healthcare where it powers electronic health records (EHR) systems. A customized version of InterSystems IRIS (formerly Caché) underpins Epic Systems' widely adopted EHR platform, which serves over 300 million patients globally and emphasizes rapid data access for clinical workflows. IRIS also incorporates built-in tools for HIPAA compliance, including audit logging, encryption, and secure data exchange via FHIR, ensuring regulatory adherence in sensitive environments. Historically, Digital Equipment Corporation's (DEC) (Digital Standard MUMPS) was a key commercial offering in the 1980s and 1990s, optimized for VMS-based systems and focused on multi-user for database-intensive tasks. set benchmarks for performance in its era, supporting applications in and healthcare on PDP-11 and VAX , but it became legacy after acquired the product line in 1994, consolidating it into their broader MUMPS ecosystem. Today, is largely obsolete, with migrations to modern platforms like recommended for ongoing support. MEDITECH's is another proprietary derivative of , serving as the foundation for their EHR solutions since the 1970s and emphasizing enterprise scalability through its integrated database for high-volume transaction handling in hospitals. MAGIC extends MUMPS syntax with macros and modular programming for reusable code, enabling efficient management of patient records and administrative data while incorporating HIPAA-compliant security features like role-based access controls. Deployed in more than 2,300 healthcare organizations, it prioritizes reliability and customization for mid-sized facilities. Other niche commercial implementations include MiniM, a Windows- and Linux-compatible with development halted after 2021, focused on lightweight deployment for specialized database applications. and M21, a Linux-based proprietary variant geared toward custom development in resource-constrained environments. These smaller vendors complement larger players by offering tailored scalability and compliance tools, though dominates the commercial market, powering a significant portion of global EHR deployments tied to healthcare revenues exceeding $1 billion annually.

Open-Source Implementations

One prominent open-source implementation of MUMPS is , initially released in 2001 by Fidelity National Information Services (FIS) as a high-performance, Unix-based optimized for . supports key-value storage with transactions, large-scale replication, and thousands of concurrent users, making it suitable for demanding financial applications. Its latest version, V7.1-009 released in October 2025, includes enhancements for database statistics, ease of use, and a plug-in architecture for database encryption. YottaDB, a fork of GT.M initiated in 2017 by former FIS developers, emphasizes enhanced scalability for environments while maintaining drop-in compatibility with existing GT.M applications. The project focuses on modern features like real-time replication and business continuity for internet-scale workloads. YottaDB r2.00, released in February 2024, introduced substantial database format improvements and optimizations, including support for encoding to handle international characters and bindings via the Nodem driver for in-process database access from environments. The latest version, r2.02 released in December 2024, adds features for improved usability and better integration with environments. Historical and partial open-source implementations include V1, released around 2000 by Raymond Newman as a FreeBSD-based system compliant with the ANSI 1995 standard, which has been ported to , macOS, and Windows. OpenM (also known as II), developed by Kevin O'Kane at the , provides a research-oriented implementation with globals and extensions beyond the standard, though it remains partially complete. Additional variants are hosted on , such as the Database and Language project, offering ANSI-compliant builds for various systems. The open-source community maintains active development on platforms like , with repositories for enhanced versions of MUMPS V1 and integrations like Nodem for modern ecosystems. Plugins and container images support deployment on and , facilitating legacy system migrations, such as porting healthcare applications to cloud environments.

Applications and Users

Healthcare Sector

MUMPS has been instrumental in the development of electronic health record (EHR) systems, forming the foundational database technology for several major platforms in healthcare. Epic Systems Corporation relies on MUMPS, also known as M, for its integrated hierarchical database, which supports high-speed transaction processing essential for managing complex patient data across clinical workflows. As of 2024, Epic's systems maintain electronic records for more than 325 million patients, powering care in more than 3,700 hospitals and health systems worldwide. Oracle Health, following its acquisition of Cerner, is leading migrations from legacy MUMPS-based EHRs to cloud-native architectures, notably in the U.S. Department of Veterans Affairs (VA), where older systems are being replaced to enhance interoperability and scalability. In government healthcare applications, MUMPS underpins the Veterans Health Information Systems and Technology Architecture (VistA), originally developed in the 1980s to standardize clinical and administrative operations across VA facilities. VistA, written in MUMPS, was released as open-source software in 2006 through the Open Source Electronic Health Record Agent (OSEHRA), enabling broader adoption and customization. It currently supports operations in approximately 170 VA hospitals and over 1,000 outpatient clinics, delivering integrated services from scheduling to pharmacy management. Similarly, the Indian Health Service (IHS) deploys the Resource and Patient Management System (RPMS), a MUMPS-based derivative of VistA, to provide comprehensive EHR capabilities for serving more than 2.6 million Native American and Alaska Native patients across 46 states. The IHS is modernizing RPMS with the new PATH EHR, with pilots scheduled for 2026. MUMPS also supports diagnostic laboratory information systems, where its efficient data handling facilitates real-time result processing and integration with clinical records. Major providers like incorporate MUMPS in legacy pathology and lab operations through historical systems such as those from acquired entities like AmeriPath. Globally, the UK's (NHS) maintains MUMPS-based legacy applications, including patient administration systems like the Trent PAS, which continue to manage diagnostic workflows in select trusts despite ongoing modernization efforts. The technology's design for concurrent access and reliability has enabled significant impacts in clinical decision support, allowing healthcare providers to query and update patient data instantaneously during high-volume scenarios. During the 2020–2022 COVID-19 pandemic, MUMPS-driven EHRs like Epic processed and exchanged billions of records, including test results and vaccination data, to aid in outbreak surveillance and resource allocation across integrated health networks. VistA similarly handled elevated data loads for VA patients, supporting telehealth expansions and pandemic response tracking without major disruptions.

Other Industries

In the financial sector, has been employed for high-throughput due to its integrated database capabilities and reliability in handling large-scale data operations. For instance, the has utilized for systems since the 1980s, leveraging its efficiency in managing complex financial workloads. Similarly, other institutions like Ameritrade and Bank have adopted for back-office and applications, where its NoSQL-like structure supports rapid data access and compliance without the overhead of traditional relational databases. In , MUMPS found early applications in billing systems during the late , capitalizing on its ability to process hierarchical data and support multi-user environments for usage tracking and invoicing. Although modern deployments have shifted toward more contemporary technologies, MUMPS-based databases persist in some infrastructures for maintaining historical records and ensuring continuity in critical operations. Beyond commercial sectors, supports government and research initiatives through its open-source implementations, such as , which enable cost-effective development in educational settings and academic projects focused on database research. These variants facilitate experimentation with and scalable , contributing to studies on high-reliability systems. Overall, while MUMPS usage has declined outside healthcare in favor of newer languages, it endures in high-reliability niches like and legacy due to its proven in transaction-heavy environments. As of 2025, approximately 182 companies across various industries continue to deploy MUMPS, underscoring its niche persistence despite broader technological shifts.

Criticism and Limitations

Technical Criticisms

One prominent criticism of is its terse syntax, which relies heavily on abbreviations such as single letters for commands (e.g., "" for Write) and variables, resulting in cryptic that hinders and long-term . This , intended for on limited , often leads to programs that are difficult for new developers to understand without extensive , as the minimalistic structure discourages comprehensive commenting. Furthermore, the language's line-oriented nature, where multiple statements can appear on a single line, exacerbates comprehension challenges in complex routines. MUMPS's typelessness, where variables are created dynamically upon first use without declarations and can hold multiple data types (e.g., strings, numbers), contributes to errors and unexpected behavior due to automatic type conversions. This lack of strong typing or explicit type checking in the base standard allows subtle to emerge, particularly in large applications, as variables persist until explicitly killed and scoping is dynamic rather than lexical, leading to pollution across routines. The absence of modules or structured scoping in the core language amplifies these issues, making error-prone code more common in multi-programmer environments. The hierarchical structure of globals, while efficient for simple key-value access, proves inefficient for complex queries compared to relational models like SQL, as it lacks between logical and physical organization, requiring manual navigation of tree-like structures. This model imposes limits in very large datasets, with practical constraints on subscript lengths and depths hindering performance without vendor-specific extensions, and the absence of built-in indexing or high-level query mechanisms forces developers to implement custom traversals that can become bottlenecks. MUMPS conveys an outdated feel through its reliance on for flow control, which, combined with limited structured constructs like single-line IF and FOR, promotes and complicates debugging in non-linear programs. The base language offers poor support for without proprietary add-ons, lacking native classes, , or encapsulation, which restricts its applicability to modern paradigms requiring and . via further reduces by obscuring execution paths.

Adoption Challenges

One significant barrier to MUMPS adoption has been the diminishing talent pool of developers proficient in the language. Since the , formal training programs have largely ceased, leaving an aging workforce in healthcare systems where MUMPS remains entrenched, such as in . In 2013, efforts to train new developers, including initiatives by the Agent (OSEHRA), showed near-zero retention rates among approximately 200 participants, as young programmers perceived limited career prospects in the language. As of 2025, job postings for MUMPS developers persist in healthcare, with around 15–50 openings reported on major platforms, underscoring continued reliance on a specialized but limited workforce. Vendor lock-in further exacerbates adoption hurdles, with proprietary extensions in commercial implementations fragmenting portability across systems. Migrating -based applications to modern languages like or .NET incurs substantial costs, often requiring automated tools to handle the integrated database-language structure without manual rewriting. For instance, the Veterans Health Administration's modernization pilot demonstrated the feasibility of full automated conversion to , but highlighted the complexity and expense of ensuring and regulatory compliance in healthcare environments. Public perception of as a "" or "" language contributes to its , deterring broader interest despite its advantages in niche applications. This view stems from its origins in the and limited visibility outside healthcare, positioning it as disconnected from contemporary programming paradigms. As of 2025, open-source implementations like YottaDB have mitigated some barriers by providing standards-compliant alternatives and multi-language bindings, fostering incremental adoption in clinical computing. However, competition from versatile languages such as and in and healthcare analytics continues to reduce MUMPS's appeal, as organizations prioritize ecosystems with larger communities and easier integration for modern workloads.

References

  1. [1]
    [PDF] Introduction to the Mumps Language - Computer Science
    Nov 4, 2017 · Mumps (Massachusetts General Hospital Utility Multi-programming System) is a general purpose programming language environment that provides ...
  2. [2]
    MUMPS and Medical Computing at WashU Medicine
    Jul 25, 2025 · Neil Pappalardo, Robert Greenes, and Curt Marble first developed MUMPS in 1966-1967 in G. Octo Barnett's Laboratory of Computer Science at ...
  3. [3]
    Massachusetts General Hospital Utility Multi-Programming System ...
    Description: Massachusetts General Hospital Utility Multi-Programming System (MUMPS), also known as M, is a programming language providing Atomic, Consistent, ...
  4. [4]
    [PDF] MUMPS language standard - Bitsavers.org
    This NBS Handbook contains a three-part description of various aspects of the MUMPS computer programming language. Part I, the MUMPS Language. Specification, ...
  5. [5]
    [PDF] MUMPS (Massachusetts General Hospital utility mulit-programming ...
    Jun 10, 1993 · The purpose of the standard is to promote portability of MUMPS programs for use on a variety of data processing systems.
  6. [6]
    History of the development of medical information systems at the ...
    The technical details of the first MUMPS implementation on a PDP-7 are of interest in comparison with the technology now available. The PDP-7 had 8K of ...
  7. [7]
    Presentation of the Morris F. Collen Award to G. Octo Barnett, MD, by ...
    Presentation of the Morris F. Collen Award to G. Octo Barnett, MD, by Robert A. Greenes, MD, PhD. Journal of the American Medical Informatics Association, ...Missing: developers | Show results with:developers
  8. [8]
    MUMPS--an economical and efficient time-sharing system ... - PubMed
    This paper discusses the historical development of MUMPS and describes the basic modules found in its implementation. Detailed descriptions of the time-sharing ...
  9. [9]
    [PDF] MUMPS GLOBALS AND THEIR IMPLEMENTATION - Bitsavers.org
    May 15, 1975 · The multiprogramming system MUMPsl, first developed at the Laboratory of. Computer Science at Massachusetts General Hospital in the late 1960's, ...
  10. [10]
    MUMPS – The Most Important Database You (Probably) Never ...
    Jan 28, 2016 · A feature of the MUMPS language/DB is that accessing volatile memory and non-volatile storage use the same basic syntax, enabling a function ...
  11. [11]
    [PDF] PDP-11 Variations onaThae
    MUMPS- 1 1. MUMPS- 1 1is a multi-user data basemanagement system that includes both an operating system and a high-level language. The MUMPS- 1 1language was ...<|separator|>
  12. [12]
    Key-Value Databases Demystified - Dataversity
    Oct 18, 2023 · MUMPS used a key-value store and several other features that were later incorporated into NoSQL data stores. The use and focus of key-value ...Missing: influence | Show results with:influence
  13. [13]
    Pattern Match Operator
    The pattern match operator (?) causes M to return a TRUE if the expression ahead of the operator matches the characteristics described by the pattern following ...Missing: just- | Show results with:just-
  14. [14]
    [PDF] POWERING ELECTRONIC HEALTHCARE SOFTWARE - AMD
    Epic Systems is one of the largest providers of health information ... According to the company, hospitals that use its software held medical records of 78% of ...
  15. [15]
    Customer demand drives Epic's new products - In Business Madison
    May 30, 2025 · A company spokesperson said the number of hospitals using Epic software is now 3,300. Some of those customers want help with more than medical ...
  16. [16]
    What is the Epic System for Healthcare - Complete Guide 2025
    Oct 29, 2025 · The EMR system Epic is the most frequently used software in most U.S. hospitals, with a market share of 39.1% in acute care hospitals in the USA ...
  17. [17]
    DEC PDP-7/A S#103 - Massachusetts General Hospital
    "Early hardware: The first implementations were on a PDP-7 with 8K of memory (18-bit words with three teletypes and a 256K fixed-head disk. The complete MUMPS ...
  18. [18]
    Presentation of the 2008 Morris F. Collen Award to Robert A. Greenes
    This novel computer language evolved during the 1960s into what became known as the Massachusetts General Hospital Utility Multiprogramming System (MUMPS) and ...Missing: programming | Show results with:programming
  19. [19]
    [PDF] MUMPS-11 Programmer's Guide - Bitsavers.org
    progr?m uses the IF command described in the MUMPS-11 Language. Referenae Manual to set an internal condition which may be tested by the programmer. If the ...
  20. [20]
    A 40-year 'conspiracy' at the VA - Politico
    Mar 19, 2017 · Ted O'Neill and Marty Johnson had helped standardize a computer language, originally developed at Massachusetts General Hospital, called MUMPS, ...
  21. [21]
    [PDF] Defense Information Systems Agency Technical Integration Support
    MUMPS is an interactive programming language and general purpose database management system. It has been primarily used to develop medical information systems.
  22. [22]
    [PDF] VAX-11 DSM - Bitsavers.org
    This document describes how to use DIGITAL Standard. MUMPS operating under VAX/VMS (VAX-11 DSM). It also describes how to install the VAX-11 DSM system software ...
  23. [23]
    From The Roots to InterSystems | Caché
    The whole story started in 1966 at MGH (Mass.General Hospital) on a PDP-7 Ser.#103 with 8K of memory (18-bit words) [ today = 18K byte ] as a spare system ...
  24. [24]
    [PDF] The 1995 Standard MUMPS Pocket Guide - Vista Expertise Network
    Accordingly, mumps provides powerful built-in string manipulation features. In addition, all variables can be subscripted arrays. These arrays are not ...
  25. [25]
    (PDF) The history of the Read Codes: the inaugural James Read ...
    Aug 7, 2025 · Cache is also based on MUMPS). I chose to stick with UNIX and Sculptor, but this was. limited to fixed length record fields. We wanted to use. an ...<|separator|>
  26. [26]
    Caché, High Performance Database - InterSystems
    Use InterSystems Caché advanced database for high-volume data. Learn more about how Caché analyzes unstructured data and handles transaction management.Missing: MUMPS | Show results with:MUMPS
  27. [27]
    Meet MUMPS, the Archaic Health-Care Programming Language ...
    Jul 14, 2015 · This is the fundamental problem that the programming language MUMPS (sometimes called just “M”), or the Massachusetts General Hospital Utility ...
  28. [28]
    [PDF] GT.M Programmer's Guide - Pair Networks
    Jun 23, 2025 · This document contains a description of GT.M and the operating instructions pertaining to the various functions that comprise the system. This ...Missing: 2001 Fisker Nielsen
  29. [29]
    About Us - YottaDB
    Open for Innovation. YottaDB was founded in 2017 by K.S. Bhaskar to provide approachable access to the GT. M code base and to expand the application use beyond ...Missing: fork | Show results with:fork
  30. [30]
    InterSystems IRIS
    ### Summary of InterSystems IRIS
  31. [31]
    InterSystems and Azure
    Azure supports InterSystems products, with InterSystems IRIS and IRIS for Health as Preferred Solutions on the Azure Marketplace.Missing: MUMPS | Show results with:MUMPS
  32. [32]
  33. [33]
    YottaDB r1.34 Released
    Feb 25, 2022 · 34 Released. While YottaDB r1.34 is an otherwise modest successor to r1 ... Details are in the release notes. Published on February 25, 2022.Missing: 2023 JSON
  34. [34]
    Epic Cosmos
    Cosmos is a dataset created in collaboration with a community of health systems using Epic and is designed to improve patient care.About Cosmos · Request Cosmos Access · CommunityMissing: MUMPS | Show results with:MUMPS
  35. [35]
    Automated Software Application Code Modernization ... - TSRI
    We have extensive experience in transforming legacy MUMPS applications to Java without any manual intervention. TSRI can move your modernized applications ...
  36. [36]
    Frequently Asked Questions - YottaDB
    In 2017, key GT. M developers left FIS and joined YottaDB LLC to develop YottaDB by enhancing the mature GT. M code base to serve additional applications ...Missing: history fork
  37. [37]
    M Technology and MUMPS Language FAQ, Part 2/2 - faqs.org
    Apr 6, 1998 · Well, MUMPS has had an ANSI standard for 1977, 1984, 1990, and the MUMPS Development Committee is attempting to release a 1993 standard.<|separator|>
  38. [38]
    Open M Language Compatibility | Using Caché ObjectScript
    The ISO 11756-1999 standard is identical to the former ANSI-standard M programming language. This chapter presents the following topics as they relate to ...<|control11|><|separator|>
  39. [39]
    The Heritage and Legacy of M (MUMPS) – and the Future of YottaDB
    Feb 14, 2018 · MUMPS, created at Massachusetts General Hospital, integrated a language with a schema-less database. It was used in clinical and life-sciences ...Missing: definition | Show results with:definition
  40. [40]
    The Annotated M[UMPS] Standards - Ed J.P.M. de Moel
    1977: First ANSI standard for MUMPS Programming Language (X11.1 – 1977) 1984: Second ANSI standard for MUMPS Programming Language (X11.1 – 1984) 1990: Third ...Missing: 1996 | Show results with:1996
  41. [41]
    Programming languages — MUMPS - ISO/IEC 11756:1992
    Status. : Withdrawn ; Publication date. : 1992-12 ; Stage. : Withdrawal of International Standard [95.99] ; Edition. : 1 ; Number of pages. : 81.
  42. [42]
    [PDF] I NTERNATI ONAL STANDARD - iTeh Standards
    International Standard ISO/IEC 11756 was prepared by American National ... The MUMPS standard uses the terms local ... f88ff01ee8a9/iso-iec-11756-1992.
  43. [43]
    2. YottaDB Language Extensions - Documentation
    YottaDB Unicode support is optional, and the --utf8 option of the ydbinstall / ydbinstall.sh script installs YottaDB with Unicode support. If the ...Missing: MUMPS | Show results with:MUMPS
  44. [44]
    Unicode Support | InterSystems IRIS Data Platform 2025.2
    InterSystems IRIS supports the Unicode international character set. Unicode characters are 16-bit characters, also known as wide characters.Missing: MUMPS 2000 YottaDB
  45. [45]
    User-Centered Design and Implementation of an Interoperable FHIR ...
    Health Level Seven's Fast Healthcare Interoperability Resources (FHIR) ... MUMPS code to file a random integer between 0 and 1 to a patient-level data ...
  46. [46]
    WorldVistA/VistA-FHIR-Data-Loader - GitHub
    MUMPS/UI components for creating synthetic patient data from Synthea and loading the generated FHIR patient data to VistA EHR ...
  47. [47]
    [PDF] MUMPS Language Issues - Vista Expertise Network
    MUMPS is called typeless because there are no type declarations. The explicit data type for data storage is the variable length character string. Any variable ...
  48. [48]
    [PDF] Mumps Programming Language Interpreter, Compiler, and C++ ...
    Apr 1, 1990 · 8.1 MUMPS 95 PATTERN MATCHING ... Mumps 95 compliant pattern matching (the '?' operator) is implemented in this compiler/interpreter as.
  49. [49]
    MUMPS Documentation
    Introduction. ANSI/MDC X11.1-1995. The following discusses all language elements implemented in MUMPS V1 and the relation to the standard ANSI/MDC ...Missing: just- | Show results with:just-
  50. [50]
    Program Handling of Errors
    This means that to invoke an error handler nested at the lower level, $ZTRAP actions need to use an explicit ZMESSAGE command, while $ETRAP does such ...
  51. [51]
    [PDF] Extreme Database programming with MUMPS Globals
    MUMPS Globals are persistent, sparse, dynamic, multi-dimensional arrays containing text values, used for data storage. They are simple yet powerful.Missing: language | Show results with:language<|control11|><|separator|>
  52. [52]
    JOB (ObjectScript) | InterSystems IRIS Data Platform 2025.2
    The JOB command runs a process in the background, creating a separate process that runs independently of the current process.Missing: multitasking | Show results with:multitasking
  53. [53]
    MUMPS IO Documentation
    Devices. The Device class includes such things as the console, serial lines (terminals or printers), parallel ports (printers) and pseudo terminals (xterms). ...
  54. [54]
    I/O Commands - Pair Networks
    OPEN establishes a connection from a GT.M process to a device. USE declares a device as the current source of input and destination for output.
  55. [55]
    Unix Mumps - PFCS Corporation
    PFCS' Unix MUMPS is a high-performance, well-integrated MUMPS implementation for Unix that exceeds the ANSI X11.1-1990 MUMPS Standard. Industry- and task ...
  56. [56]
    $$Horolog - GT.M Documentation
    $$H[OROLOG] contains a string value specifying the number of days since "31 December, 1840," and the number of seconds since midnight of date in the time ...
  57. [57]
    Introduction to Objects | InterSystems IRIS Data Platform 2025.2
    InterSystems IRIS uses object classes like %RegisteredObject, %Persistent, and %SerialObject. Objects can be registered, persistent, or serial, and created ...
  58. [58]
    $$ROLES (ObjectScript) - InterSystems Documentation
    You can use the NEW command on $ROLES without security restrictions. Issue a NEW $ROLES and then SET $ROLES to supply Added Roles. You can then create an object ...
  59. [59]
    InterSystems IRIS: All of the performance of in-memory databases ...
    InterSystems IRIS inserts 65% more records and runs SQL queries 27 times faster on the same infrastructure in the same amount of time.
  60. [60]
    InterSystems IRIS Basics: Scaling with Distributed Caching
    This page explains how InterSystems IRIS data platform can scale for user volume by using application servers for distributed caching.
  61. [61]
    10000 clients simultaneously - InterSystems Developer Community
    Nov 26, 2020 · 10 000 simulatenous clients are easily achievable. I know of InterSystems IRIS based applications in productions with even higher number of concurrent users.Missing: TPS | Show results with:TPS
  62. [62]
    Learn M (MUMPS) in Y Minutes
    M, or MUMPS (Massachusetts General Hospital Utility Multi-Programming System) is a procedural language with a built-in NoSQL database.
  63. [63]
    HAP 752 Advanced Health Information Systems Course
    Another unique feature of MUMPS is that data are automatically sorted. In relational databases records are stored in order in which they were entered. In MUMPS, ...Missing: key | Show results with:key
  64. [64]
    Guidance on mixing Object Script with legacy MUMPS in the same ...
    May 21, 2018 · MAC. #ObjectScript #Caché. Looking for official guidance concerning the pitfalls ... One of the significant differences is variable scoping.
  65. [65]
    GT.M High end TP database engine
    ### Summary of GT.M from SourceForge
  66. [66]
    [PDF] GT.M - Release Notes
    Sep 22, 2025 · This document contains a description of GT.M and the operating instructions pertaining to the various functions that comprise the system.
  67. [67]
    Features - YottaDB
    YottaDB's business continuity and real-time replication features keep even Internet-scale applications continuously available not just in the face of ...
  68. [68]
    Releases · YottaDB/YDB - GitHub
    Dec 17, 2024 · YottaDB r2.00 is a major new release with substantial new functionality and database format enhancements. Inherited from the upstream GT.M V7.0- ...
  69. [69]
    dlwicksell/nodem: A YottaDB and GT.M database driver ... - GitHub
    Oct 26, 2024 · Nodem is an open source addon module that integrates Node.js with the YottaDB and GT.M implementations of M, providing in-process access to their database ...
  70. [70]
    MUMPS - Wikipedia
    MUMPS or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at ...History · Design · Overview · Features
  71. [71]
    MUMPS Database and Language download | SourceForge.net
    Rating 5.0 (3) · FreeDownload MUMPS Database and Language for free. ANSI Standard MUMPS. Implementation of ANSI Standard MUMPS 1995 and ISO/IEC 11756 for FreeBSD, OSX and linux.Missing: 2010s 2020s
  72. [72]
    Enhanced MUMPS V1. - pahihu - GitHub
    Based on MUMPS V1 1.65 from Ray Newman. The master branch gets only bug fixes. If you are looking for speed, additional MUMPS commands and functions, ...Missing: historical | Show results with:historical
  73. [73]
    Install VistA on GT.M or YottaDB - Hardhats.Org
    To load VistA into GT.M/YottaDB, you need to obtain the these from the CACHE.DAT distributed by the VA. Efforts are underway to lobby the VA to distribute the ...
  74. [74]
    M Implementations - The M Programming Language
    This is a list of currently-maintained implementations of the M Programming Language and database. Free Software and Open-Source Implementations. Name, Vendor ...Missing: 2010s 2020s
  75. [75]
    50 things to know about Epic | Healthcare News & Analysis
    Oct 17, 2024 · Epic maintains electronic records for over 325 million patients. Epic's suite of healthcare software products includes EpicCare ambulatory and ...
  76. [76]
    Veterans Deserve Better than VistA - Oracle
    Feb 3, 2023 · It was developed on the MUMPS database, which itself dates to the 1960s. It is programmed in an obsolete programming language with a limited ...
  77. [77]
    Live demonstration of the capabilities of the VistA Free/Open Source ...
    VistA has been successfully deployed in 300 clinics, 170 VA hospitals and approximately 30 private sector sites. There are several commercial ventures offering ...
  78. [78]
    [PDF] VistA Monograph - VA.gov
    Apr 28, 2021 · VA is committed to the Open Source community and was instrumental in establishing the Open. Source Electronic Health Record Agent (OSEHRA) ...
  79. [79]
    [PDF] Indian Health Service HIT Modernization Project - HHS.gov
    May 14, 2019 · From the mid-1980s to the late. 1990s, Digital Standard MUMPS (DSM) and Micronetics Standard MUMPS (MSM) were the preferred platforms. Later, ...
  80. [80]
    What we offer - Reality Consulting
    We have an intimate knowledge of legacy pathology systems (such as Phoenix and Blood Transfusion), legacy MUMPS patient administration systems (such as Trent ...
  81. [81]
    A nice case of Mumps? - The Register
    Dec 23, 2005 · This hospital system is totally electronic, requires no paper record storage and, Martin says, completely supports all hospital functions, ...
  82. [82]
    Leveraging visiun and epic systems to support COVID-19 pandemic ...
    We demonstrated leveraging a lab analytics dashboard, Visiun, combined with Epic reporting tools to function as a surveillance system.Missing: VistA MUMPS
  83. [83]
    Artificial Intelligence Triggers Fast, Lifesaving Care for COVID-19 ...
    Apr 22, 2020 · Epic's machine learning model scans health records and alerts doctors automatically before patients need an ICU admission or other care intervention.Missing: VistA MUMPS handling
  84. [84]
    Epic 2025 Stats | Healthcare IT Today
    Sep 2, 2025 · 6.4 Billion patient record exchanged. 475 million care gaps closed. 52% of patients in the US use MyChart. Patients seen 29 days sooner using ...
  85. [85]
    The Mumps Programming Language: O'Kane, Kevin C. - Amazon.com
    A general purpose programming language environment that provides ACID (Atomic, Consistent, Isolated, and Durable) database access.
  86. [86]
    What Are the Top 10 Programming Languages in Banking ...
    May 29, 2025 · Discover the 10 essential programming languages powering modern banking systems and how they're shaping financial services technology.Missing: commercial | Show results with:commercial
  87. [87]
    M Programming Language: A Guide - Epeec-Project
    Apr 13, 2024 · Diverse Industry Applications: M is not restricted to healthcare; it is widely used in finance, telecommunications, and other sectors; ...
  88. [88]
    Join the M revolution | Opensource.com
    The M programming language is also known as MUMPS. Which stands for ... M is indeed a language that has integrated a database engine to store data persistently.
  89. [89]
    Companies using MUMPS in 2025 | Landbase - GTM Intelligence
    How many companies are using MUMPS in 2025? As of 2025, there are 182 verified companies using MUMPS across various industries, company sizes, and geographies.Missing: commercial share
  90. [90]
    A balanced view of MUMPS - ACM Digital Library
    The MUMPS programming system was designed and developed to facilitate shared conversational access to a hierarchically-organized data base on a small ...
  91. [91]
    None
    ### Summary of Criticisms of MUMPS Language Design
  92. [92]
    The evolution of a language standard - ACM Digital Library
    The MDC continues to examine this problem, and is aware that the lack of variable scoping is one of the frequent criticisms of MUMPS as a programming language.
  93. [93]
    Can a Phoenix arise from the ashes of Mumps? - The EWD Files
    Jan 22, 2013 · Meanwhile, I've developed numerous Open Source projects and made umpteen presentations to the wider IT community, showing off the NoSQL ...
  94. [94]
    Migration of Legacy Mumps Applications to Relational Database ...
    Aug 10, 2025 · Abstract. An extended implementation of the Mumps language is described that facilitates vendor neutral migration of legacy Mumps applications ...Abstract · References (6) · A Lock Manager For...
  95. [95]
    MUMPS to Java - Veterans Health Administration (VHA) - TSRI
    The modernized module resulted in object-oriented and highly maintainable Java compatible with the J2EE framework. VistA is the core Electronic Healthcare ...
  96. [96]
    Veterans Health Administration's VistA MUMPS Modernization Pilot
    The pilot conclusively demonstrated the feasibility of a fully automated conversion of MUMPS into Java, achieving a transformation that encompassed nearly all ...Missing: .net
  97. [97]
    Leveraging LLMs for Legacy Code Modernization: Challenges and ...
    Nov 22, 2024 · Legacy software systems, written in outdated languages like MUMPS and mainframe assembly, pose challenges in efficiency, maintenance, staffing, ...