| [613] | 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 | 
|---|