[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
|
---|