9.1 KiB
SLA Configuration Pages Implementation Summary
Overview
This document summarizes the implementation of SLA (Service Level Agreement) configuration pages that have been added to the PX360 system. These pages allow administrators to configure complaint handling deadlines, automatic escalation rules, and complaint thresholds.
What Was Implemented
1. UI Views (apps/complaints/ui_views.py)
Added comprehensive UI views for managing SLA configurations:
-
SLA Configuration Views:
sla_config_list_view- List all SLA configurations with filterssla_config_create_view- Create new SLA configurationsla_config_update_view- Update existing SLA configurationsla_config_delete_view- Delete SLA configuration
-
Escalation Rule Views:
escalation_rule_list_view- List all escalation rules with filtersescalation_rule_create_view- Create new escalation ruleescalation_rule_update_view- Update existing escalation ruleescalation_rule_delete_view- Delete escalation rule
-
Complaint Threshold Views:
complaint_threshold_list_view- List all complaint thresholds with filterscomplaint_threshold_create_view- Create new complaint thresholdcomplaint_threshold_update_view- Update existing complaint thresholdcomplaint_threshold_delete_view- Delete complaint threshold
2. URL Patterns (apps/complaints/urls.py)
Added new URL patterns for SLA management:
path('sla-config/', views.sla_config_list_view, name='sla_config_list'),
path('sla-config/create/', views.sla_config_create_view, name='sla_config_create'),
path('sla-config/<int:pk>/update/', views.sla_config_update_view, name='sla_config_update'),
path('sla-config/<int:pk>/delete/', views.sla_config_delete_view, name='sla_config_delete'),
path('escalation-rules/', views.escalation_rule_list_view, name='escalation_rule_list'),
path('escalation-rules/create/', views.escalation_rule_create_view, name='escalation_rule_create'),
path('escalation-rules/<int:pk>/update/', views.escalation_rule_update_view, name='escalation_rule_update'),
path('escalation-rules/<int:pk>/delete/', views.escalation_rule_delete_view, name='escalation_rule_delete'),
path('thresholds/', views.complaint_threshold_list_view, name='complaint_threshold_list'),
path('thresholds/create/', views.complaint_threshold_create_view, name='complaint_threshold_create'),
path('thresholds/<int:pk>/update/', views.complaint_threshold_update_view, name='complaint_threshold_update'),
path('thresholds/<int:pk>/delete/', views.complaint_threshold_delete_view, name='complaint_threshold_delete'),
3. Templates Created
SLA Configuration Templates
templates/complaints/sla_config_list.html- List view with filters and paginationtemplates/complaints/sla_config_form.html- Create/edit form with help sidebar
Escalation Rule Templates
templates/complaints/escalation_rule_list.html- List view with filters and paginationtemplates/complaints/escalation_rule_form.html- Create/edit form with help sidebar
Complaint Threshold Templates
templates/complaints/complaint_threshold_list.html- List view with filters and paginationtemplates/complaints/complaint_threshold_form.html- Create/edit form with help sidebar
4. Settings Page Integration (templates/accounts/settings.html)
Added a new "SLA Configuration" card to the settings page that provides quick access to:
- SLA Configurations
- Escalation Rules
- Complaint Thresholds
This card is only visible to PX Admins and Hospital Admins.
Features Implemented
SLA Configurations
- Configure response deadlines based on complaint severity
- Set resolution deadlines by priority level
- Define working hours for SLA calculations
- Configure notification settings for SLA breaches
- Filter by hospital, severity, priority, and active status
- Pagination for large datasets
Escalation Rules
- Define automatic escalation when deadlines are exceeded
- Configure up to 3 escalation levels
- Set trigger hours for each level
- Choose to escalate by role or specific user
- Filter by severity and priority
- Enable/disable rules as needed
- Comprehensive help documentation
Complaint Thresholds
- Monitor complaint volume over time
- Set daily, weekly, monthly, or category-based thresholds
- Choose from count or percentage metrics
- Configure actions: alert, email, or report
- Set notification email addresses
- Enable/disable thresholds as needed
- Filter by hospital, type, and status
Access Control
All SLA configuration pages implement proper access control:
- PX Admins: Can view and manage SLA configurations for all hospitals
- Hospital Admins: Can view and manage SLA configurations for their hospital only
- Regular Staff: Do not have access to SLA configuration pages
The settings page automatically hides the SLA Configuration section from non-admin users.
UI/UX Features
Consistent Design
- All templates follow the PX360 design system
- Bootstrap 5 styling
- Font Awesome icons
- Responsive layout for mobile devices
User-Friendly Features
- Clear page titles and descriptions
- Help sidebars with explanations
- Form validation with error messages
- Confirmation dialogs for delete actions
- Breadcrumb navigation
- Back to list buttons
Filtering and Search
- Filter by hospital (for PX admins)
- Filter by type/level/status
- Clear filters button
- Pagination with navigation controls
Internationalization
- All user-facing text uses Django's
{% trans %}or{% translate %}tags - Fully bilingual support (English/Arabic)
What's Needed to Complete
1. Backend Models
Ensure the following models exist in apps/complaints/models.py:
SLAConfigurationmodelEscalationRulemodelComplaintThresholdmodel
These models should have the fields referenced in the forms.
2. Forms
Create forms in apps/complaints/forms.py:
SLAConfigFormEscalationRuleFormComplaintThresholdForm
These forms should handle validation and model creation/updating.
3. Database Migrations
Run migrations to create the new database tables:
python manage.py makemigrations
python manage.py migrate
4. Celery Tasks (Optional)
For automatic SLA monitoring and escalation:
- Implement Celery tasks to check SLA compliance
- Implement Celery tasks to trigger escalations
- Implement Celery tasks to monitor thresholds
- Configure Celery beat for periodic checks
5. Email Templates
Create email templates for:
- SLA breach notifications
- Escalation notifications
- Threshold breach alerts
6. Testing
Test the following scenarios:
- Create, read, update, delete SLA configurations
- Create, read, update, delete escalation rules
- Create, read, update, delete complaint thresholds
- Access control for different user roles
- Filter functionality
- Pagination
- Form validation
- Email notifications (if implemented)
7. Documentation
Consider adding:
- User guide for SLA configuration
- Admin guide for managing SLA settings
- Best practices for SLA configuration
- Troubleshooting guide
Integration Points
Existing Features
These SLA pages integrate with existing features:
- Complaint creation and management
- Notification system
- Email service
- User management
- Hospital/organization hierarchy
Future Enhancements
Potential future improvements:
- SLA compliance dashboard
- Real-time SLA status indicators
- SLA breach analytics
- Escalation workflow visualization
- Threshold trend analysis
- Automated SLA reports
- SLA performance metrics
File Structure
apps/
├── complaints/
│ ├── ui_views.py (NEW - UI views for SLA management)
│ ├── urls.py (UPDATED - Added SLA URL patterns)
│ └── forms.py (NEEDS UPDATES - Add SLA forms)
│
templates/
├── complaints/
│ ├── sla_config_list.html (NEW)
│ ├── sla_config_form.html (NEW)
│ ├── escalation_rule_list.html (NEW)
│ ├── escalation_rule_form.html (NEW)
│ ├── complaint_threshold_list.html (NEW)
│ └── complaint_threshold_form.html (NEW)
│
templates/
└── accounts/
└── settings.html (UPDATED - Added SLA section)
Next Steps
- Review Models: Ensure all required models exist with proper fields
- Create Forms: Implement form classes for SLA configuration
- Run Migrations: Create database tables for SLA features
- Test Functionality: Thoroughly test all CRUD operations
- Implement Automation: Set up Celery tasks for automatic monitoring (optional)
- Documentation: Create user documentation for SLA configuration
- Training: Train administrators on SLA configuration best practices
Conclusion
The SLA configuration pages have been successfully implemented with a clean, user-friendly interface. The implementation follows PX360's design patterns and provides comprehensive functionality for managing complaint handling policies. The pages are ready for integration with backend models and forms, and can be tested once the database tables are created.
All pages include proper access control, internationalization support, and follow the project's coding standards.