| 1 | RCDMC90U ;WASH IRMFO@ALTOONA,PA/TJK-DMC 90 DAY ;7/17/97 8:14 AM ; 10/24/96 3:21 PM [ 02/24/97 12:17 PM ]
|
---|
| 2 | V ;;4.5;Accounts Receivable;**45,108,121,163**;Mar 20, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | COMPILE(MAX,CNTR,LINES,TLINE) ;COMPILES CODESHEETS INTO MAILMAN MESSAGES
|
---|
| 5 | ;BUILDS MESSAGE ARRAY
|
---|
| 6 | N CNT,SEQ,REC,XMDUZ
|
---|
| 7 | S (SEQ,REC)=0
|
---|
| 8 | F CNT=1:1:CNTR D
|
---|
| 9 | .D:CNT#MAX=1
|
---|
| 10 | ..K ^XTMP("RCDMC90",$J,"BUILD") S SEQ=SEQ+1
|
---|
| 11 | ..S REC=0
|
---|
| 12 | ..Q
|
---|
| 13 | .S REC=REC+1,^XTMP("RCDMC90",$J,"BUILD",REC)=^XTMP("RCDMC90",$J,CNT)
|
---|
| 14 | .S:CNTR=CNT ^XTMP("RCDMC90",$J,"BUILD",REC+1)="END OF TRANSMISSION FOR SITE# "_SITE_": TOTAL RECORDS: "_(CNT/LINES)
|
---|
| 15 | .I $S(CNTR=CNT:1,CNT#MAX=0:1,1:0) D
|
---|
| 16 | ..N XMY,XMSUB
|
---|
| 17 | ..S XMDUZ="AR PACKAGE"
|
---|
| 18 | ..S:RCDOC="W" XMY("XXX@Q-DMX.MED.VA.GOV")=""
|
---|
| 19 | ..S:RCDOC="M" XMY("XXX@Q-DMR.MED.VA.GOV")=""
|
---|
| 20 | ..S XMSUB=SITE_"/DMC REPORT"_"/SEQ#: "_SEQ_"/"_$$NOW()
|
---|
| 21 | ..S XMTEXT="^XTMP(""RCDMC90"","_$J_",""BUILD"","
|
---|
| 22 | ..D ^XMD
|
---|
| 23 | ..Q
|
---|
| 24 | .Q
|
---|
| 25 | S XMDUZ="AR PACKAGE"
|
---|
| 26 | S:RCDOC="W" XMY("G.DMX")=""
|
---|
| 27 | S:RCDOC="M" XMY("G.DMR")=""
|
---|
| 28 | S XMSUB=$S(RCDOC="W":"WEEKLY UPDATE ",1:"MASTER FILE ")_"RECORDS SENT TO DMC ON "_$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3)
|
---|
| 29 | S ^XTMP("RCDMC90",$J,"REC1",1)="Name Last4 Principle Interest Admin Total"
|
---|
| 30 | S ^XTMP("RCDMC90",$J,"REC1",2)="---- ----- --------- -------- ----- -----"
|
---|
| 31 | S ^XTMP("RCDMC90",$J,"REC1",RCNT+1)="Total Records Sent: "_(RCNT-2)
|
---|
| 32 | F I=1,2,3 D
|
---|
| 33 | .S ^XTMP("RCDMC90",$J,"REC1",RCNT+I+1)="Total "_$S(I=1:"Principle: ",I=2:"Interest: ",1:"Admin: ")_$J($P(TLINE,U,I),15,2)
|
---|
| 34 | .Q
|
---|
| 35 | S ^XTMP("RCDMC90",$J,"REC1",RCNT+5)="Total: "_$J($P(TLINE,U)+$P(TLINE,U,2)+$P(TLINE,U,3),15,2)
|
---|
| 36 | S X="",I=2 F S X=$O(^XTMP("RCDMC90",$J,"REC",X)) Q:X="" S I=I+1,^XTMP("RCDMC90",$J,"REC1",I)=^(X)
|
---|
| 37 | S XMTEXT="^XTMP(""RCDMC90"","_$J_",""REC1"","
|
---|
| 38 | D ^XMD
|
---|
| 39 | COMPQ Q
|
---|
| 40 | PSEUDO(DFN,PSSN) ;Screens out patients with Pseudo-SSN's and sends mail message
|
---|
| 41 | N XMSUB,XMY,XMTEXT,MSG,XMDUZ
|
---|
| 42 | S XMSUB="Notice of debtor eligible for DMC with Pseudo-SSN"
|
---|
| 43 | S XMY("G.DMR")=""
|
---|
| 44 | S XMDUZ="AR PACKAGE",XMTEXT="MSG("
|
---|
| 45 | S MSG(1)="The following patient is eligible for DMC collection,"
|
---|
| 46 | S MSG(2)="but can not be submitted because of a Pseudo-SSN."
|
---|
| 47 | S MSG(3)="A valid SSN needs to be entered for this patient."
|
---|
| 48 | S MSG(4)=" "
|
---|
| 49 | S MSG(5)="Patient: "_$P(^DPT(DFN,0),U)_" Pseudo-SSN: "_PSSN
|
---|
| 50 | D ^XMD
|
---|
| 51 | Q
|
---|
| 52 | NOW() N X,Y,%,%H
|
---|
| 53 | S %H=$H D YX^%DTC
|
---|
| 54 | Q Y
|
---|
| 55 | REPORT ;PRINT REPORT
|
---|
| 56 | N DIC,DIS,L,BY,FR,TO,FLDS,PG,PRINTOT,ADMTOT,INTTOT,DIOEND
|
---|
| 57 | W !!,"DMC 90 DAY REFERRAL REPORT",!!
|
---|
| 58 | W !,"Select type of report"
|
---|
| 59 | S DIR(0)="SM^D:DETAILED;S:SUMMARY",DIR("A")="Enter Report Type"
|
---|
| 60 | S DIR("?")="Enter 'D' or 'S':"
|
---|
| 61 | S DIR("?",1)="A detailed report prints out current totals for each individual debtor at DMC."
|
---|
| 62 | S DIR("?",2)="A summary report prints out current totals of all accounts at DMC."
|
---|
| 63 | D ^DIR Q:(Y="")!(Y="^")
|
---|
| 64 | S L=0,(FR,TO)="",DIC=340
|
---|
| 65 | I Y="S" S BY=3.01,FLDS="[RCDMC90B]" G PRINT
|
---|
| 66 | S (PRINTOT,ADMTOT,INTTOT)=0
|
---|
| 67 | S DIS(0)="I $D(^RCD(340,""DMC"",1,D0))"
|
---|
| 68 | S BY=.01,FLDS="[RCDMC90A]"
|
---|
| 69 | S DIOEND="D PRNTOT^RCDMC90U"
|
---|
| 70 | PRINT D EN1^DIP
|
---|
| 71 | REPORTQ Q
|
---|
| 72 | PRNTOT N DASH
|
---|
| 73 | S DASH="",$P(DASH,"-",81)=""
|
---|
| 74 | W !!,DASH
|
---|
| 75 | W !,?6,"TOTALS:",?26,"PRINCIPLE",?36,"$"_$J(PRINTOT,15,2)
|
---|
| 76 | W !,?26,"INTEREST",?36,"$"_$J(INTTOT,15,2),!,?26,"ADMIN",?36,"$"_$J(ADMTOT,15,2)
|
---|
| 77 | W !,?26,"TOTAL",?36,"$"_$J(PRINTOT+INTTOT+ADMTOT,15,2)
|
---|
| 78 | Q
|
---|
| 79 | STARTUP ;Displays reminder message for mailgroups
|
---|
| 80 | N RCMSG S RCMSG(1)="Mailgroup 'DMR' to receive master transaction messages has been set up"
|
---|
| 81 | S RCMSG(2)="Mailgroup 'DMX' to receive weekly transacton messages have been sent up."
|
---|
| 82 | S RCMSG(3)="****Remember to add users to these mailgroups.****"
|
---|
| 83 | D MES^XPDUTL(.RCMSG)
|
---|
| 84 | Q
|
---|
| 85 | LESSW ;ENTRY POINT FOR MENU OPTION TO ALLOW LESSER WITHHOLDING
|
---|
| 86 | N DIC,DIR,DEBTOR
|
---|
| 87 | W !,"DMC Lesser Withholding..."
|
---|
| 88 | S DIC=340,DIC(0)="AEQM",DIC("S")="I $D(^RCD(340,""DMC"",1,+Y))"
|
---|
| 89 | D ^DIC G LESSWQ:Y<0 S DEBTOR=+Y
|
---|
| 90 | LESSWA S DIR(0)="340,3.09",DIR("B")=$S($P($G(^RCD(340,DEBTOR,3)),U,9):$J($P(^RCD(340,DEBTOR,3),U,9),0,2),1:"0.00") D ^DIR G LESSWQ:'Y
|
---|
| 91 | I +Y>$P(^RCD(340,DEBTOR,3),U,5) W !!,*7,"Amount entered exceeds the amount currently at DMC which is ",$P(^(3),U,5),!,"Re-enter lesser amount" G LESSWA
|
---|
| 92 | S $P(^RCD(340,DEBTOR,3),U,9)=+Y
|
---|
| 93 | LESSWQ Q
|
---|
| 94 | CANC ;ENTRY POINT FOR MENU OPTION TO ALLOW VAMC TO CANCEL DMC WITHOLDING
|
---|
| 95 | W !,"Deletion of Debtor From DMC"
|
---|
| 96 | N DEBTOR,DIC,DIR,DELETE,Y
|
---|
| 97 | CANC1 S DIC=340,DIC(0)="AEQM",DIC("A")="Enter Debtor To Be Removed From DMC: "
|
---|
| 98 | S DIC("S")="I $D(^RCD(340,""DMC"",1,+Y))" D ^DIC G CANCQ:+Y<0 S DEBTOR=+Y
|
---|
| 99 | S DIR(0)="YA",DIR("A")="Are you sure you wish to delete this debtor from DMC? "
|
---|
| 100 | S DIR("B")="NO" D ^DIR G CANC1:'Y
|
---|
| 101 | S ^RCD(340,DEBTOR,3)="1^^^^^^^^^1"
|
---|
| 102 | CANC2 S I=0 F S I=$O(^PRCA(430,"C",DEBTOR,I)) Q:I'?1N.N K ^PRCA(430,I,12)
|
---|
| 103 | G CANC1:'$G(DELETE)
|
---|
| 104 | K ^RCD(340,DEBTOR,3),^RCD(340,"DMC",1,DEBTOR)
|
---|
| 105 | Q
|
---|
| 106 | CANC3(DEBTOR,DELETE) ;ENTRY POINT FOR AUTODELETION BY SERVER
|
---|
| 107 | N I
|
---|
| 108 | D CANC2
|
---|
| 109 | CANCQ Q
|
---|
| 110 | ;
|
---|
| 111 | ERROR(RCDOC,LKUP,DFN) ; send bulletin if address is not in correct format
|
---|
| 112 | N XMSUB,XMY,XMDUZ,XMTEXT,MSG
|
---|
| 113 | S XMSUB="Notice of Unknown/Corrupted Address to DMC"
|
---|
| 114 | S XMY("G.DMR")=""
|
---|
| 115 | S XMDUZ="AR PACKAGE"
|
---|
| 116 | S XMTEXT="MSG("
|
---|
| 117 | I RCDOC="M" S MSG(1)="Master Record-Monthly was not sent because:"
|
---|
| 118 | S MSG(2)="Address is "_$S(LKUP=2:"invalid",1:"unknown")_". Verify and re-enter"
|
---|
| 119 | S MSG(3)="address for the following patient: "
|
---|
| 120 | S MSG(4)=" "
|
---|
| 121 | S MSG(5)=" "_$P(^DPT(DFN,0),U)_" SSN: "_$P(^(0),U,9)
|
---|
| 122 | I RCDOC="W" S MSG(6)=" ",MSG(7)="PLEASE NOTE: SENT WEEKLY UPDATE WITH ZERO BALANCE!"
|
---|
| 123 | D ^XMD
|
---|
| 124 | ERRORQ Q
|
---|