| 1 | RCDMC90S ;WASH IRMFO@ALTOONA,PA/TJK-DMC 90 DAY (SERVER) ;7/17/97  8:11 AM ; 10/24/96  3:21 PM [ 02/24/97  12:17 PM ]
 | 
|---|
| 2 | V ;;4.5;Accounts Receivable;**45,121**;Mar 20, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;Program to process server messages from DMC
 | 
|---|
| 5 |  ;1) Will automatically delete DMC flags from local system for
 | 
|---|
| 6 |  ;   those patients submitted to DMC that are not being followed by
 | 
|---|
| 7 |  ;   DMC
 | 
|---|
| 8 |  ;2) Will display message to DMX mailgroup when DMC receives a death
 | 
|---|
| 9 |  ;   notice in order that the local site can follow-up and have the
 | 
|---|
| 10 |  ;   death entry entered into the local patient file.
 | 
|---|
| 11 | READ ;READS MESSAGE INTO TEMPORARY GLOBAL
 | 
|---|
| 12 |  K ^TMP("RCDMC90S",$J) S XMA=0
 | 
|---|
| 13 | READ1 X XMREC I $D(XMER) G PROC:XMER<0
 | 
|---|
| 14 |  S XMA=XMA+1
 | 
|---|
| 15 |  S ^TMP("RCDMC90S",$J,"READ",XMA)=XMRG
 | 
|---|
| 16 |  G READ1
 | 
|---|
| 17 | PROC N DEBTOR,SSN,DDATE,LN,CNT,I,J,SITE,REC,ND,NAME,TYPE,SEQ,CNTR,LKUP,MSG
 | 
|---|
| 18 |  N XMDUZ,XMSUB,XMY,XMTEXT
 | 
|---|
| 19 |  K XMPOS,XMA,XMER,XMREC,XMRG
 | 
|---|
| 20 |  S CNT=2,CNTR=3,(SEQ,I)=0
 | 
|---|
| 21 |  F  S I=$O(^TMP("RCDMC90S",$J,"READ",I)) Q:I=""  S ND=$G(^(I)) D  Q:$P(ND,"|",2)="~"
 | 
|---|
| 22 |  .I $P(ND,U)="DI" S SEQ=$P(ND,U,3)
 | 
|---|
| 23 |  .Q:$P(ND,"^")'?1N.N
 | 
|---|
| 24 |  .S REC=$P(ND,"|")
 | 
|---|
| 25 |  .S SSN=$P(REC,U,1),DEBTOR=+$P(REC,U,3),DDATE=$P(REC,U,4),TYPE=$P(REC,U,5)
 | 
|---|
| 26 |  .S LKUP=$$DEBT(DEBTOR,SSN)
 | 
|---|
| 27 |  .I 'LKUP D  Q  ;Invalid debtor check-patch *121
 | 
|---|
| 28 |  ..S CNTR=CNTR+1
 | 
|---|
| 29 |  ..S ^TMP("RCDMC90S",$J,"BUILD",CNTR)="    "_"DEBTOR:  "_+$P(REC,U,3)_"     SSN:  "_$P(REC,U,1)
 | 
|---|
| 30 |  .S DEBTOR=$P(LKUP,U,2)
 | 
|---|
| 31 |  .;
 | 
|---|
| 32 |  .;Process good debtor numbers
 | 
|---|
| 33 |  .D CANC3^RCDMC90U(DEBTOR,1)
 | 
|---|
| 34 |  .S DFN=+$G(^RCD(340,DEBTOR,0)),NAME=$P(^DPT(DFN,0),U),LN="     "_$$LJ^XLFSTR(NAME,30)_"     "_SSN
 | 
|---|
| 35 |  .S CNT=CNT+1,^TMP("RCDMC90S",$J,"REC",CNT)=LN_$S(TYPE="01":"  INACTIVE BENEFIT",1:"  DECEASED")
 | 
|---|
| 36 |  .I DDATE D
 | 
