1 | IBJDU1 ;ALB/CPM - UTILIZATION WORKLOAD REPORT ; 24-DEC-96
|
---|
2 | ;;Version 2.0 ; INTEGRATED BILLING ;**69**; 21-MAR-94
|
---|
3 | ;
|
---|
4 | EN ; Option entry point.
|
---|
5 | ;
|
---|
6 | W !!,"This report provides a measure of the number of Insurance Reviews"
|
---|
7 | W !,"which are conducted in the Medical Center.",!
|
---|
8 | ;
|
---|
9 | D DATE^IBOUTL I IBBDT=""!(IBEDT="") G ENQ
|
---|
10 | ;
|
---|
11 | W !!,"This report only requires an 80 column printer."
|
---|
12 | ;
|
---|
13 | W !!," Note: This report may take a while to run."
|
---|
14 | W !?10,"You should queue this report to run after normal business hours.",!
|
---|
15 | ;
|
---|
16 | ; - select a device
|
---|
17 | S %ZIS="QM" D ^%ZIS G:POP ENQ
|
---|
18 | I $D(IO("Q")) D G ENQ
|
---|
19 | .S ZTRTN="DQ^IBJDU1",ZTDESC="IB - UTILIZATION WORKLOAD REPORT"
|
---|
20 | .F I="IBBDT","IBEDT" S ZTSAVE(I)=""
|
---|
21 | .D ^%ZTLOAD
|
---|
22 | .W !!,$S($D(ZTSK):"This job has been queued. The task number is "_ZTSK_".",1:"Unable to queue this job.")
|
---|
23 | .K ZTSK,IO("Q") D HOME^%ZIS
|
---|
24 | ;
|
---|
25 | U IO
|
---|
26 | ;
|
---|
27 | DQ ; Tasked entry point.
|
---|
28 | ;
|
---|
29 | K IB F I=1:1:10 S IB(I)=0
|
---|
30 | ;
|
---|
31 | ; - count admissions within the user-specified date range
|
---|
32 | S IBDT=IBBDT-.000000001,IBQ=0
|
---|
33 | F S IBDT=$O(^DGPM("AMV1",IBDT)) Q:'IBDT!(IBDT>(IBEDT+.24)) D Q:IBQ
|
---|
34 | .S DFN=0 F S DFN=$O(^DGPM("AMV1",IBDT,DFN)) Q:'DFN D Q:IBQ
|
---|
35 | ..S IBPM=0 F S IBPM=$O(^DGPM("AMV1",IBDT,DFN,IBPM)) Q:'IBPM D Q:IBQ
|
---|
36 | ...;
|
---|
37 | ...I IBPM#100=0 S IBQ=$$STOP^IBOUTL("Utilization Workload Report") Q:IBQ
|
---|
38 | ...;
|
---|
39 | ...S IB(1)=IB(1)+1 ; total admissions
|
---|
40 | ...;
|
---|
41 | ...Q:'$$INSURED^IBCNS1(DFN,IBDT)
|
---|
42 | ...;
|
---|
43 | ...S IB(2)=IB(2)+1 ; insured admissions
|
---|
44 | ...D ELIG^VADPT
|
---|
45 | ...I VAEL(3) S IB(3)=IB(3)+1 Q ; insured SC admissions
|
---|
46 | ...S IB(4)=IB(4)+1 ; insured NSC admissions
|
---|
47 | ;
|
---|
48 | I IBQ G ENQ
|
---|
49 | ;
|
---|
50 | ; - count insurance reviews
|
---|
51 | K ^TMP("IBJDU1",$J)
|
---|
52 | S IBDT=IBBDT-.000000001
|
---|
53 | F S IBDT=$O(^IBT(356.2,"B",IBDT)) Q:'IBDT!(IBDT>(IBEDT+.9)) D Q:IBQ
|
---|
54 | .S IBTRC=0 F S IBTRC=$O(^IBT(356.2,"B",IBDT,IBTRC)) Q:'IBTRC D Q:IBQ
|
---|
55 | ..;
|
---|
56 | ..I IBTRC#100=0 S IBQ=$$STOP^IBOUTL("Utilization Workload Report") Q:IBQ
|
---|
57 | ..;
|
---|
58 | ..S IBTRCD=$G(^IBT(356.2,+IBTRC,0)) Q:IBTRCD=""
|
---|
59 | ..S IBTRN=$P(IBTRCD,"^",2)
|
---|
60 | ..Q:$P(IBTRCD,"^",19)<10 ; review is not complete
|
---|
61 | ..Q:'IBTRN ; no corresponding CT entry
|
---|
62 | ..S IBPM=$P($G(^IBT(356,IBTRN,0)),"^",5)
|
---|
63 | ..Q:'IBPM ; review not for an admission
|
---|
64 | ..;
|
---|
65 | ..; - get contact type
|
---|
66 | ..S IBRTY=$P($G(^IBE(356.11,+$P(IBTRCD,"^",4),0)),"^",2)
|
---|
67 | ..;
|
---|
68 | ..; - appeals
|
---|
69 | ..I IBRTY=60!(IBRTY=65) D Q
|
---|
70 | ...I '$D(^TMP("IBJDU1",$J,IBTRN)) S ^(IBTRN)="",IB(10)=IB(10)+1
|
---|
71 | ..;
|
---|
72 | ..; - admission reviews
|
---|
73 | ..I IBRTY=10!(IBRTY=15)!(IBRTY=20) D Q
|
---|
74 | ...S IB(5)=IB(5)+1
|
---|
75 | ...;
|
---|
76 | ...; - count reviews where the entire admission was denied
|
---|
77 | ...Q:'$P($G(^IBT(356.2,IBTRC,1)),"^",7)
|
---|
78 | ...;
|
---|
79 | ...S IB(7)=IB(7)+1
|
---|
80 | ...S X=$G(^DGPM(IBPM,0)),Y=+$G(^DGPM(+$P(X,"^",17),0))\1
|
---|
81 | ...S:'Y Y=DT
|
---|
82 | ...S IB(9)=IB(9)+$$FMDIFF^XLFDT(Y,+X\1)
|
---|
83 | ..;
|
---|
84 | ..; - continued stay reviews
|
---|
85 | ..I IBRTY=30 D
|
---|
86 | ...S IB(6)=IB(6)+1
|
---|
87 | ...;
|
---|
88 | ...; - look at denials
|
---|
89 | ...Q:$P($G(^IBE(356.7,+$P(IBTRCD,"^",11),1)),"^",3)'=20
|
---|
90 | ...S IB(8)=IB(8)+1
|
---|
91 | ...S X=$P(IBTRCD,"^",15),Y=$P(IBTRCD,"^",16) S:'Y Y=X
|
---|
92 | ...I X S IB(9)=IB(9)+$$FMDIFF^XLFDT(Y,X)+1
|
---|
93 | ;
|
---|
94 | I IBQ G ENQ
|
---|
95 | ;
|
---|
96 | ; - print the reports
|
---|
97 | S (IBPAG,IBQ)=0 D NOW^%DTC S IBRUN=$$DAT2^IBOUTL(%)
|
---|
98 | D SUM
|
---|
99 | ;
|
---|
100 | ENQ K ^TMP("IBJDU1",$J)
|
---|
101 | I $D(ZTQUEUED) S ZTREQ="@" G ENQ1
|
---|
102 | ;
|
---|
103 | D ^%ZISC
|
---|
104 | ENQ1 K IB,IBQ,IBBDT,IBEDT,IBDT,IBPM,IBPAG,IBRUN,IBTRC,IBTRCD,IBTRN,IBRTY
|
---|
105 | K %,%ZIS,DFN,IBPERI,IBPERS,POP,X,Y,VA,VAERR,VAEL,ZTDESC,ZTRTN,ZTSAVE
|
---|
106 | Q
|
---|
107 | ;
|
---|
108 | ;
|
---|
109 | ;
|
---|
110 | SUM ; Print the Summary Report.
|
---|
111 | I $E(IOST,1,2)="C-" W @IOF,*13
|
---|
112 | ;
|
---|
113 | ; - print overall summary header
|
---|
114 | W !!?30,"UTILIZATION WORKLOAD"
|
---|
115 | W !?33,"SUMMARY REPORT"
|
---|
116 | W !!?22,"For Reviews from ",$$DAT1^IBOUTL(IBBDT)," - ",$$DAT1^IBOUTL(IBEDT)
|
---|
117 | W !!?24,"Run Date: ",IBRUN
|
---|
118 | W !?24,$$DASH(31),!!
|
---|
119 | ;
|
---|
120 | ; - print overall summary statistics
|
---|
121 | S IBPERI=$S('IB(1):0,1:$J(IB(2)/IB(1)*100,0,2))
|
---|
122 | S IBPERS=$S('IB(2):0,1:$J(IB(3)/IB(2)*100,0,2))
|
---|
123 | W ?21,"Total Number of Admissions:",?60,$J(IB(1),7)
|
---|
124 | W !?6,"Total Number of Admissions with Insurance:",?60,$J(IB(2),7)," (",IBPERI,"%)"
|
---|
125 | W !?39,"SC:",?60,$J(IB(3),7)," (",IBPERS,"%)"
|
---|
126 | W !?38,"NSC:",?60,$J(IB(4),7)," (",$J(100-IBPERS,0,2),"%)"
|
---|
127 | ;
|
---|
128 | W !!?7,"Total Number of Admission Reviews completed"
|
---|
129 | W !?9,"on Insurance Patients (including pre-certifications):",?65,$J(IB(5),7)
|
---|
130 | W !?13,"Total Number of Continued Stay Reviews completed:",?65,$J(IB(6),7)
|
---|
131 | W !?5,"Total Number of Admission Denials by Insurance Companies:",?65,$J(IB(7),7)
|
---|
132 | W !,"Total Number of Continued Stay Denials by Insurance Companies:",?65,$J(IB(8),7)
|
---|
133 | W !?11,"Total Number of days denied by Insurance Companies:",?65,$J(IB(9),7)
|
---|
134 | W !?31,"Total Number of Appealed Cases:",?65,$J(IB(10),7)
|
---|
135 | ;
|
---|
136 | D PAUSE
|
---|
137 | Q
|
---|
138 | ;
|
---|
139 | DASH(X) ; Return a dashed line.
|
---|
140 | Q $TR($J("",X)," ","=")
|
---|
141 | ;
|
---|
142 | PAUSE ; Page break
|
---|
143 | Q:$E(IOST,1,2)'="C-"
|
---|
144 | N IBX,DIR,DIRUT,DUOUT,DTOUT,DIROUT,X,Y
|
---|
145 | F IBX=$Y:1:(IOSL-3) W !
|
---|
146 | S DIR(0)="E" D ^DIR I $D(DIRUT)!($D(DUOUT)) S IBQ=1
|
---|
147 | Q
|
---|