- 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/IBCE835.m
r613 r623 1 IBCE835 ;ALB/TMP - 835 EDI EXPLANATION OF BENEFITS MSG PROCESSING ;19-JAN-99 2 ;;2.0;INTEGRATED BILLING;**137,135,155,377**;21-MAR-94;Build 23 3 ;;Per VHA Directive 2004-038, this routine should not be modified. 4 ; 5 Q 6 ; 7 ; MESSAGE HEADER DATA STRING = 8 ; type of message^msg queue^msg #^bill #^^date/time 9 ; 10 HDR(IBCLNO,IBD) ;Process header data 11 ; INPUT: 12 ; IBCLNO = claim # 13 ; 14 ; ^TMP("IBMSGH",$J,0) = header message text 15 ; 16 ; OUTPUT: 17 ; IBD array returned with processed data 18 ; "LINE" = The last line # populated in the message 19 ; "DATE" = Date/Time of EOB (Fileman format) 20 ; "MRA" = 1 if MRA, 0 if not 21 ; "X12" = 1 if X12, 0 if not 22 ; 23 ; ^TMP("IBMSG",$J,"CLAIM",claim #,0)=MESSAGE HEADER DATA STRING 24 ; ,"D",0,1)=header record raw data 25 ; ,"D1",1,0)=header record raw data 26 ; ,line #)=EOB message lines 27 ; 28 N CT,IB399,IBD0,IBBILL,LINE,L,X,Y,Z,%DT 29 S IBD0=$G(^TMP("IBMSGH",$J,0)),IBD("LINE")=0 30 Q:IBD0="" 31 S X=$P(IBD0,U,3),X=$E(X,5,8)_$E(X,1,4)_"@"_$P(IBD0,U,4) 32 I X S %DT="XTS" D ^%DT 33 S IBD("DATE")=$S(Y>0:Y,1:"") 34 S IBD("MRA")=$P(IBD0,U,5) 35 S IBD("X12")=($P(IBD0,U,2)="X") 36 S CT=0 37 ; 38 I $P(IBD0,U,6)'="" S CT=CT+1 S LINE(CT)=$G(LINE(CT))_"Payer Name: "_$P(IBD0,U,6) 39 ; 40 I CT D 41 . S (L,Z)=0 42 . F S Z=$O(LINE(Z)) Q:'Z S L=L+1,^TMP("IBMSG",$J,"CLAIM",IBCLNO,L)=LINE(Z) 43 . S IBD("LINE")=IBD("LINE")+CT 44 ; 45 S IB399=+$O(^DGCR(399,"B",$$GETCLM^IBCE277(IBCLNO),""),-1) 46 ; 47 S IBBILL=$$LAST364^IBCEF4(IB399) 48 ; 49 S ^TMP("IBMSG",$J,"CLAIM",IBCLNO,0)="835EOB"_U_$G(IBD("MSG#"))_U_$G(IBD("SUBJ"))_U_IBBILL_U_U_IBD("DATE") 50 ; 51 S ^TMP("IBMSG",$J,"CLAIM",IBCLNO,"D",0,1)="##RAW DATA: "_IBD0 52 S ^TMP("IBMSG",$J,"CLAIM",IBCLNO,"D1",1,0)="##RAW DATA: "_IBD0 53 Q 54 ; 55 5(IBD) ; Process claim patient ID data 56 ; INPUT: 57 ; IBD must be passed by reference = entire message line 58 ; 59 ; OUTPUT: 60 ; IBD array 61 ; "LINE" = the last line # populated in the message 62 ; 63 ; ^TMP("IBMSG",$J,"CLAIM",claim #,line#)=claim pt id message lines 64 ; ,"D",5,msg seq #)= 65 ; ,"D1",msg seq #,5)= 66 ; claim pt id message raw data 67 ; 68 N IBBILL 69 S IBBILL=$$GETCLM^IBCE277($P(IBD,U,2)) 70 ; 71 I '$D(^TMP("IBMSG",$J,"CLAIM",IBBILL)) D HDR(IBBILL,.IBD) ;Process header data if not already done for claim 72 ; 73 I $P(IBD,U,9) D ;Statement dates 74 . S IBD("LINE")=$G(IBD("LINE"))+1 75 . S ^TMP("IBMSG",$J,"CLAIM",IBBILL,IBD("LINE"))="Statement Dates: "_$$DATE^IBCE277($P(IBD,U,9))_" - "_$$DATE^IBCE277($P(IBD,U,10)) 76 ; 77 S ^TMP("IBMSG",$J,"CLAIM",IBBILL,"D",5,1)="##RAW DATA: "_IBD 78 S ^TMP("IBMSG",$J,"CLAIM",IBBILL,"D1",1,5)="##RAW DATA: "_IBD 79 Q 80 ; 81 6(IBD) ; Process 06 record type for corrected name and/or ID# - IB*2*377 - 1/14/08 82 NEW IBCLM,Z 83 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 84 Q:IBCLM="" 85 I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) D HDR(IBCLM,.IBD) ;Process header data if not already done for claim 86 ; 87 S Z=$G(IBD("LINE")) 88 I $P(IBD,U,3)'="" S Z=Z+1,^TMP("IBMSG",$J,"CLAIM",IBCLM,Z)="Corrected Patient Last Name: "_$P(IBD,U,3) 89 I $P(IBD,U,4)'="" S Z=Z+1,^TMP("IBMSG",$J,"CLAIM",IBCLM,Z)="Corrected Patient First Name: "_$P(IBD,U,4) 90 I $P(IBD,U,5)'="" S Z=Z+1,^TMP("IBMSG",$J,"CLAIM",IBCLM,Z)="Corrected Patient Middle Name: "_$P(IBD,U,5) 91 I $P(IBD,U,6)'="" S Z=Z+1,^TMP("IBMSG",$J,"CLAIM",IBCLM,Z)="Corrected Patient ID#: "_$P(IBD,U,6) 92 S IBD("LINE")=Z 93 ; 94 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",6,1)="##RAW DATA: "_IBD 95 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",1,6)="##RAW DATA: "_IBD 96 Q 97 ; 98 10(IBD) ; Process claim status data 99 ; INPUT: 100 ; IBD must be passed by reference = entire message line 101 ; 102 ; OUTPUT: 103 ; IBD array returned with processed data 104 ; "CLAIM" = The claim # 105 ; "LINE" = The last line # populated in the message 106 ; 107 ; ^TMP("IBMSG",$J,"CLAIM",claim #,line#)=claim status message lines 108 ; ,"D",10,msg seq #)= 109 ; ,"D1",msg seq #,10)= 110 ; claim status raw data 111 ; 112 N IBCLM,CT,LINE,L,Z,Z0,IBDATA,IBSTAT 113 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 114 Q:IBCLM="" 115 ; 116 I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) D HDR(IBCLM,.IBD) ;Process header data if not already done for claim 117 ; 118 S CT=0 119 F Z=3:1:6 I $P(IBD,U,Z)="Y" D Q ;Claim status 120 . S IBSTAT=(Z-2) 121 . S CT=CT+1,LINE(CT)="CLAIM STATUS: "_$P("PROCESSED^DENIED^PENDED^REVERSAL",U,IBSTAT) 122 I '$G(IBSTAT) D 123 . S CT=CT+1,LINE(CT)="CLAIM STATUS: "_$P(IBD,U,7)_" (OTHER)" 124 ; 125 I $P(IBD,U,8)'="" D ;Crossed over info 126 . S LINE(CT)=LINE(CT)_" Crossed over to: "_$P(IBD,U,9)_" "_$P(IBD,U,8) 127 ; 128 I CT D 129 . S L=$G(IBD("LINE")),Z=0 130 . F S Z=$O(LINE(Z)) Q:'Z S L=L+1,^TMP("IBMSG",$J,"CLAIM",IBCLM,L)=LINE(Z) 131 . S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",10,1)="##RAW DATA: "_IBD 132 . S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",1,10)="##RAW DATA: "_IBD 133 . S IBD("LINE")=$G(IBD("LINE"))+CT 134 Q 135 ; 136 15(IBD) ; Process claim status data 137 ; INPUT: 138 ; IBD must be passed by reference = entire message line 139 ; 140 ; OUTPUT: 141 ; IBD array 142 ; "LINE" = The last line # populated in the message 143 ; 144 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D",15,msg seq #)= 145 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D1",msg seq #,15)= 146 ; claim status raw data 147 ; 148 N IBCLM,Z,Z0,IBDATA 149 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 150 Q:IBCLM="" 151 ; 152 I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) D HDR(IBCLM,.IBD) ;Process header data if not already done for claim 153 ; 154 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",15,1)="##RAW DATA: "_IBD 155 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",1,15)="##RAW DATA: "_IBD 156 Q 157 ; 158 20(IBD) ; Process claim level adjustment data 159 ; Claim must have been referenced by a previous '05' level 160 ; 161 ; INPUT: 162 ; IBD must be passed by reference = entire message line 163 ; 164 ; OUTPUT: 165 ; IBD("LINE") = The last line # populated in the message 166 ; ^TMP("IBMSG",$J,"CLAIM",claim #,line #)=claim level adjustment 167 ; ,"D",20,seq#)= 168 ; ,"D1",seq#,20)= 169 ; claim level adjust. raw data 170 ; 171 N IBCLM 172 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 173 Q:'$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) 174 S IBD("LINE")=$G(IBD("LINE"))+1 175 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))="ADJUSTMENT GROUP: "_$P(IBD,U,3)_" QTY: "_+$P(IBD,U,6)_", AMT: "_($P(IBD,U,5)/100) 176 S IBD("LINE")=IBD("LINE")+1 177 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))=" REASON: ("_$P(IBD,U,4)_") "_$P(IBD,U,7) 178 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",20,IBD("LINE"))="##RAW DATA: "_IBD 179 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),20)="##RAW DATA: "_IBD 180 Q 181 ; 182 37(IBD) ; Process claim level adjustment data for Inpatient MEDICARE 183 D 37^IBCE835A(.IBD) 184 Q 185 ; 186 40(IBD) ; Process service line data 187 D 40^IBCE835A(.IBD) 188 Q 189 ; 190 45(IBD) ; Process service line adjustment data 191 D 45^IBCE835A(.IBD) 192 Q 193 ; 194 17(IBD) ; Process claim contact data segment 195 D XX(.IBD,17) 196 Q 197 ; 198 30(IBD) ; Process MEDICARE inpatient adjudication data (part 1) 199 D XX(.IBD,30) 200 Q 201 ; 202 35(IBD) ; Process MEDICARE inpatient adjudication data (part 2) 203 D XX(.IBD,35) 204 Q 205 ; 206 41(IBD) ; Process service line data (part 2) 207 D XX(.IBD,41) 208 Q 209 ; 210 42(IBD) ; Process service line data (part 3) 211 D XX(.IBD,42) 212 Q 213 ; 214 99(IBD) ; Process trailer record for non-MRA EOB 215 D XX(.IBD,99) 216 Q 217 ; 218 XX(IBD,IBID) ; Store non-displayed data nodes in TMP array 219 ; 220 ; INPUT: 221 ; IBD must be passed by reference = entire message line 222 ; IBID = record id for generic store 223 ; 224 ; OUTPUT: 225 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D",IBID,msg seq #)= 226 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D1",msg seq #,IBID)= 227 ; claim status raw data 228 ; IBD("LINE") = The last line # populated in the message 229 ; 230 N IBCLM 231 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 232 ; 233 S IBD("LINE")=$G(IBD("LINE"))+1 234 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",IBID,IBD("LINE"))="##RAW DATA: "_IBD 235 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),IBID)="##RAW DATA: "_IBD 236 ; 237 Q 238 ; 1 IBCE835 ;ALB/TMP - 835 EDI EXPLANATION OF BENEFITS MSG PROCESSING ;19-JAN-99 2 ;;2.0;INTEGRATED BILLING;**137,135,155**;21-MAR-94 3 Q 4 ; 5 ; MESSAGE HEADER DATA STRING = 6 ; type of message^msg queue^msg #^bill #^^date/time 7 ; 8 HDR(IBCLNO,IBD) ;Process header data 9 ; INPUT: 10 ; IBCLNO = claim # 11 ; 12 ; ^TMP("IBMSGH",$J,0) = header message text 13 ; 14 ; OUTPUT: 15 ; IBD array returned with processed data 16 ; "LINE" = The last line # populated in the message 17 ; "DATE" = Date/Time of EOB (Fileman format) 18 ; "MRA" = 1 if MRA, 0 if not 19 ; "X12" = 1 if X12, 0 if not 20 ; 21 ; ^TMP("IBMSG",$J,"CLAIM",claim #,0)=MESSAGE HEADER DATA STRING 22 ; ,"D",0,1)=header record raw data 23 ; ,"D1",1,0)=header record raw data 24 ; ,line #)=EOB message lines 25 ; 26 N CT,IB399,IBD0,IBBILL,LINE,L,X,Y,Z,%DT 27 S IBD0=$G(^TMP("IBMSGH",$J,0)),IBD("LINE")=0 28 Q:IBD0="" 29 S X=$P(IBD0,U,3),X=$E(X,5,8)_$E(X,1,4)_"@"_$P(IBD0,U,4) 30 I X S %DT="XTS" D ^%DT 31 S IBD("DATE")=$S(Y>0:Y,1:"") 32 S IBD("MRA")=$P(IBD0,U,5) 33 S IBD("X12")=($P(IBD0,U,2)="X") 34 S CT=0 35 ; 36 I $P(IBD0,U,6)'="" S CT=CT+1 S LINE(CT)=$G(LINE(CT))_"Payer Name: "_$P(IBD0,U,6) 37 ; 38 I CT D 39 . S (L,Z)=0 40 . F S Z=$O(LINE(Z)) Q:'Z S L=L+1,^TMP("IBMSG",$J,"CLAIM",IBCLNO,L)=LINE(Z) 41 . S IBD("LINE")=IBD("LINE")+CT 42 ; 43 S IB399=+$O(^DGCR(399,"B",$$GETCLM^IBCE277(IBCLNO),""),-1) 44 ; 45 S IBBILL=$$LAST364^IBCEF4(IB399) 46 ; 47 S ^TMP("IBMSG",$J,"CLAIM",IBCLNO,0)="835EOB"_U_$G(IBD("MSG#"))_U_$G(IBD("SUBJ"))_U_IBBILL_U_U_IBD("DATE") 48 ; 49 S ^TMP("IBMSG",$J,"CLAIM",IBCLNO,"D",0,1)="##RAW DATA: "_IBD0 50 S ^TMP("IBMSG",$J,"CLAIM",IBCLNO,"D1",1,0)="##RAW DATA: "_IBD0 51 Q 52 ; 53 5(IBD) ; Process claim patient ID data 54 ; INPUT: 55 ; IBD must be passed by reference = entire message line 56 ; 57 ; OUTPUT: 58 ; IBD array 59 ; "LINE" = the last line # populated in the message 60 ; 61 ; ^TMP("IBMSG",$J,"CLAIM",claim #,line#)=claim pt id message lines 62 ; ,"D",5,msg seq #)= 63 ; ,"D1",msg seq #,5)= 64 ; claim pt id message raw data 65 ; 66 N IBBILL 67 S IBBILL=$$GETCLM^IBCE277($P(IBD,U,2)) 68 ; 69 I '$D(^TMP("IBMSG",$J,"CLAIM",IBBILL)) D HDR(IBBILL,.IBD) ;Process header data if not already done for claim 70 ; 71 I $P(IBD,U,7)="Y"!($P(IBD,U,8)="Y") D ;New patient name or id reported 72 . ; 73 . ; Alert to EDI mail group that name or ID has changed 74 . N XQA,XQAMSG 75 . S XQA("G.IB EDI")="" 76 . S XQAMSG="EOB for bill # "_IBBILL_" indicates a new name or id exists for patient" 77 . D SETUP^XQALERT 78 . ; 79 . S IBD("LINE")=$G(IBD("LINE"))+1 80 . I $P(IBD,U,7)="Y" S ^TMP("IBMSG",$J,"CLAIM",IBBILL,IBD("LINE"))="New patient name: "_$P(IBD,U,3)_","_$P(IBD,U,4)_" "_$P(IBD,U,5)_" " 81 . I $P(IBD,U,8)="Y" S ^TMP("IBMSG",$J,"CLAIM",IBBILL,IBD("LINE"))=$G(^TMP("IBMSG",$J,"CLAIM",IBBILL,IBD("LINE")))_"New patient id: "_$P(IBD,U,6) 82 ; 83 I $P(IBD,U,9) D ;Statement dates 84 . S IBD("LINE")=$G(IBD("LINE"))+1 85 . S ^TMP("IBMSG",$J,"CLAIM",IBBILL,IBD("LINE"))="Statement Dates: "_$$DATE^IBCE277($P(IBD,U,9))_" - "_$$DATE^IBCE277($P(IBD,U,10)) 86 ; 87 S ^TMP("IBMSG",$J,"CLAIM",IBBILL,"D",5,1)="##RAW DATA: "_IBD 88 S ^TMP("IBMSG",$J,"CLAIM",IBBILL,"D1",1,5)="##RAW DATA: "_IBD 89 Q 90 ; 91 10(IBD) ; Process claim status data 92 ; INPUT: 93 ; IBD must be passed by reference = entire message line 94 ; 95 ; OUTPUT: 96 ; IBD array returned with processed data 97 ; "CLAIM" = The claim # 98 ; "LINE" = The last line # populated in the message 99 ; 100 ; ^TMP("IBMSG",$J,"CLAIM",claim #,line#)=claim status message lines 101 ; ,"D",10,msg seq #)= 102 ; ,"D1",msg seq #,10)= 103 ; claim status raw data 104 ; 105 N IBCLM,CT,LINE,L,Z,Z0,IBDATA,IBSTAT 106 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 107 Q:IBCLM="" 108 ; 109 I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) D HDR(IBCLM,.IBD) ;Process header data if not already done for claim 110 ; 111 S CT=0 112 F Z=3:1:6 I $P(IBD,U,Z)="Y" D Q ;Claim status 113 . S IBSTAT=(Z-2) 114 . S CT=CT+1,LINE(CT)="CLAIM STATUS: "_$P("PROCESSED^DENIED^PENDED^REVERSAL",U,IBSTAT) 115 I '$G(IBSTAT) D 116 . S CT=CT+1,LINE(CT)="CLAIM STATUS: "_$P(IBD,U,7)_" (OTHER)" 117 ; 118 I $P(IBD,U,8)'="" D ;Crossed over info 119 . S LINE(CT)=LINE(CT)_" Crossed over to: "_$P(IBD,U,9)_" "_$P(IBD,U,8) 120 ; 121 I CT D 122 . S L=$G(IBD("LINE")),Z=0 123 . F S Z=$O(LINE(Z)) Q:'Z S L=L+1,^TMP("IBMSG",$J,"CLAIM",IBCLM,L)=LINE(Z) 124 . S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",10,1)="##RAW DATA: "_IBD 125 . S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",1,10)="##RAW DATA: "_IBD 126 . S IBD("LINE")=$G(IBD("LINE"))+CT 127 Q 128 ; 129 15(IBD) ; Process claim status data 130 ; INPUT: 131 ; IBD must be passed by reference = entire message line 132 ; 133 ; OUTPUT: 134 ; IBD array 135 ; "LINE" = The last line # populated in the message 136 ; 137 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D",15,msg seq #)= 138 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D1",msg seq #,15)= 139 ; claim status raw data 140 ; 141 N IBCLM,Z,Z0,IBDATA 142 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 143 Q:IBCLM="" 144 ; 145 I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) D HDR(IBCLM,.IBD) ;Process header data if not already done for claim 146 ; 147 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",15,1)="##RAW DATA: "_IBD 148 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",1,15)="##RAW DATA: "_IBD 149 Q 150 ; 151 20(IBD) ; Process claim level adjustment data 152 ; Claim must have been referenced by a previous '05' level 153 ; 154 ; INPUT: 155 ; IBD must be passed by reference = entire message line 156 ; 157 ; OUTPUT: 158 ; IBD("LINE") = The last line # populated in the message 159 ; ^TMP("IBMSG",$J,"CLAIM",claim #,line #)=claim level adjustment 160 ; ,"D",20,seq#)= 161 ; ,"D1",seq#,20)= 162 ; claim level adjust. raw data 163 ; 164 N IBCLM 165 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 166 Q:'$D(^TMP("IBMSG",$J,"CLAIM",IBCLM)) 167 S IBD("LINE")=$G(IBD("LINE"))+1 168 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))="ADJUSTMENT GROUP: "_$P(IBD,U,3)_" QTY: "_+$P(IBD,U,6)_", AMT: "_($P(IBD,U,5)/100) 169 S IBD("LINE")=IBD("LINE")+1 170 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))=" REASON: ("_$P(IBD,U,4)_") "_$P(IBD,U,7) 171 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",20,IBD("LINE"))="##RAW DATA: "_IBD 172 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),20)="##RAW DATA: "_IBD 173 Q 174 ; 175 37(IBD) ; Process claim level adjustment data for Inpatient MEDICARE 176 D 37^IBCE835A(.IBD) 177 Q 178 ; 179 40(IBD) ; Process service line data 180 D 40^IBCE835A(.IBD) 181 Q 182 ; 183 45(IBD) ; Process service line adjustment data 184 D 45^IBCE835A(.IBD) 185 Q 186 ; 187 17(IBD) ; Process claim contact data segment 188 D XX(.IBD,17) 189 Q 190 ; 191 30(IBD) ; Process MEDICARE inpatient adjudication data (part 1) 192 D XX(.IBD,30) 193 Q 194 ; 195 35(IBD) ; Process MEDICARE inpatient adjudication data (part 2) 196 D XX(.IBD,35) 197 Q 198 ; 199 41(IBD) ; Process service line data (part 2) 200 D XX(.IBD,41) 201 Q 202 ; 203 42(IBD) ; Process service line data (part 3) 204 D XX(.IBD,42) 205 Q 206 ; 207 99(IBD) ; Process trailer record for non-MRA EOB 208 D XX(.IBD,99) 209 Q 210 ; 211 XX(IBD,IBID) ; Store non-displayed data nodes in TMP array 212 ; 213 ; INPUT: 214 ; IBD must be passed by reference = entire message line 215 ; IBID = record id for generic store 216 ; 217 ; OUTPUT: 218 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D",IBID,msg seq #)= 219 ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D1",msg seq #,IBID)= 220 ; claim status raw data 221 ; IBD("LINE") = The last line # populated in the message 222 ; 223 N IBCLM 224 S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2)) 225 ; 226 S IBD("LINE")=$G(IBD("LINE"))+1 227 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",IBID,IBD("LINE"))="##RAW DATA: "_IBD 228 S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),IBID)="##RAW DATA: "_IBD 229 ; 230 Q 231 ;
Note:
See TracChangeset
for help on using the changeset viewer.