| [613] | 1 | IBPU2 ;ALB/BGA - IB PURGE FILE CLEAN UP ; 17-FEB-94 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**48**; 21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ; This routine requires IBN from routine IBPP | 
|---|
|  | 6 | ; and deletes entries in FILE #399 | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | ; The following procedures remove references which | 
|---|
|  | 9 | ; point to the IBN about to be deleted. This routine is | 
|---|
|  | 10 | ; invoked by IBPU. | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | Q:'$G(IBN) | 
|---|
|  | 13 | D CTARNB ;     adds a Reason Not Billable (.19) to 356:  PURGED | 
|---|
|  | 14 | D CLBCOM ;     deletes Rec from file 362.1 | 
|---|
|  | 15 | D CLPSTE ;     deletes Rec from file 362.3,362.4,362.5 | 
|---|
|  | 16 | D CLCTRK ;     deletes ptr from file 356  field .11 | 
|---|
|  | 17 | D CLCTBI ;     deletes Rec from file 356.399 | 
|---|
|  | 18 | D IBPBIL ;     sets the ptr in fld .17 to its self | 
|---|
|  | 19 | D IBCYTO ;     checks the ptr in fld .15 | 
|---|
|  | 20 | Q | 
|---|
|  | 21 | ; | 
|---|
|  | 22 | CTARNB ; add a RNB (356,.19) for every episode found on the bill, if none exists (non-cancelled bills) | 
|---|
|  | 23 | N ARRAY,IBA,IBX,DIE,DIC,DA,DR,IBRNB K ARRAY S IBRNB=$O(^IBE(356.8,"B","BILL PURGED",0)) Q:'IBRNB | 
|---|
|  | 24 | D IFNTRN^IBCU83(IBN,.ARRAY) S IBA=0 F  S IBA=$O(ARRAY(IBA)) Q:'IBA  I +ARRAY(IBA)'=5 S ^TMP($J,"IBPPTRN",IBA)="" | 
|---|
|  | 25 | I $P($G(^DGCR(399,+IBN,0)),U,13)'=7 S IBA=0 F  S IBA=$O(ARRAY(IBA)) Q:'IBA  S IBX=$G(^IBT(356,+IBA,0)) D | 
|---|
|  | 26 | . I +IBX,'$P(IBX,U,19),+ARRAY(IBA)'=5 S DIE="^IBT(356,",DA=IBA,DR=".19////"_IBRNB D ^DIE | 
|---|
|  | 27 | Q | 
|---|
|  | 28 | CLBCOM ; uses "D" xref to find all recs to be deleted | 
|---|
|  | 29 | N IBA,DIK,DA | 
|---|
|  | 30 | S IBA="" F  S IBA=$O(^IBA(362.1,"D",IBN,IBA)) Q:'IBA  S DIK="^IBA(362.1,",DA=IBA D ^DIK | 
|---|
|  | 31 | Q | 
|---|
|  | 32 | CLPSTE ; uses "AIFN_IBN" to find all recs pointing to the rec to be deleted | 
|---|
|  | 33 | N IBA,IBB,REF,DIK,DA | 
|---|
|  | 34 | S REF="AIFN"_IBN | 
|---|
|  | 35 | F IBI=362.5,362.3,362.4 S (IBA,IBB)="" F  S IBA=$O(^IBA(IBI,REF,IBA)) Q:'IBA  F  S IBB=$O(^IBA(IBI,REF,IBA,IBB)) Q:'IBB  S DIK="^IBA("_IBI_",",DA=IBB D ^DIK | 
|---|
|  | 36 | Q | 
|---|
|  | 37 | CLCTBI ; uses "C" xref to find all recs pointing to 399 then deletes | 
|---|
|  | 38 | N IBA,IBB,DIK,DA | 
|---|
|  | 39 | S IBA="" F  S IBA=$O(^IBT(356.399,"C",IBN,IBA)) Q:'IBA  D | 
|---|
|  | 40 | . S IBB=$P($G(^IBT(356.399,IBA,0)),U,1) I +IBB S ^TMP($J,"IBPPTRN",+IBB)="" | 
|---|
|  | 41 | . S DIK="^IBT(356.399,",DA=IBA D ^DIK | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | CLCTRK ; uses "E" xref to find all recs ptr to 399 then sets them to null | 
|---|
|  | 44 | N IBA,DIE,DA,DR | 
|---|
|  | 45 | S IBA="" F  S IBA=$O(^IBT(356,"E",IBN,IBA)) Q:'IBA  S ^TMP($J,"IBPPTRN",+IBA)="",DIE="^IBT(356,",DA=IBA,DR=".11///@" D ^DIE | 
|---|
|  | 46 | Q | 
|---|
|  | 47 | IBPBIL ; uses "AC" xref to find all recs ptr to 399 then sets to the bill # | 
|---|
|  | 48 | N IBA,DIE,DA,DR | 
|---|
|  | 49 | S IBA="" F  S IBA=$O(^DGCR(399,"AC",IBN,IBA)) Q:'IBA  I IBN'=IBA S DIE="^DGCR(399,",DA=IBA,DR=".17///"_IBA D ^DIE | 
|---|
|  | 50 | Q | 
|---|
|  | 51 | IBCYTO ; uses "C" xref to find all recs ptr to 399 then sets the recs to null | 
|---|
|  | 52 | N IBA,IBB,DFN,DIE,DA,DR | 
|---|
|  | 53 | S (IBA,IBB)="",DFN=+$P($G(^DGCR(399,IBN,0)),U,2) | 
|---|
|  | 54 | F  S IBA=$O(^DGCR(399,"C",DFN,IBA)) Q:'IBA  I +$P($G(^DGCR(399,IBA,0)),U,15)=IBN S DIE="^DGCR(399,",DA=IBA,DR=".15///@" | 
|---|
|  | 55 | Q | 
|---|
|  | 56 | ; | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | PTCH48 ; CODE FOR PATCH IB*2*48 TO ADD NEW REASON NOT BILLABLE | 
|---|
|  | 59 | N IBI,DINUM,DIC,Y | 
|---|
|  | 60 | I $D(^IBE(356.8,"B","BILL PURGED")) W !!,"*** REASON NOT BILLABLE of 'BILL PURGED' already exists in FILE #356.8, new entry NOT added.",!! Q | 
|---|
|  | 61 | W !!,">>> Adding new REASON NOT BILLABLE of 'BILL PURGED' to FILE #356.8" | 
|---|
|  | 62 | F IBI=19:1:999 I '$D(^IBE(356.8,IBI,0)) D  Q | 
|---|
|  | 63 | . S DINUM=IBI I '$D(^IBE(356.8,DINUM,0)) K DD,DO S DIC="^IBE(356.8,",DIC(0)="L",X="BILL PURGED" D FILE^DICN | 
|---|
|  | 64 | I $G(Y)<1 W !!,"**** Unable to add new entry to FILE #356.8, contact Field Support ****",!! | 
|---|
|  | 65 | I $G(Y)>0 W !,"Done.",!! | 
|---|
|  | 66 | K DIC,DINUM,Y,DD,DO | 
|---|
|  | 67 | Q | 
|---|