In this month’s article, Mike digs through a bunch of BS and puts to rest a persistent Health IT myth. Watch and wonder as he challenges your worldview and opens your mind to new and drastically different paradigms of thought! Marvel as real and sweeping change topples the Health IT world! … Just kidding, nothing’s going to change, but at least it’s fun to read his contrarian rants while you have your morning coffee. Suggested Drink Pairing: Stok cold brew coffee.
“Beauty is Truth, Truth Beauty,” – No Wonder this Capture is Ugly!
With apologies to Keats and Socrates, I have a slightly muddier view of truth and beauty than I should. After all, I work in business development, a field that is best described by a Sisters of Mercy lyric: Giving out and in/ Selling the don’t belong.
Gimme a ring. We’ll talk opps… on the pipeline that I missed. (Gimme a ring.)
I’m quite aware that in the thick of Federal acquisition season, there’s a lot of – ahem – manufactured reality being foisted upon us. (As if the round-the-clock cable news cycle isn’t giving us enough propaganda and fake news.) As someone who’s been on both the operations and the growth side of Federal Health IT, I think I’m good at spotting bullshit when I see it.
As your resident cranky contrarian, it is my job to poke holes in these Health IT myths to reveal the truth underneath. Maybe you will be inspired by these revelations to inspire change in your company or agency. You probably won’t though, and the myth will remain status quo reality. That’s okay. I’m writing clickbait, not a manifesto for change. Like I said: “Giving out and in. Selling the don’t belong.”
So, without further ado, I present a new recurring Meaningless Use Feature:
THE MEANINGLESS USE
In the Sniff Test, I’ll pick one persistent Health IT myth that grinds my gears and show you, with only minimal day drinking and foaming at the mouth, why that myth is wrong and what really needs to be done to make it go away once and for all.
Speaking of going away, today’s myth is:
Myth: MUMPS is outdated and going away.
Oh, what a crock of Bull-HIT. This has been a self-fulfilling prophecy for the past 20 years. MUMPS is, as a language, no different in core capability than any other language. While the syntax of some features is a little weird (e.g., using GOTO where other language would use a WHILE), you can do anything in MUMPS that you can in C/C++, Java, Ruby, etc.
In fact, MUMPS has a NoSQL keystore database built into core language functionality. This makes it innately capable of scaling to cloud-based Big Data implementations, namely the MapReduce/BigTable style databases used by Hadoop, Cloudera, etc.
Where MUMPS fails is in maintenance friendly styles. MUMPS has the following features that, in combination, make its code a nightmare to maintain:
1. Commands can and usually are abbreviated. For example the
set command is often abbreviated as
2. It is a dynamically typed language. There are no separate data types for numbers, strings, etc. It can get pretty wild. In this sense, MUMPS behaves like Perl.
3. Code can be dynamically generated and executed using the XECUTE command. This can lead to a lot of unpredictable results. In this sense, MUMPS behaves like a shell script.
4. Whitespace matters. For example,
set x=2*y+z is not the same as
set x = 2 * y + z. In fact, the latter is illegal; blanks are not allowed. In this sense, MUMPS behaves like Python.
So, there you have it. MUMPS is a language that combines the worst and most obnoxious syntax features of Perl, Python, and shell scripts, and looks like FORTRAN had a baby with Hayes modem commands. This doesn’t make the language out of date; it just makes it niche. Yet there are tons of niche languages out there: FORTRAN, COBOL, PROLOG, Lua, etc. and there’s never a problem finding developers for them. With MUMPS, however, there is constant bellyaching that there are never developers – because no one wants to learn MUMPS.
The thinking goes: The hip millennial kids, with their avocado toast, “ghosting,” and – I don’t know, are fidget spinners still a thing? – want to learn only cool and cutting edge technologies. Technologies like DevSecOps-blessed, Containerized, Dockerized, Flanderized, Balkanized, Simonized, and Bowdlerized implementations of Ruby on Rails or Google Go.
This train of thought then continues: Since the hip millennial kids, with their avocado toast and yoga brunches, don’t want to learn MUMPS, clearly we must find the old greybeard programmers and keep them alive to maintain this arcane code that is written in Ancient Sumerian.
Henry Elliott recruiters hard at work. Bernie has been a MUMPS programmer since 1978. He has also been deceased since 2010.
Well, I have it on good authority that those hip millennial kids, with their avocado toast and their 500% tuition inflation and subsequent crushing student loan debt also would like the chance to find meaningful work and afford, you know, a place to live. While MUMPS programming isn’t sexy, it’s necessary in the financial and medical sectors. Yet I have never seen a system integrator take any interest in training college hires in MUMPS.
Sniff Test Bottom Line
MUMPS isn’t going away anytime soon, but this myth can, if we do the following things:
Train in-house. Federal Health IT System Integrators need to train their own college hires in MUMPS to develop an in-house MUMPS capability. MUMPS-based systems have been “going away” since the 90s. They aren’t going away anytime soon, and don’t wave your hands at Cerner: any Cerner implementation at DoD or VA will take more than a decade to fully realize, and that’s if it works. For these system integrators, depending on certain staffing firms for MUMPS expertise creates vendor lock-in.
Meanwhile, Judy Faulkner is hiring the hip millennials, with their avocado toast and relentless pragmatism, and training them in-house at Epic. No one reading this article is as successful as Ms. Faulkner and 90% of the companies you represent aren’t doing as well as Epic. Start training your hip millennials, with their avocado toast and cheap labor categories, in-house in MUMPS.
Fork the language. MUMPS needs a syntax fork, similar to what Scheme did with LISP. Specific instantiations of MUMPS, like InterSystems, PSL, or GT.M, are concerned with adding functionality to the language. What we really need is something that strips the syntax down to create regular, readable, and therefore maintainable code. This way, your hip millennials, with their avocado toast and freshly minted MUMPS skills, will be able to sustain and enhance these systems to your company’s benefit.
And that’s all you need to do. Andy, play us out:
Next time, on the Meaningless Use Smells Like Bull-HIT Sniff Test:
You Can’t be Neutral on an Agile Release Train: With apologies to both Howard Zinn and Vinnie Paz, it’s time to tell the real story of (Scaled) Agile for Health IT: where it works, where it doesn’t, where it can, and where it never may. We’ll cover why many organizations are actually neutral on Agile, hedging their bets with Waterfall-based processes that limit the promise of agility. We’ll also cover why that wishy-washy behavior also explains why most companies and agencies will use Agile timetables without the Agile principles of flexibility, leading to unfulfillable expectations. This is about the lies your teachers told you. Real actual factual.