$TXT Created by G at CHY0077.FO-BAYPINES.DOMAIN.EXT (KIDS) on Tuesday, 07/28/26 at 16:14 ============================================================================= Run Date: AUG 05, 2026 Designation: SD*5.3*949 Package : SD - SCHEDULING Priority: Mandatory Version : 5.3 SEQ #795 Status: Released Compliance Date: AUG 19, 2026 ============================================================================= Associated patches: (v)SD*5.3*930 <<= must be installed BEFORE `SD*5.3*949' (v)SD*5.3*944 <<= must be installed BEFORE `SD*5.3*949' (v)SD*5.3*947 <<= must be installed BEFORE `SD*5.3*949' Subject: SCHEDULING UPDATES TO SUPPORT FRONT END APPS Category: - Data Dictionary - Routine - Other - Enhancement (Mandatory) Description: ============ ************************************************************************** * This patch should be queued to be installed during off hours to * * minimize errors being logged as users actively call the Remote * * Procedure Calls (RPC) being updated by the patch. * * * * This patch should NOT be installed or queued to be installed * * during the installation of any other Scheduling patch. * ************************************************************************** VistA Scheduling (VS) patch SD*5.3*949 includes several defect corrections and enhancements including: When running RPC logic, there is no longer leaking variables after code has been executed. All validation of fields correctly completes RPC without error (validation to include missing fields, invalid fields, and valid fields. When running RPC logic, there is no longer leaking variables after code has been executed. The RPC and the routine have been updated to include the full clinic object in the return. The new field Startime has been added and HOUR CLINIC DISPLAY BEGINS is correctly updated when Startime is sent in. There is proper validation on start time and appropriate errors for that validation. The return will also include the full clinic object. When files are being updated with the VistA system the Acheron audit ID should be stored when update is done via Acheron. In addition to the Acheron audit ID, adding a field to help denote what RPC was used to update the data. Updated SDES2CONTACTS logic to store the Acheron audit ID in the new EAS Tracking Number field within file 409.863 (SDEC CONTACT). Added logic to save the XWB(2,"RPC") value into the new EAS RPC field and store SDCONTEXT("AppID") in the new EAS App ID field. Reviewed and updated unit tests as needed to support the new functionality. The Ghost Availability instances report ignores empty or slot deficient "OST" nodes. Identified clinics with indefinitely deleted availability that still contain ST nodes, excluding cases where ST nodes represent holidays for clinics that do not operate on holidays. Determined how to flag clinics that meet these conditions and also have existing appointments. Documented all research findings and outlined requirements for the post-install report. Coordinated with Zoie and Toni to either create the post-install report within this sprint or schedule a follow up post-install task for the next sprint, depending on available time. Created two new RPCs-SDES2 GET CLINIC GRPS BY STN and SDES2 GET CLN GRPS BY CLN IEN-to return clinic group IENs and names based on station number or clinic IEN. Added both RPCs to the SDESRPC option. Implemented supporting unit tests to validate functionality. Modified SDES2 UNDO CHECKOUT to correctly update the appointment status and ensure the Outpatient Encounter file reflects the required "ACTION REQUIRED" status. The UNDO CHECKOUT process was tested to confirm accurate status reassignment. All updates function as intended. A report will be generated and sent to installers as well as management on FORUM, listing clinics with identified issues. The report includes the clinic IEN, clinic name, slot date and time, DFNs delimited by a pipe, and totals for clinics searched and issues found. EHRM Impact Statement: ---------------------- This patch should have no EHRM impact, and can be installed at all sites, including EHRM converted sites. Patch Components: New/Modified/Deleted ----------------- -------------------- Files & Fields Associated: New/Modified/Deleted -------------------------- -------------------- File Name (Number) Field Name New/Modified/Deleted ------------------ ---------- -------------------- PATIENT (#2) Modified Partial DD: subDD: 2.98 EAS TRACKING NUMBER fld: 101 New EAS RPC fld: 102 New EAS APPID fld: 103 New HOSPITAL LOCATION (#44) Modified Partial DD: subDD: 44 EAS RPC fld: 100.1 New EAS APPID fld: 100.2 New subDD: 44.003 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 New RECALL REMINDERS (#403.5) Modified Partial DD: subDD: 403.5 EAS RPC fld: 101 New EAS APPID fld: 102 New RECALL REMINDERS REMOVED (#403.56) Modified Partial DD: subDD: 403.56 EAS RPC fld: 100.1 New EAS APPID fld: 100.2 New LETTER (#407.5) Modified Partial DD: subDD: 407.5 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC RESOURCE (#409.831) Modified Partial DD: subDD: 409.831 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC RESOURCE GROUP (#409.832) Modified Partial DD: subDD: 409.832 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC APPOINTMENT (#409.84) Modified Partial DD: subDD: 409.84 EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC CHECK-IN STEP STATUS (#409.842) Modified Partial DD: subDD: 409.842 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC PREFERENCES AND SPECIAL (#409.845) Modified Partial DD: subDD: 409.845 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC APPT REQUEST (#409.85) Modified Partial DD: subDD: 409.85 EAS RPC fld: 101 New EAS APPID fld: 102 New SDEC CONTACT (#409.86) Modified Partial DD: subDD: 409.863 EAS TRACKING NUMBER fld: 100 New EAS RPC fld: 101 New EAS APPID fld: 102 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 ----------- ---- -------------------- 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: ----------------------------- SDES2 CREATE CLINIC VSE-11700 (MODIFIED) SDES2 EDIT CLINIC VSE-11826 (MODIFIED) SDES2 GET CLINIC GRPS BY STN VSE-12127 (NEW) SDES2 GET CLN GRPS BY CLN IEN VSE-12127 (NEW) Remote Procedure Name New/Modified/Deleted --------------------- -------------------- Parameter Definitions Associated: --------------------------------- N/A Additional Information: ----------------------- N/A New Service Requests (NSRs): N/A Defect Tracking System Ticket(s) & Overview: -------------------------------------------- 1) VSE-9962 VistA: Fix Leaking Variables in SDES2 CREATE VET REQ AND APPT and Modify the validation tag to correctly quit out when error occurs with DFN , Clinic IEN. start and end times. Problem: Fix Leaking Variables in SDES2 CREATE VET REQ AND APPT discovered during primary developer checklist steps as part of Visitor Pattern. During testing of the ticket, developer found that if DFN was not sent in the code hit a subscript error. Upon review the validation tag had multiple issues as it assumes all data is sent in and validated. Error checking needs added. Resolution: When running RPC logic, there is no longer leaking variables after code has been executed. All validation of fields correctly completes RPC without error (validation to include missing fields, invalid fields, and valid fields. 2) VSE-10901 VistA: Fix Leaking Variables in SDES2 NO-SHOW Problem: During testing of a previous ticket leaking variables were found in this RPC. Resolution: When running RPC logic, there is no longer leaking variables after code has been executed. 3) VSE-11700 VistA: Create Full object return for SDES2 CREATE CLINIC Problem: To help improve VSA performance, this RPC was identified as needing a full return object on creation. Resolution: The RPC and the routine have been updated to include the full clinic object in the return. 4) VSE-11826 VistA: Modify SDES2 EDIT CLINIC to accept start time & create full object return Problem: To help improve VSA performance, this RPC was identified as needing a full return object on creation. In addition, it was also found that SDES2 EDIT CLINIC needed to be modified to accept start time. Resolution: The new field Startime has been added and HOUR CLINIC DISPLAY BEGINS is correctly updated when Startime is sent in. There is proper validation on start time and appropriate errors for that validation. The return will also include the full clinic object. 5) VSE-11828 VistA: Implement new fields for EAS TRACKING NUMBER and EAS RPCs in scheduling files Problem: When files are being updated with the VistA system the Acheron audit ID should be stored when update is done via Acheron. In addition to the Acheron audit ID, adding a field to help denote what RPC was used to update the data. Resolution: All required files were added to the patch build. This includes the EAS Tracking Number, EAS RPC, and EAS AppID fields for files 409.832, 409.86, 407.5, 409.831, 409.845, 44.001, and 2.98. Additionally, all necessary EAS RPC fields were added to files 409.84, 409.85, 44, and 403.5. 6) VSE-11833 VistA: Update SDES2 ADD CONTACT ATTEMPT Problem: SDES2 ADD CONTACT ATTEMPT needs to be modified to store the new EAS audit fields within the #409.863 - DATE/TIME OF CONTACT SUB-FILE. Resolution: Updated SDES2CONTACTS logic to store the Acheron audit ID in the new EAS Tracking Number field within file 409.863 (SDEC CONTACT). Added logic to save the XWB(2,"RPC") value into the new EAS RPC field and store SDCONTEXT("AppID") in the new EAS App ID field. Reviewed and updated unit tests as needed to support the new functionality. 7) VSE-11934 VistA: Modified Post install - Ghost Availability Problem: The report to identify instances of Ghost Availability, initially released with SD*5.3*942 as a post-installation process, was counting "OST" nodes with no actual appointment slots in the node. Resolution: The Ghost Availability instances report ignores empty or slot deficient "OST" nodes. 8) VSE-12109 VistA: Identify clinics that have "ST" nodes, but the availability is marked as deleted and also flag those with appointments on that day Problem: During investigation into disappearing clinic grids, it was found that the remap logic removes availability when a clinic's indefinite availability data is marked as deleted. Clinics exhibiting this condition need to be identified so they can be corrected before REMAP runs again. The task is to determine how to find clinics that contain ST nodes but no corresponding OST nodes while also having indefinite availability flagged as deleted. Additionally, dates with existing appointments that should have been removed due to deleted indefinite availability must be flagged for cleanup. Resolution: Identified clinics with indefinitely deleted availability that still contain ST nodes, excluding cases where ST nodes represent holidays for clinics that do not operate on holidays. Determined how to flag clinics that meet these conditions and also have existing appointments. Documented all research findings and outlined requirements for the post-install report. Coordinated with Zoie and Toni to either create the post-install report within this sprint or schedule a follow up post-install task for the next sprint, depending on available time. 9) VSE-12127 VistA: EPS Get Clinic Groups Endpoint Problem: The ticket addressed the lack of an endpoint for retrieving clinic groups by station ID or clinic IEN, which limited EPS users' ability to locate and manage clinic groups effectively. Resolution: Created two new RPCs-SDES2 GET CLINIC GRPS BY STN and SDES2 GET CLN GRPS BY CLN IEN-to return clinic group IENs and names based on station number or clinic IEN. Added both RPCs to the SDESRPC option. Implemented supporting unit tests to validate functionality. 10) VSE-12131 VistA: Update SDES2 UNDO CHECKOUT to set the Outpatient Encounter status correctly Problem: In SDES2 UNDO CHECKOUT, the encounter currently updates with the previous appointment status, resulting in it being set to CHECKED OUT. The status should be fixed to reflect the correct appointment status instead of the previous one Resolution: Modified SDES2 UNDO CHECKOUT to correctly update the appointment status and ensure the Outpatient Encounter file reflects the required "ACTION REQUIRED" status. The UNDO CHECKOUT process was tested to confirm accurate status reassignment. All updates function as intended. 11) VSE-12133 VistA: Post-Install to identify clinics with slot decrement issues Problem: VetText sometimes identifies open slots that don't exist due to incorrect slot count decrementing when the first appointment is created. A prior post install detected clinics with bad slot counts, but it included clinics that weren't at risk of overbooking. The modification is to refine that logic so it only flags clinics where the slot count is higher than it should be, helping isolate those that could generate invalid earlier-slot offers.xx Resolution: A report will be generated and sent to installers as well as management on FORUM, listing clinics with identified issues. The report includes the clinic IEN, clinic name, slot date and time, DFNs delimited by a pipe, and totals for clinics searched and issues found. Test Sites: ----------- Amarillo, TX (AMA) For Harrison, MT (FHM) Test Sites - SNOW Change Order #: --------------------------------- Amarillo, TX (AMA): CHG0763999 For Harrison, MT (FHM): CHG0758368 Software and Documentation Retrieval Instructions: ---------------------------------------------------- Software is distributed by PackMan message. Other Software Files: This release also includes documentation and other software files. They can be obtained at: https://download.vista.domain.ext/index.html/SOFTWARE/ File Title File Name Format -------------------------------------------------------------------------- PIMS Technical Manual SD_PIMS_TM Binary 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 --------------------------------------------------------------------- PIMS Technical Manual SD_PIMS_TM Patch Installation: ------------------- Pre/Post Installation Overview: ------------------------------- Sites will read the National Patch Module (NPM) MailMan message and extract the Kernel Installation & Distribution System (KIDS) build. Then sites will use the Kernel Installation & Distribution System [XPD MAIN] menu to perform checks and install the patch. 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 SD*5.3*949. 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 SD*5.3*949 iii. When prompted for the following, enter "R" for Routines or "B" for Build. Select one of the following: B Build (including Routines) R Routines Only Backup Type: B// 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. Post-Installation Instructions: ------------------------------- Back-Out Plan/Roll Back Plan: ----------------------------- 1. Load the Backup MailMan Message a. Go into MailMan and find the backup message created in step 3a of the installation process and read that message. b. At the "Type to continue or '^' to exit:" prompt enter ^ to get to the command prompt. c. At the command prompt enter X for eXtract and press enter. d. At the "Select PackMan function:" prompt enter 6 for INSTALL/CHECK MESSAGE and press enter. e. At the "OK to Continue with Load? NO//" prompt, type YES and press enter. f. At the "Want to Continue with Load? YES//" prompt, press enter. g. Exit MailMan. 2. Go Into the Kernel Installation & Distribution System (KIDS) and load and install the backup like you would a regular patch. a. Enter D ^XUP at the command prompt. b. At the "Select OPTION NAME:" prompt, enter Kernel Installation & Distribution System" and press enter. c. From the main KIDS menu, select the Installation ... option. d. From the Installation ... option, select 6 Install Package(s). e. At the "Select INSTALL NAME:" prompt enter SD*5.3*949b. f. If prompted for "Want KIDS to INHIBIT LOGONs during the install? NO//" take the default by pressing enter. g. If prompted for "Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//" take the default by pressing enter. h. At the DEVICE: prompt, enter the output device of your choice. i. Verify that the SD*5.3*949b backup installs without any issues Routine Information: ==================== The second line of each of these routines now looks like: ;;5.3;Scheduling;**[Patch List]**;Aug 13, 1993;Build 4 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: SDES2CONTACTS Before: B93534802 After: B96857630 **860,873,878,887,917,909,949** Routine Name: SDES2CREATECLIN Before: B75271557 After: B77475105 **853,860,871,885,893,895,899, 914,909,949** Routine Name: SDES2CRTVETAPPT Before: B49417337 After: B54327124 **867,869,877,881,909,949** Routine Name: SDES2EDITCLIN Before:B156437693 After:B164294071 **853,857,864,866,871,885,890, 893,895,914,909,949** Routine Name: SDES2GETCLNGRPS Before: n/a After: B16244800 **949** Routine Name: SDES2NOSHOW Before: B36266623 After: B37404986 **871,875,889,915,919,927,909, 929,943,944,949** Routine Name: SDES2UNDOCHKOUT Before: B25024148 After: B25631036 **877,919,909,942,945,947,949** Routine Name: SDES2VAL44 Before:B209070859 After:B204056986 **853,857,864,866,871,890,914, 930,949** Routine Name: SDES949P Before: n/a After:B168494005 **949** Routine list of preceding patches: 930, 944, 947 ============================================================================= User Information: Entered By : Date Entered : APR 29, 2026 Completed By: Date Completed: AUG 03, 2026 Released By : Date Released : AUG 05, 2026 ============================================================================= Packman Mail Message: ===================== $END TXT