============================================================================= Run Date: JUN 22, 2023 Designation: MAG*3*278 Package : MAG - IMAGING Priority: Mandatory Version : 3 SEQ #242 Status: Released Compliance Date: JUL 24, 2023 ============================================================================= Associated patches: (v)MAG*3*194 <<= must be installed BEFORE `MAG*3*278' (v)MAG*3*231 <<= must be installed BEFORE `MAG*3*278' (v)MAG*3*257 <<= must be installed BEFORE `MAG*3*278' Subject: VI - HDIG/VISTA Defect Patch Category: - Routine - Other Description: ============ This document describes MAG*3.0*278, a KIDS only patch that provides fixes to the VistA Imaging VistA M code. This patch addresses the following issues: 1. INC11083444 - ECH - Compass Router 2 Failed Jobs 2. INC11517667 - Duplicate order loop by VistA Importer III 3. INC14212489 - Edit CLINICAL SPECIALTY DICOM & HL7 file 4. INC16748198 - PUG-Issues with DICOM correct 5. INC23728270 - Failed Consult-Eye study on the Compass Router. Patch Components: ----------------- Files & Fields Associated: -------------------------- File Name (Number) Field Name (Number) New/Modified/Deleted ------------------ ------------------- -------------------- NEW IMAGING FILE CLEANUP IEN (#.01) New LOG (#2005.67) FILE (#1) New PRIMARY IEN (#2) New REASON (#3) New ACTION (#4) New ACTION DATE/TIME (#5) New KEY (#6) New INVALID PARENT REFERENCE (#7) New NEW PARENT REFERENCE (#8) New DUPLICATE PARENT REFERENCE (#9) New 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 ----------- ---- -------------------- MAGV HDIG MENU menu Modified (Post Install Routine) MAGV SEARCH PROBLEMS run routine New MAGV RESOLVE PROBLEMS run routine New 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 --------------------- -------------------- MAGV FIND PROC REF Modified - The RPC definition has not changed, therefore is not exported in the patch. The routine called by the RPC, FINDPROC^MAGVRS07, has been changed to honor the STATUS field (#3) in the IMAGING PROCEDURE REFERENCE file (#2005.61). Parameter Definitions Associated: Parameter Name New/Modified/Deleted -------------- -------------------- N/A Additional Information: ----------------------- Blood Bank Team Coordination: N/A New Service Requests (NSRs): N/A Patient Safety Issues (PSIs): N/A Defect Tracking System Ticket(s) & Overview: -------------------------------------------- 1. IMAG-1906-INC11083444 - ECH - Compass Router 2 Failed Jobs Duplicate tickets: IMAG-642-INC11735089 IMAG-1907-INC11962769 IMAG-1908-INC13260687 IMAG-2746-INC20053605 HDSO-1284-INC23395882 Problem: -------- Undefined errors are caused by file pointers that were corrupted as a result of duplicate records. The error identified as being caused by corrupted pointers and duplicate records is "$ZE= LINKED+45^MAGVRS61". Other errors may be occurring due to the corrupted data that have not yet been definitively linked to the corrupted data. Errors in functionality may also be occurring that do not produce an error in the error log. Resolution: ----------- The undefined error is caused by invalid file pointers corrupted or duplicate records. This patch will prevent the error by changing the status of problem records in files 2005.6, 2005.61, 2005.62, 2005.63, 2005.64 and 2005.65 to "Inaccessible" via a post install routine. Records in these files with a status of Inaccessible are ignored by database methods and are not returned via Imaging Remote Procedure Calls (RPCs). The problem record search and resolve process is run automatically during patch installation via a post-install routine. New menu options Search For HDIG Problem Records [MAGV SEARCH PROBLEMS] and Validate and Resolve HDIG Problem Records [MAGV RESOLVE PROBLEMS] were also added to the Hybrid DICOM Gateway Menu [MAGV HDIG MENU] to optionally allow the HDIG problem record search and resolution to be run on demand, if necessary. NOTE: The on demand options above would only need to be run if the post-install process did not run to completion, or if new problem records created after the patch is installed need to be identified and corrected. The Search For HDIG Problem Records [MAGV SEARCH PROBLEMS] option is used to identify problem records in files 2005.6, 2005.61, 2005.62, 2005.63, 2005.64 and 2005.65 without making any changes to the database. Problem records for the purposes of this patch are defined as: 1) Duplicate Records - Two or more records in a file with the same value in the .01 field, resulting in two "B" cross reference entries. 2) Invalid Parent Pointer - A record with an invalid pointer to its parent file record. Invalid pointers refer to a record that does not exist, and may consist of an integer, a null value, control characters, or any other value that does not point to a record. The Validate and Resolve HDIG Problem Records [MAGV RESOLVE PROBLEMS] option is used to change the status of problem records in files 2005.6, 2005.61, 2005.62, 2005.63, 2005.64, and 2005.65 to "Inaccessible". Records in these files with a status of "Inaccessible" are ignored by database methods and are not returned via Imaging Remote Procedure Calls (RPCs). Problem records are logged in the NEW IMAGING FILE CLEANUP LOG (#2005.67) file, including duplicate records, records with invalid parent pointers, and child records pointing to a duplicate parent record. Problem records are logged by the Search For HDIG Problem Records [MAGV SEARCH PROBLEMS] option and the Validate and Resolve HDIG Problem Records [MAGV RESOLVE PROBLEMS] option. When the options encounter duplicate records, one record is designated the 'primary' record and one record is designated as the 'duplicate' record. The logic used to determine primary and duplicate is as follows: 1) If both duplicate records are defined as Artifact On File (AOF), the record with the smaller Internal Entry Number (IEN) is designated as the primary, and the other record is the duplicate. 2) If both duplicate records are defined as No Artifact On File (NAOF), the record with the smaller Internal Entry Number (IEN) is designated the primary record, and the record with the larger IEN is the duplicate. 3) If one record is defined AOF and the other record is NAOF, the AOF record is designated as the primary record and the NAOF record is the duplicate. When a record is designated as a duplicate, any child records pointing to the duplicate record are re-pointed to the primary record at the time the duplicate record is marked inaccessible. For example, if duplicate records exist in the IMAGE SERIES file (#2005.63), the AOF record is designated as the primary and the NAOF is designated as the duplicate. When the MAGV RESOLVE PROBLEMS option is run, the duplicate (NAOF) record's STATUS is changed to INACCESSIBLE and any child records in the IMAGE SOP INSTANCE (#2005.64) file pointing to the duplicate IMAGE SERIES file (#2005.63) record are modified to point to the primary (AOF) IMAGE SERIES file (#2005.63) record. Problem records are also stored in ^XTMP for 60 days from the time they are found or resolved. In other words, if a problem record is found on the first of the month, it is stored in ^XTMP for 60 days from the date it was found. If the problem record is resolved on the 15th of the month, the same record will be stored in ^XTMP for 60 days from the resolution date. 2. IMAG-640-INC11517667 - Duplicate order loop by VistA Importer III Problem: -------- A runaway process executing a duplicate order loop of over 500 exams appear to have been invoked by VistA Importer III. While processing a study, it became a hung work item and the HDIG continued to process it over and over, each time creating an order. In Patch MAG*3.0*194, code was added to RPC MAGV RAD EXAM ORDER to limit the number of duplicate radiology orders created when the HDIG got into a loop on a hung work item. The new code only allowed ten radiology orders with the same user identifier (DUZ), procedure code (RADPROC) and date, after which the loop stopped, and the work item was no longer hung. The procedure code (RADPROC) that is passed into the RPC can be in two pieces: the Procedure Internal Entry Number (IEN) in the RAD/NUC MED PROCEDURES file (#71) followed by an optional procedure modifier (IEN in the PROCEDURE MODIFIERS file (#71.2)). The new code did not support two-piece procedure code values, so when searching for duplicate orders by procedure code it did not find any, and new duplicate orders were created more than the ten-order limit. Resolution: ----------- Radiology exam order lookups were failing when a procedure included an optional modifier. This patch separates the procedure from the optional modifier when performing a radiology exam order look up, limiting the number of duplicate orders (orders with the same user, procedure code and date) to ten orders. 3. IMAG-1133-INC14212489 - Edit CLINICAL SPECIALTY DICOM & HL7 file Procedure List differs from the list available to TeleReader Configurator. Problem: -------- The VistA code used by the 'Edit CLINICAL SPECIALTY DICOM & HL7 file' option does not include a filter when returning a list of 'PROCEDURE INDEX' values for selection by the user, all #2005.85 values are presented. Resolution: ----------- Modified the "Enter the Imaging Procedure Index:" prompt in VistA option 'Edit CLINICAL SPECIALTY DICOM & HL7 file' to only allow IMAGE INDEX FOR PROCEDURE/EVENT file (#2005.85) records that meet one of the following criteria: 1) Having a specialty in the SPECIALTY multiple field (#2) matching the specialty entered at the "Enter the Imaging Specialty Index:" prompt. 2) Having NO specialties in the SPECIALTY multiple field (#2). The IMAGE INDEX FOR PROCEDURE/EVENT file (#2005.85) records displayed at the "Enter the Imaging Procedure Index:" should match the list displayed in the TeleReader Configurator application. 4. IMAG-1824-INC16748198 - PUG-Issues with DICOM correct Problem: -------- User are having issues with legacy Correct Clinical Specialties DICOM File Entries [MAGD FIX CLINSPEC DICOM FILE] option in VistA. After a user selects the item to correct, the consult number entered does not retrieve the patient for the related DICOM images but pulls a list of non-related patients. Resolution: ----------- The look up logic was modified to handle a numeric input as a consult lookup instead of returning consults for the patient having the number as its internal patient ID. The Correct Clinical Specialties DICOM File Entries [MAGD FIX CLINSPEC DICOM FILE] option prompt "Enter patient or request/consultation" will now interpret the entry of an integer value as the Internal Entry Number (IEN) of the consult from the REQUEST/CONSULTATION file (#123), rather than the IEN of a different patient from the PATIENT file (#2). 5. HDSO-719-INC23728270 - Failed Consult-Eye study on the Compass Router. Problem: --------- This is an issue related to duplicate records in the 2005.6x file data. The patient has duplicate records in the IMAGING PATIENT REFERENCE file (#2005.6) and the RPC returns both entries when the HDIG is only expecting one. The HDIG passes in a parameter list including ENTERPRISE PATIENT ID, ID TYPE, CREATING ENTITY, and ASSIGNING AUTHORITY. If two patient records are found matching the search criteria, both records are returned, and the HDIG encounters the error "PostDicomInstanceToNewStructureCommandImpl.java - RPC returned value for MAGV FIND PAT REF is not valid. Return value has a carriage return.; Error while retrieving Patient REF." Resolution: ----------- Modified routine FINDPAT^MAGVRS06 used by the MAGV FIND PAT REF Remote Procedure (RPC) and the FINDPROC^MAGVRS06 routine used by RPC MAGV FIND PROC REF RPC to check the STATUS field of each record matching the input parameter list. If STATUS is not included in as a search parameter, the RPCs will only return records with a status equal to "A". The two RPCs (MAGV FIND PAT REF and MAGV FIND PROC REF) will only return records with a status of "I" (inaccessible) if the STATUS parameter equal to "I" is received as input. Test Sites: ----------- VA Palo Alto Health Care System (Palo Alto, CA) VA Sioux Falls Healthcare System (Sioux Falls, SD) VA Rocky Mountain Regional VAMC (Denver, CO) VA Orlando Health Care (Orlando, FL) SNOW Change Order #: -------------------- PAL - CHG0373951 SUX - CHG0373323 DEN - CHG0374101 ORL - CHG0375496 Software and Documentation Retrieval Instructions: -------------------------------------------------- The software for this patch is being released using a host file. The host file is available at the following location: https://download.vista.domain.ext/index.html/SOFTWARE/MAG3_0P278.KID File Title File Name Format --------------------------------------------------------------------- Kernel Installation and Distribution MAG3_0P278.KID ASCII System (KIDS) build for Patch 278 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 --------------------------------------------------------------------- Patch Description for MAG*3.0*278 MAG3_0P278_PATCH_DESCRIPTION.PDF Deployment, Installation, Back-Out, MAG3_0P278_DIBORG.PDF and Rollback Guide Patch Installation: ------------------- Pre/Post Installation Overview: -------------------------------- MAG*3.0*278 must be installed on the VistA System. This patch must be installed by the compliance date. Pre-Installation Instructions: This patch should take less than five minutes to install. The post-install process may take several hours to complete. Note: All released VistA Imaging patches must be installed on the VistA system before installing MAG*3.0*278. Installation Instructions: -------------------------- 1. Use the Load a Distribution option contained on the Kernel Installation and Distribution System Menu to load the Host file. When prompted to "Enter a Host File:" enter /srv/vista/patches/SOFTWARE/MAG3_0P278.KID 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 (ex. MAG*3.0*278). 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 the build name MAG*3.0*278. 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 this message? 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 components of this patch, such as routines, DDs, templates, etc. D. Select the Install Package(s) option and choose the patch to install. i. When prompted 'Want KIDS to Rebuild Menu Trees Upon Completion of Install?', answer NO. ii. When prompted 'Want KIDS to INHIBIT LOGONs during the install?', answer NO. iii. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and Protocols?', answer NO. KIDS Installation Example: -------------------------------------------------------- Select Installation Option: INstall Package(s) Select INSTALL NAME: MAG*3.0*278 9/6/22@12:40:20 => MAG*3.0*278 v35 ;Created on Sep 06, 2022@11:56:08 This Distribution was loaded on Sep 06, 2022@12:40:20 with header of MAG*3.0*278 v35 ;Created on Sep 06, 2022@11:56:08 It consisted of the following Install(s): MAG*3.0*278 Checking Install for Package MAG*3.0*278 Install Questions for MAG*3.0*278 Incoming Files: 2005.67 NEW IMAGING DELETION LOG Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO// Want KIDS to INHIBIT LOGONs during the install? NO// Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO// Enter the Device you want to print the Install messages. You can queue the install by enter a 'Q' at the device prompt. Enter a '^' to abort the install. DEVICE: HOME// Linux Telnet /SSh ----------------------------------------------------- MAG*3.0*278 ------------------------------------------------------------------------ Installing OPTION Sep 19, 2022@08:58:19 Running Post-Install Routine: QUE^MAGIP278 A MailMan message will be sent to the installer upon Post Install Completion *** Task #741234 Queued! *** Updating Routine file... Updating KIDS files... MAG*3.0*278 Installed. Sep 19, 2022@08:58:19 -------------------------------------------------------------------------- +------------------------------------------------------------+ 100% | 25 50 75 | Complete +------------------------------------------------------------+ Install Completed Example output of Install File Print [XPD PRINT INSTALL FILE] option in the Utilities [XPD UTILITY] menu: ------------------------------------------------------------------------ Install Started for MAG*3.0*278 : Sep 19, 2022@08:03:30 Build Distribution Date: Sep 19, 2022 Installing Routines: Sep 19, 2022@08:03:30 Running Pre-Install Routine: PRE^MAGIP278 Installing Data Dictionaries: Sep 19, 2022@08:03:30 Installing PACKAGE COMPONENTS: Installing OPTION Sep 19, 2022@08:03:30 Running Post-Install Routine: QUE^MAGIP278 A MailMan message will be sent to the installer upon Post Install Completion *** Task #740408 Queued! *** Updating Routine file... Updating KIDS files... MAG*3.0*278 Installed. Sep 19, 2022@08:03:30 Install Completed Post-Installation Instructions: -------------------------------- 1) INSTALL MESSAGE - After installing patch, the installer should verify the installation message was received in their inbox. The subject of the installation message will be "MAG*3.0*278 INSTALLATION". This message indicates the patch was successfully installed. If the message was not received, submit a Service Now (SNOW) ticket with a comment to route the ticket to Assignment Group "HDSO SUS SubPL.Diagnostics". 2) Installation of the patch queues a post-install process as a background task. The post-install background process will produce two separate messages, the first when the 'search' portion of the post-install is complete, and one when the 'resolve' portion is complete. Within an hour after installing the patch, the first message should be received by the installer, with the subject "Search Imaging Problem Records mm/dd/yyyy". This message should also have been forwarded to the MAG SERVER mail group. If the message was not received, submit a Service Now (SNOW) ticket with a comment to route the ticket to Assignment Group "HDSO SUS SubPL.Diagnostics". Within four hours after installing the patch, the second message should be received by the installer, with subject "Resolve Imaging Problem Records mm/dd/yyyy". This message should also have been forwarded to the MAG SERVER mail group. If the message was not received, submit a Service Now (SNOW) ticket with a comment to route the ticket to Assignment Group "HDSO SUS SubPL.Diagnostics". VistA Client Installation Instructions ---------------------------------------- N/A - Application client installation is not required in a KIDS-only build. Back-Out/Roll Back Plan: ------------------------ Uninstalling the Application: ------------------------------ N/A - Application client installation is not required in a KIDS-only build. KIDS Uninstall: ---------------- If it is necessary to uninstall the MAG*3.0*278 VistA KIDS, the patch backup must be installed. The Kernel Installation & Distribution System menu option, Backup a Transport Global should have been used to create a patch backup of the build prior to installing the patch. (see Installation Steps section, step 2b). Administrators will need to check MailMan for the backup message sent by the Backup a Transport Global function executed prior to the patch install. The patch backup must first be loaded from the MailMan backup message, by performing the message action Xtract KIDS, followed by the PackMan function INSTALL/CHECK MESSAGE. The patch may then be installed using the Install Package(s) option in the KIDS Installation menu. 1. Navigate to the Mailman inbox containing the patch backup message. a. Select the MAG*3.0*278 backup message as shown below: * Backup of MAG*3.0*278 install on b. At the "Enter message action:" prompt, select the Xtract PackMan option. c. At the "Select PackMan function:" prompt, select the Install/Check Message option. d. Enter Yes at the prompt "OK to continue with Load?" 2. Navigate to the Kernel Installation and Distribution System Menu and select the Installation Menu. From this menu: a. Select the Install Package(s) option and choose the patch to install. i. If prompted 'Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO//', answer NO. ii. When prompted 'Want KIDS to INHIBIT LOGONs during the install? NO//', answer NO. iii. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//', answer NO. iv. When prompted 'Delay Install (Minutes): (0 - 60): 0//', answer 0. Example, Loading Patch Backup (Build) -------------------------------------------- IN Basket Search *=New/!=Priority.........Subject...............Lines.From.....Read/Rcvd 13093. [313643] 09/06/22 Backup of MAG*3.0*278 3099 Search finished. Enter message number or command: 13093 Subj: Backup of MAG*3.0*278 on Sep 06, 2022 [#313643] 09/06/22@12:43 3099 lines From: MANAGER,SYSTEMS In 'IN' basket. Page 1 -------------------------------------------------------------------------- $TXT Created by PROGRAMMER,MAG at DOSO.DOMAIN.EXT (KIDS) on Tuesday, 09/06/22 at 12:42 Warning: Installing this backup patch message will install older versions of routines and Build Components (options, protocols, templates, etc.). Please verify with the Development Team that it is safe to install. Type to continue or '^' to exit: ^ Enter message action (in IN basket): Ignore// Xtract KIDS Select PackMan function: 6 INSTALL/CHECK MESSAGE Line 8 Message #313643 Unloading KIDS Distribution MAG*3.0*278b OK to continue with Load? NO// YES Distribution OK! Want to Continue with Load? YES// Loading Distribution... MAG*3.0*278b Example, Installing Patch Backup (Build) ----------------------------------------------- Select OPTION NAME: XPD MAIN Kernel Installation & Distribution System Select Kernel Installation & Distribution System Option: INstallation Select Installation Option: INstall Package(s) Select INSTALL NAME: MAG*3.0*278b This Distribution was loaded on Sep 07, 2022@11:54:20 with header of Backup of MAG*3.0*278 on Sep 06, 2022 It consisted of the following Install(s): MAG*3.0*278b Checking Install for Package MAG*3.0*278b Install Questions for MAG*3.0*278b Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO// Want KIDS to INHIBIT LOGONs during the install? NO// Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO// Enter the Device you want to print the Install messages. You can queue the install by enter a 'Q' at the device prompt. Enter a '^' to abort the install. DEVICE: HOME// Linux Telnet /SSh MAG*3.0*278b -------------------------------------------------------------------------- Build Distribution Date: Sep 06, 2022 Installing Routines: Sep 07, 2022@11:54:36 Installing PACKAGE COMPONENTS: Installing OPTION Sep 07, 2022@11:54:36 Updating Routine file... Updating KIDS files... MAG*3.0*278b Installed. Sep 07, 2022@11:54:36 NO Install Message sent -------------------------------------------------------------------------- +------------------------------------------------------------+ 100% | 25 50 75 | Complete +------------------------------------------------------------+ Install Completed Routine Information: ==================== The second line of each of these routines now looks like: ;;3.0;IMAGING;**[Patch List]**;Mar 19, 2002;Build 138 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: MAGDCCS2 Before: B18497178 After: B18792354 **10,11,30,54,123,138,278** Routine Name: MAGDHOWE Before:B136169833 After:B164325092 **138,231,278** Routine Name: MAGIP278 Before: n/a After: B18108046 **278** Routine Name: MAGVCLN Before: n/a After:B210084116 **278** Routine Name: MAGVCLN1 Before: n/a After: B46201584 **278** Routine Name: MAGVIM05 Before:B169489489 After:B173389308 **118,138,164,166,194,278** Routine Name: MAGVRS01 Before: B3699007 After: B4483797 **118,278** Routine Name: MAGVRS05 Before: B3883384 After: B4669398 **118,278** Routine Name: MAGVRS06 Before: B6283965 After: B6365702 **118,257,278** Routine Name: MAGVRS07 Before: B4131532 After: B4952595 **118,278** Routine Name: MAGVRS11 Before: B3844243 After: B4744955 **118,278** Routine list of preceding patches: 194, 231, 257 ============================================================================= User Information: Entered By : Date Entered : AUG 11, 2020 Completed By: Date Completed: JUN 22, 2023 Released By : Date Released : JUN 22, 2023 ============================================================================= Packman Mail Message: ===================== No routines included