1 / 11

MUMPS (aka M)

MUMPS (aka M). James Paull CS 354. General Information. M assachusetts General Hospital U tility M ulti- P rogramming S ystem Originally designed as a platform for handling healthcare databases Utilizes its own database via a hierarchical file system Extremely fast. History.

Download Presentation

MUMPS (aka M)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MUMPS (aka M) James Paull CS 354

  2. General Information • Massachusetts General Hospital Utility Multi-Programming System • Originally designed as a platform for handling healthcare databases • Utilizes its own database via a hierarchical file system • Extremely fast

  3. History • Invented during 1960s by MGH Animal Laboratory workers • Primary inventors: • Dr. Octo Barnett, head of lab • Neil Pappalardo, MIT graduate • 1972 – MUMPS Development Committee • 1977 – Language Standard approved • 1992 - M

  4. History, continued • 1980s – Commercial variations • Intersystems MUMPS (Caché) • Present Day • Veteran’s Administration hospital system • Department of Defense hospital system

  5. MUMPS debate • Pros • Rapid execution • Scalability • Simplicity of database access • Cons • Interface (roll and scroll) • Poor integration • Few tools • No error handling, errors terminate execution

  6. Language design • General Purpose • Originally healthcare-centric • Interpreted • Front-end for database • Semi-relational • Dynamic code

  7. MUMPS syntax / Writability • hello() write “Hello, World!”,! quit • hello() w “Hello, World!”,! q • Shortened command names • Limited commands • Whitespace

  8. MUMPS data types • Single data type • Interpreted as a string, integer, or floating-point • Boolean ( 0 is false, all other values are true) • No declarations • Ambiguity affects reliability • Global variables • Representation of database • ^PATIENT(NAME, WARD, BED, DOCTOR) = PATIENTID

  9. Global variables • ^PATIENT(NAME, WARD, BED, DOCTOR) = PATIENTID • Indexes need not be integers and can be null • ^PATIENT(“SMITH, JOHN”, “EAST 2”, 123, “WELBY, MARCUS”) = 12 • ^PATIENT(“WILLIAMS, TOM”, , , “BROTHERS, JOYCE”) = 16 • Automatic sorting • $ORDER command iterates through all elements

  10. Readability • FOR C=0:1:5 . SET:M = C * C . SET:S = C + C . IF S >= M N=N+1 . ELSE QUIT WRITE N • F C=0:1:5 S:M=C*C S:S=C+C I S>=M N=N+1 E Q W N

  11. Conclusion • Originally an industry specific language • Low-cost solution • For better or for worse, MUMPS still relevant

More Related