HH/SURVEY_SATISFACTION_OPTIONS_UPDATE_COMPLETE.md

3.3 KiB

Survey Satisfaction Options Update - Complete

Overview

Updated all satisfaction surveys (Inpatient, Outpatient, and Appointment) to ensure they have the required satisfaction options with bilingual labels.

Required Satisfaction Options

All surveys now include these 5 satisfaction levels:

  1. Very Unsatisfied (غير راضٍ جداً)
  2. Poor (ضعيف)
  3. Neutral (محايد)
  4. Good (جيد)
  5. Very Satisfied (راضٍ جداً)

Question Type Clarification

Important: These are NOT checkbox questions. They are radio button (single-select) questions.

  • Type: multiple_choice (renders as radio buttons for single selection)
  • Reason: Satisfaction scales require patients to select ONE satisfaction level, not multiple options
  • Format: Each option has both English and Arabic labels for bilingual support

Survey Status

Appointment Satisfaction Survey

  • Questions: 10
  • Status: All questions have satisfaction options
  • Type: All are multiple_choice with 5 satisfaction levels

Inpatient Post-Discharge Survey

  • Questions: 7
  • Status:
    • Questions 1-5: Updated from text to multiple_choice with satisfaction options
    • Question 6: rating type (NPS-style recommendation question)
    • Question 7: text type (open-ended comments/suggestions)
  • Changes Made: Converted 5 text questions to multiple_choice questions

Inpatient Satisfaction Survey

  • Questions: 12
  • Status: All questions have satisfaction options
  • Type: All are multiple_choice with 5 satisfaction levels

Outpatient Satisfaction Survey

  • Questions: 8
  • Status: All questions have satisfaction options
  • Type: All are multiple_choice with 5 satisfaction levels

Summary Statistics

  • Total Surveys Updated: 4
  • Total Questions with Satisfaction Options: 35
  • Questions Converted from Text to Multiple Choice: 5 (Inpatient Post-Discharge Survey)
  • Questions Left as Other Types: 2 (1 rating, 1 text - appropriate for their purpose)

Scripts Created

  1. check_satisfaction_options.py: Script to verify satisfaction options across all surveys
  2. update_inpatient_post_discharge_survey.py: Script to convert text questions to multiple_choice with satisfaction options

Verification

Run the verification script to confirm all surveys have the required options:

python manage.py shell < check_satisfaction_options.py

Database Changes

  • Model Updated: SurveyQuestion model
  • Fields Modified:
    • question_type: Changed from 'text' to 'multiple_choice'
    • choices_json: Added satisfaction options array with bilingual labels
  • No Schema Changes: Only data modifications, no database migrations required

Technical Details

Each satisfaction option is stored as:

{
  "value": "1",
  "label": "Very Unsatisfied",
  "label_ar": "غير راضٍ جداً"
}

The value field allows for easy scoring and analysis of survey responses.

Date Completed

2026-02-07

Notes

  • All satisfaction questions are now consistent across all survey types
  • Bilingual support ensures both English and Arabic patients can respond
  • The satisfaction scale follows standard patient experience survey methodology
  • Questions that require different input types (rating scales, open-ended text) were appropriately left unchanged