M Web Magazine Issue 001 (Dec 5, 1996 to Mar 4, 1997)

Who's On

  

In issue number 1, MWM is proud to host one of the fathers of M. Had it not been for the people who developed MUMPS we wouldn't have had a first issue in the first place.

Who's On: Dr. Robert A. Greenes, MD, PhD

Dr. Robert Arthur Greenes (born 1940) is the director of a medical informatics research and development laboratory at Harvard Medical School, located in the Brigham and Women's Hospital which he established in 1978. This laboratory is known as the Decision Systems Group. With an MD degree (Harvard Medical School) and a Ph.D. in Applied Mathematics / Computer Science (also from Harvard), Dr. Greenes' research interests are primarily in medical informatics though he is also a practicing radiologist and faculty member at Harvard Medical School.

"Increasing activity in the use of computers for acquisition, storage, and retrieval of medical information has been simulated by the growing complexity of medical care, and the needs for standardization, quality control, and retrievability of clinical data. Criteria for the design of a clinical data management system include flexibility in its interface with its environment, the capability of handling variable length text string data, and of organizing it in tree-structured files, the availability of this data to a multi-user environment, and the existence of a high-level language facility for programming and development of the system. The scale and cost of the computer configuration required to meet these demands must nevertheless permit gradual expansion, modularity, and usual duplication of hardware. The MGH Utility Multi-Programming System (MUMPS) is a compact time-sharing system on a medium scale computer dedicated to clinical data management applications. A novel system design based on a re-entrant high-level language interpreter has permitted the implementation of a highly responsive, flexible system, both for research and development and for economical, reliable service operation."

Design and Implementation of a Clinical Data Management System

by R.A. Greenes, A.N. Pappalardo, C. W. Marble and G. Octo Barnett

Opening paragraph from Computers and Biomedical Research, Vol 2, No 5, October 1969

Who's Next
We would like to meet the people who made, or are making M the great language that it is.

If you are that person or know of someone who qualifies for this page, let us know. So that mail intended for this page will be handled correctly, please set the subject line to MWM Who.

Starting Point

Dr Greenes was one of the two doctors involved in the M project that, almost 30 years ago, laid out the seed which today as grown into M as we know it. Besides Dr. Greenes, the team was made up of Dr. Octo Barnett, Mr Neil Papallardo and Mr Curt Marble, these last two gentlemen being project engineers.

Funding for the project was through a grant (HM-688-01) from the National Center for Health Services Research and Development and by contract (PH-43-68-1343) with the National Institute of Health. Barnett was the principal investigator of the project. Development took place at MGH (Massachusetts General Hospital). Pappalardo and Marble did most of the coding, with Greenes doing some of it.

At the time, the team did recognize that MUMPS was not a closed, industry-specific (medical) computing environment and that the paragraph quoted in the Opening Paragraph applied to many computing environments, but "we didn't have the luxury of applying the system to those areas initially". The original paper addressed issues of data management, although it had a particular focus on clinical data management.

 

The Problem

From a medical stance, records are not organized in any fixed matter meaning that data could not be organized in well defined formats. Clinical information about a patient derives from a variety of sources and a considerable amount of information consists of narrative or free-text form together with structured data such as that obtained from laboratory data. The inputted data normally necessitates syntax checking or limit checking. String comparisons, extractions and concatenations need to be performed. Also at any one instant, a particular patient record may be accessed (input or output) from a number of different devices. For example, while a doctor might be reading/updating a patient's history, personnel might be entering x-ray result details while laboratory results are being entered. All this would be taking place within the same time frame. Most of the data may be accessed at any time as is the case with statistical processing. The then available computing languages, failed to deal with these issues efficiently.

A clinical data management system is typified by relatively low computer processing power demands yet large volumes of data are needed to store this information. This is mainly because in such environments, users will spend most of the time keying in information (input) or reading that same or machine processed data (output). This low processing/high I-O scenario makes it possible to have a large number of users hooked onto the computer system. However, swapping tasks in and out of memory will generate a considerable amount of overhead which would result in degraded overall system performance.

Again, since the processes are heavily I-O bound, the difference in overall speed between a compiled and an interpreted language would be minimal. In fact, in such a situation interpretation would be a better alternative since it would eliminate the need to compile the source, and make debugging programs easier. Also, dynamic allocation of data and efficient storage of variable length strings and of sparse arrays are standard features of an interpreter. Thus, overall there is a reduction of permanent storage requirements with little real life degradation in performance.

MUMPS turned out to be a procedural language, independent of the hardware it was executing on and device independent. The latter was achieved by assigning numbers to devices. Thus if there are two printers attached to the computer system, output could be directed to any one, by simply changing the device number. Also since MUMPS is interpreted, debugging is made easier. Syntax errors would stop at the problem line and it is possible to interrupt a running program (for example to look at the value of a variable and even change it) and then recommence execution from the break point.

Another positive aspect of MUMPS was that (being interpreted) it allowed programmers to operate either in direct mode or in programming mode. In direct mode, commands entered into the computer would be executed immediately. This is particularly useful, for example, when learning how to program in M or when experimenting with an algorithm. Programming mode would allow the creation of programs through the grouping of commands. Once a program is complete it could be saved on permanent storage and executed whenever needed.

We would like to thank Dr. Robert Greenes for the interview and for the papers:

R.A. Greens, A.N. Pappalardo, C.W. Marble and G. Octo Barnett; "Design and Implementation of a Clinical Data Management System"; Computers and Biomedical Research, Vol 2, No. 5; October 1969.

R.A. Greens, A.N. Pappalardo, C.W. Marble and G. O. Barnett; "A system for clinical data management", Fall Joint Computer Conference, Las Vegas, NV; 1969. 

It is through such personal and paper contributions that we can present this article.

Don't miss out the next issue of MWM. Dr Greenes will share his thoughts on the problems M faced once it took off and future of M. To reserve a copy of MWM subscribe now.

Pass on our Web Address!

E&OE

Next Page

Up/TOC

Tell a Friend


1