| [613] | 1 | IBYAPT1 ;ALB/CPM - PATCH IB*2*28 INSURANCE CLEAN-UP ; 30-JAN-95 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**28**; 21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | BKG ; Queue off a background job to clean up various insurance files. | 
|---|
|  | 5 | W !!,">>> Queuing off a job to clean up various insurance files..." | 
|---|
|  | 6 | W !,"    (You'll get a message when the job is completed)",! | 
|---|
|  | 7 | S ZTRTN="FIX^IBYAPT1",ZTDTH=$H,ZTIO="" | 
|---|
|  | 8 | S ZTDESC="IB - PATCH IB*2*28 POST INIT - INSURANCE CLEAN-UP" | 
|---|
|  | 9 | D ^%ZTLOAD | 
|---|
|  | 10 | W !?4,$S($D(ZTSK):"The job has been queued.  The task number is "_ZTSK_".",1:"Unable to queue this job.  Please run FIX^IBYAPT1 at any time.") | 
|---|
|  | 11 | K ZTSK | 
|---|
|  | 12 | Q | 
|---|
|  | 13 | ; | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | FIX ; Perform clean-up of Insurance Company files. | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | D NOW^%DTC S IBBDT=% | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | D PLAN ;   Clean up x-refs in file #355.3 | 
|---|
|  | 20 | D AB ;     Delete errant Annual Benefits from file #355.4 | 
|---|
|  | 21 | D BU ;     Delete errant Benefits Used from file #355.5 | 
|---|
|  | 22 | D RIDER ;  Delete errant Riders from file #355.7 | 
|---|
|  | 23 | D IR ;     Repoint 'Insurance Company Contacted' for | 
|---|
|  | 24 | ;           Insurance Reviews in file 356.2 | 
|---|
|  | 25 | ; | 
|---|
|  | 26 | D NOW^%DTC S IBEDT=% | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | D MAIL ; send out results | 
|---|
|  | 29 | K IBBDT,IBEDT,IBR,IBC,IBV,IBP,IBPD,IBV1,IBCT,IBT,IBX,XMSUB,XMTEXT,XMDUZ,XMY,Y | 
|---|
|  | 30 | Q | 
|---|
|  | 31 | ; | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | ; | 
|---|
|  | 34 | PLAN ; Clean up the 'AGNU' and 'AGNA' x-refs in file #355.3 | 
|---|
|  | 35 | F IBR="AGNA","AGNU" D | 
|---|
|  | 36 | .S IBC=0 F  S IBC=$O(^IBA(355.3,IBR,IBC)) Q:'IBC  D | 
|---|
|  | 37 | ..S IBV="" F  S IBV=$O(^IBA(355.3,IBR,IBC,IBV)) Q:IBV=""  D | 
|---|
|  | 38 | ...S IBP=0 F  S IBP=$O(^IBA(355.3,IBR,IBC,IBV,IBP)) Q:'IBP  D | 
|---|
|  | 39 | ....S IBPD=$G(^IBA(355.3,IBP,0)) | 
|---|
|  | 40 | ....S IBV1=$P(IBPD,"^",$S(IBR="AGNA":3,1:4)) | 
|---|
|  | 41 | ....I +IBPD'=IBC!(IBV'=IBV1) S IBCT(IBR)=$G(IBCT(IBR))+1 K ^IBA(355.3,IBR,IBC,IBV,IBP) | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | ; | 
|---|
|  | 44 | AB ; Delete errant Annual benefits from file #355.4 | 
|---|
|  | 45 | S IBC=0 F  S IBC=$O(^IBA(355.4,IBC)) Q:'IBC  S IBX=$G(^(IBC,0)) D | 
|---|
|  | 46 | .S IBV=0 I '$P(IBX,"^",2) S IBV=1 | 
|---|
|  | 47 | .I 'IBV,'$D(^IBA(355.3,+$P(IBX,"^",2),0)) S IBV=1 | 
|---|
|  | 48 | .I IBV S DA=IBC,DIK="^IBA(355.4,",DIDEL=355.4 D ^DIK S IBCT("AB")=$G(IBCT("AB"))+1 | 
|---|
|  | 49 | Q | 
|---|
|  | 50 | ; | 
|---|
|  | 51 | BU ; Delete errant Benefits Used from file #355.5 | 
|---|
|  | 52 | S IBC=0 F  S IBC=$O(^IBA(355.5,IBC)) Q:'IBC  S IBX=$G(^(IBC,0)) D | 
|---|
|  | 53 | .S IBV=0 I 'IBX S IBV=1 | 
|---|
|  | 54 | .I 'IBV,'$D(^IBA(355.3,+IBX,0)) S IBV=1 | 
|---|
|  | 55 | .I 'IBV,$P($G(^DPT(+$P(IBX,"^",2),.312,+$P(IBX,"^",17),0)),"^",18)'=+IBX S IBV=1 | 
|---|
|  | 56 | .I IBV S DA=IBC,DIK="^IBA(355.5,",DIDEL=355.5 D ^DIK S IBCT("BU")=$G(IBCT("BU"))+1 | 
|---|
|  | 57 | Q | 
|---|
|  | 58 | ; | 
|---|
|  | 59 | RIDER ; Delete errant Riders from file #355.7 | 
|---|
|  | 60 | S IBC=0 F  S IBC=$O(^IBA(355.7,IBC)) Q:'IBC  S IBX=$G(^(IBC,0)) D | 
|---|
|  | 61 | .S IBV=0 I '$D(^DPT(+$P(IBX,"^",2),.312,+$P(IBX,"^",3),0)) S IBV=1 | 
|---|
|  | 62 | .I IBV S DA=IBC,DIK="^IBA(355.7,",DIDEL=355.7 D ^DIK S IBCT("RD")=$G(IBCT("RD"))+1 | 
|---|
|  | 63 | Q | 
|---|
|  | 64 | ; | 
|---|
|  | 65 | IR ; Repoint Insurance Reviews in file #356.2 | 
|---|
|  | 66 | S IBC=0 F  S IBC=$O(^IBT(356.2,IBC)) Q:'IBC  S IBX=$G(^(IBC,0)),IBX1=$G(^(1)) D | 
|---|
|  | 67 | .S IBCDFN=+$P(IBX1,"^",5),IBCDFND=$G(^DPT(+$P(IBX,"^",5),.312,IBCDFN,0)) | 
|---|
|  | 68 | .K IBVAL | 
|---|
|  | 69 | .I IBCDFN,IBCDFND,+$P(IBX,"^",8)'=+IBCDFND S IBVAL=+IBCDFND | 
|---|
|  | 70 | .I IBCDFN,'IBCDFND S IBVAL=0 | 
|---|
|  | 71 | .I $G(IBVAL)]"" D | 
|---|
|  | 72 | ..I IBVAL S DA=IBC,DR=".08////"_+IBCDFND,DIE="^IBT(356.2," D ^DIE K DIE,DA,DR | 
|---|
|  | 73 | ..I 'IBVAL S $P(^IBT(356.2,IBC,1),"^",5)="" | 
|---|
|  | 74 | ..S IBCT("IR")=$G(IBCT("IR"))+1 | 
|---|
|  | 75 | K IBX1,IBCDFN,IBCDFND,IBVAL | 
|---|
|  | 76 | Q | 
|---|
|  | 77 | ; | 
|---|
|  | 78 | MAIL ; Send results out. | 
|---|
|  | 79 | S XMSUB="Patch IB*2*28 Insurance Clean-up Completion" | 
|---|
|  | 80 | S XMDUZ="INTEGRATED BILLING PACKAGE",XMTEXT="IBT(",XMY(DUZ)="" | 
|---|
|  | 81 | ; | 
|---|
|  | 82 | K IBT | 
|---|
|  | 83 | S IBT(1)="The Insurance Files clean-up job has completed." | 
|---|
|  | 84 | S IBT(2)=" " | 
|---|
|  | 85 | S Y=IBBDT D D^DIQ S IBT(3)="Job Start Time: "_Y | 
|---|
|  | 86 | S Y=IBEDT D D^DIQ S IBT(4)="  Job End Time: "_Y | 
|---|
|  | 87 | S IBT(5)=" " | 
|---|
|  | 88 | S IBT(6)=" Number of AGNA cross references in file #355.3 deleted: "_+$G(IBCT("AGNA")) | 
|---|
|  | 89 | S IBT(7)=" Number of AGNU cross references in file #355.3 deleted: "_+$G(IBCT("AGNU")) | 
|---|
|  | 90 | S IBT(8)="Number of errant Annual Benefits in file #355.4 deleted: "_+$G(IBCT("AB")) | 
|---|
|  | 91 | S IBT(9)="  Number of errant Benefits Used in file #355.5 deleted: "_+$G(IBCT("BU")) | 
|---|
|  | 92 | S IBT(10)="Number of errant Personal Riders in file #355.7 deleted: "_+$G(IBCT("RD")) | 
|---|
|  | 93 | S IBT(11)="   Number of Insurance Reviews in file #356.2 repointed: "_+$G(IBCT("IR")) | 
|---|
|  | 94 | ; | 
|---|
|  | 95 | D ^XMD | 
|---|
|  | 96 | Q | 
|---|