1 | IBCEP0A ;ALB/TMP - EDI UTILITIES for insurance assigned provider ID ;01-NOV-00
|
---|
2 | ;;2.0;INTEGRATED BILLING;**137,232,320,377**;21-MAR-94;Build 23
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | NEW(IBINS,IBPRV,IBPTYP,IBDEF) ; Add new insurance co assigned id
|
---|
6 | ; IBDEF = flag sent as 1 if only insurance co defaults are being added
|
---|
7 | N DIC,DIR,X,Y,Z,DA,DR,DIE,DO,DD,DLAYGO,IBQ,IBIEN,IBCUND,DTOUT,DUOUT
|
---|
8 | D FULL^VALM1
|
---|
9 | S IBQ=0
|
---|
10 | I $G(IBDEF)="D" W !!,"YOU ARE ADDING A PROVIDER ID THAT WILL BE THE INSURANCE CO DEFAULT",!
|
---|
11 | I '$G(IBPRV),$G(IBDEF)'="D" D G:IBQ NEWQ
|
---|
12 | . N DA,IBO
|
---|
13 | . S IBO=($G(IBDSP)'="I")
|
---|
14 | . S DIR(0)="355.9,.01A"_$S(IBO:"O",1:""),DIR("A")="Select PROVIDER"_$S(IBO:" (optional)",1:"")_": "
|
---|
15 | . S DIR("?")="Select the PROVIDER to be assigned a provider ID"
|
---|
16 | . I IBO S DIR("?",1)=DIR("?"),DIR("?")="Or Press ENTER to add an insurance co level default id (all providers)"
|
---|
17 | . W ! D ^DIR K DIR W !
|
---|
18 | . I $D(DTOUT)!$D(DUOUT) S IBQ=1 Q
|
---|
19 | . S IBPRV=$S(Y>0:$P(Y,U),1:"")
|
---|
20 | . Q:IBPRV
|
---|
21 | . S DIR(0)="YA",DIR("B")="YES",DIR("A",1)="YOU ARE ADDING A PROVIDER ID THAT WILL BE THE INSURANCE CO DEFAULT",DIR("A")="IS THIS OK?: "
|
---|
22 | . W ! D ^DIR K DIR W !
|
---|
23 | . I $D(DTOUT)!$D(DUOUT)!(Y'=1) S IBQ=1
|
---|
24 | . Q
|
---|
25 | ;
|
---|
26 | I '$G(IBPTYP) D G:IBQ NEWQ
|
---|
27 | . S DIR(0)="PAr^355.97:AEMQ",DIR("A")="Select Provider ID Qualifier: "
|
---|
28 | . S DIR("?")="Enter a Qualifier to identify the type of ID number you are entering."
|
---|
29 | . S DIR("S")="I $$RAINS^IBCEPU(Y)" ; Rendering/Attending IDs provided by ins
|
---|
30 | . S DA=0
|
---|
31 | . W ! D ^DIR K DIR W !
|
---|
32 | . I $D(DTOUT)!$D(DUOUT)!'Y S IBQ=1 Q
|
---|
33 | . S IBPTYP=+Y
|
---|
34 | ;
|
---|
35 | S IBQ=$$ADDID(IBINS,IBPRV,IBPTYP)
|
---|
36 | ;
|
---|
37 | NEWQ D:'$G(IBQ) BLD^IBCEP0($G(IBINS),$G(IBDSP),$G(IBSORT))
|
---|
38 | S VALMBCK="R"
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | DEL1 ; Delete Insurance Co assigned provider ID's
|
---|
42 | ; IBPRV = vp ien of provider if editing entry in file 355.9
|
---|
43 | ; otherwise, null
|
---|
44 | N IB1,IBDA,IBFILE
|
---|
45 | D FULL^VALM1
|
---|
46 | D SEL^IBCEP0(.IBDA)
|
---|
47 | G:'$O(IBDA(0)) DEL1Q
|
---|
48 | S IBDA=+$O(IBDA("")),IBDA=$G(IBDA(IBDA))
|
---|
49 | G:'IBDA DEL1Q
|
---|
50 | S IB1=$P(IBDA,U,2),IBDA=+IBDA
|
---|
51 | S IBFILE=$S(IB1:355.9,1:355.91)
|
---|
52 | I IBDA>0 D DEL^IBCEP5B(IBFILE,IBDA,1),BLD^IBCEP0($G(IBINS),$G(IBDSP),$G(IBSORT))
|
---|
53 | ;
|
---|
54 | DEL1Q S VALMBCK="R"
|
---|
55 | Q
|
---|
56 | ;
|
---|
57 | CHG1 ; Edit Provider ID's
|
---|
58 | N IBDA,IB1,IBFILE
|
---|
59 | D FULL^VALM1
|
---|
60 | D SEL^IBCEP0(.IBDA)
|
---|
61 | G:'$O(IBDA(0)) CHG1Q
|
---|
62 | S IBDA=+$O(IBDA("")),IBDA=$G(IBDA(IBDA))
|
---|
63 | G:'IBDA CHG1Q
|
---|
64 | S IB1=$P(IBDA,U,2),IBDA=+IBDA
|
---|
65 | S IBFILE=$S(IB1:355.9,1:355.91)
|
---|
66 | I IBDA>0 D
|
---|
67 | . I IBFILE=355.9 W !!,"PROVIDER: ",$$EXPAND^IBTRE(355.9,.01,IB1)
|
---|
68 | . I IBFILE'=355.9 W !!," <<INS CO DEFAULT>>"
|
---|
69 | . D CHG^IBCEP5B(IBFILE,IBDA),BLD^IBCEP0($G(IBINS),$G(IBDSP),$G(IBSORT))
|
---|
70 | ;
|
---|
71 | CHG1Q S VALMBCK="R"
|
---|
72 | Q
|
---|
73 | ;
|
---|
74 | PRVJMP(IBDSP) ; Navigate to a specific sort level in current LM list
|
---|
75 | ; (from insurance co option)
|
---|
76 | ; IBDSP = 'I', 'A' or 'D' to indicate format selected for display
|
---|
77 | ; ([P]ROVIDER, PROVIDER [T]YPE OR [I]NSURANCE DEFAULT)
|
---|
78 | ; Sets VALMBG = LINE # if a provider in list selected
|
---|
79 | ;
|
---|
80 | I $G(IBDSP)="I" D PRVNJMP(.VALMBG)
|
---|
81 | I $G(IBDSP)="D"!($G(IBDSP)="A") D PRVTJMP(.VALMBG)
|
---|
82 | S VALMBCK="R"
|
---|
83 | Q
|
---|
84 | ;
|
---|
85 | PRVNJMP(VALMBG) ; Navigate to a specific provider name (from insurance co
|
---|
86 | ; option)
|
---|
87 | ;
|
---|
88 | N DIR,X,Y,DA
|
---|
89 | D FULL^VALM1
|
---|
90 | S DIR(0)="355.9,.01AO^^I '$D(^TMP(""IBPRV_INS_ID"",$J,""ZXPRV"",U_$$EXPAND^IBTRE(355.9,.01,Y)_U_$P(Y,U))) K X"
|
---|
91 | S DIR("?",1)="*** YOU MAY ONLY SELECT PROVIDERS INCLUDED IN THE CURRENT LIST ***",DIR("?",2)=" ",DIR("?",3)="SELECTING A PROVIDER WILL FORCE THE DISPLAY TO SKIP TO THE DATA FOR THAT",DIR("?")=" PROVIDER"
|
---|
92 | S DIR("A")="SELECT PROVIDER: "
|
---|
93 | S DIR("S")="N Z S Z=$P(^(0),U) I $D(^TMP(""IBPRV_INS_ID"",$J,""ZXPRV"",U_$$EXPAND^IBTRE(355.9,.01,Z)_U_Z))"
|
---|
94 | W ! D ^DIR K DIR W !
|
---|
95 | I Y>0,'$D(DTOUT),'$D(DUOUT) D
|
---|
96 | . N Z
|
---|
97 | . S Z=$G(^TMP("IBPRV_INS_ID",$J,"ZXPRV",U_$$EXPAND^IBTRE(355.9,.01,$P(Y,U))_U_$P(Y,U)))
|
---|
98 | . I Z S VALMBG=Z Q
|
---|
99 | . S DIR(0)="EA",DIR("A",1)="THIS PROVIDER DOES NOT EXIST IN THE CURRENT DISPLAY",DIR("A")="PRESS THE ENTER KEY TO CONTINUE"
|
---|
100 | . W ! D ^DIR K DIR W !
|
---|
101 | Q
|
---|
102 | ;
|
---|
103 | PRVTJMP(VALMBG) ; Navigate to a specific type of ID qualifier (from ins co option)
|
---|
104 | ;
|
---|
105 | N DIR,X,Y
|
---|
106 | D FULL^VALM1
|
---|
107 | S DIR(0)="PAO^355.97:AEMQ",DIR("A")="Select type of ID Qualifier: "
|
---|
108 | S DIR("?")="Select a type of ID Qualifier to display the IDs of that type."
|
---|
109 | S DIR("S")="I $D(^TMP(""IBPRV_INS_ID"",$J,""ZXPTYP"",+Y))"
|
---|
110 | W ! D ^DIR K DIR W !
|
---|
111 | I Y>0,'$D(DTOUT),'$D(DUOUT) D
|
---|
112 | . N Z
|
---|
113 | . S Z=$G(^TMP("IBPRV_INS_ID",$J,"ZXPTYP",+Y))
|
---|
114 | . I Z S VALMBG=Z Q
|
---|
115 | . S DIR(0)="EA",DIR("A",1)="This type of ID Qualifier does not exist in the current display",DIR("A")="Press the Enter key to continue"
|
---|
116 | . W ! D ^DIR K DIR W !
|
---|
117 | Q
|
---|
118 | ;
|
---|
119 | CHGINS ; Change insurance co being displayed, using the same or new params
|
---|
120 | ; Assumes IBINS exists = IEN of insurance co (file 36)
|
---|
121 | N IBINEW,IBSAVE,DIC,DA,Y,X,DIR
|
---|
122 | D FULL^VALM1
|
---|
123 | S DIC="^DIC(36,",DIC(0)="AEMQ" D ^DIC
|
---|
124 | S IBINEW=+Y
|
---|
125 | ;
|
---|
126 | I IBINEW>0,IBINS'=IBINEW D
|
---|
127 | . D COPYPROV^IBCEP5A(IBINS)
|
---|
128 | . S DIR(0)="YA",DIR("?")="IF YOU WANT TO CHANGE THE FORMAT OF THE DISPLAY, RESPOND NO HERE"
|
---|
129 | . S DIR("A")="DO YOU WANT TO DISPLAY THE NEW INS. CO IDS USING THE CURRENT DISPLAY FORMAT?: ",DIR("B")="YES" W ! D ^DIR W ! K DIR
|
---|
130 | . Q:Y'=1
|
---|
131 | . S IBSAVE("IBINS")=IBINS
|
---|
132 | . K ^TMP("IBPRV_INS_ID",$J),VALMHDR S VALMBG=1,IBINS=IBINEW
|
---|
133 | . I Y=1 D BLD^IBCEP0($G(IBINS),$G(IBDSP),$G(IBSORT)) Q
|
---|
134 | . D INIT^IBCEP0
|
---|
135 | . I '$G(VALMQUIT) Q
|
---|
136 | . S IBINS=IBSAVE("IBINS") D BLD^IBCEP0($G(IBINS),$G(IBDSP),$G(IBSORT))
|
---|
137 | S VALMBCK="R"
|
---|
138 | Q
|
---|
139 | ;
|
---|
140 | CHGFMT ; Change format parameters for display
|
---|
141 | N IBSAVE
|
---|
142 | S IBSAVE("IBINS")=$G(IBINS)
|
---|
143 | D INIT^IBCEP0
|
---|
144 | I '$G(VALMQUIT) G CHGFMTQ
|
---|
145 | S IBINS=IBSAVE("IBINS") D BLD^IBCEP0($G(IBINS),$G(IBDSP),$G(IBSORT))
|
---|
146 | CHGFMTQ S VALMBCK="R"
|
---|
147 | Q
|
---|
148 | ;
|
---|
149 | IPARAM ; Display Insurance co parameters and care unit requirements
|
---|
150 | ; Assumes IBINS exists = IEN of insurance co
|
---|
151 | N IBDSP,IBSORT,IBHOLD
|
---|
152 | D FULL^VALM1
|
---|
153 | S IBHOLD("IBINS")=$G(IBINS)
|
---|
154 | D EN^VALM("IBCE PRVINS PARAM DISPLAY")
|
---|
155 | S:$G(IBHOLD("IBINS"))'="" IBINS=IBHOLD("IBINS")
|
---|
156 | K VALMQUIT
|
---|
157 | S VALMBCK="R"
|
---|
158 | Q
|
---|
159 | ;
|
---|
160 | ADDID(IBINS,IBPRV,IBPTYP) ; Adds a new ID for the provider and/or ins co
|
---|
161 | ; IBINS = ien of file 36
|
---|
162 | ; IBPRV = vp ien of file 355.9
|
---|
163 | ; IBPTYP = ien of file 355.97
|
---|
164 | ; FUNCTION returns 1 if record not added, 0 if filed OK
|
---|
165 | N IBIEN,IBQ,DIC,DA,DO,DD,DLAYGO,X,Y
|
---|
166 | S IBQ=0
|
---|
167 | I $G(IBPRV) D G:IBQ ADDIDQ
|
---|
168 | . ; Provider specific for insurance co - add to file 355.9
|
---|
169 | . S DIC(0)="L",DLAYGO=355.9,DIC="^IBA(355.9,",X=IBPRV
|
---|
170 | . S:$G(IBINS) DIC("DR")=".02////"_IBINS
|
---|
171 | . D FILE^DICN K DIC,DLAYGO,DD,DO
|
---|
172 | . I Y'>0!$D(DUOUT)!$D(DTOUT) S IBIEN=0,IBQ=1 Q
|
---|
173 | . S IBIEN=+Y
|
---|
174 | . D NEWID^IBCEP5B(355.9,IBINS,IBPRV,IBPTYP,IBIEN,"")
|
---|
175 | E D
|
---|
176 | . ; Insurance co default - add to file 355.91
|
---|
177 | . S DIC(0)="L",DLAYGO=355.91,DIC="^IBA(355.91,",X=IBINS
|
---|
178 | . D FILE^DICN K DIC,DLAYGO,DD,DO
|
---|
179 | . I Y'>0!$D(DUOUT)!$D(DTOUT) S IBIEN=0,IBQ=1 Q
|
---|
180 | . S IBIEN=+Y
|
---|
181 | . D NEWID^IBCEP5B(355.91,IBINS,"",IBPTYP,IBIEN,1)
|
---|
182 | ADDIDQ Q IBQ
|
---|