$TXT Created by G at CHY0077.FO-BAYPINES.DOMAIN.EXT (KIDS) on Tuesday, 05/27/25 at 18:28 ============================================================================= Run Date: JUN 10, 2025 Designation: SD*5.3*907 Package : SD - SCHEDULING Priority: Mandatory Version : 5.3 SEQ #757 Status: Released Compliance Date: JUN 25, 2025 ============================================================================= Associated patches: (v)SD*5.3*867 <<= must be installed BEFORE `SD*5.3*907' (v)SD*5.3*904 <<= must be installed BEFORE `SD*5.3*907' (v)SD*5.3*905 <<= must be installed BEFORE `SD*5.3*907' (v)SD*5.3*910 <<= must be installed BEFORE `SD*5.3*907' Subject: SCHEDULING UPDATES TO SUPPORT FRONT END APPLICATIONS Category: - Routine - Enhancement (Mandatory) - Other Description: ============ VistA Scheduling (VS) patch SD*5.3*907 includes several defect corrections and enhancements including: The entry Veterans Crisis Line was added to the SDEC SETTINGS (#409.98) file via a post install routine. The SDES2 GET CLINIC INFO RPC was updated to include the diagnosis multiple and privileged user multiple in the returned JavaScript Object Notation (JSON) object even when these elements are empty. The new SDES2 GET VISTA DEVICES RPC returns a list of VistA devices. Returns a maximum of 80 devices. Can only be invoked by Acheron. The logic supporting the SDES REACTIVATE CLINIC was updated to display and return an appropriate error message when FileMan returns an error when trying to re-activate a clinic. The logic supporting the SDES2 SEARCH CLIN BY STOP CODE RPC was updated to return the message "No Clinics returned for the criteria entered" when no matches are found. The SD*5.3*907 patch includes a post install routine which will disposition open parent MTRC requests that should be closed because all of the child requests have appointments scheduled. The following RPCs were updated to prevent null Note values in the Note Audit section. SDES2 CREATE APPOINTMENT SDES2 CREATE APPT REQ SDES2 CREATE RECALL REQUEST SDES2 EDIT APPOINTMENT SDES2 EDIT APPT REQ SDES2 EDIT RECALL REQUEST The logic supporting the SDES2 INACTIVATE CLINIC RPC was updated to remove the business logic of determining 6 months for inactivation. The logic supporting the FMTISO API was updated to properly handle times where the hour starts with 24. The SDES2 GET CANCELLED SLOTS RPC was updated to return the additional element fullDayCancel in the returned JSON object when all the slots for the specified day were cancelled. 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: 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 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 GET CANCELLED SLOTS Modified SDES2 GET CLINIC INFO Modified SDES2 GET VISTA DEVICES New Parameter Definitions Associated: --------------------------------- N/A Additional Information: ----------------------- N/A New Service Requests (NSRs): N/A Defect Tracking System Ticket(s) & Overview: -------------------------------------------- JIRA tasks: =========== 1) VSE-9509: VistA: Update the veteran crisis line telephone number to "988 x 1", so that ISS reflects the preference set from IVC. Problem: As a user I would like to update the veteran crisis line telephone number to "988 x 1", so that ISS reflects the preference set from IVC. Resolution: The entry Veterans Crisis Line was added to the SDEC SETTINGS (#409.98) file via a post install routine. 2) VSE-9574: VistA: Modify SDES2 GET CLINIC INFO to include the diagnosis multiple and privileged user multiple. Problem: The SDES2 GET CLINIC INFO RPC needs to be updated to include the diagnosis multiple and privileged user multiple in the returned JavaScript Object Notation (JSON) object even when these elements are empty. Resolution: The SDES2 GET CLINIC INFO RPC was updated to include the diagnosis multiple and privileged user multiple in the returned JavaScript Object Notation (JSON) object even when these elements are empty. 3) VSE-9575: VistA: Create a new SDES2 RPC to replace SDES GET VISTA DEVICES. Problem: The Kernel API that VistA is calling in SDES GET VISTA DEVICES returns back only 20 results. VistA code must strip out the last character sent in as this is the way the $ORDER operation works as it takes the value and goes forward. Need a new RPC that allows more than 20 results to be returned. Resolution: The new SDES2 GET VISTA DEVICES RPC returns a list of VistA devices. Returns a maximum of 80 devices. Can only be invoked by Acheron. 4) VSE-9691 - TB - VistA: The SDES REACTIVATE CLINIC has logic to check for an error returned by FileMan but it is flawed. Problem: SDES REACTIVATE CLINIC has logic to check for an error returned by FileMan but it is flawed. Resolution: The logic supporting the SDES REACTIVATE CLINIC was updated to display and return an appropriate error message when FileMan returns an error when trying to re-activate a clinic. 5) VSE-9700: VistA: Modify the SDES2 SEARCH CLIN BY STOP CODE RPC to prevent the return of a null return, which causes a 500 error in Clinic Configuration Manager (CCM). Problem: Modify the SDES2 SEARCH CLIN BY STOP CODE RPC to prevent the return of a null return, which causes a 500 error in CCM. Resolution: The logic supporting the SDES2 SEARCH CLIN BY STOP CODE RPC was updated to return the message "No Clinics returned for the criteria entered" when no matches are found. 6) VSE-9701: VistA: MRTC parent requests were left open even though all the children requests have been dispositioned. Problem: MRTC parent requests were left open even though all the children requests have been dispositioned. Resolution: The SD*5.3*907 patch includes a post install routine which will disposition open parent MTRC requests that should be closed because all of the child requests have appointments scheduled. 7) VSE-9702: VistA: Update SDES2 EDIT APPOINTMENT RPC to prevent null Note values in the Note Audit section. Problem: When an appointment is edited with SDES2 EDIT APPOINTMENT without adding a new note, a null note is inadvertently recorded in the note audit section. Since the service layer does not strip out unnecessary or problematic characters there continue to be issues with trailing spaces and such that create null audit records and other issues. The following RPCs need to be addressed: SDES2 CREATE APPOINTMENT SDES2 CREATE APPT REQ SDES2 CREATE RECALL REQUEST SDES2 EDIT APPOINTMENT SDES2 EDIT APPT REQ SDES2 EDIT RECALL REQUEST Resolution: The following RPCs were updated to prevent null Note values in the Note Audit section. SDES2 CREATE APPOINTMENT SDES2 CREATE APPT REQ SDES2 CREATE RECALL REQUEST SDES2 EDIT APPOINTMENT SDES2 EDIT APPT REQ SDES2 EDIT RECALL REQUEST 8) VSE-9711: VistA: Users are unable to inactivate a clinic at the exact 6 month mark. Problem: The issue is that the number of days in 6 months is 182.5 days. So, dependent upon the month, the logic check of 182 days doesn't work. Resolution: The logic supporting the SDES2 INACTIVATE CLINIC RPC was updated to remove the business logic of determining 6 months for inactivation. 9) VSE-9747: VistA: Modify FMTISO API to no longer use the kernel logic to convert date. Problem: The current API that converts a FileMan date to an ISO date calls $$FMTHL7^XLFDT (Kernel code). It was discovered during research that when the FileMan time is 24## where the minutes are not 00 (example 2415), the logic does not return the needed 00 time. If FM time is .24, the logic returns 0000; however, if the FileMan time is .2415, then it returns 2415. This causes the User Interface to error out. During coding, it was determined that the hours returned sometimes are greater than 2459, so a modification is also needed to subtract out the 2400 to convert to the correct time. Resolution: The logic supporting the FMTISO API was updated to properly handle times where the hour starts with 24. 10) VSE-9995: VistA: Modify SDES2 GET CANCELLED SLOTS RPC to return back a Boolean fullDayCancelled flag. Problem: It was identified that CCM needs a way to know when a cancellation for a date is a partial or full day cancel. Resolution: The SDES2 GET CANCELLED SLOTS RPC was updated to return the additional element fullDayCancel in the returned JSON object when all the slots for the specified day were cancelled. Test Sites: ----------- Lebanon, PA (LEB) St. Cloud, MN (STC) Test Sites - SNOW Change Order #: LEB: CHG0613830 STC: CHG0614434 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. Post-install routine SDES907P will perform the following actions: 1. Create a background process to remove null comment audit entries from RECALL REMINDERS (#403.5) file. 2. Update SDEC Help link text so that ISS reflects preferences set from IVC. 3. Create a background process to remove null comment audit entries from RECALL REMINDERS (#403.5) file. 4. Create a background process remove null comment audit entries from SDEC APPT REQUEST (#409.85) file. 5. Create a background process remove null note audit entries from SDEC APPOINTMENT (#409.84) file. 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*907. 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*907 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: ------------------------------- Post install routine SDES907P will automatically run at the end of the installation process. After the post install has finished running, sites can delete the SDES907P routine using the Delete Routines [XTRDEL] if they wish. 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*907b. 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*907b backup installs without any issues. Routine Information: ==================== The second line of each of these routines now looks like: ;;5.3;Scheduling;**[Patch List]**;13 Aug 1993;Build 5 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: SDAMUTDT Before: B49640078 After: B49681336 **266,805,809,813,867,907** Routine Name: SDES2APPTUTIL Before:B139220034 After:B102041437 **866,871,875,877,878,880,881, 890,893,905,907** Routine Name: SDES2CLININFO Before:B187997077 After:B199561941 **893,895,898,907** Routine Name: SDES2CREATEAPPT Before:B151919000 After:B154487161 **866,869,873,875,877,880,881, 886,893,895,898,901,905,907** Routine Name: SDES2CRTAPREQ Before:B226235705 After:B226651448 **869,871,875,877,893,895,897, 899,901,907** Routine Name: SDES2EDITAPPT Before: B8754996 After: B8300935 **893,895,907** Routine Name: SDES2EDITAPREQ Before:B198368140 After:B192872898 **869,871,873,875,890,893,895, 901,904,907** Routine Name: SDES2GETCANSLOTS Before: B34250923 After: B35681659 **866,880,893,907** Routine Name: SDES2GETDEVICES Before: n/a After: B26306799 **907** Routine Name: SDES2INACTCLIN Before: B78338310 After: B76742022 **864,877,890,902,903,905,907** Routine Name: SDES2REACTTCLIN2 Before: B44219827 After: B46213285 **903,907** Routine Name: SDES2RECLLREQ Before: B89473161 After: B90136952 **866,881,890,895,901,907** Routine Name: SDES2SRCHCLNBYSC Before: B81116019 After: B81832058 **886,907** Routine Name: SDES2UTIL Before:B138309924 After:B162283076 **853,857,864,877,887,897,910,907** Routine Name: SDES907P Before: n/a After: B51959927 **907** Routine list of preceding patches: 867, 904, 905, 910 ============================================================================= User Information: Entered By : Date Entered : FEB 07, 2025 Completed By: Date Completed: JUN 10, 2025 Released By : Date Released : JUN 10, 2025 ============================================================================= Packman Mail Message: ===================== $END TXT