IBAERR1 ;ALB/CPM - INTEGRATED BILLING ERROR PROCESSING ROUTINE (CON'T) ; 03-JAN-92
;;2.0;INTEGRATED BILLING;**15,133,153**;21-MAR-94
;;Per VHA Directive 10-93-142, this routine should not be modified.
;
; This routine will be used to send mail messages when errors
; have occurred during the processing of Means Test charges.
; Input: IBJOB = 1 Nightly Compilation job
; 2 Discharge job
; 4 Add/Edit/Cancel Charges
; 5 Appointment Event Driver
; 7 Means Test Event Driver
; 8 OPT Billing Update
; 9 IVM Back-Billing job
; DFN {opt}, IBDUZ, IBY, IBWHER
;
N IBSTART K IBT
I $D(DFN)#2 S IBPT=$$PT^IBEFUNC(DFN)
I '$G(IBJOB) S IBJOB=5 ; if MT charge entered thru Appt Event Driver uses filer so IBJOB not set,see EN2^IBAMTS2
S XMSUB=$S($D(IBPT)#2:$E($P(IBPT,"^"),1,14)_" "_$P(IBPT,"^",3)_" -",1:"MEANS TEST BILLING")_" ERROR ENCOUNTERED"
S IBT(1)="An error has been encountered while processing Means Test charges"
S IBT(2)="during the "_$P($T(JOB+IBJOB),";;",2,99)_" for the following patient:"
S IBT(3)=" ",IBC=3
D PAT
S IBC=IBC+1,IBT(IBC)=" "
S IBC=IBC+1,IBT(IBC)="The Means Test billing history for this patient must be reviewed."
S IBC=IBC+1,IBT(IBC)="The following error was encountered:"
S IBC=IBC+1,IBT(IBC)=" "
S:IBJOB=4 IBSTART=IBC D ERR
S IBC=IBC+1,IBT(IBC)=" "
S IBM=$P($T(TEXT+IBWHER^IBAMTEL),";;",2,99),IBC=IBC+1
S:$L(IBM)<80 IBT(IBC)=IBM
I $L(IBM)>79 S IBB=$E(IBM,1,79),IBT(IBC)=$P(IBB," ",1,$L(IBB," ")-1),IBC=IBC+1,IBT(IBC)=$P(IBM," ",$L(IBB," "),999)
I IBJOB=4 F IBI=IBSTART:1:IBC W !,IBT(IBI)
D MAIL K IBT,IBM,IBB,IBC,IBPT,XMSUB,XMY,XMTEXT,XMDUZ
Q
;
PAT ; Set up patient demographic and user data for message.
S IBC=IBC+1,IBT(IBC)=" Patient: "_$S($D(IBPT)#2:$P(IBPT,"^")_" Pt. ID: "_$P(IBPT,"^",2),1:"Not Defined")
S IBC=IBC+1,IBT(IBC)=" User: "_$P($G(^VA(200,+IBDUZ,0)),"^")
Q
;
ERR ; Set up error message text.
S X2=$P(IBY,"^",2) F K=1:1 S X=$P(X2,";",K) Q:X="" D
. S X1=$O(^IBE(350.8,"AC",X,0)),IBC=IBC+1
. S IBT(IBC)=" "_$S($D(^IBE(350.8,+X1,0)):$P(^(0),"^",2),X]"":X,1:"Unknown Error")
I $P(IBY,"^",3)]"" S IBC=IBC+1,IBT(IBC)=" "_$P(IBY,"^",3)
K X,X1,X2 Q
;
MAIL ; Transmit.
N IBI,IBGRP S XMDUZ="INTEGRATED BILLING PACKAGE",XMTEXT="IBT("
K XMY
;S IBGRP=$P($G(^IBE(350.9,1,0)),"^",11)
;F IBI=0:0 S IBI=$O(^XMB(3.8,+IBGRP,1,"B",IBI)) Q:'IBI S XMY(IBI)=""
S IBGRP=$P($G(^XMB(3.8,+$P($G(^IBE(350.9,1,0)),"^",11),0)),"^")
I IBGRP]"" S XMY("G."_IBGRP_"@"_^XMB("NETNAME"))=""
D ^XMD
Q
;
JOB ; Job Descriptions
;;Nightly Compilation job
;;Discharge job
;;<Undefined job #3>
;;Cancel/Edit/Add Option
;;Check Out job
;;<Undefined job #6>
;;Means Testing
;;OPT Billing Update
;;IVM Back-Billing job
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBAERR1 2875 printed Oct 16, 2024@18:06:54 Page 2
IBAERR1 ;ALB/CPM - INTEGRATED BILLING ERROR PROCESSING ROUTINE (CON'T) ; 03-JAN-92
+1 ;;2.0;INTEGRATED BILLING;**15,133,153**;21-MAR-94
+2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
+3 ;
+4 ; This routine will be used to send mail messages when errors
+5 ; have occurred during the processing of Means Test charges.
+6 ; Input: IBJOB = 1 Nightly Compilation job
+7 ; 2 Discharge job
+8 ; 4 Add/Edit/Cancel Charges
+9 ; 5 Appointment Event Driver
+10 ; 7 Means Test Event Driver
+11 ; 8 OPT Billing Update
+12 ; 9 IVM Back-Billing job
+13 ; DFN {opt}, IBDUZ, IBY, IBWHER
+14 ;
+15 NEW IBSTART
KILL IBT
+16 IF $DATA(DFN)#2
SET IBPT=$$PT^IBEFUNC(DFN)
+17 ; if MT charge entered thru Appt Event Driver uses filer so IBJOB not set,see EN2^IBAMTS2
IF '$GET(IBJOB)
SET IBJOB=5
+18 SET XMSUB=$SELECT($DATA(IBPT)#2:$EXTRACT($PIECE(IBPT,"^"),1,14)_" "_$PIECE(IBPT,"^",3)_" -",1:"MEANS TEST BILLING")_" ERROR ENCOUNTERED"
+19 SET IBT(1)="An error has been encountered while processing Means Test charges"
+20 SET IBT(2)="during the "_$PIECE($TEXT(JOB+IBJOB),";;",2,99)_" for the following patient:"
+21 SET IBT(3)=" "
SET IBC=3
+22 DO PAT
+23 SET IBC=IBC+1
SET IBT(IBC)=" "
+24 SET IBC=IBC+1
SET IBT(IBC)="The Means Test billing history for this patient must be reviewed."
+25 SET IBC=IBC+1
SET IBT(IBC)="The following error was encountered:"
+26 SET IBC=IBC+1
SET IBT(IBC)=" "
+27 if IBJOB=4
SET IBSTART=IBC
DO ERR
+28 SET IBC=IBC+1
SET IBT(IBC)=" "
+29 SET IBM=$PIECE($TEXT(TEXT+IBWHER^IBAMTEL),";;",2,99)
SET IBC=IBC+1
+30 if $LENGTH(IBM)<80
SET IBT(IBC)=IBM
+31 IF $LENGTH(IBM)>79
SET IBB=$EXTRACT(IBM,1,79)
SET IBT(IBC)=$PIECE(IBB," ",1,$LENGTH(IBB," ")-1)
SET IBC=IBC+1
SET IBT(IBC)=$PIECE(IBM," ",$LENGTH(IBB," "),999)
+32 IF IBJOB=4
FOR IBI=IBSTART:1:IBC
WRITE !,IBT(IBI)
+33 DO MAIL
KILL IBT,IBM,IBB,IBC,IBPT,XMSUB,XMY,XMTEXT,XMDUZ
+34 QUIT
+35 ;
PAT ; Set up patient demographic and user data for message.
+1 SET IBC=IBC+1
SET IBT(IBC)=" Patient: "_$SELECT($DATA(IBPT)#2:$PIECE(IBPT,"^")_" Pt. ID: "_$PIECE(IBPT,"^",2),1:"Not Defined")
+2 SET IBC=IBC+1
SET IBT(IBC)=" User: "_$PIECE($GET(^VA(200,+IBDUZ,0)),"^")
+3 QUIT
+4 ;
ERR ; Set up error message text.
+1 SET X2=$PIECE(IBY,"^",2)
FOR K=1:1
SET X=$PIECE(X2,";",K)
if X=""
QUIT
Begin DoDot:1
+2 SET X1=$ORDER(^IBE(350.8,"AC",X,0))
SET IBC=IBC+1
+3 SET IBT(IBC)=" "_$SELECT($DATA(^IBE(350.8,+X1,0)):$PIECE(^(0),"^",2),X]"":X,1:"Unknown Error")
End DoDot:1
+4 IF $PIECE(IBY,"^",3)]""
SET IBC=IBC+1
SET IBT(IBC)=" "_$PIECE(IBY,"^",3)
+5 KILL X,X1,X2
QUIT
+6 ;
MAIL ; Transmit.
+1 NEW IBI,IBGRP
SET XMDUZ="INTEGRATED BILLING PACKAGE"
SET XMTEXT="IBT("
+2 KILL XMY
+3 ;S IBGRP=$P($G(^IBE(350.9,1,0)),"^",11)
+4 ;F IBI=0:0 S IBI=$O(^XMB(3.8,+IBGRP,1,"B",IBI)) Q:'IBI S XMY(IBI)=""
+5 SET IBGRP=$PIECE($GET(^XMB(3.8,+$PIECE($GET(^IBE(350.9,1,0)),"^",11),0)),"^")
+6 IF IBGRP]""
SET XMY("G."_IBGRP_"@"_^XMB("NETNAME"))=""
+7 DO ^XMD
+8 QUIT
+9 ;
JOB ; Job Descriptions
+1 ;;Nightly Compilation job
+2 ;;Discharge job
+3 ;;<Undefined job #3>
+4 ;;Cancel/Edit/Add Option
+5 ;;Check Out job
+6 ;;<Undefined job #6>
+7 ;;Means Testing
+8 ;;OPT Billing Update
+9 ;;IVM Back-Billing job