1 | IBECUSM ;DVAMC/RLM - TRICARE PHARMACY BILLING OPTIONS; 20-AUG-96
|
---|
2 | ;;2.0;INTEGRATED BILLING;**52,162,240,347**;21-MAR-94;Build 24
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ;
|
---|
6 | REV ; Reverse a claim already submitted to the Fiscal Intermediary.
|
---|
7 | I '$P($G(^IBE(350.9,1,9)),"^",4) W !!,"Please note that your TRICARE Pharmacy billing interface is not running!",!
|
---|
8 | REVA N X K DIC S DIC=52,DIC("A")="Enter the RX# you wish to reverse: ",DIC(0)="AEQMN"
|
---|
9 | W ! D DIC^PSODI(52,.DIC) S IBRX=+Y K DIC
|
---|
10 | I Y<1!($D(DUOUT))!($D(DIRUT)) G REVQ
|
---|
11 | W !!,"Prescription: ",$P(Y,"^",2),!," Patient: ",$$FILE^IBRXUTL(+Y,2,"E")
|
---|
12 | ;
|
---|
13 | ; - has this prescription been billed?
|
---|
14 | K IBARR,IBCAN S (IBKEY,IBKEYS)=IBRX_";"
|
---|
15 | F S IBKEY=$O(^IBA(351.5,"B",IBKEY)) Q:$E(IBKEY,1,$L(IBKEYS))'=IBKEYS S IBARR(IBKEY)=+$O(^(IBKEY,0))
|
---|
16 | I '$D(IBARR) W !!,"This prescription has not yet been billed." G REVA
|
---|
17 | ;
|
---|
18 | ; - find all potential transactions
|
---|
19 | D FINDC^IBECUSMU(.IBARR,1,.IBCAN)
|
---|
20 | S IBKEY=$O(IBCAN("")) I IBKEY="" G REVA
|
---|
21 | ;
|
---|
22 | ; - there's just one
|
---|
23 | I $O(IBCAN(IBKEY))="" S IBCHTRN=IBCAN(IBKEY) W !!,$S($P(IBKEY,";",2):"Refill #"_$P(IBKEY,";",2),1:"The original fill")," for this prescription can be cancelled." G OKAYC
|
---|
24 | ;
|
---|
25 | ; - more than 1; must select from the list
|
---|
26 | W !!,"More than one fill for rx# ",$$FILE^IBRXUTL(IBRX,.01)," may be cancelled."
|
---|
27 | S IBREF=$$SEL^IBECUSMU(.IBCAN)
|
---|
28 | I IBREF<0 G REVQ
|
---|
29 | ;
|
---|
30 | S IBKEY=IBRX_";"_IBREF,IBCHTRN=IBCAN(IBKEY)
|
---|
31 | ;
|
---|
32 | OKAYC ; - okay to cancel?
|
---|
33 | S DIR("A")="Is it okay to cancel this prescription"
|
---|
34 | S DIR(0)="Y" D ^DIR K DIR
|
---|
35 | I 'Y!($D(DUOUT))!($D(DIRUT)) W !,"The claim reversal was NOT submitted." G REVQ
|
---|
36 | ;
|
---|
37 | ; - queue cancellation for submittal
|
---|
38 | S ^IBA(351.5,"APOST",IBKEY)="REVERSE^^"_DUZ_"^"_IBCHTRN
|
---|
39 | W !,"The claim reversal has been submitted."
|
---|
40 | REVQ K DIROUT,DIRUT,DTOUR,DUOUT,IBRX,IBARR,IBCAN,IBKEY,IBKEYS,IBCHTRN,IBREF
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | ;
|
---|
44 | ;
|
---|
45 | RESUB ; Resubmit a claim to the Fiscal Intermediary.
|
---|
46 | I '$P($G(^IBE(350.9,1,9)),"^",4) W !!,"Please note that your TRICARE Pharmacy billing interface is not running!",!
|
---|
47 | RESUBA N X K DIC S DIC=52 S DIC(0)="AEQMN",DIC("A")="Enter the RX# you wish to resubmit: "
|
---|
48 | W ! D DIC^PSODI(52,.DIC) S IBRX=+Y K DIC
|
---|
49 | I Y<1!($D(DUOUT))!($D(DIRUT)) G RESUBQ
|
---|
50 | S DFN=$$FILE^IBRXUTL(+Y,2)
|
---|
51 | W !!,"Prescription: ",$$FILE^IBRXUTL(IBRX,.01),!," Patient: ",$P($G(^DPT(DFN,0)),"^")
|
---|
52 | ;
|
---|
53 | ; - find all potential transactions
|
---|
54 | K IBBIL D FINDB^IBECUSMU(IBRX,1,.IBBIL)
|
---|
55 | S IBKEY=$O(IBBIL("")) I IBKEY="" G RESUBA
|
---|
56 | ;
|
---|
57 | ; - there's just one
|
---|
58 | I $O(IBBIL(IBKEY))="" W !!,$S($P(IBKEY,";",2):"Refill #"_$P(IBKEY,";",2),1:"The original fill")," for this prescription can be billed." G IBPSR
|
---|
59 | ;
|
---|
60 | ; - more than 1; must select from the list
|
---|
61 | W !!,"More than one fill for rx# ",$$FILE^IBRXUTL(IBRX,.01)," may be billed."
|
---|
62 | S IBREF=$$SEL^IBECUSMU(.IBBIL)
|
---|
63 | I IBREF<0 G RESUBQ
|
---|
64 | ;
|
---|
65 | S IBKEY=IBRX_";"_IBREF
|
---|
66 | ;
|
---|
67 | IBPSR ;Ask for the Product Selection Reason
|
---|
68 | N DIR,DIE,DR,X,Y,DA
|
---|
69 | S DIR("B")=$S($P($G(^IBA(351.5,+IBBIL(IBKEY),0)),"^",10):$P(^IBA(351.53,$P(^(0),"^",10),0),"^"),1:0)
|
---|
70 | S DIR(0)="PO^351.53" D ^DIR I Y=-1 W !,"The prescription was NOT submitted for billing." G RESUBQ
|
---|
71 | S DA=+$G(IBBIL(IBKEY)),DIE="^IBA(351.5,",DR=".10////"_(+Y) D ^DIE
|
---|
72 | K DIR
|
---|
73 | OKAYB ; - okay to bill?
|
---|
74 | S DIR("A")="Is it okay to bill this prescription"
|
---|
75 | S DIR(0)="Y" D ^DIR
|
---|
76 | I 'Y!($D(DUOUT))!($D(DIRUT)) W !,"The prescription was NOT submitted for billing." G RESUBQ
|
---|
77 | ;
|
---|
78 | D:'$D(PSOPAR) ^PSOLSET
|
---|
79 | I '$D(PSOLAP) W !!,*7,"The label printer is not defined!",!,"The prescription has NOT been submitted for billing." G RESUBQ
|
---|
80 | S ^IBA(351.5,"APOST",IBKEY)=PSOLAP_"^"_PSOSITE_"^"_DUZ_"^^"_$P($G(^IBA(351.5,+IBBIL(IBKEY),0)),"^",10)
|
---|
81 | W !,"The prescription has been submitted for billing."
|
---|
82 | ;
|
---|
83 | RESUBQ K DIROUT,DIRUT,DTOUR,DUOUT,IBRX,DFN,IBBIL,IBKEY,IBREF
|
---|
84 | K PSOBAR0,PSOBAR1,PSOBARS,PSOCLC,PSOCNT,PSODIV,PSODTCUT
|
---|
85 | K PSOLAP,PSOPAR,PSOPAR7,PSOPRPAS,PSOSITE
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | ;
|
---|
89 | ;
|
---|
90 | DREJ ; Delete an entry from the Reject (#351.52) file.
|
---|
91 | I '$P($G(^IBE(350.9,1,9)),"^",4) W !!,"Please note that your TRICARE Pharmacy billing interface is not running!",!
|
---|
92 | DREJA N X K DIC S DIC=52 S DIC(0)="AEQMN",DIC("A")="Enter the RX# of the rejected transmission: "
|
---|
93 | W ! D DIC^PSODI(52,.DIC) S IBRX=+Y K DIC
|
---|
94 | I Y<1!($D(DUOUT))!($D(DIRUT)) G DREJQ
|
---|
95 | W !!,"Prescription: ",$P(Y,"^",2),!," Patient: ",$$FILE^IBRXUTL(+Y,2,"E")
|
---|
96 | ;
|
---|
97 | ; - is there a reject entry for this prescription?
|
---|
98 | K IBARR S (IBKEY,IBKEYS)=IBRX_";"
|
---|
99 | F S IBKEY=$O(^IBA(351.52,"B",IBKEY)) Q:$E(IBKEY,1,$L(IBKEYS))'=IBKEYS S IBARR(IBKEY)=+$O(^(IBKEY,0))
|
---|
100 | I '$D(IBARR) W !!,"There is no reject entry for this prescription." G DREJA
|
---|
101 | ;
|
---|
102 | ; - select the reject entry to delete
|
---|
103 | S IBKEY=$O(IBARR("")) I IBKEY="" G DREJA
|
---|
104 | I $O(IBARR(IBKEY))="" S IBCHREF=+IBARR(IBKEY) W !!,$S($P(IBKEY,";",2):"Refill #"_$P(IBKEY,";",2),1:"The original fill")," for this prescription has been rejected." G OKAYD
|
---|
105 | ;
|
---|
106 | ; - more than 1; must select from the list
|
---|
107 | W !!,"More than one fill for rx# ",$$FILE^IBRXUTL(IBRX,.01)," has a reject entry."
|
---|
108 | S IBREF=$$SEL^IBECUSMU(.IBARR)
|
---|
109 | I IBREF<0 G DREJQ
|
---|
110 | ;
|
---|
111 | S IBKEY=IBRX_";"_IBREF,IBCHREF=+$G(IBARR(IBKEY))
|
---|
112 | ;
|
---|
113 | OKAYD ; - okay to delete the reject?
|
---|
114 | I '$D(^IBA(351.52,IBCHREF,0)) K ^IBA(351.52,"B",IBKEY) W !!,"Sorry, can't find a reject for this prescription!" G DREJQ
|
---|
115 | S DIR("A")="Is it okay to delete this reject entry"
|
---|
116 | S DIR(0)="Y" D ^DIR K DIR
|
---|
117 | I 'Y!($D(DUOUT))!($D(DIRUT)) W !,"The reject entry was NOT deleted." G DREJQ
|
---|
118 | ;
|
---|
119 | ; - delete the entry
|
---|
120 | S DA=IBCHREF,DIK="^IBA(351.52," D ^DIK K DA,DIK
|
---|
121 | W !,"The reject entry has been deleted."
|
---|
122 | DREJQ K DIROUT,DIRUT,DTOUR,DUOUT,IBRX,IBARR,IBKEY,IBKEYS,IBCHREF,IBREF
|
---|
123 | Q
|
---|