1 | PRCHAAC3 ;WIFO/TN/CR-CONT. OF IFCAP HL7 MESSAGE TO AUSTIN ;4/28/05 2:43 PM
|
---|
2 | ;;5.1;IFCAP;**79**;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;This function is called from the routine PRCHAAC.
|
---|
5 | ;
|
---|
6 | LIDT(PRCPO) ;This function goes through all the line items on a PO
|
---|
7 | ; to get information on the item with the highest dollar amount.
|
---|
8 | ; If there is a problem with the PO, the function will return
|
---|
9 | ; a zero
|
---|
10 | ;
|
---|
11 | ; 1 2 3 4 5 6
|
---|
12 | ; PO Number^PO Total^Description^item amount^contract number^FSC
|
---|
13 | ; FSC - FEDERAL SUPPLY CLASSIFICATION
|
---|
14 | ;
|
---|
15 | N AMT,AMT1,CNT,DESC,ITEM,ITEM1,PO,REC,REC1,REC2,TOTAL
|
---|
16 | I '$D(^PRC(442,PRCPO,2,0)) QUIT 0 ;No line items
|
---|
17 | ;
|
---|
18 | ;Get line item with the highest cost
|
---|
19 | S AMT="",ITEM1=0
|
---|
20 | F S ITEM1=$O(^PRC(442,PRCPO,2,ITEM1)) Q:'ITEM1 D
|
---|
21 | . S REC=$G(^PRC(442,PRCPO,2,ITEM1,2)) ;Get item record
|
---|
22 | . QUIT:REC=""
|
---|
23 | . S REC=$P(REC,U,1,3) ;Get the 1st 3 fields
|
---|
24 | . S AMT1=+REC ;Cost of the item
|
---|
25 | . I AMT1<AMT QUIT ;Get the next record
|
---|
26 | . S AMT=AMT1
|
---|
27 | . S ITEM=ITEM1
|
---|
28 | . S REC2=REC ;Save record with highest dollar amount
|
---|
29 | ;
|
---|
30 | I 'AMT QUIT 0 ;No dollar amount
|
---|
31 | S REC1=^PRC(442,PRCPO,0)
|
---|
32 | S PO=$P(REC1,U) ;Get PO number
|
---|
33 | S TOTAL=$P(REC1,U,15) ;Get PO total
|
---|
34 | S DESC=^PRC(442,PRCPO,2,ITEM,1,1,0) ;Get item description
|
---|
35 | ; Clean the HL7 message of any '^,~,&,\, or |'.
|
---|
36 | T I DESC["^"!(DESC["|")!(DESC["~")!(DESC["&")!(DESC["\") S DESC=$$STRIP^XLFSTR(DESC,"^~|&\")
|
---|
37 | S PO=PO_"^"_TOTAL_"^"_$E(DESC,1,50)_"^"_REC2 ;Setup return data
|
---|
38 | ;
|
---|
39 | QUIT PO
|
---|