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
|
---|