| [613] | 1 | IBOSTUS1 ;ALB/SGD-MCCR BILL STATUS REPORT ;25 MAY 88 14:19
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**31,118,128,153,137,161,183,155**;21-MAR-94
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;MAP TO DGCROST1
 | 
|---|
 | 5 |  ;
 | 
|---|
 | 6 | EN ; - Entry point from IBOSTUS.
 | 
|---|
 | 7 |  N IBSUB,IBHDR,IBST1,IBST2,IBCAT,IBAMT,IBBEF,IBCRT,IBQUIT,IBMTCT,DFN,REJFLG
 | 
|---|
 | 8 |  S IBBEF="",IBQUIT=0,IBCRT=$S($E($G(IOST),1,2)="C-":1,1:0)
 | 
|---|
 | 9 |  I IBDTP="Entered" S IBSUB="APD",IBHDR=1
 | 
|---|
 | 10 |  I IBDTP="Bill" S IBSUB="AP",IBHDR=1
 | 
|---|
 | 11 |  I IBDTP="Event" S IBSUB="D",IBHDR=0
 | 
|---|
 | 12 |  I IBDTP="MRA Request" S IBSUB="APM",IBHDR=0
 | 
|---|
 | 13 |  I 'IBSUM D HEAD
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 | PROC ; - Get data for report(s).
 | 
|---|
 | 16 |  S X1=IBBEG\1,X2=-1 D C^%DTC S IBNEX=X_.2359,X=132 X ^%ZOSF("RM")
 | 
|---|
 | 17 |  F  S IBNEX=$O(^DGCR(399,IBSUB,IBNEX)) Q:'IBNEX!(IBNEX>(IBEND\1_.2359))!(IBQUIT)  D  Q:IBQUIT
 | 
|---|
 | 18 |  .I $Y>$S($D(IOSL):(IOSL-$S(IBCRT:4,1:9)),1:20) D HEAD Q:IBQUIT
 | 
|---|
 | 19 |  .I IBHDR,'IBSUM D SUBHDR
 | 
|---|
 | 20 |  .S IBIFN="" F J=0:0 S IBIFN=$O(^DGCR(399,IBSUB,IBNEX,IBIFN)) Q:'IBIFN!IBQUIT  D SET S IBBEF=IBNEX
 | 
|---|
 | 21 |  I 'IBQUIT D
 | 
|---|
 | 22 |  .I '$D(IBF) W !!,?10,"*** No matches found ***"
 | 
|---|
 | 23 |  .E  D SUM^IBOSTUS
 | 
|---|
 | 24 |  ;
 | 
|---|
 | 25 | Q I $D(ZTQUEUED) S ZTREQ="@"
 | 
|---|
 | 26 |  Q
 | 
|---|
 | 27 |  ;
 | 
|---|
 | 28 | SET ; This section is called for a single bill - IBIFN
 | 
|---|
 | 29 |  S IBS=$G(^DGCR(399,IBIFN,"S")),IBAPP=1
 | 
|---|
 | 30 |  I $P(IBS,U,17)'="" S IBBS="  CANCELLED",IBBSDT=$P(IBS,U,17),IBBSBY=$P(IBS,U,18) D:IBBST="C" PRINT G ALL
 | 
|---|
 | 31 |  I $P(IBS,U,14)'="" S IBBS="  PRNT/TXMT",IBBSDT=$P(IBS,U,12),IBBSBY=$P(IBS,U,13) D:IBBST="P" PRINT G ALL
 | 
|---|
 | 32 |  I $P(IBS,U,10)'="" S IBBS="* AUTHORIZED",IBAPP=$P(IBS,U,9),IBBSDT=$P(IBS,U,10),IBBSBY=$P(IBS,U,11) D:IBBST="A" PRINT G ALL
 | 
|---|
 | 33 |  I $P(IBS,U,7)'="" S IBBS="* REQUEST MRA",IBBSDT=$P(IBS,U,7),IBBSBY=$P(IBS,U,8) D:IBBST="R"  G ALL
 | 
|---|
 | 34 |  . ; if user answered No to 'print Bills with No MRA Received and No Rejection messages', print report as usual
 | 
|---|
 | 35 |  . I 'IBNOEOB D PRINT Q
 | 
|---|
 | 36 |  . ; if user answered Yes (IBNOEOB=1), check two things before printing:
 | 
|---|
 | 37 |  . ;     1) if MRA on file, don't print
 | 
|---|
 | 38 |  . I $$CHK^IBCEMU1(IBIFN) Q
 | 
