| 1 | PRCPOPPC ;WISC/RFJ-post items in a case cart or instrument kit      ;27 Sep 93 | 
|---|
| 2 | ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | HDR ; -- header code | 
|---|
| 8 | D HDR^PRCPOPL | 
|---|
| 9 | S VALMHDR(3)=$J(" ",49)_"* * *  Q U A N T I T Y  * * *" | 
|---|
| 10 | Q | 
|---|
| 11 | ; | 
|---|
| 12 | ; | 
|---|
| 13 | INIT ;  start list manager here and set up variables, clean up | 
|---|
| 14 | ;  ^tmp($j,"prcpopccik",ccikitem)=qty ordered (passed to program) | 
|---|
| 15 | ;  ^tmp($j,"prcpoppc",line,0)=""   (list array) | 
|---|
| 16 | ;  ^tmp($j,"prcpoppc-no",item)=""  (do not include in list) | 
|---|
| 17 | ;  ^tmp($j,"prcpoppc-items",item)=qty ordered ^ qty returned | 
|---|
| 18 | ;  ^tmp($j,"prcpoppc-return",item)=qty entered by user for return | 
|---|
| 19 | ; | 
|---|
| 20 | K ^TMP($J,"PRCPOPPC-RETURN"),^TMP($J,"PRCPOPPC-NO") | 
|---|
| 21 | D VARIABLE^PRCPOPU | 
|---|
| 22 | ; | 
|---|
| 23 | BUILD ;  build list manager array | 
|---|
| 24 | N CCIKITEM,DATA,ITEMDA,ITEMQTY,QTYORD,PRCPFILE,SEQUENCE | 
|---|
| 25 | ; | 
|---|
| 26 | K ^TMP($J,"PRCPOPPC"),^TMP($J,"PRCPOPPC-IK"),^TMP($J,"PRCPOPPC-ITEMS") | 
|---|
| 27 | S (VALMCNT,CCIKITEM)=0 F  S CCIKITEM=$O(^TMP($J,"PRCPOPCCIK",CCIKITEM)) Q:'CCIKITEM  S QTYORD=^(CCIKITEM) I QTYORD D | 
|---|
| 28 | .   I $D(^TMP($J,"PRCPOPPC-NO",CCIKITEM)) Q | 
|---|
| 29 | .   S PRCPFILE=$$FILENUMB^PRCPCUT1(CCIKITEM) I 'PRCPFILE Q | 
|---|
| 30 | .   D CCIKNAME | 
|---|
| 31 | .   S ITEMDA=0 F  S ITEMDA=$O(^PRCP(PRCPFILE,CCIKITEM,1,ITEMDA)) Q:'ITEMDA  S DATA=$G(^(ITEMDA,0)) I $P(DATA,"^",2) D | 
|---|
| 32 | .   .   S ITEMQTY=$P(DATA,"^",2)*QTYORD | 
|---|
| 33 | .   .   I PRCPFILE=445.7,$D(^PRCP(445.8,ITEMDA)) S ^TMP($J,"PRCPOPPC-IK",ITEMDA)=$G(^TMP($J,"PRCPOPPC-IK",ITEMDA))+ITEMQTY | 
|---|
| 34 | .   .   D ITEMNAME | 
|---|
| 35 | ; | 
|---|
| 36 | ;  build list of instrument kits in case carts | 
|---|
| 37 | S PRCPFILE=445.8,CCIKITEM=0 F  S CCIKITEM=$O(^TMP($J,"PRCPOPPC-IK",CCIKITEM)) Q:'CCIKITEM  S QTYORD=^(CCIKITEM) I QTYORD D | 
|---|
| 38 | .   I $D(^TMP($J,"PRCPOPPC-NO",CCIKITEM)) Q | 
|---|
| 39 | .   D CCIKNAME | 
|---|
| 40 | .   ;  sort by sequence | 
|---|
| 41 | .   K ^TMP($J,"PRCPOPPCSEQ") | 
|---|
| 42 | .   S ITEMDA=0 F  S ITEMDA=$O(^PRCP(445.8,CCIKITEM,1,ITEMDA)) Q:'ITEMDA  S DATA=$G(^(ITEMDA,0)),^TMP($J,"PRCPOPPCSEQ",+$P(DATA,"^",3),ITEMDA)="" | 
|---|
| 43 | .   S SEQUENCE="" F  S SEQUENCE=$O(^TMP($J,"PRCPOPPCSEQ",SEQUENCE)) Q:SEQUENCE=""  S ITEMDA=0 F  S ITEMDA=$O(^TMP($J,"PRCPOPPCSEQ",SEQUENCE,ITEMDA)) Q:'ITEMDA  S DATA=$G(^PRCP(445.8,CCIKITEM,1,ITEMDA,0)) I $P(DATA,"^",2) D | 
|---|
| 44 | .   .   S ITEMQTY=$P(DATA,"^",2)*QTYORD | 
|---|
| 45 | .   .   D ITEMNAME | 
|---|
| 46 | K ^TMP($J,"PRCPOPPC-IK"),^TMP($J,"PRCPOPPCSEQ") | 
|---|
| 47 | ; | 
|---|
| 48 | I VALMCNT=0 S VALMQUIT=1 Q | 
|---|
| 49 | Q | 
|---|
| 50 | ; | 
|---|
| 51 | EXIT ; -- exit code | 
|---|
| 52 | K ^TMP($J,"PRCPOPCCIK") | 
|---|
| 53 | K ^TMP($J,"PRCPOPPC") | 
|---|
| 54 | K ^TMP($J,"PRCPOPPC-IK") | 
|---|
| 55 | K ^TMP($J,"PRCPOPPC-ITEMS") | 
|---|
| 56 | K ^TMP($J,"PRCPOPPC-NO") | 
|---|
| 57 | K ^TMP($J,"PRCPOPPC-RETURN") | 
|---|
| 58 | Q | 
|---|
| 59 | ; | 
|---|
| 60 | ; | 
|---|
| 61 | EEITEMS ;  called from protocol file to enter/edit invpt items | 
|---|
| 62 | D FULL^VALM1 | 
|---|
| 63 | N PRC,PRCP | 
|---|
| 64 | S PRCP("DPTYPE")="PS" | 
|---|
| 65 | D ^PRCPEILM | 
|---|
| 66 | D BUILD | 
|---|
| 67 | S VALMBCK="R" | 
|---|
| 68 | Q | 
|---|
| 69 | ; | 
|---|
| 70 | ; | 
|---|
| 71 | CCIKNAME ;  set up ccikname header | 
|---|
| 72 | D SET^PRCPOPL(" ") | 
|---|
| 73 | D SET^PRCPOPL("                      * * * * * "_$S(PRCPFILE=445.7:"  CASE CART   ",1:"INSTRUMENT KIT")_"  * * * * *") | 
|---|
| 74 | D SET^PRCPOPL($E($E($$DESCR^PRCPUX1(PRCP("I"),CCIKITEM),1,40)_" (#"_CCIKITEM_") ...................................",1,49)_QTYORD) | 
|---|
| 75 | Q | 
|---|
| 76 | ; | 
|---|
| 77 | ; | 
|---|
| 78 | ITEMNAME ;  set up item information | 
|---|
| 79 | I $D(^TMP($J,"PRCPOPPC-NO",ITEMDA)) Q | 
|---|
| 80 | N QTYRET,REUSABLE | 
|---|
| 81 | S REUSABLE=$$REUSABLE^PRCPU441(ITEMDA) | 
|---|
| 82 | S VALMCNT=VALMCNT+1 | 
|---|
| 83 | S X=$$SETFLD^VALM1("  "_$E($$DESCR^PRCPUX1(PRCP("I"),ITEMDA),1,28)_" (#"_ITEMDA_")","","ITEM") | 
|---|
| 84 | S X=$$SETFLD^VALM1($S(REUSABLE:"R",1:" "),X,"REUSABLE") | 
|---|
| 85 | S X=$$SETFLD^VALM1($P($$UNIT^PRCPUX1(PRCP("I"),ITEMDA,"^"),"^",2),X,"UNIT") | 
|---|
| 86 | S X=$$SETFLD^VALM1(ITEMQTY,X,"ORDERED") | 
|---|
| 87 | S QTYRET=$S($D(^TMP($J,"PRCPOPPC-RETURN",CCIKITEM,ITEMDA)):^(ITEMDA),REUSABLE:ITEMQTY,1:0) | 
|---|
| 88 | S X=$$SETFLD^VALM1(QTYRET,X,"RETURNED") | 
|---|
| 89 | S X=$$SETFLD^VALM1(ITEMQTY-QTYRET,X,"POSTING") | 
|---|
| 90 | D SET^VALM10(VALMCNT,X,VALMCNT) | 
|---|
| 91 | S ^TMP($J,"PRCPOPPC-ITEMS",CCIKITEM,ITEMDA)=ITEMQTY_"^"_QTYRET | 
|---|
| 92 | Q | 
|---|