1 | RGMTMONT ;BIR/CML,PTD-MPI/PD Monitor HL7 Messaging/Filers and Setups ;07/30/02
|
---|
2 | ;;1.0;CLINICAL INFO RESOURCE NETWORK;**20,30,31,34**;30 Apr 99
|
---|
3 | ;
|
---|
4 | ;Reference to OPTION SCHEDULING (#19.2) file supported by IA #3599
|
---|
5 | ;Reference to ^DPT("AICNL" supported by IA #2070
|
---|
6 | ;Reference to $$SEND^VAFHUTL for file DG(43 supported by IA #2624
|
---|
7 | ;Reference to ^HLCS(870 supported by IA #3335
|
---|
8 | ;Reference to $$STAT^HLCSLM supported by IA #3574
|
---|
9 | ;Reference to ^DIA(2 and data derived from the AUDIT file (#1.1)
|
---|
10 | ;supported by IA #2097 and #2602.
|
---|
11 | ;
|
---|
12 | EN1 ;Call this routine from the top to do extended checks that include:
|
---|
13 | ;- D HLMA1^RGMTUT98
|
---|
14 | ;- D EN2^RGMTMONT
|
---|
15 | ;- D ^RGMTMONX
|
---|
16 | ;
|
---|
17 | I $D(RGHLMQ) Q
|
---|
18 | ;
|
---|
19 | S DEV=0,EN=1 G START
|
---|
20 | ;
|
---|
21 | DEV ;call used by developers to display ^RGMTMONX call
|
---|
22 | S DEV=1,EN=2
|
---|
23 | ;
|
---|
24 | START ;
|
---|
25 | S CLUP=1
|
---|
26 | W @IOF,"Logical Link Monitor:",!,"=====================",!
|
---|
27 | D HLMA1^RGMTUT98
|
---|
28 | S DIR(0)="E" D D ^DIR K DIR
|
---|
29 | .S SS=22-$Y F JJ=1:1:SS W !
|
---|
30 | I $D(DIRUT) G QUIT
|
---|
31 | ;
|
---|
32 | D EN2
|
---|
33 | S DIR(0)="E" D D ^DIR K DIR
|
---|
34 | .S SS=22-$Y F JJ=1:1:SS W !
|
---|
35 | I $D(DIRUT) G QUIT
|
---|
36 | ;
|
---|
37 | I $G(EN)'=1 D ^RGMTMONX
|
---|
38 | ;
|
---|
39 | K EN,DEV G QUIT
|
---|
40 | ;
|
---|
41 | EN2 ;Monitor Background Job - VAFC BATCH UPDATE
|
---|
42 | ;Monitor Background Job - MPIF LOC/MIS ICN RES
|
---|
43 | ;Check MAS PARAMETER file, field SEND PIMS HL7 V2.3 MESSAGES
|
---|
44 | ;if call is being made from HL7 query, variable RGHLMQ will be defined
|
---|
45 | S ^XTMP("RGMT",0)=$$FMADD^XLFDT(DT,30)_"^"_$$NOW^XLFDT_"^MPI/PD Maintenance Data"
|
---|
46 | K ^XTMP("RGMT","HLMQMONT")
|
---|
47 | I '$D(DEV) S DEV=0
|
---|
48 | S LOCSITE=$P($$SITE^VASITE(),"^",3)
|
---|
49 | I $D(RGHLMQ) D
|
---|
50 | .D NOW^%DTC
|
---|
51 | .S ^XTMP("RGMT","HLMQMONT",LOCSITE,"@@ RUNDATE")=$$FMTE^XLFDT($E(%,1,12))
|
---|
52 | I '$D(RGHLMQ) W @IOF,"MPI/PD Process Monitor:",!,"======================="
|
---|
53 | S TXTCNT=0
|
---|
54 | N BKDA,CUR,MSG,SCHDA,SEND,TIME
|
---|
55 | CHK1 ;
|
---|
56 | S TXT="Checking VAFC BATCH UPDATE background job..." D TXT
|
---|
57 | D PIV^RGMTUT98
|
---|
58 | S TXTCNT=3
|
---|
59 | ;
|
---|
60 | S DIC="^DIC(19,",X="VAFC BATCH UPDATE" D ^DIC K DIC S BKDA=+Y
|
---|
61 | I BKDA<0 S TXT="=> VAFC BATCH UPDATE does not exist in OPTION file." D TXT K BKDA G CHK2
|
---|
62 | S TXT="=> VAFC BATCH UPDATE is not currently scheduled to run."
|
---|
63 | S DIC="^DIC(19.2,",X="VAFC BATCH UPDATE" D ^DIC K DIC S SCHDA=+Y
|
---|
64 | I SCHDA<0 D TXT K BKDA,TXT,SCHDA G CHK2
|
---|
65 | S TIME=$$GET1^DIQ(19.2,SCHDA_",",2)
|
---|
66 | I TIME="" D TXT K BKDA,TXT,SCHDA,TIME G CHK2
|
---|
67 | S TXT="=> VAFC BATCH UPDATE scheduled to run "_$$FMTE^XLFDT(TIME)_"."
|
---|
68 | D TXT
|
---|
69 | D NOW^%DTC
|
---|
70 | S DAY=$E(%,1,7)
|
---|
71 | ;
|
---|
72 | CHK2 ;
|
---|
73 | S TXT="" D TXT
|
---|
74 | ;
|
---|
75 | S ICN=0,CNT=0
|
---|
76 | F S ICN=$O(^DPT("AICNL",1,ICN)) Q:'ICN S CNT=CNT+1
|
---|
77 | S TXT="Checking MPIF LOC/MIS ICN RES background job... (Total Local ICNs = "_CNT_")"
|
---|
78 | D TXT
|
---|
79 | ;
|
---|
80 | S DIC="^DIC(19,",X="MPIF LOC/MIS ICN RES" D ^DIC K DIC S BKDA=+Y
|
---|
81 | I BKDA<0 S TXT="=> MPIF LOC/MIS ICN RES does not exist in OPTION file." D TXT K BKDA G CHK2A
|
---|
82 | S TXT="=> MPIF LOC/MIS ICN RES is not currently scheduled to run."
|
---|
83 | S DIC="^DIC(19.2,",X="MPIF LOC/MIS ICN RES" D ^DIC K DIC S SCHDA=+Y
|
---|
84 | I SCHDA<0 D TXT K BKDA,SCHDA G CHK2A
|
---|
85 | S TIME=$$GET1^DIQ(19.2,SCHDA_",",2)
|
---|
86 | I TIME="" D TXT K BKDA,SCHDA,TIME G CHK2A
|
---|
87 | S TXT="=> MPIF LOC/MIS ICN RES is scheduled to run "_$$FMTE^XLFDT(TIME)_"."
|
---|
88 | D TXT
|
---|
89 | ;
|
---|
90 | CHK2A ;check for time local/missing job was last run
|
---|
91 | S TIME=$P($G(^RGSITE(991.8,1,0)),"^",4) I TIME'="" D
|
---|
92 | .S TIME=$$FMTE^XLFDT(TIME)
|
---|
93 | .S TXT="=> MPIF LOC/MIS ICN RES was last run "_TIME_"."
|
---|
94 | .D TXT
|
---|
95 | ;
|
---|
96 | CHK3 ;Check to see if .01 field in patient file has auditing turned on
|
---|
97 | S TXT="" D TXT
|
---|
98 | D FIELD^DID(2,.01,"","AUDIT","PATAUD")
|
---|
99 | S PATAUD=$G(PATAUD("AUDIT")) I PATAUD="" S PATAUD="NOT SET"
|
---|
100 | S PATAUD="<<"_PATAUD_">>"
|
---|
101 | S TXT="=> Audit on NAME (#.01) field of PATIENT (#2) file set to "_PATAUD
|
---|
102 | D TXT
|
---|
103 | K PATAUD
|
---|
104 | ;
|
---|
105 | CHK5 ;
|
---|
106 | S TXT="" D TXT
|
---|
107 | ;
|
---|
108 | S TXT="Checking SEND Parameters for HL7 messaging..."
|
---|
109 | D TXT
|
---|
110 | ;
|
---|
111 | S SEND=$P($$SEND^VAFHUTL,"^",2)
|
---|
112 | S CUR=$S(SEND=1:"SEND MESSAGES",SEND=0:"STOP MESSAGES",SEND=2:"SUSPEND MESSAGES",1:"NULL")
|
---|
113 | S TXT="=> SEND PIMS HL7 V2.3 MESSAGES currently set to << "_CUR_" >>."
|
---|
114 | D TXT
|
---|
115 | ;
|
---|
116 | S TXT="=> STOP MPI/PD MESSAGING currently set to "
|
---|
117 | S SEND=$P($G(^RGSITE(991.8,1,1)),"^",6)
|
---|
118 | S CUR=$S(SEND=1:"SEND MESSAGES",SEND=0:"STOP MESSAGES",SEND=2:"SUSPEND MESSAGES",1:"NULL")
|
---|
119 | S TXT="=> STOP MPI/PD MESSAGING currently set to << "_CUR_" >>."
|
---|
120 | D TXT
|
---|
121 | ;
|
---|
122 | CHK6 ;
|
---|
123 | K RGMT
|
---|
124 | S LOC=$P($$SITE^VASITE(),"^")
|
---|
125 | D LINK^HLUTIL3(LOC,.RGMT)
|
---|
126 | S LOCIEN=$O(RGMT(0))
|
---|
127 | I 'LOCIEN D G QUIT
|
---|
128 | .S TXT="^DIC(4,""AC"" xref problem. Check ^DIC(4,""AC"",,"_LOC
|
---|
129 | .D TXT
|
---|
130 | S LOCLINK=RGMT(LOCIEN)
|
---|
131 | ;
|
---|
132 | S TXT="" D TXT
|
---|
133 | ;
|
---|
134 | S TXT="Checking SHUTDOWN LLP? field and TCP/IP SERVICE TYPE for "_LOCLINK_"..."
|
---|
135 | D TXT
|
---|
136 | ;
|
---|
137 | S CUR=$$GET1^DIQ(870,LOCIEN_",",14)
|
---|
138 | S TXT="=> SHUTDOWN LLP? currently set to << "_CUR_" >>."
|
---|
139 | D TXT
|
---|
140 | ;
|
---|
141 | S CUR=$$GET1^DIQ(870,LOCIEN_",",400.03)
|
---|
142 | S TXT="=> TCP/IP SERVICE TYPE currently set to << "_CUR_" >>."
|
---|
143 | D TXT
|
---|
144 | ;
|
---|
145 | ;check MPIVA for LLP TYPE
|
---|
146 | S DIC="^HLCS(870,",X="MPIVA" D ^DIC K DIC S MPILL=+Y
|
---|
147 | S CUR=$$GET1^DIQ(870,MPILL_",",2)
|
---|
148 | S TXT="=> Logical Link MPIVA currently set to << "_CUR_" >>."
|
---|
149 | D TXT
|
---|
150 | ;
|
---|
151 | ;check to see if Link Manager is running
|
---|
152 | S LMSTAT=$$STAT^HLCSLM
|
---|
153 | S CUR=$S('LMSTAT:"NOT RUNNING",1:"RUNNING")
|
---|
154 | S TXT="=> HL LINK MANAGER is currently << "_CUR_" >>."
|
---|
155 | D TXT
|
---|
156 | ;
|
---|
157 | FLDLIST ;capture fields being audited
|
---|
158 | I $D(RGHLMQ) D
|
---|
159 | .S AUDCNT=0
|
---|
160 | .S ^XTMP("RGMT","HLMQMONT",LOCSITE,"AUDIT",0)="Compiled: "_$$FMTE^XLFDT($$NOW^XLFDT)
|
---|
161 | .S FLDLP=0 F S FLDLP=$O(^DD(2,"AUDIT",FLDLP)) Q:'FLDLP D
|
---|
162 | ..S AUDCNT=AUDCNT+1
|
---|
163 | ..K RGARR D FIELD^DID(2,FLDLP,"","LABEL","RGARR")
|
---|
164 | ..S FLDNM=$G(RGARR("LABEL")) Q:FLDNM=""
|
---|
165 | ..S ^XTMP("RGMT","HLMQMONT",LOCSITE,"AUDIT",AUDCNT)=FLDLP_"^"_FLDNM
|
---|
166 | ;
|
---|
167 | I $D(CLUP),$D(DIRUT) Q
|
---|
168 | ;
|
---|
169 | QUIT ;
|
---|
170 | K %,BKDA,CLUP,CNT,CUR,DAY,DIR,DIRUT,ICN,JJ,LMSTAT,LOC,LOCIEN,LOCLINK
|
---|
171 | K LOCSITE,MPILL,MSG,PATAUD,RGHLMQ,RGMT,SCHDA,SEND,SS,TIME,TXT,TXTCNT,X,Y
|
---|
172 | K AUDCNT,FLDLP,RGARR,FLDNM
|
---|
173 | Q
|
---|
174 | ;
|
---|
175 | TXT ;
|
---|
176 | S TXTCNT=TXTCNT+1
|
---|
177 | I '$D(RGHLMQ) W !,TXT
|
---|
178 | I $D(RGHLMQ) S ^XTMP("RGMT","HLMQMONT",LOCSITE,TXTCNT)=TXT
|
---|
179 | Q
|
---|