PRD \ Product Requirements Document - lundeen-bryan/EZLogger_SLN GitHub Wiki

Product Requirements Document: EZLogger and Configuration Editor

Introduction

Purpose: EZLogger is a VSTO Office Add-in developed with VB.NET and WPF using the MVVM pattern. It streamlines the workflow for forensic report processing by automating the validation of patient identification data, saving information to SharePoint, and converting documents to PDF for sharing. Additionally, a WPF-based Configuration Editor is provided to allow non-technical users to manage specific editable sections of the EZLogger configuration files without interacting with raw JSON syntax.

Scope:

EZLogger operates within Microsoft Word and integrates with hospital systems, including the ODS (for patient data) and internal SQL Server databases (for sheriff, DA, court, and CONREP address information). It replaces a legacy VBA-based solution and offers a modern, reliable interface. The Configuration Editor enables users to load, view, and edit selected parts of the configuration JSON files (global_config.json or user_config.json) through a user-friendly interface.

Features and Functionalities

2.1 EZLogger Add-in

Data Validation:

Validates patient information fields such as Name, DOB, PFN, DOJ number, admission date, and hearing date against ODS records. Flags mismatches visually and logs them for review.

SharePoint Integration:

Saves data and documents to SharePoint a local synced copy using OneDrive. Supports retries and maintains logs of all interactions.

PDF Conversion:

Converts Word documents to PDF with customizable naming conventions and storage locations. Provides an option to save the converted PDFs directly to SharePoint.

Cover Page Generation:

Adds cover pages to documents using local templates. Users can select templates from a form similar to the legacy version.

2.2 Configuration Editor

File Handling:

Loads a single configuration file (global_config.json or user_config.json) from a specified location. Ensures that only one configuration file is open at a time. Provides options to load the appropriate file based on user selection (e.g., “Edit Global Config” or “Edit User Config”).

User Interface:

Displays tabs to separate user-specific configurations from global configurations. Presents editable sections in a user-friendly form-based UI, hiding non-editable sections from the user. Allows users to add, update, and delete entries in editable sections. Implements validation to ensure data integrity before saving changes.

Data Management:

Saves all changes to the loaded JSON file only when the “Save” button is clicked. Provides an option to discard changes and reload the original configuration. User Interface (UI)

EZLogger Add-in:

Integrates a custom ribbon tab within Microsoft Word, providing easy access to EZLogger functionalities. Offers intuitive controls for data validation, document conversion, and SharePoint operations.

Configuration Editor:

Features a tabbed interface to distinguish between user and global configurations. Utilizes form controls to facilitate the editing of JSON configuration sections, ensuring a seamless user experience for non-technical users. Security and Permissions

Access Control:

Restricts access to the Configuration Editor based on user roles, ensuring that only authorized personnel can modify configuration settings.

Data Integrity:

Implements validation checks within the Configuration Editor to prevent invalid data entries. Ensures that changes are not saved unless they pass all validation criteria.

Performance Requirements

Efficiency:

The Configuration Editor should load and save configuration files promptly, providing feedback to the user during these operations.

Resource Utilization:

Both EZLogger and the Configuration Editor should operate efficiently without causing significant performance degradation to Microsoft Word or the host system.

Deployment and Maintenance

Installation:

EZLogger and the Configuration Editor should be packaged together for streamlined deployment. Provide clear installation instructions and prerequisites.

Configuration Management:

Maintain version control for configuration files to track changes and facilitate rollback if necessary.

Support and Updates:

Establish a process for users to report issues and receive updates for both EZLogger and the Configuration Editor. This consolidated PRD outlines the comprehensive requirements for the EZLogger Add-in and its accompanying Configuration Editor, ensuring a cohesive and user-friendly experience for managing forensic report processing and configuration management.