1 | HLCSRPT3 ;ISC-SF/RAH-TRANS LOG MESSAGE SEARCH ;08/24/99 08:09
|
---|
2 | ;;1.6;HEALTH LEVEL SEVEN;**50,57**;Oct 13, 1995
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ADVSRCH ; Entry point for message search. (from HLCSRPT)
|
---|
6 | S (HLCSLS,HLSCES,HLCSSC)=0
|
---|
7 | D GETTIME Q:$D(STOP)
|
---|
8 | D DT2IEN Q:$D(STOP)
|
---|
9 | D STATCHK Q:$D(STOP)
|
---|
10 | D LNKSRCH Q:$D(STOP)
|
---|
11 | D EVNSRCH Q:$D(STOP)
|
---|
12 | D SEARCH
|
---|
13 | D EXIT
|
---|
14 | S STOP=1
|
---|
15 | Q
|
---|
16 | GETTIME ;
|
---|
17 | W @IOF,! S HLCSHDR="Start/Stop Time Selection" D HLCSBAR
|
---|
18 | GETSTART ;
|
---|
19 | W !!," Enter START Date and Time. Date is required.",!
|
---|
20 | S DIR(0)="D^::AEPSTX",DIR("?")="^D HELP^%DTC",DIR("B")="T"
|
---|
21 | D ^DIR S:$D(DIRUT)!(X="") STOP=1 I $D(STOP) K DIR,X,Y Q
|
---|
22 | I Y'["." S Y=Y_".000001"
|
---|
23 | S HLCSST=Y K DIR,X,Y
|
---|
24 | GETEND ;
|
---|
25 | W !!," Enter END Date and Time. Date is required.",!
|
---|
26 | S DIR(0)="D^::AESTX",DIR("?")="^D HELP^%DTC",DIR("B")="NOW"
|
---|
27 | D ^DIR S:$D(DIRUT)!(X="") STOP=1 I $D(STOP) K DIR,X,Y Q
|
---|
28 | I Y'["." S Y=Y_".235959"
|
---|
29 | S HLCSET=Y K DIR,X,Y
|
---|
30 | Q
|
---|
31 | ;
|
---|
32 | DT2IEN ;
|
---|
33 | ;set variable to HLCSST-.0000001
|
---|
34 | ;$O thru ^HL(772,"B",dt)
|
---|
35 | ;get ien from "B" xref.
|
---|
36 | ; that's starting value for $O(^HLMA("B",772ien,ien))
|
---|
37 | S HLCSI=HLCSST-.0000001
|
---|
38 | S HLCSI=$O(^HL(772,"B",HLCSI))
|
---|
39 | I HLCSI="" S STOP=1 W !!,HLCSNREC,!! S DIR(0)="E" D ^DIR K DIR Q
|
---|
40 | S HLCSJ=0 S HLCSJ=$O(^HL(772,"B",HLCSI,HLCSJ))
|
---|
41 | S HLCSST=HLCSJ
|
---|
42 | ;set variable to HLCSET+.0000001
|
---|
43 | ;reverse $O thru ^HL(772,"B",dt)
|
---|
44 | ;get ien fron "B" xref.
|
---|
45 | ;that's ending value for the $O thru ^HLMA("B"
|
---|
46 | S HLCSI=HLCSET+.0000001
|
---|
47 | S HLCSI=$O(^HL(772,"B",HLCSI),-1)
|
---|
48 | S HLCSJ="Z" S HLCSJ=$O(^HL(772,"B",HLCSI,HLCSJ),-1)
|
---|
49 | S HLCSET=HLCSJ
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | DISPLAY ; common display method
|
---|
53 | ; clean-up here
|
---|
54 | S HLCSPTR=$P(^TMP("TLOG",$J,1)," "),HLCSK=$O(^HLMA("C",HLCSPTR,0))
|
---|
55 | S HLCSPTR=+$P($G(^HLMA(+HLCSK,0)),U)
|
---|
56 | I VERS22'="YES" D DOCLIST^DDBR("^TMP($J,""LIST"")","NR")
|
---|
57 | E D BROWSE^DDBR("^TMP(""TLOG"",$J)","NA",HLCSTITL)
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | SEARCH ;
|
---|
61 | W !!," . . . PLEASE WAIT, THIS CAN TAKE AWHILE . . .",!
|
---|
62 | S HLCSI=HLCSST-.1 S HLCSLN=0
|
---|
63 | F I=HLCSST:1:HLCSET S HLCSI=$O(^HLMA("B",HLCSI)) Q:HLCSI>HLCSET!(HLCSI="") D
|
---|
64 | . S HLCSN=HLCSI,HLCSJ=0 F S HLCSJ=$O(^HLMA("B",HLCSI,HLCSJ)) Q:(HLCSJ="") D
|
---|
65 | .. Q:'$D(^HLMA(HLCSJ,0)) S HLCSX=^(0),HLCSDTP=$P($G(^("S")),U)
|
---|
66 | .. ;must have a status
|
---|
67 | .. Q:'$G(^HLMA(HLCSJ,"P")) S HLCSSTC=$P(^("P"),U)
|
---|
68 | .. ;check for only one status, if not the status we want, quit
|
---|
69 | .. I HLCSSC=1,(HLCSTSTC'=HLCSSTC) Q
|
---|
70 | .. S HLCSLINK=$P(HLCSX,U,7) S HLCSLNK=" "
|
---|
71 | .. I HLCSLINK'="",($D(^HLCS(870,HLCSLINK,0))) S HLCSLNK=$P(^HLCS(870,HLCSLINK,0),U,1)
|
---|
72 | .. S HLCSEVN1=$P(HLCSX,U,13) I HLCSEVN1'="",($D(^HL(771.2,HLCSEVN1,0))) S HLCSEVN1=$P(^HL(771.2,HLCSEVN1,0),U,1)
|
---|
73 | .. S HLCSEVN2=$P(HLCSX,U,14) I HLCSEVN2'="",($D(^HL(779.001,HLCSEVN2,0))) S HLCSEVN2=$P(^HL(779.001,HLCSEVN2,0),U,1)
|
---|
74 | .. I HLCSEVN1="" S HLCSEVN1=" "
|
---|
75 | .. I HLCSEVN2="" S HLCSEVN2=" "
|
---|
76 | .. I $L(HLCSEVN1)<3 S HLCSEVN1=HLCSEVN1_" ",HLCSEVN1=$E(HLCSEVN1,1,3)
|
---|
77 | .. I $L(HLCSEVN2)<3 S HLCSEVN2=HLCSEVN2_" ",HLCSEVN2=$E(HLCSEVN2,1,3)
|
---|
78 | .. S HLCSEVN=HLCSEVN1_":"_HLCSEVN2
|
---|
79 | .. I HLCSLS>0,(HLCSTLNK'=HLCSLNK) Q
|
---|
80 | .. I HLCSES>0,(HLCSES1=1)&(HLCSTEV1'=HLCSEVN1) Q
|
---|
81 | .. I HLCSES>0,(HLCSES2=2)&(HLCSTEV2'=HLCSEVN2) Q
|
---|
82 | .. I HLCSSC=1,(HLCSTSTC'=HLCSSTC) Q
|
---|
83 | .. D FORMAT
|
---|
84 | .. Q
|
---|
85 | . Q
|
---|
86 | I '$D(^TMP("TLOG",$J,1)) W !!,HLCSNREC,!! S DIR(0)="E" D ^DIR K DIR Q
|
---|
87 | I VERS22'="YES" S HLCSTITL="IEN RECORD # MESSAGE ID # Log Link Msg:Evn IO Sndg Apl Rcvr Apl HDR"
|
---|
88 | E S HLCSTITL="MESSAGE ID # D/T Entered Log Link Msg:Evn IO Sndg Apl Rcvr Apl "
|
---|
89 | I VERS22'="YES" D FAKR^HLCSRPT1
|
---|
90 | D DISPLAY K ^TMP("TLOG",$J)
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | LNKSRCH ; Report all messages on A logical link between start and end date/time
|
---|
94 | W ! ;S HLCSHDR="Logical Link Selection" D HLCSBAR
|
---|
95 | S DIR(0)="PAO^870:AERO",DIR("A")="Select Logical Link for Report: ALL//"
|
---|
96 | D ^DIR S:($D(DUOUT)!$D(DTOUT)) STOP=1 Q:$D(STOP)
|
---|
97 | I X'="",(Y=-1) W !,X_" NOT VALID " K X,Y G LNKSRCH
|
---|
98 | I X="" S HLCSLS=0 K DIR,X,Y Q
|
---|
99 | S HLCSLNK=$P(Y,U,2),HLCSTLNK=HLCSLNK K DIR,X,Y
|
---|
100 | S HLCSLS=1
|
---|
101 | Q
|
---|
102 | ;
|
---|
103 | EVNSRCH ; Reports matching Message and Event Types for a logical link.
|
---|
104 | W ! ;S HLCSHDR="Message/Event Type Search" D HLCSBAR
|
---|
105 | S HLCSES1=1,HLCSES2=2
|
---|
106 | S DIR(0)="PAO^771.2:AEO",DIR("A")="Select Message Type for Report: ALL//"
|
---|
107 | D ^DIR S:$D(DUOUT)!($D(DTOUT)) STOP=1 Q:$D(STOP)
|
---|
108 | I X'="",(Y=-1) W !,X_" NOT VALID " K X,Y G EVNSRCH
|
---|
109 | I X="" S Y="^",HLCSES1=0
|
---|
110 | S HLCSTEV1=$P(Y,U,2) K DIR,X,Y
|
---|
111 | W !
|
---|
112 | S DIR(0)="PAO^779.001:AEO",DIR("A")="Select Event Type for Report: ALL//"
|
---|
113 | D ^DIR S:$D(DUOUT)!($D(DTOUT)) STOP=1 Q:$D(STOP)
|
---|
114 | I X'="",(Y=-1) W !,X_" NOT VALID " K X,Y G EVNSRCH
|
---|
115 | I X="" S Y="^",HLCSES2=0
|
---|
116 | S HLCSTEV2=$P(Y,U,2) K DIR,X,Y
|
---|
117 | I HLCSTEV1="" S HLCSTEV1=" "
|
---|
118 | I HLCSTEV2="" S HLCSTEV2=" "
|
---|
119 | S HLCSTEVN=HLCSTEV1_":"_HLCSTEV2,HLCSES=+HLCSES1+(+HLCSES2)
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | STATCHK ; Determine whether a specific stauts is desired.
|
---|
123 | W @IOF,! S HLCSHDR="Message Criteria for Search" D HLCSBAR
|
---|
124 | S HLCSSC=1
|
---|
125 | S DIR(0)="PAO^771.6:AEO",DIR("A")="Select Status Code for Report: ALL//"
|
---|
126 | D ^DIR S:$D(DUOUT)!($D(DTOUT)) STOP=1 Q:$D(STOP)
|
---|
127 | I X'="",(Y=-1) W !,X_" NOT VALID " K DIR,X,Y G STATCHK
|
---|
128 | I X="" S Y="^",HLCSSC=0 K DIR,X,Y Q
|
---|
129 | S HLCSTAT=$P(Y,U,2),HLCSTSTC=$P(Y,U,1)
|
---|
130 | K DIR,X,Y
|
---|
131 | Q
|
---|
132 | FORMAT ; Format a report line
|
---|
133 | S HLCSY=""
|
---|
134 | S HLCSRNO=HLCSJ,SPACE20=" "
|
---|
135 | I VERS22'="YES" D
|
---|
136 | . S HLCSRNO=HLCSRNO_SPACE20 S HLCSRNO=$E(HLCSRNO,1,14) S HLCSY=HLCSRNO_" "
|
---|
137 | . S HLCSMID=$P(HLCSX,U,2),HLCSMX=HLCSMID,HLCSPTR=$P(HLCSX,U,1)
|
---|
138 | . S HLCSMID=HLCSMID_SPACE20 S HLCSMID=$E(HLCSMID,1,20)
|
---|
139 | . S HLCSY=HLCSY_HLCSMID_" "
|
---|
140 | I VERS22="YES" D
|
---|
141 | . S HLCSMID=$P(HLCSX,U,2),HLCSMX=HLCSMID,HLCSPTR=$P(HLCSX,U,1)
|
---|
142 | . S HLCSMID="$.%$CREF$^TMP($J,""MESSAGE"","_HLCSRNO_")$CREF$^"_HLCSMX_"$.%"
|
---|
143 | . S Y=$L(HLCSMX),X=$E(SPACE20,1,20-Y) S HLCSMID=HLCSMID_X K X,Y
|
---|
144 | . S HLCSY=HLCSMID_" "
|
---|
145 | . S HLCSDTE=$P(HLCSX,U,1)
|
---|
146 | . S HLCSDTE=$P(^HL(772,HLCSDTE,0),U,1)
|
---|
147 | . S YR=$E(HLCSDTE,2,3),MO=$E(HLCSDTE,4,5),DAY=$E(HLCSDTE,6,7)
|
---|
148 | . S HLCSDTE=MO_DAY_YR_"."_$P(HLCSDTE,".",2)
|
---|
149 | . S HLCSDTE=HLCSDTE_SPACE20,HLCSDTE=$E(HLCSDTE,1,14)
|
---|
150 | . S HLCSY=HLCSY_HLCSDTE_" "
|
---|
151 | S HLCSY=HLCSY_$E(HLCSLNK_SPACE20,1,10)_" "
|
---|
152 | S HLCSY=HLCSY_HLCSEVN_" "
|
---|
153 | S HLCSTYP=$P(HLCSX,U,3) S:HLCSTYP="O" HLCSTYP="OT" S:HLCSTYP="I" HLCSTYP="IN"
|
---|
154 | S HLCSY=HLCSY_$E(HLCSTYP_SPACE20,1,2)_" "
|
---|
155 | S HLCSSRVR=$P(HLCSX,U,11) I HLCSSRVR'="" S HLCSSRVR=$P(^HL(771,HLCSSRVR,0),U,1)
|
---|
156 | S HLCSY=HLCSY_$E(HLCSSRVR_SPACE20,1,8)_" "
|
---|
157 | S HLCSCLNT=$P(HLCSX,U,12) I HLCSCLNT'="" S HLCSCLNT=$P(^HL(771,HLCSCLNT,0),U,1)
|
---|
158 | S HLCSY=HLCSY_$E(HLCSCLNT_SPACE20,1,8)
|
---|
159 | S HLCSLN=HLCSLN+1
|
---|
160 | I VERS22'="YES" S HLCSY=HLCSY_" " I $D(^HLMA(HLCSJ,"MSH",1,0)) S HLCSY=HLCSY_^HLMA(HLCSJ,"MSH",1,0)
|
---|
161 | S ^TMP("TLOG",$J,HLCSLN)=HLCSY
|
---|
162 | I VERS22="YES" S ^TMP($J,"MESSAGE",HLCSJ)="$XC$^D SHOWMSG^HLCSRPT1("_HLCSJ_","_HLCSPTR_")$XC$^MESSAGE"
|
---|
163 | Q
|
---|
164 | ;
|
---|
165 | HLCSBAR ; Center Title on Top Line of Screen
|
---|
166 | W RVON,?(80-$L(HLCSHDR)\2),HLCSHDR,$E(SPACE,$X,77),RVOFF,!
|
---|
167 | Q
|
---|
168 | ;
|
---|
169 | EXIT ;
|
---|
170 | Q
|
---|
171 | ;
|
---|