| [613] | 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
 | 
|---|