$TXT Created by HOMAS at MNTVBB.DOMAIN.EXT (KIDS) on Monday, 06/03/24 at 12:25 ============================================================================= Run Date: AUG 12, 2024 Designation: RT*2*49 Package : RT - RECORD TRACKING Priority: Mandatory Version : 2 SEQ #45 Status: Released Compliance Date: SEP 12, 2024 ============================================================================= Subject: PREVENT RUN-AWAY PROCESS IN RTSM7 Category: - Routine Description: ============ This patch will address a run-away process that can occur during the RT SM-CLINIC REQUESTS (Automatic Clinic Request Initialization) option process when checking for employees that need to return borrowed items. The issue occurs when a specific sequence of malformed entries are present in the NEW PERSON (#200) file. What causes this event is when the last entry before the cross references has no zero node, and the next entry is a DUZ with trailing ASCII characters present which is a string at that point. A FOR loop in the current code is adding a "0" to an invalid index which is a string. When adding a number to a string that starts with a number, the result is a number. Since the number part of the string is lower than the last subscript in the array, the index is set to the next available subscript in the array, starting at the numeric part of the string, and the loop becomes infinite. An example of the portion of code "looping" is provided in the problem section below. File Name Description ========================================================= N/A Files & Fields Associated: File Name (Number) Field Name (Number) New/Modified/Deleted ------------------ ------------------- -------------------- N/A Forms Associated: Form Name File Number 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 Associated: Remote Procedure Name New/Modified/Deleted --------------------- -------------------- N/A Parameter Definitions Associated: Parameter Name New/Modified/Deleted -------------- -------------------- N/A Additional Information: ----------------------- New Service Requests (NSRs): N/A Patient Safety Issues (PSIs): N/A Defect Tracking System Ticket(s) & Overview: -------------------------------------------- INC31929972 - A run-away process occurred at three VA Sites (Dayton VAMC, Beckley VAMC, and Bay Pines) when running the RT SM-CLINIC REQUESTS option. Problem: -------- Occasionally, a run-away process occurs when the RT SM-CLINIC REQUESTS (Automatic Clinic Request Initialization) option checks the NEW PERSON (#200) file for terminated users. Example: ^VA(200,288098,0)="" ^VA(200,321111,203.1)="66325,45358" "NVSTAR12")="000284717" ^VA(200,"288097.",0)="" The "FOR" loop in the TERM^RTSM7 routine causes a 0 to be added to the string making it a number. Since it becomes a number, it can re-enter the loop at a lower number which causes it to start the loop over again. This continues to repeat itself without stopping. The cause of the malformed entries in the NEW PERSON (#200) file is undetermined at this time. Resolution: ----------- Add to the for loop in TERM^RTSM7 to start with the "B" cross reference and avoid going through the entire record of DUZs in the main global. Test Sites: ----------- Asheville VA Medical Center (Asheville, NC) Beckley VA Medical Center (Beckley, WV) SNOW Change Order #: ------------------- Asheville - CHG0502868 Beckley - CHG0502871 Software and Documentation Retrieval Instructions: -------------------------------------------------- The software for this patch is being released in a PackMan message. Documentation Title File Name --------------------------------------------------------------------- N/A Patch Installation: =================== Pre/Post Installation overview: ------------------------------- Pre-Installation Instructions: ------------------------------ This patch may be installed with users on the system, although it is recommended that it be installed during non-peak hours to minimize potential disruption to users. This patch should take less than 5 minutes to install. 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 RT*2.0*49. 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: RT*2.0*49. 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, RT*2.0*49. i. When prompted 'Want KIDS to INHIBIT LOGONs during the install? NO//', answer NO ii. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and Protocols? YES//', answer NO Post-Installation Instructions: ------------------------------- NONE Back-Out/Roll Back Plan: ------------------------ Prior to installing an updated KIDS package, the installer should have saved a backup of the routine in a mail message/Build using the Backup a Transport Global [XPD BACKUP] menu option from the Kernel Installation and Distribution System Menu and selecting the Installation Menu. Before any back-out is done, a SNOW ticket should be submitted and the development group and national support teams should be consulted. The back-out plan is to restore the routine from the backup created. The message containing the backed-up routine can be loaded with the "Xtract PackMan" function at the Message Action prompt. The Packman function "INSTALL/CHECK MESSAGE" is then used to install the backed up routine onto the VistA System. If the patch was backed up for the build, from the Kernel Installation and Distribution System Menu, select the Installation Menu. Select the Install Package(s) option and choose the patch. Routine Information: ==================== The second line of each of these routines now looks like: ;;2.0;Record Tracking;**[Patch List]**;10/22/91 ;Build 2 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: RTSM7 Before: B19248911 After: B20087148 **49** ============================================================================= User Information: Entered By : Date Entered : MAY 23, 2024 Completed By: Date Completed: AUG 12, 2024 Released By : Date Released : AUG 12, 2024 ============================================================================= Packman Mail Message: ===================== $END TXT