Firm Management - Technical Specification
Law firm and attorney management system
Purpose
The Firm Management module manages law firms and attorneys who represent patients in medical-legal cases. Each legal case must be associated with a firm and assigned attorney. The system tracks firm details, attorney credentials, case assignments, and handles the relationship between firms and their cases for billing, reporting, and settlement distribution purposes.
Key Concepts
| Term | Definition |
|---|---|
| Law Firm | Legal practice representing patients in personal injury cases |
| Attorney | Licensed legal professional assigned to cases |
| Paralegal | Legal assistant supporting attorney case management |
| Bar Number | State bar license number for attorneys |
| Retainer Agreement | Contract between firm and patient |
| Case Assignment | Linking cases to specific attorneys |
| Referral | Cases referred between firms |
| Co-Counsel | Multiple firms working on same case |
| Attorney Lien | Legal claim on settlement for fees |
| Settlement Distribution | Payment allocation from case settlement |
User Roles
| Role | Description | Permissions |
|---|---|---|
| Firm Administrator | Manages firm and attorney data | Full CRUD |
| Case Manager | Assigns cases to attorneys | Read, Update assignments |
| Attorney | Views and manages own cases | Read own cases, Update limited |
| Paralegal | Supports case management | Read, Update case notes |
| Financial Analyst | Reviews firm billing | Read, Reports |
| System Administrator | System configuration | All permissions |
Field Documentation - Firm Entity
| Field Name | Type | Required | Description | Validation Rules | Related Entity |
|---|---|---|---|---|---|
| ID | String | Yes | Unique firm identifier | Auto-generated CUID | Primary Key |
| Firm Name | String | Yes | Legal name of firm | Max 200 chars, unique | - |
| Firm Type | String | Yes | Type of legal practice | Enum: Personal Injury, Workers Comp, Medical Malpractice, General | - |
| Tax ID | String | Yes | Federal EIN | Format: XX-XXXXXXX, unique | - |
| State Bar Number | String | No | Firm's state bar registration | Alphanumeric | - |
| Primary Address | String | Yes | Main office address | Valid street address | - |
| City | String | Yes | City | Max 100 chars | - |
| State | String | Yes | State | 2-letter state code | - |
| Zip Code | String | Yes | ZIP code | 5 or 9 digits | - |
| Mailing Address | String | No | Mailing address if different | Valid street address | - |
| Mailing City | String | No | Mailing city | Max 100 chars | - |
| Mailing State | String | No | Mailing state | 2-letter state code | - |
| Mailing Zip | String | No | Mailing ZIP | 5 or 9 digits | - |
| Phone | String | Yes | Main office phone | 10 digits | - |
| Fax | String | No | Fax number | 10 digits | - |
| String | Yes | Primary firm email | Valid email format | - | |
| Website | String | No | Firm website | Valid URL | - |
| Managing Partner | String | No | Managing partner name | Max 200 chars | - |
| Primary Contact | String | Yes | Main contact person | Max 200 chars | - |
| Contact Title | String | No | Contact person's title | Max 100 chars | - |
| Contact Phone | String | Yes | Contact direct phone | 10 digits | - |
| Contact Email | String | Yes | Contact email | Valid email format | - |
| Billing Contact | String | No | Billing department contact | Max 200 chars | - |
| Billing Email | String | No | Billing department email | Valid email format | - |
| Standard Fee Percentage | Decimal | Yes | Default attorney fee % | Between 0-50 | - |
| Referral Fee Percentage | Decimal | No | Fee for referred cases | Between 0-50 | - |
| Retainer Agreement Template | Document | No | Standard retainer | PDF format | Document |
| Firm Status | String | Yes | Current status | Enum: Active, Inactive, Suspended | - |
| Status Reason | String | No | Reason for status | Required if not Active | - |
| Contract Start Date | DateTime | Yes | Relationship start | Cannot be future | - |
| Contract End Date | DateTime | No | Relationship end | After start date | - |
| Preferred Communication | String | Yes | Communication preference | Enum: Email, Phone, Fax, Portal | - |
| Portal Access | Boolean | Yes | Has portal access | Default false | - |
| Notes | Text | No | Internal notes | Max 5000 chars | - |
| Created At | DateTime | Yes | Creation timestamp | Auto-generated | - |
| Updated At | DateTime | Yes | Update timestamp | Auto-updated | - |
| Created By | User | Yes | Creating user | Valid user ID | User |
| Updated By | User | Yes | Updating user | Valid user ID | User |
| Attorneys | Attorney[] | No | Firm attorneys | - | Attorney (1:Many) |
| Legal Cases | LegalCase[] | No | Firm's cases | - | LegalCase (1:Many) |
| Documents | Document[] | No | Firm documents | - | Document (1:Many) |
Field Documentation - Attorney Entity
| Field Name | Type | Required | Description | Validation Rules | Related Entity |
|---|---|---|---|---|---|
| ID | String | Yes | Unique attorney ID | Auto-generated | Primary Key |
| Firm | Firm | Yes | Associated law firm | Must be active firm | Firm |
| First Name | String | Yes | Attorney first name | Max 100 chars | - |
| Middle Name | String | No | Middle name/initial | Max 100 chars | - |
| Last Name | String | Yes | Attorney last name | Max 100 chars | - |
| Bar Number | String | Yes | State bar number | Unique, alphanumeric | - |
| Bar State | String | Yes | Bar admission state | 2-letter state code | - |
| Bar Admission Date | DateTime | Yes | Date admitted to bar | Past date required | - |
| Bar Status | String | Yes | Bar standing | Enum: Active, Inactive, Suspended, Retired | - |
| Additional Bar States | String | No | Other state admissions | Comma-separated states | - |
| String | Yes | Attorney email | Valid email, unique | - | |
| Direct Phone | String | Yes | Direct phone line | 10 digits | - |
| Mobile Phone | String | No | Cell phone | 10 digits | - |
| Attorney Type | String | Yes | Role type | Enum: Partner, Associate, Of Counsel, Contract | - |
| Specializations | String | No | Practice areas | Comma-separated list | - |
| Case Load Limit | Integer | No | Max active cases | Positive integer | - |
| Current Case Count | Integer | Yes | Active cases count | Calculated field | - |
| Attorney Status | String | Yes | Current status | Enum: Active, Inactive, On Leave | - |
| Portal Access | Boolean | Yes | Can access portal | Default true | - |
| Digital Signature | Document | No | Signature file | PNG/JPG format | Document |
| Created At | DateTime | Yes | Creation timestamp | Auto-generated | - |
| Updated At | DateTime | Yes | Update timestamp | Auto-updated | - |
| Legal Cases | LegalCase[] | No | Assigned cases | - | LegalCase (1:Many) |
Workflows
Firm Onboarding Workflow
-
Initial Setup
- Collect firm information
- Verify Tax ID
- Check state bar registration
- Set initial status
-
Attorney Registration
- Add attorney profiles
- Verify bar numbers
- Set case load limits
- Configure portal access
-
Document Collection
- Retainer agreement template
- Fee agreements
- Firm authorization forms
- Insurance verification
-
System Configuration
- Set fee percentages
- Configure billing preferences
- Enable portal access
- Set communication preferences
-
Activation
- Final review
- Activate firm status
- Enable case assignments
- Send welcome packet
Case Assignment Workflow
-
New Case Intake
- Patient retains firm
- Select primary attorney
- Check case load capacity
- Create retainer agreement
-
Attorney Assignment
- Verify attorney availability
- Check specialization match
- Assign to attorney
- Set paralegal if needed
-
Case Transfer
- Document transfer reason
- Select new attorney
- Transfer case ownership
- Update case records
- Notify relevant parties
Settlement Distribution Workflow
-
Settlement Receipt
- Receive settlement amount
- Calculate attorney fees
- Calculate referral fees
- Determine medical liens
-
Distribution Calculation
- Apply fee percentage
- Deduct costs
- Calculate patient portion
- Generate distribution sheet
-
Payment Processing
- Process attorney payment
- Pay referral fees
- Satisfy medical liens
- Disburse patient funds
Business Rules
Firm Rules
- Tax ID must be unique
- At least one active attorney required
- Fee percentage cannot exceed 50%
- Firm must be active for new cases
- Cannot delete firm with active cases
Attorney Rules
- Bar number must be valid and unique
- Attorney must be in good standing
- Case load cannot exceed limit
- Must be associated with active firm
- Bar status verified annually
Assignment Rules
- Case requires active attorney
- Attorney must have capacity
- Specialization should match case type
- Conflicts of interest check required
- Transfer requires documentation
Fee Rules
- Standard fee applies unless overridden
- Referral fees require agreement
- Total fees cannot exceed legal limits
- Fee changes require case update
- Settlement requires fee disclosure
Integrations
| System | Integration Type | Purpose |
|---|---|---|
| Legal Case Management | Direct Database | Case assignments |
| Patient Management | Direct Database | Retainer agreements |
| Financial System | Direct Database | Settlement distribution |
| Document Management | File System | Legal documents |
| State Bar API | External API | Attorney verification |
| Portal System | Web Service | Attorney/firm access |
| Email System | SMTP | Communications |
Common Issues
| Issue | Description | Resolution |
|---|---|---|
| Invalid Bar Number | Bar number not recognized | Verify with state bar |
| Case Overload | Attorney exceeds capacity | Reassign cases |
| Inactive Attorney | Attorney no longer practicing | Transfer all cases |
| Fee Disputes | Disagreement on fees | Review fee agreement |
| Portal Access Issues | Cannot access system | Reset credentials |
Screenshots Needed
- Firm Registration Form
- Attorney Profile Management
- Case Assignment Interface
- Fee Configuration Screen
- Settlement Calculator
- Firm Dashboard
- Attorney Case List
- Bar Verification Tool
- Document Templates
- Communication Preferences
Performance Considerations
- Attorney search optimization
- Case load calculation caching
- Real-time availability checking
- Settlement calculation speed
- Document template loading
Security Considerations
- Attorney-client privilege protection
- Portal access controls
- Document encryption
- Audit trail for assignments
- Fee information protection
Notes
- Integration with state bar APIs varies by state
- Attorney verification required annually
- Settlement distributions are audited
- Portal access requires two-factor authentication