| 1 | IBCFP ;ALB/ARH - PRINT AUTHORIZED BILLS IN ORDER ;6-DEC-94 | 
|---|
| 2 | ;;2.0;INTEGRATED BILLING;**41,54,137,155,348**;21-MAR-94;Build 5 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | ; | 
|---|
| 6 | S IBPAR1=$G(^IBE(350.9,1,1)) | 
|---|
| 7 | S IBFT=$G(^IBE(353,3,0)) I $P(IBFT,U,2)="" W !!,"Default printer in billing not defined for the "_$P(IBFT,U,1)_", none will print!",! | 
|---|
| 8 | I +$P(IBPAR1,U,22) S IBFT=$G(^IBE(353,2,0)) I $P(IBFT,U,2)="" W !!,"Default printer in billing not defined for the "_$P(IBFT,U,1)_", none will print!",! | 
|---|
| 9 | I '$D(^DGCR(399,"AST")) W !!,"There are no Authorized but not Printed bills to print!" G END | 
|---|
| 10 | ; | 
|---|
| 11 | S IBS="",IBZ="Z:ZIP;I:INSURANCE COMPANY NAME;P:PATIENT NAME;" | 
|---|
| 12 | ORDER S DIR("?")="This option prints all non-transmittable bills with a Status of Authorized in the order requested.  The printed bills may be sorted by: Zip Code, Insurance Company Name, and Patient name." | 
|---|
| 13 | 1 S DIR("A")="First Sort Bills By",DIR(0)="SOB^"_IBZ D ^DIR I $D(DIRUT) G END | 
|---|
| 14 | S IBS=IBS_$S(Y="Z":1,Y="I":2,Y="P":3,1:0) S IBX=$P($P(IBZ,Y_":",2),";",1) | 
|---|
| 15 | ; | 
|---|
| 16 | S DIR("?",1)="Enter the field that the bills should be sorted on within "_IBX_".  Press return if the order already entered is sufficient.",DIR("?",2)="" | 
|---|
| 17 | 2 S DIR("A")="Then Sort Bills By",DIR(0)="SOB^"_IBZ D ^DIR I Y'="",$D(DIRUT) G END | 
|---|
| 18 | S IBS=IBS_$S(Y="Z":1,Y="I":2,Y="P":3,1:0) G:Y="" BEG S IBY=$P($P(IBZ,Y_":",2),";",1) | 
|---|
| 19 | ; | 
|---|
| 20 | S DIR("?",1)="Enter the field that the bills should be sorted on within "_IBX_" and "_IBY_".  Press return if the order already entered is sufficient." | 
|---|
| 21 | 3 S DIR("A")="Then Sort Bills By",DIR(0)="SOB^"_IBZ D ^DIR K DIR I Y'="",$D(DIRUT) G END | 
|---|
| 22 | S IBS=IBS_$S(Y="Z":1,Y="I":2,Y="P":3,1:0) | 
|---|
| 23 | ; | 
|---|
| 24 | BEG S DIR("A")="Begin printing bills",DIR("?",1)="  Enter YES to begin printing all authorized non-transmittable bills." | 
|---|
| 25 | S DIR("?",2)="  Enter NO to quit this option." | 
|---|
| 26 | S DIR("?")="  Enter ?? to list the authorized bills that will be printed." | 
|---|
| 27 | W ! S DIR(0)="YBO",DIR("??")="^D DISPX^IBCF" D ^DIR K DIR I 'Y W "... bills not printed!" G END | 
|---|
| 28 | ; | 
|---|
| 29 | S ZTRTN="QTASK^IBCFP1",ZTDESC="BATCH PRINT AUTHORIZED THIRD PARTY BILLS",ZTIO="",ZTSAVE("IBS")="" D ^%ZTLOAD | 
|---|
| 30 | I $D(ZTSK) W !," ... queued" | 
|---|
| 31 | ; | 
|---|
| 32 | END K DIR,IBX,IBY,IBZ,IBS,IBPAR1,IBFT,Y,X,DIRUT ; end of interactive part | 
|---|
| 33 | Q | 
|---|
| 34 | ; | 
|---|
| 35 | ; | 
|---|
| 36 | DATE(X) Q $E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) | 
|---|
| 37 | ; | 
|---|
| 38 | STOP() ;determine if user has requested the queued report to stop | 
|---|
| 39 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1 K ZTREQ I +$G(IBPGN) W !,"***TASK STOPPED BY USER***" | 
|---|
| 40 | Q +$G(ZTSTOP) | 
|---|