- RCRPDR ;EDE/YMG - REPAYMENT PLAN DELINQUENT / DEFAULT LETTER REPORTS; 12/28/2020
- ;;4.5;Accounts Receivable;**378,389,429**;Mar 20, 1995;Build 7
- ;;Per VA Directive 6402, this routine should not be modified.
- ;
- Q
- ;
- EN(TYPE) ; entry point
- ;
- ; TYPE = 0 for delinquent letter report, 1 for default letter report
- ;
- N CLEARQ,EXCEL,POP,ZTDESC,ZTRTN,ZTSAVE,ZTSK,%ZIS
- K ^TMP("RCRPDR",$J)
- W !!,"Print ",$S(TYPE=1:"Default",1:"Delinquent")," Letter Report",!
- ; export to Excel?
- W !,"Answer Yes to print this report in a Mail-merge compatible format."
- W !!,"If you Answer No, the Statement Account Number for the Debtor will not" ; PRCA*4.5*389
- W !,"appear on the screen.",!! ; PRCA*4.5*389
- S EXCEL=$$ASKEXCEL^RCRPRPU() I EXCEL<0 Q
- I 'EXCEL W !!,"This report requires 132 characters",!
- I EXCEL D EXCMSG^RCTCSJR ; Display Excel display message I EXCEL
- ; ask for device
- K IOP,IO("Q")
- S %ZIS="MQ",%ZIS("B")="",POP=0 D ^%ZIS Q:POP
- I $D(IO("Q")) S CLEARQ=$$ASKCLR() Q:CLEARQ<0 D Q ; queued report: ask if print queue should be cleared, then queue task
- .S ZTDESC="Repayment Plan "_$S(TYPE=1:"Default",1:"Delinquent")_" Letter Report"
- .S ZTRTN="COMPILE^RCRPDR"
- .S ZTSAVE("TYPE")="",ZTSAVE("EXCEL")="",ZTSAVE("CLEARQ")="",ZTSAVE("ZTREQ")="@"
- .D ^%ZTLOAD,HOME^%ZIS
- .I $G(ZTSK) W !!,"Report compilation has started with task# ",ZTSK,".",! D PAUSE^RCRPRPU
- .Q
- D COMPILE
- Q
- ;
- COMPILE ; compile report
- N ACCTNUM,ADDRSTR,CRNTDT,DEBT,DEBTOR,MED,N0,NAME,RPIEN,RPPID,TMP,TMPSTR,XREF
- S XREF=$S(TYPE:"PRTDEF",1:"PRTDEL")
- S RPIEN=0 F S RPIEN=$O(^RCRP(340.5,XREF,1,RPIEN)) Q:'RPIEN D
- .S N0=^RCRP(340.5,RPIEN,0)
- .S RPPID=$P(N0,U),DEBTOR=+$P(N0,U,2) Q:DEBTOR'>0
- .S ADDRSTR=$P($$DADD^RCAMADD(DEBTOR,1),U,1,6) ; ADDRSTR = Str1^Str2^Str3^City^State^ZIP
- .S NAME=$$NAM^RCFN01(DEBTOR) Q:NAME="" ; debtor name
- .S DEBT=U_$P(NAME,",") ; needed for ACCT^PRCAAPR1, 2nd piece contains last name of the debtor PRCA*4.5*389
- .; PRCA*4.5*429
- .S TMP=$P($G(^RCD(340,DEBTOR,0)),U)
- .S MED=1 I $P(TMP,";",2)'="DPT(" S MED=0 ; non-medical debt
- .S ACCTNUM="N/A" I MED S ACCTNUM=$$ACCT^PRCAAPR1($P(TMP,";"))
- .I 'MED S NAME="*"_NAME
- .;
- .S TMPSTR="" S TMPSTR=$$CALC(RPIEN,+$P(N0,U,6)) Q:'+$P(TMPSTR,U) ; PRCA*4.5*389
- .S ^TMP("RCRPDR",$J,NAME)=ADDRSTR_U_ACCTNUM ; PRCA*4.5*389
- .S ^TMP("RCRPDR",$J,NAME,RPPID)=TMPSTR
- .S ^TMP("RCRPDR",$J,NAME,RPPID,"IEN")=RPIEN
- .Q
- ;
- D PRINT
- K ^TMP("RCRPDR",$J)
- Q
- ;
- PRINT ; print report
- N ACCTNUM,ADDR,AMNT,CNT,DATA,DATA1,EXTDT,LN,NAME,PAGE,RPPID,UPDT
- U IO
- S PAGE=0
- S EXTDT=$$FMTE^XLFDT(DT)
- I EXCEL D
- .W !,"Print ",$S(TYPE=1:"Default",1:"Delinquent")," Letter Report;",EXTDT
- .W !,"Name^Statement Account Number^Street Address^Address 2^Address 3^City^State^Zip Code^RPP ID^Amount Due" W:'TYPE "^Current Through"
- .Q
- I 'EXCEL D
- .I $E(IOST,1,2)["C-",'$D(ZTQUEUED) W @IOF
- .D HDR
- .Q
- I '$D(^TMP("RCRPDR",$J)) D Q
- .I EXCEL W !!,"No records found." Q
- .W !!,$$CJ^XLFSTR("No records found.",132)
- .Q
- S NAME="" F S NAME=$O(^TMP("RCRPDR",$J,NAME)) Q:NAME="" D
- .S RPPID="" F S RPPID=$O(^TMP("RCRPDR",$J,NAME,RPPID)) Q:RPPID="" D
- ..S DATA1=^TMP("RCRPDR",$J,NAME),ADDR=$P(DATA1,U,1,6),ACCTNUM=$P(DATA1,U,7) ; PRCA*4.5*389
- ..S DATA=^TMP("RCRPDR",$J,NAME,RPPID)
- ..S AMNT=$FN($P(DATA,U),"",2)
- ..I 'TYPE S UPDT=$$FMTE^XLFDT($P(DATA,U,2),"5DZ")
- ..I EXCEL D Q
- ...W !,NAME,U,ACCTNUM,U,$P(ADDR,U),U,$P(ADDR,U,2),U,$P(ADDR,U,3),U,$P(ADDR,U,4),U,$P(ADDR,U,5),U,$P(ADDR,U,6),U,RPPID,U,AMNT ; PRCA*4.5*389
- ...I 'TYPE W U,UPDT ; PRCA*4.5*389
- ...Q
- ..S LN=LN+1
- ..W !,$E(NAME,1,26)
- ..W ?28,$E($P(ADDR,U)_" "_$P(ADDR,U,2)_" "_$P(ADDR,U,3)_", "_$P(ADDR,U,4)_", "_$P(ADDR,U,5)_" "_$P(ADDR,U,6),1,56)
- ..W ?86,RPPID,?107,AMNT W:'TYPE ?119,UPDT ; PRCA*4.5*389
- ..I LN>(IOSL-4) D HDR
- ..Q
- .Q
- ; if not queued, clear print queue if necessary
- I '$D(ZTQUEUED),EXCEL W ! S CLEARQ=$$ASKCLR() I CLEARQ=1 D
- .; clear print flag in file 340.5
- .S NAME="" F S NAME=$O(^TMP("RCRPDR",$J,NAME)) Q:NAME="" D
- ..S RPPID="" F S RPPID=$O(^TMP("RCRPDR",$J,NAME,RPPID)) Q:RPPID="" D CLRPRNT(^TMP("RCRPDR",$J,NAME,RPPID,"IEN"),TYPE)
- ..Q
- .Q
- Q
- ;
- HDR ; print header
- I PAGE>0,'$D(ZTQUEUED) D PAUSE^RCRPRPU
- W @IOF
- S PAGE=PAGE+1,LN=4
- W !,"Print ",$S(TYPE=1:"Default",1:"Delinquent")," Letter Report",?66,EXTDT,?120,"Page: ",PAGE
- W !!,"* Indicates a non-medical debt repayment plan"
- W !!,?11,"Name",?53,"Address",?91,"RPP ID",?105,"Amount Due" W:'TYPE ?117,"Current Through" ; PRCA*4.5*389
- W ! D DASH^RCRPRPU(132)
- Q
- ;
- CALC(RPIEN,MAMNT) ; calculate amount due and "current through" date
- ;
- ; RPIEN - file 340.5 ien
- ; MAMNT - monthly amount (340.5/.06)
- ;
- ; returns amount due ^ "current through" date, or "" if no missing payments were found
- ;
- N CNT,LSTDT,N0,RPDT,TOTAL,UPDT,Z
- I $G(MAMNT)'>0 Q ""
- S LSTDT=$O(^RCRP(340.5,RPIEN,2,"B",""),-1) ; last due date in the schedule PRCA*4.5*429
- ; loop backwards from today's date, count entries with no payment and no forbearance
- S CNT=0,RPDT=DT F S RPDT=$O(^RCRP(340.5,RPIEN,2,"B",RPDT),-1) Q:'RPDT D
- .S Z=$O(^RCRP(340.5,RPIEN,2,"B",RPDT,"")) Q:'Z
- .S N0=^RCRP(340.5,RPIEN,2,Z,0) I +$P(N0,U,2)=0,+$P(N0,U,3)=0 S CNT=CNT+1
- .Q
- I CNT=0 Q "" ; no missing payments found
- S UPDT=LSTDT I DT'>LSTDT D ; PRCA*4.5*429
- .S CNT=CNT+1 ; add upcoming payment
- .S UPDT=$O(^RCRP(340.5,RPIEN,2,"B",DT)) ; upcoming payment date
- .; if today's date is between 21st and 28th, add 2nd upcoming payment and go to the next upcoming payment date
- .I DT'>$O(^RCRP(340.5,RPIEN,2,"B",LSTDT),-1) S Z=$E(DT,6,7) I Z>21,Z<28 S CNT=CNT+1,UPDT=$O(^RCRP(340.5,RPIEN,2,"B",UPDT))
- .Q
- S TOTAL=MAMNT*CNT ; total amount owed for missed payments
- Q TOTAL_U_UPDT
- ;
- ASKCLR() ; display "clear print queue?" prompt
- ;
- ; returns 1 for Yes, 0 for No, -1 for no selection
- ;
- ;Ask if the user wishes to clear the queue
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- S DIR(0)="Y",DIR("B")="NO"
- S DIR("A")="Clear the print queue after printing? (Y/N)"
- D ^DIR I $D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) Q -1
- Q:+Y'=1 0
- ;
- ;Confirm that the user wishes to clear the queue
- S DIR(0)="Y",DIR("B")="NO"
- S DIR("A")="Are you sure you wish to clear the queue? If you do, the data in this report will be lost. (Y/N)"
- D ^DIR I $D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) Q -1
- Q Y
- ;
- CLRPRNT(RPIEN,TYPE) ; clear print delinquent / print default flag for a given RPP
- ;
- ; RPIEN - repayment plan ien (file 340.5)
- ; TYPE - 0 for print delinquent? field (340.5/1.03), 1 for print default? field (340.5/1.02)
- ;
- N FDA,FLD
- I RPIEN'>0 Q
- S FLD=$S(TYPE:1.02,1:1.03)
- L +^RCRP(340.5,RPIEN):5 I '$T Q
- S FDA(340.5,RPIEN_",",FLD)=0
- D FILE^DIE("","FDA")
- ; update audit log
- D UPDAUDIT^RCRPU2(RPIEN,DT,"E",$S(TYPE:"DF",1:"DL"))
- L -^RCRP(340.5,RPIEN)
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRCRPDR 6849 printed Mar 13, 2025@20:53:01 Page 2
- RCRPDR ;EDE/YMG - REPAYMENT PLAN DELINQUENT / DEFAULT LETTER REPORTS; 12/28/2020
- +1 ;;4.5;Accounts Receivable;**378,389,429**;Mar 20, 1995;Build 7
- +2 ;;Per VA Directive 6402, this routine should not be modified.
- +3 ;
- +4 QUIT
- +5 ;
- EN(TYPE) ; entry point
- +1 ;
- +2 ; TYPE = 0 for delinquent letter report, 1 for default letter report
- +3 ;
- +4 NEW CLEARQ,EXCEL,POP,ZTDESC,ZTRTN,ZTSAVE,ZTSK,%ZIS
- +5 KILL ^TMP("RCRPDR",$JOB)
- +6 WRITE !!,"Print ",$SELECT(TYPE=1:"Default",1:"Delinquent")," Letter Report",!
- +7 ; export to Excel?
- +8 WRITE !,"Answer Yes to print this report in a Mail-merge compatible format."
- +9 ; PRCA*4.5*389
- WRITE !!,"If you Answer No, the Statement Account Number for the Debtor will not"
- +10 ; PRCA*4.5*389
- WRITE !,"appear on the screen.",!!
- +11 SET EXCEL=$$ASKEXCEL^RCRPRPU()
- IF EXCEL<0
- QUIT
- +12 IF 'EXCEL
- WRITE !!,"This report requires 132 characters",!
- +13 ; Display Excel display message I EXCEL
- IF EXCEL
- DO EXCMSG^RCTCSJR
- +14 ; ask for device
- +15 KILL IOP,IO("Q")
- +16 SET %ZIS="MQ"
- SET %ZIS("B")=""
- SET POP=0
- DO ^%ZIS
- if POP
- QUIT
- +17 ; queued report: ask if print queue should be cleared, then queue task
- IF $DATA(IO("Q"))
- SET CLEARQ=$$ASKCLR()
- if CLEARQ<0
- QUIT
- Begin DoDot:1
- +18 SET ZTDESC="Repayment Plan "_$SELECT(TYPE=1:"Default",1:"Delinquent")_" Letter Report"
- +19 SET ZTRTN="COMPILE^RCRPDR"
- +20 SET ZTSAVE("TYPE")=""
- SET ZTSAVE("EXCEL")=""
- SET ZTSAVE("CLEARQ")=""
- SET ZTSAVE("ZTREQ")="@"
- +21 DO ^%ZTLOAD
- DO HOME^%ZIS
- +22 IF $GET(ZTSK)
- WRITE !!,"Report compilation has started with task# ",ZTSK,".",!
- DO PAUSE^RCRPRPU
- +23 QUIT
- End DoDot:1
- QUIT
- +24 DO COMPILE
- +25 QUIT
- +26 ;
- COMPILE ; compile report
- +1 NEW ACCTNUM,ADDRSTR,CRNTDT,DEBT,DEBTOR,MED,N0,NAME,RPIEN,RPPID,TMP,TMPSTR,XREF
- +2 SET XREF=$SELECT(TYPE:"PRTDEF",1:"PRTDEL")
- +3 SET RPIEN=0
- FOR
- SET RPIEN=$ORDER(^RCRP(340.5,XREF,1,RPIEN))
- if 'RPIEN
- QUIT
- Begin DoDot:1
- +4 SET N0=^RCRP(340.5,RPIEN,0)
- +5 SET RPPID=$PIECE(N0,U)
- SET DEBTOR=+$PIECE(N0,U,2)
- if DEBTOR'>0
- QUIT
- +6 ; ADDRSTR = Str1^Str2^Str3^City^State^ZIP
- SET ADDRSTR=$PIECE($$DADD^RCAMADD(DEBTOR,1),U,1,6)
- +7 ; debtor name
- SET NAME=$$NAM^RCFN01(DEBTOR)
- if NAME=""
- QUIT
- +8 ; needed for ACCT^PRCAAPR1, 2nd piece contains last name of the debtor PRCA*4.5*389
- SET DEBT=U_$PIECE(NAME,",")
- +9 ; PRCA*4.5*429
- +10 SET TMP=$PIECE($GET(^RCD(340,DEBTOR,0)),U)
- +11 ; non-medical debt
- SET MED=1
- IF $PIECE(TMP,";",2)'="DPT("
- SET MED=0
- +12 SET ACCTNUM="N/A"
- IF MED
- SET ACCTNUM=$$ACCT^PRCAAPR1($PIECE(TMP,";"))
- +13 IF 'MED
- SET NAME="*"_NAME
- +14 ;
- +15 ; PRCA*4.5*389
- SET TMPSTR=""
- SET TMPSTR=$$CALC(RPIEN,+$PIECE(N0,U,6))
- if '+$PIECE(TMPSTR,U)
- QUIT
- +16 ; PRCA*4.5*389
- SET ^TMP("RCRPDR",$JOB,NAME)=ADDRSTR_U_ACCTNUM
- +17 SET ^TMP("RCRPDR",$JOB,NAME,RPPID)=TMPSTR
- +18 SET ^TMP("RCRPDR",$JOB,NAME,RPPID,"IEN")=RPIEN
- +19 QUIT
- End DoDot:1
- +20 ;
- +21 DO PRINT
- +22 KILL ^TMP("RCRPDR",$JOB)
- +23 QUIT
- +24 ;
- PRINT ; print report
- +1 NEW ACCTNUM,ADDR,AMNT,CNT,DATA,DATA1,EXTDT,LN,NAME,PAGE,RPPID,UPDT
- +2 USE IO
- +3 SET PAGE=0
- +4 SET EXTDT=$$FMTE^XLFDT(DT)
- +5 IF EXCEL
- Begin DoDot:1
- +6 WRITE !,"Print ",$SELECT(TYPE=1:"Default",1:"Delinquent")," Letter Report;",EXTDT
- +7 WRITE !,"Name^Statement Account Number^Street Address^Address 2^Address 3^City^State^Zip Code^RPP ID^Amount Due"
- if 'TYPE
- WRITE "^Current Through"
- +8 QUIT
- End DoDot:1
- +9 IF 'EXCEL
- Begin DoDot:1
- +10 IF $EXTRACT(IOST,1,2)["C-"
- IF '$DATA(ZTQUEUED)
- WRITE @IOF
- +11 DO HDR
- +12 QUIT
- End DoDot:1
- +13 IF '$DATA(^TMP("RCRPDR",$JOB))
- Begin DoDot:1
- +14 IF EXCEL
- WRITE !!,"No records found."
- QUIT
- +15 WRITE !!,$$CJ^XLFSTR("No records found.",132)
- +16 QUIT
- End DoDot:1
- QUIT
- +17 SET NAME=""
- FOR
- SET NAME=$ORDER(^TMP("RCRPDR",$JOB,NAME))
- if NAME=""
- QUIT
- Begin DoDot:1
- +18 SET RPPID=""
- FOR
- SET RPPID=$ORDER(^TMP("RCRPDR",$JOB,NAME,RPPID))
- if RPPID=""
- QUIT
- Begin DoDot:2
- +19 ; PRCA*4.5*389
- SET DATA1=^TMP("RCRPDR",$JOB,NAME)
- SET ADDR=$PIECE(DATA1,U,1,6)
- SET ACCTNUM=$PIECE(DATA1,U,7)
- +20 SET DATA=^TMP("RCRPDR",$JOB,NAME,RPPID)
- +21 SET AMNT=$FNUMBER($PIECE(DATA,U),"",2)
- +22 IF 'TYPE
- SET UPDT=$$FMTE^XLFDT($PIECE(DATA,U,2),"5DZ")
- +23 IF EXCEL
- Begin DoDot:3
- +24 ; PRCA*4.5*389
- WRITE !,NAME,U,ACCTNUM,U,$PIECE(ADDR,U),U,$PIECE(ADDR,U,2),U,$PIECE(ADDR,U,3),U,$PIECE(ADDR,U,4),U,$PIECE(ADDR,U,5),U,$PIECE(ADDR,U,6),U,RPPID,U,AMNT
- +25 ; PRCA*4.5*389
- IF 'TYPE
- WRITE U,UPDT
- +26 QUIT
- End DoDot:3
- QUIT
- +27 SET LN=LN+1
- +28 WRITE !,$EXTRACT(NAME,1,26)
- +29 WRITE ?28,$EXTRACT($PIECE(ADDR,U)_" "_$PIECE(ADDR,U,2)_" "_$PIECE(ADDR,U,3)_", "_$PIECE(ADDR,U,4)_", "_$PIECE(ADDR,U,5)_" "_$PIECE(ADDR,U,6),1,56)
- +30 ; PRCA*4.5*389
- WRITE ?86,RPPID,?107,AMNT
- if 'TYPE
- WRITE ?119,UPDT
- +31 IF LN>(IOSL-4)
- DO HDR
- +32 QUIT
- End DoDot:2
- +33 QUIT
- End DoDot:1
- +34 ; if not queued, clear print queue if necessary
- +35 IF '$DATA(ZTQUEUED)
- IF EXCEL
- WRITE !
- SET CLEARQ=$$ASKCLR()
- IF CLEARQ=1
- Begin DoDot:1
- +36 ; clear print flag in file 340.5
- +37 SET NAME=""
- FOR
- SET NAME=$ORDER(^TMP("RCRPDR",$JOB,NAME))
- if NAME=""
- QUIT
- Begin DoDot:2
- +38 SET RPPID=""
- FOR
- SET RPPID=$ORDER(^TMP("RCRPDR",$JOB,NAME,RPPID))
- if RPPID=""
- QUIT
- DO CLRPRNT(^TMP("RCRPDR",$JOB,NAME,RPPID,"IEN"),TYPE)
- +39 QUIT
- End DoDot:2
- +40 QUIT
- End DoDot:1
- +41 QUIT
- +42 ;
- HDR ; print header
- +1 IF PAGE>0
- IF '$DATA(ZTQUEUED)
- DO PAUSE^RCRPRPU
- +2 WRITE @IOF
- +3 SET PAGE=PAGE+1
- SET LN=4
- +4 WRITE !,"Print ",$SELECT(TYPE=1:"Default",1:"Delinquent")," Letter Report",?66,EXTDT,?120,"Page: ",PAGE
- +5 WRITE !!,"* Indicates a non-medical debt repayment plan"
- +6 ; PRCA*4.5*389
- WRITE !!,?11,"Name",?53,"Address",?91,"RPP ID",?105,"Amount Due"
- if 'TYPE
- WRITE ?117,"Current Through"
- +7 WRITE !
- DO DASH^RCRPRPU(132)
- +8 QUIT
- +9 ;
- CALC(RPIEN,MAMNT) ; calculate amount due and "current through" date
- +1 ;
- +2 ; RPIEN - file 340.5 ien
- +3 ; MAMNT - monthly amount (340.5/.06)
- +4 ;
- +5 ; returns amount due ^ "current through" date, or "" if no missing payments were found
- +6 ;
- +7 NEW CNT,LSTDT,N0,RPDT,TOTAL,UPDT,Z
- +8 IF $GET(MAMNT)'>0
- QUIT ""
- +9 ; last due date in the schedule PRCA*4.5*429
- SET LSTDT=$ORDER(^RCRP(340.5,RPIEN,2,"B",""),-1)
- +10 ; loop backwards from today's date, count entries with no payment and no forbearance
- +11 SET CNT=0
- SET RPDT=DT
- FOR
- SET RPDT=$ORDER(^RCRP(340.5,RPIEN,2,"B",RPDT),-1)
- if 'RPDT
- QUIT
- Begin DoDot:1
- +12 SET Z=$ORDER(^RCRP(340.5,RPIEN,2,"B",RPDT,""))
- if 'Z
- QUIT
- +13 SET N0=^RCRP(340.5,RPIEN,2,Z,0)
- IF +$PIECE(N0,U,2)=0
- IF +$PIECE(N0,U,3)=0
- SET CNT=CNT+1
- +14 QUIT
- End DoDot:1
- +15 ; no missing payments found
- IF CNT=0
- QUIT ""
- +16 ; PRCA*4.5*429
- SET UPDT=LSTDT
- IF DT'>LSTDT
- Begin DoDot:1
- +17 ; add upcoming payment
- SET CNT=CNT+1
- +18 ; upcoming payment date
- SET UPDT=$ORDER(^RCRP(340.5,RPIEN,2,"B",DT))
- +19 ; if today's date is between 21st and 28th, add 2nd upcoming payment and go to the next upcoming payment date
- +20 IF DT'>$ORDER(^RCRP(340.5,RPIEN,2,"B",LSTDT),-1)
- SET Z=$EXTRACT(DT,6,7)
- IF Z>21
- IF Z<28
- SET CNT=CNT+1
- SET UPDT=$ORDER(^RCRP(340.5,RPIEN,2,"B",UPDT))
- +21 QUIT
- End DoDot:1
- +22 ; total amount owed for missed payments
- SET TOTAL=MAMNT*CNT
- +23 QUIT TOTAL_U_UPDT
- +24 ;
- ASKCLR() ; display "clear print queue?" prompt
- +1 ;
- +2 ; returns 1 for Yes, 0 for No, -1 for no selection
- +3 ;
- +4 ;Ask if the user wishes to clear the queue
- +5 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +6 SET DIR(0)="Y"
- SET DIR("B")="NO"
- +7 SET DIR("A")="Clear the print queue after printing? (Y/N)"
- +8 DO ^DIR
- IF $DATA(DIRUT)!$DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
- QUIT -1
- +9 if +Y'=1
- QUIT 0
- +10 ;
- +11 ;Confirm that the user wishes to clear the queue
- +12 SET DIR(0)="Y"
- SET DIR("B")="NO"
- +13 SET DIR("A")="Are you sure you wish to clear the queue? If you do, the data in this report will be lost. (Y/N)"
- +14 DO ^DIR
- IF $DATA(DIRUT)!$DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
- QUIT -1
- +15 QUIT Y
- +16 ;
- CLRPRNT(RPIEN,TYPE) ; clear print delinquent / print default flag for a given RPP
- +1 ;
- +2 ; RPIEN - repayment plan ien (file 340.5)
- +3 ; TYPE - 0 for print delinquent? field (340.5/1.03), 1 for print default? field (340.5/1.02)
- +4 ;
- +5 NEW FDA,FLD
- +6 IF RPIEN'>0
- QUIT
- +7 SET FLD=$SELECT(TYPE:1.02,1:1.03)
- +8 LOCK +^RCRP(340.5,RPIEN):5
- IF '$TEST
- QUIT
- +9 SET FDA(340.5,RPIEN_",",FLD)=0
- +10 DO FILE^DIE("","FDA")
- +11 ; update audit log
- +12 DO UPDAUDIT^RCRPU2(RPIEN,DT,"E",$SELECT(TYPE:"DF",1:"DL"))
- +13 LOCK -^RCRP(340.5,RPIEN)
- +14 QUIT