1 | IBTOSA ;ALB/AAS - CLAIMS TRACKING SCHEDULED ADMISSION REPORT ; 27-OCT-93
|
---|
2 | ;;2.0;INTEGRATED BILLING;**62,124**;21-MAR-94
|
---|
3 | ;
|
---|
4 | % I '$D(DT) D DT^DICRW
|
---|
5 | W !!,"Scheduled Admissions Report"
|
---|
6 | ;
|
---|
7 | DATE ; -- select date
|
---|
8 | W !! D DATE^IBOUTL
|
---|
9 | I IBBDT=""!(IBEDT="") G END
|
---|
10 | ;
|
---|
11 | DEV ; -- select device, run option
|
---|
12 | W !!,"You will need a 132 column printer for this report!",!
|
---|
13 | S %ZIS="QM" D ^%ZIS G:POP END
|
---|
14 | I $D(IO("Q")) S ZTRTN="DQ^IBTOSA",ZTSAVE("IB*")="",ZTDESC="IB - scheduled Admissions Report" D ^%ZTLOAD K IO("Q"),ZTSK D HOME^%ZIS G END
|
---|
15 | ;
|
---|
16 | U IO
|
---|
17 | S X=132 X ^%ZOSF("RM")
|
---|
18 | DQ D PRINT G END
|
---|
19 | Q
|
---|
20 | ;
|
---|
21 | END ; -- Clean up
|
---|
22 | K ^TMP($J) W !
|
---|
23 | I $D(ZTQUEUED) S ZTREQ="@" Q
|
---|
24 | D ^%ZISC
|
---|
25 | K I,J,X,Y,DFN,%ZIS,VA,IBTRN,IBTRND,IBPAG,IBHDT,IBDT,IBBDT,IBEDT,IBQUIT
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | PRINT ; -- print one billing report from ct
|
---|
29 | S IBPAG=0,IBHDT=$$HTE^XLFDT($H,1),IBQUIT=0
|
---|
30 | S IBTSBDT=IBBDT-.1,IBTSEDT=IBEDT+.9 D EN^IBTRKR2
|
---|
31 | K ^TMP($J)
|
---|
32 | ;
|
---|
33 | D FIX
|
---|
34 | S IBDT=IBBDT-.1
|
---|
35 | F S IBDT=$O(^IBT(356,"D",IBDT)) Q:'IBDT!(IBDT>(IBEDT+.24))!(IBQUIT) S IBTRN=0 F S IBTRN=$O(^IBT(356,"D",IBDT,IBTRN)) Q:'IBTRN!(IBQUIT) D
|
---|
36 | .S IBTRND=$G(^IBT(356,IBTRN,0))
|
---|
37 | .Q:'$P(IBTRND,"^",20) ; inactive
|
---|
38 | .Q:+IBDT<IBBDT
|
---|
39 | .I $P($G(^IBE(356.6,+$P(IBTRND,"^",18),0)),"^",3)=1,$P(IBTRND,"^",7)=1,$$SCH(IBTRN) D
|
---|
40 | .. I $$INSURED^IBCNS1($P(IBTRND,"^",2),IBDT)!$$BUFFER^IBCNBU1($P(IBTRND,"^",2)) D SET
|
---|
41 | ;
|
---|
42 | PR D HDR
|
---|
43 | I '$D(^TMP($J,"IBSCH")) W !!,"No Scheduled Admission found in date range",! Q
|
---|
44 | S IBNAM="",IBCNT=0
|
---|
45 | F S IBNAM=$O(^TMP($J,"IBSCH",IBNAM)) Q:IBNAM=""!(IBQUIT) S IBDT=0 F S IBDT=$O(^TMP($J,"IBSCH",IBNAM,IBDT)) Q:'IBDT!(IBQUIT) S IBTRN=0 F S IBTRN=$O(^TMP($J,"IBSCH",IBNAM,IBDT,IBTRN)) Q:'IBTRN!(IBQUIT) S IBTRND=^(IBTRN) D ONE
|
---|
46 | ;
|
---|
47 | Q:IBQUIT
|
---|
48 | W !!,"------------------"
|
---|
49 | W !,"TOTAL = ",IBCNT
|
---|
50 | I $D(ZTQUEUED) G END
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | ONE ; -- Print one patients data
|
---|
54 | Q:IBQUIT
|
---|
55 | I IOSL<($Y+5) D HDR Q:IBQUIT
|
---|
56 | S IBCNT=IBCNT+1
|
---|
57 | S DFN=$P(IBTRND,"^",2) D PID^VADPT
|
---|
58 | W !,$E(IBNAM,1,27),?30,VA("PID"),?45,$$DAT1^IBOUTL($P(IBTRND,"^",6),"2P")
|
---|
59 | W ?66,$S('$P(IBTRND,"^",19):"YES",1:$E("NO - "_$P($G(^IBE(356.8,+$P(IBTRND,"^",19),0)),"^"),1,27))
|
---|
60 | W ?100,$E($P($G(^DPT(DFN,.1)),"^"),1,12),?115,$E($$EXPAND^IBTRE(356,.07,$P(IBTRND,"^",7)),1,11)
|
---|
61 | I +$$BUFFER^IBCNBU1(DFN) W ?129,"YES"
|
---|
62 | Q
|
---|
63 | ;
|
---|
64 | HDR ; -- Print header for billing report
|
---|
65 | Q:IBQUIT
|
---|
66 | I $E(IOST,1,2)="C-",IBPAG D PAUSE^VALM1 I $D(DIRUT) S IBQUIT=1 Q
|
---|
67 | I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
|
---|
68 | S IBPAG=IBPAG+1
|
---|
69 | W !,"Scheduled Admissions with Insurance",?(IOM-33),"Page ",IBPAG," ",IBHDT
|
---|
70 | W !,"For Period beginning on ",$$DAT1^IBOUTL(IBBDT)," to ",$$DAT1^IBOUTL(IBEDT)
|
---|
71 | W !,"Patient",?30,"Pt. ID",?45,"Adm. Date",?66,"Billable",?100,"Ward",?115,"Type",?126,"Buffer"
|
---|
72 | W !,$TR($J(" ",IOM)," ","-")
|
---|
73 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,IBQUIT=1 W !!,"....task stop* ed at user request" Q
|
---|
74 | Q
|
---|
75 | ;
|
---|
76 | SET ; -- set tmp array
|
---|
77 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,IBQUIT=1 D HDR W !!,"....task stop* ed at user request" Q
|
---|
78 | S ^TMP($J,"IBSCH",$P(^DPT(+$P(IBTRND,"^",2),0),"^"),IBDT,IBTRN)=IBTRND
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | SCH(IBTRN) ; -- is patient either admitted or still scheduled
|
---|
82 | ;
|
---|
83 | N IBX,IBTRND S IBX=1
|
---|
84 | S IBTRND=$G(^IBT(356,+IBTRN,0))
|
---|
85 | I '$P(IBTRND,"^",32) G SCHQ
|
---|
86 | I $P(IBTRND,"^",5) G SCHQ
|
---|
87 | S X=$G(^DGS(41.1,+$P(IBTRND,"^",32),0)) I X=""!($P(X,"^",13)) D S IBX=0
|
---|
88 | .N DA,DR,DIC,DIE
|
---|
89 | .S DIE="^IBT(356,",DR=".2////0;.32///@",DA=IBTRN
|
---|
90 | .D ^DIE
|
---|
91 | SCHQ Q IBX
|
---|
92 | ;
|
---|
93 | FIX ; -- find bad episode dates and fix
|
---|
94 | S IBDT=DT
|
---|
95 | F S IBDT=$O(^IBT(356,"D",IBDT)) Q:'IBDT S IBTRN=0 F S IBTRN=$O(^IBT(356,"D",IBDT,IBTRN)) Q:'IBTRN D F1(IBTRN)
|
---|
96 | Q
|
---|
97 | ;
|
---|
98 | F1(IBTRN) ; fix EPISODE DATE
|
---|
99 | N IBDT,DA,DR,DIC,DIE
|
---|
100 | Q:'$G(IBTRN)
|
---|
101 | Q:$G(^IBT(356,+IBTRN,0))=""
|
---|
102 | S IBDT=$P(^IBT(356,+IBTRN,0),"^",6)
|
---|
103 | I +IBDT'=IBDT,$E(IBDT,$L(IBDT))=0 S IBDT=+IBDT,DA=IBTRN,DR=".06////"_IBDT,DIE="^IBT(356," D ^DIE
|
---|
104 | Q
|
---|