1 | IBCEOB2 ;ALB/TMP - EOB LIST FOR MANUAL MAINTENANCE ;18-FEB-99
|
---|
2 | ;;2.0;INTEGRATED BILLING;**137,155**;21-MAR-94
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | EN ; Enter/edit an EOB manually for a bill
|
---|
6 | ; MRA's cannot be manually entered
|
---|
7 | N VALMCNT,VALMBG,VALMHDR
|
---|
8 | S VALMCNT=0,VALMBG=1
|
---|
9 | D EN^VALM("IBCE EOB LIST")
|
---|
10 | Q
|
---|
11 | ;
|
---|
12 | HDR ; -- header code
|
---|
13 | N IBCOB,IBINS,IBINSNM
|
---|
14 | K VALMHDR
|
---|
15 | S IBINS=$$CURR^IBCEF2(IBIFN),IBINSNM=$P($G(^DIC(36,+IBINS,0)),U)
|
---|
16 | S IBCOB=$P("^PRIMARY^SECONDARY^TERTIARY",U,$$COBN^IBCEF(IBIFN)+1)
|
---|
17 | S VALMHDR(1)=IORVON_" BILL #:"_$$BN^PRCAFN(IBIFN)_IORVOFF
|
---|
18 | S VALMHDR(1)=$J("",80-$L(VALMHDR(1))\2)_VALMHDR(1)
|
---|
19 | S VALMHDR(2)=" CURRENT INSURANCE COMPANY ("_IBCOB_"): "_IBINSNM
|
---|
20 | I $D(^IBM(361.1,"B",IBIFN)) D
|
---|
21 | . S VALMHDR(3)=" "
|
---|
22 | . S VALMHDR(4)=" # SEQ PAYER"_$J("",15)_"EOB PAID DATE TYPE STATUS"
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | INIT ; -- init variables and list array
|
---|
26 | ; Select bill
|
---|
27 | K VALMQUIT
|
---|
28 | S IBIFN=$$BILL(.VALMQUIT)
|
---|
29 | INITQ Q
|
---|
30 | ;
|
---|
31 | HELP ; -- help code
|
---|
32 | S X="?" D DISP^XQORM1 W !!
|
---|
33 | Q
|
---|
34 | ;
|
---|
35 | EXIT ; -- exit code
|
---|
36 | K ^TMP("IBCEOB",$J),IBIFN,IBEOB
|
---|
37 | D CLEAR^VALM1
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | BLD ; Build list template display - IBIFN must equal ien of bill in file 399
|
---|
41 | ;
|
---|
42 | N IB0,X,Y,IBCOB,IBCOBN,IB,IBCNT,IBEOB,IBSEQ,IBPDDT
|
---|
43 | S VALMCNT=0
|
---|
44 | K ^TMP("IBCEOB",$J)
|
---|
45 | S IB0=$G(^DGCR(399,+$G(IBIFN),0)),VALMCNT=0
|
---|
46 | S IBCOB=$P($$EXTERNAL^DILFD(399,.21,,$P(IB0,U,21))," "),IBCOBN=$$COBN^IBCEF(IBIFN)
|
---|
47 | ;
|
---|
48 | S IBCNT=0
|
---|
49 | I $D(^IBM(361.1,"B",IBIFN)) D ; Display existing EOB's for bill, if any
|
---|
50 | . K ^TMP("IB",$J)
|
---|
51 | . S IBEOB=0 F S IBEOB=$O(^IBM(361.1,"B",IBIFN,IBEOB)) Q:'IBEOB D
|
---|
52 | .. S IB0=$G(^IBM(361.1,IBEOB,0))
|
---|
53 | .. S ^TMP("IB",$J,+$P(IB0,U,6),IBEOB)=IB0 ; Sort by EOB paid date
|
---|
54 | . ;
|
---|
55 | . S IBPDDT="" F S IBPDDT=$O(^TMP("IB",$J,IBPDDT)) Q:IBPDDT="" S IBEOB=0 F S IBEOB=$O(^TMP("IB",$J,IBPDDT,IBEOB)) Q:'IBEOB S IB0=$G(^(IBEOB)) I IB0'="" D
|
---|
56 | .. ;
|
---|
57 | .. S IBCNT=IBCNT+1
|
---|
58 | .. S IBSEQ=+$P(IB0,U,15)
|
---|
59 | .. S IB=" "_$E(IBCNT_" ",1,3)_$S(IBSEQ:"("_$P("P^S^T",U,IBSEQ)_") ",1:$J("",4))_$E($$EXTERNAL^DILFD(361.1,.02,"",$P(IB0,U,2))_$J("",18),1,18)_" "
|
---|
60 | .. S IB=IB_$E($$FMTE^XLFDT($P(IB0,U,6),"2")_$J("",18),1,18)_" "_$E($P("EOB^MRA",U,$P(IB0,U,4)+1)_$J("",5),1,5)_$$EXTERNAL^DILFD(361.1,.13,"",$P(IB0,U,13))
|
---|
61 | .. ;
|
---|
62 | .. D SET(IB,IBCNT,IBEOB)
|
---|
63 | . ;
|
---|
64 | . K ^TMP("IB",$J)
|
---|
65 | I 'IBCNT S IBCNT=IBCNT D SET(" NO EOB's FOUND FOR BILL #"_$$BN^PRCAFN(IBIFN))
|
---|
66 | ;
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | SET(X,CNT,IBEOB) ;set list manager screen arrays
|
---|
70 | S VALMCNT=VALMCNT+1
|
---|
71 | S ^TMP("IBCEOB",$J,VALMCNT,0)=X
|
---|
72 | I $G(IBEOB) D
|
---|
73 | . S ^TMP("IBCEOB",$J,"IDX",VALMCNT,CNT)=""
|
---|
74 | . S ^TMP("IBCEOB",$J,CNT)=VALMCNT_U_IBEOB
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | BILL(VALMQUIT,IBX) ; Select bill
|
---|
78 | ; VALMQUIT = pass by reference to determine if protocol should quit
|
---|
79 | ; IBX = pass by reference to return 1 if timeout or ^ entered
|
---|
80 | ;
|
---|
81 | ; Must be printed/txmt or closed status, have a current insurance and
|
---|
82 | ; not having MEDICARE WNR as its primary insurance with the COB sequence
|
---|
83 | ; of the bill being primary
|
---|
84 | ;
|
---|
85 | N DIC,DA,X,Y,IBIFN
|
---|
86 | K VALMQUIT
|
---|
87 | S IBX=0
|
---|
88 | S DIC="^DGCR(399,",DIC(0)="AEMQ",DIC("S")="N IBY S IBY=Y I $P(^(0),U,13)'="""",""04""[$P(^(0),U,13),$D(^(""I1"")),$S($$MCRWNR^IBEFUNC(+$$CURR^IBCEF2(+IBY)):+$$COBN^IBCEF(+IBY)'=1,1:1)" D ^DIC K DIC
|
---|
89 | S IBIFN=+Y,IBX=($G(DTOUT)!($G(DUOUT)))
|
---|
90 | I IBIFN'>0 S VALMQUIT=1 G BILLQ
|
---|
91 | I IBIFN>0 D BLD,HDR
|
---|
92 | BILLQ Q IBIFN
|
---|
93 | ;
|
---|