| 1 | PSOLMUTL ;BIR/SAB - listman utilities ;03/07/95 | 
|---|
| 2 | ;;7.0;OUTPATIENT PHARMACY;**19,46,84,99,131,132,148,268**;DEC 1997;Build 9 | 
|---|
| 3 | ;External reference FULL^VALM1 supported by dbia 10116 | 
|---|
| 4 | ;External reference $$SETSTR^VALM1 supported by dbia 10116 | 
|---|
| 5 | ;External reference EN2^GMRAPEMO supported by dbia 190 | 
|---|
| 6 | ;External reference to ^ORD(101 supported by DBIA 872 | 
|---|
| 7 | ; | 
|---|
| 8 | EN W @IOF S VALMCNT=0 | 
|---|
| 9 | D:'$D(PSOPAR) ^PSOLSET I '$D(PSOPAR) W $C(7),!!?5,"Site parameter must be defined!",! G INITQ | 
|---|
| 10 | D EN^PSOLMPI | 
|---|
| 11 | INITQ Q | 
|---|
| 12 | HDR ;patient med profile display | 
|---|
| 13 | K VALMHDR S HDR=^TMP("PSOHDR",$J,1,0) | 
|---|
| 14 | S:^TMP("PSOHDR",$J,8,0) X=IORVON_"<A>"_IORVOFF,HDR=$$SETSTR^VALM1(X,HDR,80-$L(X),80) S VALMHDR(1)=HDR | 
|---|
| 15 | I '(^TMP("PSOHDR",$J,8,0)) S PSONOAL="" D ALLERGY^PSOORUT2 I PSONOAL'="" D  K PSONOAL | 
|---|
| 16 | .S X=IORVON_"<NO ALLERGY ASSESSMENT>"_IORVOFF,HDR=$$SETSTR^VALM1(X,HDR,80-$L(X),80) S VALMHDR(1)=HDR | 
|---|
| 17 | S HDR="  PID: "_^TMP("PSOHDR",$J,2,0) | 
|---|
| 18 | S VALMHDR(2)=$$SETSTR^VALM1("Ht(cm): "_^TMP("PSOHDR",$J,7,0),HDR,52,27) | 
|---|
| 19 | S HDR="  DOB: "_^TMP("PSOHDR",$J,3,0)_" ("_^TMP("PSOHDR",$J,4,0)_")" | 
|---|
| 20 | S VALMHDR(3)=$$SETSTR^VALM1(" Wt(kg): "_^TMP("PSOHDR",$J,6,0),HDR,51,28) | 
|---|
| 21 | S HDR="  SEX: "_$E(^TMP("PSOHDR",$J,5,0),1,44) | 
|---|
| 22 | S VALMHDR(4)=HDR | 
|---|
| 23 | S $P(VALMHDR(4)," ",30)="  "_$E(^TMP("PSOHDR",$J,5,0),48,80) | 
|---|
| 24 | Q:$G(PS)="VIEW"!($G(PS)="DELETE") | 
|---|
| 25 | S VALMHDR(5)=$G(^TMP("PSOHDR",$J,9,0)) | 
|---|
| 26 | S VALMHDR(6)=$G(^TMP("PSOHDR",$J,10,0)) | 
|---|
| 27 | Q | 
|---|
| 28 | ; | 
|---|
| 29 | NEWALL(DFN) ; Enter Allergy info. | 
|---|
| 30 | N PSOID D FULL^VALM1,EN2^GMRAPEM0,^PSOORUT2 S VALMBCK="R" | 
|---|
| 31 | Q | 
|---|
| 32 | NEWSEL ;allows order selection by number instead of action | 
|---|
| 33 | S Y=$P(XQORNOD(0),"=",2) N VALMCNT D NEWSEL^PSOORNE2 | 
|---|
| 34 | Q | 
|---|
| 35 | EDTSEL ;allows edit selection by number instead of action - active orders | 
|---|
| 36 | N VALMCNT S Y=$P(XQORNOD(0),"=",2) D EDTSEL^PSOOREDT | 
|---|
| 37 | Q | 
|---|
| 38 | SELAL ;selection of allergy by number instead of action - select allergy | 
|---|
| 39 | N VALMCNT S Y=$P(XQORNOD(0),"=",2) D SELAL^PSOORDA | 
|---|
| 40 | Q | 
|---|
| 41 | EDTNEW ;allows edit selection by number instead of action - new orders | 
|---|
| 42 | N VALMCNT S Y=$P(XQORNOD(0),"=",2) D EDTSEL^PSOORNE1 | 
|---|
| 43 | Q | 
|---|
| 44 | EDTRNEW ;allows edit selection by number instead of action - renew orders | 
|---|
| 45 | N VALMCNT S Y=$P(XQORNOD(0),"=",2) D EDTSEL^PSOORNE4 | 
|---|
| 46 | Q | 
|---|
| 47 | EDTPEN ;allows edit selection by number instead of action - pending orders | 
|---|
| 48 | N VALMCNT S Y=$P(XQORNOD(0),"=",2),SEDT=1 G EDTSEL^PSOORNEW | 
|---|
| 49 | Q | 
|---|
| 50 | HLDHDR ;keeps patient's header info | 
|---|
| 51 | S IOTM=VALM("TM"),IOBM=IOSL W IOSC W @IOSTBM W IORC | 
|---|
| 52 | Q | 
|---|
| 53 | ; | 
|---|
| 54 | BYPASS S:$G(PSOFDR) SIGOK=1 S Y=-1,VALMBCK="Q" | 
|---|
| 55 | Q | 
|---|
| 56 | ACTIONS() ;screen actions on active orders | 
|---|
| 57 | Q:$G(PKI1)=2 0 | 
|---|
| 58 | N DIC,X,Y K DIC,Y S DIC="^ORD(101,"_DA(1)_",10,",X=DA,DIC(0)="ZN" D ^DIC Q:Y<0 0 | 
|---|
| 59 | S Y=Y(0,0) | 
|---|
| 60 | I Y="PSO REFILL" Q $S(PSOACT["R":1,1:0) | 
|---|
| 61 | I Y="PSO RENEW" Q $S(PSOACT["N":1,1:0) | 
|---|
| 62 | I Y="PSO REPRINT" Q $S(PSOACT["P":1,1:0) | 
|---|
| 63 | I Y="PSO EDIT ORDERS" Q $S(PSOACT["E":1,1:0) | 
|---|
| 64 | I Y="PSO RELEASE" Q $S(PSOACT["L":1,1:0) | 
|---|
| 65 | I Y="PSO PARTIAL" Q $S(PSOACT["T":1,1:0) | 
|---|
| 66 | I Y="PSO CANCEL" Q $S(PSOACT["D":1,1:0) | 
|---|
| 67 | I Y="PSO HOLD" Q $S(PSOACT["H":1,1:0) | 
|---|
| 68 | I Y="PSO UNHOLD" Q $S(PSOACT["U":1,1:0) | 
|---|
| 69 | I Y="PSO LM BACKDOOR COPY" Q $S(PSOACT["C":1,1:0) | 
|---|
| 70 | I Y="PSO VERIFY" Q $S(PSOACT["V":1,1:0) | 
|---|
| 71 | I Y="PSO ACTIVITY LOGS" Q 1 | 
|---|
| 72 | Q 1 | 
|---|
| 73 | ACTIONS1() ;screen actions on pending orders | 
|---|
| 74 | Q:$G(PKI1)=2 0 | 
|---|
| 75 | N DIC,X,Y K DIC,Y S DIC="^ORD(101,"_DA(1)_",10,",X=DA,DIC(0)="ZN" D ^DIC Q:Y<0 0 | 
|---|
| 76 | S Y=Y(0,0) | 
|---|
| 77 | I Y="PSO LM DISCONTINUE" Q $S(PSOACT["D":1,1:0) | 
|---|
| 78 | I Y="PSO LM EDIT" Q $S(PSOACT["E":1,1:0) | 
|---|
| 79 | I Y="PSO LM FINISH" Q $S(PSOACT["F":1,1:0) | 
|---|
| 80 | Q 1 | 
|---|
| 81 | PKIACT() ;screen actions on pending orders DEA/PKI proj. | 
|---|
| 82 | Q:$G(PKI1)=2 0 | 
|---|
| 83 | Q 1 | 
|---|