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

BARMPAS5.m

Go to the documentation of this file.
  1. BARMPAS5 ;IHS/SD/PKD - Patient Account Statement ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**23**;OCT 26, 2005
  1. ;P.OTT NEW ROUTINE APR 2013 CALLED FROM BARFX001
  1. ;re-indexing old staments in ^XTMP('BARPAS' is needed
  1. ;due to PAS sorting introduced in P23
  1. ;
  1. Q
  1. FIXPAS ;
  1. L +^TMP($J,"BARPAS_REINDEX"):600
  1. I '$T W !,"Cannot get lock on ^TMP($J,'BARPAS_REINDEX') - cannot reindex." Q
  1. S BARCNT=0
  1. S BARFILE="BARPAS" F S BARFILE=$O(^XTMP(BARFILE)) Q:BARFILE="" Q:BARFILE'["BARPAS" D
  1. . S BARCNT=BARCNT+1 W !,BARCNT,". ",BARFILE
  1. . S BARSRTBY=$G(^XTMP(BARFILE,0,"SORTBY"),-1)
  1. . I BARSRTBY<0 D REINDEX(BARFILE) Q
  1. . I BARSRTBY>1 D DELETE(BARFILE) Q
  1. . W " file is ok - no re-indexing needed"
  1. L -^TMP($J,"BARPAS_REINDEX")
  1. Q
  1. REINDEX(BARFILE) ;
  1. D DOIT
  1. Q
  1. DOIT ;
  1. K ^TMP($J,"BARPAS_REINDEX")
  1. L +^XTMP(BARFILE):360 E W !,"CANNOT GET LOCK OF ^XTMP(",BARFILE QUIT
  1. W !,"FILE ",BARFILE," WILL BE NOW RE-INDEXED"
  1. M ^TMP($J,"BARPAS_REINDEX",BARFILE,0)=^XTMP(BARFILE,0)
  1. S BARLOC=0 F S BARLOC=$O(^XTMP(BARFILE,BARLOC)) Q:+BARLOC=0 D
  1. . M ^TMP($J,"BARPAS_REINDEX",BARFILE,BARLOC,0,"BARFILE")=^XTMP(BARFILE,BARLOC)
  1. . ;;;M ^TMP($J,"BARPAS_REINDEX",BARFILE,BARLOC)=^XTMP(BARFILE,BARLOC)
  1. S ^TMP($J,"BARPAS_REINDEX",BARFILE,0,"SORTBY")=0
  1. S ^TMP($J,"BARPAS_REINDEX",BARFILE,0,"REINDEXED")=$H
  1. K ^XTMP(BARFILE)
  1. M ^XTMP(BARFILE)=^TMP($J,"BARPAS_REINDEX",BARFILE)
  1. K ^TMP($J,"BARPAS_REINDEX",BARFILE)
  1. L -^XTMP(BARFILE)
  1. W " .... DONE"
  1. Q
  1. DELETE(BARFILE) ;
  1. W !,"FILE ",BARFILE," WILL BE REMOVED. HAS INVALID SORTING ORDER: ",BARSRTBY
  1. K ^XTMP(BARFILE)
  1. Q
  1. TEST ;TEST - NO RE-NDEXING
  1. W !,"THIS IS A TEST RUN TO SIMULATE RE-IDEXING."
  1. W !,"NO CHANGES IN ^XTMP WILL BE DONE."
  1. S BARCNT=0
  1. S BARFILE="BARPAS" F S BARFILE=$O(^XTMP(BARFILE)) Q:BARFILE="" Q:BARFILE'["BARPAS" D
  1. . S BARCNT=BARCNT+1 W !,BARCNT,". ",BARFILE
  1. . S BARSRTBY=$G(^XTMP(BARFILE,0,"SORTBY"),-1) ;P.OTT
  1. . I BARSRTBY<0 D Q
  1. . . W !,"FILE ",BARFILE," SHOULD BE NOW RE-INDEXED" ;R ASD
  1. . I BARSRTBY>1 D Q
  1. . . W !,"FILE ",BARFILE," SHOULD BE NOW RE-INDEXED" ;R ASD
  1. . W " NO ADJUSTMENT NEEDED"
  1. W !,"ALL DONE"
  1. Q