$TXT Created by G at CHY0077.FO-BAYPINES.DOMAIN.EXT (KIDS) on Wednesday, 10/23/24 at 15:36 ============================================================================= Run Date: NOV 05, 2024 Designation: SD*5.3*890 Package : SD - SCHEDULING Priority: Mandatory Version : 5.3 SEQ #741 Status: Released Compliance Date: NOV 19, 2024 ============================================================================= Associated patches: (v)SD*5.3*820 <<= must be installed BEFORE `SD*5.3*890' (v)SD*5.3*881 <<= must be installed BEFORE `SD*5.3*890' (v)SD*5.3*885 <<= must be installed BEFORE `SD*5.3*890' Subject: Updates to Scheduling RPCs Category: - Routine - Enhancement (Mandatory) - Other Description: ============ VistA Scheduling (VS) patch SD*5.3*890 includes several defect corrections and enhancements including: The logic supporting the Length of Appointment has been updated to allow the editing within a clinic to 30 or 60 minutes. The logic supporting the creation of new clinic availability was updated to preserve any pre-existing cancelled timeslots. The following RPCs were updated to return back scheduling users who have been disusered: SDES GET USER PROFILE BY DUZ SDES GET USRPROFILE SDES2 GET USER PROF BY SECID SDES2 GET USER PROFILE BY DUZ SDES2 SEARCH PROVIDERS The new SDES2 GET SERVICES FOR CLINICS RPC will retrieve the list of services from the SERVICE (#9) field of the HOSPITAL LOCATION (#44) file. The SD*5.3*890 patch includes a post install routine that will run when the patch is installed. The post install will compare the Gold Standard for HOSPITAL LOCATION (#44), SERVICE (#9) field and will send a MailMan message to the VSE team on Forum to identify any sites that have modified the set of codes allowable as a SERVICE within the HOSPITAL LOCATION file. The Data Dictionary (DD) security for the HOSPITAL LOCATION file (#44) updated so that only developers can update the DD. The following RPCS were updated to return the reason that a duplicate request is being allowed when a new request is created, so that we can identify why two requests exists for the same clinic/service. The logic supporting the inactivation of a clinic was updated to allow the user to inactivate a clinic that is active even if the reactivate date is the same as the new inactivate date. The ISS appointment type validation was updated to account for appointment types that can be a combination of numbers and characters. The SDES2APPTUTIL routine was updated to prevent the GMRCDUZ from leaking into the symbol table until the CPRS team can coordinate a fix on their side. Patch Components: ----------------- Files & Fields Associated: New/Modified/Deleted -------------------------- -------------------- SDES ERROR CODES New errors being Modified (#409.93) deployed File Name (Number) Field Name New/Modified/Deleted ------------------ ---------- -------------------- SDEC APPT REQUEST DUPLICATE REASON New (#409.85) (#51) 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 ------------- -------------------- 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 --------------------- -------------------- SDES GET USER PROFILE BY DUZ Modified SDES GET USRPROFILE Modified SDES2 EDIT APPT REQ Modified SDES2 CREATE CLINIC AVAIL New SDES2 CREATE RECALL REQUEST Modified SDES2 GET APPT REQ BY DFN Modified SDES2 GET APPT REQ BY IEN Modified SDES2 GET APPT REQ BY TYP VET Modified SDES2 GET APPT REQ LIST BY DFN Modified SDES2 GET CONSULT BY IEN Modified SDES2 GET CONSULTS BY DFN Modified SDES2 GET RECALL BY IEN Modified SDES2 GET RECALLS BY DFN Modified SDES2 GET REQUESTS BY INST Modified SDES2 GET SERVICES FOR CLINICS New SDES2 GET USER PROF BY SECID New SDES2 GET USER PROFILE BY DUZ New SDES2 SEARCH PROVIDERS New Parameter Definitions Associated: --------------------------------- N/A Defect Tracking System Ticket(s) & Overview: -------------------------------------------- JIRA tasks: =========== 1) VSE-7980: VistA: Support re-opening length of appointment field as needed. Problem: As a CCM user I want to be able to reopen the Length of Appointment field as needed with the following business rules. Business use case added attachment below: * Length of Appointment field will be made editable post clinic creation * Display Increments field will be made editable post clinic creation * Length of appointment field can only be changed to 30 or 60 minutes * Length of appointment field cannot be decreased The following outline from current LOA settings: * Clinic with 10 min length of appointment can only be increased to 30 or 60 minutes * Clinic with 15 min length of appointment can only be increased to 30 or 60 minutes * Clinic with 20 min length of appointment can only be increased to 60 minutes * Clinic with 30 min length of appointment can only be increased to 60 minutes * Clinic with 40 min length of appointment can only be increased to 60 minutes * Clinic with 45 min length of appointment can only be increased to 60 minutes * Clinics with a length of appointment = or >60 min cannot have the length of appointment modified When Length of appointment field is changed, the Display Increments per Hour field will also be editable with the following outline: * When length of appointment is changed the display increments per hour field will become editable * When a clinics length of appointment field is changed to 30 the increments per hour field should only offer the original increment and 30 - min as a selection * When a clinics length of appointment field is changed to 60 the increments per hour field should only offer the original increment and 60 - min as a selection Resolution: The logic supporting the Length of Appointment has been updated to allow the editing within a clinic to 30 or 60 minutes. 2) VSE-8000: VistA: Keep previously canceled timeslots in place when overwriting new clinic availability. Problem: As a scheduler, I would like functionality put in place to prevent the loss of pre-existing cancelled timeslots when creating new availability within a clinic. Currently, when new availability is created for a particular day that day has pre-existing cancelled timeslots, the timeslots are not reapplied after the new availability is created, resulting in the loss of all the cancelled timeslots that existed prior to creating new availability. Resolution: The logic supporting the creation of new clinic availability was updated to preserve any pre-existing cancelled timeslots. 3) VSE-8310: VistA: Write 3 RPCs into SDES2 namespace and return error message for inactive users for all User Profile RPCs. Problem: As a VUPS user I want to receive an error message back for following RPCs that will identify scheduling users who have been disusered. I also want SDES GET USRPROFILE, SDES SEARCH PROVIDERS, SDES GET USER PROFILE BY DUZ rewritten into the SDES2 namespace. Resolution: The following RPCs were updated to return back scheduling users who have been disusered: SDES GET USER PROFILE BY DUZ SDES GET USRPROFILE SDES2 GET USER PROF BY SECID SDES2 GET USER PROFILE BY DUZ SDES2 SEARCH PROVIDERS 4) VSE-8406: VistA: Create a new RPC that sends back the set of code stored in the HOSPITAL LOCATION (#44) file, SERVICE (#9) field and the description for those codes. Problem: As a CCM user, I need to be able to see all allowable SERVICE values, so that I can select the correct one. As a MUMPS developer, I need to Create a new RPC that sends back the set of code stored in the HOSPITAL LOCATION (#44) file, SERVICE (#9) field and the description for those codes. Resolution: The new SDES2 GET SERVICES FOR CLINICS RPC will retrieve the list of services from the SERVICE (#9) field of the HOSPITAL LOCATION (#44) file. 5) VSE-8408: VistA: Create a Post init routine that would compare the Gold Standard for HOSPITAL LOCATION (#44), SERVICE (#9) field. Problem: As a MUMPS developer I want to create a Post init routine that would compare the Gold Standard for HOSPITAL LOCATION (#44), SERVICE (#9) field and would send a MailMan message to the VSE team on Forum to identify any sites that have modified the set of codes allowable as a SERVICE within the HOSPITAL LOCATION file. Resolution: The SD*5.3*890 patch includes a post install routine that will run when the patch is installed. The post install will compare the Gold Standard for HOSPITAL LOCATION (#44), SERVICE (#9) field and will send a MailMan message to the VSE team on Forum to identify any sites that have modified the set of codes allowable as a SERVICE within the HOSPITAL LOCATION file. 6) VSE-8409: VistA: lock down File 44 to prevent third party changes to the file. Problem: As a MUMPS developer I want to lock down the HOSPITAL LOCATION file (#44) to prevent third party changes to the file. Resolution: The Data Dictionary (DD) security for the HOSPITAL LOCATION file (#44) updated so that only developers can update the DD. 7) VSE-8441: VistA: Add new text field, DUPLICATE REASON to SDEC APPT REQUEST (#409.85) file. Problem: As an ISS scheduler, I want to be able to identify a reason that a duplicate request is being allowed when I create a new request, so that we can identify why two requests exists for the same clinic/service. Resolution: The following RPCS were updated to return the reason that a duplicate request is being allowed when a new request is created, so that we can identify why two requests exists for the same clinic/service. 8) VSE-8478: VistA: Modify SDES2 INACTIVATE CLINIC to check to see if there is a current reactivate date on the clinic that is less than or equal to the passed in inactivate date. Problem: As a Clinical configuration Manager, I need to be able to inactivate a clinic that is active even if the reactivate date is the same as the new inactivate date. Resolution: The logic supporting the inactivation of a clinic was updated to allow the user to inactivate a clinic that is active even if the reactivate date is the same as the new inactivate date. 9) VSE-8610: VistA: PtCSch request creation failed. Problem: AEU is encountering an error in ISS when trying to create a recall request. * When the appointment type is a string with a number followed by a string of characters, the current validation is seeing this as a number and incorrectly sending back an Invalid Appointment type error. * The "18 month F/UP" is being seen as a number. Often code is written to check if the value being sent in is a number or an alpha. The code is seeing this value as 18 and then erring out because the number is an invalid IEN. Resolution: The ISS appointment type validation was updated to account for appointment types that can be a combination of numbers and characters. 10) VSE-8728: VistA: Modifications to SDES2APPTUTIL to fix a leaking variable. Problem: Schedulers have reported that consults are sporadically being updated with the wrong user under the SCHEDULED activity. After research, the developers found that there is a leaking variable out of the GMRCGUIB code. The scheduling team will work with CPRS team to have them change their code, but as an interim we will change SDES2APPTUTIL to NEW this variable to prevent the issue from reoccurring. Resolution: The SDES2APPTUTIL routine was updated to prevent the GMRCDUZ from leaking into the symbol table until the CPRS team can coordinate a fix on their side. Test Sites: ----------- Iron Mountain, MI (IRO) Fort Harrison, MT (FHM) 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/ Documentation Title File Name FTP Mode -------------------------------------------------------------------------- PIMS Technical Manual 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/ Patch Installation: ------------------- Pre/Post Installation Overview: ------------------------------- Routine SDES890P will update SDEC SETTINGS (#409.98) file. Routine will run at the end of patch installation process. Pre-Installation Instructions: ------------------------------ N/A Setup/Configuration 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. 1. Choose the PackMan message containing this patch. 2. Choose the INSTALL/CHECK MESSAGE PackMan option. 3. From the KIDS Menu, select the Installation Menu. From this menu, you may elect to use the following options. When prompted for the INSTALL NAME, enter SD*5.3*890. a. Backup a Transport Global - This option will create a backup message of any components exported with this patch. You are prompted to select "R" for Routines or "B" for Build. For this patch, backing up the "B"uild is suggested. Select one of the following: B Build R Routines Enter response: Build b. 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 components of this patch (routines, DDs, templates, etc.). c. Verify Checksums in Transport Global - This option will allow you to ensure the integrity of the routines that are in the transport global. 4. From the Installation Menu, select the Install Package(s) option and when prompted for the INSTALL NAME, enter SD*5.3*890. 5. If prompted 'Want KIDS to Rebuild Menu Trees Upon Completion of Install? NO//' respond NO. 6. When prompted "Want KIDS to INHIBIT LOGONs during the install? NO//" respond NO. 7. If prompted "Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//" respond NO. 8. If prompted "Delay Install (Minutes): (0 - 60): 0//" respond 0. Post-Installation Instructions: ------------------------------- Post install routine SDES890P will automatically run at the end of the installation process. After the post install has finished running, sites can delete the SDES890P 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*889b. 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*890b 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 5 The checksums below are new checksums, and can be checked with CHECK1^XTSUMBLD. Routine Name: SDES2APPTUTIL Before:B138788042 After:B138856837 **866,871,875,877,878,880,881,890** Routine Name: SDES2CRTCLNAVAIL Before: n/a After: B90696161 **890** Routine Name: SDES2EDITAPREQ Before:B177895643 After:B183103249 **869,871,873,875,890** Routine Name: SDES2EDITCLIN Before:B143905027 After:B147461523 **853,857,864,866,871,885,890** Routine Name: SDES2GETAPPTREQ Before:B162027471 After:B163669706 **873,877,878,880,890** Routine Name: SDES2GETCLINSVC Before: n/a After: B2327751 **890** Routine Name: SDES2GETREQS Before: B52017942 After: B56072513 **873,890** Routine Name: SDES2GETUSRPROF Before: n/a After: B27644058 **890** Routine Name: SDES2INACTCLIN Before: B18240345 After: B20411582 **864,877,890** Routine Name: SDES2PROVSEARCH Before: n/a After: B24626213 **890** Routine Name: SDES2RECLLREQ Before: B81048540 After: B76443866 **866,881,890** Routine Name: SDES2UTIL1 Before: B14467346 After: B87189475 **870,861,873,890** Routine Name: SDES2VAL44 Before:B183083765 After:B205129941 **853,857,864,866,871,890** Routine Name: SDES2VALCRTCLIN1 Before: B45922275 After: B46332578 **853,857,860,871,885,890** Routine Name: SDES890P Before: n/a After: B6315042 **890** Routine Name: SDESGETUD Before: B18545013 After: B20000238 **801,805,809,814,819,820,890** Routine list of preceding patches: 820, 881, 885 ============================================================================= User Information: Entered By : Date Entered : AUG 20, 2024 Completed By: Date Completed: NOV 05, 2024 Released By : Date Released : NOV 05, 2024 ============================================================================= Packman Mail Message: ===================== $END TXT