| 1 | IBCNSM32 ;ALB/AAS - INSURANCE MANAGEMENT - POLICY EDIT ; 23-JAN-95
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**28,40,52,85,103,133,361**;21-MAR-94;Build 9
 | 
|---|
| 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | PATPOL(IBCDFN) ; -- edit patient specific policy info
 | 
|---|
| 6 |  I '$G(IBCDFN) G PATPOLQ
 | 
|---|
| 7 |  D SAVEPT^IBCNSP3(DFN,IBCDFN)
 | 
|---|
| 8 |  D POL^IBCNSU41(DFN)
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 |  ; -- give warning if expired or inactive co.
 | 
|---|
| 11 |  I $P(^DPT(DFN,.312,IBCDFN,0),"^",4),$P(^(0),"^",4)'>DT W !,"WARNING:  This appears to be an expired policy!",!
 | 
|---|
| 12 |  I $P(^DIC(36,+$P(^DPT(DFN,.312,IBCDFN,0),"^"),0),"^",5) W !,*7,"WARNING:  This insurance company is INACTIVE!",!
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  N IBAD,IBDIF,DA,DR,DIC,DIE,DGSENFLG S DGSENFLG=1
 | 
|---|
| 15 |  S DIE="^DPT("_DFN_",.312,",DA(1)=DFN,DA=IBCDFN
 | 
|---|
| 16 |  S DR="S IBAD="""";8;@333;3;D FUTURE^IBCNSM31;6;S IBAD=X;K X I '$$VET^IBCNSU1() S Y=""@10"";17///^S X=$P(^DPT(DFN,0),U);16///^S X=""01"""
 | 
|---|
| 17 |  ;S DR="S IBAD="""";8;@333;3;D FUTURE^IBCNSM31;6;S IBAD=X;I IBAD'=""v"" S Y=""@10"";17"_$S($$VET^IBCNSU1():"///^S X="""_$P(^DPT(DFN,0),U,1)_"""",1:"//"_);16///^S X=""01"""
 | 
