PSGWOD2 ;BHAM ISC/MPH,PTD,CML-Enter an On-Demand Request (for Pharmacy Use) - CONTINUED ; 16 Apr 93 / 7:38 AM
;;2.3; Automatic Replenishment/Ward Stock ;**17**;4 JAN 94
DIENEW S PSGWD=$S('$D(^PSI(58.1,AOU,2,0)):0,$P(^PSI(58.1,AOU,2,0),"^",3)'="":$P(^PSI(58.1,AOU,2,$P(^PSI(58.1,AOU,2,0),"^",3),0),"^",1),1:0)
S DR="1///0;30///TODAY;31///O;33///ONE TIME REQ.;16///"_PSGWODT
;I %=2 S DR(2,58.11)="1;10;3;5//^S X=$S(PSGWD'=0:$P(^DIC(42,PSGWD,0),""^"",1),1:"""");30;I X="""" S Y=16;31//O;I X'=""O"" S Y=16;33//ON-DEMAND REQ.;16///"_PSGWODT
S DR(2,58.13)=".01"
S DR(2,58.28)="S OLD=$P(^PSI(58.1,AOU,1,DA(1),5,DA,0),""^"",2);1;S QD=X-OLD;2////"_DUZ
Q
;
SCR ;This subroutine will ONLY be called from DIC("S")
S DRGDA=+^(0)
I '$D(^PSDRUG(DRGDA,"I")) D SCR2 Q ;Drug is NOT inactive in file #50 - OK
I +^PSDRUG(DRGDA,"I")>DT D SCR2 Q ;Drug is inactive in file #50 IN FUTURE - OK
I '$D(^PSI(58.1,AOU,1,+Y,"I")) D SCR2 Q ;Drug is inactive in file #50 but NOT file #58.1 - OK
I +$O(^PSI(58.1,AOU,1,+Y,"I",0))>DT D SCR2 Q ;Drug is inactive in file #50 and inactive in file #58.1 IN FUTURE - OK
Q
SCR2 ;Check for NON-PHARMACY ITEMS
I $S('$D(^PSDRUG(DRGDA,2)):1,$P(^(2),"^",3)="":1,$P(^(2),"^",3)["O":1,$P(^(2),"^",3)["U":1,$P(^(2),"^",3)["I":1,$P(^(2),"^",3)["X":1,1:$P(^(2),"^",3)["N") Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSGWOD2 1310 printed Nov 22, 2024@16:49:50 Page 2
PSGWOD2 ;BHAM ISC/MPH,PTD,CML-Enter an On-Demand Request (for Pharmacy Use) - CONTINUED ; 16 Apr 93 / 7:38 AM
+1 ;;2.3; Automatic Replenishment/Ward Stock ;**17**;4 JAN 94
DIENEW SET PSGWD=$SELECT('$DATA(^PSI(58.1,AOU,2,0)):0,$PIECE(^PSI(58.1,AOU,2,0),"^",3)'="":$PIECE(^PSI(58.1,AOU,2,$PIECE(^PSI(58.1,AOU,2,0),"^",3),0),"^",1),1:0)
+1 SET DR="1///0;30///TODAY;31///O;33///ONE TIME REQ.;16///"_PSGWODT
+2 ;I %=2 S DR(2,58.11)="1;10;3;5//^S X=$S(PSGWD'=0:$P(^DIC(42,PSGWD,0),""^"",1),1:"""");30;I X="""" S Y=16;31//O;I X'=""O"" S Y=16;33//ON-DEMAND REQ.;16///"_PSGWODT
+3 SET DR(2,58.13)=".01"
+4 SET DR(2,58.28)="S OLD=$P(^PSI(58.1,AOU,1,DA(1),5,DA,0),""^"",2);1;S QD=X-OLD;2////"_DUZ
+5 QUIT
+6 ;
SCR ;This subroutine will ONLY be called from DIC("S")
+1 SET DRGDA=+^(0)
+2 ;Drug is NOT inactive in file #50 - OK
IF '$DATA(^PSDRUG(DRGDA,"I"))
DO SCR2
QUIT
+3 ;Drug is inactive in file #50 IN FUTURE - OK
IF +^PSDRUG(DRGDA,"I")>DT
DO SCR2
QUIT
+4 ;Drug is inactive in file #50 but NOT file #58.1 - OK
IF '$DATA(^PSI(58.1,AOU,1,+Y,"I"))
DO SCR2
QUIT
+5 ;Drug is inactive in file #50 and inactive in file #58.1 IN FUTURE - OK
IF +$ORDER(^PSI(58.1,AOU,1,+Y,"I",0))>DT
DO SCR2
QUIT
+6 QUIT
SCR2 ;Check for NON-PHARMACY ITEMS
+1 IF $SELECT('$DATA(^PSDRUG(DRGDA,2)):1,$PIECE(^(2),"^",3)="":1,$PIECE(^(2),"^",3)["O":1,$PIECE(^(2),"^",3)["U":1,$PIECE(^(2),"^",3)["I":1,$PIECE(^(2),"^",3)["X":1,1:$PIECE(^(2),"^",3)["N")
QUIT