Files
delphi-database/docs/archive/LEGACY_SYSTEM_ANALYSIS.md
HotSwapp bac8cc4bd5 changes
2025-08-18 20:20:04 -05:00

14 KiB
Raw Blame History

Legacy System Analysis: Delphi Consulting Group Database

Executive Summary

This document provides a comprehensive analysis of the legacy Paradox-based database system used by Delphi Consulting Group, based on examination of the .sc (script) files found in the old database folder. The legacy system was a sophisticated legal practice management application specialized for family law attorneys handling divorce cases involving pension plan division (QDROs).

System Architecture Overview

Technology Stack

  • Platform: Paradox Database Management System
  • Language: PAL (Paradox Application Language)
  • Integration: WordPerfect document assembly
  • File Structure: Modular .SC script files with shared procedure library

Core Directory Structure

R:\PDOXDATA\OFFICE\     # Main data directory
R:\DOCUMENT\WPDOCS\     # WordPerfect documents
R:\PRIVATE\             # Temporary/merge files
OFFICE.LIB              # Shared procedure library

Module-by-Module Analysis

1. Main Application Entry (Main_RH.SC)

Purpose: Application bootstrap and main menu system

Key Features:

  • Splash screen with company branding
  • Hierarchical pulldown menu system
  • Library and configuration management
  • Keyboard shortcut definitions

Menu Structure:

Open
├── Rolodex (contact management)
├── File Cabinet (case management)
├── QDRO Screen (pension division documents)
├── Plan Information (retirement plan database)
├── Annuity Evaluator (present value calculations)
└── Deposit Book (banking records)

Utilities
├── Basic Data (lookup tables)
└── Tally Accounts (financial reconciliation)

System
├── Customize (letterhead/branding)
└── Printers (output configuration)

Startup Sequence:

  1. Load procedure library (OFFICE.LIB)
  2. Initialize directory paths and variables
  3. Display animated splash screen
  4. Launch main menu loop
  5. Handle user selections via switch statements

2. Contact Management (ROLODEX.SC)

Purpose: Comprehensive contact database for clients, opposing counsel, and related parties

Data Structure:

  • Primary Table: Rolodex (main contact info)
  • Related Tables: Phone (multiple numbers per contact)
  • Indexing: By ID, last name, group classification

Key Features:

Multi-Form Interface:

  • Form 1: Standard contact entry
  • Form 4: Detailed view with extended information
  • Alt-F: Toggle between forms

Search Capabilities:

  • Multi-criteria search dialog
  • ID, name, address, phone number filters
  • Group-based filtering (client, opposing counsel, personal)
  • Phone number cross-referencing

Integration Points:

  • File cabinet owner/opposing party lookups
  • Document assembly merge fields
  • Envelope and label generation
  • Phone book report generation

Report Types:

  • Envelope generation
  • Phone book (numbers only)
  • Phone book with addresses
  • Complete rolodex information

3. File Cabinet System (FILCABNT.SC)

Purpose: Case management with integrated time and billing

Architecture: Master-Detail relationship

  • Master: Files table (case information, account summaries)
  • Detail: Ledger table (time entries, disbursements, payments)

File Management Features:

Case Information:

  • Unique file numbers
  • Client assignment (linked to Rolodex)
  • Area of law classification
  • Open/close date tracking
  • Status management (ACTIVE, INACTIVE, FOLLOW UP, etc.)
  • Opposing counsel assignment
  • Billing rate assignment by employee

Account Management:

  • Real-time balance calculations
  • Trust account tracking
  • Hourly fees, flat fees, disbursements
  • Credit/payment tracking
  • Transferable amount calculations (trust → fees)
  • Previously billed vs. current balance separation

Advanced Features:

Time Tracking:

  • Built-in timer (Alt-T start/stop)
  • Elapsed time display with hours:minutes:seconds
  • Automatic time entry integration

Account Operations:

  • Account closure (Alt-C): Automatically closes file and creates payment entry
  • Account reopening (Alt-R): Reverses closure process
  • Balance summarization (Alt-B): Popup with detailed breakdowns

Search and Reporting:

  • Complex multi-criteria search
  • Account balance filters
  • File status filtering (SEND/HOLD for statement printing)
  • Multiple report formats (detailed, summary, statements)

