1 | RCXVDC3 ;DAOU/ALA-AR Data Extraction Data Creation ; 23 Jul 2007 10:32 AM
|
---|
2 | ;;4.5;Accounts Receivable;**201,227,228,232,248,251**;Mar 20, 1995;Build 21
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ; CLAIMS (# 399)
|
---|
6 | Q
|
---|
7 | D399 ;
|
---|
8 | NEW RCXVD,RCXVBC,RCXVDT,RCXVD1,RCXVD2,RCXVD3
|
---|
9 | NEW RCXVD4,RCXVD5,RCXVD6,RCXVD7,RCXVDA,RCXVDB,RCXVDC,RCXVDD
|
---|
10 | NEW RCXVP1,RCXVP2,RCXVD0C,RCXVP3,RCXVP4,RCXVP5,RCXVCFL,RCXVPAY
|
---|
11 | NEW RCXVINS,RCXVVAN,RCXVDRG,RCXVCAN,RCXVSNR,IBD,X1,X2,RCXVNPI
|
---|
12 | ;
|
---|
13 | I $P(RCXVBLNA,"-",2)="" Q
|
---|
14 | S RCXVD0=$O(^DGCR(399,"B",$P(RCXVBLNA,"-",2),""))
|
---|
15 | I RCXVD0="" Q
|
---|
16 | S RCXVD1=$G(^DGCR(399,RCXVD0,0))
|
---|
17 | I $G(DFN)="" S DFN=$P(RCXVD1,U,2)
|
---|
18 | S RCXVD2=$G(^DGCR(399,RCXVD0,"S"))
|
---|
19 | S RCXVD3=$G(^DGCR(399,RCXVD0,"U"))
|
---|
20 | S RCXVD7=$G(^DGCR(399,RCXVD0,"TX"))
|
---|
21 | S RCXVDA=$P(RCXVD1,U,1) ; BILL #
|
---|
22 | S (RCXVEVDT,RCXVDT)=$P($P(RCXVD1,U,3),".",1)
|
---|
23 | ;S RCXVDA=RCXVBLNB_RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; EVNT DT
|
---|
24 | S RCXVDA=RCXVBLNA_RCXVU_$P(^DPT(DFN,0),U,9) ; SSN
|
---|
25 | S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; EVNT DT
|
---|
26 | S RCXVDA=RCXVDA_RCXVU_$P(RCXVD1,U,5) ; BILL CLASS
|
---|
27 | S RCXVP1=$P(RCXVD1,U,7),RCXVP2=""
|
---|
28 | I RCXVP1'="" S RCXVP2=$P($G(^DGCR(399.3,RCXVP1,0)),U,1)
|
---|
29 | S RCXVDA=RCXVDA_RCXVU_RCXVP2 ; RATE TYPE (P)
|
---|
30 | S RCXVP1=$P(RCXVD2,U,11),RCXVP2=""
|
---|
31 | I RCXVP1'="" S RCXVP2=$P($G(^VA(200,RCXVP1,2,0)),U,1)_RCXVP1 ; SITE_IEN
|
---|
32 | S RCXVDA=RCXVDA_RCXVU_RCXVSITE_RCXVP2 ; Authorizer (P)
|
---|
33 | S RCXVDA=RCXVDA_RCXVU_$P(RCXVD1,U,13) ; Stat
|
---|
34 | S RCXVDT=$P(RCXVD1,U,14)
|
---|
35 | S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; Stat DT
|
---|
36 | S RCXVP1=$P(RCXVD1,U,22),RCXVP2="",RCXVNPI=""
|
---|
37 | I RCXVP1'="" S RCXVP2=$$GET1^DIQ(40.8,RCXVP1,1) ;$P($G(^DG(40.8,RCXVP1,0)),U,2)
|
---|
38 | S:$G(RCXVP1)'="" RCXVNPI=$P($$NPI^XUSNPI("Organization_ID",$$GET1^DIQ(40.8,RCXVP1,.07,"I")),RCXVU,1) S:+RCXVNPI<1 RCXVNPI="" ;Default Division NPI
|
---|
39 | S RCXVDA=RCXVDA_RCXVU_RCXVP2_RCXVU_RCXVNPI ; Default division^Default division NPI
|
---|
40 | S RCXVDA=RCXVDA_RCXVU_$P(RCXVD1,U,24) ; UB92 Location
|
---|
41 | S RCXVDA=RCXVDA_RCXVU_$P(RCXVD1,U,27) ; Bill Chrg type
|
---|
42 | S RCXVDT=$P(RCXVD2,U,10)
|
---|
43 | S RCXVDB=$E($$HLDATE^HLFNC(RCXVDT),1,8) ; Auth. DT
|
---|
44 | S RCXVDT=$P(RCXVD2,U,12)
|
---|
45 | S RCXVDB=RCXVDB_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; DT 1st printed
|
---|
46 | S (RCXVP1,RCXVD0C)=$P($G(^DGCR(399,RCXVD0,"M")),U,1),RCXVP2=""
|
---|
47 | I RCXVP1'="" S RCXVP2=$P($G(^DIC(36,RCXVP1,0)),U,1)
|
---|
48 | S RCXVDB=RCXVDB_RCXVU_RCXVP2 ; PRIM. INSR (P)
|
---|
49 | ;
|
---|
50 | ; Type of Plan
|
---|
51 | S RCXVP2="",RCXVI=0,RCXVP3="",RCXVP4="",RCXVP5=""
|
---|
52 | S IBD=$$IBAREXT^IBRFN4(RCXVD0,.IBD)
|
---|
53 | S RCXVP2=$P(IBD("IN"),U),RCXVP5=$P(IBD("IN"),U,2),RCXVP3=$P(IBD("IN"),U,3),RCXVP4=$P(IBD("IN"),U,4)
|
---|
54 | S RCXVDB=RCXVDB_RCXVU_RCXVP2_RCXVU_RCXVP5_RCXVU_RCXVP3_RCXVU_RCXVP4,RCXVD5="",RCXVD6=""
|
---|
55 | ;
|
---|
56 | ; 36, 36.3 ADDRESS/EDI
|
---|
57 | I RCXVD0C S RCXVD5=$G(^DIC(36,RCXVD0C,.11))
|
---|
58 | S RCXVDB=RCXVDB_RCXVU_$P(RCXVD5,U,1) ; STRT ADD 1
|
---|
59 | S RCXVDB=RCXVDB_RCXVU_$P(RCXVD5,U,2) ; STRT ADD 2
|
---|
60 | S RCXVDB=RCXVDB_RCXVU_$P(RCXVD5,U,4) ; CITY
|
---|
61 | S RCXVP1=$P(RCXVD5,U,5),RCXVP2=""
|
---|
62 | I RCXVP1'="" S RCXVP2=$P($G(^DIC(5,RCXVP1,0)),U,1)
|
---|
63 | S RCXVDB=RCXVDB_RCXVU_RCXVP2 ; STATE (P)
|
---|
64 | S RCXVDB=RCXVDB_RCXVU_$P(RCXVD5,U,6) ; ZIP
|
---|
65 | I RCXVD0C'="" S RCXVD6=$G(^DIC(36,RCXVD0C,3))
|
---|
66 | S RCXVDB=RCXVDB_RCXVU_$P(RCXVD6,U,2) ; EDI - PROF
|
---|
67 | S RCXVDB=RCXVDB_RCXVU_$P(RCXVD6,U,4) ; EDI - INST
|
---|
68 | S RCXVDB=RCXVDB_RCXVU_$$GET1^DIQ(36,RCXVD0C_",",1,"I") ; REIMBURSE?
|
---|
69 | ;
|
---|
70 | S RCXVPFDT=$P(RCXVD3,U,1)
|
---|
71 | S RCXVDC=$$HLDATE^HLFNC(RCXVPFDT) ; STMT COVERS FROM
|
---|
72 | S RCXVPTDT=$P(RCXVD3,U,2)
|
---|
73 | S RCXVDC=RCXVDC_RCXVU_$$HLDATE^HLFNC(RCXVPTDT) ; STMT COVERS TO
|
---|
74 | S RCXVP1=$P(RCXVD3,U,11),RCXVP2=""
|
---|
75 | I RCXVP1'="" S RCXVP2=$P($G(^DGCR(399.1,RCXVP1,0)),U,1)
|
---|
76 | S RCXVDC=RCXVDC_RCXVU_RCXVP2 ; DISCH. BED SEC.
|
---|
77 | S RCXVD4=$G(^DGCR(399,RCXVD0,"U1"))
|
---|
78 | S RCXVDC=RCXVDC_RCXVU_$P(RCXVD4,U,1) ; TOT CHRG
|
---|
79 | ;
|
---|
80 | S RCXVP1=$P($G(^DGCR(399,RCXVD0,"U2")),U,10),RCXVP2="",RCXVNPI=""
|
---|
81 | I RCXVP1'="" S RCXVP2=$P($G(^IBA(355.93,RCXVP1,0)),U,1)
|
---|
82 | S:$G(RCXVP2)'="" RCXVNPI=$P($$NPI^XUSNPI("Non_VA_Provider_ID",RCXVP1),RCXVU,1) S:+RCXVNPI<1 RCXVNPI=""
|
---|
83 | I RCXVNPI="",$G(RCXVP2)'="" S RCXVNPI=$$GET1^DIQ(355.93,RCXVP1,41.01,"I") ;This line is used if the XUSNPI API does not work
|
---|
84 | S RCXVDC=RCXVDC_RCXVU_RCXVP2_RCXVU_RCXVNPI ; NON VA FAC (P)^NON VA FAC NPI
|
---|
85 | ;
|
---|
86 | ; Get VACARE or NONVACARE flag
|
---|
87 | NEW RCXVIEN
|
---|
88 | D CARE^RCXVUTIL(RCXVD0)
|
---|
89 | S RCXVDC=RCXVDC_RCXVU_$S(RCXVCFL=1:"VACARE",1:"NONVACARE")
|
---|
90 | ; MRA data
|
---|
91 | S RCXVDT=$P(IBD,U,2)
|
---|
92 | S RCXVDD=$E($$HLDATE^HLFNC(RCXVDT),1,8) ; MRA Requested DT
|
---|
93 | S RCXVDT=$P(IBD,U,3)
|
---|
94 | S RCXVDD=RCXVDD_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ;Last Electronic Extract Date
|
---|
95 | S RCXVDD=RCXVDD_RCXVU_$P(IBD,U,4) ;Printed VIA EDI
|
---|
96 | S RCXVDD=RCXVDD_RCXVU_$P(IBD,U,5) ;Force Claim To Print
|
---|
97 | S RCXVDD=RCXVDD_RCXVU_$P(IBD,U,6) ;Claim MRA Status
|
---|
98 | S RCXVDT=$P(IBD,U,7)
|
---|
99 | S RCXVDD=RCXVDD_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ;MRA Recorded Date
|
---|
100 | S RCXVDT=$P(IBD,U,8)
|
---|
101 | S RCXVDD=RCXVDD_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ;Date Cancelled
|
---|
102 | S RCXVDD=RCXVDD_RCXVU_$P(IBD,U,9) ;Form Type
|
---|
103 | S RCXVDD=RCXVDD_RCXVU_$P(IBD,U,16)_RCXVU_$P(IBD,U,15) ;PAYER&VA NAT.ID #
|
---|
104 | S RCXVDRG=$P(IBD,U,11)
|
---|
105 | S RCXVDD=RCXVDD_RCXVU_RCXVDRG ;DRG
|
---|
106 | S RCXVSNR=$P(IBD,U,14) ;Days site not responsible for MRA request
|
---|
107 | S RCXVDD=RCXVDD_RCXVU_RCXVSNR
|
---|
108 | S RCXVDD=RCXVDD_RCXVU_$P($P(IBD,U,12),";") ;ECME #
|
---|
109 | S RCXVDD=RCXVDD_RCXVU_$P(IBD,U,17) ;Offset Amount
|
---|
110 | S ^TMP($J,RCXVBLN,"3-399A")=RCXVDA
|
---|
111 | S ^TMP($J,RCXVBLN,"3-399B")=RCXVDB
|
---|
112 | S ^TMP($J,RCXVBLN,"3-399C")=RCXVDC
|
---|
113 | S ^TMP($J,RCXVBLN,"3-399D")=RCXVDD
|
---|
114 | Q
|
---|
115 | ;
|
---|
116 | REJ() ;Checks for reject on a claim
|
---|
117 | S X="NO"
|
---|
118 | S X1=$P(RCXVD1,U,15) S D0=RCXVD0
|
---|
119 | F D G REJQ:'D0
|
---|
120 | . S I=0 F S I=$O(^IBM(361,"B",D0,I)) Q:'I D Q:'D0
|
---|
121 | ..S X2=$P($G(^IBM(361,I,0)),U,3)
|
---|
122 | ..I X2="R" S X="YES",D0=""
|
---|
123 | ..Q
|
---|
124 | .I X="YES" Q
|
---|
125 | .I X1=D0 S D0="" Q
|
---|
126 | .S D0=X1 Q:'D0 S X1=$P($G(^DGCR(399,X1,0)),U,15)
|
---|
127 | .Q
|
---|
128 | K I
|
---|
129 | REJQ Q X
|
---|
130 | ;
|
---|