Feeds

A nice case of Mumps?

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

Boost IT visibility and business value

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.

Boost IT visibility and business value

More from The Register

next story
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
Leaked Windows Phone 8.1 Update specs tease details of Nokia's next mobes
New screen sizes, dual SIMs, voice over LTE, and more
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
Mozilla keeps its Beard, hopes anti-gay marriage troubles are now over
Plenty on new CEO's todo list – starting with Firefox's slipping grasp
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Backing up Big Data
Solving backup challenges and “protect everything from everywhere,” as we move into the era of big data management and the adoption of BYOD.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.