1 | HLEMEP ;ALB/CJM-HL7 - Purge Monitor Events ;02/04/2004
|
---|
2 | ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995
|
---|
3 | ;
|
---|
4 | PURGE ;
|
---|
5 | N NOW,WHEN,EVENT,ERROR
|
---|
6 | S NOW=$$NOW^XLFDT
|
---|
7 | S WHEN=0
|
---|
8 | D START^HLEVAPI(.VAR)
|
---|
9 | ;
|
---|
10 | ;delete the old events
|
---|
11 | F S WHEN=$O(^HLEV(776.4,"AJ",WHEN)) Q:'WHEN Q:WHEN>NOW D
|
---|
12 | .S EVENT=0
|
---|
13 | .F S EVENT=$O(^HLEV(776.4,"AJ",WHEN,EVENT)) Q:'EVENT D
|
---|
14 | ..I '$$DELETE^HLEMU(776.4,EVENT,.ERROR),'$D(^HLEV(776.4,EVENT,0)) K ^HLEV(776.4,"AJ",WHEN,EVENT)
|
---|
15 | ;
|
---|
16 | ;delete the old statistics
|
---|
17 | N STATS,SITE,TYPE,YEAR,MONTH,DAY,CUTMONTH,CUTDAY,CUTHOUR
|
---|
18 | S STATS="^HLEV(776.4,""AF"")"
|
---|
19 | S SITE=0
|
---|
20 | ;
|
---|
21 | ;these determine the timeframes within which to delete the old statistics
|
---|
22 | S CUTMONTH=$E($$FMADD^XLFDT(DT,-65),1,5)
|
---|
23 | S CUTDAY=$P($$FMADD^XLFDT(DT,-8),".")
|
---|
24 | S CUTHOUR=$$FMADD^XLFDT(NOW,-2)
|
---|
25 | ;
|
---|
26 | F S SITE=$O(@STATS@(SITE)) Q:'SITE D
|
---|
27 | .S TYPE=0
|
---|
28 | .F S TYPE=$O(@STATS@(SITE,TYPE)) Q:'TYPE D
|
---|
29 | ..S YEAR=""
|
---|
30 | ..F S YEAR=$O(@STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR)) Q:'YEAR D
|
---|
31 | ...S MONTH=""
|
---|
32 | ...F S MONTH=$O(@STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH)) Q:(MONTH="") D
|
---|
33 | ....I ((YEAR-1700)_$$PAD2(MONTH))<CUTMONTH D
|
---|
34 | .....K @STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH)
|
---|
35 | ....E D
|
---|
36 | .....S DAY=""
|
---|
37 | .....F S DAY=$O(@STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH,"DAY",DAY)) Q:(DAY="") D
|
---|
38 | ......I ((YEAR-1700)_$$PAD2(MONTH)_$$PAD2(DAY))<CUTDAY D
|
---|
39 | .......K @STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH,"DAY",DAY)
|
---|
40 | ......E D
|
---|
41 | .......S HOUR=0
|
---|
42 | .......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
|
---|
43 | ........K @STATS@(SITE,TYPE,"RECEIVED","YEAR",YEAR,"MONTH",MONTH,"DAY",DAY,"HOUR",HOUR)
|
---|
44 | ;
|
---|
45 | ;
|
---|
46 | D CHECKOUT^HLEVAPI
|
---|
47 | K ^TMP("HLEVFLAG",$J)
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | INPERSON ;entry point for running in the foreground
|
---|
51 | S ^TMP("HLEVFLAG",$J)="STOP"
|
---|
52 | D PURGE
|
---|
53 | Q
|
---|
54 | PAD2(STRING) ;
|
---|
55 | ; pads a number on the left with '0', to a length of 2
|
---|
56 | Q $$RJ^XLFSTR(STRING,2,"0")
|
---|
57 | ;
|
---|