HLEMEP ;ALB/CJM-HL7 - Purge Monitor Events ;02/04/2004 ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995 ; PURGE ; N NOW,WHEN,EVENT,ERROR S NOW=$$NOW^XLFDT S WHEN=0 D START^HLEVAPI(.VAR) ; ;delete the old events F S WHEN=$O(^HLEV(776.4,"AJ",WHEN)) Q:'WHEN Q:WHEN>NOW D .S EVENT=0 .F S EVENT=$O(^HLEV(776.4,"AJ",WHEN,EVENT)) Q:'EVENT D ..I '$$DELETE^HLEMU(776.4,EVENT,.ERROR),'$D(^HLEV(776.4,EVENT,0)) K ^HLEV(776.4,"AJ",WHEN,EVENT) ; ;delete the old statistics N STATS,SITE,TYPE,YEAR,MONTH,DAY,CUTMONTH,CUTDAY,CUTHOUR S STATS="^HLEV(776.4,""AF"")" S SITE=0 ; ;these determine the timeframes within which to delete the old statistics S CUTMONTH=$E($$FMADD^XLFDT(DT,-65),1,5) S CUTDAY=$P($$FMADD^XLFDT(DT,-8),".") S CUTHOUR=$$FMADD^XLFDT(NOW,-2) ; F S SITE=$O(@STATS@(SITE)) Q:'SITE D .S TYPE=0 .F S TYPE=$O(@STATS@(SITE,TYPE)) Q:'TYPE D ..S YEAR="" ..F S YEAR=$O(@STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR)) Q:'YEAR D ...S MONTH="" ...F S MONTH=$O(@STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH)) Q:(MONTH="") D ....I ((YEAR-1700)_$$PAD2(MONTH))CUTHOUR D ........K @STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH,"DAY",DAY,"HOUR",HOUR) ; ; D CHECKOUT^HLEVAPI K ^TMP("HLEVFLAG",$J) Q ; INPERSON ;entry point for running in the foreground S ^TMP("HLEVFLAG",$J)="STOP" D PURGE Q PAD2(STRING) ; ; pads a number on the left with '0', to a length of 2 Q $$RJ^XLFSTR(STRING,2,"0") ;