| 1 | IBECUS ;RLM/DVAMC - TRICARE PHARMACY ENGINE OPTIONS ; 14-AUG-96
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**52,240**;21-MAR-94
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | START ; Start the TRICARE Transaction and AWP Update engines.
 | 
|---|
| 5 |  K IBERR D PAR
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ; - parameters are not set up completely
 | 
|---|
| 8 |  I $O(IBERR(0)) D  G STARTQ
 | 
|---|
| 9 |  .W !!,"The TRICARE Billing engines cannot be started!",*7
 | 
|---|
| 10 |  .W ! S I=0 F  S I=$O(IBERR(I)) Q:'I  W !,IBERR(I)
 | 
|---|
| 11 |  .I IBAPORT="" W !!," *** Note that the AWP Update port has also not been defined."
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 |  ; - AWP and billing ports must be unique
 | 
|---|
| 14 |  I IBBPORT=IBAPORT W !!,"The Billing Transaction and AWP Update ports cannot be the same!" G STARTQ
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ; - only start the billing job if the AWP port is not defined
 | 
|---|
| 17 |  I IBAPORT="" W !!,"The AWP Update port has not been defined.  The AWP Update task will not start."
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  I IBVOL]"" W !!,"Note that these jobs will be queued to run on ",IBVOL,"."
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 |  ; - okay to queue these jobs?
 | 
|---|
| 22 |  S DIR(0)="Y",DIR("A")="Is it okay to queue these jobs to run"
 | 
|---|
| 23 |  S DIR("?",1)="Enter:  'Y'  if you wish to task off this job, or"
 | 
|---|
| 24 |  S DIR("?")="        'N' or '^'  to quit this option."
 | 
|---|
| 25 |  W ! D ^DIR
 | 
|---|
| 26 |  I 'Y W !!,"The jobs have not been queued to run." G STARTQ
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ; - turn off the 'shutdown filer' flag
 | 
|---|
| 29 |  S $P(^IBE(350.9,1,9),"^",10)=0
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ; - queue the primary billing task
 | 
|---|
| 32 |  S ZTRTN="BILLP^IBECUS1",ZTDTH=$H,ZTIO=""
 | 
|---|
| 33 |  S ZTDESC="IB - TRICARE Primary Billing Task"
 | 
|---|
| 34 |  I IBVOL]"" S ZTCPU=IBVOL
 | 
|---|
| 35 |  F I="IBBPORT","IBCHAN","IBCHSET","IBPRESCR","IBVOL" S ZTSAVE(I)=""
 | 
|---|
| 36 |  D ^%ZTLOAD
 | 
|---|
| 37 |  I '$D(ZTSK) W !!,"Unable to queue the billing task!" G STARTQ
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  W !!,"The TRICARE billing engine has been queued as task# ",ZTSK,"."
 | 
|---|
| 40 |  S DA=1,DIE="^IBE(350.9,",DR="9.04////"_ZTSK_";9.05////@" D ^DIE
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  ; - the AWP port must be defined to start that job
 | 
|---|
| 43 |  I IBAPORT="" G STARTQ
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ; - queue the primary AWP update task
 | 
|---|
| 46 |  K ZTSAVE,ZTCPU,ZTSK
 | 
|---|
| 47 |  S ZTRTN="AWPP^IBECUS1",ZTDTH=$H,ZTIO=""
 | 
|---|
| 48 |  S ZTDESC="IB - TRICARE Primary AWP Update Task"
 | 
|---|
| 49 |  I IBVOL]"" S ZTCPU=IBVOL
 | 
|---|
| 50 |  F I="IBAPORT","IBCHAN","IBCHSET","IBVOL" S ZTSAVE(I)=""
 | 
|---|
| 51 |  D ^%ZTLOAD S IBATASK=$G(ZTSK)
 | 
|---|
| 52 |  I '$D(ZTSK) W !!,"Unable to queue the AWP Update task!" G STARTQ
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  W !!,"The AWP Update engine has been queued as task# ",ZTSK,"."
 | 
|---|
| 55 |  S DA=1,DIE="^IBE(350.9,",DR="9.06////"_ZTSK_";9.07////@" D ^DIE
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | STARTQ K DIROUT,DTOUT,DUOUT,IBERR,IBAPORT,IBBPORT,IBCHAN,IBVOL,ZTSK
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | STOP ; Shut down the TRICARE Transaction and AWP Update engines.
 | 
|---|
| 62 |  I '$P($G(^IBE(350.9,1,9)),"^",4) W !!,"The primary billing task does not appear to be running."
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  ; - okay to shut down these jobs?
 | 
|---|
| 65 |  S DIR(0)="Y",DIR("A")="Are you sure you wish to shut down these jobs"
 | 
|---|
| 66 |  S DIR("?",1)="Enter:  'Y'  if you wish to shut down these jobs, or"
 | 
|---|
| 67 |  S DIR("?")="        'N' or '^'  to quit this option."
 | 
|---|
| 68 |  W ! D ^DIR
 | 
|---|
| 69 |  I 'Y W !!,"The jobs will not be shut down." G STOPQ
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 |  ; - set the 'shutdown filer' flag
 | 
|---|
| 72 |  S $P(^IBE(350.9,1,9),"^",10)=1
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 |  W !!,"The TRICARE Billing and AWP Update engines will be shut down."
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | STOPQ K DIR,DUOUT,DTOUT,DIROUT,X,Y
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | PAR ; Retrieve the required engine parameters.
 | 
|---|
| 81 |  N X,Y,ZTSK
 | 
|---|
| 82 |  S X=$G(^IBE(350.9,1,9))
 | 
|---|
| 83 |  S IBBPORT=$P(X,"^")
 | 
|---|
| 84 |  I IBBPORT="" S IBERR(1)="The Billing transaction port has not been defined."
 | 
|---|
| 85 |  S IBAPORT=$P(X,"^",2)
 | 
|---|
| 86 |  S IBCHAN=$P(X,"^",3)
 | 
|---|
| 87 |  I IBCHAN="" S IBERR(2)="The TCP/IP address has not been defined."
 | 
|---|
| 88 |  S ZTSK=$P(X,"^",4)
 | 
|---|
| 89 |  I ZTSK D
 | 
|---|
| 90 |  .D STAT^%ZTLOAD
 | 
|---|
| 91 |  .I ZTSK(1)=2 S IBERR(3)="This job appears to be running!  Check task #"_ZTSK_"." Q
 | 
|---|
| 92 |  .S $P(^IBE(350.9,1,9),"^",4)=""
 | 
|---|
| 93 |  S IBCHSET=+$P(X,"^",12)
 | 
|---|
| 94 |  I $G(^IBE(363.1,IBCHSET,0))="" S IBERR(4)="You must define a Charge Set in the Charge Master so the drug AWP can be found."
 | 
|---|
| 95 |  S IBPRESCR=$P(X,"^",13)
 | 
|---|
| 96 |  I IBPRESCR="" S IBERR(5)="You must enter your Prescriber ID before this task can be started."
 | 
|---|
| 97 |  S IBVOL=$P(X,"^",11)
 | 
|---|
| 98 |  Q
 | 
|---|