| 1 | RCDPEM2 ;ALB/TMK - MANUAL ERA AND EFT MATCHING ;05-NOV-02
 | 
|---|
| 2 |  ;;4.5;Accounts Receivable;**173,208**;Mar 20, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | MATCH1 ; Manually 'match' an ERA to an EFT
 | 
|---|
| 6 |  N DA,DR,DIE,DIC,DIR,X,Y,RCEFT,RCERA,RCNAME,RCMATCH,RCQUIT,DUOUT,DTOUT
 | 
|---|
| 7 |  W !,"THIS OPTION WILL ALLOW YOU TO MANUALLY MATCH AN EFT DETAIL RECORD",!,"WITH AN ERA RECORD"
 | 
|---|
| 8 | M1 S DIR("A")="SELECT THE UNMATCHED EFT TO MATCH TO AN ERA: "
 | 
|---|
| 9 |  S DIR(0)="PAO^RCY(344.31,:AEMQ",DIR("S")="I '$P(^(0),U,8)"
 | 
|---|
| 10 |  W ! D ^DIR K DIR
 | 
|---|
| 11 |  I $D(DUOUT)!$D(DTOUT)!(Y<0) G M1Q
 | 
|---|
| 12 |  S RCEFT=+Y,RCEFT(0)=$G(^RCY(344.31,+Y,0))
 | 
|---|
| 13 |  W !
 | 
|---|
| 14 |  S DIC="^RCY(344.31,",DR="0",DA=RCEFT D EN^DIQ
 | 
|---|
| 15 |  W !
 | 
|---|
| 16 |  S DIR("A")="ARE YOU SURE THIS IS THE EFT YOU WANT TO MATCH?: ",DIR(0)="YA",DIR("B")="YES" D ^DIR K DIR
 | 
|---|
| 17 |  I $D(DUOUT)!$D(DTOUT) G M1Q
 | 
|---|
| 18 |  I Y'=1 G M1
 | 
|---|
| 19 | M12 S DIR("A")="SELECT THE UNMATCHED ERA TO MATCH TO EFT #"_RCEFT_": "
 | 
|---|
| 20 |  S DIR(0)="PAO^RCY(344.4,:AEMQ",DIR("S")="I '$P(^(0),U,9),'$P(^(0),U,8)"
 | 
|---|
| 21 |  W ! D ^DIR K DIR
 | 
|---|
| 22 |  I $D(DUOUT)!$D(DTOUT)!(Y<0) G M1Q
 | 
|---|
| 23 |  S RCERA=+Y,RCERA(0)=$G(^RCY(344.4,+Y,0))
 | 
|---|
| 24 |  W !
 | 
|---|
| 25 |  S DIC="^RCY(344.4,",DR="0",DA=RCERA D EN^DIQ
 | 
|---|
| 26 |  W !
 | 
|---|
| 27 |  S DIR("A")="ARE YOU SURE THIS IS THE CORRECT ERA TO MATCH TO?: ",DIR(0)="YA",DIR("B")="YES" D ^DIR K DIR
 | 
|---|
| 28 |  I $D(DUOUT)!$D(DTOUT) G M1Q
 | 
|---|
| 29 |  I Y'=1 G M12
 | 
|---|
| 30 |  S RCMATCH=(+$P(RCERA(0),U,5)=+$P(RCEFT(0),U,7))
 | 
|---|
| 31 |  S RCNAME=($P(RCERA(0),U,6)=$P(RCEFT(0),U,2))
 | 
|---|
| 32 |  I 'RCMATCH!'RCNAME D  G:RCQUIT M1Q
 | 
|---|
| 33 |  . N Z
 | 
|---|
| 34 |  . S RCQUIT=0,Z=1
 | 
|---|
| 35 |  . S DIR("A",1)="***WARNING***"
 | 
|---|
| 36 |  . I 'RCNAME S Z=Z+1,DIR("A",Z)=$J("",3)_"> The payer names on these two records do not agree"
 | 
|---|
| 37 |  . I 'RCMATCH S Z=Z+1,DIR("A",Z)=$J("",3)_"> The amount of payment on these two records do not agree"
 | 
