[613] | 1 | IBCEM3 ;ALB/TMP - IB ELECTRONIC MESSAGE MGMNT ACTIONS ;18-AUG-1999
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**137,155,320**;21-MAR-1994
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | CANCEL(IBDA,IBIFN,IB364) ; Generic cancel bill action
|
---|
| 6 | ; IBDA = entry selected from list (pass by reference-value is returned)
|
---|
| 7 | ; IBIFN = ien of bill entry in file 399
|
---|
| 8 | ; IB364 = ien of transmitted bill entry in file 364
|
---|
| 9 | ;
|
---|
| 10 | N Y,IBCAN,IBCE,IBTDA,IB0
|
---|
| 11 | I 'IBDA!'IBIFN S IBDA="" G CANCELQ
|
---|
| 12 | I '$$CANCKS("C",IBIFN) S IBDA="" G CANCELQ
|
---|
| 13 | ;
|
---|
| 14 | S (IBCAN,IBCE("EDI"))=1,Y=IBIFN
|
---|
| 15 | I $G(IBCEAUTO) S IBCAN=2
|
---|
| 16 | N IBQUIT
|
---|
| 17 | D NOPTF^IBCC S:$P($G(^DGCR(399,IBIFN,0)),U,13)'=7 IBDA=""
|
---|
| 18 | I '$G(IBCEAUTO) D PAUSE^VALM1
|
---|
| 19 | CANCELQ Q
|
---|
| 20 | ;
|
---|
| 21 | CANCKS(FUNC,IBIFN) ; Check validity of cancel or cancel/clone function
|
---|
| 22 | ;FUNC = "C" for cancel "CC" for cancel/clone
|
---|
| 23 | ;IBIFN = bill internal entry #
|
---|
| 24 | N ERR
|
---|
| 25 | S ERR=""
|
---|
| 26 | I '$$DISP(IBIFN,"cancel"_$S(FUNC="C":"",1:"/clone")) S ERR="<No action taken>"
|
---|
| 27 | I ERR'="" W !,*7,ERR D PAUSE^VALM1
|
---|
| 28 | Q (ERR="")
|
---|
| 29 | ;
|
---|
| 30 | EBILL(IBDA,IBIFN,IB364) ;Generic edit bill action
|
---|
| 31 | N IBAC,IBBDA,IBTDA,IB0,IBV,DFN,IBDA1,IBELOOP,IB399,IBDAB,IBHOLD,IB399TX,IBNEED,IBPOPOUT,IBTXPRT
|
---|
| 32 | S IB399=$G(^DGCR(399,+IBIFN,0))
|
---|
| 33 | S IB399TX=$G(^DGCR(399,+IBIFN,"TX")),IBNEED=$$NEEDMRA^IBEFUNC(IBIFN)
|
---|
| 34 | I $P($G(^DGCR(399,IBIFN,0)),U,13)'<3 D G EBILLQ
|
---|
| 35 | . N DIR
|
---|
| 36 | . S DIR(0)="EA",DIR("A",1)="You cannot edit a bill with a status of "_$$EXPAND^IBTRE(399,.13,$P($G(^DGCR(399,IBIFN,0)),U,13))
|
---|
| 37 | . S DIR("A")="Enter RETURN to continue or '^' to exit:"
|
---|
| 38 | . D ^DIR
|
---|
| 39 | . S IBDA=""
|
---|
| 40 | I '$$DISP(IBIFN,"edit") S IBDA="" G EBILLQ
|
---|
| 41 | S IBAC=1,DFN=$P($G(^DGCR(399,IBIFN,0)),U,2),IBV=0
|
---|
| 42 | S IBHOLD("IBIFN")=IBIFN,IBHOLD("IBDA")=$G(IBDA)
|
---|
| 43 | ; Warning - do not use IBH variable when calling the following routine
|
---|
| 44 | D ST^IBCB,ENS^%ZISS
|
---|
| 45 | D:$D(IBIFN) PAUSE^VALM1
|
---|
| 46 | S IBIFN=IBHOLD("IBIFN"),IBDA=IBHOLD("IBDA")
|
---|
| 47 | I $S(IBNEED:$P($G(^DGCR(399,IBIFN,0)),U,13)'=2,1:$P($G(^DGCR(399,IBIFN,0)),U,13)'=3) S IBDA=""
|
---|
| 48 | I IBDA D
|
---|
| 49 | . S $P(^DGCR(399,IBIFN,"S"),U,10,11)=(DT_U_DUZ)
|
---|
| 50 | . S DIK="^DGCR(399,",DA=IBIFN F DIK(1)=10,11 D EN1^DIK
|
---|
| 51 | . D UPDEDI^IBCEM(IB364,"E")
|
---|
| 52 | EBILLQ Q
|
---|
| 53 | ;
|
---|
| 54 | DISP(IBIFN,FUNC,DISP,IBDEF,DIRUT) ;Display bill detail
|
---|
| 55 | ; Returns 1 if function should continue, 0 if function should not
|
---|
| 56 | ; IBIFN = Bill #
|
---|
| 57 | ; FUNC = Text (lower case) to describe function to perform
|
---|
| 58 | ; DISP = flag = 1 for return data, no display
|
---|
| 59 | ; format: 1^BILL #^PATIENT^BILL TYPE^DATES
|
---|
| 60 | ; IBDEF = Default answer for Yes/No question here (1=Yes)
|
---|
| 61 | ; DIRUT = output parameter is defined if passed by reference,
|
---|
| 62 | ; = this will be defined if the user enters a leading up-arrow
|
---|
| 63 | ; = or times out or enters a null response
|
---|
| 64 | ;
|
---|
| 65 | ; Function returns Y and DIRUT - used by IBCEMCA2 - DO NOT NEW THESE
|
---|
| 66 | ;
|
---|
| 67 | N IBB0,IBBU,IBNO,STAT,DIR,DTOUT,DUOUT,IBV
|
---|
| 68 | S IBB0=$G(^DGCR(399,IBIFN,0)),IBBU=$G(^("U")),IBNO=$P(IBB0,U)
|
---|
| 69 | S IBV(1)=$P($G(^DPT(+$P(IBB0,U,2),0)),U)_$S($P($G(^(0)),U,9)'="":" ("_$P(^(0),U,9)_")",1:"")
|
---|
| 70 | S IBV(2)=$$EXPAND^IBTRE(399,.05,$P(IBB0,U,5))
|
---|
| 71 | S IBV(3)=$$EXPAND^IBTRE(399,151,$P(IBBU,U))_" - "_$$EXPAND^IBTRE(399,151,$P(IBBU,U,2))
|
---|
| 72 | ;
|
---|
| 73 | I '$G(DISP) D G DISPQ
|
---|
| 74 | . S (DIR("A",1),DIR("A",6))=" ",STAT=1
|
---|
| 75 | . S DIR("A",2)=" Bill #: "_IBNO
|
---|
| 76 | . S DIR("A",3)=" Patient: "_IBV(1)
|
---|
| 77 | . S DIR("A",4)=" Bill Type: "_IBV(2)
|
---|
| 78 | . S DIR("A",5)="Bill Dates: "_IBV(3)
|
---|
| 79 | . S DIR("A")="Are you sure this is the bill you want to "_FUNC_"? "
|
---|
| 80 | . S DIR("B")="NO"
|
---|
| 81 | . I $G(IBDEF) S DIR("B")="Yes"
|
---|
| 82 | . S DIR(0)="YA" D ^DIR K DIR
|
---|
| 83 | . I $D(DTOUT)!$D(DUOUT)!'Y S STAT=0
|
---|
| 84 | S STAT="1^"_IBNO_U_IBV(1)_U_IBV(2)_U_IBV(3)
|
---|
| 85 | DISPQ ;
|
---|
| 86 | Q STAT
|
---|
| 87 | ;
|
---|