[623] | 1 | IBCEMCA2 ;ALB/ESG - Multiple CSA Message Management - Actions ;20-SEP-2005
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**320**;21-MAR-1994
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | Q
|
---|
| 6 | ;
|
---|
| 7 | CANCEL ; mass claim cancel
|
---|
| 8 | NEW NS,IBIFN,NSC,DIR,X,Y,DUOUT,DTOUT,DIRUT,DIROUT,IBDA,IB364,DISP,IBCE
|
---|
| 9 | NEW IBMCSRSC,IBMCSRNB,IBMCSCNT,IBMCSTOT,IBMCSTOP,IBMCSCAN,MRACHK,IBCAN
|
---|
| 10 | D FULL^VALM1
|
---|
| 11 | ;
|
---|
| 12 | I '$$KCHK^XUSRB("IB AUTHORIZE") D G CANCELX
|
---|
| 13 | . W !!?5,"You don't hold the proper security key to access this option."
|
---|
| 14 | . W !?5,"The necessary key is IB AUTHORIZE. Please see your manager."
|
---|
| 15 | . D PAUSE^VALM1
|
---|
| 16 | . Q
|
---|
| 17 | ;
|
---|
| 18 | S NS=+$G(^TMP($J,"IBCEMCL",4))
|
---|
| 19 | I 'NS D G CANCELX
|
---|
| 20 | . W !!?5,"There are no selected messages." D PAUSE^VALM1
|
---|
| 21 | . Q
|
---|
| 22 | ;
|
---|
| 23 | ; count number of claims too
|
---|
| 24 | S IBIFN=0 F NSC=0:1 S IBIFN=$O(^TMP($J,"IBCEMCL",4,2,IBIFN)) Q:'IBIFN
|
---|
| 25 | ;
|
---|
| 26 | W !!?5,"Number of messages selected: ",NS
|
---|
| 27 | W !?7,"Number of claims selected: ",NSC
|
---|
| 28 | W !!,"In order to cancel "
|
---|
| 29 | W $S(NSC=1:"this claim",1:"these claims")
|
---|
| 30 | W ", you must supply the Reason Cancelled and"
|
---|
| 31 | W !,"the Reason Not Billable. These will be the default responses for "
|
---|
| 32 | W $S(NSC=1:"this claim",1:"all claims")
|
---|
| 33 | W "."
|
---|
| 34 | ;
|
---|
| 35 | CANQ1 ; reader call for the Reason Cancelled field
|
---|
| 36 | W !
|
---|
| 37 | S DIR(0)="399,19"
|
---|
| 38 | S DIR("A")="Reason Cancelled"
|
---|
| 39 | D ^DIR K DIR
|
---|
| 40 | I X="",Y="" W *7,!,"This is a required response. Enter '^' to exit." G CANQ1
|
---|
| 41 | I $D(DIRUT) G CANCELX
|
---|
| 42 | M IBMCSRSC=Y ; save the entered text for reason cancelled
|
---|
| 43 | ;
|
---|
| 44 | CANQ2 ; reader call for the reason not billable field
|
---|
| 45 | W !
|
---|
| 46 | S DIR(0)="356,.19"
|
---|
| 47 | S DIR("A")="Reason Not Billable"
|
---|
| 48 | D ^DIR K DIR
|
---|
| 49 | I X="",Y="" W *7,!,"This is a required response. Enter '^' to exit." G CANQ2
|
---|
| 50 | I $D(DIRUT) G CANCELX
|
---|
| 51 | M IBMCSRNB=Y ; save the reason not billable code/desc
|
---|
| 52 | ;
|
---|
| 53 | W !
|
---|
| 54 | S DIR(0)="YO"
|
---|
| 55 | S DIR("A")="OK to proceed into the cancel claim loop",DIR("B")="No"
|
---|
| 56 | D ^DIR K DIR
|
---|
| 57 | I Y'=1 G CANCELX
|
---|
| 58 | ;
|
---|
| 59 | S IBIFN=0,IBMCSCNT=0,IBMCSTOT=NSC,IBMCSTOP=0
|
---|
| 60 | F S IBIFN=$O(^TMP($J,"IBCEMCL",4,2,IBIFN)) Q:'IBIFN D Q:IBMCSTOP
|
---|
| 61 | . S IBMCSCNT=IBMCSCNT+1
|
---|
| 62 | . S IBDA=+$O(^TMP($J,"IBCEMCL",4,2,IBIFN,""),-1) ; most recent 361 ien
|
---|
| 63 | . S IB364=+$P($G(^IBM(361,IBDA,0)),U,11) ; transmit bill 364 ien
|
---|
| 64 | . W !!," *** Processing MCS claim# ",IBMCSCNT," of ",IBMCSTOT," ***"
|
---|
| 65 | . S DISP=$$DISP^IBCEM3(IBIFN,"cancel","",1,.DIRUT)
|
---|
| 66 | . ;
|
---|
| 67 | . I $D(DIRUT) D Q ; up arrow or time-out
|
---|
| 68 | .. N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 69 | .. S DIR(0)="YO"
|
---|
| 70 | .. S DIR("A")="Do you want to Exit this MCS cancel claim loop"
|
---|
| 71 | .. S DIR("B")="Yes"
|
---|
| 72 | .. W ! D ^DIR K DIR
|
---|
| 73 | .. I Y=1 S IBMCSTOP=1 ; Yes, exit out altogether
|
---|
| 74 | .. Q
|
---|
| 75 | . ;
|
---|
| 76 | . I 'DISP Q ; user said No to cancel
|
---|
| 77 | . ;
|
---|
| 78 | . I 'IBDA!'IB364 D Q
|
---|
| 79 | .. W !?4,"Cannot determine the EDI transmission record."
|
---|
| 80 | .. W !?4,"This claim can't be cancelled here."
|
---|
| 81 | .. D PAUSE^VALM1
|
---|
| 82 | .. Q
|
---|
| 83 | . ;
|
---|
| 84 | . D MRACHK^IBCECSA4 I MRACHK Q
|
---|
| 85 | . ;
|
---|
| 86 | . ; set-up required variables for main call to cancel this claim
|
---|
| 87 | . S IBCAN=1,IBMCSCAN=1
|
---|
| 88 | . S IBCE("EDI")=1
|
---|
| 89 | . S Y=IBIFN
|
---|
| 90 | . D
|
---|
| 91 | .. ; protect variables to be restored after call to IBCC and
|
---|
| 92 | .. ; leftover junk variables from IBCC
|
---|
| 93 | .. NEW IBIFN,IBMCSTOP,IBMCSCNT,IBMCSTOT,IBCSAMCS
|
---|
| 94 | .. NEW IBCCCC,IBCCR,IBQUIT,NAME,POP,RDATES,COL,CTRLCOL,FINISH
|
---|
| 95 | .. D NOPTF^IBCC
|
---|
| 96 | .. Q
|
---|
| 97 | . Q
|
---|
| 98 | ;
|
---|
| 99 | I IBMCSTOP W !!?5,"MCS cancel loop aborted."
|
---|
| 100 | I 'IBMCSTOP W !!?5,"Done with MCS cancel loop!"
|
---|
| 101 | D PAUSE^VALM1
|
---|
| 102 | ;
|
---|
| 103 | ; rebuild the list
|
---|
| 104 | KILL ^TMP($J,"IBCEMCA"),VALMHDR
|
---|
| 105 | S VALMBG=1
|
---|
| 106 | D UNLOCK^IBCEMCL
|
---|
| 107 | D INIT^IBCEMCL
|
---|
| 108 | I $G(IBCSAMCS)=1 S IBCSAMCS=2 ; flag to rebuild CSA
|
---|
| 109 | ;
|
---|
| 110 | CANCELX ;
|
---|
| 111 | S VALMBCK="R"
|
---|
| 112 | Q
|
---|
| 113 | ;
|
---|