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

BDWPURG.m

Go to the documentation of this file.
  1. BDWPURG ; IHS/CMI/LAB - PURGE DW LOG ;
  1. ;;1.0;IHS DATA WAREHOUSE;;JAN 23, 2006
  1. ;
  1. D INIT
  1. I BDW("QFLG") D EOJ W !!,"Bye",!! K DIR S DIR(0)="E",DIR("A")="Press ENTER to continue" D ^DIR K DIR Q
  1. D PROCESS
  1. D EOJ
  1. W !!,"DONE",!!
  1. Q
  1. ;
  1. PROCESS ;
  1. S BDW("LOG")=BDW("OLDEST LOG")-1 F S BDW("LOG")=$O(^BDWXLOG(BDW("LOG"))) Q:BDW("LOG")'=+BDW("LOG") D DELCHK Q:BDW("QFLG")
  1. Q
  1. DELCHK ;
  1. S X=^BDWXLOG(BDW("LOG"),0),BDW("BEGIN DATE")=$P(X,U),BDW("END DATE")=$P(X,U,2),BDW("COUNT")=$P(X,U,6)
  1. S Y=BDW("BEGIN DATE") X ^DD("DD") S BDW("BEGIN DATE")=Y
  1. S Y=BDW("END DATE") X ^DD("DD") S BDW("END DATE")=Y
  1. S BDW("VISITS")=$P(^BDWXLOG(BDW("LOG"),21,0),U,4)
  1. W !!,"Log entry ",BDW("LOG")," was for date range ",BDW("BEGIN DATE")," through ",BDW("END DATE"),!,"and generated ",BDW("COUNT")," transactions from ",BDW("VISITS")," encounters."
  1. RDD ;
  1. S DIR(0)="Y",DIR("A")="Do you want to delete the VISIT pointers for this log entry",DIR("B")="N" K DA D ^DIR K DIR
  1. I Y K ^BDWXLOG(BDW("LOG"),21),^BDWXLOG(BDW("LOG"),51),^BDWXLOG(BDW("LOG"),41) W " Done" Q
  1. S BDW("QFLG")=1
  1. Q
  1. ;
  1. INIT ;
  1. K BDW
  1. I '$D(DUZ(2))#2 W !!,$C(7),$C(7),"SITE NOT SET!!!" S BDW("QFLG")=1 Q
  1. S BDW("COUNT")=0,BDW("QFLG")=0
  1. D CHKSITE^BDWRDRI
  1. Q:BDW("QFLG")
  1. S (BDW("X"),BDW("LAST LOG"))=$P(^BDWXLOG(0),U,3) F S BDW("X")=$O(^BDWXLOG(BDW("X"))) Q:BDW("X")'=+BDW("X") S BDW("LAST LOG")=BDW("X")
  1. S BDW("OLDEST LOG")=BDW("LAST LOG") F BDW("X")=BDW("LAST LOG"):-1:1 I $D(^BDWXLOG(BDW("X"))) Q:'$D(^BDWXLOG(BDW("X"),21)) S BDW("OLDEST LOG")=BDW("X"),BDW("COUNT")=BDW("COUNT")+1
  1. I BDW("COUNT")=0 W !!,"No log entries with VISIT data." S BDW("QFLG")=1 Q
  1. W !!,"There ",$S(BDW("COUNT")>1:"are",1:"is")," ",BDW("COUNT")," generation",$S(BDW("COUNT")>1:"s ",1:" "),"with ENCOUNTER/VISIT data."
  1. RD ;
  1. S DIR(0)="Y",DIR("A")="Do you want to continue",DIR("B")="N" K DA D ^DIR K DIR
  1. I $D(DIRUT)!('Y) S BDW("QFLG")=1
  1. Q
  1. ;
  1. CHKENTRY ; CHECK LOG ENTRY
  1. Q:'$D(^BDWXLOG(BDW("X"),21))
  1. S:BDW("OLDEST LOG")="" BDW("OLDEST LOG")=BDW("X")
  1. S BDW("COUNT")=BDW("COUNT")+1
  1. Q
  1. ;
  1. EOJ ; EOJ CLEAN UP
  1. K BDW
  1. Q