| [613] | 1 | IBOHPT2 ;ALB/EMG  -  ON HOLD CHARGE INFO/PT CONT. ;JULY 22,1997 | 
|---|
|  | 2 | ;;2.0; INTEGRATED BILLING ;**70,95,347**; 21-MAR-94;Build 24 | 
|---|
|  | 3 | REPORT ; | 
|---|
|  | 4 | N IBQUIT,IBPAGE,IBNOW,IBLINE,IBLINE2,IBCRT,IBBOT,IBNAME,IBN,IBDT,IBIFN | 
|---|
|  | 5 | S IBCRT=0,IBBOT=6,IBQUIT=0 I $E(IOST,1,2)="C-" S IBCRT=1,IBBOT=4 | 
|---|
|  | 6 | S IBLINE="",$P(IBLINE,"=",86)="||",IBLINE=IBLINE_$E(IBLINE,1,45) | 
|---|
|  | 7 | S IBLINE2="",$P(IBLINE2,"-",75)="--" | 
|---|
|  | 8 | D NOW^%DTC S Y=X X ^DD("DD") S IBNOW=Y | 
|---|
|  | 9 | S IBNAME=$$PT^IBEFUNC(DFN) | 
|---|
|  | 10 | I IBCRT W @IOF | 
|---|
|  | 11 | LOOP ; | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | S IBPAGE=1 D HEADER Q:IBQUIT | 
|---|
|  | 14 | S IBDT="" F  S IBDT=$O(^TMP($J,"IB",IBDT)) Q:IBDT=""!(IBDT>0)!(IBQUIT)  D | 
|---|
|  | 15 | .S IBIFN=0 F  S IBIFN=$O(^TMP($J,"IB",IBDT,IBIFN)) Q:'IBIFN!(IBQUIT)  D | 
|---|
|  | 16 | ..D PRNTCHG,PRNTBILL:'IBQUIT | 
|---|
|  | 17 | Q | 
|---|
|  | 18 | PRNTBILL ; prints bills for a charge | 
|---|
|  | 19 | N IB,IB0,IBSTAT,IBCHG,IBPD,C,Y,I,IBT,IBPCT | 
|---|
|  | 20 | D:$Y-IBBOT+1>IOSL HEADER Q:IBQUIT | 
|---|
|  | 21 | S IB="" F I=1:1 S IB=$O(^TMP($J,"IB",IBDT,IBIFN,IB)) W:'IB&(I=1) ?85,$S(IBCN:"",1:"||"),! D:$Y+IBBOT>IOSL HEADER Q:'IB!(IBQUIT)  D | 
|---|
|  | 22 | .W ?85,"||" | 
|---|
|  | 23 | .S IB0=$G(^DGCR(399,IB,0)) Q:IB0="" | 
|---|
|  | 24 | .W ?88,$P(IB0,"^",1) ; bill # | 
|---|
|  | 25 | .W ?97,$$BCHGTYPE^IBCU(+IB) | 
|---|
|  | 26 | .S IBSTAT=$P($$ARSTATA^IBJTU4(+IB),U,2) | 
|---|
|  | 27 | .W ?110,IBSTAT | 
|---|
|  | 28 | .S IBT=$J((+^DGCR(399,IB,"U1")-$P(^("U1"),"^",2)),9,2) | 
|---|
|  | 29 | .W ?113,IBT ; total charges | 
|---|
|  | 30 | .S IBPCT=$P($$BILL^RCJIBFN2(IB),"^",5) W ?128,$J(IBPCT,3,0)_"%",! D:$Y+IBBOT>IOSL HEADER | 
|---|
|  | 31 | Q | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | PRNTCHG ; prints a charge | 
|---|
|  | 34 | N IBACT,IBAR,IBARIFN,IBARST,IBARTR,IBTYPE,IBBILL,IBFR,IBTO,IBCHG,IBND,IBND1,IBST,IBARBN,IBAREN | 
|---|
|  | 35 | N IBRX,IBRXN,IBRF,IBRDT,IBX,IENS | 
|---|
|  | 36 | S IBND=$G(^IB(IBIFN,0)),IBND1=$G(^IB(IBIFN,1)),(IBCN,IBX)=0 | 
|---|
|  | 37 | S (IBRX,IBRXN,IBRF,IBRDT)=0 | 
|---|
|  | 38 | ; action id | 
|---|
|  | 39 | S IBACT=+IBND | 
|---|
|  | 40 | ; type | 
|---|
|  | 41 | S X=$P($P($G(^IBE(350.1,+$P(IBND,"^",3),0)),"^")," ",2,99) | 
|---|
|  | 42 | S IBTYPE=$E($P(X," ",1,$L(X," ")-1),1,6) | 
|---|
|  | 43 | ; bill # | 
|---|
|  | 44 | S IBBILL=$P($P(IBND,"^",11),"-",2) | 
|---|
|  | 45 | S IBARBN=$P(IBND,"^",11) | 
|---|
|  | 46 | ; rx info | 
|---|
|  | 47 | I $P(IBND,"^",4)["52:" S IBRXN=$P($P(IBND,"^",4),":",2),IBRX=$P($P(IBND,"^",8),"-"),IBRF=$P($P(IBND,"^",4),":",3) | 
|---|
|  | 48 | I $P(IBND,"^",4)["52:"  D | 
|---|
|  | 49 | .I IBRF>0 S IENS=+IBRF,IBRDT=$$SUBFILE^IBRXUTL(+IBRXN,+IENS,52,.01) | 
|---|
|  | 50 | .E  S IENS=+IBRXN,IBRDT=$$FILE^IBRXUTL(+IENS,22) | 
|---|
|  | 51 | S IBX=$$APPT^IBCU3(IBRDT,DFN) | 
|---|
|  | 52 | ; service date | 
|---|
|  | 53 | S IBFR=$$DAT1^IBOUTL($S(IBRXN>0:IBRDT,1:$P(IBND,"^",15))) | 
|---|
|  | 54 | ; release to ar date | 
|---|
|  | 55 | ;S IBAR=$$DAT1^IBOUTL($S($P(IBND,"^",14)'="":$P(IBND,"^",14),1:$P(IBND1,"^",4))) | 
|---|
|  | 56 | S IBAR=$S($P(IBND,"^",11):$$DAT1^IBOUTL($P(IBND1,"^",4)),1:"") | 
|---|
|  | 57 | ; ib status | 
|---|
|  | 58 | S IBST=$E($P($G(^IBE(350.21,+$P(IBND,"^",5),0)),"^",2),1,6) | 
|---|
|  | 59 | ; charge$ | 
|---|
|  | 60 | S IBCHG=$J(+$P(IBND,"^",7),9,2) | 
|---|
|  | 61 | S IBARTR=$S($P(IBND,"^",12):$P(IBND,"^",12),1:"") | 
|---|
|  | 62 | ; ar status | 
|---|
|  | 63 | ;S IBARST=$S(IBARTR]"":$E($P($$STNO^RCJIBFN2($$STAT^RCJIBFN2(IBIFN)),"^"),1,6),1:"") | 
|---|
|  | 64 | S IBAREN=$S(IBARTR]"":$O(^PRCA(430,"B",IBARBN,0)),1:"") | 
|---|
|  | 65 | S IBARST=$S(IBAREN]"":$E($P($$STNO^RCJIBFN2($$STAT^RCJIBFN2(IBAREN)),"^"),1,6),1:"") | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | ; write data | 
|---|
|  | 68 | W IBACT,?15,IBTYPE,?28,IBBILL W:IBRX>0 ?38,"Rx #: "_IBRX_$S(IBRF>0:"("_IBRF_")",1:""),?85,"||",! | 
|---|
|  | 69 | W:IBX=1 ?37,"*" | 
|---|
|  | 70 | W ?38,IBFR,?48,IBAR,?58,IBCHG,?70,IBARST,?79,IBST | 
|---|
|  | 71 | I $P(IBND,"^",5)=10 S IBCN=1 W ?85,"|| REASON: ",$P($G(^IBE(350.3,+$P(IBND,"^",10),0)),"^"),! | 
|---|
|  | 72 | Q | 
|---|
|  | 73 | HEADER ; writes the report header | 
|---|
|  | 74 | Q:IBQUIT | 
|---|
|  | 75 | I IBCRT,$Y>1 D  Q:IBQUIT | 
|---|
|  | 76 | .F  Q:$Y>(IOSL-3)  W ! | 
|---|
|  | 77 | .N T R "    Press RETURN to continue",T:DTIME I '$T!(T["^") S IBQUIT=1 Q | 
|---|
|  | 78 | I IBPAGE>1 W !,@IOF | 
|---|
|  | 79 | W "List of all HELD bills for ",$P(IBNAME,"^"),"  SSN: ",$P(IBNAME,"^",2),?110,IBNOW,"  PAGE ",IBPAGE,!,"PATIENT CHARGES",?87,"CORRESPONDING THIRD PARTY BILLS",!,IBLINE | 
|---|
|  | 80 | W !,?38,"From/",?48,"Date",?70,"AR",?79,"IB",?85,"||",?110,"AR" | 
|---|
|  | 81 | W !,"Action ID",?15,"Type",?28,"Bill#",?38,"Fill Dt",?48,"to AR",?61,"Charge",?70,"Status",?79,"Status",?85,"||",?88,"Bill#",?97,"Classf($Typ)",?110,"ST",?116,"Charge",?126,"% Paid" | 
|---|
|  | 82 | W !,IBLINE,! | 
|---|
|  | 83 | W:IBIBRX ?36,"'*' = outpt visit on same day as Rx fill date",?85,"||",!,IBLINE,! | 
|---|
|  | 84 | S IBPAGE=IBPAGE+1 | 
|---|
|  | 85 | Q | 
|---|