1 | IBCEP8A ;ALB/ESG - Functions for provider ID maint ;12/27/2005
|
---|
2 | ;;2.0;INTEGRATED BILLING;**320,349**;21-MAR-94;Build 46
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | Q
|
---|
6 | ;
|
---|
7 | CLIA(IBIFN) ; Default CLIA# for claim
|
---|
8 | NEW CLIA,NONVA,DIV,INST
|
---|
9 | S CLIA="",IBIFN=+$G(IBIFN)
|
---|
10 | S NONVA=+$P($G(^DGCR(399,IBIFN,"U2")),U,10) ; non-VA facility ptr
|
---|
11 | I NONVA S CLIA=$$CLIANVA^IBCEP8(IBIFN) G CLIAX
|
---|
12 | ;
|
---|
13 | ; retrieve the default VA clia# based on claim data
|
---|
14 | S DIV=+$P($G(^DGCR(399,IBIFN,0)),U,22) ; claim's division
|
---|
15 | I 'DIV G CLIAX
|
---|
16 | S INST=+$P($G(^DG(40.8,DIV,0)),U,7) ; inst file pointer
|
---|
17 | I 'INST G CLIAX
|
---|
18 | S CLIA=$$ID^XUAF4("CLIA",INST) ; API for clia#
|
---|
19 | CLIAX ;
|
---|
20 | Q CLIA
|
---|
21 | ;
|
---|
22 | LAB(IBIFN) ; Function determines if LAB type of service is on claim
|
---|
23 | ; Claim must be a CMS-1500 claim form type
|
---|
24 | NEW LAB,LN,IBXDATA
|
---|
25 | S LAB=0
|
---|
26 | I $$FT^IBCEF(IBIFN)'=2 G LABX ;cms-1500 form types only
|
---|
27 | D F^IBCEF("N-HCFA 1500 SERVICES (PRINT)",,,IBIFN)
|
---|
28 | S LN=0
|
---|
29 | F S LN=$O(IBXDATA(LN)) Q:'LN I $P(IBXDATA(LN),U,4)=5 S LAB=1 Q
|
---|
30 | LABX ;
|
---|
31 | Q LAB
|
---|
32 | ;
|
---|
33 | CLIAREQ(IBIFN) ; Function determines if the CLIA# is required for claim
|
---|
34 | ; Return value=1 Yes, the CLIA# is required; otherwise 0.
|
---|
35 | NEW REQ S REQ=0
|
---|
36 | I $$FT^IBCEF(IBIFN)'=2 G CLIAREQX ; cms-1500 claim
|
---|
37 | I '$$LAB(IBIFN) G CLIAREQX ; lab type of service
|
---|
38 | ;
|
---|
39 | ; this is required for VA facility
|
---|
40 | I '$P($G(^DGCR(399,IBIFN,"U2")),U,10) S REQ=1 G CLIAREQX
|
---|
41 | ;
|
---|
42 | ; for non-VA facility, further check non-VA care type
|
---|
43 | ; Codes 1 and 3 are specifically Non-Lab
|
---|
44 | I '$F(".1.3.","."_$P($G(^DGCR(399,IBIFN,"U2")),U,11)_".") S REQ=1
|
---|
45 | CLIAREQX ;
|
---|
46 | Q REQ
|
---|
47 | ;
|
---|
48 | MAMMO(IBIFN,IBMC) ; Function to determine the default mammography certification
|
---|
49 | ; number for the claim
|
---|
50 | ; Array IBMC is returned if passed by reference
|
---|
51 | ; IBMC = # of associated mammo#'s
|
---|
52 | ; IBMC(n) = [1] coding system or "" for Non-VA Facilities
|
---|
53 | ; [2] mammo cert#
|
---|
54 | NEW MAMMO,NONVA,INST,CODSYS,IBMCID,CDSYS
|
---|
55 | S MAMMO="",IBIFN=+$G(IBIFN),IBMC=0
|
---|
56 | S NONVA=+$P($G(^DGCR(399,IBIFN,"U2")),U,10) ; non-VA facility ptr
|
---|
57 | I NONVA D G MAMMOX
|
---|
58 | . S MAMMO=$P($G(^IBA(355.93,NONVA,0)),U,15) Q:MAMMO=""
|
---|
59 | . S IBMC=1,IBMC(1)=""_U_MAMMO
|
---|
60 | . Q
|
---|
61 | ;
|
---|
62 | ; retrieve the default VA mammo# based on claim data
|
---|
63 | S INST=+$$SITE^VASITE() ; inst file pointer
|
---|
64 | I 'INST G MAMMOX
|
---|
65 | ;
|
---|
66 | ; Kernel API from XU*8*394 to get a list of coding systems
|
---|
67 | D LCDSYS^XUAF4(.CDSYS)
|
---|
68 | S CODSYS="MAMMO"
|
---|
69 | F S CODSYS=$O(CDSYS(CODSYS)) Q:$E(CODSYS,1,5)'="MAMMO" D
|
---|
70 | . S IBMCID=$$ID^XUAF4(CODSYS,INST) Q:IBMCID=""
|
---|
71 | . S IBMC=IBMC+1
|
---|
72 | . S IBMC(IBMC)=$P(CODSYS,"-",2)_U_IBMCID
|
---|
73 | . I $P(CODSYS,"-",2)="FDA" S MAMMO=IBMCID ; FDA is default ID#
|
---|
74 | . Q
|
---|
75 | I IBMC,MAMMO="" S MAMMO=$P(IBMC(1),U,2)
|
---|
76 | MAMMOX ;
|
---|
77 | Q MAMMO
|
---|
78 | ;
|
---|
79 | MAMMODP(IBIFN) ; Procedure to display a listing of default mammo cert#'s
|
---|
80 | ; Used during input template on screen 8 for CMS-1500 claims
|
---|
81 | NEW IBMC,IBZ
|
---|
82 | I $$MAMMO(IBIFN,.IBMC)
|
---|
83 | I 'IBMC W !!?3,"No default mammography certification numbers on file.",! G MAMMODPX
|
---|
84 | W !!?3,"The Mammography Certification #" W:IBMC>1 "'s"
|
---|
85 | W " defined for this " W:$P($G(^DGCR(399,IBIFN,"U2")),U,10) "non-"
|
---|
86 | W "VA facility " W:IBMC>1 "are:" W:IBMC'>1 "is:"
|
---|
87 | S IBZ=0
|
---|
88 | F S IBZ=$O(IBMC(IBZ)) Q:'IBZ W !?7,$P(IBMC(IBZ),U,2),?21,$P(IBMC(IBZ),U,1)
|
---|
89 | W !?3,"If you enter a different number it will be sent with this claim only."
|
---|
90 | I $P($G(^DGCR(399,IBIFN,"U2")),U,10) W !?3,"To change the defined Mammography Certification #, use Prov ID Maint."
|
---|
91 | W !
|
---|
92 | MAMMODPX ;
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | XRAY(IBIFN) ; Function determines if X-RAY type of service is on claim
|
---|
96 | ; Claim must be a CMS-1500 claim form type
|
---|
97 | NEW XRAY,LN,IBXDATA
|
---|
98 | S XRAY=0
|
---|
99 | I $$FT^IBCEF(IBIFN)'=2 G XRAYX ;cms-1500 form types only
|
---|
100 | D F^IBCEF("N-HCFA 1500 SERVICES (PRINT)",,,IBIFN)
|
---|
101 | S LN=0
|
---|
102 | F S LN=$O(IBXDATA(LN)) Q:'LN I $P(IBXDATA(LN),U,4)=4 S XRAY=1 Q
|
---|
103 | XRAYX ;
|
---|
104 | Q XRAY
|
---|
105 | ;
|
---|
106 | EIN(IBIFN) ; Function to return the EIN/tax ID for either the VA facility
|
---|
107 | ; or the non-VA facility. Used for SUB-9.
|
---|
108 | NEW ID,IBU2,NONVA
|
---|
109 | S ID="",IBU2=$G(^DGCR(399,IBIFN,"U2"))
|
---|
110 | S NONVA=+$P(IBU2,U,10) ; non-VA facility ptr
|
---|
111 | I NONVA D G EINX
|
---|
112 | . S ID=$P($G(^IBA(355.93,NONVA,0)),U,9) ; ID# from file 355.93
|
---|
113 | . ;
|
---|
114 | . ; if not defined in file 355.93, then use legacy field# 234 in file
|
---|
115 | . ; 399 - non-va care id#. See NONVAID^IBCEF72.
|
---|
116 | . I ID="",$P(IBU2,U,12)'="" S ID=$P(IBU2,U,12)
|
---|
117 | . Q
|
---|
118 | ;
|
---|
119 | ; VA facility
|
---|
120 | S ID=$P($G(^IBE(350.9,1,1)),U,5) ; Federal tax id from site params
|
---|
121 | EINX ;
|
---|
122 | Q ID
|
---|
123 | ;
|
---|
124 | BOX324(IBIFN,IBXSAVE,IBXDATA) ; Procedure which further defines and formats
|
---|
125 | ; form 1500, box 32, line 4.
|
---|
126 | ; *** THIS IS NOT USED FOR THE NEW CMS-1500 CLAIM FORM ***
|
---|
127 | ; This is either the facility Tax ID or it is the mammography
|
---|
128 | ; certification number.
|
---|
129 | ; Input: IBIFN, IBXSAVE array (pass by ref), IBXDATA (pass by ref)
|
---|
130 | ; Output: IBXDATA (pass by ref)
|
---|
131 | ;
|
---|
132 | NEW IBZ
|
---|
133 | ;
|
---|
134 | ; retrieve the mammo# if it exists into variable IBZ
|
---|
135 | D F^IBCEF("N-MAMMOGRAPHY CERT#","IBZ",,IBIFN)
|
---|
136 | ;
|
---|
137 | ; If the claim is for the main VAMC and there is no mammo# then print
|
---|
138 | ; nothing here. See 364.7 iens# 348, 319, 327 for similar
|
---|
139 | I '$G(IBXSAVE("REMOTE")),IBZ="" KILL IBXDATA G BOX32X
|
---|
140 | ;
|
---|
141 | ; If the mammo# exists, then display that
|
---|
142 | I IBZ'="" S IBXDATA="Mammography Cert# "_IBZ G BOX32X
|
---|
143 | ;
|
---|
144 | ; Otherwise, display the facility tax id
|
---|
145 | S IBXDATA="FAC. ID:"_$G(IBXDATA)
|
---|
146 | BOX32X ;
|
---|
147 | KILL IBXSAVE("OFAC"),IBXSAVE("REMOTE") ; cleanup
|
---|
148 | Q
|
---|
149 | ;
|
---|
150 | SUB1OK(IBIFN) ; This function determines if the claim meets the criteria
|
---|
151 | ; for being eligible to output a SUB1 segment which is for professional
|
---|
152 | ; purchased services. Must be CMS-1500, non-VA facility, and Fee Basis.
|
---|
153 | ;
|
---|
154 | NEW OK,IBU2
|
---|
155 | S OK=0,IBU2=$G(^DGCR(399,IBIFN,"U2"))
|
---|
156 | ;
|
---|
157 | I $$FT^IBCEF(IBIFN)'=2 G SX ; must be cms-1500
|
---|
158 | I '$P(IBU2,U,10) G SX ; must be non-VA fac
|
---|
159 | I '$F(".1.2.","."_$P(IBU2,U,11)_".") G SX ; must be FEE services
|
---|
160 | ;
|
---|
161 | S OK=1 ; all checks passed, OK for SUB1 output
|
---|
162 | SX ;
|
---|
163 | Q OK
|
---|
164 | ;
|
---|