1 | IBCNSJ13 ;ALB/CPM - INACTIVATE AN INSURANCE PLAN (CON'T) ; 18-JAN-95
|
---|
2 | ;;Version 2.0 ; INTEGRATED BILLING ;**28,62,52**; 21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | REP(IBCNS,IBNEWP,IBOLDP,IBMER) ; Repoint patient policies from old to new plan
|
---|
6 | ; Input: IBCNS -- Pointer to the company in file #36 which
|
---|
7 | ; offers the plans
|
---|
8 | ; IBNEWP -- Pointer to the new plan in file #355.3
|
---|
9 | ; IBOLDP -- Pointer to the old plan in file #355.3
|
---|
10 | ; IBMER -- [optional]: set to 1 if benefits used should
|
---|
11 | ; be merged instead of deleted
|
---|
12 | ;
|
---|
13 | I '$G(IBCNS)!'$G(IBNEWP)!'$G(IBOLDP) G REPQ
|
---|
14 | N DA,DFN,DIE,DR,IBARR,IBCDFN,IBCBUM,IBCBUD,IBSUB1
|
---|
15 | S (IBCBUM,IBCBUD)=0 W !,"Repointing all policies to the new plan...",!
|
---|
16 | K ^TMP($J,"IBSUBS")
|
---|
17 | S IBSUB1=$$SUBS^IBCNSJ(IBCNS,IBOLDP,0,"^TMP($J,""IBSUBS"")")
|
---|
18 | S DFN=0 F S DFN=$O(^TMP($J,"IBSUBS",DFN)) Q:'DFN D
|
---|
19 | .S IBCDFN=0 F S IBCDFN=$O(^TMP($J,"IBSUBS",DFN,IBCDFN)) Q:'IBCDFN D
|
---|
20 | ..Q:$P($G(^DPT(DFN,.312,IBCDFN,0)),"^",18)'=IBOLDP
|
---|
21 | ..D SWPL(IBNEWP,DFN,IBCDFN) W "."
|
---|
22 | ..;
|
---|
23 | ..; - merge or delete previous benefits used
|
---|
24 | ..S IBDAT="" F S IBDAT=$O(^IBA(355.5,"APPY",DFN,IBOLDP,IBDAT)) Q:IBDAT="" D
|
---|
25 | ...S IBCDFN1=0 F S IBCDFN1=$O(^IBA(355.5,"APPY",DFN,IBOLDP,IBDAT,IBCDFN1)) Q:'IBCDFN1 I IBCDFN1=IBCDFN S IBBU=$O(^(IBCDFN1,0)) D
|
---|
26 | ....I '$D(^IBA(355.4,"APY",IBNEWP,IBDAT))!'$G(IBMER) D DBU^IBCNSJ(IBBU) S IBCBUD=IBCBUD+1 Q
|
---|
27 | ....D MERG(IBNEWP,IBBU) S IBCBUM=IBCBUM+1
|
---|
28 | ;
|
---|
29 | W !,"All policies have been re-pointed to the new plan."
|
---|
30 | I 'IBCBUD,'IBCBUM W !,"There were no Benefits Used merged or deleted." G REPQ
|
---|
31 | W !,$S(IBCBUM:IBCBUM,1:"No")," Benefits Used record",$S(IBCBUM=1:" was",1:"s were")," merged."
|
---|
32 | W !,$S(IBCBUD:IBCBUD,1:"No")," Benefits Used record",$S(IBCBUD=1:" was",1:"s were")," deleted."
|
---|
33 | REPQ K ^TMP($J,"IBSUBS")
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | SWPL(IBCPOL,DFN,IBCDFN) ; Change plan in policy.
|
---|
37 | ; Input: IBCPOL -- Pointer to the new plan in file #355.3
|
---|
38 | ; DFN -- Pointer to the patient in file #2
|
---|
39 | ; IBCDFN -- Pointer to the policy in file #2.312
|
---|
40 | ;
|
---|
41 | I '$G(IBCPOL)!'$G(DFN)!'$G(IBCDFN) G SWPLQ
|
---|
42 | S DR=".18////"_IBCPOL_";1.05///NOW;1.06////"_DUZ
|
---|
43 | S DA=IBCDFN,DA(1)=DFN,DIE="^DPT("_DFN_",.312," D ^DIE K DIE,DA,DR
|
---|
44 | D COV^IBCNSJ(DFN) ; adjust 'Covered by Insurance' field
|
---|
45 | D POL^IBCNSU41(DFN) ; stuff sponsor data into Tricare policies
|
---|
46 | SWPLQ Q
|
---|
47 | ;
|
---|
48 | MERG(IBCPOL,IBBU,IBD) ; Merge previous benefits used into a new plan.
|
---|
49 | ; Input: IBCPOL -- Pointer to the new plan in file #355.3
|
---|
50 | ; IBBU -- Pointer to the benefit to merged in file #355.5
|
---|
51 | ; IBD -- [optional] : new date for the benefit used
|
---|
52 | ;
|
---|
53 | N DIC,DLAYGO,IBCBU,X,Y
|
---|
54 | I '$G(IBCPOL)!'$G(IBBU) G MERGQ
|
---|
55 | S X=IBCPOL,DIC(0)="L",DLAYGO=355.5,DIC="^IBA(355.5,"
|
---|
56 | K DD,DO D FILE^DICN G:+Y<0 MERGQ S IBCBU=+Y
|
---|
57 | S $P(^IBA(355.5,IBCBU,0),"^",2,30)=$P($G(^IBA(355.5,IBBU,0)),"^",2,30)
|
---|
58 | I $G(IBD) S $P(^IBA(355.5,IBCBU,0),"^",3)=IBD
|
---|
59 | I $D(^IBA(355.5,IBBU,1)) S ^IBA(355.5,IBCBU,1)=^(1)
|
---|
60 | S DA=IBCBU,DIK="^IBA(355.5," D IX1^DIK,EDUP^IBCNSD1
|
---|
61 | D DBU^IBCNSJ(IBBU)
|
---|
62 | MERGQ Q
|
---|
63 | ;
|
---|
64 | BU(IBQ) ; Be sure user really wants to repoint policies with benefits used.
|
---|
65 | ; Required variable input:
|
---|
66 | ; IBCPOL -- Pointer to the new plan in file #355.3
|
---|
67 | ;
|
---|
68 | ; Formal parameter output:
|
---|
69 | ; IBQ -- Set to 1 if user wishes to quit
|
---|
70 | ;
|
---|
71 | ; Optional variable output:
|
---|
72 | ; IBMERGE -- Set to 1 if user wishes to merge applicable benefits
|
---|
73 | ; IBREP -- Set to 0 if user does not want to repoint policies
|
---|
74 | ;
|
---|
75 | S IBQ=0 I '$D(^IBA(355.4,"APY",IBCPOL)) D G BUQ
|
---|
76 | .W !!,*7," ** Please Note **",!!?5,"The selected plan has no Annual Benefits with which to associate"
|
---|
77 | .W !?5,"the Benefits Used from the current plan!"
|
---|
78 | .W !!?5,"If you re-point all policies to this plan, the Benefits Used for"
|
---|
79 | .W !?5,"the current plan will be deleted!!"
|
---|
80 | ;
|
---|
81 | S DIR("A",1)="The selected plan has Annual Benefits on file. Should the repointing"
|
---|
82 | S DIR("A")="of the policies attempt to merge all transferable benefits"
|
---|
83 | S DIR(0)="Y",DIR("?")="^D HLMT^IBCNSJ11" D ^DIR K DIR
|
---|
84 | S IBMERGE=Y
|
---|
85 | I $D(DIRUT) K DIRUT,DTOUT,DUOUT,DIROUT D
|
---|
86 | .S DIR(0)="Y",DIR("A")=" Do you still wish to re-point these policies to a new plan",DIR("?")="^D HLRP^IBCNSJ11"
|
---|
87 | .W ! D ^DIR K DIR I $D(DIRUT) S IBQ=1 D DELP^IBCNSJ11 Q
|
---|
88 | .K DIRUT,DTOUT,DUOUT,DIROUT I 'Y S IBREP=0 D MAIL^IBCNSJ11,DELP^IBCNSJ11
|
---|
89 | BUQ Q
|
---|