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
|
---|