- PSDOPTY ;BIR/LTL-Review OP Transactions by Rx # ; 21 July 94
- ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- S PSDRX=PSDRX(4)-1,PSDT(1)=0
- LOOP F S PSDRX=$O(^PSD(58.81,"AOP",PSDRX)) W:$E(IOST)="C" "." Q:'PSDRX!(PSDRX>PSDRX(2))!(PSDOUT) S PSDRX(5)=0 F S PSDRX(5)=$O(^PSD(58.81,"AOP",PSDRX,PSDRX(5))) Q:'PSDRX(5) D Q:PSDOUT
- .S PSDR(2)=$G(^PSD(58.81,PSDRX(5),0))
- .Q:$P(PSDR(2),U,3)'=PSDLOC
- .S PSDU=$P($G(^PSDRUG(+$P(PSDR(2),U,5),0)),U)
- .S PSDR(4)=$G(^PSD(58.81,PSDRX(5),6))
- .D:$Y+6>IOSL HEADER Q:PSDOUT
- .W !,PSDU
- .W:$P(PSDR(4),U,6)&($P(PSDR(2),U,7)'=$P(PSDR(4),U,6)) ?54,"RPH=> ",$E($P($G(^VA(200,+$P(PSDR(4),U,6),0)),U),1,20)
- .S Y=$E($P(PSDR(2),U,4),1,12) X ^DD("DD") W !!,Y,?19
- .S DFN=$P($G(^PSRX(+$P(PSDR(4),U),0)),U,2)
- .N C S Y=DFN,C=$P(^DD(58.81,73,0),U,2) D Y^DIQ
- .W $P(PSDR(4),U,5),?28,Y
- .D PID^VADPT6 W " ("_VA("BID")_")",?60
- .I $P(PSDR(4),U,2) S Y=$P($G(^PSRX(+$P(PSDR(4),U),1,+$P(PSDR(4),U,2),0)),U,18) X ^DD("DD") W Y
- .I $P(PSDR(4),U,4) S Y=$P($G(^PSRX(+$P(PSDR(4),U),"P",+$P(PSDR(4),U,4),0)),U,19) X ^DD("DD") W Y
- .I '$P(PSDR(4),U,2)&('$P(PSDR(4),U,4)) S Y=$P($G(^PSRX(+$P(PSDR(4),U),2)),U,13) X ^DD("DD") W Y
- .W !,"Qty: ",$P(PSDR(2),U,6)," Bal: ",$P(PSDR(2),U,10)-$P(PSDR(2),U,6),?22,"RPH=> ",$P($G(^VA(200,+$P(PSDR(2),U,7),0)),U),?60
- .W $S($P(PSDR(4),U,2):"Refill #"_$P(PSDR(4),U,2),$P(PSDR(4),U,4):"Partial #"_$P(PSDR(4),U,4),1:"Original")
- .W !,LN,!
- 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="@"
- D KVAR^VADPT K IO("Q"),VA("PID"),VA("BID"),^TMP("PSD",$J)
- 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,"-",81)="",PG=PG+1 W !,"Outpatient Activity from Rx # ",PSDRX(1)," to Rx # ",PSDRX(3),?70,"PAGE: ",PG,!,LN,!,"Date Posted",?19,"Rx#",?28,"Patient",?60,"Date Released",!,LN
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSDOPTY 2045 printed Feb 18, 2025@23:13:49 Page 2
- PSDOPTY ;BIR/LTL-Review OP Transactions by Rx # ; 21 July 94
- +1 ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97
- +2 SET PSDRX=PSDRX(4)-1
- SET PSDT(1)=0
- LOOP FOR
- SET PSDRX=$ORDER(^PSD(58.81,"AOP",PSDRX))
- if $EXTRACT(IOST)="C"
- WRITE "."
- if 'PSDRX!(PSDRX>PSDRX(2))!(PSDOUT)
- QUIT
- SET PSDRX(5)=0
- FOR
- SET PSDRX(5)=$ORDER(^PSD(58.81,"AOP",PSDRX,PSDRX(5)))
- if 'PSDRX(5)
- QUIT
- Begin DoDot:1
- +1 SET PSDR(2)=$GET(^PSD(58.81,PSDRX(5),0))
- +2 if $PIECE(PSDR(2),U,3)'=PSDLOC
- QUIT
- +3 SET PSDU=$PIECE($GET(^PSDRUG(+$PIECE(PSDR(2),U,5),0)),U)
- +4 SET PSDR(4)=$GET(^PSD(58.81,PSDRX(5),6))
- +5 if $Y+6>IOSL
- DO HEADER
- if PSDOUT
- QUIT
- +6 WRITE !,PSDU
- +7 if $PIECE(PSDR(4),U,6)&($PIECE(PSDR(2),U,7)'=$PIECE(PSDR(4),U,6))
- WRITE ?54,"RPH=> ",$EXTRACT($PIECE($GET(^VA(200,+$PIECE(PSDR(4),U,6),0)),U),1,20)
- +8 SET Y=$EXTRACT($PIECE(PSDR(2),U,4),1,12)
- XECUTE ^DD("DD")
- WRITE !!,Y,?19
- +9 SET DFN=$PIECE($GET(^PSRX(+$PIECE(PSDR(4),U),0)),U,2)
- +10 NEW C
- SET Y=DFN
- SET C=$PIECE(^DD(58.81,73,0),U,2)
- DO Y^DIQ
- +11 WRITE $PIECE(PSDR(4),U,5),?28,Y
- +12 DO PID^VADPT6
- WRITE " ("_VA("BID")_")",?60
- +13 IF $PIECE(PSDR(4),U,2)
- SET Y=$PIECE($GET(^PSRX(+$PIECE(PSDR(4),U),1,+$PIECE(PSDR(4),U,2),0)),U,18)
- XECUTE ^DD("DD")
- WRITE Y
- +14 IF $PIECE(PSDR(4),U,4)
- SET Y=$PIECE($GET(^PSRX(+$PIECE(PSDR(4),U),"P",+$PIECE(PSDR(4),U,4),0)),U,19)
- XECUTE ^DD("DD")
- WRITE Y
- +15 IF '$PIECE(PSDR(4),U,2)&('$PIECE(PSDR(4),U,4))
- SET Y=$PIECE($GET(^PSRX(+$PIECE(PSDR(4),U),2)),U,13)
- XECUTE ^DD("DD")
- WRITE Y
- +16 WRITE !,"Qty: ",$PIECE(PSDR(2),U,6)," Bal: ",$PIECE(PSDR(2),U,10)-$PIECE(PSDR(2),U,6),?22,"RPH=> ",$PIECE($GET(^VA(200,+$PIECE(PSDR(2),U,7),0)),U),?60
- +17 WRITE $SELECT($PIECE(PSDR(4),U,2):"Refill #"_$PIECE(PSDR(4),U,2),$PIECE(PSDR(4),U,4):"Partial #"_$PIECE(PSDR(4),U,4),1:"Original")
- +18 WRITE !,LN,!
- End DoDot:1
- if PSDOUT
- QUIT
- 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="@"
- +3 DO KVAR^VADPT
- KILL IO("Q"),VA("PID"),VA("BID"),^TMP("PSD",$JOB)
- +4 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,"-",81)=""
- SET PG=PG+1
- WRITE !,"Outpatient Activity from Rx # ",PSDRX(1)," to Rx # ",PSDRX(3),?70,"PAGE: ",PG,!,LN,!,"Date Posted",?19,"Rx#",?28,"Patient",?60,"Date Released",!,LN