[613] | 1 | IBCNSCD ;ALB/CPM - DELETE INSURANCE COMPANY ;01-FEB-95
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**28,46,232**;21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | DEL ; 'Delete Insurance Company' Action
|
---|
| 6 | ; Required variable input:
|
---|
| 7 | ; IBCNS -- Pointer to the company in file #36
|
---|
| 8 | ;
|
---|
| 9 | N I,IBC,IBDAT,Y,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
|
---|
| 10 | S VALMBCK="R" D FULL^VALM1
|
---|
| 11 | I '$G(IBCNS) G DELQ
|
---|
| 12 | S IBCNSD=$G(^DIC(36,IBCNS,0))
|
---|
| 13 | I IBCNSD="" W !!,"This Insurance Company does not exist!",! G DELQ
|
---|
| 14 | I '$D(^XUSEC("IB INSURANCE SUPERVISOR",DUZ)) D SORRY^IBTRE1 G DELQ
|
---|
| 15 | I '$P(IBCNSD,"^",5) D G DELQ
|
---|
| 16 | .W !!,"This Insurance Company is still active! You must use the"
|
---|
| 17 | .W !,"'Inactivate Company' action to inactivate this company before"
|
---|
| 18 | .W !,"you can delete it."
|
---|
| 19 | I $D(^DPT("AB",IBCNS)) D G DELQ
|
---|
| 20 | .W !!,"There are still patient policies with this company! These policies"
|
---|
| 21 | .W !,"must be deleted or re-pointed to another company before you can"
|
---|
| 22 | .W !,"delete the company."
|
---|
| 23 | I $D(^IBA(355.3,"B",IBCNS)) D G DELQ
|
---|
| 24 | .W !!,"There are still Insurance Plans on file with this company! These plans"
|
---|
| 25 | .W !,"must be deleted or re-pointed to another company before you can"
|
---|
| 26 | .W !,"delete the company."
|
---|
| 27 | I $O(^IBA(355.9,"AE",IBCNS,""))!$O(^IBA(355.91,"AC",IBCNS,"")) D G DELQ
|
---|
| 28 | .W !!,"There are still provider ids defined for this company! These ids must"
|
---|
| 29 | .W !,"be deleted before you can delete this company."
|
---|
| 30 | I $O(^IBA(355.96,"AC",IBCNS,""))!$O(^IBA(355.95,"C",IBCNS,"")) D G DELQ
|
---|
| 31 | .W !!,"There are still provider id care units defined for this company! These"
|
---|
| 32 | .W !,"care unit entries must be deleted before you can delete this company."
|
---|
| 33 | I $O(^IBA(355.92,"B",IBCNS,"")) D G DELQ
|
---|
| 34 | .W !!,"There are still facility ids defined for this company! These ids must be"
|
---|
| 35 | .W !,"deleted before you can delete this company."
|
---|
| 36 | ;
|
---|
| 37 | ; - explain functionality
|
---|
| 38 | D INTRO^IBCNSCD3 S DIR(0)="E" W ! D ^DIR K DIR I $D(DIRUT)!$D(DUOUT) G DELQ1
|
---|
| 39 | ;
|
---|
| 40 | ; - need to merge data into another company?
|
---|
| 41 | D MERGE^IBCNSCD3 I IBQUIT G DELQ
|
---|
| 42 | ;
|
---|
| 43 | ; - provide a warning message
|
---|
| 44 | D WARN^IBCNSCD3
|
---|
| 45 | ;
|
---|
| 46 | ; - okay to proceed?
|
---|
| 47 | S DIR(0)="Y",DIR("A")="Is it okay to "_$S(IBREP:"merge",1:"delete")_" this company"_$S(IBREP:" information into the other",1:""),DIR("?")="^D HLP^IBCNSCD3"
|
---|
| 48 | W ! D ^DIR K DIR I 'Y W !!,"The company was not deleted." G DELQ
|
---|
| 49 | ;
|
---|
| 50 | ; - merge Insurance Reviews
|
---|
| 51 | I IBCALLIR,$D(^IBT(356.2,"AIACT",IBCNS)) D
|
---|
| 52 | .W !!," >> Merging known Insurance Reviews into ",IBREPN,"... "
|
---|
| 53 | .S IBC=0 F S IBC=$O(^IBT(356.2,"AIACT",IBCNS,IBC)) Q:'IBC D
|
---|
| 54 | ..S IBX=0 F S IBX=$O(^IBT(356.2,"AIACT",IBCNS,IBC,IBX)) Q:'IBX S DA=IBX,DIE="^IBT(356.2,",DR=".08////"_IBREP D ^DIE K DA,DIE,DR
|
---|
| 55 | .W "done."
|
---|
| 56 | ;
|
---|
| 57 | ; - merge bills/receivables
|
---|
| 58 | I IBCALLAR W !!," >> Merging known bills and receivables into ",IBREPN,"... ",!
|
---|
| 59 | S IBERR="" D EN^RCAMINS(IBCNS,$S(+$G(IBREP):IBREP,1:""),'IBCALLAR,.IBERR)
|
---|
| 60 | I IBCALLAR W !?5,$S(IBERR<0:"AR Error: "_$P(IBERR,"^",2),1:"All done.")
|
---|
| 61 | ;
|
---|
| 62 | ; - flag company for deletion
|
---|
| 63 | W !!," >> Flagging ",$P(IBCNSD,"^")," for deletion... "
|
---|
| 64 | S DA=IBCNS,DIE="^DIC(36,",DR="5.01////1;5.02////"_$S($G(IBREP):IBREP,1:"@")
|
---|
| 65 | D ^DIE K DA,DIE,DR W "done."
|
---|
| 66 | ;
|
---|
| 67 | ; - queue the final clean up job
|
---|
| 68 | W !!," >> Queuing the final clean-up job... "
|
---|
| 69 | S IBTASK=$$ALR I IBTASK W !?5,"This job is already queued as task number ",IBTASK,"." G DELC
|
---|
| 70 | S IBDAT=$S($P($H,",",2)<25200:$H,$P($H,",",2)>82800:$H,1:+$H_",82800")
|
---|
| 71 | S ZTRTN="DQ^IBCNSCD1",ZTDTH=IBDAT,ZTIO="",ZTDESC="IB - INSURANCE COMPANY DELETION"
|
---|
| 72 | S IBCNSN=$P(IBCNSD,"^") F I="IBCNS","IBREP","IBCNSN" S ZTSAVE(I)=""
|
---|
| 73 | D ^%ZTLOAD
|
---|
| 74 | W !?5,$S($D(ZTSK):"The job has been queued to run "_$S($P($H,",",2)<$P(IBDAT,",",2):"at 11:00pm",1:"now")_". The task number is "_ZTSK_".",1:"Unable to queue this job. Please contact your IRM Service.")
|
---|
| 75 | I $D(ZTSK)#2 S $P(^IBE(350.9,1,4),"^",8)=ZTSK
|
---|
| 76 | ;
|
---|
| 77 | DELC S VALMBCK="Q"
|
---|
| 78 | ;
|
---|
| 79 | DELQ D PAUSE^VALM1
|
---|
| 80 | DELQ1 K IBCNSD,IBCNSN,IBREP,IBREPN,IBIP,IBBU,IBAB,IBMRGN,IBMRGF,IBX,IBTASK
|
---|
| 81 | K DIRUT,DUOUT,DTOUT,DIROUT,ZTSK,IBQUIT,IBCALLAR,IBCALLIR,IBERR
|
---|
| 82 | Q
|
---|
| 83 | ;
|
---|
| 84 | ALR() ; Has the background clean-up job already been queued?
|
---|
| 85 | ; Input: None
|
---|
| 86 | ; Output: 0 -- Job hasn't been queued
|
---|
| 87 | ; >0 -- Task # of queued job
|
---|
| 88 | N ZTSK
|
---|
| 89 | S ZTSK=+$P($G(^IBE(350.9,1,4)),"^",8) I 'ZTSK G ALRQ
|
---|
| 90 | D ISQED^%ZTLOAD I 'ZTSK(0) S ZTSK=0
|
---|
| 91 | ALRQ Q ZTSK
|
---|