| [613] | 1 | IBCNSC3 ;ALB/NLR - INACTIVATE AND REPOINT INS STUFF1 ; 20-APR-93 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**28,46,68**; 21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | RPTASK ; -- ask if user wishes to repoint patients to active insurance company | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | S DIR(0)="YO",DIR("A")="DO YOU WISH TO REPOINT "_$S(IBC=1:"THIS PATIENT",1:"THESE PATIENTS")_" TO ANOTHER INSURANCE COMPANY",DIR("B")="No" | 
|---|
|  | 8 | W ! D ^DIR K DIR I 'Y!$D(DIRUT) D:$G(IBCOV) COVD G RPTASKQ | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | ; - select company to which policies/plans should be repointed | 
|---|
|  | 11 | S DIC="^DIC(36,",DIC(0)="QEAZ",DIC("A")="REPOINT "_$S(IBC=1:"THIS PATIENT",1:"THESE PATIENTS")_" TO WHICH (ACTIVE) INSURANCE COMPANY: ",DIC("S")="I +$P(^(0),U,5)=0,+$P(^(0),U,16)'=Y,$G(IBCNS)'=Y",DIC("W")="D ID^IBCNSCD3" | 
|---|
|  | 12 | W ! D ^DIC K DIC S IBR=+Y I Y<1!$D(DIRUT) D:$G(IBCOV) COVD G RPTASKQ | 
|---|
|  | 13 | ; | 
|---|
|  | 14 | ; - save the new company in the inactivated company | 
|---|
|  | 15 | S DA=IBCNS,DR=".16////"_IBR,DIE="^DIC(36," D ^DIE K DIE,DA,DR | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | ; - repoint patient policy information | 
|---|
|  | 18 | S DFN=0 F  S DFN=$O(^DPT("AB",IBCNS,DFN)) Q:'DFN  D | 
|---|
|  | 19 | .S IBD=0 F  S IBD=$O(^DPT("AB",IBCNS,DFN,IBD)) Q:'IBD  D | 
|---|
|  | 20 | ..; | 
|---|
|  | 21 | ..; - repoint the policy to the new company | 
|---|
|  | 22 | ..S IBXXX='$G(^DPT(DFN,.312,IBD,1)) | 
|---|
|  | 23 | ..S DIE="^DPT(DFN,.312,",DA(1)=DFN,DA=IBD,DR=".01///`"_IBR_";1.05///NOW;1.06////"_DUZ D ^DIE K DIE,DA,DR | 
|---|
|  | 24 | ..I IBXXX S $P(^DPT(DFN,.312,IBD,1),"^",1,2)="^" | 
|---|
|  | 25 | ..; | 
|---|
|  | 26 | ..; - repoint Insurance Reviews to the new company | 
|---|
|  | 27 | ..S IBX=0 F  S IBX=$O(^IBT(356.2,"D",DFN,IBX)) Q:'IBX  I $P($G(^IBT(356.2,IBX,1)),"^",5)=IBD S DIE="^IBT(356.2,",DA=IBX,DR=".08////"_IBR D ^DIE K DIE,DA,DR | 
|---|
|  | 28 | .; | 
|---|
|  | 29 | .; - adjust 'Covered by Insurance' prompt | 
|---|
|  | 30 | .D COV^IBCNSJ(DFN) | 
|---|
|  | 31 | ; | 
|---|
|  | 32 | ; - repoint all plans | 
|---|
|  | 33 | S IBD=0 F  S IBD=$O(^IBA(355.3,"B",IBCNS,IBD)) Q:'IBD  D | 
|---|
|  | 34 | .S DIE="^IBA(355.3,",DA=IBD,DR=".01///`"_IBR D ^DIE K DIE,DA,DR | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | RPTASKQ K DIRUT,DTOUT,DUOUT,DIROUT,DFN,IBD,IBR,IBX,IBXXX | 
|---|
|  | 37 | Q | 
|---|
|  | 38 | ; | 
|---|
|  | 39 | COVD ; Adjust 'Covered by Insurance' prompt for repointed patients | 
|---|
|  | 40 | S DFN=0 F  S DFN=$O(^DPT("AB",IBCNS,DFN)) Q:'DFN  D COV^IBCNSJ(DFN) | 
|---|
|  | 41 | Q | 
|---|
|  | 42 | ; | 
|---|
|  | 43 | ; | 
|---|
|  | 44 | ; | 
|---|
|  | 45 | VERIFY ; -- allow user to change mind about inactivating company | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | S DIR("B")="No",DIR(0)="YO",DIR("A")="ARE YOU REALLY SURE YOU WISH TO INACTIVATE "_IBN | 
|---|
|  | 48 | S DIR("?",1)="You are about to change "_IBN_" to inactive." | 
|---|
|  | 49 | S DIR("?",2)="This means you will no longer be able to bill " | 
|---|
|  | 50 | S DIR("?")=IBN_" for its patients' charges." | 
|---|
|  | 51 | W ! D ^DIR K DIR I $D(DIRUT) S IBQUIT=1 | 
|---|
|  | 52 | S:Y IBV=1 | 
|---|
|  | 53 | Q | 
|---|
|  | 54 | ; | 
|---|
|  | 55 | HDR ; -- print header | 
|---|
|  | 56 | ; | 
|---|
|  | 57 | N X,TAB | 
|---|
|  | 58 | W:$E(IOST,1,2)["C-"!($G(IBPAG)) @IOF | 
|---|
|  | 59 | S IBPAG=$G(IBPAG)+1 | 
|---|
|  | 60 | W !,?1,"PATIENTS WITH "_$S(+IBV=0:"ACTIVE",+IBV=1:"INACTIVATED")_" INSURANCE, "_$P(^DIC(36,IBCNS,0),U),?69,"PAGE ",IBPAG,?77,$$DAT1^IBOUTL(DT) | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | ; - display Insurance Company name and address. | 
|---|
|  | 63 | S X=$G(^DIC(36,+IBCNS,.11)),TAB=$S('IBV:33,1:38) | 
|---|
|  | 64 | W:$P(X,"^")]"" !?TAB,$P(X,"^") | 
|---|
|  | 65 | W:$P(X,"^",2)]"" !?TAB,$P(X,"^",2) | 
|---|
|  | 66 | W:$P(X,"^",3)]"" !?TAB,$P(X,"^",3) | 
|---|
|  | 67 | W:$P(X,"^")]""!($P(X,"^",2)]"")!($P(X,"^",3)]"") !?TAB | 
|---|
|  | 68 | W $P(X,"^",4) W:$P(X,"^",4)]""&($P(X,"^",5)]"") ", " | 
|---|
|  | 69 | W $P($G(^DIC(5,+$P(X,"^",5),0)),"^") | 
|---|
|  | 70 | W:$P(X,"^",6)]""&($P(X,"^",4)]""!($P(X,"^",5)]"")) "   " | 
|---|
|  | 71 | W $E($P(X,"^",6),1,5),$S($E($P(X,"^",6),6,9)]"":"-"_$E($P(X,"^",6),6,9),1:"") | 
|---|
|  | 72 | ; | 
|---|
|  | 73 | W !?1,"PATIENT",?31,"PATIENT ID",?45,"IR?",?52,"EFF DATE",?63,"EXP DATE",?74,"SUBSCR ID",?95,"WHOSE INS",?106,"EMPLOYER",! | 
|---|
|  | 74 | W $TR($J(" ",IOM)," ","-") | 
|---|
|  | 75 | Q | 
|---|
|  | 76 | ; | 
|---|
|  | 77 | BUILD ; -- set list of patients in ^tmp array | 
|---|
|  | 78 | ; | 
|---|
|  | 79 | K ^TMP($J,"IBCNSC2") | 
|---|
|  | 80 | S DFN=0 F  S DFN=$O(^DPT("AB",IBCNS,DFN)) Q:'DFN  D | 
|---|
|  | 81 | .D COV^IBCNSJ(DFN) | 
|---|
|  | 82 | .S X=$$PT^IBEFUNC(DFN),IBNA=$P(X,U,1),IBNO=$P(X,U,2) | 
|---|
|  | 83 | .S:IBNA="" IBNA="<Pt. "_DFN_" Name Missing>" | 
|---|
|  | 84 | .S IBD=0 F  S IBD=$O(^DPT("AB",IBCNS,DFN,IBD)) Q:'IBD  D | 
|---|
|  | 85 | ..S IBIND=$G(^DPT(DFN,.312,IBD,0)) | 
|---|
|  | 86 | ..I IBCNS'=$P(+IBIND,U) Q  ;bad x-ref,maybe later take action | 
|---|
|  | 87 | ..D SET | 
|---|
|  | 88 | Q | 
|---|
|  | 89 | ; | 
|---|
|  | 90 | SET ; -- store data to be printed in temp array | 
|---|
|  | 91 | ; | 
|---|
|  | 92 | ; ^tmp($j,"ibcnsc2",patient name,dfn,ien of policy) = | 
|---|
|  | 93 | ;    patient id^IR?^effective date^expiration date^subscriber id^whose insurance^employer | 
|---|
|  | 94 | ; | 
|---|
|  | 95 | S IBWI=$P(IBIND,"^",6) | 
|---|
|  | 96 | S VAOA("A")=$S(IBWI="v":5,IBWI="s":6,1:5) | 
|---|
|  | 97 | D OAD^VADPT | 
|---|
|  | 98 | S ^TMP($J,"IBCNSC2",IBNA,DFN,IBD)=IBNO_"^"_$S($$IR^IBCNSJ21(DFN,IBD):"Y",1:"N")_"^"_$P(IBIND,"^",8)_U_$P(IBIND,"^",4)_"^"_$P(IBIND,"^",2)_"^"_IBWI_"^"_VAOA(9) | 
|---|
|  | 99 | Q | 
|---|