|---|
 | 39 |  . ;     2) if the most recent transmission for this claim was rejected, don't print
 | 
|---|
 | 40 |  . D TXSTS^IBCEMU2(IBIFN,,.REJFLG)
 | 
|---|
 | 41 |  . I REJFLG Q
 | 
|---|
 | 42 |  . ;
 | 
|---|
 | 43 |  . ; otherwise, print bill
 | 
|---|
 | 44 |  . D PRINT
 | 
|---|
 | 45 |  ;
 | 
|---|
 | 46 |  S IBBS="* ENTERED",IBBSDT=$P(IBS,U),IBBSBY=$P(IBS,U,2) D:IBBST="E" PRINT
 | 
|---|
 | 47 | ALL Q:IBQUIT  I IBBST="ALL" D PRINT
 | 
|---|
 | 48 |  Q
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 | PRINT ; - Print detail report, if necessary.
 | 
|---|
 | 51 |  NEW LINE
 | 
|---|
 | 52 |  I $Y>$S($D(IOSL):(IOSL-$S(IBCRT:4,1:6)),1:6) D HEAD Q:IBQUIT  D SUBHDR:(IBBEF=IBNEX)&IBHDR
 | 
|---|
 | 53 |  S IBF=1,IB0=$G(^DGCR(399,IBIFN,0))
 | 
|---|
 | 54 |  S IBCAT=$S($D(^DGCR(399.3,+$P(IB0,U,7),0)):$P(^(0),U,4),1:"UNSPECIFIED")_$S($P(IB0,U,5)>2:"-OPT",1:"-INPT")
 | 
|---|
 | 55 |  S IBU1=$G(^DGCR(399,IBIFN,"U1")),IBAMT=$S(IBU1="":0,$P(IBU1,U,2)]"":$P(IBU1,U)-$P(IBU1,U,2),1:$P(IBU1,U))
 | 
|---|
 | 56 |  I IBSUM D ADD Q  ; Printing summary ONLY.
 | 
|---|
 | 57 |  ;
 | 
|---|
 | 58 |  S DFN=$P(IB0,U,2) D PID^VADPT6 W !,$P(IB0,U),?10,$E($P(^DPT($P(IB0,U,2),0),U),1,20),?31,VA("BID"),?39,$E($P(IB0,U,3),4,5),"/",$E($P(IB0,U,3),6,7),"/",$E($P(IB0,U,3),2,3)
 | 
|---|
 | 59 |  S IBBY=$P(IBS,U,2) W:IBBY ?50,$E($S($D(^VA(200,IBBY,0)):$P(^(0),U,2),1:"UNKN"),1,4) W ?57,IBCAT
 | 
|---|
 | 60 |  ;
 | 
|---|
 | 61 |  ; - MT status as of event date.
 | 
|---|
 | 62 |  S IBMTCT=$P($$LST^DGMTU(DFN,$P(IB0,U,3)),U,4)
 | 
|---|
 | 63 |  S IBMTCT=$S(IBMTCT="C":"YES",IBMTCT="P":"PEN",IBMTCT="R":"REQ",IBMTCT="G":"GMT",1:"NO")
 | 
|---|
 | 64 |  W ?72,IBMTCT
 | 
|---|
 | 65 |  ;
 | 
|---|
 | 66 |  S X=IBAMT,X2="2$" D COMMA^%DTC W ?77,$J(X,10)
 | 
