Healthcare is complicated (stop us if you’ve heard this before). We are all familiar with the detailed organization chart developed by the Joint Economic Committee, which illustrates a bewildering array of government agencies, regulations and mandates.
From appropriate treatment plans, to documenting the details of the care experience, the highly fragmented industry is filled with complexity and has long suffered from a lack of coordination, high variability, and failure to tie costs to quality.
Further compounding the issue, healthcare is filled with its own unique jargon. ACA, VBC, PQRS, HCC, HIE, DRG, RVU – the array of acronyms is dizzying. It can be difficult to keep up with the acronyms, not to mention the buzzword bingo that seemingly changes from year to year.
With this background, we introduce our “Defining Health IT” blog series. In order to provide additional value to our subscribers and the healthcare communities we serve, we will distill a complex acronym, topic, or concept into a clear and simple explanation, with a list of curated resources to dive deeper.
What is MUMPS?
MUMPS, or Massachusetts General Hospital Utility Multi- Programming System, also called M, is a general-purpose computer programming language that provides ACID (Atomic, Consistent, Isolated, and Durable) transaction processing. MUMPS was developed by A. Neil Pappalardo and Curt W. Marble in the late 1960s. The hospital originally used it in the admissions cycle and for laboratory reporting. Eventually, usage of MUMPS spread throughout the healthcare industry, and it was used as the programming language for the first EHRs.
How does MUMPS work?
MUMPS differentiating feature is its “built-in” database, enabling high-level access to disk storage using simple symbolic program variables and subscripted arrays, similar to the variables used by most languages to access main memory. The M database is a key-value database engine optimized for high-throughput transaction processing. As such it is in the class of “schema-less”, “schema-free,” or NoSQL databases.
M is itself a language combined with a database engine. Internally, M stores data in multidimensional hierarchical sparse arrays (also known as key-value nodes, sub-trees, or associative memory). Each array may have up to 32 subscripts, or dimensions.
EHRs perform functions based on the “routine” set up in MUMPS. Routines are simply lines of commands that are set up in a sequence. The order of commands tells the EHR when to perform certain functions. It’s easiest to think of a MUMPS routine as a daily routine that a person would follow.
How is MUMPS used today?
Neil Pappalardo, Chairman of the Board & Founder of MEDITECH, and as previously mentioned, one of the original creators of the MUMPS language, built on the language, developing a new, proprietary language MIIS, Meditech Interpretive Information System (and later, another language named MAGIC). In addition, two main software environments are available today for programming in M:
Intersystems released the initial version of the Cache data platform in 1997. EMR vendor, Epic, relies on Caché as a core technology for its software. In fact, Epic CEO & Founder Judy Faulkner, and Intersystems’ CEO & Founder, were both members on the MUMPS Development Committee.