4. Ledger/Billing System (LEDGER.SC)

Purpose: Transaction-level time and billing management

Transaction Types:

  1. Type 1: Trust account entries
  2. Type 2: Hourly time entries (quantity × rate)
  3. Type 3: Flat fee charges
  4. Type 4: Disbursements/expenses
  5. Type 5: Credits/payments

Data Entry Features:

Automatic Calculations:

  • Quantity × Rate = Amount for hourly entries
  • Employee rate lookups from Employee table
  • Real-time amount recalculation on field changes

Validation and Business Rules:

  • Required fields: Date, Transaction Code, Employee, Amount
  • Automatic item number assignment (handles key violations)
  • Billed status tracking (Y/N)
  • Default employee assignment from parent file

Advanced Entry Features:

  • Insert new records (INS key) with date inheritance
  • Quick billed status toggle (Alt-Y/Alt-N)
  • Date increment/decrement (+/- keys)
  • Integrated balance summarization

Account Reconciliation:

  • Real-time account total updates on record changes
  • Separation of billed vs. unbilled amounts
  • Trust account balance calculations
  • Transferable amount determination

5. QDRO Module (QDRO.SC)

Purpose: Qualified Domestic Relations Order document preparation

Specialized Features:

  • QDRO-specific data entry forms
  • Integration with document assembly system
  • Version tracking for QDRO revisions
  • User-specific output table generation

Document Generation Process:

  1. Data entry in QDRO table
  2. Copy to temporary output table (Q_Output or user-specific)
  3. File number versioning ([File_No] + [Version])
  4. Integration with form selection system
  5. Automatic cleanup of temporary tables

6. Setup and Configuration (SETUP.SC)

Purpose: Lookup table management and system configuration

Managed Tables:

Basic Data Tables:

  • FileType: Areas of law (divorce, personal injury, etc.)
  • Employee: Attorney/staff information with billing rates
  • TrnsType: Transaction groupings for accounting
  • Footers: Statement footer text templates
  • GrupLkup: Rolodex group classifications
  • TrnsLkup: Transaction codes and descriptions
  • FileStat: File status definitions with print settings
  • States: State abbreviations and full names
  • Printers: Printer configuration and setup strings

Table Management Features:

  • Uniform editing interface across all lookup tables
  • Field-specific prompts and help text
  • Form-based entry with validation
  • Print report capabilities for each table
  • Context-sensitive speedbar help

Special Processing:

  • Deposits: Automatic payment totaling
  • Date manipulation: +/- key support for date fields
  • Printer setup: Integration with printer configuration

7. Document Assembly System (FORM_MGR.SC)

Purpose: Sophisticated legal document generation system

Architecture:

  • Form Library: Searchable database of document templates
  • Index System: Keyword-based form categorization
  • Merge Process: Data extraction and WordPerfect integration

Form Management:

Form Selection Interface:

  • Directory browsing with form file listings
  • Form description database integration
  • Multi-form selection capabilities
  • Search by name, description, status, keywords

Search Capabilities:

  • Text-based searching (name, description, status)
  • Keyword index searching with dynamic arrays
  • Boolean search combinations
  • User-friendly selection interface

Document Generation Process:

  1. Form Selection: Browse and select multiple forms
  2. Data Extraction: Query current data set for merge fields
  3. Configuration File: Generate merge instruction file
  4. External Processing: Execute DOS batch file (GO.BAT)
  5. WordPerfect Integration: Automatic document assembly

Technical Implementation:

  • Dynamic array management for form lists
  • File system integration for template discovery
  • Automatic data export for merge process
  • Error handling for missing templates

8. Utility Functions (UTILITY.SC)

Purpose: Shared utility procedures used throughout the system

Core Utilities:

Mode Management:

  • Edit_Mode(): Switch to data editing mode
  • Main_Mode(): Return to read-only mode
  • Clear_Table(): Exit current data view

User Interface:

  • Message_Box(): Standard dialog messages
  • Yes_No_Cancel(): Three-button confirmation dialogs
  • Response_Is_Yes(): Binary confirmation dialogs
  • Sound_Off(): Audio feedback system

System Configuration:

  • Get_Custom_Setup_Variables(): Load company settings
  • Customize_Setup(): Edit letterhead and branding
  • Printer configuration and management
  • Default printer selection

