| 1 | IBTOPW ;ALB/AAS - CLAIMS TRACKING PENDING REVIEWS REPORT ; 27-OCT-93 | 
|---|
| 2 | ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94 | 
|---|
| 3 | ; | 
|---|
| 4 | % I '$D(DT) D DT^DICRW | 
|---|
| 5 | W !!,"Pending Reviews Report",!!! | 
|---|
| 6 | ; | 
|---|
| 7 | SORT D SORT^IBTRPR0 | 
|---|
| 8 | ; | 
|---|
| 9 | REVS ; -- ask if hospital review, insurance reviews or both | 
|---|
| 10 | N DIR W ! | 
|---|
| 11 | S DIR(0)="SOBA^H:HOSPITAL REVIEWS;I:INSURANCE REVIEWS;B:BOTH;" | 
|---|
| 12 | S DIR("A")="Print [H]ospital Reviews  [I]Insurance Reviews  [B]oth: " | 
|---|
| 13 | S DIR("B")="B" | 
|---|
| 14 | S DIR("?",1)="Select if you would like to print pending Hospital Reviews, Insurance" | 
|---|
| 15 | S DIR("?",2)="Reviews or both." | 
|---|
| 16 | S DIR("?",3)=" ",DIR("?")="The default is both.  This will print first the hospital reviews, then the insurance reviews." | 
|---|
| 17 | D ^DIR K DIR | 
|---|
| 18 | I "HIB"'[Y!($D(DIRUT)) G END | 
|---|
| 19 | S IBTRPRF=$S(Y="B":12,Y="I":2,1:1) | 
|---|
| 20 | ; | 
|---|
| 21 | S IBTWHO="A" I IBSORT="A" D WHOSE^IBTRPR0 G:$D(VALMQUIT) END | 
|---|
| 22 | S IBTPRT="B",VAUTD=1 I IBSORT="T" D TYPE^IBTRPR0 G:$D(VALMQUIT) END | 
|---|
| 23 | I IBSORT="T"!(IBSORT="W") W ! D PSDR^IBODIV G:Y<0 END | 
|---|
| 24 | ; | 
|---|
| 25 | DATE ; -- select date | 
|---|
| 26 | W !! D DATE^IBOUTL | 
|---|
| 27 | I IBBDT=""!(IBEDT="") G END | 
|---|
| 28 | S IBTPBDT=IBBDT,IBTPEDT=IBEDT | 
|---|
| 29 | ; | 
|---|
| 30 | DEV ; -- select device, run option | 
|---|
| 31 | W !!,"You will need a 132 column printer for this report!",! | 
|---|
| 32 | S %ZIS="QM" D ^%ZIS G:POP END | 
|---|
| 33 | I $D(IO("Q")) S ZTRTN="DQ^IBTOPW",ZTSAVE("IB*")="",ZTSAVE("VAUTD")="",ZTSAVE("VAUTD(")="",ZTDESC="IB - Pending Reviews Report" D ^%ZTLOAD K IO("Q"),ZTSK D HOME^%ZIS G END | 
|---|
| 34 | ; | 
|---|
| 35 | D DQ G END | 
|---|
| 36 | Q | 
|---|
| 37 | ; | 
|---|
| 38 | END ; -- Clean up | 
|---|
| 39 | W ! | 
|---|
| 40 | K ^TMP("IBSRT",$J),^TMP("IBSRT1",$J) W ! | 
|---|
| 41 | I $D(ZTQUEUED) S ZTREQ="@" Q | 
|---|
| 42 | D ^%ZISC | 
|---|
| 43 | K I,J,X,Y,DFN,DUOUT,DIRUT,%ZIS,VA,VAERR,IBTRN,IBTRND,IBTRND1,IBPAG,IBHDT,IBDISDT,IBETYP,IBQUIT,IBTAG,IBTRPRF,IBTSORT,IBTOPW,IBTWHO,IBTPRT,IBDIV | 
|---|
| 44 | K ENTRY,FILE,IBDATE,IBJ,IBNEXT,IBREV,IBSTATUS,IBTPEDT,IBTPBDT,IBTRC,IBTRV,TYPE,IBASSIGN,IBCNT,IBDATA,IBFLAG,IBK,IBL,IBSORT,IBWARD,IBEDT,IBBDT,IBDV,VAUTD | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | DQ ; -- print one billing report from ct | 
|---|
| 48 | ; -- run the scheduled admissions list | 
|---|
| 49 | ; | 
|---|
| 50 | S IBPAG=0,IBHDT=$$HTE^XLFDT($H,1),IBQUIT=0 | 
|---|
| 51 | ; | 
|---|
| 52 | ; -- put division in array by name | 
|---|
| 53 | I '$D(VAUTD) S VAUTD=1 | 
|---|
| 54 | I VAUTD'=1 S I="" F  S I=$O(VAUTD(I)) Q:'I  S IBDIV(VAUTD(I))=I | 
|---|
| 55 | ; | 
|---|
| 56 | ; -- run the scheduled admissions list | 
|---|
| 57 | D ^IBTRKR2 ;W:'$D(ZTQUEUED) !!,"Building your work list..." | 
|---|
| 58 | U IO | 
|---|
| 59 | D BLD | 
|---|
| 60 | I IBCNT<1 D HDR W !!,"No Pending Reviews found." | 
|---|
| 61 | I $D(ZTQUEUED) G END | 
|---|
| 62 | Q | 
|---|
| 63 | ; | 
|---|
| 64 | HDR ; -- Print header for billing report | 
|---|
| 65 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,IBQUIT=1 W !!,"....task stoped at user request" | 
|---|
| 66 | Q:IBQUIT | 
|---|
| 67 | I $E(IOST,1,2)="C-",IBPAG D PAUSE^VALM1 I $D(DIRUT) S IBQUIT=1 Q | 
|---|
| 68 | I $E(IOST,1,2)="C-"!(IBPAG) W @IOF | 
|---|
| 69 | S IBPAG=IBPAG+1 | 
|---|
| 70 | W !,"Pending Reviews Report for Division ",$G(IBDV),?(IOM-33),"Page ",IBPAG,"  ",IBHDT | 
|---|
| 71 | W !,"For Period ",$$FMTE^XLFDT(IBBDT)," to ",$$FMTE^XLFDT(IBEDT) | 
|---|
| 72 | W !,"Patient",?23,"Pt. ID",?30,"Ward",?42,"Review Type",?65,"Due Date",?75,"Status",?85,"Assigned to",?105,"Visit",?115,"Date" | 
|---|
| 73 | W !,$TR($J(" ",IOM)," ","-") | 
|---|
| 74 | Q | 
|---|
| 75 | ; | 
|---|
| 76 | BLD ; -- build list | 
|---|
| 77 | ;  1.  build pending hospital reviews | 
|---|
| 78 | ;  2.  build pending insurance reviews | 
|---|
| 79 | ; | 
|---|
| 80 | K ^TMP("IBSRT",$J),^TMP("IBSRT1",$J) | 
|---|
| 81 | N IBI,IBJ | 
|---|
| 82 | S IBCNT=0,IBI="",IBTOPW=1 | 
|---|
| 83 | I '$G(IBTRPRF) S IBTRPRF=12 | 
|---|
| 84 | ; | 
|---|
| 85 | D STOP G BLDQ:IBQUIT D:IBTRPRF[1 1^IBTRPR01 S IBQUIT=0 | 
|---|
| 86 | ; | 
|---|
| 87 | D STOP G BLDQ:IBQUIT D:IBTRPRF[2 2^IBTRPR01 S IBQUIT=0 | 
|---|
| 88 | ; | 
|---|
| 89 | ; -- go through sorted list | 
|---|
| 90 | S IBDV="" F  S IBDV=$O(^TMP("IBSRT",$J,IBDV)) Q:IBDV=""!(IBQUIT)  D | 
|---|
| 91 | .I 'VAUTD,'$D(IBDIV(IBDV)) Q | 
|---|
| 92 | .D HDR | 
|---|
| 93 | .S TYPE="" F  S TYPE=$O(^TMP("IBSRT",$J,IBDV,TYPE)) Q:TYPE=""!(IBQUIT)  D | 
|---|
| 94 | ..S IBI="" F  S IBI=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI)) Q:IBI=""!(IBQUIT)  S IBJ="" F  S IBJ=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ)) Q:IBJ=""!(IBQUIT)  D | 
|---|
| 95 | ...S IBK="" F  S IBK=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ,IBK)) Q:IBK=""!(IBQUIT)  S IBL="" F  S IBL=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ,IBK,IBL)) Q:IBL=""!(IBQUIT)  D ONE | 
|---|
| 96 | ; | 
|---|
| 97 | BLDQ Q | 
|---|
| 98 | ; | 
|---|
| 99 | ONE ; -- print one patients data | 
|---|
| 100 | I ($Y+5)>IOSL D HDR Q:IBQUIT | 
|---|
| 101 | S IBDATA=^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ,IBK,IBL) | 
|---|
| 102 | S IBTRN=+IBDATA,ENTRY=$P(IBDATA,"^",2) | 
|---|
| 103 | S DFN=$P(IBDATA,"^",4) | 
|---|
| 104 | S IBSTATUS=$P(IBDATA,"^",6),IBREV=$P(IBDATA,"^",7) | 
|---|
| 105 | S IBASSIGN=$P(IBDATA,"^",9) | 
|---|
| 106 | S IBFLAG=$O(^TMP("IBSRT1",$J,DFN,"")),IBFLAG=$O(^TMP("IBSRT1",$J,DFN,IBFLAG)) I IBFLAG'="" S IBFLAG="+" | 
|---|
| 107 | S FILE=$P(IBDATA,"^",8) | 
|---|
| 108 | D PID^VADPT | 
|---|
| 109 | S IBCNT=IBCNT+1 | 
|---|
| 110 | W !,IBFLAG,$E($P(^DPT(DFN,0),"^"),1,20),?23,VA("BID"),?30,$E($G(^DPT(DFN,.1)),1,11) | 
|---|
| 111 | W ?42,$E(TYPE,1,11),"-",$P($G(^IBE(356.11,+IBREV,0)),"^",3) | 
|---|
| 112 | W ?65,$$DAT1^IBOUTL($P(IBDATA,"^",3)),?75,IBSTATUS,?85,$E(IBASSIGN,1,18) | 
|---|
| 113 | W ?105,$P($G(^IBE(356.6,+$P(^IBT(356,+IBTRN,0),U,18),0)),U,2) | 
|---|
| 114 | W ?115,$$DAT1^IBOUTL($P(^IBT(356,+IBTRN,0),U,6),"2P") | 
|---|
| 115 | Q | 
|---|
| 116 | ; | 
|---|
| 117 | STOP ; -- see if should stop | 
|---|
| 118 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,IBQUIT=1 D HDR W !!,"....task stoped at user request" | 
|---|
| 119 | Q | 
|---|