IBEMTBC ;ALB/RLW - IB MEANS TEST BILLING CLOCK FILE UPDATE ; 10/16/23 2:32pm
;;2.0;INTEGRATED BILLING;**153,199,704,769**;21-MAR-94;Build 42
;Per VA Directive 6402, this routine should not be modified.
;
EN ; Entry point for Clock Maintenance
;
;I $D(XRT0) S:'$D(XRTN) XRTN="IBEMTBC" D T1^%ZOSV ;stop rt clock
;S XRTL=$ZU(0),XRTN="IBEMTBC-1" D T0^%ZOSV ;start rt clock
;
S IBCORRECT="corrected" ;Set corrected clock flag whenever edit billing clock option used.
D HOME^%ZIS,NOW^%DTC S IBDT=% K % I '$D(DT) D DT^DICRW
N DPTNOFZY S DPTNOFZY=1 ;Suppress PATIENT file fuzzy lookups
S DIR(0)="PO^2:AEMQZ" D ^DIR K DIR S DFN=+Y I $D(DIRUT) G ENQ
I $$BILST^DGMTUB(DFN)=0 S J=5 D ERR G EN
I $D(^IBE(351,"ACT",DFN)) S IBSELECT="ADJUST",IBDR="[IB BILLING CYCLE ADJUST]" D ADJUST,CLEANUP G ENQ
S IBSELECT="ADD",IBDR="[IB BILLING CYCLE ADD]" D ADDNEW,CLEANUP
;
ENQ I '$D(DIRUT) W ! G EN
K DIC,IBSELECT,DFN,IBDR,IBEL,DFN,IBIEN,IBDATA,J,DIRUT,IBFAC,IBSITE,IBDT,IBQRY,IBERRMSG,IBX,IBCORRECT
;
;I $D(XRT0) S:'$D(XRTN) XRTN="IBEMTBC" D T1^%ZOSV ;stop rt clock
;
Q
;
ADJUST ; - show current active clock; inactivate and add a new one
N IBQRYRN,IBECREF,IBECREFS,IBECTFL,IBECERR,IBECDA,IBECARY,IBECSITE,IBECVERN,IBVRNST,IBECENT,IBVRSN,IBCLKCHG,IBOOSYNC
W @IOF
S IBIEN=$O(^IBE(351,"ACT",DFN,0))
S DIC="^IBE(351,",DA=IBIEN W !! D EN^DIQ K DIC,DA
I $$GET1^DIQ(351,IBIEN,18,"I") W !," *****This clock is currently out of sync.******" D
.S IBOOSYNC=1
.S IBECREF=$O(^IBE(351.3,"B",IBIEN,"")),IBECREFS=IBECREF_","
.D GETS^DIQ(351.3,IBECREFS,"**","E","IBECTFL","IBECERR")
.S IBECENT="" F S IBECENT=$O(IBECTFL(351.31,IBECENT)) Q:IBECENT="" D
..S IBECSITE=IBECTFL(351.31,IBECENT,10,"E"),IBECVERN=IBECTFL(351.31,IBECENT,11,"E")
..I IBECSITE'="" S IBECARY(IBECSITE)=IBECVERN
.;S IBCORRECT="corrected"
.W !,"Please ensure you have the correct clock information from all applicable sites,"
.W !,"as editing this clock will clear the sync flag.",!
.W !,"The local billing clock is out of sync with other facility(s) below."
.W ! S IBVRNST="" F S IBVRNST=$O(IBECARY(IBVRNST)) Q:IBVRNST="" W !,IBVRNST
.W !
S DIR(0)="Y",DIR("A")="Do you want to update" D ^DIR K DIR Q:+Y<1
;
S DIE="^IBE(351,",DA=IBIEN,DR="16///1;18///^S X=""@""" D ^DIE ;Remove flag when editing clock, set query sent field
I $$ICN^IBARXMU(DFN),'$$GET1^DIQ(351,IBIEN,16,"I"),'$G(IBOOSYNC) D ;
.W !!,"Local Clock not queried." D EDTCLCK^IBECECX1(DFN,$$GET1^DIQ(351,IBIEN,.03,"I"),IBIEN) S IBQRYRN=1
I $G(IBFLAG1),$G(IBERRMSG)="" W !!,"Billing clock query successful and clock has been updated if applicable." I $G(IBECDA) S IBIEN=IBECDA D
.K DR
.S DIC="^IBE(351,",DA=IBIEN W !! D EN^DIQ K DIC,DA
I $G(IBFLAG1),$G(IBERRMSG)="" S DIR(0)="Y",DIR("A")="Do you want to continue",DIR("B")="Yes" D ^DIR K DIR I +Y<1 D EN^IBECECU1(DFN,IBIEN,1) Q
; - save current clock, change to cancelled and delete "ACT" xref
I $G(IBFLAG1),$G(IBERRMSG)'="" S IBTEXT=IBERRMSG D WRAP^IBECECX1(0,80,.IBTEXT) D
.S IBX=0 F S IBX=$O(IBTEXT(IBX)) Q:'IBX W !,IBTEXT(IBX)
.I $$GET1^DIQ(351,IBIEN,18,"I") D Q
..W !,"The local billing clock is out of sync with other facility(s) below.",!
..W ! S IBVRNST="" F S IBVRNST=$O(IBECARY(IBVRNST)) Q:IBVRNST="" W !,IBVRNST
..W !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
..S IBQUIT=1 K DR S DIC="^IBE(351,",DA=IBIEN D EN^DIQ K DIC,DA
..W !!,"Please ensure you have the correct clock information from all applicable sites,"
..W !,"before editing the clock.",!
.S DIR(0)="Y",DIR("A")="Do you want to continue",DIR("B")="No" D ^DIR K DIR I +Y<1 S IBQUIT=1
Q:$G(IBQUIT)
I '$G(IBFLAG1),IBSELECT'="ADD",$G(IBQRYRN) W !!,"Billing Clock Query was not returned from VDIF and clock could not be synced",!,"with other potential clocks.",! D
.W !,"Please try again later, and if the problem persists, submit a trouble ticket.",!
.S DIR(0)="Y",DIR("A")="Do you still want to continue",DIR("B")="No" D ^DIR K DIR I +Y<1 S IBQUIT=1
K ^IBE(351,"ACT",DFN) L +(^IBE(351,IBIEN)):$G(DILOCKTM,3)
S IBDATA=$P(^IBE(351,IBIEN,0),"^",2,10),$P(^IBE(351,IBIEN,0),"^",4)=3,$P(^(1),"^",3,4)=DUZ_"^"_IBDT
S IBQRY=$P(^IBE(351,IBIEN,1),"^",5),IBCLSTDT=$$GET1^DIQ(351,IBIEN,.03,"I"),IBVRSN=$$GET1^DIQ(351,IBIEN,17,"I")
L -(^IBE(351,IBIEN))
;
ADDNEW ; - add a new clock and allow updating
N IBNCLCK,IBNOCL
I IBSELECT="ADD" D Q:'Y W !
.W !!,"This patient does not have an active billing clock!"
.S DIR(0)="Y",DIR("A")="Is it okay to add a new billing clock for this patient"
.D ^DIR K DIR,DIRUT,DUOUT,DTOUT
;
D SITE^IBAUTL I 'IBSITE S J=1 G ERR
S I=$P($S($D(^IBE(351,0)):^(0),1:"^^-1"),"^",3)+1 I 'I S J=3 G ERR
K DD,DO,DIC,DR S DIC="^IBE(351,",DIC(0)="L",DLAYGO=351,DIC("DR")=".02////"_DFN_";11////"_DUZ_";12////"_IBDT
F I=I:1 I I>0,'$D(^IBE(351,I)) L +^IBE(351,I):2 I $T,'$D(^IBE(351,I)) S DINUM=I,X=+IBSITE_I D FILE^DICN K DIC,DR S IBCL=+Y Q:+Y>0
L -^IBE(351,IBCL)
I IBSELECT'="ADD" S $P(^IBE(351,IBCL,0),"^",2,10)=IBDATA,$P(^IBE(351,IBCL,1),"^",5)=IBQRY,$P(^IBE(351,IBCL,1),"^",6)=IBVRSN,DIK="^IBE(351,",DA=IBCL D IX1^DIK K DIK
I IBSELECT="ADD" S DIE="^IBE(351,",DA=IBCL,DR=".03" D ^DIE Q:$D(DTOUT) Q:X="" I $$GET1^DIQ(351,IBCL,.03,"I") D EDTCLCK^IBECECX1(DFN,$$GET1^DIQ(351,IBCL,.03,"I"),IBCL) I $G(IBFLAG1) D Q:$G(IBQUIT)
.I $$GET1^DIQ(351,IBCL,.05)'="",'$G(IBERRMSG) W !!,"Billing clock query successful and clock has been updated if applicable.",! D
..K DR
..S DIC="^IBE(351,",DA=IBCL W !! D EN^DIQ K DIC,DA
.I $$GET1^DIQ(351,IBCL,.05)="",$G(IBERRMSG)="" S IBNOCL=1 W !!,"Query returned successfully with no billing clocks."
.I $G(IBERRMSG)'="" S IBTEXT=IBERRMSG D WRAP^IBECECX1(0,80,.IBTEXT) D
..S IBX=0 F S IBX=$O(IBTEXT(IBX)) Q:'IBX W !,IBTEXT(IBX)
..W !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
..I $$GET1^DIQ(351,IBCL,18,"I") D Q
...W !,"The local billing clock is out of sync with other facility(s) below.",!
...W ! S IBVRNST="" F S IBVRNST=$O(IBECARY(IBVRNST)) Q:IBVRNST="" W !,IBVRNST ;W:$O(IBECARY(IBVRNST))'="" "; "
...W !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
...S IBQUIT=1 K DR S DIC="^IBE(351,",DA=IBCL D EN^DIQ K DIC,DA
...W !!,"Please ensure you have the correct clock information from all applicable sites,"
...W !,"before editing the clock.",!
..S DIR(0)="Y",DIR("A")="Do you still want to continue",DIR("B")="NO" D ^DIR K DIR I +Y<1 S IBQUIT=1 D
...S IBDATA=^IBE(351,IBCL,0) I '$P(IBDATA,"^",3)!'$P(IBDATA,"^",4) D
....W !!,"This new clock is incomplete!! Deleting the clock from the system..."
.Q:$G(IBQUIT)
.I '$G(IBNOCL),$G(IBERRMSG)="" S DIR(0)="Y",DIR("A")="Do you still want to update" D ^DIR K DIR I +Y<1 S IBQUIT=1 Q
.S IBIEN=IBCL S:$G(IBECDA) IBCL=IBECDA S IBSELECT="ADJUST",IBDR="[IB BILLING CYCLE ADJUST]",IBCLSTDT=$$GET1^DIQ(351,IBCL,.03,"I"),IBNCLCK=1
.I IBIEN'=IBCL S DA=IBIEN,DIK="^IBE(351," D ^DIK K DIK,DA D
..K DR W !!!
..S DIC="^IBE(351,",DA=IBCL W !! D EN^DIQ K DIC,DA
..I $$GET1^DIQ(351,IBIEN,18,"I") W !," *****This clock is currently out of sync.******" D
...W !,"Please ensure you have the correct clock information from all applicable sites,"
...W !,"as editing this clock will clear the sync flag.",!
..S DIR(0)="Y",DIR("A")="Do you want to update" D ^DIR K DIR I Y<1 S IBQUIT=1
I $G(IBQUIT) D Q
.S IBDATA=^IBE(351,IBCL,0) I '$P(IBDATA,"^",3)!'$P(IBDATA,"^",4) D
..W !!,"This new clock is incomplete!! Deleting the clock from the system..."
..S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA
I $G(IBIEN) S DIE="^IBE(351,",DA=IBIEN,DR="18///^S X=""@""" D ^DIE ;Remove flag after edit
I '$$GET1^DIQ(351,IBCL,.03,"I") D Q
.W !!,"This new clock is incomplete!! Deleting the clock from the system..."
.S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA
I $$GET1^DIQ(351,IBCL,.04,"I")=2 W !!,"Billing clock is in a closed status and cannot be edited.",! Q
I IBSELECT="ADD",'$G(IBFLAG1) D
.W !!,"Billing Clock Query was not returned from VDIF and clock could not be synced",!,"with other potential clocks.",! S DIR(0)="Y",DIR("A")="Do you still want to update",DIC("B")="N" D ^DIR K DIR I +Y<1 D
..I $$GET1^DIQ(351,IBCL,.03)=""!($$GET1^DIQ(351,IBCL,.04)="") S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA D ;Delete clock if status null indicating no clock data added for stubbed clock
...W !,"Billing clock will not be created."
..S IBQUIT=1
Q:$G(IBQUIT)
I IBSELECT'="ADD" L +^IBE(351,IBCL):$G(DILOCKTM,5) S DIE="^IBE(351,",DA=IBCL,DR=".03" D ^DIE L -^IBE(351,IBCL) I X="" D Q ;Quit if ^ entered
.I $$GET1^DIQ(351,IBCL,.03)=""!($$GET1^DIQ(351,IBCL,.04)="") S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA D S IBQUIT=1 Q ;Delete clock if status null indicating no clock data added for stubbed clock
..W !,"Billing clock will not be created."
Q:$G(IBQUIT)
I $$GET1^DIQ(351,IBCL,.03,"I")'=$G(IBCLSTDT),'($G(IBOOSYNC)) S $P(^IBE(351,IBCL,1),"^",5)="",IBQRYRN="",IBCLKCHG=1
I IBSELECT'="ADD",'$P(^IBE(351,IBCL,1),"^",5),'$G(IBQRYRN),$G(IBCLKCHG),'$G(IBOOSYNC) W !!,"Billing Clock start date change requires new Query, please wait." D CLNCLK,EDTCLCK^IBECECX1(DFN,$$GET1^DIQ(351,IBCL,.03,"I"),IBCL) I $G(IBFLAG1) D
.I '$G(IBERRMSG) W !!!,"Billing clock query successful and clock has been updated if applicable",!
.I $G(IBECDA),IBCL'=$G(IBECDA) S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA S IBCL=IBECDA
.I $G(IBERRMSG)'="" S IBTEXT=IBERRMSG D WRAP^IBECECX1(0,80,.IBTEXT) D
..S IBX=0 F S IBX=$O(IBTEXT(IBX)) Q:'IBX W !,IBTEXT(IBX)
..W !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
..I $$GET1^DIQ(351,IBCL,18,"I") D Q
...W "The local billing clock is out of sync with other facility(s) below.",!
...W ! S IBVRNST="" F S IBVRNST=$O(IBECARY(IBVRNST)) Q:IBVRNST="" W !,IBVRNST ;W:$O(IBECARY(IBVRNST))'="" "; "
...W ! S IBQUIT=1 K DR S DIC="^IBE(351,",DA=IBCL D EN^DIQ K DIC,DA
...W !!,"Please ensure you have the correct clock information from all applicable sites,"
...W !,"before editing the clock.",!
..S DIR(0)="Y",DIR("A")="Do you still want to update" D ^DIR K DIR I +Y<1 S IBQUIT=1 Q
.Q:$G(IBQUIT)
.S $P(^IBE(351,IBCL,1),"^",5)=1
.K DR W !
.S DIC="^IBE(351,",DA=IBCL W !! D EN^DIQ K DIC,DA
.I $$GET1^DIQ(351,IBCL,18,"I") W !!,"*****This clock is currently out of sync.******"
.S DIR(0)="Y",DIR("A")="Do you still want to update",DIR("B")="NO" D ^DIR K DIR I +Y<1 S IBQUIT=1
I $G(IBQUIT) S IBDEL=0 D Q
.S IBDATA=^IBE(351,IBCL,0) I '$P(IBDATA,"^",3)!'$P(IBDATA,"^",4) S IBDEL=1 D
..W !!,"This new clock is incomplete!! Deleting the clock from the system..."
..S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA
.I '$G(IBDEL) D:'$$GET1^DIQ(351,IBCL,18,"I") EN^IBECECU1(DFN,IBCL,1) Q
I '$G(IBFLAG1),IBSELECT'="ADD",$$GET1^DIQ(351,IBCL,.03,"I")'=IBCLSTDT,'$G(IBOOSYNC) W !!,"Billing Clock Query not returned.",! D
.S DIR(0)="Y",DIR("A")="Do you still want to update" D ^DIR K DIR I +Y<1 S IBQUIT=1
I $G(IBQUIT) D Q
.S IBDATA=^IBE(351,IBCL,0) I '$P(IBDATA,"^",3)!'$P(IBDATA,"^",4) D
..W !!,"This new clock is incomplete!! Deleting the clock from the system..."
..S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA
L +^IBE(351,IBCL):$G(DILOCKTM,5) S DIE="^IBE(351,",DA=IBCL,DR=IBDR D ^DIE K DA,DIE,DR ;S $P(^IBE(351,IBCL,1),"^",5)=1
L -^IBE(351,IBCL)
;
; - if the updated clock was cancelled, with no other changes made,
; - move the update reason over to the old clock and cancel the new one.
I IBSELECT'="ADD" D
.Q:'$D(^IBE(351,+$G(IBIEN))) Q:IBCL=IBIEN
.I $L(^IBE(351,+$G(IBIEN),0),"^")=9 S $P(^IBE(351,+$G(IBIEN),0),"^",10)=""
.I $L(^IBE(351,IBCL,0),"^")=9 S $P(^IBE(351,IBCL,0),"^",10)=""
.Q:$P(^IBE(351,+$G(IBIEN),0),"^",2,10)'=$P(^IBE(351,IBCL,0),"^",2,10)
.W !!,"Since you only cancelled the clock, I'll delete the new clock..."
.I $P(^IBE(351,IBCL,0),"^",11)]"" S $P(^IBE(351,+$G(IBIEN),0),"^",11)=$P(^IBE(351,IBCL,0),"^",11) W !,"(but I'll save the update reason)..."
.S $P(^IBE(351,IBIEN,1),"^",5)=1 ;IB*2*769 - Change to set query sent field to yes for canceled clocks
.S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA
.I $D(^IBE(351,IBIEN)),$$GET1^DIQ(351,IBIEN,16,"I"),('$$GET1^DIQ(351,IBIEN,18,"I")) D EN^IBECECU1(DFN,IBIEN,1) ;IB*2.0*769 - Send update for canceled clock
;
; - if the user is adding a new clock, and there is no clock
; - begin date or status, delete the clock.
I IBSELECT="ADD"!($G(IBNCLCK)) S IBDATA=^IBE(351,IBCL,0) I '$P(IBDATA,"^",3)!'$P(IBDATA,"^",4) D
.W !!,"This new clock is incomplete!! Deleting the clock from the system..."
.S DA=IBCL,DIK="^IBE(351," D ^DIK K DIK,DA
I $D(^IBE(351,IBCL)),$$GET1^DIQ(351,IBCL,16,"I"),('$$GET1^DIQ(351,IBCL,18,"I")) D EN^IBECECU1(DFN,IBCL,1)
K IBCL
Q
CLNCLK ;Clean up old clock
S IBIEN=IBCL
K ^IBE(351,"ACT",DFN) L +(^IBE(351,IBIEN)):$G(DILOCKTM,3)
S IBDATA=$P(^IBE(351,IBIEN,0),"^",2,10),$P(^IBE(351,IBIEN,0),"^",4)=3,$P(^(1),"^",3,4)=DUZ_"^"_IBDT
S IBQRY=$P(^IBE(351,IBIEN,1),"^",5),IBVRSN=$$GET1^DIQ(351,IBIEN,17,"I")
L -(^IBE(351,IBIEN))
S I=$P($S($D(^IBE(351,0)):^(0),1:"^^-1"),"^",3)+1 I 'I S J=3 G ERR
K DD,DO,DIC,DR S DIC="^IBE(351,",DIC(0)="L",DLAYGO=351,DIC("DR")=".02////"_DFN_";11////"_DUZ_";12////"_IBDT
F I=I:1 I I>0,'$D(^IBE(351,I)) L +^IBE(351,I):2 I $T,'$D(^IBE(351,I)) S DINUM=I,X=+IBSITE_I D FILE^DICN K DIC,DR S IBCL=+Y Q:+Y>0
S $P(^IBE(351,IBCL,0),"^",2,10)=IBDATA,$P(^IBE(351,IBCL,1),"^",5)=IBQRY,$P(^IBE(351,IBCL,1),"^",6)=IBVRSN,DIK="^IBE(351,",DA=IBCL D IX1^DIK K DIK
L -^IBE(351,IBCL)
Q
;
ERR ; - display error messages
W !?5,$P($T(ERRMSG+J),";;",2)
CLEANUP K IBCLDA,IBCLDAY,IBCLDT,IBMED,IBCLDOL,X,IBSELECT,DLAYGO,IBDTK,IBFLAG1,DR,IBECDA,IBQUIT,IBCLSTDT,IB351IEN,IBDEL
Q
;
ERRMSG ; - possible error messages
;;No value returned from call to SITE^IBAUTL
;;Record locked, try again later!
;;Problem extracting last IFN from zeroth node of MEANS TEST BILLING CLOCK file
;;Unable to add record to MEANS TEST BILLING CLOCK file
;;Not a Means Test copay patient!
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBEMTBC 14198 printed Sep 23, 2025@19:58:21 Page 2
IBEMTBC ;ALB/RLW - IB MEANS TEST BILLING CLOCK FILE UPDATE ; 10/16/23 2:32pm
+1 ;;2.0;INTEGRATED BILLING;**153,199,704,769**;21-MAR-94;Build 42
+2 ;Per VA Directive 6402, this routine should not be modified.
+3 ;
EN ; Entry point for Clock Maintenance
+1 ;
+2 ;I $D(XRT0) S:'$D(XRTN) XRTN="IBEMTBC" D T1^%ZOSV ;stop rt clock
+3 ;S XRTL=$ZU(0),XRTN="IBEMTBC-1" D T0^%ZOSV ;start rt clock
+4 ;
+5 ;Set corrected clock flag whenever edit billing clock option used.
SET IBCORRECT="corrected"
+6 DO HOME^%ZIS
DO NOW^%DTC
SET IBDT=%
KILL %
IF '$DATA(DT)
DO DT^DICRW
+7 ;Suppress PATIENT file fuzzy lookups
NEW DPTNOFZY
SET DPTNOFZY=1
+8 SET DIR(0)="PO^2:AEMQZ"
DO ^DIR
KILL DIR
SET DFN=+Y
IF $DATA(DIRUT)
GOTO ENQ
+9 IF $$BILST^DGMTUB(DFN)=0
SET J=5
DO ERR
GOTO EN
+10 IF $DATA(^IBE(351,"ACT",DFN))
SET IBSELECT="ADJUST"
SET IBDR="[IB BILLING CYCLE ADJUST]"
DO ADJUST
DO CLEANUP
GOTO ENQ
+11 SET IBSELECT="ADD"
SET IBDR="[IB BILLING CYCLE ADD]"
DO ADDNEW
DO CLEANUP
+12 ;
ENQ IF '$DATA(DIRUT)
WRITE !
GOTO EN
+1 KILL DIC,IBSELECT,DFN,IBDR,IBEL,DFN,IBIEN,IBDATA,J,DIRUT,IBFAC,IBSITE,IBDT,IBQRY,IBERRMSG,IBX,IBCORRECT
+2 ;
+3 ;I $D(XRT0) S:'$D(XRTN) XRTN="IBEMTBC" D T1^%ZOSV ;stop rt clock
+4 ;
+5 QUIT
+6 ;
ADJUST ; - show current active clock; inactivate and add a new one
+1 NEW IBQRYRN,IBECREF,IBECREFS,IBECTFL,IBECERR,IBECDA,IBECARY,IBECSITE,IBECVERN,IBVRNST,IBECENT,IBVRSN,IBCLKCHG,IBOOSYNC
+2 WRITE @IOF
+3 SET IBIEN=$ORDER(^IBE(351,"ACT",DFN,0))
+4 SET DIC="^IBE(351,"
SET DA=IBIEN
WRITE !!
DO EN^DIQ
KILL DIC,DA
+5 IF $$GET1^DIQ(351,IBIEN,18,"I")
WRITE !," *****This clock is currently out of sync.******"
Begin DoDot:1
+6 SET IBOOSYNC=1
+7 SET IBECREF=$ORDER(^IBE(351.3,"B",IBIEN,""))
SET IBECREFS=IBECREF_","
+8 DO GETS^DIQ(351.3,IBECREFS,"**","E","IBECTFL","IBECERR")
+9 SET IBECENT=""
FOR
SET IBECENT=$ORDER(IBECTFL(351.31,IBECENT))
if IBECENT=""
QUIT
Begin DoDot:2
+10 SET IBECSITE=IBECTFL(351.31,IBECENT,10,"E")
SET IBECVERN=IBECTFL(351.31,IBECENT,11,"E")
+11 IF IBECSITE'=""
SET IBECARY(IBECSITE)=IBECVERN
End DoDot:2
+12 ;S IBCORRECT="corrected"
+13 WRITE !,"Please ensure you have the correct clock information from all applicable sites,"
+14 WRITE !,"as editing this clock will clear the sync flag.",!
+15 WRITE !,"The local billing clock is out of sync with other facility(s) below."
+16 WRITE !
SET IBVRNST=""
FOR
SET IBVRNST=$ORDER(IBECARY(IBVRNST))
if IBVRNST=""
QUIT
WRITE !,IBVRNST
+17 WRITE !
End DoDot:1
+18 SET DIR(0)="Y"
SET DIR("A")="Do you want to update"
DO ^DIR
KILL DIR
if +Y<1
QUIT
+19 ;
+20 ;Remove flag when editing clock, set query sent field
SET DIE="^IBE(351,"
SET DA=IBIEN
SET DR="16///1;18///^S X=""@"""
DO ^DIE
+21 ;
IF $$ICN^IBARXMU(DFN)
IF '$$GET1^DIQ(351,IBIEN,16,"I")
IF '$GET(IBOOSYNC)
Begin DoDot:1
+22 WRITE !!,"Local Clock not queried."
DO EDTCLCK^IBECECX1(DFN,$$GET1^DIQ(351,IBIEN,.03,"I"),IBIEN)
SET IBQRYRN=1
End DoDot:1
+23 IF $GET(IBFLAG1)
IF $GET(IBERRMSG)=""
WRITE !!,"Billing clock query successful and clock has been updated if applicable."
IF $GET(IBECDA)
SET IBIEN=IBECDA
Begin DoDot:1
+24 KILL DR
+25 SET DIC="^IBE(351,"
SET DA=IBIEN
WRITE !!
DO EN^DIQ
KILL DIC,DA
End DoDot:1
+26 IF $GET(IBFLAG1)
IF $GET(IBERRMSG)=""
SET DIR(0)="Y"
SET DIR("A")="Do you want to continue"
SET DIR("B")="Yes"
DO ^DIR
KILL DIR
IF +Y<1
DO EN^IBECECU1(DFN,IBIEN,1)
QUIT
+27 ; - save current clock, change to cancelled and delete "ACT" xref
+28 IF $GET(IBFLAG1)
IF $GET(IBERRMSG)'=""
SET IBTEXT=IBERRMSG
DO WRAP^IBECECX1(0,80,.IBTEXT)
Begin DoDot:1
+29 SET IBX=0
FOR
SET IBX=$ORDER(IBTEXT(IBX))
if 'IBX
QUIT
WRITE !,IBTEXT(IBX)
+30 IF $$GET1^DIQ(351,IBIEN,18,"I")
Begin DoDot:2
+31 WRITE !,"The local billing clock is out of sync with other facility(s) below.",!
+32 WRITE !
SET IBVRNST=""
FOR
SET IBVRNST=$ORDER(IBECARY(IBVRNST))
if IBVRNST=""
QUIT
WRITE !,IBVRNST
+33 WRITE !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
+34 SET IBQUIT=1
KILL DR
SET DIC="^IBE(351,"
SET DA=IBIEN
DO EN^DIQ
KILL DIC,DA
+35 WRITE !!,"Please ensure you have the correct clock information from all applicable sites,"
+36 WRITE !,"before editing the clock.",!
End DoDot:2
QUIT
+37 SET DIR(0)="Y"
SET DIR("A")="Do you want to continue"
SET DIR("B")="No"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
End DoDot:1
+38 if $GET(IBQUIT)
QUIT
+39 IF '$GET(IBFLAG1)
IF IBSELECT'="ADD"
IF $GET(IBQRYRN)
WRITE !!,"Billing Clock Query was not returned from VDIF and clock could not be synced",!,"with other potential clocks.",!
Begin DoDot:1
+40 WRITE !,"Please try again later, and if the problem persists, submit a trouble ticket.",!
+41 SET DIR(0)="Y"
SET DIR("A")="Do you still want to continue"
SET DIR("B")="No"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
End DoDot:1
+42 KILL ^IBE(351,"ACT",DFN)
LOCK +(^IBE(351,IBIEN)):$GET(DILOCKTM,3)
+43 SET IBDATA=$PIECE(^IBE(351,IBIEN,0),"^",2,10)
SET $PIECE(^IBE(351,IBIEN,0),"^",4)=3
SET $PIECE(^(1),"^",3,4)=DUZ_"^"_IBDT
+44 SET IBQRY=$PIECE(^IBE(351,IBIEN,1),"^",5)
SET IBCLSTDT=$$GET1^DIQ(351,IBIEN,.03,"I")
SET IBVRSN=$$GET1^DIQ(351,IBIEN,17,"I")
+45 LOCK -(^IBE(351,IBIEN))
+46 ;
ADDNEW ; - add a new clock and allow updating
+1 NEW IBNCLCK,IBNOCL
+2 IF IBSELECT="ADD"
Begin DoDot:1
+3 WRITE !!,"This patient does not have an active billing clock!"
+4 SET DIR(0)="Y"
SET DIR("A")="Is it okay to add a new billing clock for this patient"
+5 DO ^DIR
KILL DIR,DIRUT,DUOUT,DTOUT
End DoDot:1
if 'Y
QUIT
WRITE !
+6 ;
+7 DO SITE^IBAUTL
IF 'IBSITE
SET J=1
GOTO ERR
+8 SET I=$PIECE($SELECT($DATA(^IBE(351,0)):^(0),1:"^^-1"),"^",3)+1
IF 'I
SET J=3
GOTO ERR
+9 KILL DD,DO,DIC,DR
SET DIC="^IBE(351,"
SET DIC(0)="L"
SET DLAYGO=351
SET DIC("DR")=".02////"_DFN_";11////"_DUZ_";12////"_IBDT
+10 FOR I=I:1
IF I>0
IF '$DATA(^IBE(351,I))
LOCK +^IBE(351,I):2
IF $TEST
IF '$DATA(^IBE(351,I))
SET DINUM=I
SET X=+IBSITE_I
DO FILE^DICN
KILL DIC,DR
SET IBCL=+Y
if +Y>0
QUIT
+11 LOCK -^IBE(351,IBCL)
+12 IF IBSELECT'="ADD"
SET $PIECE(^IBE(351,IBCL,0),"^",2,10)=IBDATA
SET $PIECE(^IBE(351,IBCL,1),"^",5)=IBQRY
SET $PIECE(^IBE(351,IBCL,1),"^",6)=IBVRSN
SET DIK="^IBE(351,"
SET DA=IBCL
DO IX1^DIK
KILL DIK
+13 IF IBSELECT="ADD"
SET DIE="^IBE(351,"
SET DA=IBCL
SET DR=".03"
DO ^DIE
if $DATA(DTOUT)
QUIT
if X=""
QUIT
IF $$GET1^DIQ(351,IBCL,.03,"I")
DO EDTCLCK^IBECECX1(DFN,$$GET1^DIQ(351,IBCL,.03,"I"),IBCL)
IF $GET(IBFLAG1)
Begin DoDot:1
+14 IF $$GET1^DIQ(351,IBCL,.05)'=""
IF '$GET(IBERRMSG)
WRITE !!,"Billing clock query successful and clock has been updated if applicable.",!
Begin DoDot:2
+15 KILL DR
+16 SET DIC="^IBE(351,"
SET DA=IBCL
WRITE !!
DO EN^DIQ
KILL DIC,DA
End DoDot:2
+17 IF $$GET1^DIQ(351,IBCL,.05)=""
IF $GET(IBERRMSG)=""
SET IBNOCL=1
WRITE !!,"Query returned successfully with no billing clocks."
+18 IF $GET(IBERRMSG)'=""
SET IBTEXT=IBERRMSG
DO WRAP^IBECECX1(0,80,.IBTEXT)
Begin DoDot:2
+19 SET IBX=0
FOR
SET IBX=$ORDER(IBTEXT(IBX))
if 'IBX
QUIT
WRITE !,IBTEXT(IBX)
+20 WRITE !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
+21 IF $$GET1^DIQ(351,IBCL,18,"I")
Begin DoDot:3
+22 WRITE !,"The local billing clock is out of sync with other facility(s) below.",!
+23 ;W:$O(IBECARY(IBVRNST))'="" "; "
WRITE !
SET IBVRNST=""
FOR
SET IBVRNST=$ORDER(IBECARY(IBVRNST))
if IBVRNST=""
QUIT
WRITE !,IBVRNST
+24 WRITE !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
+25 SET IBQUIT=1
KILL DR
SET DIC="^IBE(351,"
SET DA=IBCL
DO EN^DIQ
KILL DIC,DA
+26 WRITE !!,"Please ensure you have the correct clock information from all applicable sites,"
+27 WRITE !,"before editing the clock.",!
End DoDot:3
QUIT
+28 SET DIR(0)="Y"
SET DIR("A")="Do you still want to continue"
SET DIR("B")="NO"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
Begin DoDot:3
+29 SET IBDATA=^IBE(351,IBCL,0)
IF '$PIECE(IBDATA,"^",3)!'$PIECE(IBDATA,"^",4)
Begin DoDot:4
+30 WRITE !!,"This new clock is incomplete!! Deleting the clock from the system..."
End DoDot:4
End DoDot:3
End DoDot:2
+31 if $GET(IBQUIT)
QUIT
+32 IF '$GET(IBNOCL)
IF $GET(IBERRMSG)=""
SET DIR(0)="Y"
SET DIR("A")="Do you still want to update"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
QUIT
+33 SET IBIEN=IBCL
if $GET(IBECDA)
SET IBCL=IBECDA
SET IBSELECT="ADJUST"
SET IBDR="[IB BILLING CYCLE ADJUST]"
SET IBCLSTDT=$$GET1^DIQ(351,IBCL,.03,"I")
SET IBNCLCK=1
+34 IF IBIEN'=IBCL
SET DA=IBIEN
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
Begin DoDot:2
+35 KILL DR
WRITE !!!
+36 SET DIC="^IBE(351,"
SET DA=IBCL
WRITE !!
DO EN^DIQ
KILL DIC,DA
+37 IF $$GET1^DIQ(351,IBIEN,18,"I")
WRITE !," *****This clock is currently out of sync.******"
Begin DoDot:3
+38 WRITE !,"Please ensure you have the correct clock information from all applicable sites,"
+39 WRITE !,"as editing this clock will clear the sync flag.",!
End DoDot:3
+40 SET DIR(0)="Y"
SET DIR("A")="Do you want to update"
DO ^DIR
KILL DIR
IF Y<1
SET IBQUIT=1
End DoDot:2
End DoDot:1
if $GET(IBQUIT)
QUIT
+41 IF $GET(IBQUIT)
Begin DoDot:1
+42 SET IBDATA=^IBE(351,IBCL,0)
IF '$PIECE(IBDATA,"^",3)!'$PIECE(IBDATA,"^",4)
Begin DoDot:2
+43 WRITE !!,"This new clock is incomplete!! Deleting the clock from the system..."
+44 SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
End DoDot:2
End DoDot:1
QUIT
+45 ;Remove flag after edit
IF $GET(IBIEN)
SET DIE="^IBE(351,"
SET DA=IBIEN
SET DR="18///^S X=""@"""
DO ^DIE
+46 IF '$$GET1^DIQ(351,IBCL,.03,"I")
Begin DoDot:1
+47 WRITE !!,"This new clock is incomplete!! Deleting the clock from the system..."
+48 SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
End DoDot:1
QUIT
+49 IF $$GET1^DIQ(351,IBCL,.04,"I")=2
WRITE !!,"Billing clock is in a closed status and cannot be edited.",!
QUIT
+50 IF IBSELECT="ADD"
IF '$GET(IBFLAG1)
Begin DoDot:1
+51 WRITE !!,"Billing Clock Query was not returned from VDIF and clock could not be synced",!,"with other potential clocks.",!
SET DIR(0)="Y"
SET DIR("A")="Do you still want to update"
SET DIC("B")="N"
DO ^DIR
KILL DIR
IF +Y<1
Begin DoDot:2
+52 ;Delete clock if status null indicating no clock data added for stubbed clock
IF $$GET1^DIQ(351,IBCL,.03)=""!($$GET1^DIQ(351,IBCL,.04)="")
SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
Begin DoDot:3
+53 WRITE !,"Billing clock will not be created."
End DoDot:3
+54 SET IBQUIT=1
End DoDot:2
End DoDot:1
+55 if $GET(IBQUIT)
QUIT
+56 ;Quit if ^ entered
IF IBSELECT'="ADD"
LOCK +^IBE(351,IBCL):$GET(DILOCKTM,5)
SET DIE="^IBE(351,"
SET DA=IBCL
SET DR=".03"
DO ^DIE
LOCK -^IBE(351,IBCL)
IF X=""
Begin DoDot:1
+57 ;Delete clock if status null indicating no clock data added for stubbed clock
IF $$GET1^DIQ(351,IBCL,.03)=""!($$GET1^DIQ(351,IBCL,.04)="")
SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
Begin DoDot:2
+58 WRITE !,"Billing clock will not be created."
End DoDot:2
SET IBQUIT=1
QUIT
End DoDot:1
QUIT
+59 if $GET(IBQUIT)
QUIT
+60 IF $$GET1^DIQ(351,IBCL,.03,"I")'=$GET(IBCLSTDT)
IF '($GET(IBOOSYNC))
SET $PIECE(^IBE(351,IBCL,1),"^",5)=""
SET IBQRYRN=""
SET IBCLKCHG=1
+61 IF IBSELECT'="ADD"
IF '$PIECE(^IBE(351,IBCL,1),"^",5)
IF '$GET(IBQRYRN)
IF $GET(IBCLKCHG)
IF '$GET(IBOOSYNC)
WRITE !!,"Billing Clock start date change requires new Query, please wait."
DO CLNCLK
DO EDTCLCK^IBECECX1(DFN,$$GET1^DIQ(351,IBCL,.03,"I"),IBCL)
IF $GET(IBFLAG1)
Begin DoDot:1
+62 IF '$GET(IBERRMSG)
WRITE !!!,"Billing clock query successful and clock has been updated if applicable",!
+63 IF $GET(IBECDA)
IF IBCL'=$GET(IBECDA)
SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
SET IBCL=IBECDA
+64 IF $GET(IBERRMSG)'=""
SET IBTEXT=IBERRMSG
DO WRAP^IBECECX1(0,80,.IBTEXT)
Begin DoDot:2
+65 SET IBX=0
FOR
SET IBX=$ORDER(IBTEXT(IBX))
if 'IBX
QUIT
WRITE !,IBTEXT(IBX)
+66 WRITE !!,"Please sync billing clock information before creating a copayment to ensure",!,"copayment billing accuracy.",!!
+67 IF $$GET1^DIQ(351,IBCL,18,"I")
Begin DoDot:3
+68 WRITE "The local billing clock is out of sync with other facility(s) below.",!
+69 ;W:$O(IBECARY(IBVRNST))'="" "; "
WRITE !
SET IBVRNST=""
FOR
SET IBVRNST=$ORDER(IBECARY(IBVRNST))
if IBVRNST=""
QUIT
WRITE !,IBVRNST
+70 WRITE !
SET IBQUIT=1
KILL DR
SET DIC="^IBE(351,"
SET DA=IBCL
DO EN^DIQ
KILL DIC,DA
+71 WRITE !!,"Please ensure you have the correct clock information from all applicable sites,"
+72 WRITE !,"before editing the clock.",!
End DoDot:3
QUIT
+73 SET DIR(0)="Y"
SET DIR("A")="Do you still want to update"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
QUIT
End DoDot:2
+74 if $GET(IBQUIT)
QUIT
+75 SET $PIECE(^IBE(351,IBCL,1),"^",5)=1
+76 KILL DR
WRITE !
+77 SET DIC="^IBE(351,"
SET DA=IBCL
WRITE !!
DO EN^DIQ
KILL DIC,DA
+78 IF $$GET1^DIQ(351,IBCL,18,"I")
WRITE !!,"*****This clock is currently out of sync.******"
+79 SET DIR(0)="Y"
SET DIR("A")="Do you still want to update"
SET DIR("B")="NO"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
End DoDot:1
+80 IF $GET(IBQUIT)
SET IBDEL=0
Begin DoDot:1
+81 SET IBDATA=^IBE(351,IBCL,0)
IF '$PIECE(IBDATA,"^",3)!'$PIECE(IBDATA,"^",4)
SET IBDEL=1
Begin DoDot:2
+82 WRITE !!,"This new clock is incomplete!! Deleting the clock from the system..."
+83 SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
End DoDot:2
+84 IF '$GET(IBDEL)
if '$$GET1^DIQ(351,IBCL,18,"I")
DO EN^IBECECU1(DFN,IBCL,1)
QUIT
End DoDot:1
QUIT
+85 IF '$GET(IBFLAG1)
IF IBSELECT'="ADD"
IF $$GET1^DIQ(351,IBCL,.03,"I")'=IBCLSTDT
IF '$GET(IBOOSYNC)
WRITE !!,"Billing Clock Query not returned.",!
Begin DoDot:1
+86 SET DIR(0)="Y"
SET DIR("A")="Do you still want to update"
DO ^DIR
KILL DIR
IF +Y<1
SET IBQUIT=1
End DoDot:1
+87 IF $GET(IBQUIT)
Begin DoDot:1
+88 SET IBDATA=^IBE(351,IBCL,0)
IF '$PIECE(IBDATA,"^",3)!'$PIECE(IBDATA,"^",4)
Begin DoDot:2
+89 WRITE !!,"This new clock is incomplete!! Deleting the clock from the system..."
+90 SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
End DoDot:2
End DoDot:1
QUIT
+91 ;S $P(^IBE(351,IBCL,1),"^",5)=1
LOCK +^IBE(351,IBCL):$GET(DILOCKTM,5)
SET DIE="^IBE(351,"
SET DA=IBCL
SET DR=IBDR
DO ^DIE
KILL DA,DIE,DR
+92 LOCK -^IBE(351,IBCL)
+93 ;
+94 ; - if the updated clock was cancelled, with no other changes made,
+95 ; - move the update reason over to the old clock and cancel the new one.
+96 IF IBSELECT'="ADD"
Begin DoDot:1
+97 if '$DATA(^IBE(351,+$GET(IBIEN)))
QUIT
if IBCL=IBIEN
QUIT
+98 IF $LENGTH(^IBE(351,+$GET(IBIEN),0),"^")=9
SET $PIECE(^IBE(351,+$GET(IBIEN),0),"^",10)=""
+99 IF $LENGTH(^IBE(351,IBCL,0),"^")=9
SET $PIECE(^IBE(351,IBCL,0),"^",10)=""
+100 if $PIECE(^IBE(351,+$GET(IBIEN),0),"^",2,10)'=$PIECE(^IBE(351,IBCL,0),"^",2,10)
QUIT
+101 WRITE !!,"Since you only cancelled the clock, I'll delete the new clock..."
+102 IF $PIECE(^IBE(351,IBCL,0),"^",11)]""
SET $PIECE(^IBE(351,+$GET(IBIEN),0),"^",11)=$PIECE(^IBE(351,IBCL,0),"^",11)
WRITE !,"(but I'll save the update reason)..."
+103 ;IB*2*769 - Change to set query sent field to yes for canceled clocks
SET $PIECE(^IBE(351,IBIEN,1),"^",5)=1
+104 SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
+105 ;IB*2.0*769 - Send update for canceled clock
IF $DATA(^IBE(351,IBIEN))
IF $$GET1^DIQ(351,IBIEN,16,"I")
IF ('$$GET1^DIQ(351,IBIEN,18,"I"))
DO EN^IBECECU1(DFN,IBIEN,1)
End DoDot:1
+106 ;
+107 ; - if the user is adding a new clock, and there is no clock
+108 ; - begin date or status, delete the clock.
+109 IF IBSELECT="ADD"!($GET(IBNCLCK))
SET IBDATA=^IBE(351,IBCL,0)
IF '$PIECE(IBDATA,"^",3)!'$PIECE(IBDATA,"^",4)
Begin DoDot:1
+110 WRITE !!,"This new clock is incomplete!! Deleting the clock from the system..."
+111 SET DA=IBCL
SET DIK="^IBE(351,"
DO ^DIK
KILL DIK,DA
End DoDot:1
+112 IF $DATA(^IBE(351,IBCL))
IF $$GET1^DIQ(351,IBCL,16,"I")
IF ('$$GET1^DIQ(351,IBCL,18,"I"))
DO EN^IBECECU1(DFN,IBCL,1)
+113 KILL IBCL
+114 QUIT
CLNCLK ;Clean up old clock
+1 SET IBIEN=IBCL
+2 KILL ^IBE(351,"ACT",DFN)
LOCK +(^IBE(351,IBIEN)):$GET(DILOCKTM,3)
+3 SET IBDATA=$PIECE(^IBE(351,IBIEN,0),"^",2,10)
SET $PIECE(^IBE(351,IBIEN,0),"^",4)=3
SET $PIECE(^(1),"^",3,4)=DUZ_"^"_IBDT
+4 SET IBQRY=$PIECE(^IBE(351,IBIEN,1),"^",5)
SET IBVRSN=$$GET1^DIQ(351,IBIEN,17,"I")
+5 LOCK -(^IBE(351,IBIEN))
+6 SET I=$PIECE($SELECT($DATA(^IBE(351,0)):^(0),1:"^^-1"),"^",3)+1
IF 'I
SET J=3
GOTO ERR
+7 KILL DD,DO,DIC,DR
SET DIC="^IBE(351,"
SET DIC(0)="L"
SET DLAYGO=351
SET DIC("DR")=".02////"_DFN_";11////"_DUZ_";12////"_IBDT
+8 FOR I=I:1
IF I>0
IF '$DATA(^IBE(351,I))
LOCK +^IBE(351,I):2
IF $TEST
IF '$DATA(^IBE(351,I))
SET DINUM=I
SET X=+IBSITE_I
DO FILE^DICN
KILL DIC,DR
SET IBCL=+Y
if +Y>0
QUIT
+9 SET $PIECE(^IBE(351,IBCL,0),"^",2,10)=IBDATA
SET $PIECE(^IBE(351,IBCL,1),"^",5)=IBQRY
SET $PIECE(^IBE(351,IBCL,1),"^",6)=IBVRSN
SET DIK="^IBE(351,"
SET DA=IBCL
DO IX1^DIK
KILL DIK
+10 LOCK -^IBE(351,IBCL)
+11 QUIT
+12 ;
ERR ; - display error messages
+1 WRITE !?5,$PIECE($TEXT(ERRMSG+J),";;",2)
CLEANUP KILL IBCLDA,IBCLDAY,IBCLDT,IBMED,IBCLDOL,X,IBSELECT,DLAYGO,IBDTK,IBFLAG1,DR,IBECDA,IBQUIT,IBCLSTDT,IB351IEN,IBDEL
+1 QUIT
+2 ;
ERRMSG ; - possible error messages
+1 ;;No value returned from call to SITE^IBAUTL
+2 ;;Record locked, try again later!
+3 ;;Problem extracting last IFN from zeroth node of MEANS TEST BILLING CLOCK file
+4 ;;Unable to add record to MEANS TEST BILLING CLOCK file
+5 ;;Not a Means Test copay patient!