| 1 | IBCECSA2 ;ALB/CXW - IB CLAIMS STATUS AWAITING RESOLUTION SCREEN ;28-JUL-1999
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**137,181,197,320**;21-MAR-1994
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | EN ; -- claims status awaiting resolution detail
 | 
|---|
| 6 |  D EN^VALM("IBCEM CSA MSG")
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | HDR ; -- header code
 | 
|---|
| 10 |  ; IBA - EOB ien from summary selection
 | 
|---|
| 11 |  N IBST,IBST0
 | 
|---|
| 12 |  Q:'$G(IBA)
 | 
|---|
| 13 |  S IBST0=$G(^IBM(361,+$P(IBA,U,2),0)),IBST=$P(IBST0,U,9)
 | 
|---|
| 14 |  S VALMHDR(2)="Message Status = "_$$EXPAND^IBTRE(361,.09,IBST)
 | 
|---|
| 15 |  I $P(IBST0,U,14) S VALMHDR(2)=VALMHDR(2)_"  (AUTOMATICALLY REVIEWED)"
 | 
|---|
| 16 |  S VALMHDR(1)=$J("",23)_"CLAIMS STATUS AWAITING RESOLUTION-DETAIL"
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | INIT ; -- init variables and list array
 | 
|---|
| 20 |  N I,X,Y,Z,ZZ,IBZ,IBZ0,IBX,IBCNT
 | 
|---|
| 21 |  K ^TMP("IBCECSC",$J)
 | 
|---|
| 22 | SCR S VALMCNT=0,IBCNT=1
 | 
|---|
| 23 |  S IBA=+$O(IBDAX(0)),IBA=$G(IBDAX(IBA))
 | 
|---|
| 24 |  Q:IBA=""
 | 
|---|
| 25 |  S X=""
 | 
|---|
| 26 |  S IBX=$S($D(^TMP("IBCECSB",$J)):$G(^TMP("IBCECSB",$J,$P(IBA,U,3),$P(IBA,U,4),$P(IBA,U,6),$P(IBA,U,2))),1:"")
 | 
|---|
| 27 |  D SETL1^IBCECSA1(IBX,.X)
 | 
|---|
| 28 |  D SET(X,IBCNT)
 | 
|---|
| 29 |  D SET("",IBCNT)    ; blank line
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  S X=$E("     Svc Loc: "_$P(IBX,U,7)_$J("",30),1,30)_$J("",14)_"Division: "_$E($P(IBX,U,8),1,26)
 | 
|---|
| 32 |  D SET(X,IBCNT)
 | 
|---|
| 33 |  S X=$E(" Biller Name: "_$P($P(IBX,U,9),"~")_$J("",30),1,30)_$J("",10)_"Days Pending: "_$P(IBX,U,11)
 | 
|---|
| 34 |  D SET(X,IBCNT)
 | 
|---|
| 35 |  S IBZ=$P(IBA,U,2),IBZ0=$G(^IBM(361,IBZ,0))
 | 
|---|
| 36 |  S X=$E("  Date Rec'd: "_$$FMTE^XLFDT($P(IBZ0,U,2),"2Z")_$J("",30),1,30)_$J("",10)_"Dt Generated: "_$S($P(IBZ0,U,12):$$FMTE^XLFDT($P(IBZ0,U,12),"2Z"),1:"")
 | 
|---|
| 37 |  D SET(X,IBCNT),SET("",IBCNT)
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  D SET("Message Text:",IBCNT)
 | 
|---|
| 40 |  S X=0 F  S X=$O(^IBM(361,IBZ,1,X)) Q:'X  D
 | 
|---|
| 41 |  . S Y="  "_$G(^IBM(361,IBZ,1,X,0))
 | 
|---|
| 42 |  . D SET(Y,IBCNT)
 | 
|---|
| 43 |  . Q
 | 
|---|
| 44 |  D SET("",IBCNT)
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  S ZZ="" F  S ZZ=$O(^IBM(361,IBZ,2,"B",ZZ),-1) Q:ZZ=""  S Z=0 F  S Z=$O(^IBM(361,IBZ,2,"B",ZZ,Z)) Q:'Z  D
 | 
|---|
| 47 |  . S I=$G(^IBM(361,IBZ,2,Z,0))
 | 
|---|
| 48 |  . S Y=$$SETSTR^VALM1("Review Date: "_$$EXTERNAL^DILFD(361.02,.01,,ZZ),"",2,40)
 | 
|---|
| 49 |  . D SET(Y,IBCNT)
 | 
