Feeds

A nice case of Mumps?

Mumps, now known as M, is a widely used language in American health care.

Combat fraud and increase customer satisfaction

I have a soft spot for “legacy” languages – and I, for one, like getting legacies. Back in my day, we expected to learn new languages for different projects (learning Simula for a port simulation, for instance, made a lot more sense than trying to “standardise” on COBOL; or even FORTRAN, the usual simulation language then). So I was interested when a Register reader, Thomas H. Martin of Georgia, USA, emailed in praise of M, once known as MUMPS.

M is a high-level operating language with extremely strong data manipulation capabilities, Martin explains. “M was originally started at the Massachusetts General Hospital as a health care language, similar to Basic in being totally interpretive and compiled at run time,” he says, but “today M is pre-compiled and, in today’s implementations, extremely fast”.

According to Martin, “M has a rapid application development time; jobs that in some languages take from months to years can be done in days to weeks.” He enumerates some of the characteristics of M:

  • Fast development time
  • Easy to change your coding
  • Scalability
  • Uses sparse arrays, where data space is not allocated until actually needed
  • Handles integers, floating point or text without having to differentiate between them
  • Only 26 commands support the entire language
  • Variables may be set up on the fly; no need to dimension them at program start
  • Files may be created and indexed on the fly
  • You can code functions on the fly
  • High-level commands are available for interacting with the host OS
  • You can scale data storage up into hundreds of terabytes
  • There's a full compliment of management utilities, including database repair without third-party participation
  • It supports "Post-conditionality", a concept not found in any other language Martin is aware of
  • It can interface with Windows via a broker
  • It can use HL7 (ANSI standards for the exchange, management and integration of electronic healthcare information) to communicate with any other computer in the world
  • It supports string lengths of up to 32767 bytes
  • It supports the construction and use of objects
  • It can create web-based applications, using objects and “server pages”
  • It integrates with other M applications easily and seamlessly

Out of that list, I'd pick the sparse array handling and the compact nature of M itself (only 26 commands – reminds me of REXX and I like that too, especially as it has open implementations; as, of course, does M); and perhaps the scalability, management and database repair facilities, as indicators of what makes M different. On the other hand, I'd have to do some extra reading on “post-conditionality”; and not having to distinguish integers from text (and not having to declare variables) worries me a bit - I can see how they're useful but, IMHO, such features can make for interesting errors if misused – as in FORTRAN.

Principally, according to Martin again, M is a “roll ‘n’ scroll” language that uses terminal emulators - almost any terminal emulator will do as long as it can emulate at least a VT-100 – and, of course, this immediately makes M a loser in the fashion stakes. However, M's approach is far more efficient (in terms of screen real-estate) for data entry than a Windows screen.

As "UK plc" is in the process of upgrading the UK National Health System (NHS), it's worth noting that the most famous implementation of M is in the US Department of Veterans Affairs Hospital system: VistA; which stands for Veterans Health Information Systems and Technology Architecture. This hospital system is totally electronic, requires no paper record storage and, Martin says, completely supports all hospital functions, including Lab, Radiology, ADT/Scheduling, HL7 and many others.

Its file management system is the VA Filemanager, based on an application created in the 1970s by George Timson. This system, it's claimed, is simple to use, provides a complete data dictionary for an application and is self-documenting. The VA system supports all M platforms and is now public domain. Recently, it has been scaled down to operate individual physician offices and, for the first time, physician offices can be totally automated for the cost of the equipment needed and an M license.

This sounds like a good “success reference” for the NHS – is the "new NHS" likely to be running as well 35 years after first implementation? And will we still be commemorating the names of its architects? Of course, with modern technology, it should be far more successful – but I wonder...

Today, Martin tells me, there are only a few M operating systems. In the past, there was Micronetics Mumps, Greystone Mumps (GTM), Digital Standard Mumps (DSM-11, VAX DSM), Datatree and Open M. A few years back, however, Intersystems Corporation bought out all but GTM, and now we have Caché, a very high-level, multi-platform implementation of M, and also a successful “post relational” DBMS in its own right (and not limited to M, of course). But today, you can run M on practically any platform/operating system.

So, should all of you out there learn M today? That's a big question, and I really doubt if it's for everyone, but there are certainly good reasons for adopting Caché, for large, modern, database-oriented systems – and then M is available as a “free-ish” gift (there'll be training and cultural costs, of course, if not others). At the very least, I think M is rather more than just an interesting part of programming history – and, like much of our “legacy”, is still in use in some successful systems.®

David Norfolk is the author of IT Governance, published by Thorogood. More details here.

Combat fraud and increase customer satisfaction

More from The Register

next story
OpenBSD founder wants to bin buggy OpenSSL library, launches fork
One Heartbleed vuln was too many for Theo de Raadt
Got Windows 8.1 Update yet? Get ready for YET ANOTHER ONE – rumor
Leaker claims big release due this fall as Microsoft herds us into the CLOUD
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Ubuntu 14.04 LTS: Great changes, but sssh don't mention the...
Why HELLO Amazon! You weren't here last time
Patch iOS, OS X now: PDFs, JPEGs, URLs, web pages can pwn your kit
Plus: iThings and desktops at risk of NEW SSL attack flaw
Next Windows obsolescence panic is 450 days from … NOW!
The clock is ticking louder for Windows Server 2003 R2 users
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
Apple inaugurates free OS X beta program for world+dog
Prerelease software now open to anyone, not just developers – as long as you keep quiet
prev story

Whitepapers

Mobile application security study
Download this report to see the alarming realities regarding the sheer number of applications vulnerable to attack, as well as the most common and easily addressable vulnerability errors.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.