| 1 | RCDPESR5 ;ALB/TMK - Server interface 835XFR processing ;10/01/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 |  ;
 | 
|---|
| 5 | XFR(RCTDA,RCFROM,RCMSG,RCD) ; Send bulletin, update 344.5 for transfer EOB into site
 | 
|---|
| 6 |  ; RCTDA = ien in file 344.5 being updated
 | 
|---|
| 7 |  ; RCFROM = the sender's mail address from the mail message
 | 
|---|
| 8 |  ; RCMSG = message # the data was received in
 | 
|---|
| 9 |  ; RCD = array containing formatted header data
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  N RCCT,RCDXM,DA,DR,DIE,X,Y,Z,RCFROMNM
 | 
|---|
| 12 |  S Z=$P($P(RCD("SUBJ"),"REF #",2),"#"),RCFROMNM=$TR($P(RCFROM,"@",2),">")
 | 
|---|
| 13 |  I RCFROMNM="" S RCFROMNM=RCFROM
 | 
|---|
| 14 |  S DA=RCTDA,DR=".05///@;.08////1;.1///3"_$S($P(RCFROM,"@",2)'="":";.12////"_RCFROMNM,1:"")_";.13////^S X=("_+Z_"_$C(59)_"_$P(Z,";",2)_")"_$S($G(RCD("PAYFROM"))'="":";3.01////"_RCD("PAYFROM"),1:"")
 | 
|---|
| 15 |  S DIE="^RCY(344.5," D ^DIE
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  D SENDACK(RCTDA,"") ; acknowledge receipt of transferred EOB
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  S RCDXM(1)="An EEOB transmission has been received by the EDI Lockbox",RCDXM(2)="  system that was sent to you from another VistA site.  Please review"
 | 
|---|
| 20 |  S RCDXM(3)="  it in EEOB exception processing and file the EEOB if it belongs to your",RCDXM(4)="  site or delete the message to return the EEOB to the site it was sent from."
 | 
|---|
| 21 |  S RCDXM(5)=" ",RCDXM(6)="The message was sent by "_RCFROM
 | 
|---|
| 22 |  S RCDXM(7)="The mail message number is "_RCMSG
 | 
|---|
| 23 |  S RCDXM(8)=" ",RCDXM(9)="EEOB DATA INCLUDED:"
 | 
|---|
| 24 |  S RCCT=9
 | 
|---|
| 25 |  K ^TMP($J)
 | 
|---|
| 26 |  D DISP^RCDPESR0("^RCY(344.5,"_RCTDA_",2)","^TMP($J,""PRCA_EXT"")",1,"^TMP($J,""PRCA_LINES"")",70)
 | 
|---|
| 27 |  S Z=0 F  S Z=$O(^TMP($J,"PRCA_LINES",Z)) Q:'Z  S RCCT=RCCT+1,RCDXM(RCCT)=$J("",3)_$G(^TMP($J,"PRCA_LINES",Z))
 | 
|---|
| 28 |  D BULLERA^RCDPESR0("",RCTDA,RCMSG,"EDI LBOX EEOB FROM "_$E(RCFROMNM,1,18)_" FOR "_$E($G(RCD("PAYFROM")),1,20),.RCDXM,1)
 | 
|---|
| 29 |  K ^TMP($J)
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | SENDACK(RCTDA,RCSTAT) ; Send accept/reject msg to transf 'from' site
 | 
|---|
| 33 |  ; RCTDA = ien of entry file 344.5
 | 
|---|
| 34 |  ; RCSTAT = flag to indicate what happened
 | 
|---|
| 35 |  ;   values:  "" = receipt   1 = accepted   0 = rejected
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  N RC,RC0,RCDOM,RCREF,XMTO,XMBODY,XMZ
 | 
|---|
| 38 |  ; Send a mail message to sending site for accept/reject of EOB
 | 
|---|
| 39 |  S RC0=$G(^RCY(344.5,RCTDA,0)),RCREF=$P(RC0,U,13)
 | 