|---|
| 50 |  . I $P(I,U,2) S Y=$$SETSTR^VALM1("Reviewed By: "_$P($G(^VA(200,+$P(I,U,2),0)),U,1),"",2,70) D SET(Y,IBCNT)
 | 
|---|
| 51 |  . D SET("    Comments:",IBCNT)
 | 
|---|
| 52 |  . S X=0 F  S X=$O(^IBM(361,IBZ,2,Z,1,X)) Q:'X  D
 | 
|---|
| 53 |  .. S Y="    "_$G(^IBM(361,IBZ,2,Z,1,X,0))
 | 
|---|
| 54 |  .. D SET(Y,IBCNT)
 | 
|---|
| 55 |  .. Q
 | 
|---|
| 56 |  . D SET("",IBCNT)
 | 
|---|
| 57 |  . Q
 | 
|---|
| 58 | INITQ Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | HELP ; help code
 | 
|---|
| 61 |  S X="?" D DISP^XQORM1 W !!
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | EXIT ; exit code
 | 
|---|
| 65 |  K ^TMP("IBCECSC",$J)
 | 
|---|
| 66 |  D CLEAN^VALM10
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | SET(X,CNT) ;
 | 
|---|
| 70 |  S VALMCNT=VALMCNT+1
 | 
|---|
| 71 |  S ^TMP("IBCECSC",$J,VALMCNT,0)=X
 | 
|---|
| 72 |  S ^TMP("IBCECSC",$J,"IDX",VALMCNT,CNT)=""
 | 
|---|
| 73 |  S ^TMP("IBCECSC",$J,CNT)=VALMCNT
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | UPDTX(IBDA,IBST) ; Update transmit bill record
 | 
|---|
| 77 |  ; IBDA = ien of entry in 364
 | 
|---|
| 78 |  ; IBST = status to stuff
 | 
|---|
| 79 |  N X,Y,DR,DIE,DA
 | 
|---|
| 80 |  S DR=".03////"_IBST_";.04///NOW",DA=IBDA,DIE="^IBA(364," D:DA ^DIE
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | STATUS ; Edit rev stat
 | 
|---|
| 84 |  ;IBA - EOB ien
 | 
|---|
| 85 |  N DA,DIE,DR,IBOLD,DIC,DO,DD,DLAYGO,IBDA,IBFINAL,IBO,IBNEW,IBFACT
 | 
|---|
| 86 |  D FULL^VALM1
 | 
|---|
| 87 |  S DIE="^IBM(361,"
 | 
|---|
| 88 |  S (IBDA,DA)=$P(IBA,U,2)
 | 
|---|
| 89 |  G:'DA STATUSQ
 | 
