KMPPS44 ;SP/JML - KMP*4*4 POST INSTALL ROUTINE ;11/1/2023
;;4.0;CAPACITY MANAGEMENT;**4**;3/1/2018;Build 36
;
;
PRE ;
; stop current KMP monitors
W !,"Stopping Monitors"
D STOPALL^KMPVCBG
; Delete field values being modified
N DIE,DA,DR,KMPKEY,KMPFIELD
S DIE=8969
S KMPKEY=""
F S KMPKEY=$O(^KMPV(8969,"B",KMPKEY)) Q:KMPKEY="" D
.S DA=$O(^KMPV(8969,"B",KMPKEY,""))
.F KMPFIELD=1.05,1.06 D
..S DR=KMPFIELD_"///@"
..D ^DIE
Q
;
POST ;
N %DT,DA,DIC,DIE,DIK,DR,X,Y,KMP,MDEF,XDATA,KMPDATE,KMPKEY,KMPSC,KMPSINF,KMPTEXT
; Delete original class to get any changes compiled
I ##class(%Dictionary.CompiledClass).%ExistsId("KMP.VistaSystemMonitor") D $System.OBJ.Delete("KMP.VistaSystemMonitor")
; create new class
S KMP=##class(%Dictionary.ClassDefinition).%New()
S KMP.Name="KMP.VistaSystemMonitor"
S KMP.Super="%CSP.REST"
S KMP.ProcedureBlock=1
; XDATA - Url Map
S XDATA=##class(%Dictionary.XDataDefinition).%New()
S XDATA.Name="UrlMap"
D XDATA.Data.WriteLine(" <Routes>")
D XDATA.Data.WriteLine(" <Route Url=""/GetNode"" Method=""GET"" Call=""GetNodeG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetConfiguration"" Method=""GET"" Call=""GetConfigurationG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetHttpMetrics"" Method=""GET"" Call=""GetHttpMetricsG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/KillData"" Method=""GET"" Call=""KillDataG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/StartMonitor"" Method=""GET"" Call=""StartMonitorG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/StopMonitor"" Method=""GET"" Call=""StopMonitorG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetRetryData"" Method=""GET"" Call=""GetRetryDataG"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetGlobuff"" Method=""GET"" Call=""GetGlobuffG"" />")
D XDATA.Data.WriteLine("")
D XDATA.Data.WriteLine(" <Route Url=""/GetConfig"" Method=""POST"" Call=""GetConfigP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/SetConfig"" Method=""POST"" Call=""SetConfigP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetError"" Method=""POST"" Call=""GetErrorP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetCtmLog"" Method=""POST"" Call=""GetCtmLogP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetPatientList"" Method=""POST"" Call=""GetPatientListP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/Retry"" Method=""POST"" Call=""RetryP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/GetPackages"" Method=""POST"" Call=""GetPackagesP""/>")
D XDATA.Data.WriteLine(" <Route Url=""/GetHttpMetrics"" Method=""POST"" Call=""GetHttpMetricsP"" />")
D XDATA.Data.WriteLine("")
D XDATA.Data.WriteLine(" <Route Url=""/ImAlive"" Method=""POST"" Call=""ImAliveP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/SynthRcmd"" Method=""POST"" Call=""SynthRcmdP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/SynthFile"" Method=""POST"" Call=""SynthFileP"" />")
D XDATA.Data.WriteLine(" <Route Url=""/SynthVpr"" Method=""POST"" Call=""SynthVprP"" />")
D XDATA.Data.WriteLine(" </Routes>")
D KMP.XDatas.Insert(XDATA)
; GetNodeG()
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetNodeG"
S MDEF.ReturnType="%Status"
D GETNODEG^KMPPS44A(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetConfigurationG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetConfigurationG"
S MDEF.ReturnType="%Status"
D GETCONFIGG^KMPPS44A(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetHttpMetricsG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetHttpMetricsG"
S MDEF.ReturnType="%Status"
D GETHTTPG^KMPPS44A(.MDEF)
D KMP.Methods.Insert(MDEF)
; KillDataG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="KillDataG"
S MDEF.ReturnType="%Status"
D KILLDATAG^KMPPS44A(.MDEF)
D KMP.Methods.Insert(MDEF)
; StartMonitorG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="StartMonitorG"
S MDEF.ReturnType="%Status"
D STARTMONG^KMPPS44A(.MDEF)
D KMP.Methods.Insert(MDEF)
; StopMonitorG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="StopMonitorG"
S MDEF.ReturnType="%Status"
D STOPMONG^KMPPS44C(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetRetryDataG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetRetryDataG"
S MDEF.ReturnType="%Status"
D GETRETRYDATAG^KMPPS44A(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetGlobuffG
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetGlobuffG"
S MDEF.ReturnType="%Status"
D GETGLOBUFFG^KMPPS44C(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetConfigP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetConfigP"
S MDEF.ReturnType="%Status"
D GETCONFIGP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; SetConfigP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="SetConfigP"
S MDEF.ReturnType="%Status"
D SETCONFIGP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetErrorP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetErrorP"
S MDEF.ReturnType="%Status"
D GETERRORP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetCtmLogP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetCtmLogP"
S MDEF.ReturnType="%Status"
D GETCTMLOGP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetPatientListP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetPatientListP"
S MDEF.ReturnType="%Status"
D GETPATLISTP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; RetryP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="RetryP"
S MDEF.ReturnType="%Status"
D RETRYP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetPackagesP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetPackagesP"
S MDEF.ReturnType="%Status"
D GETPACKAGESP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; GetHttpMetricsP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="GetHttpMetricsP"
S MDEF.ReturnType="%Status"
D GETHTTPP^KMPPS44B(.MDEF)
D KMP.Methods.Insert(MDEF)
; ImAliveP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="ImAliveP"
S MDEF.ReturnType="%Status"
D IMALIVEP^KMPPS44C(.MDEF)
D KMP.Methods.Insert(MDEF)
; SynthRcmdP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="SynthRcmdP"
S MDEF.ReturnType="%Status"
D SYNTHRCMDP^KMPPS44C(.MDEF)
D KMP.Methods.Insert(MDEF)
; SynthFileP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="SynthFileP"
S MDEF.ReturnType="%Status"
D SYNTHFILEP^KMPPS44C(.MDEF)
D KMP.Methods.Insert(MDEF)
; SynthVprP
S MDEF=##class(%Dictionary.MethodDefinition).%New()
S MDEF.ClassMethod=1
S MDEF.Name="SynthVprP"
S MDEF.ReturnType="%Status"
D SYNTHVPRP^KMPPS44C(.MDEF)
D KMP.Methods.Insert(MDEF)
;
D KMP.%Save()
D $system.OBJ.Compile("KMP.VistaSystemMonitor","ck")
;
; Set values for new fields and date
S X="T",%DT="ESTX" D ^%DT S KMPDATE=Y
S DA=0,DIE=8969
F S DA=$O(^KMPV(8969,DA)) Q:+DA=0 D
.S DR="1.05///8000000" D ^DIE
.S DR="1.06///180" D ^DIE
.S DR=".05///"_KMPDATE D ^DIE
;
; Phone home
S KMPSINF=$$SITEINFO^KMPVCCFG()
S KMPSC=$P(KMPSINF,"^",5)
S KMPTEXT("SUBJECT")="VSM Patch KMP*4*4 Loaded: "_KMPSC
D INFOMSG^KMPUTLW(.KMPTEXT)
Q