[613] | 1 | IBECUS22 ;RLM/DVAMC - TRICARE PHARMACY BILLING UTILITIES ; 14-AUG-96
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**52,89,240,274**;21-MAR-94
|
---|
| 3 | ;
|
---|
| 4 | ERROR ; File errors.
|
---|
| 5 | ; Input: IBERR [opt] -- DHCP Error Code
|
---|
| 6 | ; IBDRX("RX#") -- Prescription Number
|
---|
| 7 | ; IBRESP(1) [opt] -- First record transmitted by the FI
|
---|
| 8 | ; IBKEY -- 1 ; 2, where
|
---|
| 9 | ; 1 = Pointer to the rx in file #52
|
---|
| 10 | ; 2 = Pointer to the refill in file #52.1,
|
---|
| 11 | ; or 0 for the original fill
|
---|
| 12 | ; IBKEYD -- 1 ^ 2 ^ 3 ^ 4, where
|
---|
| 13 | ; 1 = Rx label printing device
|
---|
| 14 | ; 2 = Pointer to the Pharmacy in file #59
|
---|
| 15 | ; 3 = Pointer to the Pharmacy user in
|
---|
| 16 | ; file #200
|
---|
| 17 | ; 4 = Pointer to the billing transaction
|
---|
| 18 | ; in file #351.5 (cancellations only)
|
---|
| 19 | ;
|
---|
| 20 | I '$G(IBERR) S IBERC=$E(IBRESP(1),1,3)
|
---|
| 21 | I $G(IBERR) K ^IBA(351.5,"APOST",IBKEY) S IBERC=IBERR
|
---|
| 22 | S IBMACH=$S($D(IBERR):"DHCP",1:"MLINK")
|
---|
| 23 | K IBERR,IBTXT
|
---|
| 24 | ;
|
---|
| 25 | ; - expand the code if necessary
|
---|
| 26 | I $D(IBRESP(1)),$E(IBRESP(1),1,3)=" " S IBERC="001"
|
---|
| 27 | I IBERC?1.N S IBERC=+IBERC F Q:$L(IBERC)>1 S IBERC="0"_IBERC
|
---|
| 28 | S IBERRP=$$ERRIEN(IBMACH,IBERC)
|
---|
| 29 | ;
|
---|
| 30 | ; - send bulletin to the Reject Notice group
|
---|
| 31 | S IBTXT(1)=IBMACH_" has detected error #"_IBERC_" while processing RX# "_$S($G(IBDRX("RX#"))]"":IBDRX("RX#"),1:"Unknown")
|
---|
| 32 | S IBTXT(2)="Error text: "_$$ERRTXT(IBERRP)
|
---|
| 33 | S XMDUN="TRICARE PHARMACY BILLING",XMDUZ=.5,XMSUB="Tricare/IPS Billing Error"
|
---|
| 34 | S XMTEXT="IBTXT(",XMY("G.IB CHAMP RX REJ")="",XMY(+$P(IBKEYD,"^",3))=""
|
---|
| 35 | N DIQUIET S DIQUIET=1 D DT^DICRW,^XMD
|
---|
| 36 | ;
|
---|
| 37 | ; - file the rejected transaction
|
---|
| 38 | S IBCHREJ=$O(^IBA(351.52,"B",IBKEY,0))
|
---|
| 39 | I 'IBCHREJ D ADDREJ^IBECUS21
|
---|
| 40 | I IBCHREJ S $P(^IBA(351.52,IBCHREJ,0),"^",3)=DT,^(1)=IBERRP
|
---|
| 41 | K IBERC,IBERRP,IBTXT,IBMACH,XMDUN,XMDUZ,XMSUB,XMTEXT,XMY,XMZ
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | ;
|
---|
| 45 | DUP ; Act on duplicates.
|
---|
| 46 | S XQA("G.IB CHAMP RX REJ")=""
|
---|
| 47 | S XQAMSG="Prescription #"_$S($G(IBDRX("RX#"))]"":IBDRX("RX#"),1:"Unknown")_" is a duplicate submission."
|
---|
| 48 | D SETUP^XQALERT
|
---|
| 49 | K ^IBA(351.5,"APOST",IBKEY)
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | ;
|
---|
| 53 | DISP ; Display Universal errors on alerts.
|
---|
| 54 | N ERR,TXT,X,Y
|
---|
| 55 | S Y=$G(^DPT(+$P(XQADATA,"^",3),0))
|
---|
| 56 | W !!,"RX# ",$P(XQADATA,"^")," for ",$P(Y,"^")," (",$E($P(Y,"^",9),6,10),") rejected because:"
|
---|
| 57 | S XQADATA=$P(XQADATA,"^",2)
|
---|
| 58 | F X=1:1 S ERR=$P(XQADATA,",",X) Q:ERR="" D
|
---|
| 59 | .S TXT=$$ERRTXT(ERR)
|
---|
| 60 | .I TXT]"" W !?3,TXT
|
---|
| 61 | W !!,"Press ENTER key to continue..." R X:DTIME
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | ;
|
---|
| 65 | ERRTXT(IEN) ; Return Error Text.
|
---|
| 66 | ; Input: IEN -- Pointer to the Error Text in file #351.51
|
---|
| 67 | Q $P($G(^IBE(351.51,+$G(IEN),0)),"^",3)
|
---|
| 68 | ;
|
---|
| 69 | ERRIEN(MACH,CODE) ; Return Error File Entry Number.
|
---|
| 70 | ; Input: MACH -- System on which the error occurred
|
---|
| 71 | ; CODE -- Error Code
|
---|
| 72 | N X S X=""
|
---|
| 73 | I $G(MACH)="" G ERRIENQ
|
---|
| 74 | I $G(CODE)="" G ERRIENQ
|
---|
| 75 | S X=$O(^IBE(351.51,"AD",MACH,CODE,0))
|
---|
| 76 | ERRIENQ Q X
|
---|