| 1 | IBCRHBS1 ;ALB/ARH - RATES: UPLOAD HOST FILES (RC 2+) SETUP ; 10-OCT-03 | 
|---|
| 2 | ;;2.0;INTEGRATED BILLING;**245**;21-MAR-94 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | HOSTLOAD(VERS) ; upload national REASONABLE CHARGES files from Host files into ^XTMP | 
|---|
| 6 | ; | 
|---|
| 7 | N X,Y,IBFILES,IBPATH,IBFILE,IBNODE,IBOK S IBOK=0,VERS=+$G(VERS) | 
|---|
| 8 | W @IOF,!,"Upload National Reasonable Charges v"_VERS_" Host Files to Temporary Vista files" | 
|---|
| 9 | W !,"--------------------------------------------------------------------------------",! | 
|---|
| 10 | ; | 
|---|
| 11 | S IBPATH=$$PATH I IBPATH<0 G HLEND | 
|---|
| 12 | ; | 
|---|
| 13 | D FILES^IBCRHBRV(.IBFILES,VERS) ;          list of files to be loaded | 
|---|
| 14 | ; | 
|---|
| 15 | I '$$FNDHOST(.IBFILES,IBPATH) G HLEND ;    all host files found | 
|---|
| 16 | ; | 
|---|
| 17 | I '$$CONT(.IBFILES) G HLEND | 
|---|
| 18 | I '$$CONT1 G HLEND | 
|---|
| 19 | ; | 
|---|
| 20 | W @IOF,!,"Loading National Reasonable Charges v"_VERS_" Host Files into temporary local file" | 
|---|
| 21 | W !,"--------------------------------------------------------------------------------" | 
|---|
| 22 | ; | 
|---|
| 23 | S IBOK=1,IBFILE="" F  S IBFILE=$O(IBFILES(IBFILE)) Q:IBFILE=""  D  I 'IBOK Q | 
|---|
| 24 | . S IBNODE=IBFILES(IBFILE) | 
|---|
| 25 | . I $$LOAD^IBCRHBS2(IBPATH,IBFILE,$P(IBNODE,U,1),$P(IBNODE,U,2),VERS,$P(IBNODE,U,3)) Q | 
|---|
| 26 | . W !!,"   Error while processing host file, can not continue!",!! S IBOK=0 | 
|---|
| 27 | ; | 
|---|
| 28 | I +IBOK W !!,"Upload of Reasonable Charges v"_VERS_" Host Files Complete.",! | 
|---|
| 29 | I +$$FNDXTMP(.IBFILES) D | 
|---|
| 30 | . W !!,"The following files were created in XTMP, they will be purged in 2 days:" | 
|---|
| 31 | . W !,"------------------------------------------------------------------------" D DSPXTMP(.IBFILES) | 
|---|
| 32 | HLEND Q IBOK | 
|---|
| 33 | ; | 
|---|
| 34 | CONT(FILES) ; check for existing files stored in XTMP with same subscript | 
|---|
| 35 | ; returns true if user wants to continue, any existing files are deleted | 
|---|
| 36 | ; | 
|---|
| 37 | N ARR,IBX,IBZ,DIR,DIRUT,DUOUT,X,Y S IBZ=1 | 
|---|
| 38 | ; | 
|---|
| 39 | I +$$FNDXTMP(.FILES) D | 
|---|
| 40 | . S IBZ=0 W !!,"These files already exist in XTMP:",!,"----------------------------------" | 
|---|
| 41 | . ; | 
|---|
| 42 | . D DSPXTMP(.FILES,.ARR) Q:$D(ARR)<10  W ! | 
|---|
| 43 | . S DIR("?")="Enter either 'Y' or 'N'.  These files use the same name as the new upload would use and therefore must be deleted before the upload can proceed." | 
|---|
| 44 | . S DIR("A")="Delete the above files and continue with the upload",DIR(0)="Y" D ^DIR K DIR | 
|---|
| 45 | . ; | 
|---|
| 46 | . I Y=1 S IBZ=1,IBX="IBCR RC" F  S IBX=$O(^XTMP(IBX)) Q:IBX'["IBCR RC"  K ^XTMP(IBX) W "." | 
|---|
| 47 | ; | 
|---|
| 48 | Q IBZ | 
|---|
| 49 | ; | 
|---|
| 50 | CONT1() ; get final OK to start upload, return true if want to continue with upload | 
|---|
| 51 | N IBZ,DIR,DIRUT,DUOUT,X,Y S IBZ=0 W !! | 
|---|
| 52 | S DIR("?")="Enter either 'Y' or 'N'.  Enter 'Y' if you want to load the Reasonable Charges Host files into XTMP." | 
|---|
| 53 | S DIR("A")="Proceed with upload of National Reasonable Charges Host Files now",DIR(0)="Y" D ^DIR K DIR I Y=1 S IBZ=1 | 
|---|
| 54 | Q IBZ | 
|---|
| 55 | ; | 
|---|
| 56 | PATH() ; return directory or -1 | 
|---|
| 57 | N IBPATH,DIR,DIRUT,DUOUT,X,Y S IBPATH="" | 
|---|
| 58 | S DIR("?",1)="Enter the full path specification where the host files may be found" | 
|---|
| 59 | S DIR("?")="or press return for the default directory "_$$PWD^%ZISH | 
|---|
| 60 | S DIR(0)="FO^3:60",DIR("A")="Enter the file path",DIR("B")=$$PWD^%ZISH D ^DIR K DIR | 
|---|
| 61 | S IBPATH=$S($D(DUOUT)!$D(DTOUT):-1,1:Y) | 
|---|
| 62 | Q IBPATH | 
|---|
| 63 | ; | 
|---|
| 64 | FNDXTMP(FILES) ; find if any existing files in XTMP, return true if any found | 
|---|
| 65 | N IBFILE,IBXRF,IBNODE,IBZ S IBZ=0 | 
|---|
| 66 | ; | 
|---|
| 67 | S IBFILE="" F  S IBFILE=$O(FILES(IBFILE)) Q:IBFILE=""  D  Q:+IBZ | 
|---|
| 68 | . S IBXRF="IBCR RC "_$P(FILES(IBFILE),U,2) Q:$D(^XTMP(IBXRF))=0  S IBZ=1 | 
|---|
| 69 | Q IBZ | 
|---|
| 70 | ; | 
|---|
| 71 | DSPXTMP(FILES,ARR) ; display any existing files in XTMP, ARR passed by ref can be used to get list of existing file subscripts | 
|---|
| 72 | N IBFILE,IBXRF,IBNODE,IBY K ARR | 
|---|
| 73 | ; | 
|---|
| 74 | S IBFILE="" F  S IBFILE=$O(FILES(IBFILE)) Q:IBFILE=""  D | 
|---|
| 75 | . S IBXRF="IBCR RC "_$P(FILES(IBFILE),U,2) I $D(^XTMP(IBXRF))=0 Q | 
|---|
| 76 | . S ARR(IBXRF)="",IBNODE=$G(^XTMP(IBXRF,0)),IBY=$S($P(IBNODE,U,3)="":IBXRF,1:$P(IBNODE,U,3)) | 
|---|
| 77 | . W !,?4,$E(IBY,1,67),?74,$P(IBNODE,U,5) | 
|---|
| 78 | Q | 
|---|
| 79 | ; | 
|---|
| 80 | FNDHOST(FILES,IBPATH) ; find and display any Host files available for upload, return true if all required files found | 
|---|
| 81 | N IBX,IBY,IBZ,IBF,IBFILE,X,Y S IBF=1 | 
|---|
| 82 | W !!,"Reasonable Charges Host Files found: ",?44,IBPATH,!,"------------------------------------" | 
|---|
| 83 | ; | 
|---|
| 84 | I $O(FILES(""))="" S IBF=0 | 
|---|
| 85 | ; | 
|---|
| 86 | S IBFILE="" F  S IBFILE=$O(FILES(IBFILE)) Q:IBFILE=""  D | 
|---|
| 87 | . S IBX(IBFILE)="",IBZ=$$LIST^%ZISH(IBPATH,"IBX","IBY") K IBX,IBY | 
|---|
| 88 | . W !,$P(FILES(IBFILE),U,1),":",?45,IBFILE I 'IBZ W ?57,"*** not found ***" S IBF=0 | 
|---|
| 89 | ; | 
|---|
| 90 | I 'IBF W !!,"Can not find all required host files, can not continue!",!! | 
|---|
| 91 | I +IBF W !!,"All required host files found.",! | 
|---|
| 92 | Q IBF | 
|---|