| [613] | 1 | IBCOPR1 ;WISC/RFJ,BOISE/WRL-print dollar amts for pre-registration ; 05 May 97  8:34 AM | 
|---|
|  | 2 | ;;2.0; INTEGRATED BILLING ;**75,345**; 21-MAR-94;Build 28 | 
|---|
|  | 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
|  | 4 | Q | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | PRINT ;  print report | 
|---|
|  | 8 | N %,%H,%I,DATA,DATEDIS1,DATEDIS2,DFN,IBCNFLAG,IBCNLINE,INSCO,NOW,PAGE,SCREEN,X,Y,SOI | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | S Y=$P(DATESTRT,".") D DD^%DT S DATEDIS1=Y | 
|---|
|  | 11 | S Y=$P(DATEEND,".") D DD^%DT S DATEDIS2=Y | 
|---|
|  | 12 | D NOW^%DTC S Y=% D DD^%DT S NOW=Y | 
|---|
|  | 13 | S PAGE=1,IBCNLINE="",$P(IBCNLINE,"-",81)="" | 
|---|
|  | 14 | S SCREEN=0 I '$D(ZTQUEUED),IO=IO(0),$E(IOST)="C" S SCREEN=1 | 
|---|
|  | 15 | U IO | 
|---|
|  | 16 | S SOI=0 | 
|---|
|  | 17 | P1 S SOI=$O(COUNTNEW(SOI)) I SOI="" Q | 
|---|
|  | 18 | I SCREEN,PAGE>1 D PAUSE Q:$G(IBCNFLAG) | 
|---|
|  | 19 | D H | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | ;  show list of new patients for source | 
|---|
|  | 22 | I IBCNFSUM=2 D H1 S DFN=0 F  S DFN=$O(^TMP($J,"IBCOPR","NEW",SOI,DFN)) Q:'DFN!($G(IBCNFLAG))  D | 
|---|
|  | 23 | .   S INSCO=0 F  S INSCO=$O(^TMP($J,"IBCOPR","NEW",SOI,DFN,INSCO)) Q:'INSCO!($G(IBCNFLAG))  D | 
|---|
|  | 24 | .   .   S DATA=^TMP($J,"IBCOPR","ALL",DFN,INSCO) | 
|---|
|  | 25 | .   .   W !,$E($P(DATA,"^"),1,25),?27,$P(DATA,"^",2),?34,$E($P($G(^DIC(36,INSCO,0)),"^"),1,30),?68,$P(DATA,"^",3) | 
|---|
|  | 26 | .   .   I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H,H1 | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | I $G(IBCNFLAG) Q | 
|---|
|  | 29 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | W !,"    TOTAL NEW POLICIES IDENTIFIED WITH ",$P(^IBE(355.12,SOI,0),"^",2),": ",COUNTNEW(SOI),! | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | ;  *** INPATIENT *** | 
|---|
|  | 34 | ;  show list of new inpatient bills | 
|---|
|  | 35 | I $G(IBCNFSUM)=2 D BILL(1) | 
|---|
|  | 36 | I $G(IBCNFLAG) Q | 
|---|
|  | 37 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 38 | ; | 
|---|
|  | 39 | W !,"    TOTAL INPATIENT BILLS COUNT: ",$G(TOTALCNT(SOI,1))+0,?44,"AMOUNT: ",$J($FN(+$G(TOTALAMT(SOI,1)),",",2),12),! | 
|---|
|  | 40 | I $G(IBCNFLAG) Q | 
|---|
|  | 41 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 42 | ; | 
|---|
|  | 43 | ;  show list of inpatient transactions | 
|---|
|  | 44 | I $G(IBCNFSUM)=2 D TRAN(1) | 
|---|
|  | 45 | I $G(IBCNFLAG) Q | 
|---|
|  | 46 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 47 | ; | 
|---|
|  | 48 | W !,"    TOTAL INPATIENT PAYMENT COUNT: ",$G(PAYMTCNT(SOI,1))+0,?44,"AMOUNT: ",$J($FN(+$G(PAYMTAMT(SOI,1)),",",2),12),! | 
|---|
|  | 49 | ; | 
|---|
|  | 50 | ;  *** OUTPATIENT *** | 
|---|
|  | 51 | ;  show list of new outpatient bills | 
|---|
|  | 52 | I $G(IBCNFSUM)=2 D BILL(3) | 
|---|
|  | 53 | I $G(IBCNFLAG) Q | 
|---|
|  | 54 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 55 | ; | 
|---|
|  | 56 | W !,"    TOTAL OUTPATIENT BILLS COUNT: ",$G(TOTALCNT(SOI,3))+0,?44,"AMOUNT: ",$J($FN(+$G(TOTALAMT(SOI,3)),",",2),12),! | 
|---|
|  | 57 | I $G(IBCNFLAG) Q | 
|---|
|  | 58 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | ;  show list of outpatient transactions | 
|---|
|  | 61 | I $G(IBCNFSUM)=2 D TRAN(3) | 
|---|
|  | 62 | I $G(IBCNFLAG) Q | 
|---|
|  | 63 | I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H | 
|---|
|  | 64 | ; | 
|---|
|  | 65 | W !,"    TOTAL OUTPATIENT PAYMENT COUNT: ",$G(PAYMTCNT(SOI,3))+0,?44,"AMOUNT: ",$J($FN(+$G(PAYMTAMT(SOI,3)),",",2),12),! | 
|---|
|  | 66 | G P1 | 
|---|
|  | 67 | ; | 
|---|
|  | 68 | ; | 
|---|
|  | 69 | ; | 
|---|
|  | 70 | BILL(CLASS) ;  print bills where class=1 inpatient, class=3 outpatient | 
|---|
|  | 71 | N CANCEL,DA,DATE,DATA,DATA1,Y | 
|---|
|  | 72 | D H2 | 
|---|
|  | 73 | S DATE=0 F  S DATE=$O(^TMP($J,"IBCOPR","BILL",SOI,CLASS,DATE)) Q:'DATE!($G(IBCNFLAG))  D | 
|---|
|  | 74 | .   S DA=0 F  S DA=$O(^TMP($J,"IBCOPR","BILL",SOI,CLASS,DATE,DA)) Q:'DA!($G(IBCNFLAG))  D | 
|---|
|  | 75 | .   .   ;  data1 = dfn ^ insco ^ cancel ^ bill number ^ amount | 
|---|
|  | 76 | .   .   S DATA1=$G(^TMP($J,"IBCOPR","BILL",SOI,CLASS,DATE,DA)) | 
|---|
|  | 77 | .   .   S DATA=$G(^TMP($J,"IBCOPR","ALL",+$P(DATA1,"^"),$P(DATA1,"^",2))) | 
|---|
|  | 78 | .   .   S Y=DATE D DD^%DT | 
|---|
|  | 79 | .   .   W !,$E($P(DATA,"^"),1,25),?27,$P(DATA,"^",2),?33,$P(DATA1,"^",3),?34,$P(DATA1,"^",4),?54,$J($FN(+$P(DATA1,"^",5),",",2),10),?68,Y | 
|---|
|  | 80 | .   .   I $P(DATA1,"^",3)'="" S CANCEL=1 | 
|---|
|  | 81 | .   .   I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H,H2 | 
|---|
|  | 82 | I $G(IBCNFLAG) Q | 
|---|
|  | 83 | I $G(CANCEL) W !,"    * Next to bill indicates bill is canceled and not used in totals" | 
|---|
|  | 84 | Q | 
|---|
|  | 85 | ; | 
|---|
|  | 86 | ; | 
|---|
|  | 87 | TRAN(CLASS) ;  print transaction where class=1 inpatient, class=3 outpatient | 
|---|
|  | 88 | N CANCEL,DA,DATE,DATA,DATA1,TYPE,Y | 
|---|
|  | 89 | D H3 | 
|---|
|  | 90 | S DATE=0 F  S DATE=$O(^TMP($J,"IBCOPR","TRAN",SOI,CLASS,DATE)) Q:'DATE!($G(IBCNFLAG))  D | 
|---|
|  | 91 | .   S DA=0 F  S DA=$O(^TMP($J,"IBCOPR","TRAN",SOI,CLASS,DATE,DA)) Q:'DA!($G(IBCNFLAG))  D | 
|---|
|  | 92 | .   .   ;  data1 = dfn ^ insco ^ cancel ^ trans # ^ type ^ amount | 
|---|
|  | 93 | .   .   S DATA1=$G(^TMP($J,"IBCOPR","TRAN",SOI,CLASS,DATE,DA)) | 
|---|
|  | 94 | .   .   S DATA=$G(^TMP($J,"IBCOPR","ALL",+$P(DATA1,"^"),$P(DATA1,"^",2))) | 
|---|
|  | 95 | .   .   S Y=DATE D DD^%DT | 
|---|
|  | 96 | .   .   S TYPE=$P(DATA1,"^",5),TYPE=$S(TYPE=34:"FULL",1:"PART") | 
|---|
|  | 97 | .   .   W !,$E($P(DATA,"^"),1,25),?27,$P(DATA,"^",2),?33,$P(DATA1,"^",3),?34,$P(DATA1,"^",4),?46,TYPE,?54,$J($FN(+$P(DATA1,"^",6),",",2),10),?68,Y | 
|---|
|  | 98 | .   .   I $P(DATA1,"^",3)'="" S CANCEL=1 | 
|---|
|  | 99 | .   .   I $Y>(IOSL-6) D:SCREEN PAUSE Q:$G(IBCNFLAG)  D H,H3 | 
|---|
|  | 100 | I $G(IBCNFLAG) Q | 
|---|
|  | 101 | I $G(CANCEL) W !,"    * Next to payment indicates payment is canceled and not used in totals" | 
|---|
|  | 102 | Q | 
|---|
|  | 103 | ; | 
|---|
|  | 104 | ; | 
|---|
|  | 105 | PAUSE ;  pause at end of page | 
|---|
|  | 106 | N X U IO(0) W !,"Press RETURN to continue, '^' to exit:" R X:DTIME | 
|---|
|  | 107 | S:'$T X="^" S:X["^" IBCNFLAG=1 U IO | 
|---|
|  | 108 | Q | 
|---|
|  | 109 | ; | 
|---|
|  | 110 | ; | 
|---|
|  | 111 | H ;  header | 
|---|
|  | 112 | S %=NOW_"  PAGE "_PAGE,PAGE=PAGE+1 I PAGE'=2!(SCREEN) W @IOF | 
|---|
|  | 113 | W $C(13),"SOURCE OF INFORMATION REPORT",?(80-$L(%)),% | 
|---|
|  | 114 | W !,"  FOR THE DATE RANGE: ",DATEDIS1,"  TO  ",DATEDIS2,?65,$J("TYPE: "_$S(IBCNFSUM=1:"SUMMARY",1:"DETAILED"),15) | 
|---|
|  | 115 | W !,"  SOURCE OF INFORMATION: ",$P(^IBE(355.12,SOI,0),"^",2) | 
|---|
|  | 116 | W !,IBCNLINE | 
|---|
|  | 117 | Q | 
|---|
|  | 118 | ; | 
|---|
|  | 119 | ; | 
|---|
|  | 120 | H1 ;  header for patient list | 
|---|
|  | 121 | W !,"Patient Name",?27,"SSN",?34,"Insurance Company",?68,"Source Date" | 
|---|
|  | 122 | W !,$TR(IBCNLINE,"-",".") | 
|---|
|  | 123 | Q | 
|---|
|  | 124 | ; | 
|---|
|  | 125 | ; | 
|---|
|  | 126 | H2 ;  header for bill list | 
|---|
|  | 127 | W !,$E($TR(IBCNLINE,"-","."),1,27)," ",$S(CLASS=1:" Inpatient",1:"Outpatient")," Bills Entered ",$E($TR(IBCNLINE,"-","."),1,27) | 
|---|
|  | 128 | W !,"Patient Name",?27,"SSN",?34,"Bill Number",?54,$J("Amount",10),?68,"Bill Date" | 
|---|
|  | 129 | W !,$TR(IBCNLINE,"-",".") | 
|---|
|  | 130 | Q | 
|---|
|  | 131 | ; | 
|---|
|  | 132 | ; | 
|---|
|  | 133 | H3 ;  header for transaction list | 
|---|
|  | 134 | W !,$E($TR(IBCNLINE,"-","."),1,24)," ",$S(CLASS=1:" Inpatient",1:"Outpatient")," Payments Collected ",$E($TR(IBCNLINE,"-","."),1,25) | 
|---|
|  | 135 | W !,"Patient Name",?27,"SSN",?34,"Tran Number",?46,"Type",?54,$J("Amount",10),?68,"Bill Date" | 
|---|
|  | 136 | W !,$TR(IBCNLINE,"-",".") | 
|---|
|  | 137 | Q | 
|---|