|---|
| 40 |  S RCDOM="@"_$S($P(RC0,U,12)'="":$P(RC0,U,12),1:$$KSP^XUPARAM("WHERE")) S:RCDOM="@" RCDOM=""
 | 
|---|
| 41 |  I RCREF,$P(RCREF,";",2) D
 | 
|---|
| 42 |  . ; 835ACK^accept/reject flag (""/0/1)^ien file 344_;_ien file 344.41
 | 
|---|
| 43 |  . S RC(1)="835XAK^"_RCSTAT_U_+$P(RCREF,";")_";"_+$P(RCREF,";",2)
 | 
|---|
| 44 |  . S XMBODY="RC",XMTO("S.RCDPE EDI LOCKBOX SERVER"_RCDOM)=""
 | 
|---|
| 45 |  . D
 | 
|---|
| 46 |  .. N DUZ S DUZ=.5,DUZ(0)="@"
 | 
|---|
| 47 |  .. D SENDMSG^XMXAPI(.5,"TRANSFER EEOB ACKNOWLEDGEMENT",XMBODY,.XMTO,,.XMZ)
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | FILEEOB(RCTDA) ; Files trans-in EOB in IB
 | 
|---|
| 51 |  N DIE,DA,DR,X,Y,RCE
 | 
|---|
| 52 |  D UPDEOB^RCDPESR2(RCTDA,5)
 | 
|---|
| 53 |  I $D(^RCY(344.5,RCTDA,0)) D
 | 
|---|
| 54 |  . S DIE="^RCY(344.5,",DR=".04////0;.05///@;.1////5",DA=RCTDA D ^DIE
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | BULL1(RCTDA,RCERR,DUP) ; Send bulletin for EDI Lockbox EOB exceptions
 | 
|---|
| 58 |  ; RCTDA = ien of entry in file 344.5
 | 
|---|
| 59 |  ; RCERR = the name of the error global
 | 
|---|
| 60 |  ; DUP = ien of existing entry in file 344.4 if ERA is duplicate
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 |  N RCSUBJ
 | 
|---|
| 63 |  S RCSUBJ="EDI LBOX "_$S(DUP:"ERA - DUPLICATE TRANSMISSION MSG #"_DUP,1:" EEOB - EXCEPTIONS")_" "_$E($P($G(^RCY(344.5,RCTDA,3)),U),1,20)
 | 
|---|
| 64 |  S RCSUBJ=$E(RCSUBJ,1,65)
 | 
|---|
| 65 |  S DUP=+$G(DUP)
 | 
|---|
| 66 |  D BULLERA^RCDPESR0("D",RCTDA,$P($G(^RCY(344.5,RCTDA,0)),U,11),RCSUBJ,RCERR,0)
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | BULL2(RCTDA,RCERR,RCXMG) ; Send bulletin for EOB transfer received at site
 | 
|---|
| 70 |  ; RCTDA = ien of entry in file 344.5
 | 
|---|
| 71 |  ; RCXMG = incoming message #
 | 
|---|
| 72 |  ; RCERR = the name of the error global
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 |  N RCDIQ,RCXM,RCXM1,XMBODY,XMZ,XMTO,RC,Z,Q,RCSUBJ
 | 
|---|
| 75 |  S RCSUBJ="EDI LBOX EEOB DETAIL RE-FILE ATTEMPTED TO IB"
 | 
|---|
| 76 |  S XMTO("I:G.RCDPE PAYMENTS")="",RC=0
 | 
|---|
| 77 |  K ^TMP("RCERR_BULL2",$J)
 | 
|---|
| 78 |  S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)="The following EEOB was received at your site.",RC=RC+1,^TMP("RCERR_BULL2",$J,RC)="It was received on: "_$$FMTE^XLFDT($$NOW^XLFDT(),2)_" in mail msg # "_RCXMG_"."
 | 
|---|
| 79 |  S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)="The initial attempt to file this data in IB failed and this message",RC=RC+1,^TMP("RCERR_BULL2",$J,RC)="is the result of a subsequent attempt to file this EEOB detail data in IB"
 | 
|---|
| 80 |  S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)=" "
 | 
|---|
| 81 |  D GETS^DIQ(344.4,+RCTDA_",","*","IEN","RCDIQ")
 | 
|---|
| 82 |  D TXT0^RCDPEX31(+RCTDA,.RCDIQ,.RCXM,0)
 | 
|---|
| 83 |  S Z=0 F  S Z=$O(RCXM(Z)) Q:'Z  S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)=RCXM(Z)
 | 
|---|
| 84 |  I $G(RCERR)'="",$E(RCERR,1,5)'="^TMP(" S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)=RCERR,RC=RC+1,^TMP("RCERR_BULL2",$J,RC)=" "
 | 
|---|
| 85 |  S RCERR=$S($E(RCERR,1,5)="^TMP(":RCERR,1:"RCERR")
 | 
|---|
| 86 |  I $O(@RCERR@(""))'="" D
 | 
|---|
| 87 |  . S Z="" F  S Z=$O(@RCERR@(Z)) Q:Z=""  D
 | 
|---|
| 88 |  .. I $G(@RCERR@(Z))'="" S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)=@RCERR@(Z)
 | 
|---|
| 89 |  .. I $O(@RCERR@(Z,0)) S Q="" F  S Q=$O(@RCERR@(Z,Q)) Q:Q=""  S RC=RC+1,^TMP("RCERR_BULL2",$J,RC)=@RCERR@(Z,Q)
 | 
|---|
| 90 |  S XMBODY="^TMP(""RCERR_BULL2"","_$J_")"
 | 
|---|
| 91 |  D
 | 
|---|
| 92 |  . N DUZ S DUZ=.5,DUZ(0)="@"
 | 
|---|
| 93 |  . D SENDMSG^XMXAPI(.5,$E(RCSUBJ,1,65),XMBODY,.XMTO,,.XMZ)
 | 
|---|
| 94 |  K ^TMP("RCERR_BULL2",$J)
 | 
|---|
| 95 |  Q
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 | DISP1(RCCT,RCNOH) ; Extract formatted EOB detail for bill
 | 
|---|
| 98 |  ; RCCT = bill seq# within ERA transmission
 | 
|---|
| 99 |  ; RCNOH = 1 if no header text needed on 05 rec
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 |  ; Error array returned in ^TMP("RCERR1",$J)
 | 
|---|
| 102 |  ;
 | 
|---|
| 103 |  N RC1,RC2,RCCT1,Z
 | 
|---|
| 104 |  D DISP^RCDPESR0("^TMP($J,""RCDP-EOB"","_RCCT_")","RC1",1)
 | 
|---|
| 105 |  D FMTDSP^RCDPESR0("RC1","RC2",75,RCNOH)
 | 
|---|
| 106 |  S Z=0,RCCT1=$O(^TMP("RCERR1",$J,RCCT," "),-1)
 | 
|---|
| 107 |  F  S Z=$O(RC2(Z)) Q:'Z  S RCCT1=RCCT1+1,^TMP("RCERR1",$J,RCCT,RCCT1)=RC2(Z)
 | 
|---|
| 108 |  Q
 | 
|---|
| 109 |  ;
 | 
|---|