265 lines
7.8 KiB
Markdown
265 lines
7.8 KiB
Markdown
# Complaint & Inquiry Form Duplicate Fields Fix
|
|
|
|
## Overview
|
|
Fixed duplicate fields in the Create New Complaint and Create New Inquiry forms. Removed redundant form sections since classification fields (Severity, Priority, Source) will be auto-filled by AI analysis.
|
|
|
|
---
|
|
|
|
## Issues Fixed
|
|
|
|
### 1. Complaint Form (`templates/complaints/complaint_form.html`)
|
|
|
|
#### Duplicate Fields Removed:
|
|
- ✅ **Duplicate Patient Information section** (appeared twice in form)
|
|
- ✅ **Duplicate Category field** (appeared in both Classification and Complaint Details sections)
|
|
- ✅ **Duplicate Subcategory field** (appeared in both Classification and Complaint Details sections)
|
|
|
|
#### Classification Sidebar Removed:
|
|
- ✅ **Severity** dropdown (AI will analyze and auto-set)
|
|
- ✅ **Priority** dropdown (AI will analyze and auto-set)
|
|
- ✅ **Source** dropdown (AI will analyze and auto-set)
|
|
- ✅ **Channel** dropdown (AI will analyze and auto-set)
|
|
|
|
#### Remaining Fields:
|
|
- **Patient Information** (single occurrence)
|
|
- Patient selection (search by MRN or name)
|
|
- Encounter ID (optional)
|
|
|
|
- **Organization**
|
|
- Hospital (required)
|
|
- Department (optional)
|
|
- Staff (optional)
|
|
|
|
- **Classification**
|
|
- Category (dynamic, hospital-specific - kept for user input)
|
|
- Subcategory (dynamic, category-specific - kept for user input)
|
|
|
|
- **Complaint Details**
|
|
- Description (required)
|
|
|
|
- **Sidebar**
|
|
- SLA Information (display only)
|
|
- Create/Cancel buttons
|
|
|
|
---
|
|
|
|
### 2. Inquiry Form (`templates/complaints/inquiry_form.html`)
|
|
|
|
#### Duplicate Fields Removed:
|
|
- ✅ No duplicate fields found in original form
|
|
|
|
#### Classification Sidebar Removed:
|
|
- ✅ **Priority** dropdown (AI will analyze and auto-set)
|
|
- ✅ **Source** dropdown (AI will analyze and auto-set)
|
|
- ✅ **Channel** dropdown (AI will analyze and auto-set)
|
|
|
|
#### Remaining Fields:
|
|
- **Organization**
|
|
- Hospital (required)
|
|
- Department (optional)
|
|
|
|
- **Contact Information**
|
|
- Patient search (optional)
|
|
- Contact Name (if no patient)
|
|
- Contact Phone (if no patient)
|
|
- Contact Email (if no patient)
|
|
|
|
- **Inquiry Details**
|
|
- Category (hardcoded options - kept for user input)
|
|
- Subject (required)
|
|
- Message (required)
|
|
|
|
- **Sidebar**
|
|
- Due Date (optional)
|
|
- Help Information (display only)
|
|
- Create/Cancel buttons
|
|
|
|
---
|
|
|
|
## Changes Summary
|
|
|
|
### Files Modified:
|
|
1. `templates/complaints/complaint_form.html` - Fixed duplicates and removed classification sidebar
|
|
2. `templates/complaints/inquiry_form.html` - Removed classification sidebar
|
|
|
|
### What Was Removed:
|
|
|
|
#### Complaint Form:
|
|
```html
|
|
<!-- REMOVED: Duplicate Patient Information section (lines 128-150) -->
|
|
<!-- REMOVED: Duplicate Category field in Complaint Details -->
|
|
<!-- REMOVED: Duplicate Subcategory field in Complaint Details -->
|
|
|
|
<!-- REMOVED: Entire Classification sidebar containing:
|
|
- Severity dropdown
|
|
- Priority dropdown
|
|
- Source dropdown
|
|
- Channel dropdown
|
|
-->
|
|
```
|
|
|
|
#### Inquiry Form:
|
|
```html
|
|
<!-- REMOVED: Entire Classification sidebar containing:
|
|
- Priority dropdown
|
|
- Source dropdown
|
|
- Channel dropdown
|
|
-->
|
|
```
|
|
|
|
---
|
|
|
|
## AI Auto-Classification Workflow
|
|
|
|
### How It Works:
|
|
|
|
1. **User creates complaint/inquiry** with minimal fields
|
|
2. **AI Analysis Service** analyzes the description/message
|
|
3. **Auto-sets classification fields:**
|
|
- **Severity** (Complaint): Based on content analysis (Low/Medium/High/Critical)
|
|
- **Priority** (Complaint/Inquiry): Based on urgency (Low/Medium/High/Urgent)
|
|
- **Source** (Complaint/Inquiry): Based on submission method/context
|
|
- **Channel** (Inquiry): Based on submission method
|
|
|
|
### Benefits:
|
|
- ✅ **Consistent classification** - AI applies same rules to all submissions
|
|
- ✅ **Faster submission** - Users don't need to select classification manually
|
|
- ✅ **Better accuracy** - AI can analyze content more objectively
|
|
- ✅ **Reduced errors** - No manual classification mistakes
|
|
- ✅ **Scalability** - Classification rules can be updated in AI model
|
|
|
|
---
|
|
|
|
## Form Structure After Changes
|
|
|
|
### Complaint Form Structure:
|
|
```
|
|
Page Header
|
|
├── Patient Information (once)
|
|
├── Organization
|
|
├── Classification (Category/Subcategory - dynamic)
|
|
├── Complaint Details (Description only)
|
|
└── Sidebar
|
|
├── SLA Information (display)
|
|
└── Action Buttons
|
|
```
|
|
|
|
### Inquiry Form Structure:
|
|
```
|
|
Page Header
|
|
├── Organization
|
|
├── Contact Information (Patient OR Contact details)
|
|
├── Inquiry Details (Category/Subject/Message)
|
|
└── Sidebar
|
|
├── Due Date (optional)
|
|
├── Help Information (display)
|
|
└── Action Buttons
|
|
```
|
|
|
|
---
|
|
|
|
## Testing Checklist
|
|
|
|
### Complaint Form Testing:
|
|
- [ ] Verify no duplicate fields visible on form
|
|
- [ ] Verify Classification sidebar is removed
|
|
- [ ] Verify Patient Information appears only once
|
|
- [ ] Verify Category/Subcategory fields work (dynamic loading)
|
|
- [ ] Verify form submission works without classification fields
|
|
- [ ] Verify AI auto-classification works after submission
|
|
|
|
### Inquiry Form Testing:
|
|
- [ ] Verify Classification sidebar is removed
|
|
- [ ] Verify form submission works without classification fields
|
|
- [ ] Verify Due Date field still works
|
|
- [ ] Verify Patient search works
|
|
- [ ] Verify AI auto-classification works after submission
|
|
|
|
---
|
|
|
|
## Backend Integration Notes
|
|
|
|
### What Needs to Happen on Form Submission:
|
|
|
|
1. **Complaint Creation View** (`apps/complaints/ui_views.py`):
|
|
- Receive form data without classification fields
|
|
- Call AI analysis service on description
|
|
- Auto-set `severity`, `priority`, `source` from AI response
|
|
- Save complaint with AI-assigned classifications
|
|
|
|
2. **Inquiry Creation View** (`apps/complaints/ui_views.py`):
|
|
- Receive form data without classification fields
|
|
- Call AI analysis service on message
|
|
- Auto-set `priority`, `source`, `channel` from AI response
|
|
- Save inquiry with AI-assigned classifications
|
|
|
|
### Example AI Integration:
|
|
|
|
```python
|
|
# In ComplaintCreateView
|
|
def form_valid(self, form):
|
|
complaint = form.save(commit=False)
|
|
|
|
# AI Analysis
|
|
ai_result = ai_analyzer.analyze_complaint(
|
|
description=complaint.description,
|
|
hospital=complaint.hospital
|
|
)
|
|
|
|
# Auto-set classification
|
|
complaint.severity = ai_result['severity']
|
|
complaint.priority = ai_result['priority']
|
|
complaint.source = ai_result['source']
|
|
|
|
complaint.save()
|
|
return super().form_valid(form)
|
|
```
|
|
|
|
---
|
|
|
|
## Migration Path
|
|
|
|
### For Existing Forms:
|
|
1. ✅ Template changes completed
|
|
2. ⏳ Update backend views to handle missing classification fields
|
|
3. ⏳ Integrate AI analysis service
|
|
4. ⏳ Test form submission with AI auto-classification
|
|
5. ⏳ Deploy to production
|
|
|
|
### For New Forms:
|
|
- ✅ Forms already updated to work without classification fields
|
|
- ⏳ Ensure AI analysis service is active
|
|
- ⏳ Test end-to-end workflow
|
|
|
|
---
|
|
|
|
## Benefits Summary
|
|
|
|
### User Experience:
|
|
- ✅ **Simpler forms** - Fewer fields to fill out
|
|
- ✅ **Faster submission** - No manual classification needed
|
|
- ✅ **Less confusion** - No duplicate fields
|
|
|
|
### System Benefits:
|
|
- ✅ **Consistent classification** - AI applies same rules
|
|
- ✅ **Better data quality** - Objective classification
|
|
- ✅ **Easier maintenance** - Classification logic centralized in AI
|
|
|
|
### Business Benefits:
|
|
- ✅ **Reduced training** - Staff don't need classification training
|
|
- ✅ **Faster processing** - Automated classification speeds up workflow
|
|
- ✅ **Better insights** - Consistent classification enables better analytics
|
|
|
|
---
|
|
|
|
## Files Changed
|
|
|
|
| File | Changes | Lines Removed | Lines Added |
|
|
|------|---------|---------------|-------------|
|
|
| `templates/complaints/complaint_form.html` | Removed duplicates & classification sidebar | ~80 | 0 |
|
|
| `templates/complaints/inquiry_form.html` | Removed classification sidebar | ~50 | 0 |
|
|
|
|
---
|
|
|
|
**Implementation Date**: January 12, 2026
|
|
**Status**: ✅ Complete - Frontend forms fixed and ready for AI integration |