| [613] | 1 | IBCREE1 ;ALB/ARH - RATES: CM ENTER/EDIT (CI) ; 16-MAY-1996 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**52,106,245**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | EDITCI ; Enter/Edit Charge Items | 
|---|
|  | 6 | N IBCS0,IBBR0,IBBRFN,IBITEM,IBBRBI,IBDT,IBCIFN,IBX,DIE,DR,DA,X,Y | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | CS I '$G(IBCSFN) S IBCSFN=+$$GETCS^IBCRU1 Q:IBCSFN'>0 | 
|---|
|  | 9 | D DISPCS^IBCRU5(+IBCSFN) | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | S IBCS0=$G(^IBE(363.1,+IBCSFN,0)),IBBRFN=$P(IBCS0,U,2) | 
|---|
|  | 12 | S IBBR0=$G(^IBE(363.3,+IBBRFN,0)),IBBRBI=$P(IBBR0,U,4) | 
|---|
|  | 13 | W !!,"Enter/edit a billable item (",$$BITM(IBBRBI),") for Charge Set ",$P(IBCS0,U,1) | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | CI W ! S IBITEM=$$GETITEM^IBCRU1(IBCSFN,"",1) I +IBITEM<1 Q | 
|---|
|  | 16 | I '$$ITFILE^IBCRU2(IBBRBI,+IBITEM) W !!,$$BITM(IBBRBI)," ",$P(IBITEM,U,2)," CURRENTLY INACTIVE",! | 
|---|
|  | 17 | ; | 
|---|
|  | 18 | EF D DISPCI^IBCRU5(+IBCSFN,+IBITEM) | 
|---|
|  | 19 | S IBDT=$$GETDT^IBCRU1($G(IBDT)) I IBDT<1 S IBDT="" W "   ... no change" G CI | 
|---|
|  | 20 | D SCRNDSPL | 
|---|
|  | 21 | ; | 
|---|
|  | 22 | S IBCIFN=$$FINDCI(+IBCSFN,+IBITEM,IBDT) I IBCIFN<0 G EF | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | I IBCIFN>0 W !,?50,"Editing Charge Item!" | 
|---|
|  | 25 | ; | 
|---|
|  | 26 | I 'IBCIFN D  I 'IBCIFN W !!,"A charge can not be added for this item!",! Q | 
|---|
|  | 27 | . S IBCIFN=$$ADDCI^IBCREF(+IBCSFN,+IBITEM,IBDT) W !,?50,"Adding a new Charge Item!" | 
|---|
|  | 28 | ; | 
|---|
|  | 29 | S DR=$$DR01(+$P(IBITEM,U,4))_";.03;.04;.05;.06" | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | I $P(IBITEM,U,4)=81 S DR=DR_";.07" | 
|---|
|  | 32 | I +$P(IBBR0,U,6) S DR=DR_";.08" | 
|---|
|  | 33 | ; | 
|---|
|  | 34 | DIE S DIDEL=363.2,DIE="^IBA(363.2,",DA=+IBCIFN D ^DIE K DIE,DR,X,DIDEL | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | I $D(DA),$D(Y)=0 S IBX=$$RQCI^IBCREU1(+IBCIFN) I +IBX D RQW S DR=".06" G DIE | 
|---|
|  | 37 | D DISPCSL^IBCRU5(+IBCSFN) | 
|---|
|  | 38 | G CI | 
|---|
|  | 39 | Q | 
|---|
|  | 40 | BITM(X) ; return external form of billable item | 
|---|
|  | 41 | S X=+$G(X) S X=$$EXPAND^IBCRU1(363.3,.04,X) | 
|---|
|  | 42 | Q X | 
|---|
|  | 43 | RQW ; write explanation of required fields | 
|---|
|  | 44 | W !!,"Enter either a Default Revenue Code for the Charge Set or a Revenue Code for",!,"this Charge Item:" | 
|---|
|  | 45 | W !,"    - a charge can not be added to a bill without a revenue code" | 
|---|
|  | 46 | W !,"    - no Revenue Code was added for this Charge Item and there is no" | 
|---|
|  | 47 | W !,"      Default Revenue code for the Charge Set." | 
|---|
|  | 48 | W !,"    - one or the other must be added before this charge will be used",!! | 
|---|
|  | 49 | W !!,"You may enter a revenue code for the Charge Item now:  (^ to exit)" | 
|---|
|  | 50 | Q | 
|---|
|  | 51 | FINDCI(IBCSFN,IBITEM,IBDT) ; find item to edit returns CIIFN or 0 (new) or -1 (error) | 
|---|
|  | 52 | ; | 
|---|
|  | 53 | N IBY,IBI,IBCNT,DIR,X,Y,IBARR S IBY=-1 | 
|---|
|  | 54 | S IBI=$O(^IBA(363.2,"AIVDTS"_IBCSFN,+IBITEM,-IBDT,0)) I 'IBI S IBY=0 G FCQ ; none found | 
|---|
|  | 55 | ; | 
|---|
|  | 56 | S (IBI,IBCNT)=0 F  S IBI=$O(^IBA(363.2,"AIVDTS"_IBCSFN,+IBITEM,-IBDT,+IBI)) Q:'IBI  D | 
|---|
|  | 57 | . S IBCNT=IBCNT+1,IBARR(IBCNT)=IBI D DISPCIL^IBCRU5(IBI,IBCNT) | 
|---|
|  | 58 | I +IBCNT S DIR(0)="NO^1:"_IBCNT D ^DIR I Y>0 S IBY=$G(IBARR(Y)) | 
|---|
|  | 59 | I '$D(DTOUT),'$D(DUOUT),IBY<1 S DIR(0)="Y",DIR("A")="Add a new Charge Item? " S DIR("B")="Y" D ^DIR I Y=1 S IBY=0 | 
|---|
|  | 60 | FCQ Q IBY | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | DR01(FILE) ; return DR string for editing the .01 field of charge item | 
|---|
|  | 63 | N IBX S IBX="" | 
|---|
|  | 64 | I +$G(FILE) S IBX="S DIC(""V"")=""I +Y(0)="_+FILE_""";.01;K DIC(""V"")" | 
|---|
|  | 65 | Q IBX | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | SCRNDSPL ; if this edit is called from the screen return the items and dates edited so screen can be | 
|---|
|  | 68 | ; redisplayed with the new/edited items | 
|---|
|  | 69 | I $D(IBSRNITM) S IBSRNITM=IBITEM | 
|---|
|  | 70 | I $D(IBSRNBDT),IBSRNBDT>IBDT S IBSRNBDT=IBDT | 
|---|
|  | 71 | I $D(IBSRNEDT),+IBSRNEDT,IBSRNEDT<IBDT S IBSRNEDT=IBDT | 
|---|
|  | 72 | Q | 
|---|