| [613] | 1 | IBCNSJ21 ;ALB/CPM - CHANGE POLICY PLAN (CON'T) ; 12-JAN-95 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**28**; 21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | NOTES ; Display any necessary notes to the user. | 
|---|
|  | 6 | N IBS S IBS=0 | 
|---|
|  | 7 | S IBIP='$P(IBPLAND,"^",2) I IBIP S IBS=1 W !,"Please note that this is an Individual Plan." | 
|---|
|  | 8 | I $P(IBPLAND,"^",11) S IBS=1 W !,*7,"This plan is currently inactive." | 
|---|
|  | 9 | D BU I $O(IBBU(0)) S IBS=1 W !,*7,"There are Benefits Used associated with this plan!" | 
|---|
|  | 10 | I $O(^IBA(355.7,"APP",DFN,IBCDFN,0)) S IBS=1 W !,*7,"This patient has riders associated with this policy!" | 
|---|
|  | 11 | I $$IR(DFN,IBCDFN) S IBS=1 W !,*7,"There are insurance reviews associated with this policy." | 
|---|
|  | 12 | W:IBS ! | 
|---|
|  | 13 | Q | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | BU ; Are there any benefits used for this plan and policy? | 
|---|
|  | 16 | ;  Input variables required: | 
|---|
|  | 17 | ;         DFN  --  ptr to patient in file #2 | 
|---|
|  | 18 | ;      IBPLAN  --  ptr to policy plan in file #355.3 | 
|---|
|  | 19 | ;      IBCDFN  --  ptr to policy in sub-file #2.312 | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | ;  Output variable array: | 
|---|
|  | 22 | ;   IBBU(X)=Y  --  array of benefits used associated with the policy, | 
|---|
|  | 23 | ;                  where X is the benefit year, and Y points to the bu | 
|---|
|  | 24 | ;                  in file #355.5 | 
|---|
|  | 25 | N DATE,POL | 
|---|
|  | 26 | S DATE="" F  S DATE=$O(^IBA(355.5,"APPY",DFN,IBPLAN,DATE)) Q:DATE=""  D | 
|---|
|  | 27 | .S POL=0 F  S POL=$O(^IBA(355.5,"APPY",DFN,IBPLAN,DATE,POL)) Q:'POL  I POL=IBCDFN S IBBU(-DATE)=$O(^(POL,0)) | 
|---|
|  | 28 | Q | 
|---|
|  | 29 | ; | 
|---|
|  | 30 | AB ; Find all Annual Benefits associated with an Insurance Plan. | 
|---|
|  | 31 | ;  Input variables required: | 
|---|
|  | 32 | ;    IBCPOL  --  ptr to proposed plan in file #355.3 | 
|---|
|  | 33 | ; | 
|---|
|  | 34 | ;  Output variable array: | 
|---|
|  | 35 | ;   IBAB(X)  --  array of annual benefits, where X is the benefit year | 
|---|
|  | 36 | ; | 
|---|
|  | 37 | N X S X="" | 
|---|
|  | 38 | F  S X=$O(^IBA(355.4,"APY",IBCPOL,X)) Q:X=""  S IBAB(-X)="" | 
|---|
|  | 39 | Q | 
|---|
|  | 40 | ; | 
|---|
|  | 41 | IR(DFN,IBCDFN) ; Are there any Insurance reviews associated with the policy? | 
|---|
|  | 42 | ;  Input:     DFN  --  Pointer to the patient in file #2 | 
|---|
|  | 43 | ;          IBCDFN  --  Pointer to the policy in file #2.312 | 
|---|
|  | 44 | ; Output:       1  --  There are associated insurance reviews, or | 
|---|
|  | 45 | ;               0  --  there are not. | 
|---|
|  | 46 | N X,Y S X=0 | 
|---|
|  | 47 | I $G(DFN),$G(IBCDFN) S Y=0 F  S Y=$O(^IBT(356.2,"D",DFN,Y)) Q:'Y  I $P($G(^IBT(356.2,Y,1)),"^",5)=IBCDFN S X=1 Q | 
|---|
|  | 48 | Q X | 
|---|
|  | 49 | ; | 
|---|
|  | 50 | DMBU ; Display mergeable benefits used. | 
|---|
|  | 51 | N IBMRG | 
|---|
|  | 52 | S X=0 F  S X=$O(IBAB(X)) Q:'X  S IBMRG(X)="" | 
|---|
|  | 53 | S X=0 F  S X=$O(IBBU(X)) Q:'X  S IBMRG(X)="" | 
|---|
|  | 54 | W !!," Existing Benefit Used Yr",?31,"Annual Benefit for Proposed Plan",?66,"Merge BU?",! | 
|---|
|  | 55 | S X=0 F  S X=$O(IBMRG(X)) Q:'X  D | 
|---|
|  | 56 | .W ! W:$D(IBBU(X)) ?6,$$DAT2^IBOUTL(X) W:$D(IBAB(X)) ?40,$$DAT2^IBOUTL(X) | 
|---|
|  | 57 | .W ?69 I '$D(IBAB(X)) W "NO" S IBMRGN=1 Q | 
|---|
|  | 58 | .I '$D(IBBU(X)) W "-na-" Q | 
|---|
|  | 59 | .S IBMRGF(X)=IBBU(X) W "YES" | 
|---|
|  | 60 | Q | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | MD ; Merge/delete benefits used, if necessary. | 
|---|
|  | 63 | I $G(IBMERGE) D | 
|---|
|  | 64 | .W !,"Merging previous benefits used into the new plan... " | 
|---|
|  | 65 | .S IBX="" F  S IBX=$O(IBMRGF(IBX)) Q:IBX=""  D MERG^IBCNSJ13(IBCPOL,+IBMRGF(IBX)) K IBBU(IBX) | 
|---|
|  | 66 | .W "done." | 
|---|
|  | 67 | ; | 
|---|
|  | 68 | ; - delete any remaining benefits used | 
|---|
|  | 69 | I $O(IBBU(0)) D | 
|---|
|  | 70 | .W !,"Deleting previous benefits used... " | 
|---|
|  | 71 | .S IBX="" F  S IBX=$O(IBBU(IBX)) Q:IBX=""  D DBU^IBCNSJ(IBBU(IBX)) | 
|---|
|  | 72 | .W "done." | 
|---|
|  | 73 | MDQ Q | 
|---|
|  | 74 | ; | 
|---|
|  | 75 | HLSW ; Reader help for switching plans. | 
|---|
|  | 76 | W !!,"If you wish to change the subscribed-to plan the newly-",$S($G(IBNEWP):"added",1:"selected")," plan," | 
|---|
|  | 77 | W !,"enter 'YES'.  Otherwise, enter 'NO'." | 
|---|
|  | 78 | Q:'$O(IBBU(0)) | 
|---|
|  | 79 | W !!,"If you change the plan for this policy, " | 
|---|
|  | 80 | I '$G(IBMERGE)!'$O(IBMRGF(0)) W "all existing benefits will be deleted." Q | 
|---|
|  | 81 | I '$G(IBMRGN) W "all existing benefits will be merged." Q | 
|---|
|  | 82 | W "all transferable benefits",!,"will be merged.  All others will be deleted." | 
|---|
|  | 83 | Q | 
|---|