PSDADJW ;BIR/LTL-Review Adjustment Transactions for a Drug; 2 Nov 94 [ 11/02/94 12:19 PM ]
;;3.0; CONTROLLED SUBSTANCES ;**32**;13 Feb 97
;
; Reference to ^PSD(58.81 supported by DBIA # 2808
;
START ;compiles and prints output
N LN,JJ,KK,NN,PSDR,PG S (PG,PSDOUT)=0 D HEADER
LOOP F S PSDT=$O(^PSD(58.81,"ACT",PSDT)) Q:'PSDT!(PSDT>PSDTB(1)) F JJ=0:0 S JJ=$O(^PSD(58.81,"ACT",PSDT,JJ)) Q:'JJ D:JJ=PSDLOC G:PSDOUT END
.F KK=0:0 S KK=$O(^PSD(58.81,"ACT",PSDT,JJ,KK)) Q:'KK F NN=0:0 S NN=$O(^PSD(58.81,"ACT",PSDT,JJ,KK,9,NN)) Q:'NN D
..S PSDR=KK
..Q:'$D(PSDA(+PSDR))
..S PSDR(1)=NN
..S PSDR(2)=$G(^PSD(58.81,NN,0))
..D:$Y+7>IOSL HEADER Q:PSDOUT
..W !,$$FMTE^XLFDT($E($P(PSDR(2),U,4),1,12),"2P"),?18,PSDA(PSDR)
..W ?61,$J($P(PSDR(2),U,6),6),?69,$P(PSDR(2),U,16),?116
..W $E($P($G(^VA(200,+$P(PSDR(2),U,7),0)),U),1,16),!
END W:$E(IOST)'="C" @IOF
I $E(IOST)="C",'PSDOUT S DIR(0)="EA",DIR("A")="END OF REPORT! Press <RET> to return to the menu." D ^DIR
D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" K IO("Q")
Q
I $E(IOST,1,2)'="P-",PG S DIR(0)="E" D ^DIR K DIR I 'Y S PSDOUT=1 Q
I $$S^%ZTLOAD W !!,"Task #",$G(ZTSK),", ",$G(ZTDESC)," was stopped by ",$P($G(^VA(200,+$G(DUZ),0)),U),"." S PSDOUT=1
W:$Y @IOF S $P(LN,"-",80)="",PG=PG+1 W !,"Adjustments from ",PSDTB(2)," to ",PSDTB(3),?70,"PAGE: ",PG,!,LN,!?2,"Date",?18,"Drug",?64,"QTY",?69,"Reason",?116,"Pharmacist",!,LN,!
Q
PSDADJW ;BIR/LTL-Review Adjustment Transactions for a Drug; 2 Nov 94 [ 11/02/94 12:19 PM ]
+1 ;;3.0; CONTROLLED SUBSTANCES ;**32**;13 Feb 97
+2 ;
+3 ; Reference to ^PSD(58.81 supported by DBIA # 2808
+4 ;
START ;compiles and prints output
+1 NEW LN,JJ,KK,NN,PSDR,PG
SET (PG,PSDOUT)=0
DO HEADER
LOOP FOR
SET PSDT=$ORDER(^PSD(58.81,"ACT",PSDT))
IF 'PSDT!(PSDT>PSDTB(1))
QUIT
FOR JJ=0:0
SET JJ=$ORDER(^PSD(58.81,"ACT",PSDT,JJ))
IF 'JJ
QUIT
IF JJ=PSDLOC
Begin DoDot:1
+1 FOR KK=0:0
SET KK=$ORDER(^PSD(58.81,"ACT",PSDT,JJ,KK))
IF 'KK
QUIT
FOR NN=0:0
SET NN=$ORDER(^PSD(58.81,"ACT",PSDT,JJ,KK,9,NN))
IF 'NN
QUIT
Begin DoDot:2
+2 SET PSDR=KK
+3 IF '$DATA(PSDA(+PSDR))
QUIT
+4 SET PSDR(1)=NN
+5 SET PSDR(2)=$GET(^PSD(58.81,NN,0))
+6 IF $Y+7>IOSL
DO HEADER
IF PSDOUT
QUIT
+7 WRITE !,$$FMTE^XLFDT($EXTRACT($PIECE(PSDR(2),U,4),1,12),"2P"),?18,PSDA(PSDR)
+8 WRITE ?61,$JUSTIFY($PIECE(PSDR(2),U,6),6),?69,$PIECE(PSDR(2),U,16),?116
+9 WRITE $EXTRACT($PIECE($GET(^VA(200,+$PIECE(PSDR(2),U,7),0)),U),1,16),!
End DoDot:2
End DoDot:1
IF PSDOUT
GOTO END
END IF $EXTRACT(IOST)'="C"
WRITE @IOF
+1 IF $EXTRACT(IOST)="C"
IF 'PSDOUT
SET DIR(0)="EA"
SET DIR("A")="END OF REPORT! Press <RET> to return to the menu."
DO ^DIR
+2 DO ^%ZISC
IF $DATA(ZTQUEUED)
SET ZTREQ="@"
KILL IO("Q")
+3 QUIT
+1 IF $EXTRACT(IOST,1,2)'="P-"
IF PG
SET DIR(0)="E"
DO ^DIR
KILL DIR
IF 'Y
SET PSDOUT=1
QUIT
+2 IF $$S^%ZTLOAD
WRITE !!,"Task #",$GET(ZTSK),", ",$GET(ZTDESC)," was stopped by ",$PIECE($GET(^VA(200,+$GET(DUZ),0)),U),"."
SET PSDOUT=1
+3 IF $Y
WRITE @IOF
SET $PIECE(LN,"-",80)=""
SET PG=PG+1
WRITE !,"Adjustments from ",PSDTB(2)," to ",PSDTB(3),?70,"PAGE: ",PG,!,LN,!?2,"Date",?18,"Drug",?64,"QTY",?69,"Reason",?116,"Pharmacist",!,LN,!
+4 QUIT