source: WorldVistAEHR/trunk/r/ACCOUNTS_RECEIVABLE-PRCA-PRY-RC/RCDMBWLR.m@ 862

Last change on this file since 862 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 7.8 KB
RevLine 
[613]1RCDMBWLR ;WISC/RFJ-diagnostic measures workload report (build it) ;1 Jan 01
2 ;;4.5;Accounts Receivable;**167**;Mar 20, 1995
3 ;;Per VHA Directive 10-93-142, this routine should not be modified.
4 Q
5 ;
6 ;
7DQ ; called by nightly background job
8 ;
9 N RCASSIGN,RCBALANC,RCBILLDA,RCCLERK,RCDATA0,RCDATA1,RCDATA2,RCDATA7,RCDATA6
10 N RCDEBT,RCDEBTDA,RCDPDATA,RCFDEATH,RCIFDESC,RCIFSTAT,RCNAME,RCSSN,RCRC
11 K ^TMP("RCDMBWLR",$J)
12 ;
13 ; loop all workload assignments and generate logic to screen bills
14 S RCWLFLG=0
15 S RCCLERK=0 F S RCCLERK=$O(^IBE(351.73,RCCLERK)) Q:'RCCLERK D
16 . S RCASSIGN=0 F S RCASSIGN=$O(^IBE(351.73,RCCLERK,1,RCASSIGN)) Q:'RCASSIGN D I RCIFSTAT'="" D BUILDIF^RCDMBWLA S RCWLFLG=1
17 . . ;
18 . . S RCIFSTAT=""
19 . . S RCIFDESC=""
20 . . ;
21 . . ;
22 . . ; screen on all bills by category or minimum balance
23 . . S RCDATA0=$G(^IBE(351.73,RCCLERK,1,RCASSIGN,0))
24 . . I $P(RCDATA0,"^",2)!($P(RCDATA0,"^",3)) D
25 . . . ; screen on category
26 . . . I $P(RCDATA0,"^",2) D
27 . . . . S RCIFSTAT="I $P(RCDATA0,U,2)="_$P(RCDATA0,"^",2)_" "
28 . . . . S RCIFDESC="[CATEGORY equals "_$P($G(^PRCA(430.2,+$P(RCDATA0,"^",2),0)),"^")_"]"
29 . . . ; screen on minimum bill balance
30 . . . I $P(RCDATA0,"^",3) D
31 . . . . S RCIFSTAT=RCIFSTAT_"I RCBALANC>"_($P(RCDATA0,"^",3)-.01)_" "
32 . . . . I RCIFDESC'="" S RCIFDESC=RCIFDESC_" AND "
33 . . . . S RCIFDESC=RCIFDESC_"[MINIMUM BILL BALANCE greater than "_$J($P(RCDATA0,"^",3)-.01,0,2)_"]"
34 . . . I $P(RCDATA0,"^",5) D
35 . . . . S RCIFSTAT=RCIFSTAT_"I 'RCRC "
36 . . . . S RCIFDESC=RCIFDESC_"[EXCLUDE REGIONAL COUNSEL RECEIVABLES]"
37 . . ;
38 . . ;
39 . . ; screen on bill by first party
40 . . S RCDATA1=$G(^IBE(351.73,RCCLERK,1,RCASSIGN,1))
41 . . I $TR(RCDATA1,"^")'="" D Q
42 . . . ;
43 . . . ; screen on first party
44 . . . S RCIFSTAT=RCIFSTAT_"I RCDEBT[""DPT("" "
45 . . . ;
46 . . . ; screen on days since last payment
47 . . . I $P(RCDATA1,"^") D
48 . . . . S RCIFSTAT=RCIFSTAT_"I $$PAYDAYS^RCDMBWLA(RCBILLDA)>"_$P(RCDATA1,"^")_" "
49 . . . . S RCIFDESC=RCIFDESC_"[DAYS SINCE LAST PAYMENT greater than "_$P(RCDATA1,"^")_"]"
50 . . . ;
51 . . . ; screen on first patient name last patient name
52 . . . I $P(RCDATA1,"^",2)'=""!($P(RCDATA1,"^",3)'="") D Q
53 . . . . ; if first patient name is null, set to @ char (before A)
54 . . . . I $P(RCDATA1,"^",2)="" S $P(RCDATA1,"^",2)=$C(64)
55 . . . . ; if last patient name is null, set to / char (after Z)
56 . . . . I $P(RCDATA1,"^",3)="" S $P(RCDATA1,"^",3)=$C(92)
57 . . . . ;
58 . . . . S RCIFSTAT=RCIFSTAT_"I RCNAME]"_$C(34)_$P(RCDATA1,"^",2)_$C(34)_",RCNAME']"_$C(34)_$P(RCDATA1,"^",3)_$C(34)_" "
59 . . . . ;
60 . . . . ; if first patient name is null, set variable for description
61 . . . . I $P(RCDATA1,"^",2)=$C(64) S $P(RCDATA1,"^",2)="<first>"
62 . . . . ; if last patient name is null, set variable for desctription
63 . . . . I $P(RCDATA1,"^",3)=$C(92) S $P(RCDATA1,"^",3)="<last>"
64 . . . . S RCIFDESC=RCIFDESC_"[PATIENT NAME is after "_$P(RCDATA1,"^",2)_" and before "_$P(RCDATA1,"^",3)_"]"
65 . . . ;
66 . . . ; screen on social security number
67 . . . I $P(RCDATA1,"^",4)'=""!($P(RCDATA1,"^",5)'="") D Q
68 . . . . ; if first ssn is null, set starting point
69 . . . . I $P(RCDATA1,"^",4)="" S $P(RCDATA1,"^",4)="0000"
70 . . . . ; if last ssn is null, set ending point
71 . . . . I $P(RCDATA1,"^",5)="" S $P(RCDATA1,"^",5)="9999"
72 . . . . ;
73 . . . . S RCIFSTAT=RCIFSTAT_"I RCSSN]"_$C(34)_$P(RCDATA1,"^",4)_$C(34)_",RCSSN']"_$C(34)_$P(RCDATA1,"^",5)_$C(34)
74 . . . . ;
75 . . . . ; if first ssn is null, set variable for description
76 . . . . I $P(RCDATA1,"^",4)="0000" S $P(RCDATA1,"^",4)="<first>"
77 . . . . ; if last ssn is null, set variable for desctription
78 . . . . I $P(RCDATA1,"^",5)="9999" S $P(RCDATA1,"^",5)="<last>"
79 . . . . S RCIFDESC=RCIFDESC_"[PATIENT SSN is after "_$P(RCDATA1,"^",4)_" and before "_$P(RCDATA1,"^",5)_"]"
80 . . ;
81 . . ;
82 . . ; screen on bills by third party
83 . . S RCDATA2=$G(^IBE(351.73,RCCLERK,1,RCASSIGN,2))
84 . . I $TR(RCDATA2,"^")'="" D Q
85 . . . ; screen on third party
86 . . . S RCIFSTAT=RCIFSTAT_"I RCDEBT[""DIC(36"" "
87 . . . ; screen on days since transaction days
88 . . . I $P(RCDATA2,"^") D
89 . . . . S RCIFSTAT=RCIFSTAT_"I $$TRANDAYS^RCDMBWLA(RCBILLDA)>"_$P(RCDATA2,"^")_" "
90 . . . . S RCIFDESC=RCIFDESC_"[DAYS SINCE LAST TRANSACTION greater than "_$P(RCDATA2,"^")_"]"
91 . . . ; screen on receivable type
92 . . . D RECTYP^RCDMBWLA
93 . . . ; screen on first insurance name and last insurance name
94 . . . I $P(RCDATA2,"^",2)'=""!($P(RCDATA2,"^",3)'="") D
95 . . . . ; if first insurance name is null, set to @ char (before A)
96 . . . . I $P(RCDATA2,"^",2)="" S $P(RCDATA2,"^",2)=$C(64)
97 . . . . ; if last insurance name is null, set to \ char (after Z)
98 . . . . I $P(RCDATA2,"^",3)="" S $P(RCDATA2,"^",3)=$C(92)
99 . . . . ;
100 . . . . S RCIFSTAT=RCIFSTAT_"I RCNAME]"_$C(34)_$P(RCDATA2,"^",2)_$C(34)_",RCNAME']"_$C(34)_$P(RCDATA2,"^",3)_$C(34)_" "
101 . . . . ;
102 . . . . ; if first insurance company name is null, set variable for description
103 . . . . I $P(RCDATA2,"^",2)=$C(64) S $P(RCDATA2,"^",2)="<first>"
104 . . . . ; if last insurance company name is null, set variable for desctription
105 . . . . I $P(RCDATA2,"^",3)=$C(92) S $P(RCDATA2,"^",3)="<last>"
106 . . . . S RCIFDESC=RCIFDESC_"[INSURANCE COMPANY NAME is after "_$P(RCDATA2,"^",2)_" and before "_$P(RCDATA2,"^",3)_"]"
107 . . . ;
108 . . . ; screen on first patient name last patient name
109 . . . I $P(RCDATA2,"^",4)'=""!($P(RCDATA2,"^",5)'="") D Q
110 . . . . ; if first patient name is null, set to @ char (before A)
111 . . . . I $P(RCDATA2,"^",4)="" S $P(RCDATA2,"^",4)=$C(64)
112 . . . . ; if last patient name is null, set to / char (after Z)
113 . . . . I $P(RCDATA2,"^",5)="" S $P(RCDATA2,"^",5)=$C(92)
114 . . . . ;
115 . . . . S RCIFSTAT=RCIFSTAT_"I RCPTNAM]"_$C(34)_$P(RCDATA2,"^",4)_$C(34)_",RCPTNAM']"_$C(34)_$P(RCDATA2,"^",5)_$C(34)_" "
116 . . . . ;
117 . . . . ; if first patient name is null, set variable for description
118 . . . . I $P(RCDATA2,"^",4)=$C(64) S $P(RCDATA2,"^",4)="<first>"
119 . . . . ; if last patient name is null, set variable for description
120 . . . . I $P(RCDATA2,"^",5)=$C(92) S $P(RCDATA2,"^",5)="<last>"
121 . . . . S RCIFDESC=RCIFDESC_"[PATIENT NAME is after "_$P(RCDATA2,"^",4)_" and before "_$P(RCDATA2,"^",5)_"]"
122 . . . ;
123 . . . ; screen on social security number
124 . . . I $P(RCDATA2,"^",6)'=""!($P(RCDATA2,"^",7)'="") D Q
125 . . . . ; if first ssn is null, set starting point
126 . . . . I $P(RCDATA2,"^",6)="" S $P(RCDATA2,"^",6)="0000"
127 . . . . ; if last ssn is null, set ending point
128 . . . . I $P(RCDATA2,"^",7)="" S $P(RCDATA2,"^",7)="9999"
129 . . . . ;
130 . . . . S RCIFSTAT=RCIFSTAT_"I RCSSN]"_$C(34)_$P(RCDATA2,"^",6)_$C(34)_",RCSSN']"_$C(34)_$P(RCDATA2,"^",7)_$C(34)
131 . . . . ;
132 . . . . ; if first ssn is null, set variable for description
133 . . . . I $P(RCDATA2,"^",6)="0000" S $P(RCDATA2,"^",6)="<first>"
134 . . . . ; if last ssn is null, set variable for desctription
135 . . . . I $P(RCDATA2,"^",7)="9999" S $P(RCDATA2,"^",7)="<last>"
136 . . . . S RCIFDESC=RCIFDESC_"[PATIENT SSN is after "_$P(RCDATA2,"^",6)_" and before "_$P(RCDATA2,"^",7)_"]"
137 . . . ;
138 . . ;
139 . . ; clerk has no assignment, quit
140 . . Q
141 ;
142 ;
143 I RCWLFLG D LOOP^RCDMBWLA
144 ;
145 I RCWLFLG D REPORT^RCDMBWL1
146 ;
147 K ^TMP("RCDMBWLR",$J),RCWLFLG
148 Q
149 ;
Note: See TracBrowser for help on using the repository browser.