| [623] | 1 | IBCNSP0 ;ALB/AAS - INSURANCE MANAGEMENT - EXPANDED POLICY  ;05-MAR-1993 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**28,43,52,85,93,103,137,229,251,363**;21-MAR-94;Build 35 | 
|---|
|  | 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | CONTACT ; -- Insurance Contact Information | 
|---|
|  | 7 | N OFFSET,START | 
|---|
|  | 8 | S START=41+$G(IBLCNT),OFFSET=42 | 
|---|
|  | 9 | N IBTRC,IBTRCD,IBTCOD | 
|---|
|  | 10 | S IBTCOD=$O(^IBE(356.11,"ACODE",85,0)) | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | S IBTRC=0,IBTRCD="" | 
|---|
|  | 13 | F  S IBTRC=$O(^IBT(356.2,"D",DFN,IBTRC)) Q:'IBTRC  D | 
|---|
|  | 14 | .Q:$P($G(^IBT(356.2,+IBTRC,1)),"^",5)'=IBCDFN  ; must be same policy | 
|---|
|  | 15 | .Q:$P($G(^IBT(356.2,+IBTRC,0)),"^",4)'=IBTCOD  ; must be ins. ver. type | 
|---|
|  | 16 | .S IBTRCD=$G(^IBT(356.2,+IBTRC,0)) | 
|---|
|  | 17 | ; | 
|---|
|  | 18 | I '$D(@VALMAR@(START-1)) D SET(START-1,OFFSET,"  ") | 
|---|
|  | 19 | D SET(START,OFFSET," Insurance Contact (last) ",IORVON,IORVOFF) | 
|---|
|  | 20 | D SET(START+1,OFFSET," Person Contacted: "_$$EXPAND^IBTRE(356.2,.06,$P(IBTRCD,"^",6))) | 
|---|
|  | 21 | D SET(START+2,OFFSET,"Method of Contact: "_$$EXPAND^IBTRE(356.2,.17,$P(IBTRCD,"^",17))) | 
|---|
|  | 22 | D SET(START+3,OFFSET,"  Contact's Phone: "_$$EXPAND^IBTRE(356.2,.07,$P(IBTRCD,"^",7))) | 
|---|
|  | 23 | D SET(START+4,OFFSET,"    Call Ref. No.: "_$$EXPAND^IBTRE(356.2,.09,$P(IBTRCD,"^",9))) | 
|---|
|  | 24 | D SET(START+5,OFFSET,"     Contact Date: "_$$EXPAND^IBTRE(356.2,.01,$P(IBTRCD,"^"))) | 
|---|
|  | 25 | Q | 
|---|
|  | 26 | ; | 
|---|
|  | 27 | POLICY ; -- Policy Region | 
|---|
|  | 28 | ; -- if pointer to policy file exists get data from policy file | 
|---|
|  | 29 | N OFFSET,START,IBP,IBX,IBPLNID,IBPLNNM,IBPLNNA,IBPLNLA | 
|---|
|  | 30 | S (IBPLNID,IBPLNNM,IBPLNNA,IBPLNLA)="" | 
|---|
|  | 31 | S START=1,OFFSET=2 | 
|---|
|  | 32 | D GPLAN(+IBCPOLD2) | 
|---|
|  | 33 | D SET(START,OFFSET," Plan Information ",IORVON,IORVOFF) | 
|---|
|  | 34 | D SET(START+1,OFFSET,"   Is Group Plan: "_$S($P(IBCPOLD,"^",2)=1:"YES",1:"NO")) | 
|---|
|  | 35 | D SET(START+2,OFFSET,"      Group Name: "_$P(IBCPOLD,"^",3)) | 
|---|
|  | 36 | D SET(START+3,OFFSET,"    Group Number: "_$P(IBCPOLD,"^",4)) | 
|---|
|  | 37 | D SET(START+4,OFFSET,"             BIN: "_$P(IBCPOLD2,"^",2)) ;;Daou/EEN | 
|---|
|  | 38 | D SET(START+5,OFFSET,"             PCN: "_$P(IBCPOLD2,"^",3)) ;;04/09/04 | 
|---|
|  | 39 | D SET(START+6,OFFSET,"    Type of Plan: "_$E($P($G(^IBE(355.1,+$P(IBCPOLD,"^",9),0)),"^"),1,23)) | 
|---|
|  | 40 | S IBX=7 | 
|---|
|  | 41 | I $P(IBCPOLD,U,14)]"" D | 
|---|
|  | 42 | . D SET(START+IBX,OFFSET,"   Plan Category: "_$$EXPAND^IBTRE(355.3,.14,$P(IBCPOLD,"^",14))) S IBX=IBX+1 | 
|---|
|  | 43 | I $P(IBCPOLD,U,15)]"" D | 
|---|
|  | 44 | . D SET(START+IBX,OFFSET," Electronic Type: "_$$EXPAND^IBTRE(355.3,.15,$P(IBCPOLD,"^",15))) S IBX=IBX+1 | 
|---|
|  | 45 | D SET(START+IBX,OFFSET,"  Plan Filing TF: "_$P(IBCPOLD,"^",13)) S IBX=IBX+1 | 
|---|
|  | 46 | ; -- in case pointer is missing | 
|---|
|  | 47 | D SET(START+IBX,OFFSET,"      ePharmacy Plan ID: "_IBPLNID) S IBX=IBX+1 | 
|---|
|  | 48 | D SET(START+IBX,OFFSET,"    ePharmacy Plan Name: "_IBPLNNM) S IBX=IBX+1 | 
|---|
|  | 49 | D SET(START+IBX,OFFSET,"  ePharmacy Natl Status: "_IBPLNNA) S IBX=IBX+1 | 
|---|
|  | 50 | D SET(START+IBX,OFFSET," ePharmacy Local Status: "_IBPLNLA) S IBX=IBX+1 | 
|---|
|  | 51 | I '$G(^IBA(355.3,+$P(IBCDFND,"^",18),0)) D | 
|---|
|  | 52 | .D SET(START+1,OFFSET,"Insurance Number: "_$P(IBCDFND,"^",2)) | 
|---|
|  | 53 | .D SET(START+2,OFFSET,"      Group Name: "_$P(IBCDFND,"^",15)) | 
|---|
|  | 54 | .D SET(START+3,OFFSET,"    Group Number: "_$P(IBCDFND,"^",3)) | 
|---|
|  | 55 | .Q | 
|---|
|  | 56 | Q | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | INS ; -- Insurance Co. Region | 
|---|
|  | 59 | N OFFSET,START,IBADD,IBCDFNDA,IBCDFNDB | 
|---|
|  | 60 | S START=1,OFFSET=45 | 
|---|
|  | 61 | D SET(START,OFFSET," Insurance Company ",IORVON,IORVOFF) | 
|---|
|  | 62 | D SET(START+1,OFFSET,"   Company: "_$P($G(^DIC(36,+IBCDFND,0)),"^")) | 
|---|
|  | 63 | S IBCDFNDA=$G(^DIC(36,+IBCDFND,.11)),IBCDFNDB=$G(^(.13)) | 
|---|
|  | 64 | G:IBCDFNDA="" INSQ | 
|---|
|  | 65 | D SET(START+2,OFFSET,"    Street: "_$P(IBCDFNDA,"^")) S IBADD=1 | 
|---|
|  | 66 | I $P(IBCDFNDA,"^",2)'="" D SET(START+3,OFFSET,"  Street 2: "_$P(IBCDFNDA,"^",2)) S IBADD=2 | 
|---|
|  | 67 | I $P(IBCDFNDA,"^",3)'="" D SET(START+4,OFFSET,"  Street 3: "_$P(IBCDFNDA,"^",3)) S IBADD=3 | 
|---|
|  | 68 | D SET(START+2+IBADD,OFFSET,"City/State: "_$E($P(IBCDFNDA,"^",4),1,15)_$S($P(IBCDFNDA,"^",4)="":"",1:", ")_$P($G(^DIC(5,+$P(IBCDFNDA,"^",5),0)),"^",2)_" "_$E($P(IBCDFNDA,"^",6),1,5)) | 
|---|
|  | 69 | D SET(START+3+IBADD,OFFSET,"Billing Ph: "_$P(IBCDFNDB,"^",2)) | 
|---|
|  | 70 | D SET(START+4+IBADD,OFFSET,"Precert Ph: "_$$PHONE^IBCNSC01(IBCDFNDB)) | 
|---|
|  | 71 | ; | 
|---|
|  | 72 | INSQ Q | 
|---|
|  | 73 | ; | 
|---|
|  | 74 | SPON ; -- Sponsor (Insured Person) Region | 
|---|
|  | 75 | N IBC3,IBSSN,IBZIP,START,OFFSET,IBA,DA,DR,DIC,DIQ | 
|---|
|  | 76 | S IBC3=$G(^DPT(DFN,.312,IBCDFN,3)),IBSSN=$P(IBC3,"^",5) | 
|---|
|  | 77 | S DA=+$P(IBC3,"^",2),DR=.01,DIQ(0)="E",DIC="^DIC(23,",DIQ="IBA" D EN^DIQ1 | 
|---|
|  | 78 | S START=30,OFFSET=4 | 
|---|
|  | 79 | D SET(START,OFFSET," Insured Person's Information (use Subscriber Update action) ",IORVON,IORVOFF) | 
|---|
|  | 80 | D SET(START+1,OFFSET,"    Insured's DOB: "_$$DAT3^IBOUTL($P(IBC3,"^"))) | 
|---|
|  | 81 | D SET(START+2,OFFSET," Insured's Branch: "_$G(IBA(23,DA,.01,"E"))) | 
|---|
|  | 82 | D SET(START+3,OFFSET,"   Insured's Rank: "_$P(IBC3,"^",3)) | 
|---|
|  | 83 | D SET(START+4,OFFSET,"    Insured's SSN: "_$S(IBSSN]"":$E(IBSSN,1,3)_"-"_$E(IBSSN,4,5)_"-"_$E(IBSSN,6,9),1:"")) | 
|---|
|  | 84 | ; | 
|---|
|  | 85 | S OFFSET=43 | 
|---|
|  | 86 | S Y=$P(IBC3,"^",10) D ZIPOUT^VAFADDR S IBZIP=Y | 
|---|
|  | 87 | D SET(START+1,OFFSET," Str 1: "_$P(IBC3,"^",6)) | 
|---|
|  | 88 | D SET(START+2,OFFSET," Str 2: "_$P(IBC3,"^",7)) | 
|---|
|  | 89 | D SET(START+3,OFFSET,"  City: "_$P(IBC3,"^",8)) | 
|---|
|  | 90 | D SET(START+4,OFFSET,"St/Zip: "_$P($G(^DIC(5,+$P(IBC3,"^",9),0)),"^",2)_"  "_IBZIP) | 
|---|
|  | 91 | D SET(START+5,OFFSET," Phone: "_$P(IBC3,"^",11)) | 
|---|
|  | 92 | Q | 
|---|
|  | 93 | ; | 
|---|
|  | 94 | BLANK(LINE) ; -- Build blank line | 
|---|
|  | 95 | D SET^VALM10(.LINE,$J("",80)) | 
|---|
|  | 96 | Q | 
|---|
|  | 97 | ; | 
|---|
|  | 98 | SET(LINE,COL,TEXT,ON,OFF) ; -- set display info in array | 
|---|
|  | 99 | D:'$D(@VALMAR@(LINE,0)) BLANK(.LINE) | 
|---|
|  | 100 | D SET^VALM10(.LINE,$$SETSTR^VALM1(.TEXT,@VALMAR@(LINE,0),.COL,$L(TEXT))) | 
|---|
|  | 101 | D:$G(ON)]""!($G(OFF)]"") CNTRL^VALM10(.LINE,.COL,$L(TEXT),$G(ON),$G(OFF)) | 
|---|
|  | 102 | W:'(LINE#5) "." | 
|---|
|  | 103 | Q | 
|---|
|  | 104 | GPLAN(IBPLDA) ; get data from PLAN file (#366.03) related to the | 
|---|
|  | 105 | ; GROUP INSURANCE PLAN file (#355.3) and the INSURANCE COMPANY file (#36) | 
|---|
|  | 106 | ; that is associated with the PATIENT | 
|---|
|  | 107 | ; input - IBPLDA - ien of the PLAN file (#366.03) | 
|---|
|  | 108 | N IBPLN0,IBAIEN,IBAPIEN,IBAP0 | 
|---|
|  | 109 | S IBPLN0=$G(^IBCNR(366.03,IBPLDA,0)) ;; Q:'$P(IBPLN0,"^",3) ;quit if payer not defined | 
|---|
|  | 110 | S IBPLNID=$P(IBPLN0,"^"),IBPLNNM=$P(IBPLN0,"^",2) | 
|---|
|  | 111 | S IBAIEN=$O(^IBCNR(366.13,"B","E-PHARM","")) Q:'IBAIEN | 
|---|
|  | 112 | S IBAPIEN=$O(^IBCNR(366.03,IBPLDA,3,"B",IBAIEN,"")) Q:'IBAPIEN | 
|---|
|  | 113 | S IBAP0=$G(^IBCNR(366.03,IBPLDA,3,IBAPIEN,0)) | 
|---|
|  | 114 | S IBPLNNA=$S($P(IBAP0,"^",2)=0:"NOT ACTIVE",1:"ACTIVE") | 
|---|
|  | 115 | S IBPLNLA=$S($P(IBAP0,"^",3)=0:"NOT ACTIVE",1:"ACTIVE") | 
|---|
|  | 116 | Q | 
|---|
|  | 117 | ; | 
|---|
|  | 118 | ;IBCNSP0 | 
|---|