$TXT Created by at CHY0016.FO-BAYPINES.DOMAIN.EXT (KIDS) on Monday, 04/06/26 at 10:29 ============================================================================= Run Date: MAY 04, 2026 Designation: SD*5.3*941 Package : SD - SCHEDULING Priority: Mandatory Version : 5.3 SEQ #788 Status: Released Compliance Date: MAY 18, 2026 ============================================================================= Associated patches: (v)SD*5.3*875 <<= must be installed BEFORE `SD*5.3*941' (v)SD*5.3*889 <<= must be installed BEFORE `SD*5.3*941' (v)SD*5.3*903 <<= must be installed BEFORE `SD*5.3*941' (v)SD*5.3*909 <<= must be installed BEFORE `SD*5.3*941' (v)SD*5.3*940 <<= must be installed BEFORE `SD*5.3*941' Subject: SCHEDULING UPDATES TO SUPPORT FRONT END APPS Category: - Routine - Enhancement (Mandatory) - Other Description: ============ ************************************************************************** * This patch should be queued to be installed during off hours to * * minimize errors being logged as users actively call the RPCs that * * are being updated by the patch. * ************************************************************************** VistA Scheduling (VS) patch SD*5.3*941 includes several defect corrections and enhancements including: The logic supporting the get Requests Remote Procedure Calls (RPC) was updated to return the date the last letter was sent instead of the last contact attempted date. The return object was updated for the following RPCs: SDES GET APPT REQ BY TYPE VET SDES2 GET APPT REQ BY DFN SDES2 GET APPT REQ BY IEN SDES2 GET APPT REQ BY TYP VET The new SDES2 CREATE WALKIN APPT2 RPC will return the full appointment object and the request Internal Entry Number (IEN). The new SDES2 BLOCK AND MOVE2 RPC allows the user to block and move an appointment. This will block the availability in the slot the appointment was originally in and move it to a new clinic. This version of the RPC will also return the full appointment object. The logic supporting the SDES2 CREATE CLINIC AVAIL 2 RPC was updated to: 1) Return an error when times are passed that are not consistent with the length of appointment. 2) Return an error when the start time and end time matches. The logic supporting the SDES GET CLIN AVAILABILITY to properly handle appointment that roll across midnight. The logic supporting the SDES2 CREATE APPOINTMENT2 RPC was updated to remove the "AppointmentIEN" from the returned JSON object and an additional check was added to report any errors returned from BUIDAPPTOBJ^SDES2BLDAPPTOBJ. 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 ------------------ ---------- -------------------- 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 ----------- ---- -------------------- SDESRPC Broker (Client/Server) Modified 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 --------------------- -------------------- SDES2 BLOCK AND MOVE2 New SDES2 CREATE WALKIN APPT2 New Parameter Definitions Associated: --------------------------------- N/A Additional Information: ----------------------- N/A New Service Requests (NSRs): N/A Defect Tracking System Ticket(s) & Overview: -------------------------------------------- 1) VSE-10893: VistA: Showing the last contact attempted entered date vs the last letter sent. Problem: Update all get requests RPCs to correctly provide the date the last letter was sent. The logic was identified as showing the last contact attempted entered date vs the last letter sent. Resolution: The logic supporting the get Requests Remote Procedure Calls (RPC) was updated to return the date the last letter was sent instead of the last contact attempted date. The return object was updated for the following RPCs: SDES GET APPT REQ BY TYPE VET SDES2 GET APPT REQ BY DFN SDES2 GET APPT REQ BY IEN SDES2 GET APPT REQ BY TYP VET 2) VSE-11417: VistA: Return full object back on creation of appointment - SDES2 CREATE WALKIN APPT2. Problem: To help improve VSA performance, the SDES2 CREATE WALKIN APPT RPC was identified as needing a full return object on creation. Resolution: The new SDES2 CREATE WALKIN APPT2 RPC will return the full appointment object and the request Internal Entry Number (IEN). 3) VSE-11418: VistA: Return full object back on creation of appointment - SDES2 BLOCK AND MOVE. Problem: To help improve VSA performance, the SDES2 BLOCK AND MOVE RPC was identified as needing a full return object on creation. Resolution: The new SDES2 BLOCK AND MOVE2 RPC allows the user to block and move an appointment. This will block the availability in the slot the appointment was originally in and move it to a new clinic. This version of the RPC will also return the full appointment object. 4) VSE-11529: VistA: Modify SDES2 CREATE CLINIC AVAIL 2 to correctly identify when the duration is inconsistent with the length of appointment or if the same Start/End time are sent in. Problem: When creating availability for a clinic, there is a requirement that the availability being defined has to be consistent with the appointment length. That is, the availability defined has to be evenly divisible by the length of appointment defined for the clinic. Example would be that if a clinic has an appointment length of 45 minutes, the availability has to be 45 minutes for each slot (8-8:45, 8:45-9:30, etc..). If an start and end time are sent in that are not divisible by the length of an appointment, the logic should error out (as this would cause data issues). It was discovered that the logic within the SDES2 CREATE CLINIC AVAIL 2 is not storing the data; however, it is also not sending back an error. During research it was found that when calling the logic that checks the duration of the appointment, the calling routine is sending both an internal date and time (3250101.0900) and should only be sending the time (0900). By sending the date with the time the logic is unable to define the hour and minutes correctly. Resolution: The logic supporting the SDES2 CREATE CLINIC AVAIL 2 RPC was updated to: 1) Return an error when times are passed that are not consistent with the length of appointment. 2) Return an error when the start time and end time matches. 5) VSE-11586: VistA: Modify SDES GET CLINIC AVAIL to be able to handle appointments that go past midnight. Problem: Need to modify SDES GET CLIN AVAILABILITY to be able to handle appointments that go past midnight to prevent deserialization error in the Integrated Scheduling Solution (ISS). Resolution: The logic supporting the SDES GET CLIN AVAILABILITY to properly handle appointment that roll across midnight. 6) VSE-11697: VistA: Modify SDES2 CREATE APPOINTMENT2 to correct error field name. Problem: During review of code it was found that the last check for errors has "AppointmentIEN" in the return and needs to be removed. There is also a need to check for errors when the logic returns from BUIDAPPTOBJ^SDES2BLDAPPTOBJ. Resolution: The logic supporting the SDES2 CREATE APPOINTMENT2 RPC was updated to remove the "AppointmentIEN" from the returned JSON object and an additional check was added to report any errors returned from BUIDAPPTOBJ^SDES2BLDAPPTOBJ. Test Sites: ----------- Columbia, SC (CMS) Lebanon, PA (LEB) Test Sites - SNOW Change Order #: --------------------------------- Columbia, SC (CMS): CHG0725365 Lebanon, PA (LEB): CHG0725242 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*941. 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*941 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*941b. 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*941b 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 3 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: SDES2BLCKANDMOV2 Before: n/a After: B94929366 **941** Routine Name: SDES2CREATEAPPT2 Before:B188947265 After:B188848213 **940,941** Routine Name: SDES2CRTCLNAVAIL Before:B150361187 After:B150736268 **890,897,899,903,941** Routine Name: SDES2CRTCLNAVAL2 Before:B178941520 After:B177037849 **904,914,919,920,922,909,941** Routine Name: SDES2CRTWALKIN2 Before: n/a After: B55209188 **941** Routine Name: SDES2GETAPPTREQ Before:B157798460 After:B159146415 **873,877,878,880,890,893,908, 922,909,941** Routine Name: SDESCLINICAVAIL Before: B34638541 After: B37556918 **800,805,809,816,820,823,826, 827,828,831,864,881,889,941** Routine Name: SDESGETAPPTREQ Before:B202661408 After:B204238482 **815,818,819,823,824,825,828, 831,833,837,838,839,845,847, 851,861,873,875,941** Routine list of preceding patches: 875, 889, 903, 909, 940 ============================================================================= User Information: Entered By : Date Entered : JAN 13, 2026 Completed By: Date Completed: MAY 04, 2026 Released By : Date Released : MAY 04, 2026 ============================================================================= Packman Mail Message: ===================== $END TXT