Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ADERVURD

ADERVURD.m

Go to the documentation of this file.
  1. ADERVURD ;IHS/ITSC/TPF - READ NEW RVUS FROM FILE AND PLACE INTO ADA CODE FILE 8/27/2003 12:50:16 PM
  1. ;;6.0;ADE;**15**;JAN 01, 2004
  1. S U="^"
  1. ASK W @IOF
  1. K DIR
  1. S DIR("B")=$G(^XTV(8989.3,1,"DEV"))
  1. S DIR(0)="FO",DIR("A")="Enter the directory path for the RVU Code update file "
  1. S DIR("?")="/usr/mydir or c:\pub\"
  1. S ERROR=0
  1. D ^DIR
  1. I $D(DIRUT) D EXIT Q
  1. I Y=""!(Y=U)!(Y=(U_U)) D EXIT Q
  1. S XBDIR=X
  1. K DIR
  1. D FNAME
  1. I $G(XBFN)="" G ASK
  1. D RDFILE(XBDIR,XBFN)
  1. I ERROR G ASK
  1. D PLACE
  1. D EXIT
  1. G ASK
  1. Q
  1. ; pull up a file into the TMP global for display
  1. RDFILE(XBDIR,XBFN,XBNODE) ;
  1. S ERROR=0
  1. I '$D(XBHDR) S XBHDR=""
  1. N Y,X,I
  1. S Y=$$OPEN^%ZISH(XBDIR,XBFN,"R")
  1. I POP W !,*7,"CANNOT OPEN (OR ACCESS) FILE '",XBDIR,XBFN,"'." S Y=$$DIR^XBDIR("E") S ERROR=1 Q
  1. K ^TMP("ADERVURD",$J)
  1. U 0 W !!,"READING FROM FILE "
  1. F I=1:1 U IO R X:DTIME S X=$TR(X,$C(9),U) Q:X="" S ^TMP("ADERVURD",$J,I,0)=X U 0 W "." Q:$$STATUS^%ZISH=-1
  1. U 0 W !,I," RECORDS READ"
  1. D CLOSE^%ZISH()
  1. Q
  1. ;PUT DATA INTO ADA CODE FILE
  1. PLACE ;
  1. W !!,"ADDING RVU INFO TO 'ADA CODE' FILE"
  1. S RECORD=1
  1. F S RECORD=$O(^TMP("ADERVURD",$J,RECORD)) Q:RECORD="" D
  1. .S ADACODE=$TR($P(^TMP("ADERVURD",$J,RECORD,0),U),"D")
  1. .Q:$E(ADACODE,1,2)="IH" ;USER DEFINED SKIP FOR NOW
  1. .S RVU=$P(^TMP("ADERVURD",$J,RECORD,0),U,5) ;GET RELATIVE VALUE UNIT
  1. .S ADANLC=$P(^TMP("ADERVURD",$J,RECORD,0),U,4) ;GET NEW LEVEL OF SERVICE (CARE)
  1. .S ADADESCR=$P(^TMP("ADERVURD",$J,RECORD,0),U,2)
  1. .D ADDTOFIL(ADACODE,RVU,ADADESCR,ADANLC) ;ADD TO THE FILE
  1. I $D(^TMP("ADERVURD","EXCEPTIONS",$J)) D EXCEPTRP ;DO EXCEPTION REPORT
  1. Q
  1. ;CLEAN UP
  1. EXIT K ADACODE,ADADESCR,ADAIEN,DA,DIE,DR,ERROR,I,MSG,RECORD,RVU,CENTER,LINE,ADANLC
  1. K ^TMP("ADERVURD",$J)
  1. I $D(^TMP("ADERVURD","EXCEPTIONS",$J)) K ^TMP("ADERVURD","EXCEPTIONS",$J) W !!,"EXCEPTION FILE HAS BEEN DELETED!"
  1. Q
  1. ;
  1. ;ADD TO THE ADAD CODE FILE
  1. ADDTOFIL(ADACODE,RVU,ADADESCR,ADANLC) ;
  1. W "."
  1. S XREF="BA"
  1. S ADAIEN=$O(^AUTTADA("BA",ADACODE_" ",""))
  1. I ADAIEN="" D EXCEPT("ENTRY FOR "_ADACODE_" NOT FOUND USING "_XREF_" X-REF",ADACODE,ADADESCR)
  1. S XREF="B"
  1. S ADAIEN=$O(^AUTTADA("B",ADACODE,""))
  1. I ADAIEN="" D EXCEPT("INTERNAL ENTRY NUMBER NOT FOUND USING X-REF "_XREF_" FOR ADA CODE "_ADACODE_". RVU HAS NOT BEEN ENTERED INTO FILE",ADACODE,ADADESCR) Q
  1. I $D(^AUTTADA(ADAIEN,0))'=1 D EXCEPT("MISSING ZERO NODE WITH ENTRY FOR "_ADAIEN_" X-REF EXISTS BUT ZERO NODE DOES NOT",ADAIEN,ADADESCR) Q
  1. D UPDATE(ADAIEN,RVU,ADANLC)
  1. Q
  1. ;ADD RVU TO ENTRY
  1. UPDATE(ADAIEN,RVU,ADANLC) ;
  1. ;UPDATE RVU AND LEVEL OF SERVICE
  1. S DIE="^AUTTADA("
  1. S DA=ADAIEN
  1. S DR=".05///^S X=ADANLC;501///^S X=RVU"
  1. D ^DIE
  1. K DIE
  1. Q
  1. ;REPORT/PROCESS EXCEPTION
  1. EXCEPT(MSG,ADACODE,ADADESCR) ;
  1. S ^TMP("ADERVURD","EXCEPTIONS",$J,ADACODE)=MSG_U_ADADESCR
  1. ;W !,MSG
  1. Q
  1. ;FOLLOWING CODE BORROWED WITH PERMISSION FROM ROUTINE BAREDIUT
  1. FNAME ;
  1. ; Select a file (directory can be pre-loaded into XBDIR)
  1. K DIR
  1. ;
  1. FNAME1 ;
  1. S XBFN=""
  1. S DIR(0)="FO^1:15"
  1. S DIR("A")="File Name "
  1. D ^DIR
  1. K DIR
  1. Q:$G(DTOUT)
  1. Q:Y["^"
  1. Q:Y=""
  1. I Y?.N,$D(XBFL(Y)) S DIR("B")=XBFL(Y) G FNAME1
  1. I Y["*" D G FNAME
  1. . K XBFL
  1. . S X=$$LIST^%ZISH(XBDIR,Y,.XBFL)
  1. . F XBI=1:1 Q:'$D(XBFL(XBI)) W !?5,XBI,?10,XBFL(XBI) I '(XBI#20) R X:DTIME
  1. S XBFN=Y
  1. Q
  1. ;EXCEPTION REPORT
  1. EXCEPTRP ;
  1. W !,"EXCEPTIONS HAVE BEEN FOUND"
  1. K DIR
  1. S DIR(0)="Y"
  1. S DIR("A")="VIEW EXCEPTION REPORT(Y/N)"
  1. S DIR("B")="N"
  1. D ^DIR
  1. Q:'Y
  1. S $P(LINE,"*",IOM+1)=""
  1. D ^%ZIS Q:POP
  1. U IO
  1. D HDR
  1. S ADACODE=""
  1. F S ADACODE=$O(^TMP("ADERVURD","EXCEPTIONS",$J,ADACODE)) Q:ADACODE="" D
  1. .S ADADESCR=$P(^TMP("ADERVURD","EXCEPTIONS",$J,ADACODE),U,2)
  1. .W !!,ADACODE,?10,ADADESCR
  1. .I $Y>(IOSL-4),IOST'[("C-") D HDR Q
  1. .I $Y>(IOSL-4) D RETURN,HDR
  1. I IOST[("C-") D RETURN
  1. W @IOF
  1. D ^%ZISC
  1. Q
  1. HDR ;
  1. W @IOF
  1. S X="EXCEPTION REPORT"
  1. S CENTER=(IOM-$L(X))\2
  1. W !,?CENTER,X
  1. S X="THE FOLLOWING ADA CODES WERE NOT FOUND IN FILE #9999999.31"
  1. S CENTER=(IOM-$L(X))\2
  1. W !,?CENTER,X
  1. W !!,"ADA CODE",?10,"DESCRIPTION"
  1. W !,LINE
  1. Q
  1. RETURN ;EP - Press return to continue
  1. N DIR
  1. S DIR(0)="FAO^1:1",DIR("A")="Press 'Return' to continue... "
  1. W !! D ^DIR
  1. K DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
  1. Q