Changeset 623 for WorldVistAEHR/trunk/r/HEALTH_LEVEL_SEVEN-HL/HLOUSR.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/HEALTH_LEVEL_SEVEN-HL/HLOUSR.m
r613 r623 1 HLOUSR ;ALB/CJM -ListManager Screen for viewing system status;12 JUN 1997 10:00 am ;07/30/2007 2 ;;1.6;HEALTH LEVEL SEVEN;**126,130,134,137**;Oct 13, 1995;Build 21 3 ;Per VHA Directive 2004-038, this routine should not be modified. 4 ; 5 EN ; 6 ; 7 N HLSCREEN,TESTOPEN,HLRFRSH,HLPARMS 8 D WAIT^DICD 9 D EN^VALM("HLO SYSTEM MONITOR") 10 Q 11 ; 12 BRIEF ; 13 N COUNT,LINK,QUE,FROM,TIME,STATUS,TEMP,DIR,TODAY,LIST 14 S HLRFRSH="BRIEF^HLOUSR" 15 S (HLSCREEN,VALMSG)="Brief System Status" 16 S VALMCNT=16 17 ;K @VALMAR 18 D CLEAN^VALM10 19 S VALMBG=1 20 S VALMBCK="R" 21 S VALMDDF("COL 1")="COL1^1^80^" 22 K VALMDDF("COL 2"),VALMDDF("COL 3"),VALMDDF("COL 4"),VALMDDF("COL 5") 23 D CHGCAP^VALM("COL 1"," Brief Operational Overview") 24 S @VALMAR@(1,0)="SYSTEM STATUS: "_$S($$CHKSTOP^HLOPROC:"STOPPED",1:"RUNNING") 25 S @VALMAR@(2,0)="PROCESS MANAGER: "_$S($$RUNNING:"RUNNING",1:"STOPPED") 26 ; 27 S TIME=$P($G(TESTOPEN("LISTENER")),"^",2) 28 I TIME,$$FMDIFF^XLFDT($$NOW^XLFDT,TIME,2)<300 D 29 .S STATUS=+TESTOPEN("LISTENER") 30 E D 31 .S STATUS=0 32 .S LINK=$P($G(^HLD(779.1,1,0)),"^",10) 33 .I LINK S LINK=$P($G(^HLCS(870,LINK,0)),"^") Q:'$L(LINK) S STATUS=$$IFOPEN^HLOUSR1(LINK) 34 .S TESTOPEN("LISTENER")=STATUS_"^"_$$NOW^XLFDT 35 ; 36 S @VALMAR@(3,0)="STANDARD LISTENER: "_$S(STATUS:"OPERATIONAL",1:"NOT OPERATIONAL") 37 ; 38 S @VALMAR@(4,0)="TASKMAN: "_$S($$TM^%ZTLOAD:"RUNNING",1:"NOT RUNNING") 39 ; 40 S (LIST,LINK)="" 41 F S LINK=$O(^HLTMP("FAILING LINKS",LINK)) Q:LINK="" D I $L(LIST)>60 S LIST=LIST_",..." Q 42 .N TIME,QUE,LINKARY 43 .I $$GETLINK^HLOTLNK($P(LINK,":"),.LINKARY) 44 .S TIME=$G(^HLTMP("FAILING LINKS",LINK)) Q:TIME="" 45 .I '$G(LINKARY("SHUTDOWN")),TIME="" Q 46 .I '$G(LINKARY("SHUTDOWN")),($$HDIFF^XLFDT($H,TIME,2)<300) Q 47 .S LIST=LIST_$S($L(LIST):", ",1:"")_$P(LINK,":") 48 S @VALMAR@(5,0)="DOWN LINKS: "_LIST 49 S @VALMAR@(6,0)="CLIENT LINK PROCESSES: "_+$G(^HLC("HL7 PROCESS COUNTS","RUNNING","OUTGOING CLIENT LINK")) 50 S @VALMAR@(7,0)="IN-FILER PROCESSES: "_+$G(^HLC("HL7 PROCESS COUNTS","RUNNING","INCOMING QUEUES")) 51 S COUNT=0,LINK="" 52 F S LINK=$O(^HLC("QUEUECOUNT","OUT",LINK)) Q:LINK="" D 53 .S QUE="" 54 .F S QUE=$O(^HLC("QUEUECOUNT","OUT",LINK,QUE)) Q:QUE="" D 55 ..S TEMP=$G(^HLC("QUEUECOUNT","OUT",LINK,QUE)) 56 ..S:TEMP>0 COUNT=COUNT+TEMP 57 S @VALMAR@(8,0)="MESSAGES PENDING ON OUT QUEUES: "_$$RJ(+COUNT,7)_" ON SEQUENCE QUEUES: "_$$RJ(+$G(^HLC("QUEUECOUNT","SEQUENCE")),7) 58 S TEMP="STOPPED OUTGOING QUEUES: " 59 S COUNT=0,QUE="" 60 F S QUE=$O(^HLTMP("STOPPED QUEUES","OUT",QUE)) Q:QUE="" S COUNT=COUNT+1 Q:COUNT>4 S:COUNT=1 TEMP=TEMP_QUE S:"23"[COUNT TEMP=TEMP_"; "_QUE S:COUNT=4 TEMP=TEMP_" ..." 61 S @VALMAR@(9,0)=TEMP 62 S COUNT=0,QUE="" 63 F S QUE=$O(^HLC("QUEUECOUNT","IN",QUE)) Q:QUE="" D 64 .S FROM="" 65 .F S FROM=$O(^HLC("QUEUECOUNT","IN",QUE,FROM)) Q:FROM="" D 66 ..S TEMP=$G(^HLC("QUEUECOUNT","IN",QUE,FROM)) 67 ..S:TEMP>0 COUNT=COUNT+TEMP 68 S @VALMAR@(10,0)="MESSAGES PENDING ON APPLICATIONS: "_$$RJ(+COUNT,7) 69 S TEMP="STOPPED INCOMING QUEUES: " 70 S COUNT=0,QUE="" 71 F S QUE=$O(^HLTMP("STOPPED QUEUES","IN",QUE)) Q:QUE="" S COUNT=COUNT+1 Q:COUNT>4 S:COUNT=1 TEMP=TEMP_QUE S:"23"[COUNT TEMP=TEMP_"; "_QUE S:COUNT=4 TEMP=TEMP_" ..." 72 S @VALMAR@(11,0)=TEMP 73 S @VALMAR@(12,0)="FILE 777 RECORD COUNT: "_$$RJ($P($G(^HLTMP("FILE 777 RECORD COUNT")),"^"),10)_" --> as of "_$$FMTE^XLFDT($P($G(^HLTMP("FILE 777 RECORD COUNT")),"^",2)) 74 S @VALMAR@(13,0)="FILE 778 RECORD COUNT: "_$$RJ($P($G(^HLTMP("FILE 778 RECORD COUNT")),"^"),10)_" --> as of "_$$FMTE^XLFDT($P($G(^HLTMP("FILE 778 RECORD COUNT")),"^",2)) 75 S TODAY=$$DT^XLFDT 76 S @VALMAR@(14,0)="MESSAGES SENT TODAY: "_$$RJ($$ADD("OUT"),10) 77 S @VALMAR@(15,0)="MESSAGES RECEIVED TODAY: "_$$RJ($$ADD("IN"),10) 78 S @VALMAR@(16,0)="MESSAGE ERRORS TODAY: "_$$RJ($$ADD("EOUT")+$$ADD("EIN"),10) 79 Q 80 ADD(DIR) ; 81 N RAP,SAP,TIME,TOTAL 82 S TOTAL=0 83 S TIME=TODAY-.0001 84 F S TIME=$O(^HLSTATS(DIR,"HOURLY",TIME)) Q:'TIME Q:((TIME\1)>TODAY) D 85 .S SAP="" 86 .F S SAP=$O(^HLSTATS(DIR,"HOURLY",TIME,SAP)) Q:SAP="" D 87 ..Q:SAP="ACCEPT ACK" 88 ..S RAP="" 89 ..F S RAP=$O(^HLSTATS(DIR,"HOURLY",TIME,SAP,RAP)) Q:RAP="" D 90 ...S TYPE="" 91 ...F S TYPE=$O(^HLSTATS(DIR,"HOURLY",TIME,SAP,RAP,TYPE)) Q:TYPE="" D 92 ....S TOTAL=TOTAL+$G(^HLSTATS(DIR,"HOURLY",TIME,SAP,RAP,TYPE)) 93 Q TOTAL 94 ; 95 HELP ; 96 S X="?" D DISP^XQORM1 W !! 97 Q 98 ; 99 EXIT ; 100 D CLEAN^VALM10 101 D CLEAR^VALM1 102 Q 103 ; 104 EXPND ; 105 Q 106 ; 107 PROCS ; 108 S HLRFRSH="PROCS^HLOUSR" 109 ;K @VALMAR 110 D CLEAN^VALM10 111 S VALMCNT=0 112 S VALMBCK="R" 113 S VALMDDF("COL 1")="COL1^1^34^" 114 S VALMDDF("COL 2")="COL 2^35^10^MIN^H" 115 S VALMDDF("COL 3")="COL 3^47^10^MAX^H" 116 S VALMDDF("COL 4")="COL 4^59^10^#RUNNING^H" 117 S VALMDDF("COL 5")="COL 5^71^10^#QUEUED^IOBON" 118 D CHGCAP^VALM("COL 1","Process Type") 119 N IEN 120 S IEN=0 121 F S IEN=$O(^HLD(779.3,"C",1,IEN)) Q:'IEN D 122 .N PROC 123 .Q:'$$GETPROC^HLOPROC1(IEN,.PROC) 124 .Q:PROC("NAME")="VMS TCP LISTENER" 125 .S VALMCNT=VALMCNT+1 126 .S @VALMAR@(VALMCNT,0)=$$LJ(PROC("NAME"),30)_$$RJ(PROC("MINIMUM"),6)_$$RJ(PROC("MAXIMUM"),12)_$$RJ(+$G(^HLC("HL7 PROCESS COUNTS","RUNNING",PROC("NAME"))),14)_$$RJ(+$G(^HLC("HL7 PROCESS COUNTS","QUEUED",PROC("NAME"))),12) 127 S VALMCNT=VALMCNT+1,@VALMAR@(VALMCNT,0)="" 128 S IEN="" 129 F S IEN=$O(^HLTMP("HL7 RUNNING PROCESSES",IEN)) Q:IEN="" D 130 .N NODE 131 .S NODE=$G(^HLTMP("HL7 RUNNING PROCESSES",IEN)) 132 .Q:NODE="" 133 .S VALMCNT=VALMCNT+1 134 .S @VALMAR@(VALMCNT,0)="$J: "_$$LJ(IEN,9)_" ->"_$$CJ($P(NODE,"^",3),28)_"<- started at "_$$HTE^XLFDT($P(NODE,"^")) 135 Q 136 ; 137 OUTQUEUE ; 138 N LINK 139 D CLEAN^VALM10 140 ;K @VALMAR 141 S HLRFRSH="OUTQUEUE^HLOUSR" 142 S (HLSCREEN,VALMSG)="Outgoing Queues *down links !stopped queues" 143 S VALMCNT=0 144 S VALMBCK="R" 145 S VALMDDF("COL 1")="COL 1^2^20^ Link^H" 146 S VALMDDF("COL 2")="COL 2^28^20^Queue^H" 147 S VALMDDF("COL 3")="COL 3^50^20^Count^H" 148 K VALMDDF("COL 4"),VALMDDF("COL 5") 149 D CHGCAP^VALM("COL 1"," Link") 150 S LINK="" 151 F S LINK=$O(^HLC("QUEUECOUNT","OUT",LINK)) Q:LINK="" D 152 .N COUNT,QUE,SHOW 153 .S SHOW=LINK 154 .I $D(^HLTMP("FAILING LINKS",SHOW)) S SHOW="*"_SHOW 155 .S QUE="" 156 .F S QUE=$O(^HLC("QUEUECOUNT","OUT",LINK,QUE)) Q:QUE="" D 157 ..S COUNT=$G(^HLC("QUEUECOUNT","OUT",LINK,QUE)) 158 ..Q:COUNT<1 159 ..S VALMCNT=VALMCNT+1 160 ..I $E(SHOW)="*" D 161 ...S @VALMAR@(VALMCNT,0)=$$LJ(SHOW,20)_$$CJ($S($$STOPPED^HLOQUE("OUT",QUE):"!",1:"")_QUE,21)_" "_$$RJ(COUNT,10),SHOW="" 162 ...D CNTRL^VALM10(VALMCNT,1,1,IOBON,IOBOFF) 163 ..E S @VALMAR@(VALMCNT,0)=$$LJ(SHOW,20)_$$CJ($S($$STOPPED^HLOQUE("OUT",QUE):"!",1:"")_QUE,21)_" "_$$RJ(COUNT,10),SHOW="" 164 Q 165 ; 166 INQUEUE ; 167 N FROM 168 D CLEAN^VALM10 169 ;K @VALMAR 170 S HLRFRSH="INQUEUE^HLOUSR" 171 S (HLSCREEN,VALMSG)="Incoming Queues ('!' = stopped queues)" 172 S VALMCNT=0 173 S VALMBCK="R" 174 S VALMDDF("COL 1")="COL 1^1^40^ From^H" 175 S VALMDDF("COL 2")="COL 2^45^20^Queue^H" 176 S VALMDDF("COL 3")="COL 3^70^10^Count^H" 177 K VALMDDF("COL 4"),VALMDDF("COL 5") 178 D CHGCAP^VALM("COL 1"," From") 179 S FROM="" 180 F S FROM=$O(^HLC("QUEUECOUNT","IN",FROM)) Q:FROM="" D 181 .N COUNT,QUE,SHOW 182 .S SHOW=$$LJ(FROM,40)_" " 183 .S QUE="" 184 .F S QUE=$O(^HLC("QUEUECOUNT","IN",FROM,QUE)) Q:QUE="" D 185 ..S COUNT=$G(^HLC("QUEUECOUNT","IN",FROM,QUE)) 186 ..Q:COUNT<0 187 ..S VALMCNT=VALMCNT+1 188 ..S @VALMAR@(VALMCNT,0)=SHOW_$$LJ($S($$STOPPED^HLOQUE("IN",QUE):"!",1:"")_QUE,21)_" "_$$RJ(COUNT,10) 189 ..S SHOW=$$LJ("",40)_" " 190 Q 191 VIEWLINK ; 192 N C,QUIT,LINK,LINKARY,TEMP 193 S (QUIT,C,LINK)="" 194 S VALMBCK="R" 195 ; 196 ;currently HL7 (Optimized) only does TCP 197 S LINK=$$ASKLINK 198 Q:LINK="" 199 Q:'$$GETLINK^HLOTLNK(LINK,.LINKARY) 200 S LINK=LINK_":"_LINKARY("PORT") 201 W !,"Hit any key to stop...",! 202 F D Q:QUIT 203 .N COUNT,QUE 204 .S (COUNT,QUE)="" 205 .F S QUE=$O(^HLC("QUEUECOUNT","OUT",LINK,QUE)) Q:QUE="" S TEMP=$G(^HLC("QUEUECOUNT","OUT",LINK,QUE)) S:TEMP>0 COUNT=COUNT+TEMP 206 .W $C(13)," ",$C(13),"MESSAGES PENDING TRANSMISSION: ",IOBON,$$RJ(+COUNT,10),IOBOFF 207 .R *C:1 I $T S QUIT=1 208 Q 209 ; 210 CJ(STRING,LEN) ; 211 Q $$CJ^XLFSTR($E(STRING,1,LEN),LEN) 212 LJ(STRING,LEN) ; 213 Q $$LJ^XLFSTR($E(STRING,1,LEN),LEN) 214 RJ(STRING,LEN) ; 215 Q $$RJ^XLFSTR($E(STRING,1,LEN),LEN) 216 ; 217 RUNNING() ;Process Manager running? 218 N RUNNING 219 L +^HLTMP("PROCESS MANAGER"):0 220 S RUNNING='$T 221 I 'RUNNING L -^HLTMP("PROCESS MANAGER") 222 Q RUNNING 223 ; 224 TESTLINK ; 225 N LINK,LINKNAME,OK 226 S VALMBCK="R" 227 S LINKNAME=$$ASKLINK 228 Q:LINKNAME="" 229 S OK=$$IFOPEN^HLOUSR1(LINKNAME) 230 I OK W !,LINKNAME_" IS operational..." 231 E W !,LINKNAME_" is NOT operational..." 232 W !,"Hit any key to continue..." 233 R *C:DTIME 234 Q 235 ; 236 ASKLINK() ; 237 N DIC,TCP,X,Y,DTOUT,DUOUT 238 S DIC=870 239 S DIC(0)="AENQ" 240 S TCP=$O(^HLCS(869.1,"B","TCP",0)) 241 S DIC("A")="Select a TCP link:" 242 S DIC("S")="I $P(^(0),U,3)=TCP" 243 D FULL^VALM1 244 D ^DIC 245 I +Y'=-1,'$D(DTOUT),'$D(DUOUT) Q $P(Y,"^",2) 246 Q "" 247 ; 248 STOP ; 249 I '$$ASKYESNO^HLOUSR2("Are you SURE that you want to stop sending and receiving messages","NO") S VALMBCK="" Q 250 ; 251 D STOPHL7^HLOPROC1 252 S VALMBCK="R",VALMSG="HL7 (Optimized) has been stopped...." 253 H 5 254 D @HLRFRSH 255 ;D:HLSCREEN="Brief System Status" BRIEF^HLOUSR 256 ;D:HLSCREEN="Running Processes" PROCS^HLOUSR 257 Q 258 ; 259 UPDMODE ;realtime 260 Q:'$L(HLRFRSH) 261 N TOP,BOTTOM,DX,DY,IOTM,IOBM,LINE,OLD,OLDCNT 262 S OLDCNT=VALMCNT 263 W !!!!!,IOINHI,"Hit any key to escape realtime display mode...",IOINORM 264 S IOTM=20,IOBM=23 W @IOSTBM 265 S TOP=VALMBG 266 S BOTTOM=TOP+20 267 F LINE=TOP:1:BOTTOM D 268 .I LINE>VALMCNT S @VALMAR@(LINE,0)=$$LJ(" ",80) Q 269 .S @VALMAR@(LINE,0)=$$LJ(@VALMAR@(LINE,0),80) 270 F LINE=TOP:1:BOTTOM D 271 .S OLD(LINE)=@VALMAR@(LINE,0) 272 F LINE=17:1:BOTTOM D 273 .S DX=50,DY=22 X IOXY W ! 274 .D WRITE^VALM10(LINE) 275 D F R *C:4 Q:$T D 276 .D @HLRFRSH 277 .F LINE=TOP:1:BOTTOM D 278 ..I LINE>VALMCNT S @VALMAR@(LINE,0)=$$LJ(" ",80) Q 279 ..S @VALMAR@(LINE,0)=$$LJ(@VALMAR@(LINE,0),80) 280 .S VALMCNT=BOTTOM 281 .F LINE=TOP:1:BOTTOM IF OLD(LINE)'=@VALMAR@(LINE,0) D 282 ..S OLD(LINE)=@VALMAR@(LINE,0) 283 ..S DX=50,DY=22 X IOXY W ! 284 ..D WRITE^VALM10(LINE) 285 S VALMCNT=OLDCNT 286 S VALMBCK="R" 287 Q 1 HLOUSR ;ALB/CJM -ListManager Screen for viewing system status;12 JUN 1997 10:00 am ;02/07/2007 2 ;;1.6;HEALTH LEVEL SEVEN;**126,130,134**;Oct 13, 1995;Build 30 3 ;Per VHA Directive 2004-038, this routine should not be modified. 4 ; 5 EN ; 6 ; 7 N HLSCREEN,TESTOPEN,HLRFRSH 8 D WAIT^DICD 9 D EN^VALM("HLO SYSTEM MONITOR") 10 Q 11 ; 12 BRIEF ;Init variables and list array 13 N COUNT,LINK,QUE,FROM,TIME,STATUS,TEMP,DIR,TODAY,LIST 14 S HLRFRSH="BRIEF^HLOUSR" 15 S (HLSCREEN,VALMSG)="Brief System Status" 16 S VALMCNT=8 17 ;K @VALMAR 18 D CLEAN^VALM10 19 S VALMBG=1 20 S VALMBCK="R" 21 K VALMDDF("COL 2"),VALMDDF("COL 3"),VALMDDF("COL 4"),VALMDDF("COL 5") 22 D CHGCAP^VALM("COL 1","Brief Operational Overview") 23 S @VALMAR@(1,0)="SYSTEM STATUS: "_$S($$CHKSTOP^HLOPROC:"STOPPED",1:"RUNNING") 24 S @VALMAR@(2,0)="PROCESS MANAGER: "_$S($$RUNNING:"RUNNING",1:"STOPPED") 25 ; 26 S TIME=$P($G(TESTOPEN("LISTENER")),"^",2) 27 I TIME,$$FMDIFF^XLFDT($$NOW^XLFDT,TIME,2)<300 D 28 .S STATUS=+TESTOPEN("LISTENER") 29 E D 30 .S STATUS=0 31 .S LINK=$P($G(^HLD(779.1,1,0)),"^",10) 32 .I LINK S LINK=$P($G(^HLCS(870,LINK,0)),"^") Q:'$L(LINK) S STATUS=$$IFOPEN^HLOUSR1(LINK) 33 .S TESTOPEN("LISTENER")=STATUS_"^"_$$NOW^XLFDT 34 ; 35 S @VALMAR@(3,0)="STANDARD LISTENER: "_$S(STATUS:"OPERATIONAL",1:"NOT OPERATIONAL") 36 ; 37 S @VALMAR@(4,0)="TASKMAN: "_$S($$TM^%ZTLOAD:"RUNNING",1:"NOT RUNNING") 38 ; 39 S (LIST,LINK)="" 40 F S LINK=$O(^HLTMP("FAILING LINKS",LINK)) Q:LINK="" D I $L(LIST)>60 S LIST=LIST_",..." Q 41 .N TIME,QUE,LINKARY 42 .I $$GETLINK^HLOTLNK($P(LINK,":"),.LINKARY) 43 .S TIME=$G(^HLTMP("FAILING LINKS",LINK)) Q:TIME="" 44 .I '$G(LINKARY("SHUTDOWN")),TIME="" Q 45 .I '$G(LINKARY("SHUTDOWN")),($$HDIFF^XLFDT($H,TIME,2)<300) Q 46 .S LIST=LIST_$S($L(LIST):", ",1:"")_$P(LINK,":") 47 S @VALMAR@(5,0)="DOWN LINKS: "_LIST 48 S @VALMAR@(6,0)="CLIENT LINK PROCESSES: "_+$G(^HLC("HL7 PROCESS COUNTS","RUNNING","OUTGOING CLIENT LINK")) 49 S @VALMAR@(7,0)="IN-FILER PROCESSES: "_+$G(^HLC("HL7 PROCESS COUNTS","RUNNING","INCOMING QUEUES")) 50 S COUNT=0,LINK="" 51 F S LINK=$O(^HLC("QUEUECOUNT","OUT",LINK)) Q:LINK="" D 52 .S QUE="" 53 .F S QUE=$O(^HLC("QUEUECOUNT","OUT",LINK,QUE)) Q:QUE="" D 54 ..S TEMP=$G(^HLC("QUEUECOUNT","OUT",LINK,QUE)) 55 ..S:TEMP>0 COUNT=COUNT+TEMP 56 S @VALMAR@(8,0)="MESSAGES PENDING TRANSMISSION: "_+COUNT 57 S TEMP="STOPPED OUTGOING QUEUES: " 58 S COUNT=0,QUE="" 59 F S QUE=$O(^HLTMP("STOPPED QUEUES","OUT",QUE)) Q:QUE="" S COUNT=COUNT+1 Q:COUNT>4 S:COUNT=1 TEMP=TEMP_QUE S:"23"[COUNT TEMP=TEMP_"; "_QUE S:COUNT=4 TEMP=TEMP_" ..." 60 S @VALMAR@(9,0)=TEMP 61 S COUNT=0,QUE="" 62 F S QUE=$O(^HLC("QUEUECOUNT","IN",QUE)) Q:QUE="" D 63 .S FROM="" 64 .F S FROM=$O(^HLC("QUEUECOUNT","IN",QUE,FROM)) Q:FROM="" D 65 ..S TEMP=$G(^HLC("QUEUECOUNT","IN",QUE,FROM)) 66 ..S:TEMP>0 COUNT=COUNT+TEMP 67 S @VALMAR@(10,0)="MESSAGES PENDING ON APPLICATIONS: "_+COUNT 68 S TEMP="STOPPED INCOMING QUEUES: " 69 S COUNT=0,QUE="" 70 F S QUE=$O(^HLTMP("STOPPED QUEUES","IN",QUE)) Q:QUE="" S COUNT=COUNT+1 Q:COUNT>4 S:COUNT=1 TEMP=TEMP_QUE S:"23"[COUNT TEMP=TEMP_"; "_QUE S:COUNT=4 TEMP=TEMP_" ..." 71 S @VALMAR@(11,0)=TEMP 72 S @VALMAR@(12,0)="FILE 777 RECORD COUNT: "_$$RJ($P($G(^HLTMP("FILE 777 RECORD COUNT")),"^"),10)_" --> as of "_$$FMTE^XLFDT($P($G(^HLTMP("FILE 777 RECORD COUNT")),"^",2)) 73 S @VALMAR@(13,0)="FILE 778 RECORD COUNT: "_$$RJ($P($G(^HLTMP("FILE 778 RECORD COUNT")),"^"),10)_" --> as of "_$$FMTE^XLFDT($P($G(^HLTMP("FILE 778 RECORD COUNT")),"^",2)) 74 S TODAY=$$DT^XLFDT 75 S @VALMAR@(14,0)="MESSAGES SENT TODAY: "_$$RJ($$ADD("OUT"),10) 76 S @VALMAR@(15,0)="MESSAGES RECEIVED TODAY: "_$$RJ($$ADD("IN"),10) 77 S @VALMAR@(16,0)="MESSAGE ERRORS TODAY: "_$$RJ($$ADD("EOUT")+$$ADD("EIN"),10) 78 Q 79 ADD(DIR) ; 80 N RAP,SAP,TIME,TOTAL 81 S TOTAL=0 82 S TIME=TODAY-.0001 83 F S TIME=$O(^HLSTATS(DIR,"HOURLY",TIME)) Q:'TIME Q:((TIME\1)>TODAY) D 84 .S SAP="" 85 .F S SAP=$O(^HLSTATS(DIR,"HOURLY",TIME,SAP)) Q:SAP="" D 86 ..Q:SAP="ACCEPT ACK" 87 ..S RAP="" 88 ..F S RAP=$O(^HLSTATS(DIR,"HOURLY",TIME,SAP,RAP)) Q:RAP="" D 89 ...S TYPE="" 90 ...F S TYPE=$O(^HLSTATS(DIR,"HOURLY",TIME,SAP,RAP,TYPE)) Q:TYPE="" D 91 ....S TOTAL=TOTAL+$G(^HLSTATS(DIR,"HOURLY",TIME,SAP,RAP,TYPE)) 92 Q TOTAL 93 ; 94 HELP ;Help code 95 S X="?" D DISP^XQORM1 W !! 96 Q 97 ; 98 EXIT ;Exit code 99 D CLEAN^VALM10 100 D CLEAR^VALM1 101 ; 102 Q 103 ; 104 EXPND ;Expand code 105 Q 106 ; 107 PROCS ; 108 S HLRFRSH="PROCS^HLOUSR" 109 ;K @VALMAR 110 D CLEAN^VALM10 111 S VALMCNT=0 112 S VALMBCK="R" 113 S VALMDDF("COL 2")="COL 2^35^10^MIN^H" 114 S VALMDDF("COL 3")="COL 3^47^10^MAX^H" 115 S VALMDDF("COL 4")="COL 4^59^10^#RUNNING^H" 116 S VALMDDF("COL 5")="COL 5^71^10^#QUEUED^IOBON" 117 D CHGCAP^VALM("COL 1","Process Type") 118 N IEN 119 S IEN=0 120 F S IEN=$O(^HLD(779.3,"C",1,IEN)) Q:'IEN D 121 .N PROC 122 .Q:'$$GETPROC^HLOPROC1(IEN,.PROC) 123 .Q:PROC("NAME")="VMS TCP LISTENER" 124 .S VALMCNT=VALMCNT+1 125 .S @VALMAR@(VALMCNT,0)=$$LJ(PROC("NAME"),30)_$$RJ(PROC("MINIMUM"),6)_$$RJ(PROC("MAXIMUM"),12)_$$RJ(+$G(^HLC("HL7 PROCESS COUNTS","RUNNING",PROC("NAME"))),14)_$$RJ(+$G(^HLC("HL7 PROCESS COUNTS","QUEUED",PROC("NAME"))),12) 126 S VALMCNT=VALMCNT+1,@VALMAR@(VALMCNT,0)="" 127 S IEN="" 128 F S IEN=$O(^HLTMP("HL7 RUNNING PROCESSES",IEN)) Q:IEN="" D 129 .N NODE 130 .S NODE=$G(^HLTMP("HL7 RUNNING PROCESSES",IEN)) 131 .Q:NODE="" 132 .S VALMCNT=VALMCNT+1 133 .S @VALMAR@(VALMCNT,0)="$J: "_$$LJ(IEN,9)_" ->"_$$CJ($P(NODE,"^",3),28)_"<- started at "_$$HTE^XLFDT($P(NODE,"^")) 134 Q 135 ; 136 OUTQUEUE ; 137 N LINK 138 D CLEAN^VALM10 139 ;K @VALMAR 140 S HLRFRSH="OUTQUEUE^HLOUSR" 141 S (HLSCREEN,VALMSG)="Outgoing Queues *down links !stopped queues" 142 S VALMCNT=0 143 S VALMBCK="R" 144 S VALMDDF("COL 1")="COL 1^2^20^ Link^H" 145 S VALMDDF("COL 2")="COL 2^28^20^Queue^H" 146 S VALMDDF("COL 3")="COL 3^50^20^Count^H" 147 K VALMDDF("COL 4"),VALMDDF("COL 5") 148 D CHGCAP^VALM("COL 1"," Link") 149 S LINK="" 150 F S LINK=$O(^HLC("QUEUECOUNT","OUT",LINK)) Q:LINK="" D 151 .N COUNT,QUE,SHOW 152 .S SHOW=LINK 153 .I $D(^HLTMP("FAILING LINKS",SHOW)) S SHOW="*"_SHOW 154 .S QUE="" 155 .F S QUE=$O(^HLC("QUEUECOUNT","OUT",LINK,QUE)) Q:QUE="" D 156 ..S COUNT=$G(^HLC("QUEUECOUNT","OUT",LINK,QUE)) 157 ..Q:COUNT<1 158 ..S VALMCNT=VALMCNT+1 159 ..I $E(SHOW)="*" D 160 ...S @VALMAR@(VALMCNT,0)=$$LJ(SHOW,20)_$$CJ($S($$STOPPED^HLOQUE("OUT",QUE):"!",1:"")_QUE,21)_" "_$$RJ(COUNT,10),SHOW="" 161 ...D CNTRL^VALM10(VALMCNT,1,1,IOBON,IOBOFF) 162 ..E S @VALMAR@(VALMCNT,0)=$$LJ(SHOW,20)_$$CJ($S($$STOPPED^HLOQUE("OUT",QUE):"!",1:"")_QUE,21)_" "_$$RJ(COUNT,10),SHOW="" 163 Q 164 ; 165 INQUEUE ; 166 N FROM 167 D CLEAN^VALM10 168 ;K @VALMAR 169 S HLRFRSH="INQUEUE^HLOUSR" 170 S (HLSCREEN,VALMSG)="Incoming Queues ('!' = stopped queues)" 171 S VALMCNT=0 172 S VALMBCK="R" 173 S VALMDDF("COL 1")="COL 1^1^40^ From^H" 174 S VALMDDF("COL 2")="COL 2^45^20^Queue^H" 175 S VALMDDF("COL 3")="COL 3^70^10^Count^H" 176 K VALMDDF("COL 4"),VALMDDF("COL 5") 177 D CHGCAP^VALM("COL 1"," From") 178 S FROM="" 179 F S FROM=$O(^HLC("QUEUECOUNT","IN",FROM)) Q:FROM="" D 180 .N COUNT,QUE,SHOW 181 .S SHOW=$$LJ(FROM,40)_" " 182 .S QUE="" 183 .F S QUE=$O(^HLC("QUEUECOUNT","IN",FROM,QUE)) Q:QUE="" D 184 ..S COUNT=$G(^HLC("QUEUECOUNT","IN",FROM,QUE)) 185 ..Q:COUNT<0 186 ..S VALMCNT=VALMCNT+1 187 ..S @VALMAR@(VALMCNT,0)=SHOW_$$LJ($S($$STOPPED^HLOQUE("IN",QUE):"!",1:"")_QUE,21)_" "_$$RJ(COUNT,10) 188 ..S SHOW=$$LJ("",40)_" " 189 Q 190 VIEWLINK ; 191 N C,QUIT,LINK,LINKARY,TEMP 192 S (QUIT,C,LINK)="" 193 S VALMBCK="R" 194 ; 195 ;currently HL7 (Optimized) only does TCP, when serial added a change is needed here 196 S LINK=$$ASKLINK 197 Q:LINK="" 198 Q:'$$GETLINK^HLOTLNK(LINK,.LINKARY) 199 S LINK=LINK_":"_LINKARY("PORT") 200 W !,"Hit any key to stop...",! 201 F D Q:QUIT 202 .N COUNT,QUE 203 .S (COUNT,QUE)="" 204 .F S QUE=$O(^HLC("QUEUECOUNT","OUT",LINK,QUE)) Q:QUE="" S TEMP=$G(^HLC("QUEUECOUNT","OUT",LINK,QUE)) S:TEMP>0 COUNT=COUNT+TEMP 205 .W $C(13)," ",$C(13),"MESSAGES PENDING TRANSMISSION: ",IOBON,$$RJ(+COUNT,10),IOBOFF 206 .R *C:1 I $T S QUIT=1 207 Q 208 ; 209 CJ(STRING,LEN) ; 210 Q $$CJ^XLFSTR($E(STRING,1,LEN),LEN) 211 LJ(STRING,LEN) ; 212 Q $$LJ^XLFSTR($E(STRING,1,LEN),LEN) 213 RJ(STRING,LEN) ; 214 Q $$RJ^XLFSTR($E(STRING,1,LEN),LEN) 215 ; 216 RUNNING() ;Is the Process Manager running? 217 N RUNNING 218 L +^HLTMP("PROCESS MANAGER"):0 219 S RUNNING='$T 220 I 'RUNNING L -^HLTMP("PROCESS MANAGER") 221 Q RUNNING 222 ; 223 TESTLINK ; 224 N LINK,LINKNAME,OK 225 S VALMBCK="R" 226 S LINKNAME=$$ASKLINK 227 Q:LINKNAME="" 228 S OK=$$IFOPEN^HLOUSR1(LINKNAME) 229 I OK W !,LINKNAME_" IS operational..." 230 E W !,LINKNAME_" is NOT operational..." 231 W !,"Hit any key to continue..." 232 R *C:DTIME 233 Q 234 ; 235 ASKLINK() ; 236 N DIC,TCP,X,Y,DTOUT,DUOUT 237 S DIC=870 238 S DIC(0)="AENQ" 239 S TCP=$O(^HLCS(869.1,"B","TCP",0)) 240 S DIC("A")="Select a TCP link:" 241 S DIC("S")="I $P(^(0),U,3)=TCP" 242 D FULL^VALM1 243 D ^DIC 244 I +Y'=-1,'$D(DTOUT),'$D(DUOUT) Q $P(Y,"^",2) 245 Q "" 246 ; 247 STOP ; 248 I '$$ASKYESNO^HLOUSR2("Are you SURE that you want to stop sending and receiving messages","NO") S VALMBCK="" Q 249 ; 250 D STOPHL7^HLOPROC1 251 S VALMBCK="R",VALMSG="HL7 (Optimized) has been stopped...." 252 H 5 253 D @HLRFRSH 254 ;D:HLSCREEN="Brief System Status" BRIEF^HLOUSR 255 ;D:HLSCREEN="Running Processes" PROCS^HLOUSR 256 Q 257 ; 258 UPDMODE ;update mode 259 Q:'$L(HLRFRSH) 260 N QUIT,NEW,TOP,BOTTOM,DX,DY,IOTM,IOBM,I 261 W !!,IOINHI,"Hit any key to escape realtime display mode...",IOINORM 262 S IOTM=3,IOBM=23 263 W @IOSTBM 264 S DX=1,DY=$S(VALMCNT<17:VALMCNT+1,1:17) X IOXY 265 I VALMCNT>16 F I=17:1:$S(VALMCNT<22:VALMCNT,1:21) W !,@VALMAR@(I,0) 266 S QUIT=0 267 S TOP=VALMBG 268 S BOTTOM=TOP+23 269 S OLD=VALMAR 270 S VALMAR="NEW" 271 S VALMCNT=0 272 F D Q:QUIT 273 .N LINE 274 .R *C:3 I $T S QUIT=1 275 .S (VALMCNT,I)=0 276 .D @HLRFRSH 277 .F LINE=TOP:1:BOTTOM IF $G(@OLD@(LINE,0))'=$G(@VALMAR@(LINE,0)) D 278 ..S:'$D(@VALMAR@(LINE,0)) @VALMAR@(LINE,0)=" " 279 ..D WRITE^VALM10(LINE) 280 K @OLD M @OLD=@VALMAR S VALMAR=OLD 281 S VALMBCK="R" 282 Q
Note:
See TracChangeset
for help on using the changeset viewer.