Reporting Infrastructure:

  • Print_Report(): Universal report output handler
  • Destination selection (printer/screen/file)
  • Escape sequence processing for printer codes
  • File output with overwrite protection

Data Management:

  • Organize(): Archive file management (ARCHIVE status handling)
  • Update_Calendar(): Appointment archival system
  • Printer status checking and error handling

Business Domain Analysis

Target Market: Family law attorneys specializing in divorce cases involving retirement benefit division

Core Competencies:

  1. QDRO Expertise: Qualified Domestic Relations Orders for pension division
  2. Complex Asset Division: Retirement plan valuation and division
  3. Time and Billing: Specialized legal billing requirements
  4. Document Generation: Automated legal document preparation

Workflow Integration

Typical Case Flow:

  1. Client Intake: Rolodex entry with contact information
  2. File Opening: Create case file with billing parameters
  3. Time Tracking: Record attorney/staff time with built-in timer
  4. Document Preparation: Select and generate legal documents
  5. QDRO Drafting: Specialized pension division order preparation
  6. Billing: Generate statements and track payments
  7. Case Closure: Automatic account reconciliation

Advanced Features

Financial Management:

  • Trust account IOLTA compliance tracking
  • Separate billed/unbilled amount tracking
  • Automatic transferable amount calculations
  • Statement generation with customizable footers

Document Automation:

  • Template library with keyword indexing
  • Automated data merge with WordPerfect
  • Version control for document revisions
  • Batch document generation capabilities

Technical Architecture Patterns

Event-Driven Programming

  • Standardized WAIT WORKSPACE event loops
  • Consistent key binding patterns (F2=Save, F8=Clear, F9=Edit)
  • Menu-driven interactions with hierarchical structure
  • Trigger-based field and record validation

Data Validation Framework

  • Field-level validation on departure
  • Record-level validation before posting
  • Business rule enforcement (required fields, calculations)
  • Automatic default value assignment

Master-Detail Relationships

  • Files ↔ Ledger (1:many) with automatic totaling
  • Rolodex ↔ Phone (1:many) with contact integration
  • Files ↔ Rolodex (many:1) for client/opposing party references
  • Form ↔ Index (1:many) for document categorization

Search and Query Patterns

  • Dynamic query building with user criteria
  • Complex multi-table joins for reporting
  • Pattern matching with wildcard support
  • Result set management with subset tables

User Experience Design

  • Context-sensitive help and prompts
  • Consistent speedbar layouts
  • Progressive disclosure in menu systems
  • Modal dialog standardization

Integration Points

External System Integration

  • WordPerfect: Document merge and generation
  • DOS: Batch file execution for complex operations
  • Printer Systems: Direct escape sequence management
  • File System: Template and configuration file management

Data Export/Import

  • Configuration file generation for merges
  • Report output to multiple formats (printer/screen/file)
  • Automatic data extraction for document assembly
  • Archive and reorganization utilities

Performance and Scalability Considerations

Database Design

  • Indexed access patterns for fast lookups
  • Efficient master-detail navigation
  • Query optimization with selective criteria
  • Memory management with dynamic arrays

User Interface Responsiveness

  • Immediate feedback for user actions
  • Progress indicators for long operations
  • Background processing for reports
  • Efficient screen updates with ECHO control

Security and Data Integrity

Access Control

  • User-based table access (seen in QDRO user checking)
  • Function-level security through menu disabling
  • Data validation to prevent corruption

Backup and Recovery

  • Archive table management for historical data
  • Automatic data reorganization utilities
  • Printer and configuration backup systems

Conclusion

The legacy system represents a sophisticated, domain-specific application with deep understanding of legal practice management needs. Key strengths include:

  1. Specialized Legal Functionality: QDRO expertise and legal document automation
  2. Integrated Financial Management: Complex billing with trust account compliance
  3. Advanced User Interface: Consistent, efficient data entry patterns
  4. Document Assembly Integration: Sophisticated template and merge system
  5. Comprehensive Reporting: Multiple output formats with printer management

The system demonstrates mature software architecture principles adapted to the constraints and capabilities of the Paradox platform, with particular excellence in the specialized domain of family law practice management.