| 1 | IBCECSA3 ;ALB/CXW - CLAIMS STATUS AWAITING RESOLUTION REPORT ;23-JUL-99
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**137,320,371,377**;21-MAR-94;Build 23
 | 
|---|
| 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | EN ; Report of claims status awaiting resolution
 | 
|---|
| 6 |  NEW %ZIS,ZTSAVE,ZTRTN,ZTDESC,DIR,X,Y,DIRUT,DTOUT,DUOUT,DIROUT,IBRVW
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  D FULL^VALM1
 | 
|---|
| 9 |  W !
 | 
|---|
| 10 |  S DIR(0)="YO"           ; IB*2*377 new question
 | 
|---|
| 11 |  S DIR("A")="Would you like to include Review Comments with this report"
 | 
|---|
| 12 |  S DIR("B")="No"
 | 
|---|
| 13 |  D ^DIR K DIR
 | 
|---|
| 14 |  I $D(DIRUT) Q
 | 
|---|
| 15 |  S IBRVW=Y
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  W !!,"You will need a 132 column printer for this report!",!
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  S %ZIS="QM" D ^%ZIS Q:POP
 | 
|---|
| 20 |  I $D(IO("Q")) K IO("Q") D  Q
 | 
|---|
| 21 |  . S ZTRTN="LIST^IBCECSA3"
 | 
|---|
| 22 |  . S ZTSAVE("IBSORT1")=""
 | 
|---|
| 23 |  . S ZTSAVE("IBSORT2")=""
 | 
|---|
| 24 |  . S ZTSAVE("IBSORT3")=""
 | 
|---|
| 25 |  . S ZTSAVE("IBSORTOR")=""
 | 
|---|
| 26 |  . S ZTSAVE("^TMP(""IBCECSB"",$J,")=""
 | 
|---|
| 27 |  . S ZTSAVE("IBRVW")=""
 | 
|---|
| 28 |  . S ZTDESC="IB -Claims Status Awaiting Resolution Report" D ^%ZTLOAD K ZTSK D HOME^%ZIS
 | 
|---|
| 29 |  U IO
 | 
|---|
| 30 | LIST ; display
 | 
|---|
| 31 |  N IBSTOP,X,IBPAGE,IBX,IBDIV,IBDA,IBPAY,IB,IBZ,IBZFT,IBFST,IBX2
 | 