|---|
| 90 |  S IBOLD=$P($G(^IBM(361,DA,0)),U,9),IBFINAL=0,IBO=$S(IBOLD'="":"/"_IBOLD,1:"@")
 | 
|---|
| 91 |  S DR="@1;.09;I +X<2 S IBFINAL=0,Y=""@99"";S IBFINAL=1;.1;I X="""" W !,""For a final status, this field is required"" S Y=""@98"";S Y=""@99"";@98;.09///"_IBO_";S Y=""@1"";@99"
 | 
|---|
| 92 |  L +^IBM(361,IBDA):3 I '$T D  G STATUSQ
 | 
|---|
| 93 |  . W !,"Sorry, another user currently editing this entry (#"_IBDA_")."
 | 
|---|
| 94 |  D ^DIE
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 |  I $G(IBFINAL) D  ;Final status selected - enter remarks
 | 
|---|
| 97 |  . N Z
 | 
|---|
| 98 |  . S Z=IBDA
 | 
|---|
| 99 |  . N IBDA,Q,DIE,DR,DA,X,Y
 | 
|---|
| 100 |  . S IBDA(1)=Z,IBDA=""
 | 
|---|
| 101 |  . D ADDCOM(.IBDA,.DUZ,.IBCOM)
 | 
|---|
| 102 |  . I $P($G(^IBM(361,IBDA(1),0)),U,10)="O",'$O(^IBM(361,IBDA(1),2,+IBDA,0)) D   ; Require remarks for 'OTHER ACTION' final status
 | 
|---|
| 103 |  .. W !,"Since OTHER ACTION final status was selected, you must enter a",!,"   comment explaining the OTHER ACTION" D ADDCOM(.IBDA,.DUZ,.IBCOM,1)
 | 
|---|
| 104 |  .. I IBDA D
 | 
|---|
| 105 |  ... ; Delete entry without a comment
 | 
|---|
| 106 |  ... D KILLREV(.IBDA)
 | 
|---|
| 107 |  .. I '$O(^IBM(361,IBDA(1),2,+IBDA,0)) S DIE="^IBM(361,",DA=IBDA(1),DR=".20///@;.09///"_IBO D ^DIE W !,"The review status was not changed because no comment was entered",! Q
 | 
|---|
| 108 |  S IBNEW=$P($G(^IBM(361,DA,0)),U,9)
 | 
|---|
| 109 |  ;if time out-no change in review status
 | 
|---|
| 110 |  S IBFACT=$P($G(^IBM(361,DA,0)),U,10)
 | 
|---|
| 111 |  I $G(IBFINAL),IBFACT="",IBNEW>1 D  G STATUSQ
 | 
|---|
| 112 |  . W !,"The review status was not changed because no final status was selected"
 | 
|---|
| 113 |  . S DR=".09////"_IBOLD,DIE="^IBM(361," D ^DIE
 | 
|---|
| 114 |  I IBNEW>1,$P(^IBM(361,DA,0),U,11) D
 | 
|---|
| 115 |  . I "CR"'[IBFACT D
 | 
|---|
| 116 |  .. W !,"NO FURTHER ACTION WILL BE ALLOWED REGARDING THIS ELECTRONIC MESSAGE"
 | 
|---|
| 117 |  .. I $$PRINTUPD^IBCEU0("",$P(^IBM(361,DA,0),U,11)) D  Q
 | 
|---|
| 118 |  ... W !," SINCE THIS CLAIM WAS PRINTED AT THE CLEARINGHOUSE"
 | 
|---|
| 119 |  ... S IBFACT="N"
 | 
|---|
| 120 |  .. S DIR(0)="YA",DIR("A")="IS THIS THE FINAL ELECTRONIC MESSAGE YOU EXPECT TO RECEIVE FOR THIS BILL?: ",DIR("B")="NO"
 | 
|---|
| 121 |  .. S DIR("?",1)="If you respond YES to this prompt, the transmit status of this bill will",DIR("?",2)="  be set to CLOSED.  No further electronic processing of this bill will be"
 | 
|---|
| 122 |  ..S DIR("?",3)="  allowed.  If you respond NO to this prompt, this electronic message will",DIR("?",4)="  be filed as reviewed, but the bill's transmit status will not be changed."
 | 
|---|
| 123 |  .. S DIR("?",5)="  You may wish to periodically print a list of bills with a non-final",DIR("?",6)="  (closed/cancelled/etc) status to ensure the electronic processing of all"
 | 
|---|
| 124 |  .. S DIR("?",7)="  bills has been completed.  Closing the transmit bill record here will",DIR("?")="  eliminate the bill from this list."
 | 
|---|
| 125 |  .. W ! D ^DIR K DIR W !
 | 
|---|
| 126 |  .. Q:Y'=1
 | 
|---|
| 127 |  .. S DIR("A",1)="SINCE YOU HAVE INDICATED THIS BILL HAS RECEIVED ITS FINAL ELECTRONIC MESSAGE",DIR("A",2)="  AND NO FURTHER ACTION WILL BE TAKEN ON IT, THE STATUS OF THE TRANSMIT",DIR("A",3)="  RECORD FOR THIS BILL WILL BE CHANGED TO CLOSED"
 | 
|---|
| 128 |  .. S DIR("A")="IS THIS WHAT YOU MEANT TO DO?: ",DIR("B")="YES",DIR(0)="YA" W ! D ^DIR W ! K DIR
 | 
|---|
| 129 |  .. Q:Y'=1
 | 
|---|
| 130 |  .. S IBFACT="N"
 | 
|---|
| 131 |  . I "NCR"[IBFACT D UPDEDI^IBCEM(+$P(^IBM(361,DA,0),U,11),IBFACT) Q
 | 
|---|
| 132 |  S $P(IBX,U,12)=$S(IBNEW=1:"*",1:"")
 | 
|---|
| 133 |  I IBOLD'=IBNEW D  ;Note the change and who made it
 | 
|---|
| 134 |  . D NOTECHG(IBDA,0),HDR,INIT
 | 
|---|
| 135 |  L -^IBM(361,DA)
 | 
|---|
| 136 |  S VALMBCK="R"
 | 
|---|
| 137 |  Q
 | 
|---|
| 138 |  ;
 | 
|---|
| 139 | NOTECHG(IBDA,IBAUTO,IBNTEXT,IBUSER) ; Enter who/when review stat change was entered
 | 
|---|
| 140 |  ; IBDA = ien of entry in file 361
 | 
|---|
| 141 |  ; IBAUTO = flag to say auto-review was used (1=used, 0=not used)
 | 
|---|
| 142 |  ; IBNTEXT = array containing the lines of text to store if not using the
 | 
|---|
| 143 |  ;           default text  IBNTEXT = # of lines
 | 
|---|
| 144 |  ; IBUSER = flag which says to also stuff the .02 reviewed by field
 | 
|---|
| 145 |  N IBIEN,IBTEXT,DA,X,Y,DIC,DO,DLAYGO,DD
 | 
|---|
| 146 |  S DA(1)=IBDA,DIC="^IBM(361,"_DA(1)_",2,",DIC(0)="L",DLAYGO=361.02
 | 
|---|
| 147 |  S X=$$NOW^XLFDT
 | 
|---|
| 148 |  I $G(IBUSER),$G(DUZ) S DIC("DR")=".02////"_$G(DUZ)
 | 
|---|
| 149 |  D FILE^DICN K DIC,DD,DO,DLAYGO
 | 
|---|
| 150 |  Q:Y'>0
 | 
|---|
| 151 |  S DA(2)=DA(1),DA(1)=+Y,IBIEN=DA(1)_","_DA(2)_","
 | 
|---|
| 152 |  I $G(IBNTEXT) D
 | 
|---|
| 153 |  . M IBTEXT=IBNTEXT
 | 
|---|
| 154 |  E  D
 | 
|---|
| 155 |  . S IBTEXT(1)="REVIEW STATUS "_$S($G(IBAUTO):"AUTOMATICALLY ",1:"")_"CHANGED TO '"_$$EXTERNAL^DILFD(361,.09,,$P(^IBM(361,DA(2),0),U,9))_"'  BY: "_$$EXTERNAL^DILFD(361.02,.02,,+$G(DUZ))
 | 
|---|
| 156 |  D WP^DIE(361.02,IBIEN,.03,,"IBTEXT") K ^TMP("DIERR",$J)
 | 
|---|
| 157 |  Q
 | 
|---|
| 158 |  ;
 | 
|---|
| 159 | STATUSQ ;
 | 
|---|
| 160 |  D PAUSE^VALM1
 | 
|---|
| 161 |  S VALMBCK="R"
 | 
|---|
| 162 |  Q
 | 
|---|
| 163 |  ;
 | 
|---|
| 164 | COM ; Enter/Edit Review Comments
 | 
|---|
| 165 |  ; IBA - EOB ien
 | 
|---|
| 166 |  N DA,DIC,X,Y,DO,DD,DLAYGO,IBDA,IB0,IBNEW,IBCOM
 | 
|---|
| 167 |  D FULL^VALM1
 | 
|---|
| 168 |  W !
 | 
|---|
| 169 |  S (IBDA(1),DA(1))=+$P(IBA,U,2)
 | 
|---|
| 170 |  L +^IBM(361,IBDA(1)):3 I '$T D  G COMQ
 | 
|---|
| 171 |  . W !,*7,"Sorry, another user currently editing this entry."
 | 
|---|
| 172 |  . D PAUSE^VALM1
 | 
|---|
| 173 |  ;
 | 
|---|
| 174 |  S Z=0 F  S Z=$O(^IBM(361,IBDA(1),2,Z)) Q:'Z  I $P($G(^(Z,0)),U,2)=DUZ S IBCOM(DUZ,Z)=""
 | 
|---|
| 175 |  S IBNEW=0
 | 
|---|
| 176 |  I '$D(IBCOM(DUZ)) D
 | 
|---|
| 177 |  . N DO,DD,DIC,DLAYGO,DIR,X,Y
 | 
|---|
| 178 |  . S DIR(0)="YA",DIR("B")="YES",DIR("A",1)="There are no comments previously entered by you",DIR("A")="Do you want to add a new comment?: "
 | 
|---|
| 179 |  . S DIR("?",1)="You are only allowed to edit your own comments."
 | 
|---|
| 180 |  . S DIR("?")="You may enter a new comment here."
 | 
|---|
| 181 |  . D ^DIR K DIR
 | 
|---|
| 182 |  . W !
 | 
|---|
| 183 |  . I Y'=1 S IBDA=-1 Q
 | 
|---|
| 184 |  . D ADDCOM(.IBDA,.DUZ,.IBCOM)
 | 
|---|
| 185 |  ;
 | 
|---|
| 186 |  E  D
 | 
|---|
| 187 |  . S DIC="^IBM(361,"_IBDA(1)_",2,",DIC("S")="I $P(^(0),U,2)=DUZ",DIC(0)="AEMQ",DIC("A")="Select REVIEW DATE to edit or press ENTER to add a new comment: " D ^DIC K DIC S IBDA=+Y
 | 
|---|
| 188 |  . I IBDA>0 D  Q  ;User selected an existing entry
 | 
|---|
| 189 |  .. D ADDCOM(.IBDA,.DUZ,.IBCOM,1)
 | 
|---|
| 190 |  .. I $D(^IBM(361,IBDA(1),2,IBDA)),'$O(^IBM(361,IBDA(1),2,IBDA,1,0)) D KILLREV(.IBDA)
 | 
|---|
| 191 |  . S DIR(0)="YAO",DIR("A")="DO YOU WANT TO ADD A NEW REVIEW COMMENT?: ",DIR("B")="NO" D ^DIR K DIR Q:Y'=1
 | 
|---|
| 192 |  . D ADDCOM(.IBDA,.DUZ,.IBCOM)
 | 
|---|
| 193 |  L -^IBM(361,IBDA(1))
 | 
|---|
| 194 |  G:IBDA'>0 COMQ
 | 
|---|
| 195 |  D PAUSE^VALM1
 | 
|---|
| 196 |  D HDR,INIT
 | 
|---|
| 197 | COMQ S VALMBCK="R"
 | 
|---|
| 198 |  Q
 | 
|---|
| 199 |  ;
 | 
|---|
| 200 | ADDCOM(IBDA,DUZ,IBCOM,ADD) ; Add review comment to file 361
 | 
|---|
| 201 |  ; IBDA = array containing the DA references for the file add -
 | 
|---|
| 202 |  ;        pass by reference
 | 
|---|
| 203 |  ; DUZ = ien of the user
 | 
|---|
| 204 |  ; ADD = flag when set to 1 says the review date exists,
 | 
|---|
| 205 |  ;       just allow comment entry
 | 
|---|
| 206 |  ; Returns IBDA = the entry # of the comment
 | 
|---|
| 207 |  ;          and IBCOM array referencing any comments added by the user
 | 
|---|
| 208 |  ;
 | 
|---|
| 209 |  N DA,DIC,DD,DO,DLAYGO,X,Y
 | 
|---|
| 210 |  S DR=$S($G(DUZ):".02////"_DUZ_";",1:"")_".03"
 | 
|---|
| 211 |  I '$G(ADD) D
 | 
|---|
| 212 |  . K DO,DD
 | 
|---|
| 213 |  . S DIC="^IBM(361,"_IBDA(1)_",2,",DA(1)=IBDA(1),X=$$NOW^XLFDT
 | 
|---|
| 214 |  . W !,"New Review Date: "_$$FMTE^XLFDT(X,"2Z")
 | 
|---|
| 215 |  . S DIC("DR")=DR,DLAYGO=361.02
 | 
|---|
| 216 |  . S DIC(0)="L",DIC("P")=$$GETSPEC^IBEFUNC(361,2)
 | 
|---|
| 217 |  . D FILE^DICN K DIC,DD,DO,DLAYGO
 | 
|---|
| 218 |  . S IBDA=+Y
 | 
|---|
| 219 |  I IBDA>0 D
 | 
|---|
| 220 |  . I $G(ADD) S DIE="^IBM(361,"_IBDA(1)_",2,",DA(1)=IBDA(1),DA=IBDA D ^DIE
 | 
|---|
| 221 |  . I '$O(^IBM(361,IBDA(1),2,IBDA,0)) D KILLREV(.IBDA) Q
 | 
|---|
| 222 |  . S IBCOM(DUZ,IBDA)=""
 | 
|---|
| 223 |  Q
 | 
|---|
| 224 |  ;
 | 
|---|
| 225 | KILLREV(IBDA) ; Deletes a review date if no comments entered
 | 
|---|
| 226 |  N DA,DIK
 | 
|---|
| 227 |  S DA=IBDA,DA(1)=IBDA(1),DIK="^IBM(361,"_IBDA(1)_",2,"
 | 
|---|
| 228 |  K IBCOM(DUZ,IBDA)
 | 
|---|
| 229 |  D ^DIK
 | 
|---|
| 230 |  Q
 | 
|---|
| 231 |  ;
 | 
|---|