|---|
| 18 |  S DR=DR_";S Y=""@20"";@10;17;16//^S X=$S(IBAD=""s"":""02"",1:"""");@20;1;3.01;3.12;1.09//;I $G(IBREG) S Y=""@99"";.2;4.01;4.02;@99"
 | 
|---|
| 19 |  I $G(IBREG),$D(^XUSEC("IB INSURANCE SUPERVISOR",DUZ)) S DR=".01//;"_DR
 | 
|---|
| 20 |  L +^DPT(DFN,.312,+IBCDFN):5 I '$T D LOCKED^IBTRCD1 G PATPOLQ
 | 
|---|
| 21 |  D ^DIE I $D(Y)!($D(DTOUT)) S IBQUIT=1
 | 
|---|
| 22 |  I '$D(DA) S IBQUIT=1 G PATPOLQ
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ; -- if the company was changed, change the policy plan
 | 
|---|
| 25 |  I $G(IBREG),$G(IBCNS),+$G(^DPT(DFN,.312,IBCDFN,0))'=IBCNS D CHPL
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  K IBFUTUR
 | 
|---|
| 28 |  D COMPPT^IBCNSP3(DFN,IBCDFN)
 | 
|---|
| 29 |  I IBDIF D UPDATPT^IBCNSP3(DFN,IBCDFN)
 | 
|---|
| 30 |  L -^DPT(DFN,.312,+IBCDFN)
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  D FUTURE^IBCNSM31 K Y,IBFUTUR
 | 
|---|
| 33 | PATPOLQ Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | CHPL ; Change policy plan if the policy company differs from plan company.
 | 
|---|
| 36 |  ;  Required variable input:
 | 
|---|
| 37 |  ;        DFN  --  pointer to the patient in file #2
 | 
|---|
| 38 |  ;     IBCDFN  --  pointer to the policy in file #2.312
 | 
|---|
| 39 |  ;      IBCNS  --  pointer to the plan company in file #36
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  N IBBU,IBCNS1,IBCPOL1,IBNEWP1,IBPLAN,IBIP,IBT,X
 | 
|---|
| 42 |  S X=$G(^DPT(DFN,.312,IBCDFN,0)),IBCNS1=+X
 | 
|---|
| 43 |  S IBPLAN=$P(X,"^",18),IBIP='$P($G(^IBA(355.3,IBPLAN,0)),"^",2)
 | 
|---|
| 44 |  W !!,"Since you have changed the Insurance Company to ",$E($P($G(^DIC(36,IBCNS1,0)),"^"),1,25),","
 | 
|---|
| 45 |  W !,"you must now change the Insurance Plan to which this veteran"
 | 
|---|
| 46 |  W !,"is subscribing to one which is offered by this company!",!
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 |  ; - warn about benefits used
 | 
|---|
| 49 |  D BU^IBCNSJ21 I $O(IBBU(0)) D
 | 
|---|
| 50 |  .W !,"The current policy plan has Benefits Used associated with it!"
 | 
|---|
| 51 |  .W !,"If you add or select another plan to associate with this policy,"
 | 
|---|
| 52 |  .W !,"these Benefits Used will be deleted!",!
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  ; - warn about Individual Plans
 | 
|---|
| 55 |  I IBIP D
 | 
|---|
| 56 |  .W !,"  ***  Please note:  Since the veteran's current plan is an Individual Plan,"
 | 
|---|
| 57 |  .W !?21,"this plan will be deleted if you add or select a new"
 | 
|---|
| 58 |  .W !?21,"plan to associate with this policy.",!
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ; - select or add a new plan
 | 
|---|
| 61 |  S IBCPOL1=$$LK^IBCNSM31(IBCNS1)
 | 
|---|
| 62 |  I 'IBCPOL1 D NEW^IBCNSJ3(IBCNS1,.IBCPOL1) S:IBCPOL1 IBNEWP1=1
 | 
|---|
| 63 |  I 'IBCPOL1 D  G CHPLQ
 | 
|---|
| 64 |  .W !!,"A new plan was not added or selected!"
 | 
|---|
| 65 |  .W !,"Changing the policy company back to ",$E($P($G(^DIC(36,IBCNS,0)),"^"),1,25),"..."
 | 
|---|
| 66 |  .S DIE="^DPT(DFN,.312,",DA(1)=DFN,DA=IBCDFN,DR=".01////"_IBCNS_";1.05///NOW;1.06////"_DUZ D ^DIE K DA,DIE,DR
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 |  W !!,"Changing the policy plan..."
 | 
|---|
| 69 |  S DIE="^DPT(DFN,.312,",DA(1)=DFN,DA=IBCDFN,DR=".18////"_IBCPOL1_";1.05///NOW;1.06////"_DUZ D ^DIE K DA,DIE,DR
 | 
|---|
| 70 |  I IBIP!$G(IBNEWP) W !!,"Deleting the ",$S(IBIP:"current Individual",1:"previously-added")," plan for ",$E($P($G(^DIC(36,IBCNS,0)),"^"),1,25),"..." D DEL^IBCNSJ(IBPLAN)
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  ; - delete any dangling benefits used
 | 
|---|
| 73 |  I $O(IBBU(0)) D
 | 
|---|
| 74 |  .N IBDAT
 | 
|---|
| 75 |  .W !!,"Deleting current Benefits Used... "
 | 
|---|
| 76 |  .S IBDAT="" F  S IBDA=$O(IBBU(IBDAT)) Q:IBDAT=""  D DBU^IBCNSJ(IBBU(IBDAT))
 | 
|---|
| 77 |  ;
 | 
|---|
| 78 |  ; - repoint all Insurance Reviews to new company
 | 
|---|
| 79 |  I $$IR^IBCNSJ21(DFN,IBCDFN) D
 | 
|---|
| 80 |  .W !!,"Repointing all Insurance Reviews to ",$E($P($G(^DIC(36,IBCNS1,0)),"^"),1,25),"... "
 | 
|---|
| 81 |  .S IBT=0 F  S IBT=$O(^IBT(356.2,"D",DFN,IBT)) Q:'IBT  I $P($G(^IBT(356.2,IBT,1)),"^",5)=IBCDFN,$P($G(^(0)),"^",8)'=IBCNS1 S DA=IBT,DR=".08////"_IBCNS1,DIE="^IBT(356.2," D ^DIE K DA,DR,DIE W "."
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 |  S IBCNS=IBCNS1,IBNEWP=$G(IBNEWP1)
 | 
|---|
| 84 | CHPLQ Q
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 | PLAN(DFN,IBCDFN,IBCNS) ; Fix policies when identified.
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 |  ;  This function is invoked from Inactivate Plan or Change Policy Plan,
 | 
|---|
| 89 |  ;  when it is recognized that the policy and plan companies are out
 | 
|---|
| 90 |  ;  of synch.  If the user doesn't select a new plan to associate with
 | 
|---|
| 91 |  ;  the policy, the policy company will be changed to the plan company.
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 |  ;  The input parameters are defined above.
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 |  N IBNEWP
 | 
|---|
| 96 |  I '$G(DFN)!'$G(IBCDFN)!'$G(IBCNS) G PLANQ
 | 
|---|
| 97 |  W !!,*7,"The policy company and plan company are not the same!!"
 | 
|---|
| 98 |  W !,"This inconsistency probably occurred in the past when changing"
 | 
|---|
| 99 |  W !,"the policy company through Screen 5 of Registration."
 | 
|---|
| 100 |  W !!,"You must resolve this inconsistency.  If you do not choose a new plan"
 | 
|---|
| 101 |  W !,"offered by the policy company, the policy company will be changed to"
 | 
|---|
| 102 |  W !,"the plan company (",$P($G(^DIC(36,IBCNS,0)),"^"),") ...."
 | 
|---|
| 103 |  D CHPL
 | 
|---|
| 104 | PLANQ Q
 | 
|---|
| 105 | HLP ; -- help text for subscriber id
 | 
|---|
| 106 |  W !,?5,"Enter Medicare Claim Number (Subscriber ID) exactly as it"
 | 
|---|
| 107 |  W !,?5,"appears on the Medicare Insurance Card including All Characters."
 | 
|---|
| 108 |  W !,?5,"Valid HICN formats are:  1-3 alpha characters followed by 6 or 9 digits, "
 | 
|---|
| 109 |  W !,?5,"or 9 digits followed by 1 alpha character optionally followed by another "
 | 
|---|
| 110 |  W !,?5,"alpha character or 1 digit."
 | 
|---|
| 111 |  Q
 | 
|---|