IBCEST1 ;ALB/ESG - IB 837 EDI Status Message Processing Cont ;18-JUL-2005 ;;2.0;INTEGRATED BILLING;**320**;21-MAR-94 ;;Per VHA Directive 10-93-142, this routine should not be modified. ; Q ; CHKSUM(IBARRAY) ; Incoming 277STAT status message checksum calculation ; This function calculates the checksum of the raw 277stat data from ; the data in array IBARRAY. This is done to prevent duplicates. ; Input parameter IBARRAY is the array reference where the data exists ; at @IBARRAY@(n,0) where n is a sequential # ; For file 364.2, IBARRAY = "^IBA(364.2,IBTDA,2)" where IBTDA = the ien ; of the entry in file 364.2 being evaluated ; NEW Y,LN,DATA,IBREC,POS,STSFLG S Y=0,STSFLG=0 S LN=0 F S LN=$O(@IBARRAY@(LN)) Q:'LN D . S DATA=$$EXT($G(@IBARRAY@(LN,0))) Q:DATA="" . S IBREC=$P(DATA,U,1) . I IBREC="277STAT" S STSFLG=1 Q ; set the STS flag . I IBREC<1 Q ; rec# too low . I IBREC'<99 Q ; rec# too high . F POS=1:1:$L(DATA) S Y=Y+($A(DATA,POS)*POS) . Q ; I 'STSFLG S Y=0 ; if this array is not a 277stat message Q Y ; EXT(DATA) ; Extracts from the text in DATA if the text contains ; "##RAW DATA: " Q $S(DATA["##RAW DATA: ":$P(DATA,"##RAW DATA: ",2,99),1:DATA) ;