| 1 | RCDPRECT ;WISC/RFJ-print a receipt ;1 Jun 99
 | 
|---|
| 2 |  ;;4.5;Accounts Receivable;**114,148,217,244**;Mar 20, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 | RECEIPT(RCRECTDA,RCTRANDA) ;  control printing of receipt for device selection
 | 
|---|
| 8 |  N %,IOP,PRINT
 | 
|---|
| 9 |  S PRINT=$$OPTCK^RCDPRPL2("RECEIPT",2)_"^"_$$OPTCK^RCDPRPL2("RECEIPT",3)
 | 
|---|
| 10 |  ;  if not defined by user, ask for the device
 | 
|---|
| 11 |  I PRINT="" S PRINT=2
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 |  ;  never print receipt
 | 
|---|
| 14 |  I $P(PRINT,"^")=0 Q
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ;  always print receipt to default device
 | 
|---|
| 17 |  I $P(PRINT,"^")=1 D
 | 
|---|
| 18 |  .   ;  test device without opening it
 | 
|---|
| 19 |  .   S IOP=$P(PRINT,"^",2) I IOP="" S PRINT=2 Q
 | 
|---|
| 20 |  .   S %ZIS="N"
 | 
|---|
| 21 |  .   D ^%ZIS I POP S PRINT=2 Q
 | 
|---|
| 22 |  .   D QUEUEIT
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ;  ask to print receipt
 | 
|---|
| 25 |  I $P(PRINT,"^")=2 S %=$$DEVICE
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | DEVICE() ;  select the device and print receipt
 | 
|---|
| 30 |  ;  returns 0 if not successful
 | 
|---|
| 31 |  S %ZIS("A")="Print Receipt on DEVICE: "
 | 
|---|
| 32 |  S %ZIS("B")=$$OPTCK^RCDPRPL2("RECEIPT",3)
 | 
|---|
| 33 |  S %ZIS="Q"
 | 
|---|
| 34 |  W ! D ^%ZIS
 | 
|---|
| 35 |  I POP D ^%ZISC Q 0
 | 
|---|
| 36 |  I $D(IO("Q")) D QUEUEIT Q "Print Receipt Queued"
 | 
|---|
| 37 |  D PRINT
 | 
|---|
| 38 |  Q "Receipt Printed"
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | QUEUEIT ;  queue printing receipt
 | 
|---|
| 42 |  N ZTSK
 | 
|---|
| 43 |  S ZTDTH=$H,ZTDESC="Print Payment Receipt",ZTRTN="PRINT^RCDPRECT"
 | 
|---|
| 44 |  S ZTSAVE("RCRECTDA")="",ZTSAVE("RCTRANDA")="",ZTSAVE("ZTREQ")="@"
 | 
|---|
| 45 |  D ^%ZTLOAD
 | 
|---|
| 46 |  D ^%ZISC
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | PRINT ;  print a receipt
 | 
|---|
| 51 |  ;  requires variables rcrectda and rctranda
 | 
|---|
| 52 |  N %,%H,%I,ADDRESS,DATA,LINE,RCTYPE,X,Y
 | 
|---|
| 53 |  U IO
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 |  ;  print address for station at top
 | 
|---|
| 56 |  S ADDRESS=$$SADD^RCFN01(1)
 | 
|---|
| 57 |  W !?25,"Department Of Veterans Affairs"
 | 
|---|
| 58 |  F %=1,2,3 I $P(ADDRESS,"^",%)'="" W !?((80-$L($P(ADDRESS,"^",%)))/2),$P(ADDRESS,"^",%)
 | 
|---|
| 59 |  S ADDRESS=$P(ADDRESS,"^",4)_", "_$P(ADDRESS,"^",5)_"  "_$P(ADDRESS,"^",6)
 | 
|---|
| 60 |  I $TR(ADDRESS,", ")'="" W !?((80-$L(ADDRESS))/2),ADDRESS
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 |  S LINE="",$P(LINE,"-",80)=""
 | 
|---|
| 63 |  W !,LINE
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 |  S %="*** Payment Receipt ***"
 | 
|---|
| 66 |  W !!?((80-$L(%))/2),%
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 |  ;  account and name
 | 
|---|
| 69 |  S DATA=$G(^RCY(344,RCRECTDA,1,RCTRANDA,0))
 | 
|---|
| 70 |  I $P(DATA,"^",3)'="" D
 | 
