80 lines
4.1 KiB
Mathematica
80 lines
4.1 KiB
Mathematica
PRCPCRDK ;WISC/RFJ-instrument kit definition ;01 Sep 93
|
|
;;5.1;IFCAP;;Oct 20, 2000
|
|
;Per VHA Directive 10-93-142, this routine should not be modified.
|
|
D ^PRCPUSEL Q:'$G(PRCP("I"))
|
|
N ALLKITS,X
|
|
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."
|
|
S X(2)="The items in the instrument kit are sorted by the sequence number."
|
|
D DISPLAY^PRCPUX2(40,79,.X)
|
|
D INSTRKIT^PRCPCRU1
|
|
I '$O(^TMP($J,"PRCPKITS",0)),'$D(ALLKITS) Q
|
|
I $D(ALLKITS) W !!,"NOTE -- This option will use a lot of paper!"
|
|
W ! S %ZIS="Q" D ^%ZIS Q:POP I $D(IO("Q")) D D ^%ZTLOAD K IO("Q"),ZTSK D Q Q
|
|
. S ZTDESC="Instrument Kit Definition Report",ZTRTN="DQ^PRCPCRDK"
|
|
. S ZTSAVE("PRCP*")="",ZTSAVE("ALLKITS")="",ZTSAVE("^TMP($J,""PRCPKITS"",")="",ZTSAVE("ZTREQ")="@"
|
|
W !!,"<*> please wait <*>"
|
|
DQ ; queue starts here
|
|
N IKITEM,PRCPFLAG,SCREEN,X,Y
|
|
S SCREEN=$$SCRPAUSE^PRCPUREP
|
|
I $D(ALLKITS) S IKITEM=0 F S IKITEM=$O(^PRCP(445.8,IKITEM)) Q:'IKITEM!($G(PRCPFLAG)) D
|
|
. D PRINT I $G(PRCPFLAG) Q
|
|
. I SCREEN,$O(^PRCP(445.8,IKITEM)) D P^PRCPUREP
|
|
;
|
|
I '$D(ALLKITS) S IKITEM=0 F S IKITEM=$O(^TMP($J,"PRCPKITS",IKITEM)) Q:'IKITEM D PRINT
|
|
Q D ^%ZISC K ^TMP($J,"PRCPKITS"),^TMP($J,"PRCPCRDK")
|
|
Q
|
|
;
|
|
;
|
|
PRINT ; print a instrument kit definition
|
|
N %,%I,CATALOG,IKDATA,IKDATE,IKLOC,IKNAME,IKUSER,DATA,EDITDATE,EDITUSER,ITEMDA,LOCATION,NOW,ONHAND,PAGE,PRCPINNM,PRCPINPT,REUSABLE,SEQUENCE,VENDOR
|
|
; sort by sequence number
|
|
K ^TMP($J,"PRCPCRDK")
|
|
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)=""
|
|
;
|
|
S IKDATA=$G(^PRCP(445.8,IKITEM,0))
|
|
S PRCPINPT=+$P(IKDATA,"^",2),PRCPINNM=$$INVNAME^PRCPUX1(PRCPINPT)
|
|
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
|
|
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))
|
|
D NOW^%DTC S Y=% D DD^%DT S NOW=Y,PAGE=1 U IO D H
|
|
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
|
|
. S DATA=$G(^PRCP(445.8,IKITEM,1,ITEMDA,0)) I DATA="" Q
|
|
. 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)_"+"
|
|
. S LOCATION=$$STORAGE^PRCPESTO(PRCPINPT,ITEMDA)
|
|
. S REUSABLE=$$REUSABLE^PRCPU441(ITEMDA),REUSABLE=$S(REUSABLE:"R",1:"D")
|
|
. 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)
|
|
. I $Y>(IOSL-4) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG) D H
|
|
I $G(PRCPFLAG) Q
|
|
I $Y>(IOSL-6) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG) D H
|
|
W !!,"METHOD OF STERILIZATION : ",$$STERILE(IKITEM)
|
|
W !,"METHOD OF WRAPPING/PACKAGING: ",$$WRAPPING(IKITEM)
|
|
I $Y>(IOSL-7) D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG) D H
|
|
W !!,"SPECIAL INSTRUCTIONS/REMARKS:"
|
|
S X=0 F S X=$O(^PRCP(445.8,IKITEM,2,X)) Q:'X!($G(PRCPFLAG)) S DATA=$G(^(X,0)) D
|
|
. I $Y>(IOSL-4) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG) D H
|
|
. W !,DATA
|
|
D END^PRCPUREP
|
|
Q
|
|
;
|
|
;
|
|
H S %=NOW_" PAGE "_PAGE,PAGE=PAGE+1 I PAGE'=2!(SCREEN) W @IOF
|
|
W $C(13),"DEFINITION OF INSTRUMENT KIT REPORT FOR: ",$E(PRCPINNM,1,20),?(80-$L(%)),%
|
|
W !?9,"NAME: ",IKNAME," (#",IKITEM,") ",?46,"LOCATION: ",IKLOC
|
|
W !?15,"CURRENT QUANTITY ASSEMBLED: ",ONHAND
|
|
W !?3,"CREATED BY: ",IKUSER,?50,"DATE: ",IKDATE
|
|
W !?1,"LAST EDIT BY: ",EDITUSER,?50,"DATE: ",EDITDATE
|
|
S %="",$P(%,"-",81)=""
|
|
W !,$J("QTY",7),?10,"DESCRIPTION",?31,"MI#",?37,"RD",?40,"VEND#",?48,"CATALOG#",?67,"LOCATION",!,%
|
|
Q
|
|
;
|
|
;
|
|
STERILE(V1) ; return method of sterilization for ik v1
|
|
N %
|
|
S %=$P($G(^PRCP(445.8,+V1,0)),"^",7) I %'="" S %=$P($P($P(^DD(445.8,11,0),"^",3),%_":",2),";")
|
|
Q %
|
|
;
|
|
;
|
|
WRAPPING(V1) ; return method of wrapping for ik v1
|
|
N %
|
|
S %=$P($G(^PRCP(445.8,+V1,0)),"^",8) I %'="" S %=$P($P($P(^DD(445.8,12,0),"^",3),%_":",2),";")
|
|
Q %
|