1 | IBCNERPB ;DAOU/RO - IIV PAYER LINK REPORT ;AUG-2003
|
---|
2 | ;;2.0;INTEGRATED BILLING;**184,252,271**;21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ; IIV - Insurance Identification and Verification Interface
|
---|
6 | ;
|
---|
7 | ; Input parameters: N/A
|
---|
8 | ; Other relevant variables ZTSAVED for queueing:
|
---|
9 | ; IBCNERTN = "IBCNERPB" (current routine name for queueing the
|
---|
10 | ; COMPILE process)
|
---|
11 | ; ********
|
---|
12 | ; IBCNESPC("REP")=1 for Payer List report, 2 for Company List
|
---|
13 | ; IBCNESPC("PTYPE")=Payer type (1-no active ins linked, 2-at least 1 ins linked, 3-All Payers)
|
---|
14 | ; IBCNESPC("PSORT")=Primary Sort for Payer report
|
---|
15 | ; IBCNESPC("PPYR")=single Payer name or '' for all
|
---|
16 | ; IBCNESPC("PDET")=Ins detail on payer report (1-include list of ins,2-do not list)
|
---|
17 | ;
|
---|
18 | ; IBCNESPC("ITYPE")=Ins Company type (1-no payer link, 2-linked to payer, 3-All ins companies)
|
---|
19 | ; IBCNESPC("ISORT")=Primary Sort for Payer Insurance report
|
---|
20 | ; IBCNESPC("IMAT")=Partial matching Ins carriers
|
---|
21 | ; Only call this routine at a tag
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | EN ; Main entry pt
|
---|
25 | ; Init vars
|
---|
26 | N STOP,IBCNERTN,POP,IBCNESPC
|
---|
27 | ;
|
---|
28 | S STOP=0
|
---|
29 | S IBCNERTN="IBCNERPB"
|
---|
30 | W @IOF
|
---|
31 | W !,"IIV Payer Link Report",!
|
---|
32 | W !,"In order for an Insurance Company to be eligible for electronic insurance"
|
---|
33 | W !,"eligibility communications via the IIV software, the Insurance Company"
|
---|
34 | W !,"needs to be linked to an appropriate payer from the National EDI Payer list."
|
---|
35 | W !,"The National EDI Payer list contains the names of the payers that are"
|
---|
36 | W !,"currently participating with the IIV process."
|
---|
37 | W !!,"This report option provides information to assist with finding unlinked"
|
---|
38 | W !,"insurance companies or payers, which can subsequently be linked through the"
|
---|
39 | W !,"INSURANCE COMPANY EDIT option."
|
---|
40 | ;
|
---|
41 | ; Report type
|
---|
42 | R05 D RTYPE I STOP G:$$STOP EXIT G R05
|
---|
43 | S IBCNESPC("PPYR")=""
|
---|
44 | ; If rpt by ins company, go to questions
|
---|
45 | I $G(IBCNESPC("REP"))=2 G R120
|
---|
46 | ; Payer type params
|
---|
47 | R20 D PAYER I STOP G:$$STOP EXIT G R05
|
---|
48 | I IBCNESPC("PPYR")'="" S IBCNESPC("PTYPE")=3 G R30
|
---|
49 | ; Payer details
|
---|
50 | R25 D PTYPE I STOP G:$$STOP EXIT G R20
|
---|
51 | S IBCNESPC("PDET")=2 I IBCNESPC("PTYPE")=1 G R40
|
---|
52 | ; insurance company details
|
---|
53 | R30 D PDET I STOP G:$$STOP EXIT G R25
|
---|
54 | I IBCNESPC("PPYR")'="" S IBCNESPC("ISORT")=1 G R100
|
---|
55 | ; Type of data to return param
|
---|
56 | R40 D PSORT I STOP G:$$STOP EXIT G R20
|
---|
57 | G R100
|
---|
58 | ; Payer type params
|
---|
59 | R120 D ITYPE^IBCNERPC I STOP G:$$STOP EXIT G R05
|
---|
60 | ; Partial Ins Name to include
|
---|
61 | R130 D IMAT^IBCNERPC I STOP G:$$STOP EXIT G R120
|
---|
62 | I IBCNESPC("ITYPE")=1 S IBCNESPC("ISORT")=1 G R100
|
---|
63 | ; Type of data to return param
|
---|
64 | R140 D ISORT^IBCNERPC I STOP G:$$STOP EXIT G R130
|
---|
65 | ; Select output device
|
---|
66 | R100 ; Issue output width warning if not queued
|
---|
67 | I IBCNERTN="IBCNERPB",'$D(ZTQUEUED) W !!!,"*** This report is 132 characters wide ***",!
|
---|
68 | D DEVICE(IBCNERTN,.IBCNESPC) I STOP G:$$STOP EXIT G R05
|
---|
69 | G EXIT
|
---|
70 | ;
|
---|
71 | EXIT ; Exit pt
|
---|
72 | Q
|
---|
73 | ;
|
---|
74 | ;
|
---|
75 | COMPILE(IBCNERTN,IBCNESPC) ;
|
---|
76 | ; Entry point called from EN^XUTMDEVQ in either direct or queued mode.
|
---|
77 | ; Input params:
|
---|
78 | ; IBCNERTN = Routine name for ^TMP($J,...
|
---|
79 | ; IBCNESPC = Array passed by ref of the report params
|
---|
80 | ;
|
---|
81 | ; Init scratch globals
|
---|
82 | K ^TMP($J,IBCNERTN)
|
---|
83 | ; Compile
|
---|
84 | I IBCNERTN="IBCNERPB" D EN^IBCNERPC(IBCNERTN,.IBCNESPC)
|
---|
85 | ; Print
|
---|
86 | I '$G(ZTSTOP) D
|
---|
87 | . I IBCNERTN="IBCNERPB" D EN3^IBCNERPD(IBCNERTN,.IBCNESPC)
|
---|
88 | ; Close device
|
---|
89 | D ^%ZISC
|
---|
90 | ; Kill scratch globals
|
---|
91 | K ^TMP($J,IBCNERTN)
|
---|
92 | ; Purge task record
|
---|
93 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
94 | ;
|
---|
95 | COMPILX ; COMPILE exit pt
|
---|
96 | Q
|
---|
97 | ;
|
---|
98 | STOP() ; Determine if user wants to exit out of the whole option
|
---|
99 | ; Init vars
|
---|
100 | N DIR,X,Y,DIRUT
|
---|
101 | ;
|
---|
102 | W !
|
---|
103 | S DIR(0)="Y"
|
---|
104 | S DIR("A")="Do you want to exit out of this option entirely"
|
---|
105 | S DIR("B")="YES"
|
---|
106 | S DIR("?",1)=" Enter YES to immediately exit out of this option."
|
---|
107 | S DIR("?")=" Enter NO to return to the previous question."
|
---|
108 | D ^DIR K DIR
|
---|
109 | I $D(DIRUT) S (STOP,Y)=1 G STOPX
|
---|
110 | I 'Y S STOP=0
|
---|
111 | ;
|
---|
112 | STOPX ; STOP exit pt
|
---|
113 | Q Y
|
---|
114 | ;
|
---|
115 | RTYPE ; Prompt to allow users to select main report option
|
---|
116 | ; Init vars
|
---|
117 | N DIR,X,Y,DIRUT
|
---|
118 | ;
|
---|
119 | S DIR(0)="S^1:Payer List;2:Insurance Company List"
|
---|
120 | S DIR("A")="Select a report option"
|
---|
121 | S DIR("B")=1
|
---|
122 | S DIR("?",1)=" 1 - Payer List: This option lists the payers in the National"
|
---|
123 | S DIR("?",2)=" Payer list, and optionally provides information about"
|
---|
124 | S DIR("?",3)=" the insurance companies that are linked to that payer"
|
---|
125 | S DIR("?",4)=" 2 - Insurance"
|
---|
126 | S DIR("?",5)=" Company List: This option lists insurance companies and"
|
---|
127 | S DIR("?")=" optionally displays linked payer information"
|
---|
128 | D ^DIR K DIR
|
---|
129 | I $D(DIRUT) S STOP=1 G RTYPEX
|
---|
130 | S IBCNESPC("REP")=Y
|
---|
131 | ;
|
---|
132 | RTYPEX ; RTYPE exit pt
|
---|
133 | Q
|
---|
134 | ;
|
---|
135 | PTYPE ; Prompt to select Payer Type to include
|
---|
136 | ; Init vars
|
---|
137 | N DIR,X,Y,DIRUT
|
---|
138 | ;
|
---|
139 | S DIR(0)="S^1:Unlinked Payers;2:Linked Payers;3:ALL Payers"
|
---|
140 | S DIR("A")="Select the type of payers to display"
|
---|
141 | S DIR("B")="3"
|
---|
142 | S DIR("?",1)=" 1 - Only payers with no active insurance companies linked"
|
---|
143 | S DIR("?",2)=" 2 - Only payers with at least one insurance company linked"
|
---|
144 | S DIR("?")=" 3 - ALL Payers"
|
---|
145 | D ^DIR K DIR
|
---|
146 | I $D(DIRUT) S STOP=1 G PTYPEX
|
---|
147 | S IBCNESPC("PTYPE")=Y
|
---|
148 | ;
|
---|
149 | PTYPEX ; TYPE exit pt
|
---|
150 | Q
|
---|
151 | PAYER ; Select Payer - File #365.12
|
---|
152 | ; Init vars
|
---|
153 | NEW DIC,DTOUT,DUOUT,X,Y
|
---|
154 | ;
|
---|
155 | W !!!
|
---|
156 | S DIC(0)="ABEQ"
|
---|
157 | S DIC("A")=$$FO^IBCNEUT1("Select a Payer (RETURN for ALL Payers): ",39,"L")
|
---|
158 | ; Do not allow '~NO PAYER' or non-IIV payers
|
---|
159 | S DIC("S")="I ($P(^(0),U,1)'=""~NO PAYER""),$$PYRAPP^IBCNEUT5(""IIV"",$G(Y))'="""""
|
---|
160 | S DIC="^IBE(365.12,"
|
---|
161 | D ^DIC
|
---|
162 | I $D(DUOUT)!$D(DTOUT) S Y="" S STOP=1 G PAYERX
|
---|
163 | I Y=-1 S Y=""
|
---|
164 | S IBCNESPC("PPYR")=Y
|
---|
165 | PAYERX ; Prompt for ending Payer value
|
---|
166 | Q
|
---|
167 | PDET ; Prompt to select to display Insurance Company details to include
|
---|
168 | ; Init vars
|
---|
169 | N DIR,X,Y,DIRUT
|
---|
170 | ;
|
---|
171 | S DIR(0)="S^1:List linked insurance company detail;2:Do not list linked insurance company detail"
|
---|
172 | S DIR("A")="Select insurance company detail option"
|
---|
173 | S DIR("B")="1"
|
---|
174 | S DIR("?",1)=" 1 - Include a list of insurance companies linked to the payers"
|
---|
175 | S DIR("?")=" 2 - Do not list linked insurance companies, total number only"
|
---|
176 | D ^DIR K DIR
|
---|
177 | I $D(DIRUT) S STOP=1 G PDETEX
|
---|
178 | S IBCNESPC("PDET")=Y
|
---|
179 | ;
|
---|
180 | PDETEX ; TYPE exit pt
|
---|
181 | Q
|
---|
182 | ;
|
---|
183 | PSORT ; Prompt to allow users to select primary sort
|
---|
184 | ; Init vars
|
---|
185 | N DIR,X,Y,DIRUT
|
---|
186 | ;
|
---|
187 | S DIR(0)="S^1:Payer Name;2:VA National Payer ID;3:Nationally Enabled Status;4:Locally Enabled Status;5:# of Linked Insurance Companies"
|
---|
188 | S DIR("A")="Select the primary sort field"
|
---|
189 | S DIR("B")=1
|
---|
190 | S DIR("?")=" Select a data field by which this report should be primarily sorted."
|
---|
191 | D ^DIR K DIR
|
---|
192 | I $D(DIRUT) S STOP=1 G PSORTX
|
---|
193 | S IBCNESPC("PSORT")=Y
|
---|
194 | ;
|
---|
195 | PSORTX ; SORT exit pt
|
---|
196 | Q
|
---|
197 | ;
|
---|
198 | DEVICE(IBCNERTN,IBCNESPC) ; Device Handler and possible TaskManager calls
|
---|
199 | ;
|
---|
200 | ; Input params:
|
---|
201 | ; IBCNERTN = Routine name for ^TMP($J,...
|
---|
202 | ; IBCNESPC = Array passed by ref of the report params
|
---|
203 | ;
|
---|
204 | ; Init vars
|
---|
205 | N ZTRTN,ZTDESC,ZTSAVE,POP
|
---|
206 | ;
|
---|
207 | S ZTRTN="COMPILE^IBCNERPB("""_IBCNERTN_""",.IBCNESPC)"
|
---|
208 | S ZTDESC="IBCNE IIV Payer Link Report"
|
---|
209 | S ZTSAVE("IBCNESPC(")=""
|
---|
210 | S ZTSAVE("IBCNERTN")=""
|
---|
211 | D EN^XUTMDEVQ(ZTRTN,ZTDESC,.ZTSAVE)
|
---|
212 | I POP S STOP=1
|
---|
213 | ;
|
---|
214 | DEVICEX ; DEVICE exit pt
|
---|
215 | Q
|
---|