| 1 | PRCPCRDK ;WISC/RFJ-instrument kit definition                        ;01 Sep 93 | 
|---|
| 2 | ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | D ^PRCPUSEL Q:'$G(PRCP("I")) | 
|---|
| 5 | N ALLKITS,X | 
|---|
| 6 | K X S X(1)="The Definition Instrument Kit Report will print a list of selected instrument kits displaying the items and quantities needed to assemble a instrument kit." | 
|---|
| 7 | S X(2)="The items in the instrument kit are sorted by the sequence number." | 
|---|
| 8 | D DISPLAY^PRCPUX2(40,79,.X) | 
|---|
| 9 | D INSTRKIT^PRCPCRU1 | 
|---|
| 10 | I '$O(^TMP($J,"PRCPKITS",0)),'$D(ALLKITS) Q | 
|---|
| 11 | I $D(ALLKITS) W !!,"NOTE -- This option will use a lot of paper!" | 
|---|
| 12 | W ! S %ZIS="Q" D ^%ZIS Q:POP  I $D(IO("Q")) D  D ^%ZTLOAD K IO("Q"),ZTSK D Q Q | 
|---|
| 13 | .   S ZTDESC="Instrument Kit Definition Report",ZTRTN="DQ^PRCPCRDK" | 
|---|
| 14 | .   S ZTSAVE("PRCP*")="",ZTSAVE("ALLKITS")="",ZTSAVE("^TMP($J,""PRCPKITS"",")="",ZTSAVE("ZTREQ")="@" | 
|---|
| 15 | W !!,"<*> please wait <*>" | 
|---|
| 16 | DQ ;  queue starts here | 
|---|
| 17 | N IKITEM,PRCPFLAG,SCREEN,X,Y | 
|---|
| 18 | S SCREEN=$$SCRPAUSE^PRCPUREP | 
|---|
| 19 | I $D(ALLKITS) S IKITEM=0 F  S IKITEM=$O(^PRCP(445.8,IKITEM)) Q:'IKITEM!($G(PRCPFLAG))  D | 
|---|
| 20 | .   D PRINT I $G(PRCPFLAG) Q | 
|---|
| 21 | .   I SCREEN,$O(^PRCP(445.8,IKITEM)) D P^PRCPUREP | 
|---|
| 22 | ; | 
|---|
| 23 | I '$D(ALLKITS) S IKITEM=0 F  S IKITEM=$O(^TMP($J,"PRCPKITS",IKITEM)) Q:'IKITEM  D PRINT | 
|---|
| 24 | Q D ^%ZISC K ^TMP($J,"PRCPKITS"),^TMP($J,"PRCPCRDK") | 
|---|
| 25 | Q | 
|---|
| 26 | ; | 
|---|
| 27 | ; | 
|---|
| 28 | PRINT ;  print a instrument kit definition | 
|---|
| 29 | N %,%I,CATALOG,IKDATA,IKDATE,IKLOC,IKNAME,IKUSER,DATA,EDITDATE,EDITUSER,ITEMDA,LOCATION,NOW,ONHAND,PAGE,PRCPINNM,PRCPINPT,REUSABLE,SEQUENCE,VENDOR | 
|---|
| 30 | ;  sort by sequence number | 
|---|
| 31 | K ^TMP($J,"PRCPCRDK") | 
|---|
| 32 | S ITEMDA=0 F  S ITEMDA=$O(^PRCP(445.8,IKITEM,1,ITEMDA)) Q:'ITEMDA  S DATA=$G(^(ITEMDA,0)),^TMP($J,"PRCPCRDK",+$P(DATA,"^",3),ITEMDA)="" | 
|---|
| 33 | ; | 
|---|
| 34 | S IKDATA=$G(^PRCP(445.8,IKITEM,0)) | 
|---|
| 35 | S PRCPINPT=+$P(IKDATA,"^",2),PRCPINNM=$$INVNAME^PRCPUX1(PRCPINPT) | 
|---|
| 36 | S IKNAME=$$DESCR^PRCPUX1(PRCPINPT,IKITEM),IKUSER=$$USER^PRCPUREP($P(IKDATA,"^",3)),Y=$P(IKDATA,"^",4) D DD^%DT S IKDATE=Y,EDITUSER=$$USER^PRCPUREP($P(IKDATA,"^",5)),Y=$P(IKDATA,"^",6) D DD^%DT S EDITDATE=Y | 
|---|
| 37 | S IKLOC=$$STORAGE^PRCPESTO(PRCPINPT,IKITEM),ONHAND=$G(^PRCP(445,PRCPINPT,1,IKITEM,0)),ONHAND=$S(ONHAND="":"NOT STORED IN INVENTORY POINT",1:+$P(ONHAND,"^",7)) | 
|---|
| 38 | D NOW^%DTC S Y=% D DD^%DT S NOW=Y,PAGE=1 U IO D H | 
|---|
| 39 | S SEQUENCE="" F  S SEQUENCE=$O(^TMP($J,"PRCPCRDK",SEQUENCE)) Q:SEQUENCE=""!($G(PRCPFLAG))  S ITEMDA=0 F  S ITEMDA=$O(^TMP($J,"PRCPCRDK",SEQUENCE,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D | 
|---|
| 40 | .   S DATA=$G(^PRCP(445.8,IKITEM,1,ITEMDA,0)) I DATA="" Q | 
|---|
| 41 | .   S VENDOR=$$MANDSRCE^PRCPU441(ITEMDA),CATALOG=$P($G(^PRC(441,ITEMDA,2,+VENDOR,0)),"^",4) I $E(CATALOG,16)'="" S CATALOG=$E(CATALOG,1,15)_"+" | 
|---|
| 42 | .   S LOCATION=$$STORAGE^PRCPESTO(PRCPINPT,ITEMDA) | 
|---|
| 43 | .   S REUSABLE=$$REUSABLE^PRCPU441(ITEMDA),REUSABLE=$S(REUSABLE:"R",1:"D") | 
|---|
| 44 | .   W !,$J(+$P(DATA,"^",2),7),?10,$E($$DESCR^PRCPUX1(PRCPINPT,ITEMDA),1,20),?31,ITEMDA,?38,REUSABLE,?40,VENDOR,?48,CATALOG,?67,$E(LOCATION,1,12) | 
|---|
| 45 | .   I $Y>(IOSL-4) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG)  D H | 
|---|
| 46 | I $G(PRCPFLAG) Q | 
|---|
| 47 | I $Y>(IOSL-6) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG)  D H | 
|---|
| 48 | W !!,"METHOD OF STERILIZATION     : ",$$STERILE(IKITEM) | 
|---|
| 49 | W !,"METHOD OF WRAPPING/PACKAGING: ",$$WRAPPING(IKITEM) | 
|---|
| 50 | I $Y>(IOSL-7) D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG)  D H | 
|---|
| 51 | W !!,"SPECIAL INSTRUCTIONS/REMARKS:" | 
|---|
| 52 | S X=0 F  S X=$O(^PRCP(445.8,IKITEM,2,X)) Q:'X!($G(PRCPFLAG))  S DATA=$G(^(X,0)) D | 
|---|
| 53 | .   I $Y>(IOSL-4) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG)  D H | 
|---|
| 54 | .   W !,DATA | 
|---|
| 55 | D END^PRCPUREP | 
|---|
| 56 | Q | 
|---|
| 57 | ; | 
|---|
| 58 | ; | 
|---|
| 59 | H S %=NOW_"  PAGE "_PAGE,PAGE=PAGE+1 I PAGE'=2!(SCREEN) W @IOF | 
|---|
| 60 | W $C(13),"DEFINITION OF INSTRUMENT KIT REPORT FOR: ",$E(PRCPINNM,1,20),?(80-$L(%)),% | 
|---|
| 61 | W !?9,"NAME: ",IKNAME," (#",IKITEM,") ",?46,"LOCATION: ",IKLOC | 
|---|
| 62 | W !?15,"CURRENT QUANTITY ASSEMBLED: ",ONHAND | 
|---|
| 63 | W !?3,"CREATED BY: ",IKUSER,?50,"DATE: ",IKDATE | 
|---|
| 64 | W !?1,"LAST EDIT BY: ",EDITUSER,?50,"DATE: ",EDITDATE | 
|---|
| 65 | S %="",$P(%,"-",81)="" | 
|---|
| 66 | W !,$J("QTY",7),?10,"DESCRIPTION",?31,"MI#",?37,"RD",?40,"VEND#",?48,"CATALOG#",?67,"LOCATION",!,% | 
|---|
| 67 | Q | 
|---|
| 68 | ; | 
|---|
| 69 | ; | 
|---|
| 70 | STERILE(V1) ;  return method of sterilization for ik v1 | 
|---|
| 71 | N % | 
|---|
| 72 | S %=$P($G(^PRCP(445.8,+V1,0)),"^",7) I %'="" S %=$P($P($P(^DD(445.8,11,0),"^",3),%_":",2),";") | 
|---|
| 73 | Q % | 
|---|
| 74 | ; | 
|---|
| 75 | ; | 
|---|
| 76 | WRAPPING(V1) ;  return method of wrapping for ik v1 | 
|---|
| 77 | N % | 
|---|
| 78 | S %=$P($G(^PRCP(445.8,+V1,0)),"^",8) I %'="" S %=$P($P($P(^DD(445.8,12,0),"^",3),%_":",2),";") | 
|---|
| 79 | Q % | 
|---|