|---|
| 32 |  W:$E(IOST,1,2)["C-" @IOF ;Only initial form feed for print to screen
 | 
|---|
| 33 |  S (IBSTOP,IBPAGE,IBFST,IBDIV)=0
 | 
|---|
| 34 |  I IBSORT1="D" S IBDIV=1
 | 
|---|
| 35 |  I '$D(^TMP("IBCECSB",$J)) D  G LISTQ
 | 
|---|
| 36 |  . D HDR1 W !,"No entries found for this report"
 | 
|---|
| 37 |  S IBX="" F  S IBX=$O(^TMP("IBCECSB",$J,IBX)) Q:IBX=""!IBSTOP  S IBX2="" F  S IBX2=$O(^TMP("IBCECSB",$J,IBX,IBX2)) Q:IBX2=""!IBSTOP  S IBX3="" F  S IBX3=$O(^TMP("IBCECSB",$J,IBX,IBX2,IBX3)) Q:IBX3=""!IBSTOP  D  Q:IBSTOP
 | 
|---|
| 38 |  . I 'IBFST S IBPAY=$$IBPAY(IBX,IBX2,IBX3) D HDR1 S:'IBDIV IBFST=1 Q:IBSTOP
 | 
|---|
| 39 |  . S IBDA=0 F  S IBDA=$O(^TMP("IBCECSB",$J,IBX,IBX2,IBX3,IBDA)) Q:'IBDA!IBSTOP  S IB=$G(^TMP("IBCECSB",$J,IBX,IBX2,IBX3,IBDA)) D  Q:IBSTOP
 | 
|---|
| 40 |  .. I ($Y+3)>IOSL D HDR1 Q:IBSTOP
 | 
|---|
| 41 |  .. W $$BN1^PRCAFN(+IB),$P(IB,U,12),?13,$E($P(IB,U,2),1,25),?40,$E($P(IB,U,3),1,30),?72,$P($P(IB,U,4),"~"),?78,$$DAT1^IBOUTL($P(IB,U,5)),?88,$E($P(IB,U,7),1,10),?100,"$"_$J($P(IB,U,6),0,2),?110,$P(IB,U,10),?122,$P(IB,U,11),!
 | 
|---|
| 42 |  .. I $P(IB,U,12)="*" W " ***** CSA REVIEW IN PROCESS *****",!
 | 
|---|
| 43 |  .. W " FORM TYPE: "_$P($G(^IBE(353,$P($G(^DGCR(399,+IB,0)),U,19),0)),U),!
 | 
|---|
| 44 |  .. I 'IBDIV S X=" DIVISION: "_$P(IB,U,8) W X,$J(" ",40-$L(X))_"AUTHORIZING BILLER: "_$P($P(IB,U,9),"~",1),!
 | 
|---|
| 45 |  .. W " MESSAGE TEXT: " S IBZFT=0
 | 
|---|
| 46 |  .. S IBZ=0 F  S IBZ=$O(^IBM(361,IBDA,1,IBZ)) Q:'IBZ  D  Q:IBSTOP
 | 
|---|
| 47 |  ... W:'IBZFT ?15 S X=$G(^IBM(361,IBDA,1,IBZ,0))
 | 
|---|
| 48 |  ... F I=1:131:$L(X) W " "_$E(X,I,I+130),!
 | 
|---|
| 49 |  ... S IBZFT=1
 | 
|---|
| 50 |  ... I ($Y+3)>IOSL D HDR1 Q:IBSTOP
 | 
|---|
| 51 |  ... Q
 | 
|---|
| 52 |  .. Q:IBSTOP
 | 
|---|
| 53 |  .. ;
 | 
|---|
| 54 |  .. ; Display the Review Comments if they exist based on user choice (IB*377)
 | 
|---|
| 55 |  .. I $G(IBRVW),+$O(^IBM(361,IBDA,2,0)) D  Q:IBSTOP
 | 
|---|
| 56 |  ... N IBCM,IBT1,IBT0,IBD0,IBCL
 | 
|---|
| 57 |  ... I ($Y+3)>IOSL D HDR1 Q:IBSTOP
 | 
|---|
| 58 |  ... W ?3,"*** Review Comments for Claim "_$$BN1^PRCAFN(+IB)_" ***",!
 | 
|---|
| 59 |  ... S IBCM=0 F IBT1=0:1 S IBCM=$O(^IBM(361,IBDA,2,IBCM)) Q:'IBCM     ; count up # of comments
 | 
|---|
| 60 |  ... S IBT0=0
 | 
|---|
| 61 |  ... S IBCM=0 F  S IBCM=$O(^IBM(361,IBDA,2,IBCM)) Q:'IBCM!IBSTOP  D  Q:IBSTOP
 | 
|---|
| 62 |  .... S IBT0=IBT0+1
 | 
|---|
| 63 |  .... S IBD0=$G(^IBM(361,IBDA,2,IBCM,0))
 | 
|---|
| 64 |  .... I ($Y+3)>IOSL D HDR1 Q:IBSTOP
 | 
|---|
| 65 |  .... W ?7,"Entered "_$$FMTE^XLFDT($P(IBD0,U,1),"5ZPM")
 | 
|---|
| 66 |  .... I $P(IBD0,U,2) W " by "_$P($G(^VA(200,$P(IBD0,U,2),0)),U,1)
 | 
|---|
| 67 |  .... W " ("_IBT0_" of "_IBT1_")",!
 | 
|---|
| 68 |  .... S IBCL=0 F  S IBCL=$O(^IBM(361,IBDA,2,IBCM,1,IBCL)) Q:'IBCL!IBSTOP  D  Q:IBSTOP
 | 
|---|
| 69 |  ..... I ($Y+3)>IOSL D HDR1 Q:IBSTOP
 | 
|---|
| 70 |  ..... W ?10,$G(^IBM(361,IBDA,2,IBCM,1,IBCL,0)),!
 | 
|---|
| 71 |  ..... Q
 | 
|---|
| 72 |  .... Q
 | 
|---|
| 73 |  ... Q
 | 
|---|
| 74 |  .. ;
 | 
|---|
| 75 |  .. ; Display a line break before the next claim in this report
 | 
|---|
| 76 |  .. I ($Y+3)>IOSL D HDR1 Q:IBSTOP
 | 
|---|
| 77 |  .. W !
 | 
|---|
| 78 |  .. Q
 | 
|---|
| 79 |  . Q
 | 
|---|
| 80 |  ;
 | 
|---|
| 81 |  G:IBSTOP LISTQ
 | 
|---|
| 82 |  I $E(IOST,1,2)["C-" K DIR S DIR(0)="E" D ^DIR K DIR
 | 
|---|
| 83 | LISTQ I $D(ZTQUEUED) S ZTREQ="@" Q
 | 
|---|
| 84 |  W ! D ^%ZISC
 | 
|---|
| 85 |  Q
 | 
|---|
| 86 | IBPAY(IBX,IBX2,IBX3) ; return biller name
 | 
|---|
| 87 |  N X
 | 
|---|
| 88 |  S X=$O(^TMP("IBCECSB",$J,IBX,IBX2,IBX3,0))
 | 
|---|
| 89 |  S X=$G(^TMP("IBCECSB",$J,IBX,IBX2,IBX3,X))
 | 
|---|
| 90 |  Q $P($P(X,U,9),"~",1)
 | 
|---|
| 91 | HDR1 ;
 | 
|---|
| 92 |  N DIR,Y
 | 
|---|
| 93 |  I IBPAGE D  Q:IBSTOP
 | 
|---|
| 94 |  . I $E(IOST,1,2)["C-" K DIR S DIR(0)="E" D ^DIR K DIR S IBSTOP=('Y) Q:IBSTOP
 | 
|---|
| 95 |  . W @IOF
 | 
|---|
| 96 |  S IBPAGE=IBPAGE+1
 | 
|---|
| 97 |  W !,"Sort 1: ",$$SD^IBCECSA(IBSORT1)
 | 
|---|
| 98 |  W ?46,"Claims Status Awaiting Resolution Report",?120,$J("Page: "_IBPAGE,11)
 | 
|---|
| 99 |  W !,"Sort 2: ",$S($G(IBSORT2)'="":$$SD^IBCECSA(IBSORT2),1:"n/a")
 | 
|---|
| 100 |  W ?104,$J("Run Date: "_$$HTE^XLFDT($H,"2Z"),27)
 | 
|---|
| 101 |  W !,"Sort 3: ",$S($G(IBSORT3)'="":$$SD^IBCECSA(IBSORT3),1:"n/a")
 | 
|---|
| 102 |  I IBDIV W !!,"Division: "_$S($G(IBX)=0:"",1:$G(IBX)),!,"Authorizing Biller: "_$G(IBPAY)
 | 
|---|
| 103 |  W !,?72,"Last",?78,"Date of",?88,"Location",?100,"Current",?110,"Source of",?122,"Days Msg"
 | 
|---|
| 104 |  W !,"Bill #",?13,"Payer Name",?40,"Patient Name",?72,"4 SSN",?78,"Service",?88,"of Service",?100,"Balance",?110,"Message",?122,"Pending"
 | 
|---|
| 105 |  W !,$TR($J("",132)," ","-"),!
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 |  ;
 | 
|---|
| 109 | RESORT ; CSA screen re-sort action
 | 
|---|
| 110 |  NEW DIR,X,Y,Z,IBSAVE,VALMQUIT,IBCURR
 | 
|---|
| 111 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 112 |  W !!?2,"The CSA screen is currently sorted in the following manner:"
 | 
|---|
| 113 |  W !!?9,"Primary Sort:  ",$S($G(IBSORT1)'="":$$SD^IBCECSA(IBSORT1),1:"n/a")
 | 
|---|
| 114 |  W !?7,"Secondary Sort:  ",$S($G(IBSORT2)'="":$$SD^IBCECSA(IBSORT2),1:"n/a")
 | 
|---|
| 115 |  W !?8,"Tertiary Sort:  ",$S($G(IBSORT3)'="":$$SD^IBCECSA(IBSORT3),1:"n/a")
 | 
|---|
| 116 |  ;
 | 
|---|
| 117 |  W !
 | 
|---|
| 118 |  S DIR(0)="Y",DIR("A")="Would you like to change the sort criteria"
 | 
|---|
| 119 |  S DIR("B")="Yes" D ^DIR K DIR
 | 
|---|
| 120 |  I 'Y G RESORTX
 | 
|---|
| 121 |  ;
 | 
|---|
| 122 |  ; save the old sort criteria
 | 
|---|
| 123 |  S IBSAVE=$G(IBSORT1)_U_$G(IBSORT2)_U_$G(IBSORT3)
 | 
|---|
| 124 |  S Z="" F  S Z=$O(IBSORTOR(Z)) Q:Z=""  S IBSAVE=IBSAVE_U_Z_U_IBSORTOR(Z)
 | 
|---|
| 125 |  ;
 | 
|---|
| 126 |  W !
 | 
|---|
| 127 |  K IBSORTOR
 | 
|---|
| 128 |  D SORT^IBCECSA(1,$P(IBSAVE,U,1)) I $G(VALMQUIT) G RES1
 | 
|---|
| 129 |  D SORT^IBCECSA(2) I $G(VALMQUIT) G RES1
 | 
|---|
| 130 |  I $G(IBSORT2)'="" D SORT^IBCECSA(3) I $G(VALMQUIT) G RES1
 | 
|---|
| 131 | RES1 ;
 | 
|---|
| 132 |  I $G(IBSORT1)="" S IBSORT1=$P(IBSAVE,U,1)   ; need at least one
 | 
|---|
| 133 |  ;
 | 
|---|
| 134 |  ; see if the sort criteria changed
 | 
|---|
| 135 |  S IBCURR=$G(IBSORT1)_U_$G(IBSORT2)_U_$G(IBSORT3)
 | 
|---|
| 136 |  S Z="" F  S Z=$O(IBSORTOR(Z)) Q:Z=""  S IBCURR=IBCURR_U_Z_U_IBSORTOR(Z)
 | 
|---|
| 137 |  I IBSAVE=IBCURR G RESORTX    ; no sort changes made at all
 | 
|---|
| 138 |  ;
 | 
|---|
| 139 |  ; time to rebuild the list because sorts have changed
 | 
|---|
| 140 |  I $G(IBDAYS)="" S IBDAYS=0
 | 
|---|
| 141 |  I $G(IBSEV)="" S IBSEV="R"
 | 
|---|
| 142 |  D BLD^IBCECSA1
 | 
|---|
| 143 |  S VALMBCK="R",VALMBG=1
 | 
|---|
| 144 |  ;
 | 
|---|
| 145 | RESORTX ;
 | 
|---|
| 146 |  Q
 | 
|---|
| 147 |  ;
 | 
|---|
| 148 | MCS ; Link to the Multiple CSA Message Management option
 | 
|---|
| 149 |  NEW IBCSAMCS S IBCSAMCS=1
 | 
|---|
| 150 |  D FULL^VALM1 S VALMBCK="R"
 | 
|---|
| 151 |  I '$$KCHK^XUSRB("IB MESSAGE MANAGEMENT") D  G MCSX
 | 
|---|
| 152 |  . W !!?5,"You must hold the IB MESSAGE MANAGEMENT key to access this option."
 | 
|---|
| 153 |  . D PAUSE^VALM1
 | 
|---|
| 154 |  . Q
 | 
|---|
| 155 |  ;
 | 
|---|
| 156 |  D      ; call the MCS screen
 | 
|---|
| 157 |  . NEW IBSORT1,IBSORT2,IBSORT3,IBDAYS,IBSEV     ; protect CSA vars
 | 
|---|
| 158 |  . D EN^IBCEMCL
 | 
|---|
| 159 |  . Q
 | 
|---|
| 160 |  ;
 | 
|---|
| 161 |  I $G(IBCSAMCS)=2 D BLD^IBCECSA1 S VALMBG=1     ; rebuild CSA
 | 
|---|
| 162 |  S VALMBCK="R"
 | 
|---|
| 163 | MCSX ;
 | 
|---|
| 164 |  Q
 | 
|---|
| 165 |  ;
 | 
|---|