1 | HLEVREP3 ;O-OIFO/LJA - Event Monitor REPORTS ;02/04/2004 14:42
|
---|
2 | ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995
|
---|
3 | ;
|
---|
4 | REMREQO ; Remote Requestable printout - [HLEV REMOTE REQUESTABLE LIST]
|
---|
5 | N BY,DIC,DIOEND,FLDS,HLEVRRQ
|
---|
6 | W @IOF,$$CJ^XLFSTR("Remote Requestable Monitors Report",IOM)
|
---|
7 | W !,$$REPEAT^XLFSTR("=",IOM)
|
---|
8 | W !,"Some monitors may be activated by remote server request. This option sorts"
|
---|
9 | W !,"all monitors by whether they are ""remote requestable""."
|
---|
10 | W !
|
---|
11 | S L="",DIC=776.1,BY="[HLEV REPORT MONITOR]",DIOEND="D RRQSUMM^HLEVREP3"
|
---|
12 | S FLDS="[HLEV REMOTE REQUESTABLE]"
|
---|
13 | D EN1^DIP
|
---|
14 | Q
|
---|
15 | ;
|
---|
16 | RRQSUMM ; Remote request summary...
|
---|
17 | QUIT:'$D(HLEVRRQ("[NO]")) ;->
|
---|
18 | W !,"Fields having [NO] in the remote requestable field are not answered YES or"
|
---|
19 | W !,"NO. But, since the default action is NO, these blank fields are actually"
|
---|
20 | W !,"an implied NO (no remote requesting allowed.)"
|
---|
21 | I '$D(ZTQUEUED) D TELL^HLEVMST0("","0^0^0")
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | REMREQ() ; Called by [HLEV REMOTE REQUESTABLE] print template
|
---|
25 | ; Return whether entry is remote requestable
|
---|
26 | ; HLEVRRQ newed at top of print template run...
|
---|
27 | S HLEVRRQ=$S(X=1:"YES",X=0:"NO",1:"[NO]")
|
---|
28 | S HLEVRRQ(HLEVRRQ)=$G(HLEVRRQ(HLEVRRQ))+1
|
---|
29 | Q HLEVRRQ
|
---|
30 | ;
|
---|
31 | MONLOAD(HLEVIENJ) ; Load data into ^TMP...
|
---|
32 | N DATA,EXPL,LEN,MIEN,NO,PAGE,REF,SUB,SUM,SUMX,SUMY,TITLE,VAR
|
---|
33 | ;
|
---|
34 | KILL ^TMP($J,"HLMON",+HLEVIENJ)
|
---|
35 | ;
|
---|
36 | ; Zero node
|
---|
37 | S DATA=$G(^HLEV(776,+$G(HLEVIENJ),0)) QUIT:DATA']"" ;->
|
---|
38 | D SET("START","Start",$$SDT^HLEVX001($P(DATA,U)))
|
---|
39 | D SET("DONE","Finish",$$SDT^HLEVX001($P(DATA,U,2)))
|
---|
40 | D SET("MONM","Monitor",$P($G(^HLEV(776.1,+$P(DATA,U,3),0)),U))
|
---|
41 | D SET("STATR","Status",$$STAT776($P(DATA,U,4)))
|
---|
42 | D SET("STATA","Appl",$P(DATA,U,5))
|
---|
43 | D SET("TIME","T-Stamp",$$SDT^HLEVX001($P(DATA,U,6)))
|
---|
44 | D SET("MAIL","Mail",$P(DATA,U,7))
|
---|
45 | D SET("ZTSK","Task",$P(DATA,U,8))
|
---|
46 | D SET("MST","Master",$P(DATA,U,9))
|
---|
47 | ;
|
---|
48 | ; Run Diary and Message Text...
|
---|
49 | F SUB=50,51 D
|
---|
50 | . S TITLE=$S(SUB=50:"RUN",1:"MSG")
|
---|
51 | . S MIEN=0
|
---|
52 | . F S MIEN=$O(^HLEV(776,+HLEVIENJ,SUB,MIEN)) Q:MIEN'>0 D
|
---|
53 | . . S NO=$O(^TMP($J,"HLMON",+HLEVIENJ,TITLE,":"),-1)+1
|
---|
54 | . . S ^TMP($J,"HLMON",+HLEVIENJ,TITLE,+NO)=^HLEV(776,+HLEVIENJ,SUB,MIEN,0)
|
---|
55 | ;
|
---|
56 | ; Variables...
|
---|
57 | S MIEN=0,SUMX="",SUMY=""
|
---|
58 | F S MIEN=$O(^HLEV(776,+HLEVIENJ,52,MIEN)) Q:MIEN'>0 D
|
---|
59 | . S REF=$G(^HLEV(776,+HLEVIENJ,52,+MIEN,0)) QUIT:$P(REF,U)']"" ;->
|
---|
60 | . S VAR=$P(REF,U),EXPL=$P(REF,U,2),EXPL=$S(EXPL]"":EXPL,1:REF)
|
---|
61 | . S DATA=$G(^HLEV(776,+HLEVIENJ,52,+MIEN,52))
|
---|
62 | . S ^TMP($J,"HLMON",+HLEVIENJ,"VD",VAR,EXPL)=DATA
|
---|
63 | .
|
---|
64 | . S LEN=$L(DATA) ; Length of data
|
---|
65 | . S LEN(1)=$L(EXPL) ; Length column header
|
---|
66 | . S LEN(2)=$S(LEN>LEN(1):LEN,1:LEN(1))+2 ; Largest length-data or header
|
---|
67 | . S LEN(3)=LEN+LEN(1)+3 ; Length - data + header
|
---|
68 | .
|
---|
69 | . S ^TMP($J,"HLMON",+HLEVIENJ,"VX",LEN(2),VAR,EXPL)=""
|
---|
70 | . S ^TMP($J,"HLMON",+HLEVIENJ,"VY",+LEN(3),VAR,EXPL)=""
|
---|
71 | .
|
---|
72 | . S $P(SUMX,U)=$P(SUMX,U)+1 ; # variables...
|
---|
73 | . S $P(SUMX,U,2)=$P(SUMX,U,2)+LEN(2)+2 ; Total columns required...
|
---|
74 | . I $P(SUMX,U,3)<(LEN(2)+1) S $P(SUMX,U,3)=LEN(2) ; Largest column
|
---|
75 | .
|
---|
76 | . S $P(SUMY,U)=$P(SUMY,U)+1
|
---|
77 | . S $P(SUMY,U,2)=$P(SUMY,U,2)+1
|
---|
78 | . I $P(SUMY,U,3)<(LEN(3)+1) S $P(SUMY,U,3)=LEN(3)
|
---|
79 | ;
|
---|
80 | ; # Var header, Line and Var data "pages"...
|
---|
81 | S LEN=0,PAGE=0,SUM=0
|
---|
82 | F S LEN=$O(^TMP($J,"HLMON",+HLEVIENJ,"VX",LEN)) Q:LEN'>0 D
|
---|
83 | . S:PAGE=0 PAGE=1
|
---|
84 | . I (SUM+LEN)>80 D
|
---|
85 | . . S PAGE=PAGE+1,SUM=0
|
---|
86 | . S SUM=SUM+LEN
|
---|
87 | S:PAGE $P(SUMX,U,4)=PAGE
|
---|
88 | ;
|
---|
89 | I SUMX]"" S ^TMP($J,"HLMON",+HLEVIENJ,"VX")=SUMX
|
---|
90 | I SUMY]"" S ^TMP($J,"HLMON",+HLEVIENJ,"VY")=SUMY
|
---|
91 | ;
|
---|
92 | Q
|
---|
93 | ;
|
---|
94 | ;
|
---|
95 | SET(STORE,TAG,VAL) ; Store value to be displayed...
|
---|
96 | S ^TMP($J,"HLMON",HLEVIENJ,STORE)=$S(VAL]"":1,1:"")_U_TAG_U_VAL
|
---|
97 | Q
|
---|
98 | ;
|
---|
99 | STAT776(STAT) ; Return status for use on report...
|
---|
100 | QUIT STAT_U_$S(STAT="E":"Error",STAT="F":"Finish",STAT="Q":"Que'd",STAT="R":"Running",1:"")
|
---|
101 | ;
|
---|
102 | CTRLMON ; Re/ask for monitor to display...
|
---|
103 | N IEN776,IENDATE,IENONE,IOINHI,IOINORM,LASTONE,WORK,X
|
---|
104 | S X="IOINHI;IOINORM" D ENDR^%ZISS
|
---|
105 | S WORK=0
|
---|
106 | W !
|
---|
107 | S IEN776=$$ASKMON QUIT:IEN776'>0 ;->
|
---|
108 | S WORK=1
|
---|
109 | S IENDATE=$$ASKDATE(IEN776) QUIT:IENDATE'>0 ;->
|
---|
110 | CTRLMON1 ; Reask entry point...
|
---|
111 | S IENONE=$$ASKONE(IEN776,IENDATE) I IENONE'>0 D QUIT ;->
|
---|
112 | . W !!!!,IOINHI,"Returning to display of daily map views...",IOINORM
|
---|
113 | . W !!
|
---|
114 | D SHOW^HLEVREP2(+IENONE)
|
---|
115 | I $P(IENONE,U,2)>1 D G CTRLMON1 ;->
|
---|
116 | . D TELL^HLEVMST0("","0^0^999","Press RETURN to continue... ")
|
---|
117 | G CTRLMON ;->
|
---|
118 | ;
|
---|
119 | ASKMON() ; Ask user for a monitor to show...
|
---|
120 | N DIC,X,Y
|
---|
121 | S DIC=776.1,DIC(0)="AEMQ",DIC("A")="Select monitor to view, or RETURN to continue: "
|
---|
122 | S DIC("S")="I $D(^TMP($J,""HLMAP"",""E"",+Y))"
|
---|
123 | D ^DIC
|
---|
124 | Q $S(+Y>0:+Y,1:"")
|
---|
125 | ;
|
---|
126 | ASKDATE(IEN776) ;
|
---|
127 | ; DATESEL -- req
|
---|
128 | N DATE,DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
129 | S DIR(0)="DA",DIR("A")="Select monitor RUN DATE: "
|
---|
130 | S X=$$FMTE^XLFDT($O(^TMP($J,"HLMAP","E",+IEN776,DATESEL-.000001))) I X]"" S DIR("B")=X
|
---|
131 | ASKDATE1 ;
|
---|
132 | S DIR("?")="Enter one of the ""run dates"" for this monitor. (Enter ?? to see list of run dates.)"
|
---|
133 | S DIR("??")="^D ASKDHELP^HLEVREP1"
|
---|
134 | D ^DIR
|
---|
135 | QUIT:$D(DIRUT)!($D(DTOUT))!($D(DUOUT)) "" ;->
|
---|
136 | QUIT:$D(^TMP($J,"HLMAP","E",+IEN776,+Y)) +Y ;->
|
---|
137 | D ASKDHELP
|
---|
138 | G ASKDATE1 ;->
|
---|
139 | ;
|
---|
140 | ASKDHELP ; Help for $$ASKDATE...
|
---|
141 | W !!,"You must enter one of the following dates. Data exists for... "
|
---|
142 | W !!
|
---|
143 | S DATE=0
|
---|
144 | F S DATE=$O(^TMP($J,"HLMAP","E",IEN776,DATE)) Q:DATE'>0 D
|
---|
145 | . S DATE(1)=$$FMTE^XLFDT(DATE)
|
---|
146 | . W:$X>70 !
|
---|
147 | . W $J(DATE(1),15)
|
---|
148 | W !
|
---|
149 | Q
|
---|
150 | ;
|
---|
151 | ASKONE(IEN776,IENDATE) ;
|
---|
152 | ; Defines and returns LASTONE...
|
---|
153 | N DATA,DATE,DIR,DIRUT,DTOUT,DUOUT,HOLD,IEN,LAST,NEXT,NO,STAT,X,Y
|
---|
154 | ;
|
---|
155 | ; Find entries and build DIR string...
|
---|
156 | S NO=0,IEN=0,DIR(0)="SO^"
|
---|
157 | F S IEN=$O(^TMP($J,"HLMAP","E",+IEN776,+IENDATE,IEN)) Q:'IEN D
|
---|
158 | . S DATA=$G(^HLEV(776,+IEN,0)) QUIT:DATA']"" ;->
|
---|
159 | . S NO=NO+1
|
---|
160 | . S DATE=$P(DATA,U),STAT=$$STAT776^HLEVREP3($P(DATA,U,4))
|
---|
161 | . S HOLD(NO)=IEN_U_DATE
|
---|
162 | . S DATE(DATE)=IEN_U_STAT
|
---|
163 | . S DIR(0)=DIR(0)_$S(DIR(0)'="SO^":";",1:"")_NO_":"_$TR($$FMTE^XLFDT(DATE),":",".")_" ["_$P(STAT,U,2)_"]"
|
---|
164 | QUIT:NO'>0 "" ;->
|
---|
165 | QUIT:NO=1 +HOLD(1)_U_1 ;->
|
---|
166 | ;
|
---|
167 | W !!,"This monitor was run more than once on the date you selected. Please select"
|
---|
168 | W !,"specific run time now..."
|
---|
169 | S NEXT=$S($G(LASTONE)'>0:1,1:LASTONE+1),NEXT=$S($D(HOLD(NEXT)):NEXT,1:"")
|
---|
170 | S DIR("A")="Select RUN TIME"
|
---|
171 | I NEXT S DIR("B")=NEXT
|
---|
172 | D ^DIR
|
---|
173 | ;
|
---|
174 | QUIT:'$D(HOLD(+$G(X))) "" ;-> User answered by entering number...
|
---|
175 | ;
|
---|
176 | S LASTONE=+X ; Used for DIR("B") later...
|
---|
177 | ;
|
---|
178 | Q +HOLD(+X)_U_NO
|
---|
179 | ;
|
---|
180 | EOR ;HLEVREP3 - Event Monitor REPORTS ;5/16/03 14:42
|
---|