$TXT Created by at CLN1G1.AAC.DOMAIN.EXT (KIDS) on Wednesday, 10/05/22 at 14:09 ============================================================================= Run Date: JUL 31, 2023 Designation: PSO*7*677 Package : PSO - OUTPATIENT PHARMACY Priority: Mandatory Version : 7 SEQ #599 Status: Released Compliance Date: AUG 31, 2023 ============================================================================= Associated patches: (v)PSO*7*653 <<= must be installed BEFORE `PSO*7*677' (v)PSO*7*441 <<= must be installed BEFORE `PSO*7*677' Subject: TELEPHONE REFILLS - PROCESSING ALL DIVISIONS POTENTIAL ERROR IN ROUTINE Category: - Routine Description: ============ This patch addresses the following issue: TELEPHONE REFILLS - Processing all divisions potential error in routine. Patch Components: ----------------- 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 New Service Requests (NSRs): N/A Patient Safety Issues (PSIs): N/A Defect Tracking System Ticket(s) & Overview: =========================================== 1. INC21810787 - TELEPHONE REFILLS - Processing all divisions potential error in routine Problem 1: --------- When processing telephone refills using the option Process Telephone Refills [PSO PROCESS TELEPHONE REFILLS] and answering, 'Process telephone refills for all divisions?' with YES, any refills that are not for the division selected at the start of the Process Telephone Refills option and has a drug setup in the DRUG file (#50) with CMOP DISPENSE field (#213) not set to Yes, the drug will be refilled with the wrong division in the refill record of the PRESCRIPTION file (#52). It will mark the refill for the division selected in the option instead of the division for which the original RX was created. The problem is due to variable PSOSITE being set to the IEN of the OUTPATIENT SITE (#59) selected at the Division: prompt when running the Process Telephone Refills [PSO PROCESS TELEPHONE REFILLS] option. This variable is then used during processing and creation of the refill which results in the incorrect division to be filed into the DIVISION field (#8) in the REFILL sub record (#52.1D) of the PRESCRIPTION file (#52) when Process telephone refills for all divisions? // is answered Yes and a refill is encountered for a division not matching the division selected. Resolution 1: ------------- Variable PSOSITE is used extensively in PSO code, so this patch is only making a change to PSOSITE's value within routine PSOVEXRX. When a RX is being processed in OPTION Process Telephone Refills [PSO PROCESS TELEPHONE REFILLS] and the original fill is for a division that is different than the division selected at the Division: prompt, the variable is newed and reset to the IEN for the division and variable PSOBBC("PSOVEXRX") is also set before REFILL^PSOBBC is called to process the fill for that RX, the variable is reset to original value afterwards. PSOBBC("PSOVEXRX") is used conditionally to determine to display the message 'RX # 1234567 is for (XXXXXXXXXXX) division.' on the output at the end of running Process Telephone Refills. Technical Resolution 1: ----------------------- Routine PSOVEXRX Line PSO6+13^PSOVEXRX is commented out and replaced with: ;p677 handle multi division ;S PSOBBC("DONE")=PSOBBC("IRXN")_"," D REFILL^PSOBBC I '$P($G(PSOSYS),"^",2) D REFILL^PSOBBC I 1 E D . I PSOSITE'=$P(^PSRX(PSORXIEN,2),U,9) S PSOBBC("PSOVEXRX")=PSOSITE N PSOSITE S PSOSITE=$P(^PSRX(PSORXIEN,2),U,9) . D REFILL^PSOBBC . K PSOBBC("PSOVEXRX") S PSOBBC("DONE")=PSOBBC("IRXN")_"," Routine PSOREF0 CHKDIV^PSOREF0 is changed to: CHKDIV G:$P(PSOREF("RX2"),"^",9)=+PSOSITE&'$G(PSOBBC("PSOVEXRX")) CHKDIVX ;p677 multi division update for telephone refill process Test Sites: ========== Wilkes-Barre VA Medical Center (Wilkes-Barre, PA) VA Maryland Health Care System (Baltimore, MD) VA New Jersey Health Care System (East Orange, NJ) SNOW Change Order # =================== WBP - CHG0375699f BAL - CHG0375343 NJH - CHG0380773 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 PSO*7.0*677. 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: PSO*7.0*677 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 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. Back-out/Rollback Strategy: --------------------------- 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 build 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 build 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 build 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 confirming the checksums have been returned to the pre-patch value using CHECK1^XTSUMBLD. It can also be verified by printing the first 2 lines of the PSO routine(s) contained in this patch using the option: First Line Routine Print [XU FIRST LINE PRINT]. Once the routine(s) contained in this patch have been backed out, the Second line of each routine will no longer contain the designation of patch PSO*7*677. Routine Information: ==================== The second line of each of these routines now looks like: ;;7.0;OUTPATIENT PHARMACY;**[Patch List]**;DEC 1997;Build 1 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: PSOREF0 Before: B50229350 After: B51413036 **14,152,180,186,204,306,382, 388,501,441,677** Routine Name: PSOVEXRX Before:B118621977 After:B123442646 **653,677** Routine list of preceding patches: 441, 653 ============================================================================= User Information: Entered By : Date Entered : MAR 31, 2022 Completed By: Date Completed: JUL 28, 2023 Released By : Date Released : JUL 31, 2023 ============================================================================= Packman Mail Message: ===================== $END TXT