# Complaint Category and Subcategory Structure Examination ## Overview This document provides a detailed examination of the 4-level SHCT (Saudi Health Council for Treatment) taxonomy implemented for the complaint system. The taxonomy is organized hierarchically with 4 levels: Domain, Category, Subcategory, and Classification. ## Summary Statistics - **Total Categories**: 106 - **Level 1 (Domains)**: 3 - **Level 2 (Categories)**: 9 - **Level 3 (Subcategories)**: 42 - **Level 4 (Classifications)**: 52 ## Taxonomy Structure ### LEVEL 1 - DOMAINS (3) #### 1. CLINICAL **Parent Domain**: Clinical domain covers all clinical-related complaints **Level 2 Categories**: - Quality - Safety --- #### 2. MANAGEMENT **Parent Domain**: Management domain covers administrative, operational, and institutional issues **Level 2 Categories**: - Accessibility - Institutional Issues --- #### 3. RELATIONSHIPS **Parent Domain**: Relationships domain covers communication, privacy, consent, and behavioral issues **Level 2 Categories**: - Communication - Confidentiality - Consent - Humanness / Caring --- ## Detailed Breakdown ### 1. CLINICAL DOMAIN #### 1.1 QUALITY CATEGORY **Subcategories** (Level 3): - **Diagnosis** - Errors in Pre-marriage lab test - Errors in diagnosis - Errors in diagnostic imaging - Errors in lab results - **Examination** - Diagnostic Imaging not performed - Examination not performed - Inadequate/incomplete assessment - Lab tests not performed - Loss of a patient sample - Not having enough knowledge regarding patient condition - **Patient Journey** - Lack of follow up - Miscoordination - Patient flow issues - **Quality of Care** - Insensitive to patient needs - No Frequent rounding on patient - No assistance from staff in feeding a patient - Rough treatment - Rushed, not time to see patients - Substandard clinical/nursing care - **Treatment** - Inadequate pain management - Ineffective treatment - Patient Discharged before completing treatment - Treatment plan issues - Treatment plan not followed #### 1.2 SAFETY CATEGORY **Subcategories** (Level 3): - **Medication & Vaccination** - Dispensing errors - Dispensing medication without prescription - Insufficient medication prescribed - Medication shortages - No medication prescribed - Prescribing errors - Prescription of expired medication - Refusal to vaccinate - Vaccination timing errors - **Safety Incidents** - Equipment failure/malfunction - Hospital acquired infection - No patient ID band - Patient Fall - Patient death - Wrong surgery / Wrong site surgery - Wrong treatment - **Skills and Conduct** - Improper practice of infection control - Poor hand-hygiene - Practice without a clinical license --- ### 2. MANAGEMENT DOMAIN #### 2.1 ACCESSIBILITY CATEGORY **Subcategories** (Level 3): - **Access** - Appointment cancellation - Appointment scheduling refusal - Scheduling far appointment - **Delays** - Delayed test result - Examination delay in emergency - Treatment delay #### 2.2 INSTITUTIONAL ISSUES CATEGORY **Subcategories** (Level 3): - **Administrative Policies** - Inadequate reception service - Non-compliance with visiting hours - Paperwork delays - **Environment** - Building not accessible for special needs - Elevators not available/Failure - Heating, Ventilation, Air condition (HVAC) Failure - Poor cleanliness/sanitizing - **Finance and Billing** - Miscalculation - Pricing variations - Unnecessary health services - **Resources** - Medical supply shortage - Unavailable Beds - Unavailable ambulance - **Safety & Security** - Fire and safety hazards - Lack of parking slots - Theft and lost --- ### 3. RELATIONSHIPS DOMAIN #### 3.1 COMMUNICATION CATEGORY **Subcategories** (Level 3): - **Patient-staff communication** - Communication of wrong information - Failure to clarify patient case to family - Miscommunication with Patient #### 3.2 CONFIDENTIALITY CATEGORY **Subcategories** (Level 3): - **Privacy** - Breach of confidentiality - Breach of patient privacy #### 3.3 CONSENT CATEGORY **Subcategories** (Level 3): - **Consent Process** - Consent not explained - No/Invalid consent obtained #### 3.4 HUMANNESS / CARING CATEGORY **Subcategories** (Level 3): - **Assault and Harassment** - Discrimination - Inappropriate/aggressive behavior - **Emotional Support** - Inadequate emotional support --- ## Implementation Details ### Database Schema The taxonomy is implemented in the `ComplaintCategory` model with the following key fields: - `id`: UUID primary key - `level`: Integer (1-4) indicating hierarchy level - `parent_id`: UUID foreign key to parent category - `name_en`: English name - `name_ar`: Arabic name - `code`: Alphanumeric code (for levels 3 and 4) - `domain_type`: Type of domain (CLINICAL, MANAGEMENT, RELATIONSHIPS) - `description_en`: English description - `description_ar`: Arabic description - `is_active`: Boolean flag - `hospitals`: Many-to-many relationship with hospitals ### Data Loading The taxonomy data is loaded using the management command: ```bash python manage.py load_shct_taxonomy ``` This loads the standardized SHCT taxonomy from a data file into the database. ### API Endpoint Categories are loaded via the `api_load_categories` endpoint which returns: - All 4 levels of the hierarchy - Parent-child relationships via `parent_id` - Level information for proper categorization - Bilingual names (English/Arabic) - Descriptions for user guidance ### Frontend Implementation The public complaint form uses cascading dropdowns: 1. **Hospital** selection triggers category loading 2. **Domain** (Level 1) - 3 options 3. **Category** (Level 2) - filtered by selected domain 4. **Subcategory** (Level 3) - filtered by selected category (required) 5. **Classification** (Level 4) - filtered by selected subcategory (optional) Each level displays descriptions to help users understand the context and make informed selections. --- ## Key Observations ### 1. Domain Balance - **CLINICAL**: 5 subcategories (Quality, Safety) - **MANAGEMENT**: 2 subcategories (Accessibility, Institutional Issues) - **RELATIONSHIPS**: 4 subcategories (Communication, Confidentiality, Consent, Humanness/Caring) ### 2. Code Distribution - **Level 3 (Subcategories)**: Most have codes for identification - **Level 4 (Classifications)**: All have codes for granular classification - Codes follow snake_case naming convention (e.g., `errors_in_diagnosis`) ### 3. Hierarchical Depth - Not all branches go to Level 4 - Some categories stop at Level 3 (e.g., most subcategories are leaf nodes) - Level 4 classifications provide the most granular categorization ### 4. Coverage Areas The taxonomy comprehensively covers: - Clinical quality and safety - Medication and treatment errors - Administrative and operational issues - Physical environment and resources - Communication and interpersonal relationships - Privacy and consent procedures - Staff behavior and conduct --- ## Usage in Complaint System When a complaint is submitted via the public form: 1. User selects **Hospital** 2. System loads applicable categories 3. User selects **Domain** (required) 4. User selects **Category** (required) 5. User selects **Subcategory** (required) 6. User may select **Classification** (optional) The selected taxonomy levels are stored in the Complaint model: - `domain`: ForeignKey to Level 1 category - `category`: ForeignKey to Level 2 category - `subcategory`: CharField storing the code of Level 3 category - `classification`: CharField storing the code of Level 4 category This structure allows for: - **AI-powered classification**: The AI can analyze descriptions and suggest appropriate taxonomy levels - **Trend analysis**: Aggregate complaints by domain, category, or subcategory - **Reporting**: Generate reports at any level of granularity - **Benchmarking**: Compare performance against SHCT standards --- ## Maintenance The taxonomy should be updated when: - SHCT releases new categories or codes - Hospital-specific categories need to be added - Existing categories are deprecated or modified - Descriptions need improvement for user clarity To reload the taxonomy: ```bash python manage.py load_shct_taxonomy ``` --- ## Conclusion The implemented 4-level SHCT taxonomy provides a comprehensive, standardized framework for categorizing patient complaints across clinical, management, and relationship domains. The hierarchical structure enables both high-level trend analysis and granular classification for detailed investigation and process improvement.