| [623] | 1 | IBCNSC1 ;ALB/NLR - IBCNS INSURANCE COMPANY ;23-MAR-93 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**62,137,232,291,320,348,349**;21-MAR-94;Build 46 | 
|---|
|  | 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | % G EN^IBCNSC | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | AI ; -- (In)Activate Company | 
|---|
|  | 8 | D FULL^VALM1 W !! | 
|---|
|  | 9 | I '$D(^XUSEC("IB INSURANCE SUPERVISOR",DUZ)) D SORRY G EXIT | 
|---|
|  | 10 | D ^IBCNSC2 | 
|---|
|  | 11 | G EXIT | 
|---|
|  | 12 | CC ; -- Change Insurance Company | 
|---|
|  | 13 | D FULL^VALM1 W !! | 
|---|
|  | 14 | S IBCNS1=IBCNS K IBCNS D INSCO^IBCNSC | 
|---|
|  | 15 | I '$D(IBCNS) S IBCNS=IBCNS1 | 
|---|
|  | 16 | K IBCNS1,VALMQUIT | 
|---|
|  | 17 | G EXIT | 
|---|
|  | 18 | EA ; -- Billing,Claims,Appeals,Inquiry,Telephone,Main,Remarks,Synonyms | 
|---|
|  | 19 | D FULL^VALM1 | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | ; IB*2*320 - check key for associate company action | 
|---|
|  | 22 | I $G(IBY)=",13,",'$$KCHK^XUSRB("IB EDI INSURANCE EDIT") D  G EXIT | 
|---|
|  | 23 | . W !!?5,"You must hold the IB EDI INSURANCE EDIT key to access this option." | 
|---|
|  | 24 | . D PAUSE^VALM1 | 
|---|
|  | 25 | . Q | 
|---|
|  | 26 | ; | 
|---|
|  | 27 | W !! | 
|---|
|  | 28 | D MAIN | 
|---|
|  | 29 | ; | 
|---|
|  | 30 | ; -- was company deleted | 
|---|
|  | 31 | I '$D(^DIC(36,IBCNS)) W !!,"<DELETED>",!! S VALMQUIT="" Q | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | EXIT ; | 
|---|
|  | 34 | D HDR^IBCNSC,BLD^IBCNSC | 
|---|
|  | 35 | S VALMBCK="R" | 
|---|
|  | 36 | Q | 
|---|
|  | 37 | MAIN ; -- Call edit template | 
|---|
|  | 38 | N IBEDIKEY,Z | 
|---|
|  | 39 | L +^DIC(36,+IBCNS):5 I '$T D LOCKED^IBTRCD1 G MAINQ | 
|---|
|  | 40 | I $G(IBY)=",12," D FACID | 
|---|
|  | 41 | F Z=1,2,4,9,13,14 S IBEDIKEY(Z)=$P($G(^DIC(36,+IBCNS,3)),U,Z)   ; save EDI data fields | 
|---|
|  | 42 | I $G(IBY)'=",12," N DIE,DA,DR S DIE="^DIC(36,",(DA,Y)=IBCNS,DR="[IBEDIT INS CO1]" D ^DIE K DIE I $D(Y) S IB("^")=1 | 
|---|
|  | 43 | I $G(IBY)=",12," D EDITID^IBCEP(+IBCNS) | 
|---|
|  | 44 | I $F(",6,13,",$G(IBY)) D PARENT^IBCNSC02(+IBCNS)   ; parent/child management | 
|---|
|  | 45 | L -^DIC(36,+IBCNS) | 
|---|
|  | 46 | MAINQ Q | 
|---|
|  | 47 | ; | 
|---|
|  | 48 | FACID ; -- Edit facility ids | 
|---|
|  | 49 | D FACID^IBCEP2B(+IBCNS,"E") | 
|---|
|  | 50 | Q | 
|---|
|  | 51 | ; | 
|---|
|  | 52 | SORRY ; -- can't inactivate, don't have key | 
|---|
|  | 53 | W !!,"You do not have access to Inactivate entries.  See your application coordinator.",! D PAUSE^VALM1 | 
|---|
|  | 54 | Q | 
|---|
|  | 55 | PRESCR ; | 
|---|
|  | 56 | N OFFSET,START,IBCNS18,IBADD | 
|---|
|  | 57 | S IBCNS18=$$ADDRESS^IBCNSC0(IBCNS,.18,11) | 
|---|
|  | 58 | S START=34,OFFSET=2 | 
|---|
|  | 59 | D SET^IBCNSP(START,OFFSET+19," Prescription Claims Office Information ",IORVON,IORVOFF) | 
|---|
|  | 60 | D SET^IBCNSP(START+1,OFFSET," Company Name: "_$P($G(^DIC(36,+$P(IBCNS18,"^",7),0)),"^",1)) | 
|---|
|  | 61 | D SET^IBCNSP(START+2,OFFSET,"       Street: "_$P(IBCNS18,"^",1)) | 
|---|
|  | 62 | D SET^IBCNSP(START+3,OFFSET,"     Street 2: "_$P(IBCNS18,"^",2)) | 
|---|
|  | 63 | ; D SET^IBCNSP(START+4,OFFSET,"Claim Off. ID: "_$P(IBCNS18,"^",11)) | 
|---|
|  | 64 | N OFFSET S OFFSET=45 | 
|---|
|  | 65 | D SET^IBCNSP(START+1,OFFSET,"     Street 3: "_$P(IBCNS18,"^",3)) S IBADD=1 | 
|---|
|  | 66 | D SET^IBCNSP(START+1+IBADD,OFFSET,"   City/State: "_$E($P(IBCNS18,"^",4),1,15)_$S($P(IBCNS18,"^",4)="":"",1:", ")_$P($G(^DIC(5,+$P(IBCNS18,"^",5),0)),"^",2)_" "_$E($P(IBCNS18,"^",6),1,5)) | 
|---|
|  | 67 | D SET^IBCNSP(START+2+IBADD,OFFSET,"        Phone: "_$P(IBCNS18,"^",8)) | 
|---|
|  | 68 | D SET^IBCNSP(START+3+IBADD,OFFSET,"          Fax: "_$P(IBCNS18,"^",9)) | 
|---|
|  | 69 | Q | 
|---|
|  | 70 | ; | 
|---|
|  | 71 | PROVID N OFFSET,START,IBCNS4,IBCNS3,IBDISP,Z,LINE | 
|---|
|  | 72 | S START=$O(^TMP("IBCNSC",$J,""),-1)+1 | 
|---|
|  | 73 | S (IB1ST("PROVID"),LINE)=START | 
|---|
|  | 74 | S OFFSET=2,IBCNS4=$G(^DIC(36,IBCNS,4)),IBCNS3=$G(^(3)) | 
|---|
|  | 75 | ; | 
|---|
|  | 76 | D SET^IBCNSP(LINE,OFFSET+25,"Provider IDs",IORVON,IORVOFF) | 
|---|
|  | 77 | N OFFSET | 
|---|
|  | 78 | S LINE=LINE+1,OFFSET=1 | 
|---|
|  | 79 | D SET^IBCNSP(LINE,OFFSET,"Billing Provider Secondary ID") | 
|---|
|  | 80 | ; | 
|---|
|  | 81 | N Z,Z0,Z1,IBS,I,DIV,FT,CU,CUF,DIVISION,FORMTYPE,PIDT | 
|---|
|  | 82 | S Z=0 F  S Z=$O(^IBA(355.92,"B",+IBCNS,Z)) Q:'Z  D | 
|---|
|  | 83 | . S Z0=$G(^IBA(355.92,Z,0)) | 
|---|
|  | 84 | . Q:'$P(Z0,U,6)!($P(Z0,U,7)="")  ; Quit if no provider id or id type | 
|---|
|  | 85 | . Q:'($P(Z0,U,8)="E") | 
|---|
|  | 86 | . S IBS(+$P(Z0,U,5),+$P(Z0,U,3),+$P(Z0,U,4))=$P(Z0,U,6)_U_$P(Z0,U,7) | 
|---|
|  | 87 | ; | 
|---|
|  | 88 | S DIV="" F  S DIV=$O(IBS(DIV)) Q:DIV=""  D | 
|---|
|  | 89 | . S DIVISION=$$DIV^IBCEP7(DIV) | 
|---|
|  | 90 | . S CU="",CUF=0 F  S CU=$O(IBS(DIV,CU)) Q:CU=""  D | 
|---|
|  | 91 | .. S FT="" F  S FT=$O(IBS(DIV,CU,FT)) Q:FT=""  D | 
|---|
|  | 92 | ... S FORMTYPE=$S(FT=1:"UB-04",FT=2:"1500",1:"UNKNOWN") | 
|---|
|  | 93 | ... S LINE=LINE+1 | 
|---|
|  | 94 | ... I 'CUF,+CU S CUF=1 S TEXT=$P(DIVISION,"/")_" Care Units :",OFFSET=5 D SET^IBCNSP(LINE,OFFSET,TEXT) S LINE=LINE+1 | 
|---|
|  | 95 | ... I CU=0 S TEXT=DIVISION_"/"_FORMTYPE_": "_$$GET1^DIQ(355.97,$P(IBS(DIV,CU,FT),U),.03,"E")_" "_$P(IBS(DIV,CU,FT),U,2),OFFSET=2 | 
|---|
|  | 96 | ... I +CU S TEXT=$$EXPAND^IBTRE(355.92,.03,CU)_"/"_FORMTYPE_": "_$$GET1^DIQ(355.97,$P(IBS(DIV,CU,FT),U),.03,"E")_" "_$P(IBS(DIV,CU,FT),U,2),OFFSET=5 | 
|---|
|  | 97 | ... D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 98 | ; | 
|---|
|  | 99 | S LINE=LINE+1 D SET^IBCNSP(LINE,2," ") | 
|---|
|  | 100 | ; | 
|---|
|  | 101 | K IBS | 
|---|
|  | 102 | S OFFSET=1,LINE=LINE+1 | 
|---|
|  | 103 | D SET^IBCNSP(LINE,OFFSET,"Additional Billing Provider Secondary IDs") | 
|---|
|  | 104 | S Z=0 F  S Z=$O(^IBA(355.92,"B",+IBCNS,Z)) Q:'Z  D | 
|---|
|  | 105 | . S Z0=$G(^IBA(355.92,Z,0)) | 
|---|
|  | 106 | . Q:'$P(Z0,U,6)!($P(Z0,U,7)="")  ; Quit if no provider id or id type | 
|---|
|  | 107 | . Q:'($P(Z0,U,8)="A") | 
|---|
|  | 108 | . ; IBS(DIVISION,FORMTYPE,IDTYPE)=ID | 
|---|
|  | 109 | . S IBS(+$P(Z0,U,5),+$P(Z0,U,4),+$P(Z0,U,6))=$P(Z0,U,7) | 
|---|
|  | 110 | ; | 
|---|
|  | 111 | S DIVISION=$$DIV^IBCEP7(0) | 
|---|
|  | 112 | S DIV="" F  S DIV=$O(IBS(DIV)) Q:DIV=""  D | 
|---|
|  | 113 | . S FT="" F  S FT=$O(IBS(DIV,FT)) Q:FT=""  D | 
|---|
|  | 114 | .. S FORMTYPE=$S(FT=1:"UB-04",FT=2:"1500",1:"UNKNOWN") | 
|---|
|  | 115 | .. S TEXT=DIVISION_"/"_FORMTYPE_": " | 
|---|
|  | 116 | .. S LINE=LINE+1,OFFSET=2 | 
|---|
|  | 117 | .. D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 118 | .. S PIDT="" F  S PIDT=$O(IBS(DIV,FT,PIDT)) Q:PIDT=""  D | 
|---|
|  | 119 | ... S LINE=LINE+1 | 
|---|
|  | 120 | ... S TEXT=$$GET1^DIQ(355.97,PIDT,.03,"E")_" "_IBS(DIV,FT,PIDT),OFFSET=5 | 
|---|
|  | 121 | ... D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 122 | ; | 
|---|
|  | 123 | S LINE=LINE+1 D SET^IBCNSP(LINE,2," ") | 
|---|
|  | 124 | ; | 
|---|
|  | 125 | K IBS | 
|---|
|  | 126 | S OFFSET=1,LINE=LINE+1 | 
|---|
|  | 127 | D SET^IBCNSP(LINE,OFFSET,"VA-Laboratory or Facility Secondary IDs") | 
|---|
|  | 128 | S Z=0 F  S Z=$O(^IBA(355.92,"B",+IBCNS,Z)) Q:'Z  D | 
|---|
|  | 129 | . S Z0=$G(^IBA(355.92,Z,0)) | 
|---|
|  | 130 | . Q:'$P(Z0,U,6)!($P(Z0,U,7)="")  ; Quit if no provider id or id type | 
|---|
|  | 131 | . Q:'($P(Z0,U,8)="LF") | 
|---|
|  | 132 | . ; IBS(DIVISION,FORMTYPE,IDTYPE)=ID | 
|---|
|  | 133 | . S IBS(+$P(Z0,U,5),+$P(Z0,U,4),+$P(Z0,U,6))=$P(Z0,U,7) | 
|---|
|  | 134 | ; | 
|---|
|  | 135 | S DIVISION=$$DIV^IBCEP7(0) | 
|---|
|  | 136 | S DIV="" F  S DIV=$O(IBS(DIV)) Q:DIV=""  D | 
|---|
|  | 137 | . S FT="" F  S FT=$O(IBS(DIV,FT)) Q:FT=""  D | 
|---|
|  | 138 | .. S FORMTYPE=$S(FT=1:"UB-04",FT=2:"1500",1:"UNKNOWN") | 
|---|
|  | 139 | .. S TEXT=DIVISION_"/"_FORMTYPE_": " | 
|---|
|  | 140 | .. S LINE=LINE+1,OFFSET=2 | 
|---|
|  | 141 | .. D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 142 | .. S PIDT="" F  S PIDT=$O(IBS(DIV,FT,PIDT)) Q:PIDT=""  D | 
|---|
|  | 143 | ... S LINE=LINE+1 | 
|---|
|  | 144 | ... ;S TEXT=$$EXPAND^IBTRE(355.92,.06,PIDT)_" "_IBS(DIV,FT,PIDT),OFFSET=5 | 
|---|
|  | 145 | ... S TEXT=$$GET1^DIQ(355.97,PIDT,.03,"E")_" "_IBS(DIV,FT,PIDT),OFFSET=5 | 
|---|
|  | 146 | ... D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 147 | ; | 
|---|
|  | 148 | ; | 
|---|
|  | 149 | S LINE=LINE+1 D SET^IBCNSP(LINE,2," ") | 
|---|
|  | 150 | S LINE=LINE+1 D SET^IBCNSP(LINE,2," ") | 
|---|
|  | 151 | S OFFSET=2 | 
|---|
|  | 152 | S LINE=LINE+1 D SET^IBCNSP(LINE,OFFSET+25,"ID Parameters",IORVON,IORVOFF) | 
|---|
|  | 153 | ; | 
|---|
|  | 154 | S IBCNS4=$G(^DIC(36,IBCNS,4)),IBCNS3=$G(^(3)),OFFSET=1 | 
|---|
|  | 155 | S TEXT="Attending/Rendering Provider Secondary ID Qualifier (1500): "_$$EXPAND^IBTRE(36,4.01,+$P(IBCNS4,U)) | 
|---|
|  | 156 | S LINE=LINE+1 | 
|---|
|  | 157 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 158 | ; | 
|---|
|  | 159 | S TEXT="Attending/Rendering Provider Secondary ID Qualifier (UB-04): "_$$EXPAND^IBTRE(36,4.02,+$P(IBCNS4,U,2)) | 
|---|
|  | 160 | S LINE=LINE+1 | 
|---|
|  | 161 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 162 | ; | 
|---|
|  | 163 | S TEXT="Attending/Rendering Secondary ID Requirement: "_$$EXPAND^IBTRE(36,4.03,+$P(IBCNS4,U,3)) | 
|---|
|  | 164 | S LINE=LINE+1 | 
|---|
|  | 165 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 166 | ; | 
|---|
|  | 167 | S TEXT="Referring Provider Secondary ID Qualifier (1500): "_$$EXPAND^IBTRE(36,4.04,+$P(IBCNS4,U,4)) | 
|---|
|  | 168 | S LINE=LINE+1 | 
|---|
|  | 169 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 170 | ; | 
|---|
|  | 171 | S TEXT="Referring Provider Secondary ID Requirement: "_$$EXPAND^IBTRE(36,4.05,+$P(IBCNS4,U,5)) | 
|---|
|  | 172 | S LINE=LINE+1 | 
|---|
|  | 173 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 174 | ; | 
|---|
|  | 175 | S TEXT="Use Att/Rend ID as Billing Provider Sec. ID (1500): "_$$EXPAND^IBTRE(36,4.06,+$P(IBCNS4,U,6)) | 
|---|
|  | 176 | S LINE=LINE+1 | 
|---|
|  | 177 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 178 | ; | 
|---|
|  | 179 | S TEXT="Use Att/Rend ID as Billing Provider Sec. ID (UB-04): "_$$EXPAND^IBTRE(36,4.08,+$P(IBCNS4,U,8)) | 
|---|
|  | 180 | S LINE=LINE+1 | 
|---|
|  | 181 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 182 | ; | 
|---|
|  | 183 | S TEXT="Send VA Lab/Facility IDs or Facility Data for VAMC?: "_$$EXPAND^IBTRE(36,4.07,+$P(IBCNS4,U,7)) | 
|---|
|  | 184 | S LINE=LINE+1 | 
|---|
|  | 185 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 186 | ; | 
|---|
|  | 187 | S TEXT="Transmit no Billing Provider Sec. ID for the Electronic Plan Types: " | 
|---|
|  | 188 | S LINE=LINE+1 | 
|---|
|  | 189 | D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 190 | ; | 
|---|
|  | 191 | N TAR,ERR,IBCT | 
|---|
|  | 192 | D LIST^DIC(36.013,","_IBCNS_",",".01",,10,,,,,,"TAR","ERR") | 
|---|
|  | 193 | F IBCT=1:1:+$G(TAR("DILIST",0)) D | 
|---|
|  | 194 | . S TEXT=TAR("DILIST",1,IBCT) | 
|---|
|  | 195 | . S LINE=LINE+1 | 
|---|
|  | 196 | . D SET^IBCNSP(LINE,OFFSET,TEXT) | 
|---|
|  | 197 | ; | 
|---|
|  | 198 | S LINE=LINE+1 D SET^IBCNSP(LINE,2," ") | 
|---|
|  | 199 | S LINE=LINE+1 D SET^IBCNSP(LINE,2," ") | 
|---|
|  | 200 | Q | 
|---|
|  | 201 | ; | 
|---|
|  | 202 | INSDEF(IBINS,IBPTYP) ; Returns the default id # for an ins co, if possible | 
|---|
|  | 203 | N X | 
|---|
|  | 204 | S X="" | 
|---|
|  | 205 | I IBINS,IBPTYP S X=$P($G(^IBA(355.91,+$O(^IBA(355.91,"AC",IBINS,IBPTYP,"*N/A*","")),0)),U,7) | 
|---|
|  | 206 | Q X | 
|---|