1 | IBCEST1 ;ALB/ESG - IB 837 EDI Status Message Processing Cont ;18-JUL-2005
|
---|
2 | ;;2.0;INTEGRATED BILLING;**320,397**;21-MAR-94;Build 3
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | Q
|
---|
6 | ;
|
---|
7 | CHKSUM(IBARRAY) ; Incoming 277STAT status message checksum calculation
|
---|
8 | ; This function calculates the checksum of the raw 277stat data from
|
---|
9 | ; the data in array IBARRAY. This is done to prevent duplicates.
|
---|
10 | ; Input parameter IBARRAY is the array reference where the data exists
|
---|
11 | ; at @IBARRAY@(n,0) where n is a sequential #
|
---|
12 | ; For file 364.2, IBARRAY = "^IBA(364.2,IBTDA,2)" where IBTDA = the ien
|
---|
13 | ; of the entry in file 364.2 being evaluated
|
---|
14 | ;
|
---|
15 | NEW Y,LN,DATA,IBREC,POS,STSFLG
|
---|
16 | S Y=0,STSFLG=0
|
---|
17 | S LN=0
|
---|
18 | F S LN=$O(@IBARRAY@(LN)) Q:'LN D
|
---|
19 | . S DATA=$$EXT($G(@IBARRAY@(LN,0))) Q:DATA=""
|
---|
20 | . S IBREC=$P(DATA,U,1)
|
---|
21 | . I IBREC="277STAT" S STSFLG=1 Q ; set the STS flag
|
---|
22 | . I IBREC<1 Q ; rec# too low
|
---|
23 | . I IBREC'<99 Q ; rec# too high
|
---|
24 | . F POS=1:1:$L(DATA) S Y=Y+($A(DATA,POS)*POS)
|
---|
25 | . Q
|
---|
26 | ;
|
---|
27 | I 'STSFLG S Y=0 ; if this array is not a 277stat message
|
---|
28 | Q Y
|
---|
29 | ;
|
---|
30 | EXT(DATA) ; Extracts from the text in DATA if the text contains
|
---|
31 | ; "##RAW DATA: "
|
---|
32 | Q $S(DATA["##RAW DATA: ":$P(DATA,"##RAW DATA: ",2,99),1:DATA)
|
---|
33 | ;
|
---|
34 | SCODE(Z0) ; status code for message
|
---|
35 | N IBFD,IBI,IBRD S IBFD=0
|
---|
36 | F IBI=1:1 S IBRD=$P($T(CODE+IBI),";;",2,999) Q:IBRD=""!IBFD D
|
---|
37 | . I IBRD[Z0 S IBFD=1
|
---|
38 | Q IBFD
|
---|
39 | ;
|
---|
40 | CODE ; *397
|
---|
41 | ;;A3^AC^A7^A8^AA^2P^10^11
|
---|
42 | ;;19^20^21^30^40^221^960^1AE^1AF^1AG^1AI^1AJ^1AK^1AL^1AS^1BS^1BV^1BY
|
---|
43 | ;;2B^2D^2H^2M^2U^3A^3C^3E^3F^3G^3I^3K^3L^3N^3P^3S
|
---|
44 | ;;4B^4C^4D^4E^4H^4I^4J^4P^4S^4T^4U^4X^4Y^7A^7D^7I^7U^7V
|
---|
45 | ;;A0^A9^ACCEPT^ACCEPTED^AE^AP^APPROVE^C01^CI^CP^CTRL!99001^INQUIRY
|
---|
46 | ;;OA7^OAH^OAI^OAK^OAT^OAV^OAY^OAZ^OB9^OBX^OCU^PG^PN5
|
---|
47 | ;;TE^W!00000117^Z3^ZAI^ZAN
|
---|
48 | ;
|
---|