|---|
 | 67 |  W ?90,IBBS,$S('IBAPP:"/DISAPP",1:"")," ",$E(IBBSDT,4,5),"/",$E(IBBSDT,6,7),"/",$E(IBBSDT,2,3)," (",$S($D(^VA(200,+IBBSBY,0)):$P(^(0),U,2),1:"UNKN USER"),"/",IBBSBY,")" K VA("BID"),VA("PID")
 | 
|---|
 | 68 |  ;
 | 
|---|
 | 69 |  ; If the user chose to print the ClaimsManager comments, then show
 | 
|---|
 | 70 |  ; them all here.  Also do the appropriate $Y checks for the next page.
 | 
|---|
 | 71 |  ;
 | 
|---|
 | 72 |  I 'IBCICOMM G SKPCMM                     ; user doesn't want comments
 | 
|---|
 | 73 |  I '$D(^IBA(351.9,IBIFN,2)) G SKPCMM      ; no comments exist
 | 
|---|
 | 74 |  ;
 | 
|---|
 | 75 |  W !!?8,$$CMTINFO^IBCIUT5(IBIFN)
 | 
|---|
 | 76 |  S LINE=0
 | 
|---|
 | 77 |  F  S LINE=$O(^IBA(351.9,IBIFN,2,LINE)) Q:'LINE  D  Q:IBQUIT
 | 
|---|
 | 78 |  . I $Y>(IOSL-$S(IBCRT:4,1:6)) D HEAD Q:IBQUIT
 | 
|---|
 | 79 |  . W !?10,$G(^IBA(351.9,IBIFN,2,LINE,0))
 | 
|---|
 | 80 |  . Q
 | 
|---|
 | 81 |  Q:IBQUIT
 | 
|---|
 | 82 |  W !
 | 
|---|
 | 83 |  ;
 | 
|---|
 | 84 | SKPCMM ; skip to here if we're not printing ClaimsManager comments
 | 
|---|
 | 85 |  ;
 | 
|---|
 | 86 |  D ADD
 | 
|---|
 | 87 |  Q
 | 
|---|
 | 88 |  ;
 | 
|---|
 | 89 | HEAD ; - Print report header.
 | 
|---|
 | 90 |  I $G(IBPAGE)>0,IBCRT S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
 | 91 |  S IBPAGE=$G(IBPAGE)+1,$P(IBL,"=",IOM)="",Y=IBBEG X ^DD("DD")
 | 
|---|
 | 92 |  W @IOF,!,"MCCR Bill Status ",$S(IBSUM:"Statistics",1:"Report")," for ",$S(IBBEG'=IBEND:"period covering ",1:"")_Y
 | 
|---|
 | 93 |  I IBBEG<IBEND S Y=IBEND X ^DD("DD") W " thru "_Y
 | 
|---|
 | 94 |  I '$D(IBRUN) D NOW^%DTC S Y=$E(%,1,12) X ^DD("DD") S IBRUN=Y
 | 
|---|
 | 95 |  I 'IBSUM W ?100,IBRUN,?123,"Page ",$J(IBPAGE,3)
 | 
|---|
 | 96 |  W ! I $D(IBHD) W "Bill Status: ",IBHD,"     "
 | 
|---|
 | 97 |  I 'IBSUM W:IBBST'="C"&(IBBST'="P") "* Denotes that the bill status is not Printed or Cancelled" W:IBCICOMM ?106,"ClaimsManager Comments ON"
 | 
|---|
 | 98 |  E  W "Run Date: ",IBRUN
 | 
|---|
 | 99 |  ; if user answered Yes to 'No MRA Received and No Rejection messages' question, print this line in header
 | 
|---|
 | 100 |  I IBNOEOB W !,"**** Bills with No MRA Received and No current CSA Rejection messages ****"
 | 
|---|
 | 101 |  I 'IBSUM D
 | 
|---|
 | 102 |  .W !!?39,"EVENT",?49,"ENTRD",?73,"MT",!,"BILL NO.",?10,"PATIENT NAME"
 | 
|---|
 | 103 |  .W ?31,"PT.ID",?39,"DATE",?50,"BY",?57,"RATE TYPE",?70,"STATUS"
 | 
|---|
 | 104 |  .W ?81,"CHARGES",?94,"BILL STATUS"
 | 
|---|
 | 105 |  ;
 | 
|---|
 | 106 |  W !,IBL W:IBSUM ! K IBL
 | 
|---|
 | 107 |  Q
 | 
|---|
 | 108 |  ;
 | 
|---|
 | 109 | SUBHDR W !!?3,IBDTP_" Date: "_$$DAT1^IBOUTL(IBNEX)
 | 
|---|
 | 110 |  Q
 | 
|---|
 | 111 |  ;
 | 
|---|
 | 112 | ADD ; - For summary statistics.
 | 
|---|
 | 113 |  S IBST1(IBCAT,"C")=1+$G(IBST1(IBCAT,"C"))
 | 
|---|
 | 114 |  S IBST1(IBCAT,"$")=IBAMT+$G(IBST1(IBCAT,"$"))
 | 
|---|
 | 115 |  S:IBBS["* " IBBS=$P(IBBS,"* ",2)
 | 
|---|
 | 116 |  S:IBBS["  " IBBS=$P(IBBS,"  ",2)
 | 
|---|
 | 117 |  S:IBBS="" IBBS="UNKNOWN"
 | 
|---|
 | 118 |  S IBST2(IBBS,"C")=1+$G(IBST2(IBBS,"C"))
 | 
|---|
 | 119 |  S IBST2(IBBS,"$")=IBAMT+$G(IBST2(IBBS,"$"))
 | 
|---|
 | 120 |  Q
 | 
|---|