| 1 | PSALOG1H ;BIR/LTL,JMB-Unposted Procurement History - CONT'D ;7/23/97
 | 
|---|
| 2 |  ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;; 10/24/97
 | 
|---|
| 3 |  ;This routine prints the pharmacy procurement history High Cost Items
 | 
|---|
| 4 |  ;report for a selected month. It is called by PSALOG.
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | HIGH S PSAPG=0 D HDR
 | 
|---|
| 7 |  ;If the "PSA" array does not exist, the "PSAC" array cannot be created.
 | 
|---|
| 8 |  I '$D(^TMP("PSA",$J)) W !!,"No items were found for the selected month." G END^PSALOG0
 | 
|---|
| 9 |  ;If the "PSA" array exists, the "PSAC" does not exit, and the user
 | 
|---|
| 10 |  ;requested the Item Totals report, the routine attempted to create
 | 
|---|
| 11 |  ;the "PSAC" array and found no data.
 | 
|---|
| 12 |  I $D(^TMP("PSA",$J)),'$D(^TMP("PSAC",$J)),$G(PSATOTAL) W !!,"No items were found for the selected month." G END^PSALOG0
 | 
|---|
| 13 |  ;If the "PSA" array exists, the "PSAC" does not exit, and the user
 | 
|---|
| 14 |  ;did not request the Item Totals report, create the "PSAC" array.
 | 
|---|
| 15 |  I $D(^TMP("PSA",$J)),'$D(^TMP("PSAC",$J)),'$G(PSATOTAL) D CREATE
 | 
|---|
| 16 |  I '$D(^TMP("PSAC",$J)) W !!,"No items were found for the selected month." G END^PSALOG0
 | 
|---|
| 17 |  S PSAINVO=0 F  S PSAINVO=+$O(^TMP("PSAC",$J,PSAINVO)) Q:'PSAINVO!(PSAOUT)  D
 | 
|---|
| 18 |  .D:$Y+4>IOSL HDR Q:PSAOUT
 | 
|---|
| 19 |  .S PSAITEM="" F  S PSAITEM=$O(^TMP("PSAC",$J,PSAINVO,PSAITEM)) Q:PSAITEM=""  D
 | 
|---|
| 20 |  ..Q:$G(^TMP("PSAC",$J,PSAINVO,PSAITEM))<PSALOW
 | 
|---|
| 21 |  ..W !,$E(PSAITEM,1,56)
 | 
|---|
| 22 |  ..S X=$P($G(^TMP("PSAC",$J,PSAINVO,PSAITEM)),"^"),X2="2$" D COMMA^%DTC
 | 
|---|
| 23 |  ..W ?58,X,"(",$P($G(^TMP("PSAC",$J,PSAINVO,PSAITEM)),"^",2),")",!
 | 
|---|
| 24 |  G END^PSALOG0
 | 
|---|
| 25 | HDR I $E(IOST,1,2)="C-",PSAPG D  Q:PSAOUT
 | 
|---|
| 26 |  .S PSASS=22-$Y F PSAKK=1:1:PSASS W !
 | 
|---|
| 27 |  .S DIR(0)="E" D ^DIR K DIR S:'Y PSAOUT=1
 | 
|---|
| 28 |  I $$S^%ZTLOAD W !!,"Task #",$G(ZTSK),", ",$G(ZTDESC)," was stopped by ",$P($G(^VA(200,+$G(DUZ),0)),"^"),"." S PSAOUT=1 Q
 | 
|---|
| 29 |  W:$Y @IOF S PSAPG=PSAPG+1
 | 
|---|
| 30 |  W:$E(IOST)'="C" !!,PSARPDT W:$E(IOST,1,2)="C-" !
 | 
|---|
| 31 |  W ?20,"DRUG ACCOUNTABILITY/INVENTORY INTERFACE",?72,"PAGE ",$J(PSAPG,2)
 | 
|---|
| 32 |  W !?((80-(65+$L(PSALOW)))/2),"UNPOSTED PHARMACY PROCUREMENTS FOR "_PSAMOYR_" HIGH COST ITEMS OVER $",PSALOW
 | 
|---|
| 33 |  W !!?1,"ITEM NAME",?61,"TOTAL ITEM COST",!,PSADLN
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 | CREATE ;Create the "PSAC" array.
 | 
|---|
| 36 |  S PSACP=0 F  S PSACP=$O(^TMP("PSA",$J,PSACP)) Q:'PSACP  D
 | 
|---|
| 37 |  .S PSAITEM="" F  S PSAITEM=$O(^TMP("PSA",$J,PSACP,PSAITEM)) Q:PSAITEM']""  S PSAIEN=0 F  S PSAIEN=$O(^TMP("PSA",$J,PSACP,PSAITEM,PSAIEN)) Q:'PSAIEN  D
 | 
|---|
| 38 |  ..S PSATMP=$G(^TMP("PSA",$J,PSACP,PSAITEM,PSAIEN))
 | 
|---|
| 39 |  ..S PSATOTO=$G(PSATOTO)+($P(PSATMP,"^",2)*$P(PSATMP,"^",9))
 | 
|---|
| 40 |  ..I '$O(^TMP("PSA",$J,PSACP,PSAITEM,PSAIEN)) S ^TMP("PSAC",$J,(999999999-PSATOTO),PSAITEM)=PSATOTO_"^"_PSACP K PSATOTO
 | 
|---|
| 41 |  Q
 | 
|---|