| 1 | IBEPTC ;ALB/CPM/ARH - TP FLAG STOP CODES AND CLINICS ; 22-JUL-93 | 
|---|
| 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**55**; 21-MAR-94 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | EN ; Option entry point - main processing loop. | 
|---|
| 6 | S IBQ=0 F  D UPD Q:IBQ | 
|---|
| 7 | K IBQ | 
|---|
| 8 | Q | 
|---|
| 9 | ; | 
|---|
| 10 | UPD ; Update the billable status for stop codes or clinics. | 
|---|
| 11 | W @IOF,*13,?10,"Flag Stop Codes and Clinics for Third Party Billing" | 
|---|
| 12 | W !,$$DASH(),!,"FOR THIRD PARTY BILLING, THIS OPTION IS USED TO SET UP:" | 
|---|
| 13 | W !,"1. INDIVIDUAL OR A GROUP OF STOP CODES OR CLINICS AS:" | 
|---|
| 14 | W !,"   a. NON-BILLABLE OR BILLABLE." | 
|---|
| 15 | W !,"      A Stop/Clinic is assumed billable until it is flagged as non-billable." | 
|---|
| 16 | W !,"   b. IGNORED BY THE AUTO BILLER.  Stops the auto biller from creating" | 
|---|
| 17 | W !,"      bills for specified billable Stops/Clinics." | 
|---|
| 18 | W !,"2. ALL CLINICS TO BE:" | 
|---|
| 19 | W !,"   a. IGNORED BY THE AUTO BILLER.  Stops the auto biller from creating bills" | 
|---|
| 20 | W !,"      for ALL clinics.  Should only be used if the outpatient auto biller" | 
|---|
| 21 | W !,"      is on but only a small number of Clinics should be auto billed." | 
|---|
| 22 | W !,"   b. BILLED BY THE AUTO BILLER.  Resets all Clinics to be auto billed." | 
|---|
| 23 | W !,"Use of this option will have an immediate effect on your billing operations" | 
|---|
| 24 | W !,"so you should have your work pre-planned before using this option.",!,$$DASH() | 
|---|
| 25 | ; | 
|---|
| 26 | ; - select stop codes or clinics. | 
|---|
| 27 | S DIR(0)="SO^S:STOP CODES;C:CLINICS;A:ALL CLINICS",DIR("?")="^D HSEL^IBEPTC1" | 
|---|
| 28 | S DIR("A")="Enter your choice" D ^DIR K DIR I $D(DIRUT)!($D(DUOUT)) G UPDQ | 
|---|
| 29 | I Y="A" G ^IBEPTC3 | 
|---|
| 30 | S IBINFO=$T(@Y+1) | 
|---|
| 31 | ; | 
|---|
| 32 | ; - some help | 
|---|
| 33 | W !!,$$DASH(),!,"You may now enter the ",$P(IBINFO,";",3)," that you wish to flag.  Please note" | 
|---|
| 34 | W !,"all ",$P(IBINFO,";",3)," that you select will be assigned the same effective" | 
|---|
| 35 | W !,"date and billable status and auto bill status.",!,$$DASH(),! | 
|---|
| 36 | ; | 
|---|
| 37 | ; - select all entries to be updated | 
|---|
| 38 | S (IBNUM,IBHIT)=0 D UPDQ1 F  D  Q:Y<0 | 
|---|
| 39 | .S DIC=$P(IBINFO,";",5),DIC(0)="QEAMZ" | 
|---|
| 40 | .S DIC("A")=$S(IBHIT:"Next",1:"Select")_" "_$P(IBINFO,";",4)_": " | 
|---|
| 41 | .S:$P(IBINFO,";",6)]"" DIC("S")=$P(IBINFO,";",6) | 
|---|
| 42 | .D ^DIC K DIC Q:Y<0  S IBHIT=1 | 
|---|
| 43 | .I $D(^TMP("IBEPTC",$J,+Y)) W !,"Please note that you've already selected ",Y(0,0),"." | 
|---|
| 44 | .E  S ^TMP("IBEPTC",$J,+Y)=Y(0,0),IBNUM=IBNUM+1 | 
|---|
| 45 | ; | 
|---|
| 46 | ; - quit if no selections were made. | 
|---|
| 47 | I '$D(^TMP("IBEPTC",$J)) W !!,"No ",$P(IBINFO,";",3)," selected!" S IBQ=1 G UPDQ | 
|---|
| 48 | ; | 
|---|
| 49 | ; - allow review of the selections. | 
|---|
| 50 | I IBNUM>1 D REV^IBEPTC1 I IBQ G UPDQ | 
|---|
| 51 | ; | 
|---|
| 52 | ; - quit if all entries were de-selected (but allow re-start). | 
|---|
| 53 | I '$D(^TMP("IBEPTC",$J)) W !!,"All ",$P(IBINFO,";",3)," were de-selected!" G UPDQ | 
|---|
| 54 | ; | 
|---|
| 55 | ; - should be Third Party Billable or Non-billable? | 
|---|
| 56 | S DIR(0)="Y",DIR("A")=$S(IBNUM=1:"Is this",1:"Are these")_" "_$P(IBINFO,";",$S(IBNUM=1:7,1:3))_" Non-Billable for Third Party Billing" | 
|---|
| 57 | S DIR("?")="^D HACT^IBEPTC1" | 
|---|
| 58 | W ! D ^DIR K DIR G:($D(DIRUT))!($D(DUOUT)) UPDQ | 
|---|
| 59 | S IBFILE=+Y,IBACT=$S(IBFILE:"Non-",1:"") | 
|---|
| 60 | ; | 
|---|
| 61 | I +IBFILE S IBTPAB="",IBACT1="NOT " | 
|---|
| 62 | I 'IBFILE D  I IBTPAB<0 G UPDQ | 
|---|
| 63 | . S DIR(0)="Y",DIR("A")="Should the Third Party Auto Biller create bills for "_$S(IBNUM=1:"this",1:"these")_" "_$P(IBINFO,";",$S(IBNUM=1:7,1:3)) | 
|---|
| 64 | . S DIR("?")="^D HAUTO^IBEPTC1" | 
|---|
| 65 | . W ! D ^DIR K DIR I $D(DIRUT)!($D(DUOUT)) S IBTPAB=-1 Q | 
|---|
| 66 | . S IBTPAB=$S(+Y:0,1:1),IBACT1=$S(IBTPAB:"NOT ",1:"") | 
|---|
| 67 | ; | 
|---|
| 68 | ; - what is the effective date for this action? | 
|---|
| 69 | S %DT="AEX",%DT("A")="Please enter the date this should become effective: " | 
|---|
| 70 | D ^%DT K %DT G:Y<0 UPDQ S IBDAT=Y | 
|---|
| 71 | I Y>DT W !!,"Please note that you've selected a future date!" | 
|---|
| 72 | ; | 
|---|
| 73 | ; - re-display the list of selected entries. | 
|---|
| 74 | W !!,$$DASH() D LIST^IBEPTC1 | 
|---|
| 75 | W !!,"Effective ",$$FMTE^XLFDT(IBDAT)," the above ",$P(IBINFO,";",3)," will be ",IBACT,"billable" | 
|---|
| 76 | W !,"and will ",IBACT1,"have bills created by the Third Party auto biller.",! | 
|---|
| 77 | ; | 
|---|
| 78 | ; - okay to proceed and file entries? | 
|---|
| 79 | S DIR(0)="Y",DIR("A")="Is this correct, is it okay to proceed and file these entries" | 
|---|
| 80 | S DIR("?")="Enter 'Y' to file these entries, 'N' to try again, or '^' to quit." | 
|---|
| 81 | D ^DIR K DIR I 'Y!($D(DIRUT))!($D(DUOUT)) G UPDQ | 
|---|
| 82 | ; | 
|---|
| 83 | ; - file selected entries. | 
|---|
| 84 | W !!,"Filing these ",$P(IBINFO,";",4)," entries...  " D FILE^IBEPTC1 | 
|---|
| 85 | W ! S DIR(0)="E" D ^DIR K DIR,DIRUT,DUOUT | 
|---|
| 86 | ; | 
|---|
| 87 | UPDQ S:$D(DIRUT)!($D(DUOUT)) IBQ=1 | 
|---|
| 88 | K DIRUT,DUOUT,DTOUT,DIROUT,IBINFO,IBNUM,IBFILE,IBACT,IBDAT,IBHIT,IBACT1,IBTPAB | 
|---|
| 89 | UPDQ1 K ^TMP("IBEPTC",$J) | 
|---|
| 90 | Q | 
|---|
| 91 | ; | 
|---|
| 92 | DASH() ; Write a dashed line. | 
|---|
| 93 | Q $TR($J("",79)," ","=") | 
|---|
| 94 | ; | 
|---|
| 95 | INFO ; Description of stop/clinic information listed below. | 
|---|
| 96 | ;;desc (plural);desc (selection);source file root;source screen;desc (sing);dest file root;dest file # | 
|---|
| 97 | ; | 
|---|
| 98 | S ; Stop Code Information | 
|---|
| 99 | ;;clinic stop codes;CLINIC STOP CODE;^DIC(40.7,;I '$P(^(0),U,3);clinic stop code;^IBE(352.3,;352.3 | 
|---|
| 100 | ; | 
|---|
| 101 | C ; Clinic Information | 
|---|
| 102 | ;;clinics;CLINIC;^SC(;I $P(^(0),U,3)="C";clinic;^IBE(352.4,;352.4 | 
|---|
| 103 | ; | 
|---|
| 104 | Q | 
|---|