| 1 | FBUCED ;ALBISC/TET - EDIT UNAUTHORIZED CLAIM FILES ;10/16/2001
 | 
|---|
| 2 |  ;;3.5;FEE BASIS;**32,38**;JAN 30, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | EDT ;edit unauthorized claim with order less than 40 (not dispositioned
 | 
|---|
| 5 |  ;or order = 40 if action is reopen (called by REO tag)
 | 
|---|
| 6 |  S:'$D(FBACT) FBACT="EDT" S FBO=$S(FBACT="EDT":"5^10^20^30^",1:"40^")
 | 
|---|
| 7 |  D LOOKUP^FBUCUTL3(FBO) I 'FBOUT S FBDR="[FB UNAUTHORIZED EDIT]" D EDIT^FBUCED0(FBDR,FBACT,.FBOUT,FBARY)
 | 
|---|
| 8 |  G END Q
 | 
|---|
| 9 | REO ;reopen a dispositioned claim (order of 40)
 | 
|---|
| 10 |  S FBACT="REO" G EDT
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 | APL ;appeal a dispostioned claim (order of 40)
 | 
|---|
| 13 |  S FBACT="APL",FBO="40^" D LOOKUP^FBUCUTL3(FBO) I 'FBOUT S FBDR="[FB UNAUTHORIZED APPEAL]" D EDIT^FBUCED0(FBDR,FBACT,.FBOUT,FBARY)
 | 
|---|
| 14 |  G END Q
 | 
|---|
| 15 | AED ;edit an appeal to an unauthorized claim
 | 
|---|
| 16 |  S FBACT="AED",FBO="50^55^60^70^" D LOOKUP^FBUCUTL3(FBO) I 'FBOUT S FBDR="[FB UNAUTHORIZED APPEAL EDIT]" D EDIT^FBUCED0(FBDR,FBACT,.FBOUT,FBARY)
 | 
|---|
| 17 |  G END Q
 | 
|---|
| 18 | COVA ;enter/edit a COVA appeal
 | 
|---|
| 19 |  S FBACT="COVA",FBO="70^80^90^" D LOOKUP^FBUCUTL3(FBO) I 'FBOUT S FBDR="[FB UNAUTHORIZED COVA APPEAL]" D EDIT^FBUCED0(FBDR,FBACT,.FBOUT,FBARY)
 | 
|---|
| 20 |  G END Q
 | 
|---|
| 21 | DIS ;disposition an appeal
 | 
|---|
| 22 |  S FBACT="DIS",FBO=0 D LOOKUP^FBUCUTL3(FBO) I 'FBOUT S FBDR="[FB UNAUTHORIZED DISPOSITION]" D EDIT^FBUCED0(FBDR,FBACT,.FBOUT,FBARY)
 | 
|---|
| 23 |  G END Q
 | 
|---|
| 24 | REC ;receive information which was requested
 | 
|---|
| 25 |  S FBACT="REC",FBO="5^10^50^55^" D LOOKUP^FBUCUTL3(FBO) I 'FBOUT,+$G(FBARY) H:+FBARY=1 1 D EDIT8
 | 
|---|
| 26 |  G END
 | 
|---|
| 27 | REQ ;request information
 | 
|---|
| 28 |  S FBACT="REQ",FBO="5^10^20^30^50^55^" D LOOKUP^FBUCUTL3(FBO) I 'FBOUT,+$G(FBARY) D EDIT8
 | 
|---|
| 29 |  G:$G(FBOUT) END D END W !! G REQ
 | 
|---|
| 30 | LET ;to update date letter printed without printing letter
 | 
|---|
| 31 |  N FBLETDT D DISPNP^FBUCUTL3 ;set array of letters which are waiting to be printed
 | 
|---|
| 32 |  D DISPX^FBUCUTL1(1) ;display array for selection
 | 
|---|
| 33 |  I 'FBOUT,+$G(FBARY) D LETDATE^FBUCUTL3 I 'FBOUT D
 | 
|---|
| 34 |  .N FBDA,FBEXP,FBI,FBLET,FBNODE,FBPL,FBUCA D PARSE^FBUCUTL4(FBARY) S FBI=0,FBLET="@" S FBLETDT=$S('+FBLETDT:DT,1:FBLETDT)
 | 
|---|
| 35 |  .F  S FBI=$O(^TMP("FBARY",$J,FBI)) Q:'FBI  S FBNODE=$G(^(FBI)),FBDA=+FBNODE,FBUCA=$G(^FB583(FBDA,0)),FBEXP=$$EXPIRE^FBUCUTL8(FBDA,FBLETDT,FBUCA,$$ORDER^FBUCUTL($P(FBUCA,U,24))) D EDITL(FBDA,FBEXP,FBLET,FBLETDT)
 | 
|---|
| 36 |  G END
 | 
|---|
| 37 | EXT ;enter extensions for incomplete Mill Bill claims
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ; select mill bill claim(s) with an appropriate status
 | 
|---|
| 40 |  S FBACT="EXT",FBO="5^10^" D LOOKUP^FBUCUTL3(FBO,,"M")
 | 
|---|
| 41 |  Q:'+$G(FBARY)!FBOUT
 | 
|---|
| 42 |  N FBDA,FBI,FBNODE,FBPL,FBW
 | 
|---|
| 43 |  D PARSE^FBUCUTL4(FBARY)
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ; loop through all selected claims
 | 
|---|
| 46 |  S FBI=0 F  S FBI=$O(^TMP("FBARY",$J,FBI)) Q:'FBI  D  Q:FBOUT
 | 
|---|
| 47 |  . S FBNODE=$G(^TMP("FBARY",$J,FBI))
 | 
|---|
| 48 |  . S FBDA=+$P(FBNODE,";")
 | 
|---|
| 49 |  . N DA,DIE,DIR,DR,FBEXP,FBEXT,FBEXTD,FBUCA,FBY,Y
 | 
|---|
| 50 |  . ; if more than one claim selected then display current one
 | 
|---|
| 51 |  . I +$G(FBARY)>1 D LINE^FBUCUTL4(FBNODE,FBI,FBPL,FBW)
 | 
|---|
| 52 |  . ; lock claim
 | 
|---|
| 53 |  . D LOCK^FBUCUTL("^FB583(",FBDA) Q:'FBLOCK
 | 
|---|
| 54 |  . ;
 | 
|---|
| 55 |  . S FBUCA=$G(^FB583(FBDA,0))
 | 
|---|
| 56 |  . ;
 | 
|---|
| 57 |  . ; get current expiration date (if any)
 | 
|---|
| 58 |  . S FBEXP=$P(FBUCA,U,26)
 | 
|---|
| 59 |  . ;
 | 
|---|
| 60 |  . ; get most recent extension (if any)
 | 
|---|
| 61 |  . S FBEXT=$$EXT^FBUCUTL8(FBDA,10)
 | 
|---|
| 62 |  . I FBEXT W !,"Current extension date is "_$$FMTE^XLFDT($P(FBEXT,U,2))
 | 
|---|
| 63 |  . ;
 | 
|---|
| 64 |  . ; prompt for new extension date
 | 
|---|
| 65 |  . S FBEXTD="" F  D  Q:FBEXTD]""!FBOUT
 | 
|---|
| 66 |  . . K DA
 | 
|---|
| 67 |  . . I FBEXT S DA(1)=FBDA,DA=+FBEXT ; use existing value as the default
 | 
|---|
| 68 |  . . S DIR(0)="162.701,.04"
 | 
|---|
| 69 |  . . D ^DIR K DIR I $D(DIRUT) S FBOUT=1 Q
 | 
|---|
| 70 |  . . S FBEXTD=Y
 | 
|---|
| 71 |  . . ; confirm
 | 
|---|
| 72 |  . . S DIR(0)="Y"
 | 
|---|
| 73 |  . . S DIR("A")="Confirm entry of "_$$FMTE^XLFDT(FBEXTD)_" as the new extension date for the claim"
 | 
|---|
| 74 |  . . D ^DIR K DIR I $D(DIRUT) S FBOUT=1 Q
 | 
|---|
| 75 |  . . I 'Y S FBEXTD=""  ; prompt again
 | 
|---|
| 76 |  . . I FBEXTD=$P(FBEXT,U,2) W !,"New extension date is equal to existing extension date. No change made." S FBEXTD=0
 | 
|---|
| 77 |  . ;
 | 
|---|
| 78 |  . I FBEXTD,'FBOUT D
 | 
|---|
| 79 |  . . ; save extension
 | 
|---|
| 80 |  . . K DA,DD,DO,DIC,DIE
 | 
|---|
| 81 |  . . S DA(1)=FBDA
 | 
|---|
| 82 |  . . S DIC="^FB583(DA(1),3,",DIC(0)="L",X=$$NOW^XLFDT()
 | 
|---|
| 83 |  . . S DIC("DR")=".02////^S X=DUZ;.03///INCOMPLETE UNAUTHORIZED CLAIM;.04///^S X=FBEXTD"
 | 
|---|
| 84 |  . . D FILE^DICN I Y'>0 W !,"ERROR ADDING EXTENSION" Q
 | 
|---|
| 85 |  . . S DA=+Y
 | 
|---|
| 86 |  . . ;
 | 
|---|
| 87 |  . . ; prompt for optional comments
 | 
|---|
| 88 |  . . S DIE="^FB583(DA(1),3,",DR=".05" D ^DIE
 | 
|---|
| 89 |  . . ;
 | 
|---|
| 90 |  . . ; recompute expiration date if one already exists and update claim
 | 
|---|
| 91 |  . . I FBEXP D
 | 
|---|
| 92 |  . . . N FBLETDT,FBORDER
 | 
|---|
| 93 |  . . . S FBLETDT=$P(FBUCA,U,19)
 | 
|---|
| 94 |  . . . S FBORDER=$$ORDER^FBUCUTL($P(FBUCA,U,24))
 | 
|---|
| 95 |  . . . S FBEXP=$$EXPIRE^FBUCUTL8(FBDA,FBLETDT,FBUCA,FBORDER)
 | 
|---|
| 96 |  . . . D EDITL^FBUCED(FBDA,FBEXP)
 | 
|---|
| 97 |  . ;
 | 
|---|
| 98 |  . ; unlock claim
 | 
|---|
| 99 |  . L -^FB583(FBDA)
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 |  G END
 | 
|---|
| 102 | REQENT ;enter/edit requested information file, 162.93
 | 
|---|
| 103 |  S DLAYGO=162.93,DIC(0)="AELMQZ",DIC="^FB(162.93," D ^DIC K DLAYGO I +Y>0 S DIE=DIC,DA=+Y,FBDA=DA,DR=".01:1" D LOCK^FBUCUTL(DIE,FBDA,0) I FBLOCK D ^DIE L -^FB(162.93,FBDA) K DIE,DE,DA,DQ,DR,FBDA,FBLOCK W ! G REQENT
 | 
|---|
| 104 |  G END
 | 
|---|
| 105 | DISENT ;enter/edit disapproval reasons file 162.94
 | 
|---|
| 106 |  S DLAYGO=162.94,DIC(0)="AELMQZ",DIC="^FB(162.94," D ^DIC K DLAYGO I +Y>0 S DIE=DIC,DA=+Y,FBDA=DA,DR=".01:1" D LOCK^FBUCUTL(DIE,FBDA,0) I FBLOCK D ^DIE L -^FB(162.94,FBDA) K DIE,DE,DA,DQ,DR,FBDA,FBLOCK W ! G DISENT
 | 
|---|
| 107 |  G END
 | 
|---|
| 108 | DSPENT ;edit disposition file 162.91
 | 
|---|
| 109 |  S DIC(0)="AEMQZ",DIC="^FB(162.91," D ^DIC I +Y>0 S DIE=DIC,DA=+Y,FBDA=DA,DR="1:3" D LOCK^FBUCUTL(DIE,FBDA,0) I FBLOCK D ^DIE L -^FB(162.91,FBDA) K DIE,DE,DA,DQ,DR,FBDA,FBLOCK W ! G DSPENT
 | 
|---|
| 110 | END ;kill and quit
 | 
|---|
| 111 |  K DA,DE,DIC,DIE,DQ,DR,DTOUT,DUOUT,FBACT,FBAR,FBARY,FBDR,FBIEN,FBIX,FBLOCK,FBO,FBOUT,FBUCPDX,X,Y
 | 
|---|
| 112 |  K ^TMP("FBAR",$J),^TMP("FBARY",$J),^TMP("FBPARY",$J) Q
 | 
|---|
| 113 | EDIT8 ;edit file 162.8, call before/after & update
 | 
|---|
| 114 |  N FBDA,FBI,FBNODE,FBP,FBPL,FBUCA,FBUCAA,FBUCP,FBUCPA,FBW D PARSE^FBUCUTL4(FBARY) S %X="^TMP(""FBARY"",$J,",%Y="^TMP(""FBPARY"",$J," D %XY^%RCR K %X,%Y
 | 
|---|
| 115 |  S FBI=0 F  S FBI=$O(^TMP("FBPARY",$J,FBI)) Q:'FBI  S FBNODE=$G(^(FBI)),FBDA=+FBNODE,FBNODE=$P(FBNODE,";",2) D  G:FBOUT END
 | 
|---|
| 116 |  .I +$G(FBPARY)>1 W !! F FBP=1:1:FBPL W ?($P(FBW,U,FBP)),$P(FBNODE,U,FBP)
 | 
|---|
| 117 |  .D PRIOR^FBUCEVT(FBDA,FBACT)
 | 
|---|
| 118 |  .N FBARY D REQ^FBUCPEND:FBACT="REQ",REC^FBUCPEND:FBACT="REC" Q:FBOUT  D FREQ^FBUCPEND:FBACT="REQ",FREC^FBUCPEND:FBACT="REC"
 | 
|---|
| 119 |  .D AFTER^FBUCEVT(FBDA,FBACT),^FBUCUPD(FBUCP,FBUCPA,FBUCA,FBUCAA,FBDA,FBACT)
 | 
|---|
| 120 |  Q
 | 
|---|
| 121 | EDITL(FBDA,FBEXP,FBLET,FBLETDT,FBTAMT) ;edit letter sent info,
 | 
|---|
| 122 |  ;may be called to just update expiration, or update print flag, date letter sent &/or expiration, or amount approved
 | 
|---|
| 123 |  ;INPUT:  FBDA = ien of unauthorized claim (# 162.7)
 | 
|---|
| 124 |  ;        FBEXP = expiration date (optional)
 | 
|---|
| 125 |  ;        FBLET = flag for letter printed (optional)
 | 
|---|
| 126 |  ;        FBLETDT = date letter sent (optional)
 | 
|---|
| 127 |  ;        FBLET = '@' to delete letter flag
 | 
|---|
| 128 |  ;        FBEXP = expiration date or 0
 | 
|---|
| 129 |  ;        FBTAMT = amount approved (optional)
 | 
|---|
| 130 |  ;OUTPUT: nothing -  update all or some flds in 162.7:  19,19.5,26,14
 | 
|---|
| 131 |  Q:'+$G(FBDA)
 | 
|---|
| 132 |  S FBEXP=+$G(FBEXP),FBLET=$G(FBLET),FBLETDT=+$G(FBLETDT)
 | 
|---|
| 133 |  S FBTAMT=$G(FBTAMT)
 | 
|---|
| 134 |  I 'FBEXP,FBLET']"",'FBLETDT,FBTAMT']"" Q
 | 
|---|
| 135 |  N FBLOCK,DIE,DA,DR
 | 
|---|
| 136 |  S DIE="^FB583(",DR="[FB UNAUTHORIZED LETTER UPDATE]",DA=FBDA
 | 
|---|
| 137 |  D LOCK^FBUCUTL(DIE,DA,1) I FBLOCK D ^DIE L -^FB583(FBDA) K FBLOCK
 | 
|---|
| 138 |  Q
 | 
|---|