|---|
| 71 |  .   W !
 | 
|---|
| 72 |  .   ;  account from patient file
 | 
|---|
| 73 |  .   I $P(DATA,"^",3)[";DPT(" D  Q
 | 
|---|
| 74 |  .   .   W $P($G(^DPT(+$P(DATA,"^",3),0)),"^")
 | 
|---|
| 75 |  .   .   S %=$$SSN^RCFN01($P(DATA,"^",3))
 | 
|---|
| 76 |  .   .   I $E(%,6,9)'="" W " (",$E(%,6,9),")"
 | 
|---|
| 77 |  .   ;
 | 
|---|
| 78 |  .   ;  account from bill file
 | 
|---|
| 79 |  .   W $P($G(^PRCA(430,+$P(DATA,"^",3),0)),"^")
 | 
|---|
| 80 |  .   W "  "
 | 
|---|
| 81 |  .   W $$NAM^RCFN01($P($G(^PRCA(430,+$P(DATA,"^",3),0)),"^",9))
 | 
|---|
| 82 |  .   S %=$$SSN^RCFN01($P($G(^PRCA(430,+$P(DATA,"^",3),0)),"^",9))
 | 
|---|
| 83 |  .   I $E(%,6,9)'="" W " (",$E(%,6,9),")"
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 |  W !,"     Receipt #: ",$P(^RCY(344,RCRECTDA,0),"^"),"/",$P(DATA,"^")
 | 
|---|
| 86 |  D NOW^%DTC S Y=X D DD^%DT
 | 
|---|
| 87 |  W ?53,"Date: ",Y
 | 
|---|
| 88 |  W !,"  Payment Type: ",$P($G(^RC(341.1,+$P(^RCY(344,RCRECTDA,0),"^",4),0)),"^")
 | 
|---|
| 89 |  S Y=$P(DATA,"^",6) I Y D DD^%DT
 | 
|---|
| 90 |  W ?45,"Payment Date: ",Y
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 |  S RCTYPE=$P($G(^RC(341.1,+$P(^RCY(344,RCRECTDA,0),"^",4),0)),"^",2)
 | 
|---|
| 93 |  ;  type = 3 (district counsel), 4 (check), 5 (dept of justice)
 | 
|---|
| 94 |  I RCTYPE=3!(RCTYPE=4)!(RCTYPE=5) D
 | 
|---|
| 95 |  .   W !,"       Check #: ",$P(DATA,"^",7)
 | 
|---|
| 96 |  .   S Y=$P(DATA,"^",10) I Y D DD^%DT
 | 
|---|
| 97 |  .   W ?47,"Check Date: ",Y
 | 
|---|
| 98 |  .   W !,"        Bank #: ",$P(DATA,"^",8)
 | 
|---|
| 99 |  ;
 | 
|---|
| 100 |  ;  type = 7 (credit card)
 | 
|---|
| 101 |  I RCTYPE=7 D
 | 
|---|
| 102 |  .   W !," Last 4 of Credit Card #: ",$E($P(DATA,"^",11),$L($P(DATA,"^",11))-3,$L($P(DATA,"^",11)))
 | 
|---|
| 103 |  .   W !," Confirmation#: ",$P(DATA,"^",2)
 | 
|---|
| 104 |  ;
 | 
|---|
| 105 |  W !,"Payment Amount: $ ",$J($P(DATA,"^",4),0,2)
 | 
|---|
| 106 |  W ?42,"Account Balance: $ ",$J($$BAL^PRCAFN($S($P(DATA,"^",3)[";PRCA(430":$P(^PRCA(430,+$P(DATA,"^",3),0),"^",9),1:$P(DATA,"^",3))),0,2)
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 |  W !!,"IMPORTANT"
 | 
|---|
| 109 |  W !!,"Note that checks or drafts are not valid until paid by your bank."
 | 
|---|
| 110 |  W !!,"This receipt should be retained for your records."
 | 
|---|
| 111 |  W !,"A detailed listing of how your payment has been applied to your"
 | 
|---|
| 112 |  W !,"account will be provided on your patient statement, which you"
 | 
|---|
| 113 |  W !,"will receive in the mail at a later date."
 | 
|---|
| 114 |  W !!,LINE
 | 
|---|
| 115 |  D ^%ZISC
 | 
|---|
| 116 |  Q
 | 
|---|