| 1 | RCRCREC2 ;ALB/CMS - RC AND DHCP RECONCILIATION REP LOOP ; 16-JUN-00
 | 
|---|
| 2 | V ;;4.5;Accounts Receivable;**61,82,63,147,159**;Mar 20, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;Called from RCRCREC to loop through the XTMP(RCXTYP) global
 | 
|---|
| 6 |  ;and the ^PRCA(430,"AD" cross-ref and compare the two. The
 | 
|---|
| 7 |  ;task execution time is set by the RC RC SERV menu option Server
 | 
|---|
| 8 |  ;Action. This job may be killed by IRM but notify the MCCR Referral Cord
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 |  ;INPUT : RCJOB,RCXTYP,RCVAR,RCSITE,RCXMY
 | 
|---|
| 11 |  ;OUTPUT: ^TMP("PRCA",$J,MESSAGE TYPE for each message type
 | 
|---|
| 12 |  ;     
 | 
|---|
| 13 |  D ARLOOP
 | 
|---|
| 14 |  D RCLOOP
 | 
|---|
| 15 | END Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | ARLOOP ;LOOP THROUGH AR CROSS-REF DATE "AD" OF 430
 | 
|---|
| 18 |  N RCBN,RCBN0,RCCAT,REF,RFDT
 | 
|---|
| 19 |  S RCCAT="" D RCCAT^RCRCUTL(.RCCAT)
 | 
|---|
| 20 |  S RFDT=0 F  S RFDT=$O(^PRCA(430,"AD",RFDT)) Q:'RFDT  D RCBN
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 | RCBN ;GET BN AND CHK FOR BAD CROSS-REF, IF TP SET
 | 
|---|
| 23 |  N RCS1,RCS2,RCS3
 | 
|---|
| 24 |  S RCBN=0 F  S RCBN=$O(^PRCA(430,"AD",RFDT,RCBN)) Q:'RCBN  D
 | 
|---|
| 25 |  .S REF=$P($G(^PRCA(430,RCBN,6)),U,4,6)
 | 
|---|
| 26 |  .I REF="" K ^PRCA(430,"AD",RFDT,RCBN) Q
 | 
|---|
| 27 |  .I $P(REF,U,1)="",$P(REF,U,3)="" K ^PRCA(430,"AD",RFDT,RCBN) Q
 | 
|---|
| 28 |  .I $P(REF,U,1)="",$P(REF,U,3)]"" S $P(^PRCA(430,RCBN,6),U,4)=RFDT S $P(REF,U,1)=RFDT
 | 
|---|
| 29 |  .I $P(REF,U,1)'=RFDT S ^PRCA(430,"AD",$P(REF,U,1),RCBN)="" K ^PRCA(430,"AD",RFDT,RCBN)
 | 
|---|
| 30 |  .S RCBN0=$G(^PRCA(430,RCBN,0))
 | 
|---|
| 31 |  .I $P(RCBN0,U,8)'=16 Q
 | 
|---|
| 32 |  .I RCXTYP="PRCADR1",+$P(RCBN0,U,2)'=9 Q
 | 
|---|
| 33 |  .S RCS1=$G(RCCAT(+$P(RCBN0,U,2))) I RCS1="" Q
 | 
|---|
| 34 |  .I $O(RCDIV(0)),('$D(RCDIV("RCDOMAIN",RCDOMNM,$$DIV^IBJDF2(RCBN0)))) Q
 | 
|---|
| 35 |  .S RCS2=$$NAM^RCFN01(+$P(RCBN0,U,9))
 | 
|---|
| 36 |  .;
 | 
|---|
| 37 |  .S RCS3=$P($G(^DPT(+$P(RCBN0,U,7),0)),U,1)
 | 
|---|
| 38 |  .;
 | 
|---|
| 39 |  .;
 | 
|---|
| 40 |  .S ^TMP("PRCA",$J,$P(RCBN0,U,1),RCBN)=$P(RCBN0,U,1)_U_RCS2_U_$P(REF,U,1)_U_$P(REF,U,2)_U_RCS3_U_$P(REF,U,3)_U_$P($G(^DPT(+$P(RCBN0,U,7),0)),U,9)_U_$P(RCS1,U,2)
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | RCLOOP ;LOOP THRU THE XTMP GLOBAL SET FROM RC
 | 
|---|
| 45 |  ;MR1- Bill referred by medical Center, but not in Regional Counsel
 | 
|---|
| 46 |  ;MR2- Regional Counsel has bill but, Medical does not show bill as referred
 | 
|---|
| 47 |  ;MR3- Bill in both RC and VAMC but, dollar amount does not agree
 | 
|---|
| 48 |  ;MR4- Bill in both RC and VAMC but, a contract/decrease adjustment was made before referred
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  N ERR,I,RCI,RCLN
 | 
|---|
| 51 |  S RCI=0 F  S RCI=$O(^XTMP(RCXTYP,RCXMZ,RCI)) Q:'RCI  D
 | 
|---|
| 52 |  .S RCLN=^XTMP(RCXTYP,RCXMZ,RCI) K ERR
 | 
|---|
| 53 |  .I RCLN["$$RC$" Q
 | 
|---|
| 54 |  .I RCLN'["^" Q
 | 
|---|
| 55 |  .I $P(RCLN,U,1)="" D MR2 Q
 | 
|---|
| 56 |  .I $D(^TMP("PRCA",$J,$P(RCLN,U,1))) D MR34 Q
 | 
|---|
| 57 |  .I '$D(^TMP("PRCA",$J,$P(RCLN,U,1))) D MR2
 | 
|---|
| 58 |  D MR1
 | 
|---|
| 59 |  D SORT^RCRCREC3
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 | MR34 ;BILL IS IN BOTH SYSTEMS AS REFERRED
 | 
|---|
| 63 |  ;MR3.  SEE IF DOLLAR AMT IS THE SAME 
 | 
|---|
| 64 |  ;MR4.  SEE IF DECREASE/CONTRACT DONE BEFORE REFERRED
 | 
|---|
| 65 |  N ARLN,ARBAL,BN,CURBAL,MTYP,X S MTYP="MR3" K ERR
 | 
|---|
| 66 |  S BN=$O(^TMP("PRCA",$J,$P(RCLN,U,1),0)) G MR34Q:BN=""
 | 
|---|
| 67 |  S ARLN=^TMP("PRCA",$J,$P(RCLN,U,1),BN)
 | 
|---|
| 68 |  I +$P(ARLN,U,6)'=$P(+$P(RCLN,U,6),".00",1) S ERR("MR3",3)=""
 | 
|---|
| 69 |  S ARBAL=$G(^PRCA(430,BN,7)),CURBAL=0
 | 
|---|
| 70 |  I ARBAL]"" F X=1:1:5 S CURBAL=CURBAL+$P(ARBAL,U,X)
 | 
|---|
| 71 |  I +CURBAL'=+$P(ARLN,U,6) S ERR("MR3",7)=CURBAL
 | 
|---|
| 72 |  I $P(RCLN,U,7)]"",$P(ARLN,U,7)'=$P(RCLN,U,7) S ERR("MR3",9)=""
 | 
|---|
| 73 |  I $O(ERR("MR3",0)) S MTYP="MR3" G MR34A
 | 
|---|
| 74 |  S MTYP="MR4" D L433^RCRCREC3 I $O(ERR("MR4",0)) S RCLN=""
 | 
|---|
| 75 |  I '$O(ERR("MR4",0)) G MR34B
 | 
|---|
| 76 | MR34A K ERR("MR3",3) D SET^RCRCREC3
 | 
|---|
| 77 | MR34B K ^TMP("PRCA",$J,$P(ARLN,U,1)),^XTMP(RCXTYP,RCXMZ,RCI)
 | 
|---|
| 78 | MR34Q Q
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | MR2 ;MR2 BILL IS AT RC AS REFERRED BUT NOT IN AR AS REFERRED
 | 
|---|
| 81 |  N BN,MTYP,REFDT,RCBN0,RFDT S MTYP="MR2"
 | 
|---|
| 82 |  I $P(RCLN,U,1)="" S ERR("MR2",1)="" G MR2A
 | 
|---|
| 83 |  I '$D(^PRCA(430,"B",$P(RCLN,U,1))) S ERR("MR2",1)="" G MR2A
 | 
|---|
| 84 |  S BN=$O(^PRCA(430,"B",$P(RCLN,U,1),0)) S RCBN0=^PRCA(430,BN,0)
 | 
|---|
| 85 |  I $P(RCBN0,U,8)'=16 S ERR("MR2",2)=$P($G(^PRCA(430.3,+$P(RCBN0,U,8),0)),"^",1) G MR2A
 | 
|---|
| 86 |  I RCXTYP="PRCADR1",$P(RCBN0,U,2)'=9 S ERR("MR2",6)=$P($G(^PRCA(430.2,+$P(RCBN0,U,2),0)),"^",1) G MR2A
 | 
|---|
| 87 |  ;I '$G(RCCAT(+$P(RCBN0,U,2))) S ERR("MR2",6)=$P($G(^PRCA(430.2,+$P(RCBN0,U,2),0)),U,1) G MR2A
 | 
|---|
| 88 |  S RFDT=$P($G(^PRCA(430,BN,6)),U,4) I RFDT="" S ERR("MR2",5)="" G MR2A
 | 
|---|
| 89 |  I '$D(^PRCA(430,"AD",RFDT,BN)) S ^PRCA(430,"AD",RFDT,BN)="" G MR2B
 | 
|---|
| 90 |  G MR2B
 | 
|---|
| 91 | MR2A D SET^RCRCREC3
 | 
|---|
| 92 | MR2B K ^XTMP(RCXTYP,RCXMZ,RCI)
 | 
|---|
| 93 | MR2Q Q
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 | MR1 ;BILLS REFERRED IN AR NOT IN RC
 | 
|---|
| 96 |  N ARBAL,BN,CURBAL,ERR,I,MTYP,RCBNAM,REFDT,X
 | 
|---|
| 97 |  S RCLN="",RCI="",MTYP="MR1"
 | 
|---|
| 98 |  S RCBNAM="" F I=1:1 S RCBNAM=$O(^TMP("PRCA",$J,RCBNAM)) Q:'RCBNAM  D
 | 
|---|
| 99 |  .S BN=$O(^TMP("PRCA",$J,RCBNAM,0))
 | 
|---|
| 100 |  .I $O(RCDIV(0)),('$D(RCDIV("RCDOMAIN",RCDOMNM,$$DIV^IBJDF2(+BN)))) Q
 | 
|---|
| 101 |  .S ARLN=^TMP("PRCA",$J,RCBNAM,BN)
 | 
|---|
| 102 | MR1A .D SET^RCRCREC3
 | 
|---|
| 103 |  .K ^TMP("PRCA",$J,RCBNAM)
 | 
|---|
| 104 | MR1Q Q
 | 
|---|
| 105 |  ;
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 |  ;
 | 
|---|
| 109 |  ;RCRCREC2
 | 
|---|