| 1 | PSDCOSV ;BIR/LTL-Cost Report by High Volume, PSDCOST (cont'd) ; 2 Aug 94 | 
|---|
| 2 | ;;3.0; CONTROLLED SUBSTANCES ;;13 Feb 97 | 
|---|
| 3 | N PSDN,LN,PG,X2 S PSDSD(1)=PSDSD S:$D(ZTQUEUED) ZTREQ="@" | 
|---|
| 4 | F  S PSDSD=$O(^PSD(58.81,"ACT",PSDSD)) W:$E(IOST)="C" "." Q:'PSDSD!(PSDSD>PSDED)  S PSDN=$O(^PSD(58.81,"ACT",PSDSD,0)) D:$P($G(^PSD(58.8,+PSDN,0)),U,3)=+PSDSITE | 
|---|
| 5 | .S PSDN(1)=$O(^PSD(58.81,"ACT",PSDSD,PSDN,0)) | 
|---|
| 6 | .S PSDN(2)=$O(^PSD(58.81,"ACT",PSDSD,PSDN,PSDN(1),0)) | 
|---|
| 7 | .Q:PSDN(2)<2!(PSDN(2)>5)&(PSDN(2)'=9) | 
|---|
| 8 | .S PSDN(3)=$P($G(^PSDRUG(+PSDN(1),0)),U) | 
|---|
| 9 | .S PSDN(4)=$O(^PSD(58.81,"ACT",PSDSD,PSDN,PSDN(1),PSDN(2),0)) | 
|---|
| 10 | .S PSDN(8)=$G(^PSD(58.81,+PSDN(4),0)) | 
|---|
| 11 | .Q:'$D(LOC(+$P(PSDN(8),U,18)))&(PSDN(2)'=9)!('$D(LOC(+PSDN))&(PSDN(2)=9)) | 
|---|
| 12 | .;get NAOU for everything including adjustments | 
|---|
| 13 | .S PSDN(9)=$S(PSDN(2)=9:PSDN,1:$P(PSDN(8),U,18)) | 
|---|
| 14 | .;qty rec'd by NAOU w/green sheet | 
|---|
| 15 | .S PSDN(5)=$P($G(^PSD(58.81,+PSDN(4),1)),U,8) | 
|---|
| 16 | .;qty dispensed by Master vault w/o greensheet | 
|---|
| 17 | .S:$P(PSDN(8),U,17)']"" PSDN(5)=$P(PSDN(8),U,6) | 
|---|
| 18 | .;Returned to Stock | 
|---|
| 19 | .S:PSDN(2)=3 PSDN(5)=-$P($G(^PSD(58.81,+PSDN(4),3)),U,2) | 
|---|
| 20 | .;Destroyed | 
|---|
| 21 | .S:PSDN(2)=4 PSDN(5)=-$P($G(^PSD(58.81,+PSDN(4),3)),U,5) | 
|---|
| 22 | .;include transfer ins with dispensed | 
|---|
| 23 | .S:PSDN(2)=5 PSDN(2)=2 | 
|---|
| 24 | .;Check for transfers | 
|---|
| 25 | .S PSDN(6)=$G(^PSD(58.81,+PSDN(4),7)) | 
|---|
| 26 | .D:$P(PSDN(6),U)>PSDSD(1)&($P(PSDN(6),U)<PSDED) | 
|---|
| 27 | ..S PSDN(5)=PSDN(5)-$P(PSDN(6),U,7),PSDN(2)=5 | 
|---|
| 28 | .S PSDN(7)=$G(^TMP("PSD",$J,PSDN(3))) | 
|---|
| 29 | .;total dispensed | 
|---|
| 30 | .S $P(^TMP("PSD",$J,PSDN(3)),U)=$P(PSDN(7),U)+PSDN(5) | 
|---|
| 31 | .;total cost | 
|---|
| 32 | .S $P(^TMP("PSD",$J,PSDN(3)),U,2)=$P(^TMP("PSD",$J,PSDN(3)),U,2)+($P($G(^PSDRUG(+PSDN(1),660)),U,6)*PSDN(5)) | 
|---|
| 33 | .K PSDN | 
|---|
| 34 | PRTQUE ;queues print after data is compiled | 
|---|
| 35 | I $D(ZTQUEUED) K ZTSAVE,ZTSK S ZTIO=PSDIO,ZTDESC="CS High Volume Drug Report",ZTRTN="START^PSDCOSV",ZTSAVE("PSD*")="",ZTSAVE("^TMP(""PSD"",$J,")="",ZTSAVE("LOC(")="",ZTSAVE("ALL")="" D ^%ZTLOAD,HOME^%ZIS G QUIT | 
|---|
| 36 | START S (PG,PSDN)=0 D HEADER | 
|---|
| 37 | F  S PSDN=$O(^TMP("PSD",$J,PSDN)) Q:PSDN']""  S PSDN(1)=$G(^TMP("PSD",$J,PSDN)) D:$P(PSDN(1),U)>PSD | 
|---|
| 38 | .S ^TMP("PSD",$J,999999999-$P(PSDN(1),U),PSDN)=$P(PSDN(1),U)_U_$P(PSDN(1),U,2) | 
|---|
| 39 | F  S PSDN=$O(^TMP("PSD",$J,PSDN)) Q:'PSDN  S PSDN(1)=0 F  S PSDN(1)=$O(^TMP("PSD",$J,PSDN,PSDN(1))) Q:PSDN(1)']""  D:$Y+6>IOSL HEADER G:$G(PSDOUT) END D  G:$G(PSDOUT) END | 
|---|
| 40 | .S PSDN(2)=$G(^TMP("PSD",$J,PSDN,PSDN(1))) | 
|---|
| 41 | .W $E(PSDN(1),1,34),?36 | 
|---|
| 42 | .W $J($P(PSDN(2),U),10),?62 | 
|---|
| 43 | .S X=$P(PSDN(2),U,2),X2="2$" D COMMA^%DTC W X,!! | 
|---|
| 44 | W:'$O(^TMP("PSD",$J,0)) !!,"Sorry, nothing to report for selected NAOU(s).",!! | 
|---|
| 45 | END W:$E(IOST)'="C" @IOF | 
|---|
| 46 | I $E(IOST)="C",'$G(PSDOUT) W !! S DIR(0)="EA",DIR("A")="END OF REPORT!  Press <RET> to return to the menu." D ^DIR | 
|---|
| 47 | D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" | 
|---|
| 48 | QUIT K ^TMP("PSD",$J),IO("Q") Q | 
|---|
| 49 | HEADER ;prints header info | 
|---|
| 50 | I $E(IOST,1,2)'="P-",PG S DIR(0)="E" D ^DIR K DIR I 'Y S PSDOUT=1 Q | 
|---|
| 51 | I $$S^%ZTLOAD W !!,"Task #",$G(ZTSK),", ",$G(ZTDESC)," was stopped by ",$P($G(^VA(200,+$G(DUZ),0)),U),"." S PSDOUT=1 | 
|---|
| 52 | W:$Y @IOF S $P(LN,"-",80)="",PG=PG+1 W !?2,PSDCHO(1)," From " | 
|---|
| 53 | W $P(PSDATE,U)," To ",$P(PSDATE,U,2),?72,"Page ",PG,!! | 
|---|
| 54 | S PSD(2)=$O(LOC(0)) W "For " W:$G(ALL) "ALL NAOU(s)" | 
|---|
| 55 | W:'$O(LOC(PSD(2)))&('$G(ALL)) $P($G(^PSD(58.8,+$O(LOC(0)),0)),U) | 
|---|
| 56 | I $O(LOC(PSD(2))),'$G(ALL) W "The Following NAOU(s):  " D | 
|---|
| 57 | .S PSD(2)=0 F  S PSD(2)=$O(LOC(PSD(2))) Q:'PSD(2)  W $P($G(^PSD(58.8,+PSD(2),0)),U),!?28 | 
|---|
| 58 | W ?45,"Report Date:  ",PSDT(1),!!?40,"Quantity",!,"Drug",?40,"Dispensed" | 
|---|
| 59 | W ?70,"Cost",!,LN,!! | 
|---|