| [613] | 1 | IBCRHO ;ALB/ARH - RATES: UPLOAD CHECK & ADD TO CM REPORT ; 22-MAY-1996 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**52,138,148,307**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ENTRY(ADD) ; OPTION:  check validity of data in uploaded files and add to Charge Master | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | W !!,"Check files waiting to be loaded into the Charge Master for data validity." | 
|---|
|  | 8 | D DISP1^IBCRHU1("",.IBA1,"",1) I 'IBA1 W !,"No files in XTMP." G EXIT | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | I +$G(ADD),'$$CONT G EXIT | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | ;get the device | 
|---|
|  | 13 | W !!,"Report requires 120 columns" | 
|---|
|  | 14 | S %ZIS="QM",%ZIS("A")="OUTPUT DEVICE: " D ^%ZIS G:POP EXIT | 
|---|
|  | 15 | I $D(IO("Q")) S ZTRTN="RPT^IBCRHO",ZTDESC="IBCR UPLOAD REPORT",ZTSAVE("ADD")=+$G(ADD) D ^%ZTLOAD K IO("Q") G EXIT | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | ; | 
|---|
|  | 18 | RPT N IBX,IBQUIT S IBQUIT=0 K ^TMP($J) | 
|---|
|  | 19 | D GETXTMP^IBCRHU1("",.IBA1,"",1) | 
|---|
|  | 20 | S IBX="" F  S IBX=$O(IBA1(IBX)) Q:IBX=""  D SRCH^IBCRHL(IBX,+$G(ADD))  S IBQUIT=$$STOP Q:IBQUIT | 
|---|
|  | 21 | ; | 
|---|
|  | 22 | I 'IBQUIT,+$G(ADD) S IBX=$O(IBA1("")) I IBX'="" S IBX=$G(IBA1(IBX)) I IBX["RC v1 " D CPT2000^IBCRHBRA | 
|---|
|  | 23 | I 'IBQUIT,+$G(ADD) S IBX=$O(IBA1("")) I IBX'="" S IBX=$G(IBA1(IBX)) I IBX["RC " S IBX=$$CSEMPTY^IBCRED("RC") | 
|---|
|  | 24 | I 'IBQUIT,+$G(ADD) S IBX=$O(IBA1("")) I IBX'="" S IBX=$G(IBA1(IBX)) I IBX["CMAC" S IBX=$$CSEMPTY^IBCRED("CM") | 
|---|
|  | 25 | ; | 
|---|
|  | 26 | I 'IBQUIT D PRNT | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | EXIT ;clean up and quit | 
|---|
|  | 29 | K ^TMP($J),IBA1 Q:$D(ZTQUEUED)  D ^%ZISC | 
|---|
|  | 30 | Q | 
|---|
|  | 31 | ; | 
|---|
|  | 32 | PRNT ; print report | 
|---|
|  | 33 | N IBFILE,IBSUB,IBX,IBY,IBLN,IBCNT,IBPG,IBTIME,IBQUIT,DIR,DIRUT,X,Y S IBTIME=$H | 
|---|
|  | 34 | U IO | 
|---|
|  | 35 | Q:$$HDR | 
|---|
|  | 36 | S IBFILE="" F  S IBFILE=$O(^TMP($J,IBFILE)) Q:IBFILE=""  D  Q:IBQUIT | 
|---|
|  | 37 | . W !!,?15,IBFILE S IBCNT=IBCNT+2 | 
|---|
|  | 38 | . S IBSUB="" F  S IBSUB=$O(^TMP($J,IBFILE,IBSUB)) Q:IBSUB=""  D  S:IBCNT>(IOSL-5) IBQUIT=$$HDR Q:IBQUIT | 
|---|
|  | 39 | .. S IBLN=$G(^TMP($J,IBFILE,IBSUB)) | 
|---|
|  | 40 | .. W !!,IBSUB,?20,$P(IBLN,U,2),! S IBCNT=IBCNT+4 | 
|---|
|  | 41 | .. I $P(IBLN,U,3)'="" W ?20,$P(IBLN,U,3),! S IBCNT=IBCNT+1 | 
|---|
|  | 42 | .. I $P(IBLN,U,4)'="" W ?20,$P(IBLN,U,4),! S IBCNT=IBCNT+1 | 
|---|
|  | 43 | .. ; | 
|---|
|  | 44 | .. S IBX=0 F  S IBX=$O(^TMP($J,IBFILE,IBSUB,IBX)) Q:'IBX  D  S:IBCNT>(IOSL-5) IBQUIT=$$HDR Q:IBQUIT | 
|---|
|  | 45 | ... S IBY=$P(^TMP($J,IBFILE,IBSUB,IBX),U,2) | 
|---|
|  | 46 | ... W !,?5,IBX,?10," = ",$G(^XTMP(IBFILE,IBSUB,IBX)),?50,$E(IBY,1,69) S IBCNT=IBCNT+1 | 
|---|
|  | 47 | ... S IBY=$E(IBY,70,999) I IBY'="" W !,?70,IBY S IBCNT=IBCNT+1 | 
|---|
|  | 48 | ; | 
|---|
|  | 49 | I 'IBQUIT,IBCNT>(IOSL-12) S IBQUIT=$$HDR | 
|---|
|  | 50 | I 'IBQUIT D | 
|---|
|  | 51 | . W !!,"SUBFILE/SET ERROR:",?20,"This error results when a problem is found in the definition of the subfile that has been uploaded",!,"or the Charge Set that has been assigned to it.  All processing of the subfile" | 
|---|
|  | 52 | . W " is stopped, no part of the subfile will",!,"be loaded into the Charge Master." | 
|---|
|  | 53 | . W !!,"LINE/DATA ERROR:",?20,"A data error in a required field has been found in a line read from the file.  The chargeable item",!,"defined by that line will be ignored, it will NOT be added to the Charge Master." | 
|---|
|  | 54 | . W !!,"LINE/DATA WARNING:",?20,"A data error in a non-required field has been found in a line read from the file.  The chargeable",!,"item defined by that line will be ignored, it will NOT be added to the Charge Master." | 
|---|
|  | 55 | . W !!,"Records found that are duplicates of existing charge entries or have a 0 charge are NOT added nor reported individually." | 
|---|
|  | 56 | Q | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | PAUSE ;pause at end of screen if being displayed on a terminal | 
|---|
|  | 59 | Q:$E(IOST,1,2)'["C-"  S DIR(0)="E" D ^DIR K DIR I $D(DUOUT)!($D(DIRUT)) S IBQUIT=1 | 
|---|
|  | 60 | Q | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | CONT() ; returns true if user wants to add the files to the Charge Master | 
|---|
|  | 63 | N IBZ,DIR,DIRUT,DUOUT,X,Y S IBZ=0 | 
|---|
|  | 64 | S DIR("A")="Load the above files into the Charge Master",DIR(0)="Y" D ^DIR K DIR I Y=1 S IBZ=1 | 
|---|
|  | 65 | I +IBZ W !,"A summary report of the results will be printed.",! | 
|---|
|  | 66 | Q IBZ | 
|---|
|  | 67 | ; | 
|---|
|  | 68 | HDR() ;print the report header | 
|---|
|  | 69 | S IBQUIT=0,IBPG=$G(IBPG)+1,IBCNT=3 | 
|---|
|  | 70 | S IBQUIT=$$STOP G:IBQUIT HDRQ I IBPG>1 D PAUSE G:IBQUIT HDRQ | 
|---|
|  | 71 | W @IOF | 
|---|
|  | 72 | I +$G(ADD) W !,"IB Upload Summary Report of Charge Items Loaded into the Charge Master" | 
|---|
|  | 73 | I '$G(ADD) W !,"IB Upload Data Validity Check on Temporary files" | 
|---|
|  | 74 | W ?75,$$HTE^XLFDT(IBTIME,2)_"  Page ",IBPG | 
|---|
|  | 75 | W !,"---------------------------------------------------------------------------------------------------" | 
|---|
|  | 76 | HDRQ Q IBQUIT | 
|---|
|  | 77 | ; | 
|---|
|  | 78 | STOP() ;determine if user has requested the queued report to stop | 
|---|
|  | 79 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1 K ZTREQ I +$G(IBPG) W !,"***TASK STOPPED BY USER***" | 
|---|
|  | 80 | Q +$G(ZTSTOP) | 
|---|