| [613] | 1 | IBCU5 ;ALB/AAS - MCCR MAILING ADDRESS UTILITY ROUTINE ;26-FEB-90 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**8,52,80,117,51,206**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ;MAP TO DGCRU5 | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | EN ;Entry from X-REF from who's responsible | 
|---|
|  | 8 | ;doesn't set primary insurance field, must be second trigger. | 
|---|
|  | 9 | S X=$P(^DGCR(399,DA,0),"^",11) | 
|---|
|  | 10 | I X="p" D MAILP G ENQ | 
|---|
|  | 11 | I X="o" S DGTAG=$S('$D(^DGCR(399,DA,"M")):"MAILP",'$P(^("M"),"^",11):"MAILP",'$D(^DIC(4,$P(^("M"),"^",11),0)):"MAILP",1:"MAILIN") D @DGTAG G ENQ | 
|---|
|  | 12 | I X="i",+$G(^DGCR(399,DA,"MP")) D MAILA G ENQ | 
|---|
|  | 13 | ENQ K DGTAG Q | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | EN1 ;Now Trigger of primary insurance policy from who's responsible | 
|---|
|  | 16 | ;if only one active policy | 
|---|
|  | 17 | ;; old Trigger of primary insurer from who's responsible | 
|---|
|  | 18 | ;Only should be called if primary insurer is null (condition of trigger) | 
|---|
|  | 19 | ;return ifn of insurer in X | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | S X="" | 
|---|
|  | 22 | I $S('$D(IBAC):1,IBAC=6:1,1:0) Q | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | S IBINDT=$S($G(IBIDS(151)):IBIDS(151),$P($G(^DGCR(399,DA,"U")),"^"):$P($G(^DGCR(399,DA,"U")),"^"),1:DT) | 
|---|
|  | 25 | D ALL^IBCNS1(DFN,"IBDD",2,IBINDT) | 
|---|
|  | 26 | I $G(IBDD(0))=1 S X=+$O(IBDD(0)) G EN1Q | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | ;S IBOUTP=1,IBINDT=$S($G(IBIDS(151)):IBIDS(151),$P($G(^DGCR(399,DA,"U")),"^"):$P($G(^DGCR(399,DA,"U")),"^"),1:DT) | 
|---|
|  | 29 | ;D ^IBCNS I IBINS S X=IBDD($O(IBDD(0))) S:$O(IBDD(+X)) X="" S X=$S($D(^DIC(36,+X,0)):+X,1:"") G EN1Q | 
|---|
|  | 30 | S X="" | 
|---|
|  | 31 | EN1Q K IBDD,IBINS,IBIN Q | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | MAILA ;Store Mailing Address for Bill Payer Carrier (and if not copying  bill or bill not authorized, | 
|---|
|  | 34 | ; insert Attending Physican Id [36,.1] into Form Locator 92 [399,213] | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | S DA=$S('$D(DA):IBIFN,DA']"":IBIFN,1:DA) | 
|---|
|  | 37 | G MAILQ:$P(^DGCR(399,DA,0),U,11)="p" ; Patient is responsible for bill | 
|---|
|  | 38 | G MAILQ:$P(^DGCR(399,DA,0),U,11)="o" ; Other party is responsible for bill | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | S IB01=+$G(^DGCR(399,DA,"MP")) | 
|---|
|  | 41 | G MAILQ:'$D(^DIC(36,+IB01,0)) ; Bad insurance data | 
|---|
|  | 42 | ; | 
|---|
|  | 43 | S IB02=$$ADD^IBCNADD(DA) | 
|---|
|  | 44 | ; | 
|---|
|  | 45 | D UPDMA(DA,IB01,IB02) | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | I '$D(IBCAN)!($G(IBAC)<3) S $P(^DGCR(399,DA,"U1"),U,13)=$P($G(^DIC(36,+IB01,0)),U,10) | 
|---|
|  | 48 | ; | 
|---|
|  | 49 | MAILQ K IB01,IB02,IB03 Q | 
|---|
|  | 50 | ; | 
|---|
|  | 51 | UPDMA(DA,IB01,IB02) ; Update insurance company mailing address in file 399 | 
|---|
|  | 52 | ; DA = bill ifn | 
|---|
|  | 53 | ;IB02 = string returned from call to ADD^IBCNADD | 
|---|
|  | 54 | ;IB01 = insurance company ifn | 
|---|
|  | 55 | S $P(^DGCR(399,DA,"M"),"^",4,9)=$E($P($G(^DIC(36,+IB01,0)),"^",1),1,30)_"^"_$P(IB02,"^",1)_"^"_$P(IB02,"^",2)_"^"_$P(IB02,"^",4)_"^"_$P(IB02,"^",5)_"^"_$P(IB02,"^",6) | 
|---|
|  | 56 | ; | 
|---|
|  | 57 | ; -- if send bill to employer, piece 7 = name | 
|---|
|  | 58 | I $P(IB02,"^",8)'="",+$P(IB02,"^",8)'=$P(IB02,"^",8) S $P(^DGCR(399,DA,"M"),"^",4)=$P(IB02,"^",8) | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | S $P(^DGCR(399,DA,"M1"),U,1)=$P(IB02,U,3) | 
|---|
|  | 61 | Q | 
|---|
|  | 62 | ; | 
|---|
|  | 63 | MAILIN ;Store Mailing Address for Institution | 
|---|
|  | 64 | S DA=$S('$D(DA):IBIFN,DA']"":IBIFN,1:DA),X=$P(^DGCR(399,DA,"M"),"^",11) G:X']"" MAILINQ G:'$D(^DIC(4,X,0)) MAILINQ | 
|---|
|  | 65 | S IB01=^DIC(4,X,0),IB02=$S($D(^(1)):^(1),1:"") | 
|---|
|  | 66 | S $P(^DGCR(399,IBIFN,"M"),"^",4,9)=$P(IB01,U,1)_"^"_$P(IB02,U,1)_"^"_$P(IB02,U,2)_"^"_$P(IB02,U,3)_"^"_$P(IB01,U,2)_"^"_$TR($P(IB02,U,4),"-") | 
|---|
|  | 67 | S $P(^DGCR(399,IBIFN,"M1"),"^",1)="" | 
|---|
|  | 68 | MAILINQ K IB01,IB02,IB03 Q | 
|---|
|  | 69 | ; | 
|---|
|  | 70 | MAILP ;Store Patient Mailing address | 
|---|
|  | 71 | N DFN,VAPA,DGNAM,IBCONF | 
|---|
|  | 72 | S DA=$S('$D(DA):IBIFN,DA']"":IBIFN,1:DA) | 
|---|
|  | 73 | S DFN=$P(^DGCR(399,DA,0),"^",2),VAPA("P")="" D DEM^VADPT,ADD^VADPT | 
|---|
|  | 74 | S IBCONF=$S('$G(VAPA(12)):0,$P($G(VAPA(22,3)),U,3)'="Y":0,1:1) ; Confidential Address | 
|---|
|  | 75 | S DGNAM=$P(VADM(1),",",2)_" "_$P(VADM(1),",",1) | 
|---|
|  | 76 | S DGNAM=$S($E(VADM(5))'="F":"MR.",'$D(^DIC(11,+$P(^DPT(DFN,0),"^",5),0)):"MS.","DMW"[$E(^DIC(11,$P(^DPT(DFN,0),"^",5),0)):"MRS.",1:"MS.")_DGNAM | 
|---|
|  | 77 | S $P(^DGCR(399,DA,"M"),"^",4)=DGNAM | 
|---|
|  | 78 | I IBCONF D  ; use conf. address for mailing | 
|---|
|  | 79 | . S $P(^DGCR(399,DA,"M"),"^",5,9)=VAPA(13)_"^"_VAPA(14)_"^"_VAPA(16)_"^"_+VAPA(17)_"^"_$P(VAPA(18),U,1) | 
|---|
|  | 80 | . S $P(^DGCR(399,DA,"M1"),"^",1)=VAPA(15) | 
|---|
|  | 81 | I 'IBCONF D | 
|---|
|  | 82 | . S $P(^DGCR(399,DA,"M"),"^",5,9)=VAPA(1)_"^"_VAPA(2)_"^"_VAPA(4)_"^"_+VAPA(5)_"^"_$P(VAPA(11),U,1) | 
|---|
|  | 83 | . S $P(^DGCR(399,DA,"M1"),"^",1)=VAPA(3) | 
|---|
|  | 84 | MAILPQ Q | 
|---|
|  | 85 | ; | 
|---|
|  | 86 | INSUR ; | 
|---|
|  | 87 | Q | 
|---|
|  | 88 | DEL S $P(^DGCR(399,DA,"M"),"^",4,9)="^^^^^",$P(^("M1"),"^",1)="" | 
|---|
|  | 89 | Q | 
|---|