1 | IBCE835A ;ALB/ESG - 835 EDI EOB PROCESSING CONTINUED ;30-APR-03
|
---|
2 | ;;2.0;INTEGRATED BILLING;**135**;21-MAR-94
|
---|
3 | Q
|
---|
4 | ; Continue processing of IBCE835 since that routine grew too large
|
---|
5 | ;
|
---|
6 | 37(IBD) ; Process claim level adjustment data for Inpatient MEDICARE
|
---|
7 | ; Claim must have been referenced by a previous '05' level
|
---|
8 | ;
|
---|
9 | ; INPUT:
|
---|
10 | ; IBD must be passed by reference = entire message line
|
---|
11 | ;
|
---|
12 | ; OUTPUT:
|
---|
13 | ; IBD("LINE") = The last line # populated in the message
|
---|
14 | ; ^TMP("IBMSG",$J,"CLAIM",claim #,line #)=claim level adjustment msg
|
---|
15 | ; ,"D",37,seq#)=
|
---|
16 | ; ,"D1",seq#,37)=
|
---|
17 | ; claim level adjust. raw data
|
---|
18 | ;
|
---|
19 | N IBCLM
|
---|
20 | S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2))
|
---|
21 | Q:'$D(^TMP("IBMSG",$J,"CLAIM",IBCLM))
|
---|
22 | S IBD("LINE")=$G(IBD("LINE"))+1
|
---|
23 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))=$S($D(^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",37)):$J("",34),1:"MEDICARE ADJUDICATION MESSAGE(S): ")_"("_$P(IBD,U,4)_") "_$P(IBD,U,5)
|
---|
24 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",37,IBD("LINE"))="##RAW DATA: "_IBD
|
---|
25 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),37)="##RAW DATA: "_IBD
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | 40(IBD) ; Process service line data
|
---|
29 | ;
|
---|
30 | ; INPUT:
|
---|
31 | ; IBD must be passed by reference = entire message line
|
---|
32 | ;
|
---|
33 | ; OUTPUT:
|
---|
34 | ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D",40,msg seq #)=
|
---|
35 | ; "D1",msg seq #,40)=
|
---|
36 | ; claim status raw data
|
---|
37 | ; IBD("LINE") = The last line # populated in the message
|
---|
38 | ;
|
---|
39 | N IBCLM
|
---|
40 | S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2))
|
---|
41 | S IBD("LINE")=$G(IBD("LINE"))+1
|
---|
42 | ;
|
---|
43 | I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",40)) D
|
---|
44 | . S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))="Line level detail exists for this claim"
|
---|
45 | . S IBD("LINE")=IBD("LINE")+1
|
---|
46 | ;
|
---|
47 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",40,IBD("LINE"))="##RAW DATA: "_IBD
|
---|
48 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),40)="##RAW DATA: "_IBD
|
---|
49 | ;
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | 45(IBD) ; Process service line adjustment data
|
---|
53 | ;
|
---|
54 | ; INPUT:
|
---|
55 | ; IBD must be passed by reference = entire message line
|
---|
56 | ;
|
---|
57 | ; OUTPUT:
|
---|
58 | ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D",45,msg seq #)=
|
---|
59 | ; ^TMP("IBMSG",$J,"CLAIM",claim #,"D1",msg seq #,45)=
|
---|
60 | ; claim status raw data
|
---|
61 | ; IBD("LINE") = The last line # populated in the message
|
---|
62 | ;
|
---|
63 | N IBCLM
|
---|
64 | S IBCLM=$$GETCLM^IBCE277($P(IBD,U,2))
|
---|
65 | S IBD("LINE")=$G(IBD("LINE"))+1
|
---|
66 | ;
|
---|
67 | I '$D(^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",45)) D
|
---|
68 | . S ^TMP("IBMSG",$J,"CLAIM",IBCLM,IBD("LINE"))="Line level adjustments exist for this claim"
|
---|
69 | . S IBD("LINE")=IBD("LINE")+1
|
---|
70 | ;
|
---|
71 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D",45,IBD("LINE"))="##RAW DATA: "_IBD
|
---|
72 | S ^TMP("IBMSG",$J,"CLAIM",IBCLM,"D1",IBD("LINE"),45)="##RAW DATA: "_IBD
|
---|
73 | ;
|
---|
74 | Q
|
---|
75 | ;
|
---|