| 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
|
---|