PSOVCNT ;BHAM ISC/SAB - NON-VERIFIED PRESCRIPTION COUNTS ; 06/29/92 16:02
;;7.0;OUTPATIENT PHARMACY;;DEC 1997
K IOP,%ZIS,POP S PSOION=ION,%ZIS="MQ" D ^%ZIS I POP S IOP=PSOION D ^%ZIS K PSOION G END
I $D(IO("Q")) S ZTRTN="EN^PSOVCNT",ZTDESC="NON-VERIFIED PRESCRIPTION COUNT" D ^%ZTLOAD W:$D(ZTSK) !!,"Task Queued to Print " K ZTSK,IO("Q") G END
EN S (PSOVR,PSOVP,PSOV,PSOOUT)=0 F I=0:0 S I=$O(^PS(52.4,I)) Q:'I S PSOVR=PSOVR+1
F I=0:0 S I=$O(^PS(52.4,"C",I)) Q:'I S PSOVP=PSOVP+1
U IO D NOW^%DTC S Y=% X ^DD("DD") W @IOF,!?24,"NON-VERIFIED PRESCRIPTION COUNTS",!?30,Y,!
W !,"TOTAL NUMBER OF NON-VERIFIED PRESCRIPTIONS : ",PSOVR
W !!,"NUMBER OF PATIENTS WITH ONE OR MORE NON-VERIFIED PRESCRIPTIONS : ",PSOVP
W !!,"(NOTE: Total number of patients listed here may not always equal the number at",!,"the bottom, since some patients at the bottom may be counted more than once,",!,"possibly having non-verified Rx's entered on different days.)",!
K ^TMP($J,"PSOV"),^TMP($J,"PSOP") F ZZ=0:0 S ZZ=$O(^PS(52.4,"LD",ZZ)) Q:'ZZ D
.S RXCNT=0 F RR=0:0 S RR=$O(^PS(52.4,"LD",ZZ,RR)) Q:'RR S RXCNT=RXCNT+1
.S ^TMP($J,"PSOV",ZZ)=RXCNT
.F AA=0:0 S AA=$O(^PS(52.4,"LD",ZZ,AA)) Q:'AA I $P($G(^PS(52.4,AA,0)),"^",2) S ^TMP($J,"PSOP",ZZ,$P(^PS(52.4,AA,0),"^",2))=""
.S PCNT=0 F PP=0:0 S PP=$O(^TMP($J,"PSOP",ZZ,PP)) Q:'PP S PCNT=PCNT+1
.S ^TMP($J,"PSOV",ZZ)=^TMP($J,"PSOV",ZZ)_"^"_+$G(PCNT)
D HD1
S (TOT,PATTOT)=0
F AA=0:0 S AA=$O(^TMP($J,"PSOV",AA)) Q:'AA D:$Y+6>IOSL&('$G(PSOOUT)) HD W:'$G(PSOOUT) !?3,$E(AA,4,5)_"-"_$E(AA,6,7)_"-"_$E(AA,2,3),?20,$J($P(^TMP($J,"PSOV",AA),"^"),3),?42,$J($P(^(AA),"^",2),3) D
.S TOT=TOT+$P(^TMP($J,"PSOV",AA),"^"),PATTOT=PATTOT+$P(^(AA),"^",2)
W !?20,"----",?42,"----",!,"TOTAL",?20,TOT,?42,PATTOT I $E(IOST)'["P" W ! K DIR S DIR(0)="E" D ^DIR K DIR
END K ^TMP($J,"PSOV"),^TMP($J,"PSOP") W:$E(IOST)="P" @IOF D ^%ZISC K PSOION,I,PSOVR,PSOVP,PSOV,ZZ,RR,AA,PP,TOT,PATTOT,PCNT,PSOOUT,RXCNT S:$D(ZTQUEUED) ZTREQ="@"
Q
HD I $E(IOST)'["P" W ! K DIR S DIR(0)="E" D ^DIR K DIR I Y'=1 S PSOOUT=1 Q
W @IOF
HD1 W !?20,"# of",?42,"# of",!?5,"Date",?14,"Non-verified Rx's",?35,"Different Patients",!?5,"----",?14,"-----------------",?35,"------------------",!
Q
PSOVCNT ;BHAM ISC/SAB - NON-VERIFIED PRESCRIPTION COUNTS ; 06/29/92 16:02
+1 ;;7.0;OUTPATIENT PHARMACY;;DEC 1997
+2 KILL IOP,%ZIS,POP
SET PSOION=ION
SET %ZIS="MQ"
DO ^%ZIS
IF POP
SET IOP=PSOION
DO ^%ZIS
KILL PSOION
GOTO END
+3 IF $DATA(IO("Q"))
SET ZTRTN="EN^PSOVCNT"
SET ZTDESC="NON-VERIFIED PRESCRIPTION COUNT"
DO ^%ZTLOAD
IF $DATA(ZTSK)
WRITE !!,"Task Queued to Print "
KILL ZTSK,IO("Q")
GOTO END
EN SET (PSOVR,PSOVP,PSOV,PSOOUT)=0
FOR I=0:0
SET I=$ORDER(^PS(52.4,I))
IF 'I
QUIT
SET PSOVR=PSOVR+1
+1 FOR I=0:0
SET I=$ORDER(^PS(52.4,"C",I))
IF 'I
QUIT
SET PSOVP=PSOVP+1
+2 USE IO
DO NOW^%DTC
SET Y=%
XECUTE ^DD("DD")
WRITE @IOF,!?24,"NON-VERIFIED PRESCRIPTION COUNTS",!?30,Y,!
+3 WRITE !,"TOTAL NUMBER OF NON-VERIFIED PRESCRIPTIONS : ",PSOVR
+4 WRITE !!,"NUMBER OF PATIENTS WITH ONE OR MORE NON-VERIFIED PRESCRIPTIONS : ",PSOVP
+5 WRITE !!,"(NOTE: Total number of patients listed here may not always equal the number at",!,"the bottom, since some patients at the bottom may be counted more than once,",!,"possibly having non-verified Rx's entered on different days.)",!
+6 KILL ^TMP($JOB,"PSOV"),^TMP($JOB,"PSOP")
FOR ZZ=0:0
SET ZZ=$ORDER(^PS(52.4,"LD",ZZ))
IF 'ZZ
QUIT
Begin DoDot:1
+7 SET RXCNT=0
FOR RR=0:0
SET RR=$ORDER(^PS(52.4,"LD",ZZ,RR))
IF 'RR
QUIT
SET RXCNT=RXCNT+1
+8 SET ^TMP($JOB,"PSOV",ZZ)=RXCNT
+9 FOR AA=0:0
SET AA=$ORDER(^PS(52.4,"LD",ZZ,AA))
IF 'AA
QUIT
IF $PIECE($GET(^PS(52.4,AA,0)),"^",2)
SET ^TMP($JOB,"PSOP",ZZ,$PIECE(^PS(52.4,AA,0),"^",2))=""
+10 SET PCNT=0
FOR PP=0:0
SET PP=$ORDER(^TMP($JOB,"PSOP",ZZ,PP))
IF 'PP
QUIT
SET PCNT=PCNT+1
+11 SET ^TMP($JOB,"PSOV",ZZ)=^TMP($JOB,"PSOV",ZZ)_"^"_+$GET(PCNT)
End DoDot:1
+12 DO HD1
+13 SET (TOT,PATTOT)=0
+14 FOR AA=0:0
SET AA=$ORDER(^TMP($JOB,"PSOV",AA))
IF 'AA
QUIT
IF $Y+6>IOSL&('$GET(PSOOUT))
DO HD
IF '$GET(PSOOUT)
WRITE !?3,$EXTRACT(AA,4,5)_"-"_$EXTRACT(AA,6,7)_"-"_$EXTRACT(AA,2,3),?20,$JUSTIFY($PIECE(^TMP($JOB,"PSOV",AA),"^"),3),?42,$JUSTIFY($PIECE(^(AA),"^",2),3)
Begin DoDot:1
+15 SET TOT=TOT+$PIECE(^TMP($JOB,"PSOV",AA),"^")
SET PATTOT=PATTOT+$PIECE(^(AA),"^",2)
End DoDot:1
+16 WRITE !?20,"----",?42,"----",!,"TOTAL",?20,TOT,?42,PATTOT
IF $EXTRACT(IOST)'["P"
WRITE !
KILL DIR
SET DIR(0)="E"
DO ^DIR
KILL DIR
END KILL ^TMP($JOB,"PSOV"),^TMP($JOB,"PSOP")
IF $EXTRACT(IOST)="P"
WRITE @IOF
DO ^%ZISC
KILL PSOION,I,PSOVR,PSOVP,PSOV,ZZ,RR,AA,PP,TOT,PATTOT,PCNT,PSOOUT,RXCNT
IF $DATA(ZTQUEUED)
SET ZTREQ="@"
+1 QUIT
HD IF $EXTRACT(IOST)'["P"
WRITE !
KILL DIR
SET DIR(0)="E"
DO ^DIR
KILL DIR
IF Y'=1
SET PSOOUT=1
QUIT
+1 WRITE @IOF
HD1 WRITE !?20,"# of",?42,"# of",!?5,"Date",?14,"Non-verified Rx's",?35,"Different Patients",!?5,"----",?14,"-----------------",?35,"------------------",!
+1 QUIT