| [613] | 1 | IBCC ;ALB/MJB - CANCEL THIRD PARTY BILL ;14 JUN 88  10:12 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**2,19,77,80,51,142,137,161,199,241,155,276,320,358**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ;MAP TO DGCRC | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | I '$D(IBCAN) S IBCAN=1 | 
|---|
|  | 8 | ASK ; | 
|---|
|  | 9 | ;*** | 
|---|
|  | 10 | ;I $D(XRT0) S:'$D(XRTN) XRTN="IBCC" D T1^%ZOSV ;stop rt clock | 
|---|
|  | 11 | ;S XRTL=$ZU(0),XRTN="IBCC-1" D T0^%ZOSV ;start rt clock | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | ; If called at entry point PROCESS, variable IBNOASK will exist. | 
|---|
|  | 14 | ; First time through, IBNOASK=1 | 
|---|
|  | 15 | ; Second time through, IBNOASK=2 and it will quit | 
|---|
|  | 16 | I $G(IBNOASK)=2 G Q | 
|---|
|  | 17 | I $G(IBNOASK)=1 S IBNOASK=2 | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | G Q:$G(IBCE("EDI")) | 
|---|
|  | 20 | D Q | 
|---|
|  | 21 | S IBQUIT=0 | 
|---|
|  | 22 | N DPTNOFZY S DPTNOFZY=1  ;Suppress PATIENT file fuzzy lookups | 
|---|
|  | 23 | I '$G(IBNOASK) S DIC="^DGCR(399,",DIC(0)="AEMQZ",DIC("A")="Enter BILL NUMBER or Patient NAME: " W !! D ^DIC I Y<1 S IBQUIT=1 G Q1 | 
|---|
|  | 24 | K IB364 | 
|---|
|  | 25 | NOPTF ; Note if IB364 is >0 it will be used as the ien to update in file 364 | 
|---|
|  | 26 | N DA,I | 
|---|
|  | 27 | I '$G(IBNOASK) S IBIFN=+$G(Y) | 
|---|
|  | 28 | I '$G(IBIFN) G ASK | 
|---|
|  | 29 | I IBCAN>1 D NOPTF^IBCB2 I 'IBAC1 D NOPTF1^IBCB2 G ASK | 
|---|
|  | 30 | ; Check if bill has been referred to Counsel | 
|---|
|  | 31 | I $P($G(^PRCA(430,IBIFN,6)),U,4) D  G ASK | 
|---|
|  | 32 | . W !,"This bill has been referred to Regional Counsel and cannot be 'CANCELLED' in" | 
|---|
|  | 33 | . W !,"Integrated Billing.  Please use the option 'TP Referred Follow-up'" | 
|---|
|  | 34 | . W !,"[PRCA RC ACTION MENU] in Accounts Receivable to request that Regional" | 
|---|
|  | 35 | . W !,"Counsel return the bill to your facility." | 
|---|
|  | 36 | . Q | 
|---|
|  | 37 | ; | 
|---|
|  | 38 | F I=0,"S","U1" S IB(I)=$G(^DGCR(399,IBIFN,I)) | 
|---|
|  | 39 | S IBSTAT=$P(IB(0),U,13) | 
|---|
|  | 40 | ; | 
|---|
|  | 41 | ; Restrict access to this process for REQUEST MRA bills | 
|---|
|  | 42 | I IBSTAT=2,'$G(IBCE("EDI")),$$MRAWL^IBCEMU2(IBIFN) D  G ASK | 
|---|
|  | 43 | . W !!?4,"This bill is in a status of REQUEST MRA and it does appear on the" | 
|---|
|  | 44 | . W !?4,"MRA Management Work List.  Please use the 'MRA Management Menu' options" | 
|---|
|  | 45 | . W !?4,"for all processing related to this bill." | 
|---|
|  | 46 | . Q | 
|---|
|  | 47 | ; | 
|---|
|  | 48 | ; Warning message if in a REQUEST MRA status with no MRA on file | 
|---|
|  | 49 | I IBSTAT=2,'$$MRACNT^IBCEMU1(IBIFN) D | 
|---|
|  | 50 | . N REJ | 
|---|
|  | 51 | . D TXSTS^IBCEMU2(IBIFN,,.REJ) | 
|---|
|  | 52 | . W *7,!!?4,"Warning!  This bill is in a status of REQUEST MRA." | 
|---|
|  | 53 | . W !?4,"No MRAs have been received" | 
|---|
|  | 54 | . I REJ W ", but the most recent transmission of this",!?4,"MRA request bill was rejected." | 
|---|
|  | 55 | . I 'REJ W " and there are no rejection messages on file",!?4,"for the most recent transmission of this MRA request bill." | 
|---|
|  | 56 | . Q | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | I IBCAN=2,IB("S")]"",+$P(IB("S"),U,16),$P(IB("S"),U,17)]"" D  G 1 | 
|---|
|  | 59 | . W !!,"This bill was cancelled on " S Y=$P(IB("S"),U,17) X ^DD("DD") W Y," by ",$S($P(IB("S"),U,18)']"":IBU,$D(^VA(200,$P(IB("S"),U,18),0)):$P(^(0),U,1),1:IBU),"." | 
|---|
|  | 60 | . S IBQUIT=1 | 
|---|
|  | 61 | ; Notify if a payment has been posted to this bill before cancel | 
|---|
|  | 62 | N PRCABILL | 
|---|
|  | 63 | S PRCABILL=$$TPR^PRCAFN(IBIFN) | 
|---|
|  | 64 | I PRCABILL=-1 W !!,"Please note: PRCA was unable to determine if a payment has been posted." | 
|---|
|  | 65 | I PRCABILL>0 W !!,"Please note a PAYMENT of **$"_$$TPR^PRCAFN(IBIFN)_"** has been POSTED to this bill." | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | ; If bill was created via Electronic claims process then notify | 
|---|
|  | 68 | ; user that cancellation should occur using ECME package | 
|---|
|  | 69 | I $$GET1^DIQ(399,IBIFN_",",460)]"" D  G:'Y ASK | 
|---|
|  | 70 | . W !!!?5,"This bill was created by the" | 
|---|
|  | 71 | . W !?5,"Electronic Claims Management Engine (ECME)." | 
|---|
|  | 72 | . W !?5,"Cancellation needs to occur in the ECME package by" | 
|---|
|  | 73 | . W !?5,"submitting a REVERSAL to the Payer.",!! | 
|---|
|  | 74 | . K DIR S DIR("A",1)="Has a REVERSAL for this e-Claim already been",DIR("A")="submitted to the payer via the ECME package (Y/N)",DIR(0)="Y",DIR("B")="NO" D ^DIR | 
|---|
|  | 75 | . I Y=0 W !!,"<PLEASE SUBMIT A REVERSAL USING THE APPROPRIATE OPTION IN THE ECME PACKAGE>",$C(7) | 
|---|
|  | 76 | ; | 
|---|
|  | 77 | CHK S (IBCCCC,IBQUIT)=0 I '$G(IBCEAUTO),'$G(IBMCSCAN) W !!,"ARE YOU SURE YOU WANT TO CANCEL THIS BILL" S %=2 D YN^DICN G:%=0 HELP I %'=1 S IBQUIT=1 G NO | 
|---|
|  | 78 | ; | 
|---|
|  | 79 | I '$G(IBCEAUTO) W !!,"LAST CHANCE TO CHANGE YOUR MIND..." | 
|---|
|  | 80 | S DIE=399,DA=IBIFN,DIE("NO^")="" | 
|---|
|  | 81 | S DR="16;S:'X Y=0;19;S IBCCCC=1;" | 
|---|
|  | 82 | I $G(IBCEAUTO) S DR="16////1;19////EDI/MRA TURNED OFF;S IBCCCC=1;" | 
|---|
|  | 83 | ; | 
|---|
|  | 84 | ; esg - 8/23/06 - IB*2*358 - fix semi-colon in free text field | 
|---|
|  | 85 | I $G(IBMCSRSC)'="" S DR="16;S:'X Y=0;19//^S X=IBMCSRSC;S IBCCCC=1;" | 
|---|
|  | 86 | D ^DIE K DIE,DR | 
|---|
|  | 87 | ; | 
|---|
|  | 88 | NO I 'IBCCCC W !!,"<NO ACTION TAKEN>",*7 S IBQUIT=1 G ASK:IBCAN<2,Q | 
|---|
|  | 89 | S IBCCR=$P($G(^DGCR(399,IBIFN,"S")),U,19) | 
|---|
|  | 90 | W !!,"...Bill has been cancelled..." D BULL^IBCBULL,BSTAT^IBCDC(IBIFN),PRIOR^IBCCC2(IBIFN) | 
|---|
|  | 91 | ; | 
|---|
|  | 92 | ; cancelling in ingenix claimsmanager if ingenix is running | 
|---|
|  | 93 | ; clean-up of variables is OK if not coming in from ListMan screen | 
|---|
|  | 94 | I $$CM^IBCIUT1(IBIFN) S IBCISNT=4 D ST2^IBCIST I '$G(IBCICNCL) K IBCISNT,IBCISTAT,IBCIREDT,IBCIERR | 
|---|
|  | 95 | ; | 
|---|
|  | 96 | S IBEDI=$G(IB364) | 
|---|
|  | 97 | I 'IBEDI S IBEDI=+$$LAST364^IBCEF4(IBIFN) | 
|---|
|  | 98 | I IBEDI D UPDEDI^IBCEM(IBEDI,"C") ;Update EDI files, if needed | 
|---|
|  | 99 | ; | 
|---|
|  | 100 | F I="S","U1" S IB(I)=$S($D(^DGCR(399,IBIFN,I)):^(I),1:"") | 
|---|
|  | 101 | S PRCASV("ARREC")=IBIFN,PRCASV("AMT")=$S(IB("U1")']"":0,1:$P(IB("U1"),"^")),PRCASV("DATE")=$P(IB("S"),"^",17),PRCASV("BY")=$P(IB("S"),"^",18) | 
|---|
|  | 102 | S PRCASV("COMMENT")=$S($P(IB("S"),U,19)]"":$P(IB("S"),U,19),$P(^IBE(350.9,1,2),"^",7)]"":$P(^(2),"^",7),1:"BILL CANCELLED IN MAS") | 
|---|
|  | 103 | S PRCASV("BY")=$S($P(IB("S"),U,18)]"":$P(IB("S"),U,18),1:"") | 
|---|
|  | 104 | S X=$$CANCEL^RCBEIB($G(PRCASV("ARREC")),$G(PRCASV("DATE")),$G(PRCASV("BY")),$G(PRCASV("AMT")),$G(PRCASV("COMMENT"))) | 
|---|
|  | 105 | W !,$S(X:">> The receivable associated with the claim was cancelled.",1:">> The receivable associated with the claim was not cancelled.") | 
|---|
|  | 106 | I $P(X,U,2)]"" W !,">>> ",$P(X,U,2) ; The reason why the claim can not be cancelled. | 
|---|
|  | 107 | I IBCAN<2 D RNB^IBCC1 ;assign a reason not billable | 
|---|
|  | 108 | G ASK:IBCAN<2,Q | 
|---|
|  | 109 | ; | 
|---|
|  | 110 | HELP W !,?3,"Answer 'YES' or 'Y' if you wish to cancel this bill.",!,?3,"Answer 'NO' or 'N' if you want to abort." G CHK | 
|---|
|  | 111 | Q | 
|---|
|  | 112 | 1 I $P(IB(0),U,13)=1 W !,"This record was re-opened on " S Y=$P(IB(0),U,14) X ^DD("DD") W Y,"." G CHK | 
|---|
|  | 113 | G ASK | 
|---|
|  | 114 | Q1 K:IBCAN=1 IBQUIT K IBCAN | 
|---|
|  | 115 | Q K %,IBEPAR,IBSTAT,IBARST,IBAC1,IB,DFN,IBX,IBZ,DIC,DIE,DR,PRCASV,PRCASVC,X,Y,IBEDI | 
|---|
|  | 116 | ;*** | 
|---|
|  | 117 | ;I $D(XRT0) S:'$D(XRTN) XRTN="IBCC" D T1^%ZOSV ;stop rt clock | 
|---|
|  | 118 | Q | 
|---|
|  | 119 | ; | 
|---|
|  | 120 | PROCESS(IBIFN,IBCAN) ; | 
|---|
|  | 121 | ; Entry point when the bill number is already known.  Use this when | 
|---|
|  | 122 | ; you just want to try to cancel this bill and this bill only. | 
|---|
|  | 123 | ; Input: | 
|---|
|  | 124 | ;   IBIFN - Internal bill# (Required) | 
|---|
|  | 125 | ;   IBCAN - Cancel Flag (optional, defaults to 1 if not included) | 
|---|
|  | 126 | ; | 
|---|
|  | 127 | NEW IBNOASK | 
|---|
|  | 128 | S IBNOASK=1 | 
|---|
|  | 129 | S IBCAN=$G(IBCAN,1) | 
|---|
|  | 130 | G ASK | 
|---|
|  | 131 | ; | 
|---|
|  | 132 | ;IBCC | 
|---|