|---|
| 37 |  ..S XMSUB="Death Notice Received From DMC"
 | 
|---|
| 38 |  ..S XMY("G.DMR")="",XMDUZ="AR PACKAGE",XMTEXT="MSG("
 | 
|---|
| 39 |  ..S MSG(1)="DMC has received a death notice for the following patient:"
 | 
|---|
| 40 |  ..S MSG(2)=LN_"  Date Of Death:  "_$E(DDATE,1,2)_"/"_$E(DDATE,3,4)_"/"_$E(DDATE,7,8)
 | 
|---|
| 41 |  ..S MSG(3)="Please follow up locally to have this information entered"
 | 
|---|
| 42 |  ..S MSG(4)="into the local VAMC patient file."
 | 
|---|
| 43 |  ..D ^XMD
 | 
|---|
| 44 |  ..Q
 | 
|---|
| 45 |  .Q
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 | MSG ;SEND LIST OF PATIENTS AUTOMATICALLY DELETED
 | 
|---|
| 48 |  S ^TMP("RCDMC90S",$J,"REC",1)="The following debtors will not be followed by DMC"
 | 
|---|
| 49 |  S ^TMP("RCDMC90S",$J,"REC",2)="and are being deleted from the DMC."
 | 
|---|
| 50 |  S XMSUB="Patients Deleted From DMC: (SEQ. #: "_SEQ_")"
 | 
|---|
| 51 |  S XMY("G.DMR")="",XMDUZ="AR PACKAGE",XMTEXT="^TMP(""RCDMC90S"","_$J_",""REC"","
 | 
|---|
| 52 |  D ^XMD
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  ;Send list of invalid debtors
 | 
|---|
| 55 |  I $D(^TMP("RCDMC90S",$J,"BUILD")) D
 | 
|---|
| 56 |  .S ^TMP("RCDMC90S",$J,"BUILD",1)="The following debtors have invalid debtor numbers"
 | 
|---|
| 57 |  .S ^TMP("RCDMC90S",$J,"BUILD",2)="Please verify the debtors"
 | 
|---|
| 58 |  .S ^TMP("RCDMC90S",$J,"BUILD",3)=" "
 | 
|---|
| 59 |  .S XMSUB="Notice of Invalid Debtor Number"
 | 
|---|
| 60 |  .S XMY("G.DMR")=""
 | 
|---|
| 61 |  .S XMDUZ="AR PACKAGE"
 | 
|---|
| 62 |  .S XMTEXT="^TMP(""RCDMC90S"","_$J_",""BUILD"","
 | 
|---|
| 63 |  .D ^XMD
 | 
|---|
| 64 |  .Q
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | CLEANUP ; This cleans up the ^TMP global.
 | 
|---|
| 67 |  K ^TMP("RCDMC90S",$J)
 | 
|---|
| 68 |  Q
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 | DEBT(DEBTOR,SSN) ;CHECK FOR VALID DEBTOR
 | 
|---|
| 72 |  N DFN,CHK S CHK=0
 | 
|---|
| 73 |  S DFN=+$G(^RCD(340,DEBTOR,0))
 | 
|---|
| 74 |  I DFN,SSN=$P($G(^DPT(DFN,0)),U,9) S CHK=1_U_DEBTOR
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 |  ;Find debtor by SSN & match last 6 digits of debtor #
 | 
|---|
| 77 |  I 'CHK D
 | 
|---|
| 78 |  .N DEBTOR1
 | 
|---|
| 79 |  .S DFN=$O(^DPT("SSN",SSN,0))
 | 
|---|
| 80 |  .I DFN S DEBTOR1=$O(^RCD(340,"B",DFN_";DPT(",0)) D
 | 
|---|
| 81 |  ..I DEBTOR1,$E(DEBTOR1,$L(DEBTOR1)-5,$L(DEBTOR1))=DEBTOR S CHK=1_U_DEBTOR1
 | 
|---|
| 82 | DEBTQ Q CHK
 | 
|---|