| 1 | IBCNSM1 ;ALB/AAS - INSURANCE MANAGEMENT - OUTPUTS ; 22-OCT-92 | 
|---|
| 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**28,56**; 21-MAR-94 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | % G EN^IBCNSM | 
|---|
| 6 | ; | 
|---|
| 7 | VP ; -- View Patient Policy Info | 
|---|
| 8 | D FULL^VALM1 | 
|---|
| 9 | N I,J,IBXX,VALMY | 
|---|
| 10 | D EN^VALM2($G(XQORNOD(0))) | 
|---|
| 11 | I $D(VALMY) S IBXX=0 F  S IBXX=$O(VALMY(IBXX)) Q:'IBXX  D  ;W !,"Entry ",X,"Selected" D | 
|---|
| 12 | .S IBPPOL=$G(^TMP("IBNSMDX",$J,$O(^TMP("IBNSM",$J,"IDX",IBXX,0)))) | 
|---|
| 13 | .Q:IBPPOL="" | 
|---|
| 14 | .D EN^VALM("IBCNS EXPANDED POLICY") | 
|---|
| 15 | .Q | 
|---|
| 16 | I '$G(IBFASTXT) D BLD^IBCNSM | 
|---|
| 17 | S VALMBCK="R" Q | 
|---|
| 18 | ; | 
|---|
| 19 | AB ; -- Edit Annual Benefits | 
|---|
| 20 | D FULL^VALM1 | 
|---|
| 21 | N I,J,IBXX,VALMY | 
|---|
| 22 | D EN^VALM2($G(XQORNOD(0))) | 
|---|
| 23 | I $D(VALMY) S IBXX=0 F  S IBXX=$O(VALMY(IBXX)) Q:'IBXX  D | 
|---|
| 24 | .S IBPPOL=$G(^TMP("IBNSMDX",$J,$O(^TMP("IBNSM",$J,"IDX",IBXX,0)))) | 
|---|
| 25 | .Q:IBPPOL="" | 
|---|
| 26 | .S IBCNS=$P(IBPPOL,"^",5),IBCPOL=$P(IBPPOL,"^",22) | 
|---|
| 27 | .D FULL^VALM1 | 
|---|
| 28 | .D EN^VALM("IBCNS ANNUAL BENEFITS") | 
|---|
| 29 | .Q | 
|---|
| 30 | S VALMBCK="R" Q | 
|---|
| 31 | ; | 
|---|
| 32 | UP ; -- Print new, not verified insurance | 
|---|
| 33 | ; | 
|---|
| 34 | N I,J,IBXX,IBCNS,VALMY | 
|---|
| 35 | D EN^VALM2($G(XQORNOD(0))) | 
|---|
| 36 | I $D(VALMY) S IBXX=0 F  S IBXX=$O(VALMY(IBXX)) W !,IBXX,! H 2 Q:'IBXX  D | 
|---|
| 37 | .S IBPPOL=$G(^TMP("IBNSMDX",$J,$O(^TMP("IBNSM",$J,"IDX",IBXX,0)))) | 
|---|
| 38 | .Q:IBPPOL="" | 
|---|
| 39 | .S IBCNS=$P(IBPPOL,"^",5),IBCPOL=$P(IBPPOL,"^",22) | 
|---|
| 40 | .S INSCO=^DIC(36,IBCNS,0) | 
|---|
| 41 | .W !!,$P(INSCO,"^"),!! H 2 | 
|---|
| 42 | .W !!,$P(IBPPOL,"^",4),!! H 2 | 
|---|
| 43 | .Q | 
|---|
| 44 | D FULL^VALM1 | 
|---|
| 45 | W !!,"REPORT OF NEW NOT VERIFIED INSURANCE",!! H 2 | 
|---|
| 46 | S VALMBCK="R" Q | 
|---|
| 47 | ; | 
|---|
| 48 | PC ; -- Print Patient Insurance info | 
|---|
| 49 | ;N IBLINE,IBCY,IBWP | 
|---|
| 50 | N IBWP | 
|---|
| 51 | ; | 
|---|
| 52 | PCWP ; -- Print Insurance Coverage, Worksheet | 
|---|
| 53 | ; | 
|---|
| 54 | N I,J,IBXX,IBLINE,IBCY,VALMY | 
|---|
| 55 | D EN^VALM2($G(XQORNOD(0))) | 
|---|
| 56 | I $D(VALMY) S IBXX=0 F  S IBXX=$O(VALMY(IBXX)) Q:'IBXX  D | 
|---|
| 57 | .S IBPPOL=$G(^TMP("IBNSMDX",$J,$O(^TMP("IBNSM",$J,"IDX",IBXX,0)))) | 
|---|
| 58 | .Q:IBPPOL="" | 
|---|
| 59 | .S IBCPOL=$P(IBPPOL,"^",22) | 
|---|
| 60 | .S IBLINE=$S($G(IBWP):1,1:0) | 
|---|
| 61 | .S IBCY=$S($G(IBWP):0,1:1) | 
|---|
| 62 | .D WPPC^IBCNSM5 | 
|---|
| 63 | .Q | 
|---|
| 64 | S VALMBCK="R" Q | 
|---|
| 65 | ; | 
|---|
| 66 | WP ; -- Print Worksheet | 
|---|
| 67 | N IBWP | 
|---|
| 68 | S IBWP=1 | 
|---|
| 69 | D PCWP | 
|---|
| 70 | S VALMBCK="R" Q | 
|---|
| 71 | ; | 
|---|
| 72 | DP ; -- Delete insurance policy | 
|---|
| 73 | D FULL^VALM1 | 
|---|
| 74 | I '$D(^XUSEC("IB INSURANCE SUPERVISOR",DUZ)) D SORRY^IBTRE1 G DPQ | 
|---|
| 75 | N I,J,IBXX,DIR,DIRUT,IBBCNT,BLD,IBCOVP,IBFNOPOL,VALMY | 
|---|
| 76 | D EN^VALM2($G(XQORNOD(0))) | 
|---|
| 77 | S IBCOVP=$P($G(^DPT(DFN,.31)),"^",11) | 
|---|
| 78 | ;  if no policies, set ibfnopol flag to prevent call to pause^valm1 | 
|---|
| 79 | ;  at label dpq | 
|---|
| 80 | I '$D(VALMY) S IBFNOPOL=1 | 
|---|
| 81 | I $D(VALMY) S IBXX=0 F  S IBXX=$O(VALMY(IBXX)) Q:'IBXX!$D(DIRUT)  D | 
|---|
| 82 | .S IBPPOL=$G(^TMP("IBNSMDX",$J,$O(^TMP("IBNSM",$J,"IDX",IBXX,0)))) | 
|---|
| 83 | .; do some error checking here | 
|---|
| 84 | .I $$DELP^IBCNSU(DFN,$P(IBPPOL,"^",5)) D  Q | 
|---|
| 85 | ..W !,"You can't delete this policy, there are bills associated with it." | 
|---|
| 86 | ..W ! S J=0 F  S J=$O(^DGCR(399,"AE",DFN,$P(IBPPOL,"^",5),J)) Q:'J  I $P(^DGCR(399,J,"S"),"^",17)="" W $P(^DGCR(399,J,0),"^")_"   " S IBBCNT=$G(IBBCNT)+1 W:'(IBBCNT#8) ! | 
|---|
| 87 | ..K IBBCNT | 
|---|
| 88 | ..Q | 
|---|
| 89 | .; | 
|---|
| 90 | .; - warn if there are associated Insurance reviews | 
|---|
| 91 | .I $$IR^IBCNSJ21(DFN,+$P(IBPPOL,"^",4)) W !,*7,"Please note that there are Insurance Reviews associated with this policy!!",! | 
|---|
| 92 | .; | 
|---|
| 93 | .S DIR(0)="Y",DIR("B")="NO",DIR("A")="Are You Sure you want to delete policy #"_IBXX | 
|---|
| 94 | .D ^DIR K DIR I Y'=1 W !,"Policy #",IBXX," not Deleted!" Q | 
|---|
| 95 | .S IBCDFN=$P(IBPPOL,"^",4) | 
|---|
| 96 | .D DP1 | 
|---|
| 97 | .Q | 
|---|
| 98 | DPQ D COVERED^IBCNSM31(DFN,$G(IBCOVP)) | 
|---|
| 99 | I '$G(IBFNOPOL) D PAUSE^VALM1 | 
|---|
| 100 | I $G(BLD) D BLD^IBCNSM | 
|---|
| 101 | S VALMBCK="R" Q | 
|---|
| 102 | ; | 
|---|
| 103 | DP1 ; -- actual deletion | 
|---|
| 104 | N DA,DIC,DIK,IBJJ,IBJJJ,IBBU,IBPLAN,IBCPOLD | 
|---|
| 105 | S IBPLAN=$P($G(^DPT(DFN,.312,IBCDFN,0)),"^",18),IBCPOLD=$G(^IBA(355.3,+IBPLAN,0)) | 
|---|
| 106 | ; | 
|---|
| 107 | ; -- delete riders | 
|---|
| 108 | S IBJJ=0 F  S IBJJ=$O(^IBA(355.7,"APP",DFN,IBCDFN,IBJJ)) Q:'IBJJ  D | 
|---|
| 109 | .S IBJJJ=0 F  S IBJJJ=$O(^IBA(355.7,"APP",DFN,IBCDFN,IBJJ,IBJJJ)) Q:'IBJJJ  S DA=IBJJJ,DIK="^IBA(355.7,",DIDEL=355.7 D ^DIK | 
|---|
| 110 | ; | 
|---|
| 111 | ; -- delete benefits used | 
|---|
| 112 | I IBPLAN D BU^IBCNSJ21 S IBJJ="" F  S IBJJ=$O(IBBU(IBJJ)) Q:IBJJ=""  D DBU^IBCNSJ(IBBU(IBJJ)) | 
|---|
| 113 | ; | 
|---|
| 114 | ; -- remove pointers from Insurance reviews | 
|---|
| 115 | S IBJJ=0 F  S IBJJ=$O(^IBT(356.2,"D",DFN,IBJJ)) Q:'IBJJ  I $P($G(^IBT(356.2,IBJJ,1)),"^",5)=IBCDFN S $P(^(1),"^",5)="" | 
|---|
| 116 | ; | 
|---|
| 117 | ; -- if individual policy, and is right patient, delete HIP | 
|---|
| 118 | S BLD=1 | 
|---|
| 119 | I '$P(IBCPOLD,"^",2),DFN=$P(IBCPOLD,"^",10) D DEL^IBCNSJ(IBPLAN) | 
|---|
| 120 | ; | 
|---|
| 121 | ; -- delete entry in patient file | 
|---|
| 122 | S DA=IBCDFN,DA(1)=DFN,DIK="^DPT("_DFN_",.312," D ^DIK | 
|---|
| 123 | W:$G(IBXX) !,"Entry ",$G(IBXX)," Deleted" | 
|---|
| 124 | Q | 
|---|