Mumps Class 6

From VistApedia
Jump to: navigation, search
Using username "worldvistaEHR".
Authenticating with public key "rsa-key-20101206"
Linux cassandra 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Jan 20 02:51:53 2011
worldvistaEHR@cassandra:~$ gtm

GTM>; Structure of Mumps: Command, Argument, Command Argument

GTM>; comma: repeats a command

GTM>; colon (:): acts like a mini if on a command

GTM>; this is called post-conditional

GTM>; do and goto take post conditionals on arguments

GTM>; Set command

GTM>; Simple form

GTM>SET X=1

GTM>; with a comma

GTM>SET X=1,Y=2

GTM>; with parentheses

GTM>SET (X,Y)=3

GTM>; with $Piece and $Extract

GTM>SET X="MARY HAS A LITTLE LAMB"

GTM>WRITE $PIECE(X," ",2)
HAS
GTM>SET $PIECE(X," ",2)="HAD"

GTM>WRITE X
MARY HAD A LITTLE LAMB
GTM>SET $EXTRACT(X,1,2)="BU"

GTM>WRITE X
BURY HAD A LITTLE LAMB
GTM>WRITE X,Y
BURY HAD A LITTLE LAMB3
GTM>; new line !

GTM>WRITE X,!,Y
BURY HAD A LITTLE LAMB
3
GTM>READ X,Y
45
GTM>WRITE X
4
GTM>WRITE Y
5
GTM>WRITE ?15,"HELLO"
               HELLO
GTM>WRITE ?20,"HELLO"
                    HELLO
GTM>; ? positions where the write happens on a screen

GTM>; # means form feed. For printers, starts the next page; For screens, it cle
ars the screen

GTM>WRITE #

GTM>; Write can send control characters as well. Use $CHAR to send the character
 which you want to write.

GTM>; Write ASCII bell

GTM>WRITE $CHAR(7)

GTM>WRITE $CHAR(27),"[31m"

GTM>; I am in red!

GTM>; Reset terminal

GTM>WRITE $CHAR(27),"c"

GTM>; * notation for write

GTM>; Typically not standardized

GTM>; * usually means $Char

GTM>WRITE *27,"c"

GTM>; Read

GTM>; Normal Read

GTM>read X
HELLO WORLD
GTM>WRITE X
HELLO WORLD
GTM>READ X#3
HEL
GTM>Read X#6
qwerty
GTM>; using a # with read restricts it to a specific number of characters

GTM>Read X:5

GTM>WRITE X

GTM>WRITE X=""
1
GTM>; using : with read makes it wait only for a specific number of seconds befo
re returning

GTM>d ^XUP

Setting up programmer environment
This is a TEST account.

Access Code: *********
Terminal Type set to: C-VT100

Select OPTION NAME:
EHR:cassandra>W DTIME
9999
EHR:cassandra>READ X:5

EHR:cassandra>WRITE X=""
1
EHR:cassandra>READ X:5

EHR:cassandra>ELSE  WRITE "I didn't read anything"
I didn't read anything
EHR:cassandra>; if you time out, you can use Else to execute code after the time
out

EHR:cassandra>READ X:5 ELSE  WRITE "I didn't read anything"
4
EHR:cassandra>WRITE X
4
EHR:cassandra>READ X:5 ELSE  WRITE "I didn't read anything"
I didn't read anything
EHR:cassandra>READ X

EHR:cassandra>WRITE X

EHR:cassandra>WRITE X=""
1
EHR:cassandra>; Using the *

EHR:cassandra>READ *X

EHR:cassandra>WRITE X
27
EHR:cassandra>; * allows you to read one character, including control characters


EHR:cassandra>; Kill command

EHR:cassandra>Removes either a local variable or a global variable.
%GTM-E-INVCMD, Invalid command keyword encountered
        Removes either a local variable or a global variable.
        ^-----

EHR:cassandra>; Removes either a local variable or a global variable.

EHR:cassandra>; WARNING: REMOVING A GLOBAL REMOVES IT FROM DISK

EHR:cassandra>; THIS MEAN YOU CAN REMOVE ALL PATIENTS FROM A DATABASE WITH A FEW
 CHARACTERS OF TYPING

EHR:cassandra>; If you have a ^ in front of a variable, it means that this varia
ble is stored on disk, and you can retrieve it later.

EHR:cassandra>SET ^SAM=1

EHR:cassandra>; Just stored 1 on disk

EHR:cassandra>KILL ^SAM

EHR:cassandra>; Just removed ^SAM from the disk

EHR:cassandra>SET LOCALSAM=1

EHR:cassandra>KILL LOCALSAM

EHR:cassandra>KILL LOCALSAM

EHR:cassandra>; Kill allows you to remove a variable even if it is not present.
This is a nice feature; you don't have to check if a variable exists before kill
ing it.

EHR:cassandra>zed "PSOSTART"

EHR:cassandra>SET EMPLOYEE("NAME")="HABA,HABA"

EHR:cassandra>SET EMPLOYEE("PHONE",1)="07623423423"

EHR:cassandra>SET EMPLOYEE("PHONE",2)="098798709384"

EHR:cassandra>SET EMPLOYEE("PHONE",3)="9827349738"

EHR:cassandra>SET EMPLOYEE("DATE OF BIRTH")="20100101"

EHR:cassandra>zwrite EMPLOYEE
EMPLOYEE("DATE OF BIRTH")=20100101
EMPLOYEE("NAME")="HABA,HABA"
EMPLOYEE("PHONE",1)="07623423423"
EMPLOYEE("PHONE",2)="098798709384"
EMPLOYEE("PHONE",3)=9827349738

EHR:cassandra>; Kill kills off branches if requested

EHR:cassandra>; KILL EMPLOYEE will delete all of Employee

EHR:cassandra>; Kill EMPLOYEE("PHONE") will kill the phone tree, but nothing els
e

EHR:cassandra>; Let's try it

EHR:cassandra>KILL EMPLOYEE("PHONE")

EHR:cassandra>ZWRITE EMPLOYEE
EMPLOYEE("DATE OF BIRTH")=20100101
EMPLOYEE("NAME")="HABA,HABA"

EHR:cassandra>; To delete a specific node:

EHR:cassandra>KILL EMPLOYEE("PHONE",1)

EHR:cassandra>ZED

EHR:cassandra>