$TXT Created by L at MNTVBB.DOMAIN.EXT (KIDS) on Monday, 04/13/26 at 14:02 ============================================================================= Run Date: SEP 11, 2026 Designation: PSO*7*760 Package : PSO - OUTPATIENT PHARMACY Priority: Mandatory Version : 7 SEQ #688 Status: Released Compliance Date: OCT 11, 2026 ============================================================================= Associated patches: (v)PSO*7*743 <<= must be installed BEFORE `PSO*7*760' (v)PSO*7*770 <<= must be installed BEFORE `PSO*7*760' Subject: ERR WHEN USING OPTION COMPLETE ORDERS FROM OERR Category: - Routine Description: ============ This patch was created to replace patch PSO*7*671. 1) INC20722800 - Error running VistA option COMPLETE ORDERS FROM OERR The error is encountered when a user is executing the VistA COMPLETE ORDERS FROM OERR [PSO LMOE FINISH] OPTION and selects the controlled substance (CS) as a secondary filter along with one of the DEA schedule options. 2) INC32396673 / INC32441399 (d) - Hard error caused by patch PSO*7*671 It occurs during the execution of option COMPLETE ORDERS FROM OERR [PSO LMOE FINISH] after the user bypasses entering the RX PATIENT STATUS when prompted. 3) INC40133106 / INC40132276 (d) / INC40135799 (d) - Hard error caused by version 4 of this patch. EHRM Impact Statement: ---------------------- This patch should have no EHRM impact, and can be installed at all sites, including EHRM converted sites. 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) INC20722800 - Error running VistA option COMPLETE ORDERS FROM OERR Problem: (Original problem fixed by PSO*7.0*671) ------------------------------------------------ The following error is encountered when a user is executing the VistA COMPLETE ORDERS FROM OERR [PSO LMOE FINISH] OPTION and selects the controlled substance (CS) as a secondary filter along with one of the DEA schedule options. Error: .D PP S ORD=0 D @PSRT S PAT(PAT)=PAT ^ PSOORFIN+37^PSOORFIN Resolution: ----------- Patch PSO*7.0*671 was nationally released to fix a NOLINE error. However, it was withdrawn (marked entered in error) and the fix made has been migrated into follow-up patch PSO*7.0*760. Below is the resolution of the NOLINE error from patch PSO*7.0*671: To prevent the NOLINE error from occurring in the PSOORFIN routine, the variable PSRT was initialized with a New command in CHKFLTR^PSOORFI6 where the controlled substance secondary filter is processed. The same New command for PSRT was added to routine PSOORFI5 to keep PSRT local to that routine. Upon testing the changes above it was discovered that the secondary filter for controlled substances was not presenting the proper results for queueing. In order to fix this part, the following lines were added to routine PSOORFIN starting at +42^PSOORFIN. .;p760 changes .N GETNEXT S GETNEXT=0 .I SECSORT'=0,$P(SECSORT,"^")="CS" D Q:GETNEXT ..I '$$PSOFOUND S GETNEXT=1 Q ..I $P(^PS(52.41,PSOD,0),"^",17)'=($P(SECSORT,"^",4)),("MW")[ ($P(SECSORT,"^",4)) S GETNEXT=1 Q ..I $P(SECSORT,"^",4)=1,$P($G(PSOSORT),"^",2)'= $P(^PS(52.41,PSOD,0),"^",17) S GETNEXT=1 Q ;routing check ..I $P(SECSORT,"^",4)'=1,$P(SECSORT,"^",4)'=PSRT S GETNEXT=1 Q .;p760 end Also, the following line along with the tag GETORD was added to fetch the order from the PENDING OUTPATIENT ORDERS (#52.41) FILE when a secondary filter is used. This new code will prevent the cycling and queueing of every PENDING OUTPATIENT ORDERS record. Added at +57^PSOORFIN: .D:(SECSORT'=0)&('$D(MEDP)) GETORD ;p760 The following code was added to PSOPTPST to address an undefined error encountered during testing at the test sites. The array variable PSOPQUIT(PAT) will be used to indicate that the user does not want to continue processing for a particular patient. Added at DIR+3^PSOPTPST: S:($G(PSOQFLG))&($G(PSODFN)) PSOPQUIT(PSODFN)="" ;p760 2) INC32396673 /INC32441399 (d) - Hard error caused by patch PSO*7*671 Problem: -------- The following error was the result of patch PSO*7.0*671 being installed. It occurs during the execution of COMPLETE ORDERS FROM OERR [PSO LMOE FINISH] OPTION after the user bypasses entering the RX PATIENT STATUS prompt. Error: RX PATIENT STATUS: Required Data! K VALMHDR S HDR=^TMP("PSOHDR",$J,1,0),X="" ^ HDR+1^PSOLMUTL ^TMP("PSOHDR",job number,1,0) Resolution: ----------- If a user is running the COMPLETE ORDERS FROM OERR [PSO LMOE FINISH] option and they fail to enter the RX PATIENT STATUS when prompted, the PAT() array will be populated with the patient's internal entry number (IEN). This in turn will prevent the UNDEFINED error from happening. Added at QU+2^PSOORFIN: I XQY0["PSO LMOE FINISH^Complete Orders from OERR",'$G(^PS(55,PAT,"PS")) S PAT(PAT)=PAT ;p760 3) INC40133106 / INC40132276 (d) / INC40135799 (d) - Hard error caused by version 4 of this patch. Problem: -------- The following error occurred as a result of testing version 4 of this patch. This error occurs when multiple users are using the COMPLETE ORDERS FROM OERR [PSO LMOE FINISH] option and one of the users finish an order on one session while another user is processing orders while executing the option in another session. Error: PSOORFIN+34^PSOORFIN ^PS(52.41,pending order ien,0) Resolution: ----------- In order to prevent this error from occurring a check was added to ensure that the pending order still exists before continuing processing. The following function was added to routine PSOORFIN and will be used to see if a pending order still exists. PSOFOUND() ;p760 I $G(^PS(52.41,PSOD,0))>0 Q 1 Q 0 The following is an example of how this function will be used to bypass further processing if a pending order no longer exists. Q:'$$PSOFOUND (subsequent code will go here if pending order exists) Additional changes added for version 7: Edited at PSOORFIN+51: .I '$D(PAT(PAT)),$$CHK^PSODPT(PAT_"^"_$P($G(^DPT(PAT,0)),"^"),1,1)<0 S PSOLK=1,PAT(PAT)=PAT S X=PAT D ULP Q Edited at PRMT+3^PSOORFI6: .I $D(DIRUT) S PSOSORT=U Q Edited at PRMT+6^PSOORFI6: .I "^"[X S PSOSORT=U Q Test Sites: ----------- Orlando VA Medical Center (Orlando, FL) West Palm Beach VAMC (West Palm Beach, FL) SNOW Change Order #: -------------------- ORL - CHG0742262 WPB - CHG0742635 Software and Documentation Retrieval Instructions: -------------------------------------------------- The software for this patch is being released in a PackMan message. Patch Installation: ------------------- 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 2 minutes to install. For this install there are no options that are required to be disabled. 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*760. 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*760. 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: =========================== Post-Installation Instructions: ------------------------------- Installation Verification: -------------------------- Successful installation can be verified by reviewing the first 2 lines of the routines contained in the patch. The second line will contain the patch number (760) in the [PATCH LIST] section. ;;7.0;OUTPATIENT PHARMACY;**[Patch List]**;DEC 1997 The option Calculate and Show Checksum Values [XTSUMBLD-CHECK] can be run to compare the routine checksums to what is documented in the patch description. Back-out/Roll Back Plan: ------------------------ 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. 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.0*760. Routine Information: ==================== The second line of each of these routines now looks like: ;;7.0;OUTPATIENT PHARMACY;**[Patch List]**;DEC 1997;Build 13 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: PSOORFI2 Before:B100326867 After:B100604850 **7,15,23,27,46,130,146,177, 222,225,338,313,408,612,770, 760** Routine Name: PSOORFI5 Before: B86172264 After: B86353447 **225,315,266,391,372,416,504, 505,557,617,441,545,743,760** Routine Name: PSOORFI6 Before:B124899661 After:B192030239 **225,505,441,760** Routine Name: PSOORFIN Before:B142326958 After:B126789804 **7,15,27,32,44,46,84,106,111, 117,131,146,139,195,225,315, 266,338,391,372,416,446,505, 508,557,628,441,710,770,760** Routine Name: PSOPTPST Before: B27932490 After: B28344171 **7,71,88,146,157,143,225,760** Routine list of preceding patches: 743, 770 ============================================================================= User Information: Entered By : Date Entered : APR 24, 2024 Completed By: Date Completed: SEP 10, 2026 Released By : Date Released : SEP 11, 2026 ============================================================================= Packman Mail Message: ===================== $END TXT