- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCEST1.m
r613 r623 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 ; 1 IBCEST1 ;ALB/ESG - IB 837 EDI Status Message Processing Cont ;18-JUL-2005 2 ;;2.0;INTEGRATED BILLING;**320**;21-MAR-94 3 ;;Per VHA Directive 10-93-142, 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 ;
Note:
See TracChangeset
for help on using the changeset viewer.