Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: KMPPS45

KMPPS45.m

Go to the documentation of this file.
KMPPS45 ;SP/JML - KMP*4*5 POST INSTALL ROUTINE ;7/1/2025
 ;;4.0;CAPACITY MANAGEMENT;**5**;3/1/2018;Build 9
 ;
 ;
 ;
PRE ;
 ; stop current KMP monitors
 W !,"Stopping Monitors"
 N KMPMKEY
 S KMPMKEY=""
 F  S KMPMKEY=$O(^KMPV(8969,"B",KMPMKEY)) Q:KMPMKEY=""  D
 .D STOPMON^KMPVCBG(KMPMKEY,1,1)
 ; set deprecated fields to null
 S DA=0,DIE=8969
 F  S DA=$O(^KMPV(8969,DA)) Q:+DA=0  D
 .S DR="1.07///@" D ^DIE
 .S DR="1.08///@" D ^DIE
 .S DR="3.01///@" D ^DIE
 .S DR="3.03///@" D ^DIE
 ; Delete current utility class if it exists
 I ##class(%Dictionary.CompiledClass).%ExistsId("KMP.Utilities") D $System.OBJ.Delete("KMP.Utilities")
 ; create new class
 S KMP=##class(%Dictionary.ClassDefinition).%New()
 S KMP.Name="KMP.Utilities"
 S KMP.Super="%RegisteredObject"
 ; Roles
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="getRoles"
 S MDEF.ReturnType="%String"
 D ROLES^KMPPS45B(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ; Total Buffers
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="getTotalBuffers"
 S MDEF.ReturnType="%String"
 D TOTBUFF^KMPPS45B(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ; List Buffers
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="getBuffers"
 S MDEF.ReturnType="%ArrayOfDataTypes"
 D LISTBUFF^KMPPS45B(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ; CPF
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="getCPF"
 S MDEF.FormalSpec="&CPFHEAD"
 S MDEF.ReturnType="%ArrayOfDataTypes"
 D CPF^KMPPS45B(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ; toArray
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="toArray"
 S MDEF.FormalSpec="&KMPOBJ"
 S MDEF.ReturnType="%ArrayOfDataTypes"
 D TOARRAY^KMPPS45B(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 D KMP.%Save()
 D $system.OBJ.Compile("KMP.Utilities","ck")
 Q
 ;
POST ;
 N %DT,DA,DIC,DIE,DIK,DR,X,Y,KMP,MDEF,XDATA,KMPDATE,KMPKEY,KMPMON,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=""/CprsKill"" Method=""GET"" Call=""CprsKillG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetConfig"" Method=""GET"" Call=""GetConfigG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetCPF"" Method=""GET"" Call=""GetCPFG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetCprsLog"" Method=""GET"" Call=""GetCprsLogG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetCprsList"" Method=""GET"" Call=""GetCprsListG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetGlobuff"" Method=""GET"" Call=""GetGlobuffG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetHttpMetrics"" Method=""GET"" Call=""GetHttpMetricsG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetNode"" Method=""GET"" Call=""GetNodeG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetOps"" Method=""GET"" Call=""GetOpsG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetRetryData"" Method=""GET"" Call=""GetRetryDataG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetRunLog"" Method=""GET"" Call=""GetRunLogG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/KillData"" Method=""GET"" Call=""KillDataG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/StartMonitor"" Method=""GET"" Call=""StartMonG"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/StopMonitor"" Method=""GET"" Call=""StopMonG"" />")
 D XDATA.Data.WriteLine("")
 D XDATA.Data.WriteLine("    <Route Url=""/CprsKill"" Method=""POST"" Call=""CprsKillP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetConfig"" Method=""POST"" Call=""GetConfigP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetCprsLog"" Method=""POST"" Call=""GetCprsLogP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetCprsList"" Method=""POST"" Call=""GetCprsListP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetError"" Method=""POST"" Call=""GetErrorP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetHttpMetrics"" Method=""POST"" Call=""GetHttpMetricsP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetOps"" Method=""POST"" Call=""GetOpsP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetPackages"" Method=""POST"" Call=""GetPackagesP""/>")
 D XDATA.Data.WriteLine("    <Route Url=""/GetPatientList"" Method=""POST"" Call=""GetPatientListP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/GetRunLog"" Method=""POST"" Call=""GetRunLogP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/Retry"" Method=""POST"" Call=""RetryP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/SetConfig"" Method=""POST"" Call=""SetConfigP"" />")
 D XDATA.Data.WriteLine("")
 D XDATA.Data.WriteLine("    <Route Url=""/ImAlive"" Method=""POST"" Call=""ImAliveP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/SynthFile"" Method=""POST"" Call=""SynthFileP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/SynthRcmd"" Method=""POST"" Call=""SynthRcmdP"" />")
 D XDATA.Data.WriteLine("    <Route Url=""/SynthVpr"" Method=""POST"" Call=""SynthVprP"" />")
 D XDATA.Data.WriteLine("  </Routes>")
 D KMP.XDatas.Insert(XDATA)
 ;
 ; CprsKillG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="CprsKillG"
 S MDEF.ReturnType="%Status"
 D CPRSKILLG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetConfigG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetConfigG"
 S MDEF.ReturnType="%Status"
 D GETCONFIGG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetCprsLogG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetCprsLogG"
 S MDEF.ReturnType="%Status"
 D GETCPRSLOGG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetCprsListG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetCprsListG"
 S MDEF.ReturnType="%Status"
 D GETCPRSLISTG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetCPFG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetCPFG"
 S MDEF.ReturnType="%Status"
 D GETCPFG^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetNodeG()
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetNodeG"
 S MDEF.ReturnType="%Status"
 D GETNODEG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetOpsG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetOpsG"
 S MDEF.ReturnType="%Status"
 D GETOPSG^KMPPS45A(.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 GETRETRYG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetRunLogG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetRunLogG"
 S MDEF.ReturnType="%Status"
 D GETRUNLOGG^KMPPS45A(.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^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; StartMonG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="StartMonG"
 S MDEF.ReturnType="%Status"
 D STARTMONG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; StopMonG
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="StopMonG"
 S MDEF.ReturnType="%Status"
 D STOPMONG^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ;
 ; CprsKillP
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="CprsKillP"
 S MDEF.ReturnType="%Status"
 D CPRSKILLP^KMPPS45A(.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^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetCprsLogP
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetCprsLogP"
 S MDEF.ReturnType="%Status"
 D GETCPRSLOGP^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetCprsListP
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetCprsListP"
 S MDEF.ReturnType="%Status"
 D GETCPRSLISTP^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GetOpsP
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetOpsP"
 S MDEF.ReturnType="%Status"
 D GETOPSP^KMPPS45A(.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 GETPACKP^KMPPS45A(.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 GETPLISTP^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 ; GETRUNLOGP
 S MDEF=##class(%Dictionary.MethodDefinition).%New()
 S MDEF.ClassMethod=1
 S MDEF.Name="GetRunLogP"
 S MDEF.ReturnType="%Status"
 D GETRUNLOGP^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.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^KMPPS45A(.MDEF)
 D KMP.Methods.Insert(MDEF)
 ;
 D KMP.%Save()
 D $system.OBJ.Compile("KMP.VistaSystemMonitor","ck")
 ;
 ; Set new INSTALL DATE value
 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=".05///"_KMPDATE D ^DIE
 ;
 ; Set the new COVER SHEET EXPIRATION value for VCSM
 S DA=$O(^KMPV(8969,"B","VCSM",""))
 S DR="1.1///86400"
 D ^DIE
 ;
 ; Set new FUTURE TASK CHECK value for VMCM
 S DA=$O(^KMPV(8969,"B","VMCM",""))
 S DR="5.01///R2TERM1 AUTO DEAC:XUAUTODEACTIVATE"
 D ^DIE
 ; Phone home
 S KMPSINF=$$SITEINFO^KMPVCCFG()
 S KMPSC=$P(KMPSINF,"^",5)
 S KMPTEXT("SUBJECT")="VSM Patch KMP*4*5 Loaded: "_KMPSC
 D INFOMSG^KMPUTLW(.KMPTEXT)
 Q