$TXT Created by VSM.CENTRAL-TEXAS.PREPROD.DOMAIN.EXT (KIDS) on Monday, 01/16/23 at 11:23 ============================================================================= Run Date: MAR 16, 2023 Designation: KMP*4*3 Package : KMP - CAPACITY MANAGEMENT Priority: Mandatory Version : 4 SEQ #3 Status: Released Compliance Date: APR 16, 2023 ============================================================================= Associated patches: (v)KMP*4*2 <<= must be installed BEFORE `KMP*4*3' Subject: VISTA SYSTEM MONITOR BUG FIXES Category: - Routine Description: ============ The purpose of patch KMP*4.0*3 is to fix a number of minor bugs in the VistA System Monitor (VSM) code. See the Problem/Resolution list for details. Patch Components: ----------------- Files & Fields Associated: File Name (Number) Field Name (Number) New/Modified/Deleted ------------------ ------------------- -------------------- N/A Forms Associated: Form Name File # New/Modified/Deleted --------- ------ -------------------- N/A Mail Groups Associated: Mail Group Name New/Modified/Deleted --------------- -------------------- N/A Options Associated: Option Name Type New/Modified/Deleted ----------- ---- -------------------- N/A Protocols Associated: Protocol Name New/Modified/Deleted ------------- -------------------- N/A Security Keys Associated: Security Key Name ----------------- N/A Templates Associated: Template Name Type File Name (Number) New/Modified/Deleted ------------- ---- ------------------ -------------------- N/A Remote Procedures Associate: Remote Procedure Name New/Modified/Deleted --------------------- -------------------- N/A Parameter Definitions Associated: Parameter Name New/Modified/Deleted -------------- -------------------- N/A Additional Information: ---------------------- Blood Bank Coordination: ------------------------ New Service Requests (NSRs): ---------------------------- N/A Patient Safety Issues (PSIs): ----------------------------- N/A Defect Tracking System Ticket(s) & Overview: ---------------------------- N/A Problem 1: --------- The class VistaSystemMonitor.cls must set the error trap manually. This was previously done incorrectly resulting in multiple entries in the error trap for a single error. Resolution 1: ------------ Add the call to UNWIND^%ZTER to the error trap setting. Problem 2: --------- REST function SynthVpr does not pass the specific patient to the GetPatient API. Resolution 2: ------------ Parse the patient information from the incoming request and pass to the GetPatient API. Problem 3: --------- Rest function SynthVpr does include clinical domains when calling the GetPatient API. Resolution 3: ------------ Add domain field to incoming request, parse and pass to the GetPatient API. Problem 4: --------- There is a need to get complete configuration data on all nodes. Resolution 4: ------------ Allow configuration message to run on front ends as well as back ends. Include the Node and NodeType in the message. Additionally, provide a GET method to retrieve configuration data to complement the existing POST method. Problem 5: --------- There are cases where an outgoing message is not acknowledged within the timeout period. By design, this causes the data to be stored for a retry the next morning. In specific cases, the data is large and causes a String Too Long error. Resolution 5: ------------ 1. Create a local error trap to catch these errors. 2. If the site does not receive a 200 status code, send an informational email. 3. If an error occurs, send an informational email. 4. Stagger the start time of the daily collection which will spread out the arrival rate of messages at the enterprise database. 5. Store HTTP response data in ^XTMP and create REST API to retrieve stored data for debug purposes if needed. Problem 6: --------- On occasion, the Error Trap data includes a "|". This character is used as a delimiter and thus can cause an error in parsing out the data. Resolution 6: ------------ If there is a "|" in the data, then replace it with the text "vertical bar". Problem 7: --------- With the previous patch (KMP*4.0*2), data is stored temporarily on each node separately. However, the daily purge routine only runs on the back end node, potentially leaving old data on the front end nodes. Resolution 7: ------------ Update the purge routine to run on each node individually. Problem 8: --------- There needs to be a mechanism to store short term and retrieve HTTP response data for monitoring and debugging purposes. Resolution 8: ------------ Store HTTP response data in ^XTMP short term and create a REST API to retrieve the data when needed. Problem 9: --------- Larger, resource constrained sites, can be impacted by the storage monitor global collection if run during primary business hours. Resolution 9: ------------ The storage monitor will now be configured to run on the 1st and 3rd Saturday of each month. This will ensure that the global collection will not take place on a workday during primary hours. Problem 10: ---------- Currently, the SSL Configuration and the Web Application classes are only created on the Back End nodes. These need to also be created on the Front End Nodes. Resolution 10: ------------- Remove the code restricting this action to Back Ends so that it will run on all nodes. Problem 11: ---------- With the remapping of ^KMPTMP to each individual node, the emergency function to delete data only works on the back end node. There is no emergency delete on the front end nodes. Resolution 11: ------------- Create an HTTP API where each node can be called to delete data. Test Sites: ---------- Boston Cleveland Hines Software and Documentation Retrieval Instructions: -------------------------------------------------- The software for this patch is being released in a PackMan message. Documentation describing the new functionality is included in this release. Documentation can be found on the VA Software Documentation Library at: https://www.domain.ext/vdl/. Documentation can also be obtained at https://download.vista.domain.ext/index.html/SOFTWARE. Documentation Title File Name -------------------------------------- Technical Manual KMP_4_3_TM.PDF KMP_4_3_TM.DOCX User Manual KMP_4_3_UM.PDF KMP_4_3_UM.DOCX Patch Installation: Pre/Post Installation Overview: ------------------------------ The Post Installation will delete and recreate the VistASystemMonitor class to handle HTTP requests. Pre-Installation Instruction: ----------------------------- This patch can be queued for installation. TaskMan does not have to be stopped, Health Level 7 (HL7) filers do not need to be stopped, the current VistA System Monitors do not need to be stopped, and users may be on the system. The patch should be installed during non-peak hours to minimize potential for disruption to users. This patch should take less than 10 minutes to install. Note: ----- A number of routines in this patch will display XINDEX errors. This is current and expected. This has been allowed by the Standards and Conventions Committee exemption 202301251506-01. Installation Instructions: -------------------------- 1. Choose the PackMan message containing this build. Then select the INSTALL/CHECK MESSAGE PackMan option to load the build. 2. From the Kernel Installation and Distribution System Menu, select the Installation Menu. From this menu, A. Select the Verify Checksums in Transport Global option to confirm the integrity of the routines that are in the transport global. When prompted for the INSTALL NAME enter the patch or build name. (KMP*4.0*3) NOTE: Using will not bring up a Multi-Package build even if it was loaded immediately before this step. It will only bring up the last patch in the build. B. Select the Backup a Transport Global option to create a backup message. You must use this option and specify what to backup; the entire Build or just Routines. The backup message can be used to restore the routines and components of the build to the pre-patch condition. i. At the Installation option menu, select Backup a Transport Global. ii. At the Select INSTALL NAME prompt, enter your build KMP*4.0*3 iii. When prompted for the following, enter "R" for Routines or "B" for Build. Select one of the following: B Build R Routines Enter response: Build iv. When prompted "Do you wish to secure your build? NO//", press and take the default response of "NO". v. When prompted with, "Send mail to: Last Name, First Name", press to take default recipient. Add any additional recipients. vi. When prompted with "Select basket to send to: IN//", press and take the default IN mailbox or select a different mailbox. C. You may also elect to use the following options: i. Print Transport Global - This option will allow you to view the components of the KIDS build. ii. Compare Transport Global to Current System - This option will allow you to view all changes that will be made when this patch is installed. It compares all of the components of this patch, such as routines, DDs, templates, etc. D. Select the Install Package(s) option and choose the patch to install. (KMP*4.0*3) i. If prompted 'Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO//', answer . ii. When prompted 'Want KIDS to INHIBIT LOGONs during the install? NO//', answer . iii. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//', answer . Post-Installation Instructions: ------------------------------ There are no Post-Installation actions. Back-Out/Roll Back Plan: ------------------------ Inform CPE of the problem. Email: VA IT EPMO VistA System Monitor . The following steps can be taken to restore previous state. 1) Restore routines from backup message saved during step 2B above. Routine Information: ==================== The second line of each of these routines now looks like: ;;4.0;CAPACITY MANAGEMENT;**[Patch List]**;3/1/2018;Build 17 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: KMPBEMRT Before: B52100664 After: B66373711 **1,2,3** Routine Name: KMPCSMRT Before: B64175541 After: B81503871 **1,2,3** Routine Name: KMPETMRT Before: B36259960 After: B49802407 **1,2,3** Routine Name: KMPHLMRT Before: B91515158 After:B112350514 **1,2,3** Routine Name: KMPMCMRT Before: B65176472 After: B76227616 **1,2,3** Routine Name: KMPPST43A Before: n/a After: B43113600 **3** Routine Name: KMPPST43B Before: n/a After:B141380921 **3** Routine Name: KMPPST43C Before: n/a After:B138855718 **3** Routine Name: KMPSTMRT Before: B52046134 After: B75347930 **1,2,3** Routine Name: KMPSYNTH Before:B244977143 After:B239799166 **1,3** Routine Name: KMPTCMRT Before: B98940771 After:B115662867 **1,2,3** Routine Name: KMPUTLW Before:B118150714 After:B121862756 **1,2,3** Routine Name: KMPVCBG Before:B144764268 After:B160104165 **1,2,3** Routine Name: KMPVRUN Before: B24081200 After: B26630757 **1,2,3** Routine list of preceding patches: 2 ============================================================================= User Information: Entered By : Date Entered : AUG 17, 2022 Completed By: Date Completed: MAR 15, 2023 Released By : Date Released : MAR 16, 2023 ============================================================================= Packman Mail Message: ===================== $END TXT