$TXT Created by F at CLN1G1.AAC.DOMAIN.EXT (KIDS) on Thursday, 08/05/21 at 09:09 ============================================================================= Run Date: NOV 19, 2021 Designation: PSX*2*94 Package : PSX - CMOP Priority: Mandatory Version : 2 SEQ #78 Status: Released Compliance Date: DEC 20, 2021 ============================================================================= Associated patches: (v)PSX*2*58 <<= must be installed BEFORE `PSX*2*94' Subject: CONSOLIDATED MAIL OUTPATIENT PHARMACY (CMOP) PSX RESOURCE DEVICE HANG Category: - Routine Description: ============ This patch will resolve the following issue: 1) INC18186175 - Gainesville North Florida (NFL) Stuck PSX resource Duplicate: ---------- INC19582845 - CMOP message formatting - hanging PSX Resource 500+ tasks waiting for Resource Defect Tracking System Ticket(s) & Overview: -------------------------------------------- 1) INC18186175 - Gainesville North Florida (NFL) Stuck PSX resource INC19582845(d) - CMOP message formatting - hanging PSX Resource 500+ tasks waiting for Resource Overview: --------- Under rare situations, the CMOP PSX Resource device which processes dispense acknowledgements from CMOP can go into an infinite loop, causing high CPU utilization and also blocking CMOP acknowledgements from processing and filing into file 52 PRESCRIPTIONS. This problem was traced to an Accounts Receivable process which would overwrite one of the variables used by the CMOP job. This patch addresses the issue by protecting that variable. Problem: -------- NFL and Central Texas (CTX) reported that its PSX Resource device was hung for hours due to an inappropriate message "Vendor release data" being sent to S.PSXX CMOP Server. The process had been running for hours in an infinite loop. Clinical Ancillary Sub 1 Group researched the problem and determined the following: 1. The CMOP prescription release information arrives at the site in the form of a Mailman message that contains all prescriptions released by CMOP. This message is sent to the S.PSXX CMOP SERVER recipient. 2. Release data message is received by the CMOP Server. A background task is run to file the release information from the release data message into the Prescription File (#52). This action will release the RX and generate any prescription copayment necessary. 3. In the event that an existing 3rd party billing claim requires a manual adjustment it will be reversed and resubmitted. A mail message will be sent to VistA PRCA Adjustment Trans Mail Group. If the NDC from CMOP does not match the original sent to the 3rd party payer when the prescription was transmitted to CMOP a reversal will also occur. 4. Some of these updates will cause ePharmacy (BPS) to call out to the Integrated Billing (IB) and Accounts Receivable (PRCA) applications to cancel or adjust the Bill. 5. Depending on the update that these applications perform it may automatically create and send a Mailman message to its users. 6. The creation of the Mailman message by IB or PRCA is interfering with the processing of the Mailman message sent from CMOP to the site. More specifically, it changes the value of the variable XMZ that is used as an index in the step #2 above to indicate which line is being processed. 7. This caused the processing of the CMOP message to go into an infinite loop and caused the problem reported by the sites. Resolution: ---------- A change was made to the processing of the CMOP Mailman message to protect the variable XMZ from being overwritten when other functionalities or applications are called. Technical Resolution: -------------------- The FOR loop in the EN+3 line of the PSXVND routine was re-written to address two problems: 1. Protect the variable XMZ from being overwritten. 2. Removed GOTO commands from inside the FOR loop and placed them outside without changing the original logic. Test Sites: ----------- Louis Stokes Cleveland VAMC Cleveland, OH New Jersey VAMC East Orange, NJ Patch Installation: Pre/Post Installation Overview: ------------------------------- It is not necessary to disable any options. Pre-Installation Instructions: ------------------------------ This patch should be installed during non-peak hours to minimize potential disruption to users. This patch should take less than 2 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.|TAB|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. PSX*2.0*94) 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 PSX*2.0*94 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. 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: ------------------------------- None. Back-out Procedures: -------------------- Back-out will be done only with the concurrence and participation of development team and appropriate VA site/region personnel. The decision to back-out or rollback software will be a joint decision between development team, VA site/region personnel and other appropriate VA personnel. Prior to installing an updated KIDS package, the site/region should have saved a backup of the routines in a mail message using the Backup a Transport Global [XPD BACKUP] menu option (this is done at time of install). The message containing the backed up routines 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 routines onto the VistA System. The back-out plan is to restore the routines from the backup created. No data was modified by this patch installation and, therefore, no rollback strategy is required. Validation of Back-out Procedure: --------------------------------- The Back-out Procedure can be verified by printing the first 2 lines of the routines contained in this patch using the option First Line Routine Print [XU FIRST LINE PRINT]. Once the routines contained in PSX*2.0*94 patch have been backed out, the first two lines of the routines will no longer contain the designation of this patch in the patch list section on line 2. Routine Information: ==================== The second line of each of these routines now looks like: ;;2.0;CMOP;**[Patch List]**;11 Apr 97;Build 2 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: PSXVND Before: B36308347 After: B41060377 **1,2,4,5,14,18,19,15,24,23, 27,35,39,36,48,62,58,94** Routine list of preceding patches: 58 ============================================================================= User Information: Entered By : Date Entered : JUL 23, 2021 Completed By: Date Completed: NOV 18, 2021 Released By : Date Released : NOV 19, 2021 ============================================================================= Packman Mail Message: ===================== $END TXT