| [613] | 1 | IBARXEL1 ;ALB/CPM - RX COPAY EXEMPTION REMINDER REPRINT ;14-APR-95
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**34,199,217**;21-MAR-94
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | REPR ; Reprint a single income test reminder letter.
 | 
|---|
 | 6 |  S IBLET=$O(^IBE(354.6,"B","IB INCOME TEST REMINDER",0))
 | 
|---|
 | 7 |  I 'IBLET W !!,"You do not have the Income Test Reminder letter defined!" G REPRQ
 | 
|---|
 | 8 |  ;
 | 
|---|
 | 9 |  S DIC="^DPT(",DIC("S")="I $D(^IBA(354,+Y,0))",DIC(0)="AEQMZ",DIC("A")="Select BILLING PATIENT: "
 | 
|---|
 | 10 |  N DPTNOFZY S DPTNOFZY=1  ;Suppress PATIENT file fuzzy lookups
 | 
|---|
 | 11 |  D ^DIC K DIC S DFN=+Y G:Y<0 REPRQ
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ; - find the most recent active exemption
 | 
|---|
 | 14 |  S IBEX=+$O(^(+$O(^IBA(354.1,"AIVDT",1,DFN,-(DT+.00001))),0))
 | 
|---|
 | 15 |  S IBEXD=$G(^IBA(354.1,IBEX,0))
 | 
|---|
 | 16 |  I 'IBEXD W !!,"This veteran has never had an active copayment exemption status!" G REPR
 | 
|---|
 | 17 |  ;
 | 
|---|
 | 18 |  I $G(^DPT(DFN,.35)) W !!,*7,"Please note that this veteran died on ",$$DAT1^IBOUTL(+^(.35)),"."
 | 
|---|
 | 19 |  ;
 | 
|---|
 | 20 |  ; - display the veteran's current exemption status
 | 
|---|
 | 21 |  S IBEXREA=$$ACODE^IBARXEU0(IBEXD)
 | 
|---|
 | 22 |  W !!,$TR($J("",80)," ","=")
 | 
|---|
 | 23 |  W !?10,"Exemption Status: ",$$TEXT^IBARXEU0(+$P(IBEXD,"^",4)),"  (",$P($G(^IBE(354.2,+$P(IBEXD,"^",5),0)),"^"),")"
 | 
|---|
 | 24 |  W !?12,"Exemption Date: ",$$DAT1^IBOUTL(+IBEXD)
 | 
|---|
 | 25 |  ;
 | 
|---|
 | 26 |  ; - display the previous status if the veteran has not reported income
 | 
|---|
 | 27 |  I IBEXREA=210 D
 | 
|---|
 | 28 |  .S IBCHK=1
 | 
|---|
 | 29 |  .S IBEX=+$O(^(+$O(^IBA(354.1,"AIVDT",1,DFN,-IBEXD)),0))
 | 
|---|
 | 30 |  .S IBEXD=$G(^IBA(354.1,IBEX,0)) Q:'IBEXD
 | 
|---|
 | 31 |  .S IBEXREA=$$ACODE^IBARXEU0(IBEXD)
 | 
|---|
 | 32 |  .W !!?4,"Prior Exemption Status: ",$$TEXT^IBARXEU0(+$P(IBEXD,"^",4)),"  (",$P($G(^IBE(354.2,+$P(IBEXD,"^",5),0)),"^"),")"
 | 
|---|
 | 33 |  .W !?6,"Prior Exemption Date: ",$$DAT1^IBOUTL(+IBEXD)
 | 
|---|
 | 34 |  ;
 | 
|---|
 | 35 |  ; - if a letter has already been printed, display the print date
 | 
|---|
 | 36 |  I $P(IBEXD,"^",16) D
 | 
|---|
 | 37 |  .W !!?12,"Letter Printed: ",$$DAT1^IBOUTL($P(IBEXD,"^",16))
 | 
|---|
 | 38 |  .S X=$P($$LST^DGMTCOU1(DFN,$$FMADD^XLFDT(DT,60),3),"^",2)
 | 
|---|
 | 39 |  .W ?41,"Current Income Test Date: ",$S(X:$$DAT1^IBOUTL(X),1:"<none>")
 | 
|---|
 | 40 |  W !,$TR($J("",80)," ","=")
 | 
|---|
 | 41 |  ;
 | 
|---|
 | 42 |  ; - exemption must be based on income
 | 
|---|
 | 43 |  I IBEXREA'=110,IBEXREA'=120 W !!,"You may only generate a letter for an exemption based on income!",! K IBCHK G REPR
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 |  I '$G(IBCHK),+IBEXD>$$FMADD^XLFDT(DT,-305) W !!,"Please note that this exemption is not due to expire for ",$$FMDIFF^XLFDT(+IBEXD+10000,DT)," days!"
 | 
|---|
 | 46 |  ;
 | 
|---|
 | 47 |  ; check for Cat C or Pending Adj. and has agreed to pay deductible
 | 
|---|
 | 48 |  I $$BIL^DGMTUB(DFN,DT) W !!,"**Please note that this veteran no longer requires a Means Test**"
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 |  ; - okay to print letter?
 | 
|---|
 | 51 |  S DIR(0)="Y",DIR("A")="Okay to print the reminder letter",DIR("?")="To print the income test reminder letter, answer 'YES.'  Otherwise, answer 'NO.'"
 | 
|---|
 | 52 |  W ! D ^DIR K DIR,DIRUT,DTOUT,DUOUT,DIROUT I 'Y G REPRQ
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 |  W !!,"*** Please note that the reminder letter prints in 80 columns. ***",!
 | 
|---|
 | 55 |  S %ZIS="QM" D ^%ZIS G:POP REPRQ
 | 
|---|
 | 56 |  I $D(IO("Q")) D  G REPRQ
 | 
|---|
 | 57 |  .S ZTRTN="DQ^IBARXEL1",ZTDESC="IB - PRINT INCOME TEST REMINDER LETTER"
 | 
|---|
 | 58 |  .F I="IBEX","IBLET" S ZTSAVE(I)=""
 | 
|---|
 | 59 |  .D ^%ZTLOAD K IO("Q") D HOME^%ZIS
 | 
|---|
 | 60 |  .W !!,$S($D(ZTSK):"This job has been queued as task #"_ZTSK_".",1:"Unable to queue this job.")
 | 
|---|
 | 61 |  .K ZTSK,IO("Q")
 | 
|---|
 | 62 |  ;
 | 
|---|
 | 63 |  U IO
 | 
|---|
 | 64 |  ;
 | 
|---|
 | 65 | DQ ; Queued entry point.
 | 
|---|
 | 66 |  D PRINT^IBARXEL
 | 
|---|
 | 67 |  I $D(ZTQUEUED) S ZTREQ="@" Q
 | 
|---|
 | 68 |  ;
 | 
|---|
 | 69 | REPRQ D ^%ZISC
 | 
|---|
 | 70 |  K DFN,IBLET,IBEX,IBEXD,IBEXREA,IBCHK,IBEXPD,IBQUIT,IBDATA,IBNAM,IBALIN
 | 
|---|
 | 71 |  Q
 | 
|---|