|---|
| 38 |  . S DIR(0)="YA",DIR("B")="NO",DIR("A")="ARE YOU SURE YOU WANT TO MATCH THESE 2 RECORDS?: " W ! D ^DIR K DIR
 | 
|---|
| 39 |  . I $S($D(DUOUT)!$D(DTOUT):1,Y'=1:1,1:0) S RCQUIT=1 Q
 | 
|---|
| 40 |  S DIE="^RCY(344.4,",DR=".09////1",DA=RCERA D ^DIE
 | 
|---|
| 41 |  I '$D(Y) S DIE="^RCY(344.31,",DR=".08////1;.1////"_RCERA,DA=RCEFT D ^DIE
 | 
|---|
| 42 |  S DIR(0)="EA",DIR("A",1)="EFT #"_RCEFT_" WAS "_$S('$D(Y):"SUCCESSFULLY",1:"NOT")_" MATCHED TO ERA #"_RCERA,DIR("A")="PRESS RETURN TO CONTINUE: " D ^DIR K DIR
 | 
|---|
| 43 | M1Q Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | MATCH2 ; Manually 'match' a 0-balance EFT to a paper EOB
 | 
|---|
| 46 |  N DUOUT,DTOUT,DA,DR,DIE,DIC,DIR,X,Y,RCEFT,RCRCPT
 | 
|---|
| 47 |  W !,"THIS OPTION WILL ALLOW YOU TO MANUALLY MARK A 0-BALANCE EFT DETAIL RECORD",!,"AS MATCHED TO A PAPER EOB"
 | 
|---|
| 48 | M2 S DIR("A")="SELECT THE UNMATCHED 0-BALANCE EFT TO MARK AS MATCHED TO PAPER EOB: "
 | 
|---|
| 49 |  S DIR(0)="PAO^RCY(344.31,:AEMQ",DIR("S")="I '$P(^(0),U,8),'$P(^(0),U,7)"
 | 
|---|
| 50 |  W ! D ^DIR K DIR
 | 
|---|
| 51 |  I $D(DUOUT)!$D(DTOUT)!(Y'>0) G M2Q
 | 
|---|
| 52 |  S RCEFT=+Y
 | 
|---|
| 53 |  W !
 | 
|---|
| 54 |  S DIC="^RCY(344.31,",DR="0",DA=RCEFT D EN^DIQ
 | 
|---|
| 55 |  W !
 | 
|---|
| 56 |  S DIR("A")="ARE YOU SURE THIS IS THE EFT YOU WANT TO MARK AS MATCHED?: ",DIR(0)="YA",DIR("B")="YES" D ^DIR K DIR
 | 
|---|
| 57 |  I $D(DUOUT)!$D(DTOUT) G M2Q
 | 
|---|
| 58 |  I Y'=1 G M2
 | 
|---|
| 59 |  S DIE="^RCY(344.31,",DR=".08////2",DA=RCEFT D ^DIE
 | 
|---|
| 60 |  S DIR(0)="EA",DIR("A")="EFT #"_RCEFT_" WAS "_$S('$D(Y):"SUCCESSFULLY",1:"NOT")_" MARKED AS MATCHED TO PAPER EOB" D ^DIR K DIR
 | 
|---|
| 61 | M2Q Q
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 | MANTR ; Mark an EFT detail record as 'TR' posted manually
 | 
|---|
| 64 |  N DA,DR,DIC,DIE,DIR,X,Y,RCEFT,DUOUT,DTOUT,RCZ0,RCTR,RCHOW
 | 
|---|
| 65 |  ; EFT detail cannot be associated with a receipt or TR document
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 |  W !,"*****",!," YOU SHOULD ONLY USE THIS OPTION IF YOU HAVE AN EFT DETAIL RECORD ON YOUR",!," UNAPPLIED DEPOSIT REPORT WHOSE DETAIL WAS ENTERED ON LINE VIA A TR DOCUMENT",!,"*****",!
 | 
|---|
| 68 |  S DIC(0)="AEMQ",DIC("S")="I $P(^(0),U,16)="""",$P(^(0),U,11)",DIC("A")="SELECT THE EFT DETAIL WHOSE 'TR' DOC WAS MANUALLY ENTERED ON LINE: ",DIC="^RCY(344.31,"
 | 
|---|
| 69 |  W ! D ^DIC K DIC
 | 
|---|
| 70 |  I Y'>0 G MANTRQ
 | 
|---|
| 71 |  S RCEFT=+Y,RCZ0=$G(^RCY(344.31,RCEFT,0))
 | 
|---|
| 72 |  S DIR(0)="FA^2:30^K:X'?1""TR"".E X",DIR("A")="ENTER THE TR DOC # THAT WAS ENTERED ON-LINE FOR THE EFT DETAIL: "
 | 
|---|
| 73 |  W ! D ^DIR K DIR
 | 
|---|
| 74 |  I $D(DTOUT)!$D(DUOUT) G MANTRQ
 | 
|---|
| 75 |  S RCTR=Y,DR=""
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 |  I '$P(RCZ0,U,8) D  G:RCQUIT MANTRQ  ;Unmatched
 | 
|---|
| 78 |  . S DIR(0)="SA^E:ELECTRONIC ERA;P:PAPER EOB",DIR("A")="WAS THE EFT DETAIL RECEIVED BY (E)RA or (P)APER EOB?: " W ! D ^DIR K DIR
 | 
|---|
| 79 |  . I $D(DTOUT)!$D(DUOUT) S RCQUIT=1 Q
 | 
|---|
| 80 |  . S RCHOW=Y,DR=""
 | 
|---|
| 81 |  . I RCHOW="E" D
 | 
|---|
| 82 |  .. S DR=";.09R;.08////1"
 | 
|---|
| 83 |  . I RCHOW="P" D
 | 
|---|
| 84 |  .. S DR=";.08////2"
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 |  S DIR(0)="YA",DIR("B")="NO",DIR("A",1)="THIS WILL MARK EFT DETAIL #: "_RCEFT_" AS MANUALLY POSTED",DIR("A",2)="  USING TR DOC: "_RCTR
 | 
|---|
| 87 |  S DIR("A")="ARE YOU SURE YOU WANT TO CONTINUE?: " W ! D ^DIR K DIR
 | 
|---|
| 88 |  I Y'=1 D  G MANTRQ
 | 
|---|
| 89 |  . S DIR(0)="EA",DIR("A")="EFT NOT UPDATED - PRESS RETURN TO CONTINUE: " W ! D ^DIR K DIR
 | 
|---|
| 90 |  S DIE="^RCY(344.31,",DA=RCEFT,DR=".16R"_DR D ^DIE
 | 
|---|
| 91 |  I $D(Y) D
 | 
|---|
| 92 |  . S DIE="^RCY(344.31,",DA=RCEFT,DR=".16///@;.08///"_$S($P(RCZ0,U,8)'="":$P(RCZ0,U,8),1:"@") D ^DIE
 | 
|---|
| 93 |  . S DIR("A")="EFT NOT UPDATED - PRESS RETURN TO CONTINUE"
 | 
|---|
| 94 |  E  D
 | 
|---|
| 95 |  . S DIR("A")="STATUS UPDATED FOR EFT DETAIL #: "_RCEFT_" - PRESS RETURN TO CONTINUE: "
 | 
|---|
| 96 |  S DIR(0)="EA"
 | 
|---|
| 97 |  W ! D ^DIR K DIR
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 | MANTRQ Q
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 | CHK() ; Function returns the ien of CHECK/MO payment type
 | 
|---|
| 102 |  Q +$O(^RC(341.1,"AC",4,0))
 | 
|---|
| 103 |  ;
 | 
|---|
| 104 | POSTED ; Mark an ERA as posted when the data was previously posted using
 | 
|---|
| 105 |  ; paper EOB information
 | 
|---|
| 106 |  N DIC,DIE,DIR,DA,DR,X,Y
 | 
|---|
| 107 |  ; Must be unmatched or matched to paper check, must not already have a receipt, must not be posted yet
 | 
|---|
| 108 |  W !!,"THIS OPTION IS USED WHEN YOU HAVE POSTED AN ERA PAID WITH A PAPER CHECK",!,"BY USING THE PAPER EOB AND YOU DID NOT REFERENCE THE ERA IN THE RECEIPT",!!
 | 
|---|
| 109 |  S DIC("S")="I ""02""[+$P(^(0),U,9),$S('$P(^(0),U,8):1,1:'$P(^(0),U,5)),$P(^(0),U,14)=0",DIC="^RCY(344.4,",DIC(0)="AEMQ"
 | 
|---|
| 110 |  D ^DIC K DIC
 | 
|---|
| 111 |  ;
 | 
|---|
| 112 |  I Y'>0 G POSTEDQ
 | 
|---|
| 113 |  ;
 | 
|---|
| 114 |  S DIE="^RCY(344.4,",DR=".08R;.09////2;.14////2;20.03////1",DA=+Y D ^DIE
 | 
|---|
| 115 |  I '$D(Y) D
 | 
|---|
| 116 |  . S DIR(0)="EA",DIR("A",1)="ERA HAS BEEN MARKED AS POSTED USING PAPER EOB",DIR("A")="PRESS RETURN TO CONTINUE " D ^DIR K DIR
 | 
|---|
| 117 |  ;
 | 
|---|
| 118 | POSTEDQ Q
 | 
|---|
| 119 |  ;
 | 
|---|
| 120 | MATCH3 ; Manually 'match' a 0-balance ERA that has no check or EFT
 | 
|---|
| 121 |  N DUOUT,DTOUT,DA,DR,DIE,DIC,DIR,X,Y,RCERA,RCRCPT
 | 
|---|
| 122 |  W !,"THIS OPTION WILL ALLOW YOU TO MANUALLY MARK A 0-BALANCE ERA WITH NO",!,"CHECK OR EFT AS 'MATCH-0 PAYMENT' TO REMOVE IT FROM THE ERA AGING REPORT"
 | 
|---|
| 123 | M3 S DIR("A")="SELECT THE UNMATCHED 0-BALANCE ERA TO MARK AS MATCHED: "
 | 
|---|
| 124 |  S DIR(0)="PAO^RCY(344.4,:AEMQ",DIR("S")="I '$P(^(0),U,9),'$P(^(0),U,5)"
 | 
|---|
| 125 |  W ! D ^DIR K DIR
 | 
|---|
| 126 |  I $D(DUOUT)!$D(DTOUT)!(Y'>0) G M3Q
 | 
|---|
| 127 |  S RCERA=+Y
 | 
|---|
| 128 |  W !
 | 
|---|
| 129 |  S DIC="^RCY(344.4,",DR="0",DA=RCERA D EN^DIQ
 | 
|---|
| 130 |  W !
 | 
|---|
| 131 |  S DIR("A")="ARE YOU SURE THIS IS THE ERA YOU WANT TO MARK AS MATCH-0 PAYMENT?: ",DIR(0)="YA",DIR("B")="YES" D ^DIR K DIR
 | 
|---|
| 132 |  I $D(DUOUT)!$D(DTOUT) G M3Q
 | 
|---|
| 133 |  I Y'=1 G M3
 | 
|---|
| 134 |  S DIE="^RCY(344.4,",DR=".09////3",DA=RCERA D ^DIE
 | 
|---|
| 135 |  S DIR(0)="EA",DIR("A")="ERA #"_RCERA_" WAS "_$S('$D(Y):"SUCCESSFULLY",1:"NOT")_" MARKED AS MATCH-0 PAYMENT" D ^DIR K DIR
 | 
|---|
| 136 | M3Q Q
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 | UNMATCH ; Used to 'unmatch' an ERA matched in error
 | 
|---|
| 139 |  N X,Y,DIR,DIC,DIE,DIK,DA,DR,RCWL,RCEFT,RCQUIT
 | 
|---|
| 140 |  S DIC(0)="AEMQ",DIC="^RCY(344.4,",DIC("S")="I '$P(^(0),U,8),$S('$P(^(0),U,14):1,1:$P(^(0),U,9)=3),$P(^(0),U,9)" D ^DIC K DIC
 | 
|---|
| 141 |  Q:Y'>0
 | 
|---|
| 142 |  S RCWL=+Y,RCQUIT=0
 | 
|---|
| 143 |  I $D(^RCY(344.49,RCWL,0)) D  Q:RCQUIT
 | 
|---|
| 144 |  . S DIR(0)="YA",DIR("A",1)="THIS ERA ALREADY HAS A WORKLIST ENTRY AND MUST BE DELETED BEFORE IT CAN BE UNMATCHED",DIR("A")="DO YOU WANT TO DELETE THE WORKLIST ENTRY FOR THIS ERA NOW?: "
 | 
|---|
| 145 |  . W ! D ^DIR K DIR
 | 
|---|
| 146 |  . I Y'=1 S RCQUIT=1 Q
 | 
|---|
| 147 |  . S DIK="^RCY(344.49,",DA=RCWL D ^DIK
 | 
|---|
| 148 |  I $O(^RCY(344.31,"AERA",RCWL,0)) S RCEFT=+$O(^(0)) D  Q:RCQUIT
 | 
|---|
| 149 |  . S DIR("A",1)="THIS ERA IS MATCHED TO EFT #"_RCEFT,DIR("A")="ARE YOU SURE YOU WANT TO UNMATCH THEM?: ",DIR(0)="YA"
 | 
|---|
| 150 |  . W ! D ^DIR K DIR
 | 
|---|
| 151 |  . I Y'=1 S RCQUIT=1 Q
 | 
|---|
| 152 |  . S DIE="^RCY(344.31,",DR=".1///@;.08////0",DA=RCEFT D ^DIE
 | 
|---|
| 153 |  . W !,"EFT #"_RCEFT_" IS NOW UNMATCHED",!
 | 
|---|
| 154 |  S DIE="^RCY(344.4,",DR=".09////0;.13///@;.14////0",DA=RCWL D ^DIE
 | 
|---|
| 155 |  S DIR("A")="ERA HAS BEEN SUCCESSFULLY UNMATCHED - PRESS RETURN TO CONTINUE "
 | 
|---|
| 156 |  S DIR(0)="EA" W ! D ^DIR K DIR
 | 
|---|
| 157 |  Q
 | 
|---|
| 158 |  ;
 | 
|---|
| 159 | RETN ; Entrypoint for returned ERA
 | 
|---|
| 160 |  N DIR,X,Y,DTOUT,DUOUT,DIC,RCY,DIE,DA,DR
 | 
|---|
| 161 |  W !!,"USE THIS OPTION ONLY IF YOU HAVE A PAPER CHECK THAT HAS BEEN RETURNED TO",!,"THE PAYER WITHOUT BEING DEPOSITED AND YOU WANT TO MARK THE CORRESPONDING",!,"ERA AS NOT POSTED/RETURNED TO PAYER",!
 | 
|---|
| 162 |  S DIC="^RCY(344.4,",DIC(0)="AEMQ",DIC("S")="I $S($P(^(0),U,9)=0!($P(^(0),U,9)=2):1,1:0),'$P(^(0),U,14)" D ^DIC
 | 
|---|
| 163 |  Q:Y'>0
 | 
|---|
| 164 |  S RCY=+Y
 | 
|---|
| 165 |  S DIR(0)="YA",DIR("A",1)="THIS WILL MARK THE ERA # "_+Y_" AS RETURNED TO PAYER/NOT POSTED",DIR("A")="ARE YOU SURE YOU WANT TO CONTINUE?: " W ! D ^DIR K DIR
 | 
|---|
| 166 |  I $D(DTOUT)!$D(DUOUT)!Y=0 D
 | 
|---|
| 167 |  . S DIR("A",1)="NO CHANGES MADE TO ERA # "_RCY
 | 
|---|
| 168 |  E  D
 | 
|---|
| 169 |  . S DIR("A",1)="ERA # "_RCY_" HAS BEEN MARKED AS RETURNED TO PAYER/NOT POSTED"
 | 
|---|
| 170 |  . S DIE="^RCY(344.4,",DR=".14////4;.09////2",DA=RCY D ^DIE
 | 
|---|
| 171 |  S DIR(0)="EA",DIR("A")="PRESS RETURN TO CONTINUE: "
 | 
|---|
| 172 |  W ! D ^DIR K DIR
 | 
|---|
| 173 |  Q
 | 
|---|
| 174 |  ;
 | 
|---|