1 | IBJDF52 ;ALB/RB - CHAMPVA/TRICARE FOLLOW-UP REPORT (PRINT) ;15-APR-00
|
---|
2 | ;;2.0;INTEGRATED BILLING;**123,159,240**;21-MAR-94
|
---|
3 | ;
|
---|
4 | EN ; - Print the Follow-up report.
|
---|
5 | S (IBQ,IBFLG)=0 D NOW^%DTC S IBRUN=$$DAT2^IBOUTL(%) G:IBRPT="S" SUM
|
---|
6 | I 'IBSD D DET(0) G SUM
|
---|
7 | I IBSEL["1" D DET(0)
|
---|
8 | S IBDIV=""
|
---|
9 | F S IBDIV=$O(VAUTD(IBDIV)) Q:IBDIV="" D DET(IBDIV) Q:IBQ
|
---|
10 | ;
|
---|
11 | SUM I 'IBQ D PRT^IBJDF53 ; Print summary.
|
---|
12 | ENQ K I,IB0,IBC,IBCAT,IBCD,IBC1,IBC2,IBDIV,IBFLG,IBIN,IBKEY,IBN,IBPT,IBPAG
|
---|
13 | K IBQ,IBRUN,IBTYP,%
|
---|
14 | Q
|
---|
15 | ;
|
---|
16 | DET(IBDIV) ; - Print report for a specific division.
|
---|
17 | ; Input: IBDIV=Pointer to the division in file #40.8 & variable IBSEL1
|
---|
18 | S IBCAT=0
|
---|
19 | F S IBCAT=$O(IBCAT(IBCAT)) Q:'IBCAT D Q:IBQ
|
---|
20 | . S (IB0,IBIN,IBKEY,IBTYP)=""
|
---|
21 | . F IBTYP=1:1:4 D:IBSEL1[IBTYP Q:IBQ
|
---|
22 | . . I IBDIV,IBCAT=31 Q
|
---|
23 | . . I IBSD,'IBDIV,IBCAT'=31 Q
|
---|
24 | . . I '$D(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP)) D HDR1,NAR,PAUSE Q
|
---|
25 | . . S IBFLG=0
|
---|
26 | . . F S IBIN=$O(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN)) Q:IBIN="" D Q:IBQ
|
---|
27 | . . . D HDR1,HDR2 Q:IBQ
|
---|
28 | . . . F S IBKEY=$O(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY)) Q:IBKEY="" D Q:IBQ
|
---|
29 | . . . . S IBPT=$G(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY))
|
---|
30 | . . . . D WPAT
|
---|
31 | . . . . F S IB0=$O(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY,IB0)) Q:IB0="" D Q:IBQ
|
---|
32 | . . . . . S IBN=$G(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY,IB0))
|
---|
33 | . . . . . I $Y>(IOSL-3) D PAUSE Q:IBQ D HDR1,HDR2 Q:IBQ D WPAT
|
---|
34 | . . . . . W ?59,IB0,?71,$$DAT1^IBOUTL(+IBN)
|
---|
35 | . . . . . W ?80,$$DAT1^IBOUTL($P(IBN,U,2))
|
---|
36 | . . . . . W ?89,$$DAT1^IBOUTL($P(IBN,U,3)),?98,$J($P(IBN,U,4),8,2)
|
---|
37 | . . . . . W ?107,$J($P(IBN,U,5),8,2),?116,$P(IBN,U,6),!
|
---|
38 | . . . . . ;
|
---|
39 | . . . . . ; - Display bill comment history, if necessary.
|
---|
40 | . . . . . I IBSH D WCOM
|
---|
41 | . . . D:'IBQ PAUSE
|
---|
42 | ;
|
---|
43 | DETQ Q
|
---|
44 | ;
|
---|
45 | DASH(X) ; - Return a dashed line.
|
---|
46 | Q $TR($J("",X)," ","=")
|
---|
47 | ;
|
---|
48 | PAUSE ; - Page break.
|
---|
49 | I $E(IOST,1,2)'="C-" Q
|
---|
50 | N IBX,DIR,DIRUT,DUOUT,DTOUT,DIROUT,X,Y
|
---|
51 | F IBX=$Y:1:(IOSL-3) W !
|
---|
52 | S DIR(0)="E" D ^DIR S:$D(DIRUT)!($D(DUOUT)) IBQ=1
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | HDR1 ; - Write the primary report header.
|
---|
56 | N FLG,X
|
---|
57 | ;
|
---|
58 | S FLG=1 I $G(IBFLG) S FLG=0
|
---|
59 | I '$G(IBFLG),$E(IOST,1,2)="C-"!$G(IBPAG) D
|
---|
60 | . W @IOF,*13 S IBFLG=0
|
---|
61 | . S IBPAG=$G(IBPAG)+1
|
---|
62 | I $G(IBFLG) D
|
---|
63 | . I $Y'>(IOSL-11) W !!! Q
|
---|
64 | . W @IOF,*13 S IBPAG=$G(IBPAG)+1,FLG=1
|
---|
65 | I '$G(IBPAG) S IBPAG=1
|
---|
66 | I IBDIV!FLG D
|
---|
67 | . W "CHAMPVA/TRICARE Follow-Up Report"
|
---|
68 | . I IBDIV W " for ",$P($G(^DG(40.8,IBDIV,0)),U)," "
|
---|
69 | . W ?75,"Run Date: ",IBRUN W:FLG ?123,"Page: ",$J(IBPAG,3)
|
---|
70 | S X="ALL ACTIVE "_$G(IBCTG(IBCAT(IBCAT)))_" RECEIVABLES "
|
---|
71 | I IBTYP'=4 S X=X_"("_$G(IBTPR(IBTYP))_") "
|
---|
72 | I IBSMN S X=X_"OVER "_IBSMN_" AND UNDER "_IBSMX_" DAYS OLD "
|
---|
73 | S X=X_" / BY PATIENT "_$S(IBSN="N":"NAME",1:"LAST 4 DIGITS OF SSN")
|
---|
74 | S X=X_" ("_$S($G(IBSNA)="ALL":"ALL",1:"From "_$S(IBSNF="":"FIRST",1:IBSNF)_" to "_$S(IBSNL="zzzzz":"LAST",1:IBSNL))_")"
|
---|
75 | S X=X_" / "_$S('IBSAM:"NO ",1:"")_"MINIMUM BALANCE"
|
---|
76 | I IBSAM S X=X_$S(IBSAM:": $"_$FN(IBSAM,",",2),1:"")
|
---|
77 | S X=X_" / "_$S('IBSH:"NO ",IBSH1="A":"ALL ",1:"ONLY ")_"COMMENTS"
|
---|
78 | S X=X_$S($G(IBSH2):" NOT OLDER THAN "_IBSH2_" DAYS",1:"")
|
---|
79 | S X=X_" / '*' AFTER THE PATIENT NAME = VA EMPLOYEE"
|
---|
80 | F I=1:1 W !,$E(X,1,132) S X=$E(X,133,999) I X="" Q
|
---|
81 | ;
|
---|
82 | W !!?71,"Dte Bill",?98,"Original Current"
|
---|
83 | W !,"Patient",?26,"Age SSN" W:IBCAT'=31 ?43,"Other Insurance"
|
---|
84 | W ?59,"Bill Number Prepared",?80,"Bill Frm Bill To Amount Balance"
|
---|
85 | W:IBCAT'=31 ?116,"Subscriber ID"
|
---|
86 | W !,$$DASH(IOM),!
|
---|
87 | S IBQ=$$STOP^IBOUTL("CHAMPVA/TRICARE Follow-Up Report")
|
---|
88 | Q
|
---|
89 | ;
|
---|
90 | HDR2 ; - Write the insurance company sub-header.
|
---|
91 | N X,X13
|
---|
92 | I $P(IBIN,"@@")'=0 W ?2,"Carrier: ",$P(IBIN,"@@")
|
---|
93 | S X=$G(^DIC(36,+$P(IBIN,"@@",2),.11)),X13=$G(^(.13))
|
---|
94 | I X]"" D
|
---|
95 | .W ", ",$P(X,U),", ",$P(X,U,4),", ",$P($G(^DIC(5,+$P(X,U,5),0)),U,2)," ",$P(X,U,6)
|
---|
96 | .I $P(X13,U,2)]"" W " Billing Phone: ",$P(X13,U,2) Q
|
---|
97 | .I $P(X13,U)]"" W " Main Phone: ",$P(X13,U)
|
---|
98 | ;
|
---|
99 | Q
|
---|
100 | ;
|
---|
101 | NAR ; - Write detail line (if '$D).
|
---|
102 | S IBFLG=1
|
---|
103 | W !!,"There are no active receivables for the parameters above."
|
---|
104 | Q
|
---|
105 | ;
|
---|
106 | WPAT ; - Write patient data.
|
---|
107 | W !,$P(IBPT,U),?26,$J($P(IBPT,U,2),3),?30,$P(IBPT,U,3)
|
---|
108 | W ?43,$P(IBPT,U,4)
|
---|
109 | Q
|
---|
110 | ;
|
---|
111 | WCOM ; - Write bill comments
|
---|
112 | N CONT,DIWL,DIWR,IBC,IBCD,IBC1,IBC2,X
|
---|
113 | ;
|
---|
114 | S (IBC,CONT,IBCD)=0,IBC1="",DIWL=1,DIWR=104 K ^UTILITY($J)
|
---|
115 | F S IBC=$O(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY,IB0,IBC)) Q:'IBC D Q:IBQ
|
---|
116 | . F S IBC1=$O(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY,IB0,IBC,IBC1)) Q:IBC1="" D Q:IBQ
|
---|
117 | . . S IBC2=^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY,IB0,IBC,IBC1)
|
---|
118 | . . I 'IBC1 S IBCD=IBC2 D WCD Q
|
---|
119 | . . I $Y>(IOSL-4) D WCPB Q:IBQ
|
---|
120 | . . S X=IBC2 I $E(X)=" ",$L(X)>1 S $E(X)=""
|
---|
121 | . . D ^DIWP
|
---|
122 | . . I 'CONT,$L(IBC2)<66 D WCTXT Q
|
---|
123 | . . S CONT=$L(IBC2)>65
|
---|
124 | . . I '$O(^TMP("IBJDF5",$J,IBDIV,IBCAT,IBTYP,IBIN,IBKEY,IB0,IBC,IBC1)) D
|
---|
125 | . . . D:$D(^UTILITY($J,"W")) WCTXT
|
---|
126 | K ^UTILITY($J,"W")
|
---|
127 | Q
|
---|
128 | ;
|
---|
129 | WCTXT ; - Write comment text
|
---|
130 | N LIN,WLIN
|
---|
131 | S LIN=""
|
---|
132 | F S LIN=$O(^UTILITY($J,"W",1,LIN)) Q:LIN="" D Q:IBQ
|
---|
133 | . S WLIN=$G(^UTILITY($J,"W",1,LIN,0))
|
---|
134 | . I $Y>(IOSL-4) D WCPB Q:IBQ
|
---|
135 | . W:WLIN'="" ?26,WLIN,!
|
---|
136 | K ^UTILITY($J,"W")
|
---|
137 | Q
|
---|
138 | ;
|
---|
139 | WCPB ; - Page Break in the middle of Comments
|
---|
140 | ;
|
---|
141 | D PAUSE Q:IBQ D HDR1,HDR2 Q:IBQ
|
---|
142 | W ! D WPAT D WCD W:IBC1>1 ?26,"(continued)",!
|
---|
143 | Q
|
---|
144 | ;
|
---|
145 | WCD ; - Write comment date.
|
---|
146 | W !?2,"Comment Date: ",$$DAT1^IBOUTL(IBCD)
|
---|
147 | Q
|
---|
148 | ;
|
---|
149 | SSN(X) ; - Format the SSN.
|
---|
150 | Q $S(X:$E(X,1,3)_"-"_$E(X,4,5)_"-"_$E(X,6,10),1:"")
|
---|