============================================================================= Run Date: MAY 11, 2021 Designation: WEBB*2*21 Package : WEBB - BED MANAGEMENT SOLUTION Priority: EMERGENCY Version : 2 SEQ #20 Status: Released Compliance Date: MAY 13, 2021 ============================================================================= Subject: COVID-19 RELEASE PATCH - AUTHZ REPLACEMENT FOR BED MANANGEMENT SOLUTIONS Category: - Informational Description: ============ This patch is the first part of replacing the Inflow software that is currently a part of Bed Management Solution (BMS) patch, WEBB*2*21 addresses the following Enhancements/defects: 1. New BMS_AUTH Database Table Design and Creation 2. New BMS_AUTH Table Extract, Transfer, Load (ETL) 3. New BMS_AUTH Table Trigger 4. Multi-Threaded Connection Manager 5. BMS - Single Sign On integration (SSOi) Integration 6. BMS Token Generation Removal 7. AUTHZ BMS "After" triggers should be renamed to something History replication related 8. AUTHZ BMS Stored Procedure for INSERT/UPDATE/DELETE - add parameter for CREATED_BY, EDITED_BY username for audit and BMS_HISTORY 9. AUTHZ ReportConfig Table Alternative to Role-Based Report Fetching 10. AUTHZ BMS Authentication and Authorization Replacement on BMS_AUTH Tables - SecurityWrapper layer 11. AUTHZ USERROLES table report validation 12. AUTHZ Add Username Parameter to Stored Procedures 13. AUTHZ New stored procedures for BMS data layer 14. AUTHZ Code to call new stored procedures for BMS data layer 15. AUTHZ BMS Middle Tier data access layer replacement - steps 1-6 16. AUTHZ BMS Middle Tier data access layer replacement - step 7 17. Remove dependence of BMS Services on InFlow Secure Token Service 18. Standard Icon Usage Report Issues 19. Bed History Audit Report 20. Add Patient Internal Entry Number (IEN) Column to Patient Movements by Date Report 21. Add Timestamp to Date Audit Report and Disposition Report on VISN Patient Pending Bed Placement (PPBP) page 22. Larger 'Patient to Synchronize' field needed in VistA Integration tab page (DEFECT) 23. Incorrect Bed Assigned Date for EDIS Admissions in PPBP List Status Report (DEFECT) 24. "Last modified by__, at __ on__" Information is Empty in Whiteboard for Beds/Patients (DEFECT) 25. EDIS disposition date needed to be written in Universal Time (DEFECT) Patch Components: ----------------- N/A Files & Fields Associated: File Name (Number) Field Name (Number) New/Modified/Deleted ------------------ ------------------- -------------------- N/A Forms Associated: Form Name File # 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 Additional Information: ----------------------- N/A New Service Requests (NSRs): ---------------------------- N/A Patient Safety Issues (PSIs): ----------------------------- N/A Enhancements & Overview: --------------------------------------- 1. WEBBMS-695: New BMS_AUTH Database Table Design and Creation - BMS Inflow AUTHZ database schema is being replaced and the following tables have been created: Action, Permission, Role, Role_Actions, User, User_Role, Action_Group, Resource, and Resource_Type. 2. WEBBMS-694: New BMS_AUTH Database ETL - The new BMS_AUTH database tables require new extract, transfer, and load calls to ensure data integrity in BMS AUTHZ replacement. 3. WEBBMS-696: New BMS_AUTH Database Triggers - Insert triggers need to be replaced in order to populate the new BMS_AUTH tables along with the ETL jobs in order to maintain data integrity for Inflow replacement. 4. WEBBMS-858: Multi-Threaded Connection Manager - Created a new data access system for getting data in/out - The Inflow Middle Tier data access system was replaced with multiple connection threads to handle the traffic between database layer and the application - New data access system with threads and load tests that replaced data calls. 5. WEBBMS-859: BMS SSOi Integration - Single Sign On integration with BMS web application for user authentication and authorization. 6. WEBBMS-1014: BMS Token Generation Removal - The token is not needed and can be bypassed due to the fact that a BMS user does not access services directly, but through the application instead, with the application being the only 'user' that accesses security services. 7. WEBBMS-1046: Rename AUTHZ BMS "After" Triggers to History Audit Trigger - There are 124 "After" Triggers identified that needed to be renamed to fit with the new BMS_AUTH database schema stored procedures. 8. WEBBMS-1047: AUTHZ BMS Stored Procedure for INSERT/UPDATE/DELETE - add parameter for CREATED_BY, EDITED_BY username for audit and BMS_HISTORY - AUTHZ BMS Stored Procedures to be updates: EX. Usp_Filter_Patient_Waiting_Date_View will now be Usppi_Filter_Patient_Waiting_Date_View with "pi" denoting "post-inflow" - removal of context_info() based security(vPolicyContext) - Code-side effort to add parameter for username to all stored procedure calls. 9. WEBBMS-1049: AUTHZ ReportConfig Table Alternative to Role-Based Report Fetching - Replace FetchReports() method of ReportsOperationsImplementation with new DataAccessor calls web.config BMSReportServerURL already exists, but will need to be deployed to higher environments, use this to fill in var serverUrl in FetchReports - SSRS Credentials population 10. WEBBMS-1051: AUTHZ BMS Authentication and Authorization Replacement on BMS_AUTH Tables (SecurityWrapper layer) - Stored procedures for Create Read Update Delete (CRUD) calls to new BMS_AUTH tables. 11. WEBBMS-1057: AUTHZ USERROLES table report validation - validate that any reports supported by this table continue to function properly - BMS Users are assigned specific permissions and page/report access based on user role type. 12. WEBBMS-1142: AUTHZ Add Username Parameter to Stored Procedures - 29 stored procedures were updated to account for new BMS_AUTH tables created for login authentication, roles and permissions in BMS. 13. WEBBMS-1214: Stored procedures for new BMS_AUTH data layer - Create new stored procedures to be called by the BMS application data layer. Login authentication, roles and permissions in BMS are unchanged for the user. 14. WEBBMS-1215: AUTHZ Code to call new stored procedures for BMS data layer - update code to call new stored procedures for the BMS application data layer. 15. WEBBMS-1238: AUTHZ BMS Middle Tier data access layer replacement - Replace BMS Middle Tier data access layer with BMS.DataAccess - steps 1-6: 1) Create new BMS.DataAccess object 2) Replace with equivalent functionality and remove the contents of the BMS.MT XML file in new BMS.DataAccess object 3) Replace with equivalent functionality and remove the contents of the BMS.MT main XSD file in new BMS.DataAccess object 4) Replace with equivalent functionality and remove the contents of the BMS.MT XSD parameter file in new BMS.DataAccess object 5) Implement CreateReadParameters method for new BMS.DataAccess object for read functionality 6) Implement CreateWriteParameters method for new BMS.DataAccess object for write functionality 16. WEBBMS-691: AUTHZ BMS Middle Tier data access layer replacement - Replace BMS Middle Tier data access layer with BMS.DataAccess - step 7: 7) Replace and remove Translator class for translating BMS.MT object into BMS.DataContract object. 17. WEBBMS-1363: Remove dependence of BMS Services on InFlow Secure Token Service - Implement encrypted BMS Service messages using existing server certificates. 18. WEBBMS-419: Standard Icon Usage Report issues - There are some discrepancies between content on the facility whiteboard and standard Icon Usage Report. This is for the standard Icon Usage Report, not the audit report - The contents of the facility whiteboard and the Icon Usage Report are the same with regard to patient name. Icon updates for each bed and patient made on the whiteboard should appear on the report. 19. WEBBMS-947: Bed History Audit Report - An option called Bed History Report is present on the facility Site Options/View Audit Log page that produces the full audit history of a single bed with From and To dates - The report will display Bed Name, Edited Date, Reason, Type, Edited By, Cleared By and Completed Date columns. 20. WEBBMS-969: Add Patient IEN column to Patient Movements by Date report to display for Support users only - The patient IEN appears in a new column on the facility Reports/Patient Movements by Date report called "Patient IEN" between the Patient and Transaction columns. The existing "IEN" column is renamed to "PM IEN List" to avoid confusion. Title of report is updated from "Patient Movements - All Wards" to "Patient Movements (PM) - All Wards" to clarify what "PM" means in the report headers. 21. WEBBMS-1129: Add Timestamp to Date Audit Report and Disposition Report on VISN PPBP Page - Date Audit Report: Add the transfer request date/timestamp next to the Entered By column. This would serve as a starting time to be captured for placement of that patient. Disposition Report: Add the transfer request date/timestamp next to the Disposition Date to give an indication of when the patient was removed from the VISN PPBP list and moved to the Facility PPBP list. Defect Tracking System Ticket(s) & Overview: -------------------------------------------- 1. WEBBMS-1238: Larger 'Patient to Synchronize' field needed in VistA Integration tab page Problem: ------- The input field to the patient synchronizer function needs to be enlarged to accommodate patient Internal Entry Number (IENs) larger than the 2,147,000,000 max value allowed in the current 'Patient to Synchronize' field - The system validates this as a number by assigning it to an integer in the code and some IENs are bigger for some reason, requiring a larger data type or a non-numeric data type. Resolution: ---------- The Patient to Synchronize field on the BMS Admin/Background Processors/VistA Integration tab allows a number larger than the 2,147,000,000 max value current field allows. 2. WEBBMS-1863: Incorrect Bed Assigned Date for EDIS admissions in PPBP List Status Report Problem: ------- When the Facility Reports/Patients Pending Bed Placement List Status Report is run, including the Date/Time of Bed Assigned field, that field is appearing with data in it where it will be null for EDIS admission entries. The EDIS disposition date comes to BMS through VIA. The BMS background processor is putting it into the wrong field in the database, currently the "RequestedBedDate". Resolution: ---------- In the code, the EDIS disposition date will go into the "RequestedDate" and the "RequestedBedDate" will be null because no bed has yet been assigned. 3. WEBBMS-1879: "Last modified by__, at __ on__" Information is Empty in Whiteboard for Beds/Patients Problem: ------- "Last modified by, at on" is not being populated in the Whiteboard. This field is not present for all beds/patients, but for those where it is, the information is "empty" and even contains a hyperlink that just points back to the top of the page. Resolution: ---------- For applicable beds in the Ward Whiteboard, the "Last modified by:" field will populate with information of the user that has last modified the bed in BMS. Additionally, the "Last modified by:" hyperlink will display additional information on the most recent modification. 4. WEBBMS-2014: EDIS disposition date needed to be written in Universal Time Problem: ------- While testing https://vajira.max.gov/browse/WEBBMS-1886, IOC testers noticed that there was a 6 hour difference between the times for the "Entered" and "Requested" columns on the Wait list. After digging into this, the development team realized that the EDIS disposition date was being entered in Local time, not UTC time, which was causing the discrepancy. Resolution: ---------- The EDIS disposition date needs to be written in Universal Time (GMT), in order to allow users to properly compare times on the Patients Pending Bed Placement List. Test Sites: ---------- New York Harbor: VA NY Harbor Healthcare System, Manhattan Campus Marion: Marion VA Medical Center, Marion, IL Milwaukee: Clement J. Zablocki Veterans Affairs Medical Center, Milwaukee, WI Software and Documentation Retrieval Instructions: ---------------------------------------------------- Documentation describing the new functionality for the Packman message containing a build may be included in this release. Sites may retrieve the software and/or documentation directly using Secure File Transfer Protocol (SFTP) from DOWNLOAD.VISTA.DOMAIN.EXT. Documentation can also be found on the VA Software Documentation Library at: http://www.domain.ext/vdl/ Documentation Title File Name SFTP Mode ========================================================================= BMS USER GUIDE BMS_2_4_1_UG.PDF binary BMS TECHNICAL MANUAL BMS_2_4_1_TM.PDF binary Patch Installation: ------------------- Austin Information Technology Center (AITC) performs patch installation on a centralized web server. Pre/Post Installation Overview: ------------------------------- N/A Pre-Installation Instructions: ------------------------------ N/A Installation Instructions: -------------------------- The BMS application is a centrally managed web-based application hosted at AITC. WEBB*2*21 will be loaded into BMS Production account by AITC staff. No software will be installed at the facilities. Post-Installation Instructions: ------------------------------- N/A Back-Out Plan: -------------------- A back-out plan will be sent to AITC and attached to the installation change order (CO) in a separate document. Routine Information: ==================== No routines included. ============================================================================= User Information: Entered By : Date Entered : DEC 30, 2020 Completed By: Date Completed: MAY 11, 2021 Released By : Date Released : MAY 11, 2021 ============================================================================= Packman Mail Message: ===================== No routines included