1 | IBCNSJ4 ;ALB/CPM - INACTIVATE MULTIPLE INSURANCE PLANS ; 20-MAR-95
|
---|
2 | ;;Version 2.0 ; INTEGRATED BILLING ;**28,62**; 21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | EN ; Inactivate/Delete Multiple Plans
|
---|
6 | N DFN,IBAB,IBSEL,IBCDFN,IBSUB,IBBUM,IBBUD,IBBUMC
|
---|
7 | N IBCPOL,IBDAT,IBDATP,IBCDFN1,IBBU,IBABDAT,IBINACTM,Y
|
---|
8 | W !!,"This process will allow you to transfer subscribers from many insurance"
|
---|
9 | W !,"plans into one 'master' plan. After the subscribers from each selected"
|
---|
10 | W !,"plan are transferred to the master plan, the selected plan will be deleted"
|
---|
11 | W !,"from your system."
|
---|
12 | W !!,"You should be very careful when you use this tool."
|
---|
13 | W !!,"You must first select the master plan into which you will transfer all"
|
---|
14 | W !,"selected plan subscribers. This plan must be an active group plan.",!
|
---|
15 | ;
|
---|
16 | ; - select/display the master plan
|
---|
17 | S Y=0,IBINACTM=1 D SEL4^IBCNSJ14 G:IBQUIT ENQ
|
---|
18 | S IBPLAND=$G(^IBA(355.3,IBPLAN,0)) D MSTR
|
---|
19 | ;
|
---|
20 | ; - check annual benefits
|
---|
21 | S X="" F S X=$O(^IBA(355.4,"APY",IBPLAN,X)) Q:X="" S IBAB(-X)=""
|
---|
22 | I $D(IBAB) W !!,"Annual Benefits have been established for this plan." G CONT
|
---|
23 | S DIR(0)="Y",DIR("A")="This plan has no Annual Benefits on file! Do you wish to continue"
|
---|
24 | S DIR("?")="If you wish to continue with this processing, enter 'YES.' Otherwise, enter 'NO.'"
|
---|
25 | W ! D ^DIR K DIR I 'Y K DIRUT,DTOUT,DUOUT,DIROUT G ENQ
|
---|
26 | ;
|
---|
27 | CONT ; - explain next step
|
---|
28 | I '$D(IBAB) W !!,*7,"Please note that any Benefits Used on file for subscribers who",!,"will be merged into the master plan will be deleted!"
|
---|
29 | I $D(IBAB) D
|
---|
30 | .W !!,"Any Benefits Used on file for subscribers who will be merged into the"
|
---|
31 | .W !,"master plan will also be merged if the master plan has any Annual Benefits"
|
---|
32 | .W !,"dated in the same year as the Benefits Used. Please note that the"
|
---|
33 | .W !,"Benefits Used date will be changed to match the date of the Annual Benefit."
|
---|
34 | ;
|
---|
35 | W !!,"You may now select the plans to be merged into the master plan... (type <CR>)"
|
---|
36 | R X:DTIME
|
---|
37 | ;
|
---|
38 | ; - allow multiple plans to be selected
|
---|
39 | K ^TMP($J,"IBSEL") W !," ....hmmm..." D LKP^IBCNSU2(IBCNS,1,1,.IBSEL,0,1) I '$O(^TMP($J,"IBSEL",0)) W !!,"No plans were selected!" G ENQ
|
---|
40 | D MSTR S (X,Y)=0 F S X=$O(^TMP($J,"IBSEL",X)) Q:'X I X'=IBPLAN S Y=Y+1
|
---|
41 | W !!,"There ",$S(Y=1:"was ",1:"were "),$S(Y:Y,1:"no")," plan",$E("s",Y'=1)," selected to be merged into the master plan."
|
---|
42 | G:'Y ENQ
|
---|
43 | ;
|
---|
44 | ; - okay to go?
|
---|
45 | S DIR(0)="Y",DIR("A")="Okay to merge th"_$S(Y=1:"is",1:"ese")_" plan"_$S(Y=1:"",1:"s")_" into the master plan"
|
---|
46 | S DIR("?")="If you wish to merge the selected plans into the master plan, enter 'YES.' Otherwise, enter 'NO.'"
|
---|
47 | W ! D ^DIR K DIR I 'Y K DIRUT,DTOUT,DUOUT,DIROUT G ENQ
|
---|
48 | ;
|
---|
49 | W !!,"Merging each selected plan into the master plan...",!
|
---|
50 | S (IBSUB,IBBUD,IBBUM,IBBUMC)=0
|
---|
51 | S IBCPOL=0 F S IBCPOL=$O(^TMP($J,"IBSEL",IBCPOL)) Q:'IBCPOL I IBCPOL'=IBPLAN D
|
---|
52 | .W "." K ^TMP($J,"IBSUBS")
|
---|
53 | .S IBSUB=IBSUB+$$SUBS^IBCNSJ(IBCNS,IBCPOL,0,"^TMP($J,""IBSUBS"")")
|
---|
54 | .;
|
---|
55 | .; - move the subscribers and benefits used
|
---|
56 | .S DFN=0 F S DFN=$O(^TMP($J,"IBSUBS",DFN)) Q:'DFN D
|
---|
57 | ..S IBCDFN=0 F S IBCDFN=$O(^TMP($J,"IBSUBS",DFN,IBCDFN)) Q:'IBCDFN D
|
---|
58 | ...Q:$P($G(^DPT(DFN,.312,IBCDFN,0)),"^",18)=IBPLAN
|
---|
59 | ...D SWPL^IBCNSJ13(IBPLAN,DFN,IBCDFN)
|
---|
60 | ...;
|
---|
61 | ...; - merge/change/delete previous benefits used
|
---|
62 | ...S IBDAT="" F S IBDAT=$O(^IBA(355.5,"APPY",DFN,IBCPOL,IBDAT)) Q:IBDAT="" D
|
---|
63 | ....S IBCDFN1=0 F S IBCDFN1=$O(^IBA(355.5,"APPY",DFN,IBCPOL,IBDAT,IBCDFN1)) Q:'IBCDFN1 I IBCDFN1=IBCDFN S IBBU=$O(^(IBCDFN1,0)) D
|
---|
64 | .....S IBDATP=-IBDAT,IBABDAT=$O(IBAB($E(IBDATP,1,3)_"0000"))
|
---|
65 | .....I $E(IBABDAT,1,3)'=$E(IBDATP,1,3) S IBBUD=IBBUD+1 D DBU^IBCNSJ(IBBU) Q
|
---|
66 | .....S IBBUM=IBBUM+1 S:IBABDAT'=IBDATP IBBUMC=IBBUMC+1
|
---|
67 | .....D MERG^IBCNSJ13(IBPLAN,IBBU,$S(IBABDAT'=IBDATP:IBABDAT,1:0))
|
---|
68 | .;
|
---|
69 | .; - delete the plan
|
---|
70 | .D DEL^IBCNSJ(IBCPOL)
|
---|
71 | ;
|
---|
72 | W !!,"All selected plans have been deleted."
|
---|
73 | W !,$S(IBSUB:IBSUB,1:"No")," subscriber",$S(IBSUB=1:" was",1:"s were")," transferred to the master plan."
|
---|
74 | W !,$S(IBBUD:IBBUD,1:"No")," Benefits Used record",$S(IBBUD=1:" was",1:"s were")," deleted."
|
---|
75 | W !,$S(IBBUM:IBBUM,1:"No")," Benefits Used record",$S(IBBUM=1:" was",1:"s were")," merged."
|
---|
76 | I IBBUM W " (",IBBUMC," had the date changed)"
|
---|
77 | ;
|
---|
78 | ENQ K ^TMP($J,"IBSUBS"),^("IBSEL")
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | ;
|
---|
82 | MSTR ; Display Master Plan Information
|
---|
83 | W !!?24,"*** M A S T E R P L A N ***"
|
---|
84 | W !,"Plan Company: ",$P($G(^DIC(36,IBCNS,0)),"^")
|
---|
85 | W !?3,"Plan Name: ",$S($P(IBPLAND,"^",3)]"":$P(IBPLAND,"^",3),1:"<unspecified>")
|
---|
86 | W !," Plan Number: ",$S($P(IBPLAND,"^",4)]"":$P(IBPLAND,"^",4),1:"<unspecified>")
|
---|
87 | Q
|
---|
88 | ;
|
---|
89 | ;
|
---|
90 | ASK() ; Does the user wish to inactivate multiple plans?
|
---|
91 | N DIR,DIRUT,DUOUT,DTOUT,DIROUT,X,Y
|
---|
92 | S DIR(0)="Y",DIR("A")="Do you wish to delete multiple plans simultaneously"
|
---|
93 | S DIR("?")="If you wish to transfer subscribers from many duplicate plans into a master plan, enter 'YES.' To inactivate a single plan, enter 'NO.'"
|
---|
94 | W ! D ^DIR
|
---|
95 | Q $S($D(DIRUT)!$D(DUOUT):-1,1:+Y)
|
---|