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

HLEMEP.m

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