1 | IBDFOSG ;ALB/MAF/AAS - SCANNED EF FOR OUTPATIENTS WITH BILLS GENERATED REPORT ;8/21/95
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**29,51**;APR 24, 1997
|
---|
3 | ;
|
---|
4 | W !,?4,"** This option is OUT OF ORDER **" QUIT ;Code set Versioning
|
---|
5 | ;
|
---|
6 | % I '$D(DT) D DT^DICRW
|
---|
7 | D END
|
---|
8 | W !!,"Scanned Encounter Forms with Outpatient Bills Generated."
|
---|
9 | S IBDFMUL=0 I $D(^DG(43,1,"GL")) S:$P(^DG(43,1,"GL"),"^",2)=1 IBDFMUL=1 D DIVISION^VAUTOMA G:Y=-1 END
|
---|
10 | S VAUTC=1
|
---|
11 | S IBDFDAT=$$HTE^XLFDT($H)
|
---|
12 | ;
|
---|
13 | DATE ; -- select date
|
---|
14 | W !! D DATE^IBOUTL
|
---|
15 | I IBBDT=""!(IBEDT="") G END
|
---|
16 | S IBDFBEG=IBBDT,IBDFEND=IBEDT
|
---|
17 | ;
|
---|
18 | DEV ; -- select device, run option
|
---|
19 | W !!,"You will need a 132 column printer for this report!",!
|
---|
20 | S %ZIS="QM" D ^%ZIS G:POP END
|
---|
21 | I $D(IO("Q")) K ZTSK S ZTRTN="DQ^IBDFOSG",ZTSAVE("IB*")="",ZTSAVE("VA*")="",ZTDESC="IBD - Scanned Encounter Forms with Bill Generation" D ^%ZTLOAD K IO("Q") W !,$S($D(ZTSK):"Request Queued Task="_ZTSK,1:"Request Canceled") D HOME^%ZIS G END
|
---|
22 | ;
|
---|
23 | U IO
|
---|
24 | S X=132 X ^%ZOSF("RM")
|
---|
25 | DQ D PRINT G END
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | END ; -- Clean up
|
---|
29 | K ^TMP("CTOT",$J),^TMP("DTOT",$J),^TMP("GTOT",$J),^TMP("MCCR",$J),^TMP("IBD-BILL",$J),^TMP("IBD-PRINTED",$J),^TMP("IBD-ENTERED",$J) W !
|
---|
30 | I $D(ZTQUEUED) S ZTREQ="@" Q
|
---|
31 | D ^%ZISC
|
---|
32 | K X,Y,DFN,IBPAG,IBHDT,IBDT,IBBDT,IBEDT,IBQUIT,IBDFDVE
|
---|
33 | K IBCNT,IBDFBEG,IBDFCLI,IBDFDA,IBDFDAT,IBDFDIV,IBDFEND,IBDFIFN,IBDFMUL,IBDFNODE,IBDFNUM,IBDFSA,IBDFT,IBDFTMP,IBDFTMP1,IBDFTMP2,IBDFTPRT
|
---|
34 | K IBFLG1,IBFLG2,IBFLG3,IBFLG4,IBFLG5,IBFLG6,IBFLG7,IBFLG8,IBFLG9,IBMCNODE,IBMCSND,IBNAM,IBTSBDT,IBTSEDT
|
---|
35 | K VAUTC,VAUTD
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | PRINT ; -- print one billing report
|
---|
39 | ; Data sorted into ^tmp arrays
|
---|
40 | ; := ^tmp("mccr",$j) =
|
---|
41 | ; Clinic Totals := ^tmp("ctot",$j,division,clinic)=
|
---|
42 | ; Division Totals := ^tmp("dtot",$j,division) =
|
---|
43 | ; Grand Totals := ^tmp("gtot",$j) =
|
---|
44 | ;
|
---|
45 | S (IBPAG,IBDFDVE)=0,IBHDT=$$HTE^XLFDT($H,1),IBQUIT=0
|
---|
46 | S IBTSBDT=IBBDT-.1,IBTSEDT=IBEDT+.9
|
---|
47 | D QUIT
|
---|
48 | D START^IBDFOSG1
|
---|
49 | ;
|
---|
50 | PR D HDR
|
---|
51 | I '$D(^TMP("MCCR",$J)) W !!,"No Data Meeting This Criteria for the Date Range Chosen",! Q
|
---|
52 | N IBDFDV,IBDFCL,IBDNODE,IBDFTMP,IBDFPAT,IBDFPT,IBDFT
|
---|
53 | S (IBDFDV,IBDFCL,IBDFPT)=0
|
---|
54 | F IBDFDIV=0:0 S IBDFDV=$O(^TMP("CTOT",$J,IBDFDV)) Q:IBDFDV=""!(IBQUIT) D
|
---|
55 | .D DIVH
|
---|
56 | .S IBDFCL=0
|
---|
57 | .F IBDFCLI=0:0 S IBDFCL=$O(^TMP("CTOT",$J,IBDFDV,IBDFCL)) Q:IBDFCL="" D ONECL I $O(^TMP("CTOT",$J,IBDFDV,IBDFCL))="" S IBDFDVE=1 D ONEDV
|
---|
58 | ;
|
---|
59 | ; -- Print Totals Page
|
---|
60 | S IBDFDVE=0
|
---|
61 | Q:IBQUIT
|
---|
62 | D HDR
|
---|
63 | S (IBDFDV,IBDFCL,IBDFPT)=0
|
---|
64 | S IBFLG4=1 ;1 := on division totals page
|
---|
65 | F IBDFDIV=0:0 S IBDFDV=$O(^TMP("DTOT",$J,IBDFDV)) Q:IBDFDV']""!(IBQUIT) D ONEDV
|
---|
66 | Q:IBQUIT
|
---|
67 | D DASH
|
---|
68 | D LINE("GRAND TOTAL",^TMP("GTOT",$J))
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | ONECL ; -- Print one clinics data
|
---|
72 | Q:IBQUIT
|
---|
73 | Q:^TMP("CTOT",$J,IBDFDV,IBDFCL)="0^0^0^0^0^0^0^0^0"
|
---|
74 | D LINE(IBDFCL,^TMP("CTOT",$J,IBDFDV,IBDFCL))
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | ONEDV ; -- Print Division totals
|
---|
78 | Q:IBQUIT
|
---|
79 | I IOSL<($Y+5) D HDR Q:IBQUIT
|
---|
80 | Q:^TMP("DTOT",$J,IBDFDV)="0^0^0^0^0^0^0^0^0"&('$D(IBFLG4))
|
---|
81 | I IBDFDVE=1 D DASH S IBDFDVE=0
|
---|
82 | D LINE(IBDFDV,^TMP("DTOT",$J,IBDFDV))
|
---|
83 | Q
|
---|
84 | ;
|
---|
85 | LINE(NAME,IBX) ;
|
---|
86 | ; -- print detail line
|
---|
87 | ; input Name := text to be printed
|
---|
88 | ; ibx ;= 9 piece global node containing data
|
---|
89 | ;
|
---|
90 | I IOSL<($Y+5) D HDR Q:IBQUIT
|
---|
91 | W !,$E(NAME,1,25)
|
---|
92 | W ?27,$J($P(IBX,"^",4),8)
|
---|
93 | W ?39,$J($P(IBX,"^",3),8)
|
---|
94 | W ?51,$J($P(IBX,"^",1),8)
|
---|
95 | W ?63,$J($P(IBX,"^",2),8)
|
---|
96 | S X=$S($P(IBX,"^",4)>0:$P(IBX,"^",5)/$P(IBX,"^",4),1:0)
|
---|
97 | W ?75,$J(X,8,2) ;$J($E(X,1,8),8)
|
---|
98 | W ?87,$J($P(IBX,"^",6),8)
|
---|
99 | W ?99,$J($P(IBX,"^",7),8)
|
---|
100 | W ?111,$J($P(IBX,"^",8),8)
|
---|
101 | W ?123,$J($P(IBX,"^",9),8)
|
---|
102 | Q
|
---|
103 | ;
|
---|
104 | HDR ; -- Print header for billing report
|
---|
105 | Q:IBQUIT
|
---|
106 | I $E(IOST,1,2)="C-",IBPAG D PAUSE^VALM1 I $D(DIRUT) S IBQUIT=1 Q
|
---|
107 | I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
|
---|
108 | S IBPAG=IBPAG+1
|
---|
109 | W !,"Scanned Encounters with Bill Generation Data",?(IOM-33),"Page ",IBPAG," ",IBHDT
|
---|
110 | W !,"For Period beginning on ",$$FMTE^XLFDT(IBBDT,2)," to ",$$FMTE^XLFDT(IBEDT,2)
|
---|
111 | W !,?53,"Visits",?65,"#Bills",?75,"Avg. Days",?114,"Total",?126,"Total"
|
---|
112 | W !,"Clinic",?27,"#Scanned",?39,"#Insured",?53,"Billed",?64,"Printed",?75,"to Print",?87,"$ Billed",?100,"$ Recvd",?114,"Bills",?125,"Visits"
|
---|
113 | W !,$TR($J(" ",IOM)," ","-")
|
---|
114 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,IBQUIT=1 W !!,"....task stopped at user request" Q
|
---|
115 | Q
|
---|
116 | ;
|
---|
117 | ;
|
---|
118 | QUIT K ^TMP("CTOT",$J),^TMP("DTOT",$J),^TMP("GTOT",$J),^TMP("MCCR",$J),^TMP("IBD-BILL",$J) W !
|
---|
119 | Q
|
---|
120 | ;
|
---|
121 | ;
|
---|
122 | DASH W !,"------------------",?27,"--------",?39,"--------",?51,"--------",?63,"--------",?75,"--------",?87,"--------",?99,"--------",?111,"--------",?123,"--------"
|
---|
123 | Q
|
---|
124 | ;
|
---|
125 | DIVH ; -- Write division header
|
---|
126 | I IOSL<($Y+5) D HDR Q:IBQUIT
|
---|
127 | Q:^TMP("DTOT",$J,IBDFDV)="0^0^0^0^0^0^0^0^0"
|
---|
128 | W !!,?(IOM-$L(IBDFDV)+10/2),"DIVISION: ",IBDFDV,!
|
---|
129 | Q
|
---|