Comment by rwmj

3 years ago

It's surprising how common MUMPS is (or certainly was in the 1980s through 90s when I briefly used COSTAR). Basically if it's an old medical records database or system it could be MUMPS. Also, very weird language, it reminded me a lot of 80s-era BASIC, if accidentally altering a variable in BASIC could corrupt some medical records.

Also does anyone remember MQL ("Medical Query Language")? It was a way for doctors to write queries on the MUMPS database. As I recall it was totally imperative (unlike SQL) so basically any query started with an outer for loop over patient records. Any query even slightly complicated involved nested loops and the associated O(n^k) performance.

Edit: Found a paper describing MQL: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2578357/pdf/pro... which includes this example:

  10 FOR EACH PATIENT ; WHEN PRIMARY MD IS SMITH
  20 WHEN DATE AFTER TODAY-1 YEAR, DIVISION IS DX, CODE IS TUBERCULOSIS
  30 LIST NAME, UNIT NUMBER, DATE, STATUS

(To be fair this is far more approachable than writing the equivalent in raw MUMPS)

It looks like SAS, which is equally horrible since it inherits all the limitations of punch card input from System/360.

  • SAS is a great language—shame it’s proprietary. It is very well suited for data processing.