46 lines
2.2 KiB
Mathematica
46 lines
2.2 KiB
Mathematica
RMPFET ;DDC/KAW-ENTER/EDIT PATIENT ORDERS; [ 06/16/95 3:06 PM ]
|
|
;;2.0;REMOTE ORDER/ENTRY SYSTEM;;JUN 16, 1995
|
|
RMPFSET I '$D(RMPFMENU) D MENU^RMPFUTL I '$D(RMPFMENU) W !!,$C(7),"*** A MENU SELECTION MUST BE MADE ***" Q ;;RMPFMENU must be defined
|
|
I '$D(RMPFSTAN)!'$D(RMPFDAT)!'$D(RMPFSYS) D ^RMPFUTL Q:'$D(RMPFSTAN)!'$D(RMPFDAT)!'$D(RMPFSYS)
|
|
W @IOF,"ENTER/EDIT PATIENT ORDERS",!
|
|
PAT W ! S DIC=2,DIC(0)="AEQM" D ^DIC G END:Y=-1 S DFN=+Y D PAT^RMPFUTL
|
|
D DISP^RMPFDD,CONT G END:$D(RMPFOUT)
|
|
SELECT I '$D(RMPFTE),$D(DFN) D ^RMPFDD2
|
|
S (RMPFORD,RMPFTP)="P" D ^RMPFDS1 G END:$D(RMPFOUT)
|
|
K RMPFX G ADD:'RMPFCX
|
|
D SEL G END:$D(RMPFOUT),PAT:RMPFSEL1=""
|
|
G ADD:"Aa"[RMPFSEL1,RMPFSET:'$D(RMPFX)
|
|
ADDEDIT S S0=^RMPF(791810,RMPFX,0),RMPFST=$P(S0,U,3),RMPFTYP=$P(S0,U,2)
|
|
S RMPFHAT="" I RMPFTYP,$D(^RMPF(791810.1,RMPFTYP,0)) S RMPFHAT=$P(^(0),U,2)
|
|
S X="" I RMPFST,$D(^RMPF(791810.2,RMPFST,0)) S X=$P(^(0),U,2)
|
|
S:"IPED"[X RMPFEDIT="" N RMPFHAT,RMPFTYP,RMPFST,RMPFTP,RMPFTE
|
|
D ^RMPFDT1 G END:$D(RMPFOUT) K RMPFEDIT
|
|
D ^RMPFET0 G END:$D(RMPFOUT) I $D(RMPFSEL),RMPFSEL="E" G ADD
|
|
I $D(RMPFSEL),"Dd"[RMPFSEL K RMPFTE G SELECT
|
|
G ADDEDIT:$D(RMPFSEL)!$D(RMPFQUT) I '$D(RMPFX) K RMPFTE G SELECT
|
|
ADD D ^RMPFET1 G END:$D(RMPFOUT),RMPFSET:'$D(RMPFX),ADDEDIT
|
|
END K DFN,RMPFNAM,RMPFDOB,RMPFSSN,RMPFE,RMPFCX,RMPFSEL,RMPFO,RMPFS
|
|
K RMPFTP,RMPFEDIT,RMPFTYP,RMPFHAT,RMPFST,RMPFY1,L,%Y,RMPFORD,D1,RMPFO
|
|
K RMPFOUT,RMPFQUT,RMPFSEL1,RMPFTE,ZZ,ST,RMPFMOD
|
|
K %,%DT,POP,AB,DA,DR,CX,CN,C,I,X,Y,CM,M,ZY,DIE,DI,DQ,DIC,D0,%,DISYS Q
|
|
CONT F I=1:1 Q:$Y>21 W !
|
|
W !,"Enter <RETURN> to continue or <^> to exit: " D READ
|
|
G CONT:$D(RMPFQUT) K RMPFS,CX,X,I Q
|
|
READ K RMPFOUT,RMPFQUT
|
|
R Y:DTIME I '$T W $C(7) R Y:5 G READ:Y="." S:'$T Y=U
|
|
I Y?1"^".E S (RMPFOUT,Y)="" Q
|
|
S:Y?1"?".E (RMPFQUT,Y)=""
|
|
Q
|
|
SEL ;;Select action to be taken on order
|
|
;; input: RMPFS (opt.)
|
|
;;output: RMPFX,RMPFSEL1
|
|
K RMPFX I '$D(RMPFS) S RMPFSEL1="A" G SELE
|
|
F I=1:1 Q:$Y>21 W !
|
|
SEL1 W !,"Select a Number to edit, <A>dd or <RETURN> to exit: " D READ
|
|
G SELE:$D(RMPFOUT)
|
|
SEL2 I $D(RMPFQUT) W !!,"Enter the number to the left of the order you wish to edit",!?5,"<A> to add a new order or",!?5,"<RETURN> to continue." G SEL1
|
|
S RMPFSEL1=Y G SELE:RMPFSEL1="",SELE:"Aa"[RMPFSEL1
|
|
I '$D(RMPFS(Y)) S RMPFQUT="" G SEL2
|
|
S RMPFX=RMPFS(Y)
|
|
SELE K RMPFS,X,Y,I Q
|