| [613] | 1 | IBCOMA ;ALB/CMS - IDENTIFY ACTIVE POLICIES W/NO EFFECTIVE DATE; 08-03-98 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**103**;21-MAR-94 | 
|---|
|  | 3 | Q | 
|---|
|  | 4 | EN ;Entry point from option | 
|---|
|  | 5 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT | 
|---|
|  | 6 | N IBAIB,IBBDT,IBEDT,IBRF,IBRL,IBQUIT,IBSIN,IBSTR,X,Y | 
|---|
|  | 7 | S (IBAIB,IBBDT,IBEDT,IBRF,IBRL,IBSIN,IBSTR)="" | 
|---|
|  | 8 | W !!,?10,"Identify Active Policies with NO Effective Date",! | 
|---|
|  | 9 | S DIR("A",1)="Sort report by" | 
|---|
|  | 10 | S DIR("A",2)="  1  - Patient Name Range" | 
|---|
|  | 11 | S DIR("A",3)="  2  - Terminal Digit Range" | 
|---|
|  | 12 | S DIR("A",4)="  " | 
|---|
|  | 13 | S DIR(0)="SAXB^1:Patient Name;2:Terminal Digit" | 
|---|
|  | 14 | S DIR("A")="  Select Number: ",DIR("B")="1",DIR("??")="^D ENH^IBCOMA" D ^DIR | 
|---|
|  | 15 | I +Y'>0 S IBQUIT=1 G EXIT | 
|---|
|  | 16 | S IBAIB=+Y | 
|---|
|  | 17 | K DIR,DIROUT,DTOUT,DUOUT,DIRUT | 
|---|
|  | 18 | W !! D @$S(IBAIB=1:"NR",1:"TR") | 
|---|
|  | 19 | I $G(IBQUIT)=1 G EXIT | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | VER W !! | 
|---|
|  | 22 | S DIR("A",1)="    Within "_$S(IBAIB=1:"Patient Name",1:"Terminal Digit")_" Include:" | 
|---|
|  | 23 | S DIR("A",2)="      1  - Verified Policies" | 
|---|
|  | 24 | S DIR("A",3)="      2  - Non-Verified Policies" | 
|---|
|  | 25 | S DIR("A",4)="      3  - Both" | 
|---|
|  | 26 | S DIR("A",5)="  " | 
|---|
|  | 27 | S DIR(0)="SAXB^1:Verified Policies;2:Non-Verified Policies;3:Both" | 
|---|
|  | 28 | S DIR("A")="      Select Number: ",DIR("B")="1",DIR("??")="^D ICH^IBCOMA" D ^DIR | 
|---|
|  | 29 | I +Y'>0 S IBQUIT=1 G EXIT | 
|---|
|  | 30 | S IBSIN=+Y | 
|---|
|  | 31 | K DIR,DIROUT,DTOUT,DUOUT,DIRUT | 
|---|
|  | 32 | I IBSIN'=2 D VR I IBBDT=""!(IBEDT="") W "     <Date Range not entered>" G VER | 
|---|
|  | 33 | I $G(IBQUIT)=1 G EXIT | 
|---|
|  | 34 | ; | 
|---|
|  | 35 | W !! D QUE | 
|---|
|  | 36 | ; | 
|---|
|  | 37 | EXIT Q | 
|---|
|  | 38 | ; | 
|---|
|  | 39 | NR ; Ask Name Range | 
|---|
|  | 40 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y | 
|---|
|  | 41 | NRR S DIR(0)="FO",DIR("B")="FIRST",DIR("A")="  START WITH PATIENT NAME" | 
|---|
|  | 42 | D ^DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q | 
|---|
|  | 43 | S:Y="FIRST" Y="A" S IBRF=Y | 
|---|
|  | 44 | S DIR(0)="FO",DIR("B")="LAST",DIR("A")="  GO TO PATIENT NAME" | 
|---|
|  | 45 | D ^DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q | 
|---|
|  | 46 | S:Y="LAST" Y="zzzzzz" S IBRL=Y | 
|---|
|  | 47 | I $G(IBRL)']$G(IBRF) W !!,?5,"* The Go to Patient Name must follow after the Start with Name. *",! G NRR | 
|---|
|  | 48 | Q | 
|---|
|  | 49 | ; | 
|---|
|  | 50 | TR ; Ask Terminal Digit Range | 
|---|
|  | 51 | N DIR,DIRUT,DUOUT,DTOUT,X,Y | 
|---|
|  | 52 | S DIR(0)="FO^1:9^K:X'?1.9N X" | 
|---|
|  | 53 | S DIR("?")="Enter up to 9 digits of the Terminal Digit to include in Report" | 
|---|
|  | 54 | S DIR("B")="0000",DIR("A")="  Start with Terminal Digit" | 
|---|
|  | 55 | D ^DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q | 
|---|
|  | 56 | S IBRF=$E((Y_"000000000"),1,9) | 
|---|
|  | 57 | S DIR("B")="9999",DIR("A")="  GO to Terminal Digit" | 
|---|
|  | 58 | D ^DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q | 
|---|
|  | 59 | S IBRL=$E((Y_"999999999"),1,9) | 
|---|
|  | 60 | I IBRF>IBRL W !!,?5,"* The Go to Terminal Digit must follow after the Start with Digit. *",! G TR | 
|---|
|  | 61 | Q | 
|---|
|  | 62 | ; | 
|---|
|  | 63 | VR ; Ask Verification Date Range | 
|---|
|  | 64 | N %DT,X,Y | 
|---|
|  | 65 | W !!,"      Please enter Policy Verification Dates:" | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | VRBDT ; - get begin date | 
|---|
|  | 68 | S (IBBDT,IBEDT)="" | 
|---|
|  | 69 | S %DT="AEX",%DT("A")="        Start with DATE: " D ^%DT K %DT G VRQ:Y<0 S IBBDT=Y | 
|---|
|  | 70 | ; | 
|---|
|  | 71 | VREDT ; - get ending date | 
|---|
|  | 72 | S %DT="EX" R !,"        Go to DATE: ",X:DTIME S:X=" " X=IBBDT G VRQ:(X="")!(X["^") D ^%DT G VREDT:Y<0 S IBEDT=Y I Y<IBBDT W *7," ??",!,"ENDING DATE must follow BEGINNING DATE." G VRBDT | 
|---|
|  | 73 | ; | 
|---|
|  | 74 | VRQ Q | 
|---|
|  | 75 | ; | 
|---|
|  | 76 | ENH ; Sort help Text | 
|---|
|  | 77 | W !!,?5,"Enter 1 to search by a Patient Name Range. (i.e. ADAMS to ADAMSZ)" | 
|---|
|  | 78 | W !!,?5,"Enter 2 to search by Terminal Digit.  The output will be sorted" | 
|---|
|  | 79 | W !?5,"by the 8th and 9th digits and then the 6th and 7th digits" | 
|---|
|  | 80 | W !?5,"of the Patient's SSN.",! | 
|---|
|  | 81 | Q | 
|---|
|  | 82 | ; | 
|---|
|  | 83 | ICH ; Search criteria help Text | 
|---|
|  | 84 | W !!,?5,"Enter 1 to list active policies by Verification Date Range" | 
|---|
|  | 85 | W !,?15,"(i.e. Sort Date By: 10-1-96  Go to Date: 01-1-97)" | 
|---|
|  | 86 | W !,?5,"Enter 2 to list active policies with no Verification Date." | 
|---|
|  | 87 | W !,?5,"Enter 3 to include active policies with or without a Verification Date." | 
|---|
|  | 88 | Q | 
|---|
|  | 89 | QUE ; Ask Device | 
|---|
|  | 90 | N %ZIS,ZTRTN,ZTSAVE,ZTDESC | 
|---|
|  | 91 | W !,?10,"You may want to queue this report!",! | 
|---|
|  | 92 | S %ZIS="QM" D ^%ZIS G:POP QUEQ | 
|---|
|  | 93 | I $D(IO("Q")) K IO("Q") D  G QUEQ | 
|---|
|  | 94 | .S ZTRTN="BEG^IBCOMA1",ZTSAVE("IBRF")="",ZTSAVE("IBRL")="" | 
|---|
|  | 95 | .S ZTSAVE("IBAIB")="",ZTSAVE("IBBDT")="",ZTSAVE("IBEDT")="",ZTSAVE("IBSIN")="" | 
|---|
|  | 96 | .S ZTDESC="IB - Identify Active Policies w/no Effective Date" | 
|---|
|  | 97 | .D ^%ZTLOAD K ZTSK D HOME^%ZIS | 
|---|
|  | 98 | ; | 
|---|
|  | 99 | U IO | 
|---|
|  | 100 | I $E(IOST,1,2)["C-" W !!,?15,"... One Moment Please ..." | 
|---|
|  | 101 | D BEG^IBCOMA1 | 
|---|
|  | 102 | ; | 
|---|
|  | 103 | QUEQ ; EXIT CLEAN-UP | 
|---|
|  | 104 | W ! D ^%ZISC K IBAIB,IBRF,IBRL,IBSIN,IBSTR,^TMP("IBCOMA",$J) | 
|---|
|  | 105 | Q | 
|---|
|  | 106 | ;IBCOMA | 
|---|