1 | RCDPAPLM ;WISC/RFJ-account profile top list manager routine ;1 Jun 99
|
---|
2 | ;;4.5;Accounts Receivable;**114**;Mar 20, 1995
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | N RCDPFXIT
|
---|
6 | ;
|
---|
7 | ACCTPROF ; this entry point called by link payment to prevent newing
|
---|
8 | ; the fast exit variable RCDPFXIT
|
---|
9 | N RCDEBTDA
|
---|
10 | ;
|
---|
11 | ; check to see if user has any selected status's to display,
|
---|
12 | ; if not, set up the default status's
|
---|
13 | I $G(^DISV(DUZ,"RCDPAPLM","STATUS"))="" D DEFAULT^RCDPAPST
|
---|
14 | ;
|
---|
15 | F D Q:'RCDEBTDA
|
---|
16 | . W !! S RCDEBTDA=$$SELACCT
|
---|
17 | . I RCDEBTDA<1 S RCDEBTDA=0 Q
|
---|
18 | . D EN^VALM("RCDP ACCOUNT PROFILE")
|
---|
19 | . ; fast exit
|
---|
20 | . I $G(RCDPFXIT) S RCDEBTDA=0
|
---|
21 | Q
|
---|
22 | ;
|
---|
23 | ;
|
---|
24 | INIT ; initialization for list manager list
|
---|
25 | D INIT^RCDPAPLI
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | ;
|
---|
29 | DIQ340(DA,DR) ; diq call to retrieve data for dr fields in file 340
|
---|
30 | N D0,DIC,DIQ,DIQ2
|
---|
31 | K RCDPDATA(340,DA)
|
---|
32 | S DIQ(0)="IE",DIC="^RCD(340,",DIQ="RCDPDATA" D EN^DIQ1
|
---|
33 | Q
|
---|
34 | ;
|
---|
35 | ;
|
---|
36 | HDR ; header code for list manager display
|
---|
37 | I '$G(RCDEBTDA) S VALMHDR(1)="ACCOUNT NOT selected.",VALMHDR(2)="",VALMHDR(3)="" Q
|
---|
38 | ;
|
---|
39 | N DATA,IBRX,RCSPACE
|
---|
40 | S DATA=$$ACCNTHDR(RCDEBTDA)
|
---|
41 | ;
|
---|
42 | S RCSPACE="",$P(RCSPACE," ",81)=""
|
---|
43 | S VALMHDR(1)=$E("Account: "_$P(DATA,"^")_$P(DATA,"^",2)_RCSPACE,1,62)_$P(DATA,"^",3)
|
---|
44 | S VALMHDR(2)=$E(" Addr: "_$P(DATA,"^",4)_", "_$P(DATA,"^",7)_", "_$P(DATA,"^",8)_" "_$P(DATA,"^",9)_RCSPACE,1,58)_" Phone: "_$P(DATA,"^",10)
|
---|
45 | ;
|
---|
46 | S VALMHDR(3)=RCSPACE
|
---|
47 | I $P($G(^RCD(340,+RCDEBTDA,0)),"^")["DPT(" D
|
---|
48 | . S IBRX=$$RXST^IBARXEU(+$P($G(^RCD(340,+RCDEBTDA,0)),"^"),DT)
|
---|
49 | . S VALMHDR(3)=" RX Copay Exempt: "_$S($P(IBRX,"^")=1:"YES",$P(IBRX,"^")=0:"NO",1:"N/A")_RCSPACE
|
---|
50 | . I $P(IBRX,U)=1 D
|
---|
51 | . . N DIC,X,Y
|
---|
52 | . . S DIC="^IBE(354.2,",DIC(0)="M",X=+$P(IBRX,"^",3)
|
---|
53 | . . D ^DIC
|
---|
54 | . . I Y>0 S VALMHDR(3)=$E(VALMHDR(3),1,25)_"("_$P(Y,"^",2)_")"_RCSPACE
|
---|
55 | S VALMHDR(3)=$E(VALMHDR(3),1,80)
|
---|
56 | ;
|
---|
57 | S VALMHDR(4)=RCSPACE
|
---|
58 | I $G(RCTOTAL(1))="" S VALMHDR(4)=" ACCOUNT BALANCE: Unknown"
|
---|
59 | I $G(RCTOTAL(1))'="" D
|
---|
60 | . S VALMHDR(4)=" ACCOUNT BALANCE: "_$J($G(RCTOTAL(1))+$G(RCTOTAL(2))+$G(RCTOTAL(3))-$G(RCTOTAL("PP")),0,2)
|
---|
61 | . S VALMHDR(4)=VALMHDR(4)_" Pending Payments: "_$J($G(RCTOTAL("PP")),0,2)
|
---|
62 | I $O(^RCD(340,RCDEBTDA,2,0)) S VALMHDR(4)=$E($G(VALMHDR(4))_" ",1,72)_"COMMENT"
|
---|
63 | ;
|
---|
64 | ; highlight account balance
|
---|
65 | S VALMHDR(4)=IORVON_$E(VALMHDR(4),1,30)_IORVOFF_$E(VALMHDR(4),31,80)
|
---|
66 | Q
|
---|
67 | ;
|
---|
68 | ;
|
---|
69 | EXIT ; exit list manager option and clean up
|
---|
70 | K ^TMP("RCDPAPLM",$J),^TMP("RCDPAPLMX",$J)
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | ;
|
---|
74 | SELACCT() ; select an account (debtor)
|
---|
75 | ; returns -1 for timeout or ^, 0 for no selection, or ien of account
|
---|
76 | N %,%Y,A1,C,DIC,DIYS,DTOUT,DUOUT,RCRJFLAG,X,Y
|
---|
77 | F D Q:$G(RCRJFLAG)
|
---|
78 | . R !!,"Select ACCOUNT or BILL NUMBER: ",X:DTIME
|
---|
79 | . I '$T S Y=-1,DTOUT=1,RCRJFLAG=1 Q
|
---|
80 | . I X["^" S Y=-1,DUOUT=1,RCRJFLAG=1 Q
|
---|
81 | . I X="" S Y=0,RCRJFLAG=1 Q
|
---|
82 | . ;
|
---|
83 | . ; lookup bill
|
---|
84 | . S Y=$O(^PRCA(430,"B",X,0)) I 'Y S Y=$O(^PRCA(430,"D",X,0))
|
---|
85 | . I Y,$P($G(^PRCA(430,Y,0)),"^",9) S Y=$P(^(0),"^",9),^DISV(DUZ,"^PRCA(430,")=Y,RCRJFLAG=1 Q
|
---|
86 | . ;
|
---|
87 | . ; lookup account
|
---|
88 | . S DIC="^RCD(340,",DIC(0)="E"
|
---|
89 | . D ^DIC
|
---|
90 | . I Y'<0 S RCRJFLAG=1
|
---|
91 | I Y<0,'$G(DUOUT),'$G(DTOUT) S Y=0
|
---|
92 | Q +Y
|
---|
93 | ;
|
---|
94 | ;
|
---|
95 | ACCNTHDR(RCDEBTDA) ; return account data (for headings)
|
---|
96 | I '$G(RCDEBTDA) Q ""
|
---|
97 | ;
|
---|
98 | N ADDRESS,DOB,RCDPDATA,SSN,Y
|
---|
99 | D DIQ340(RCDEBTDA,.01)
|
---|
100 | ;
|
---|
101 | ; get SSN and DOB if applicable
|
---|
102 | S SSN="",DOB=""
|
---|
103 | I RCDPDATA(340,RCDEBTDA,.01,"I")["DPT" D
|
---|
104 | . S SSN="("_$P($G(^DPT(+RCDPDATA(340,RCDEBTDA,.01,"I"),0)),"^",9)_")"
|
---|
105 | . S Y=$P($G(^DPT(+RCDPDATA(340,RCDEBTDA,.01,"I"),0)),"^",3) I Y D DD^%DT
|
---|
106 | . S DOB="DOB: "_Y
|
---|
107 | I RCDPDATA(340,RCDEBTDA,.01,"I")["VA(" D
|
---|
108 | . S SSN="("_$P($G(^VA(200,+RCDPDATA(340,RCDEBTDA,.01,"I"),0)),"^",9)_")"
|
---|
109 | . S Y=$P($G(^VA(200,+RCDPDATA(340,RCDEBTDA,.01,"I"),1)),"^",3) I Y D DD^%DT
|
---|
110 | . S DOB="DOB: "_Y
|
---|
111 | ;
|
---|
112 | S ADDRESS=$$DADD^RCAMADD(RCDPDATA(340,RCDEBTDA,.01,"I"))
|
---|
113 | I $P(ADDRESS,"^")="" S $P(ADDRESS,"^")="NO STREET"
|
---|
114 | I $P(ADDRESS,"^",4)="" S $P(ADDRESS,"^",4)="NO CITY"
|
---|
115 | I $P(ADDRESS,"^",5)="" S $P(ADDRESS,"^",5)="NO STATE"
|
---|
116 | I $P(ADDRESS,"^",6)="" S $P(ADDRESS,"^",6)="NO ZIP"
|
---|
117 | ;
|
---|
118 | ; account name ^ ssn ^ dob ^ street1 ^ street2 ^ street3 ^ city
|
---|
119 | ; ^ state ^ zip ^ phone
|
---|
120 | Q RCDPDATA(340,RCDEBTDA,.01,"E")_"^"_SSN_"^"_DOB_"^"_ADDRESS
|
---|