update
This commit is contained in:
parent
d787d41bc9
commit
ceae6c5009
@ -1,27 +1,33 @@
|
||||
"""
|
||||
Management command to export database data to JSON files.
|
||||
Management command to export database data to Django fixture format and compress.
|
||||
|
||||
Usage:
|
||||
python manage.py export_data --output-dir=./exported_data
|
||||
python manage.py export_data --compress
|
||||
"""
|
||||
import json
|
||||
import os
|
||||
import zipfile
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
from django.apps import apps
|
||||
from django.core.serializers import serialize
|
||||
from django.core import serializers
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = 'Export database data to JSON files'
|
||||
help = 'Export database data to compressed JSON fixtures'
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument(
|
||||
'--output-dir',
|
||||
type=str,
|
||||
default='./exported_data',
|
||||
default='./database_export',
|
||||
help='Directory to export JSON files to'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--compress',
|
||||
action='store_true',
|
||||
help='Create a compressed ZIP file of all exports'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--apps',
|
||||
type=str,
|
||||
@ -40,6 +46,7 @@ class Command(BaseCommand):
|
||||
output_dir = options['output_dir']
|
||||
include_apps = options['apps']
|
||||
exclude_apps = options['exclude_apps']
|
||||
do_compress = options['compress']
|
||||
|
||||
# Create output directory
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
@ -67,6 +74,7 @@ class Command(BaseCommand):
|
||||
# Export data
|
||||
total_exported = 0
|
||||
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
|
||||
fixture_files = []
|
||||
|
||||
self.stdout.write(self.style.SUCCESS(f'Exporting data to: {output_dir}'))
|
||||
self.stdout.write(f'Found {len(models_by_app)} apps to export\n')
|
||||
@ -75,24 +83,23 @@ class Command(BaseCommand):
|
||||
app_dir = os.path.join(output_dir, app_label)
|
||||
os.makedirs(app_dir, exist_ok=True)
|
||||
|
||||
app_data = {}
|
||||
app_count = 0
|
||||
all_objects = []
|
||||
|
||||
for model in models:
|
||||
model_name = model._meta.model_name
|
||||
|
||||
# Skip models with no records
|
||||
count = model.objects.count()
|
||||
# Get all objects
|
||||
queryset = model.objects.all()
|
||||
count = queryset.count()
|
||||
if count == 0:
|
||||
continue
|
||||
|
||||
try:
|
||||
# Serialize to JSON
|
||||
data = serialize('json', model.objects.all())
|
||||
app_data[model_name] = {
|
||||
'count': count,
|
||||
'data': json.loads(data)
|
||||
}
|
||||
# Serialize to Django fixture format
|
||||
serialized = serializers.serialize('json', queryset)
|
||||
data = json.loads(serialized)
|
||||
all_objects.extend(data)
|
||||
app_count += count
|
||||
total_exported += count
|
||||
|
||||
@ -100,18 +107,39 @@ class Command(BaseCommand):
|
||||
except Exception as e:
|
||||
self.stdout.write(self.style.WARNING(f' ⊘ {app_label}.{model_name}: Error - {str(e)}'))
|
||||
|
||||
# Write app data to file
|
||||
if app_data:
|
||||
output_file = os.path.join(app_dir, f'{app_label}_data.json')
|
||||
# Write app fixture file (Django format)
|
||||
if all_objects:
|
||||
output_file = os.path.join(app_dir, f'{app_label}_fixture.json')
|
||||
with open(output_file, 'w', encoding='utf-8') as f:
|
||||
json.dump({
|
||||
'app': app_label,
|
||||
'exported_at': timestamp,
|
||||
'total_records': app_count,
|
||||
'models': app_data
|
||||
}, f, indent=2, ensure_ascii=False)
|
||||
json.dump(all_objects, f, indent=2, ensure_ascii=False)
|
||||
|
||||
self.stdout.write(self.style.SUCCESS(f' → Exported to: {output_file}\n'))
|
||||
fixture_files.append(output_file)
|
||||
|
||||
self.stdout.write(self.style.SUCCESS(f' → Exported to: {output_file} ({app_count} records)\n'))
|
||||
|
||||
# Create compressed ZIP file
|
||||
if do_compress:
|
||||
zip_filename = os.path.join(output_dir, f'database_export_{timestamp}.zip')
|
||||
|
||||
self.stdout.write(self.style.SUCCESS(f'\nCreating compressed archive: {zip_filename}'))
|
||||
|
||||
with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
|
||||
for root, dirs, files in os.walk(output_dir):
|
||||
for file in files:
|
||||
if file.endswith('.zip'):
|
||||
continue # Skip the zip file itself
|
||||
|
||||
file_path = os.path.join(root, file)
|
||||
arcname = os.path.relpath(file_path, output_dir)
|
||||
zipf.write(file_path, arcname)
|
||||
|
||||
# Print progress for large files
|
||||
file_size = os.path.getsize(file_path)
|
||||
if file_size > 1024 * 1024: # > 1MB
|
||||
self.stdout.write(f' ✓ Added: {arcname} ({file_size / (1024*1024):.1f} MB)')
|
||||
|
||||
zip_size = os.path.getsize(zip_filename)
|
||||
self.stdout.write(self.style.SUCCESS(f' → ZIP created: {zip_filename} ({zip_size / (1024*1024):.1f} MB)'))
|
||||
|
||||
# Create summary file
|
||||
summary_file = os.path.join(output_dir, 'export_summary.json')
|
||||
@ -120,12 +148,22 @@ class Command(BaseCommand):
|
||||
'exported_at': timestamp,
|
||||
'total_records': total_exported,
|
||||
'apps_exported': list(models_by_app.keys()),
|
||||
'output_directory': output_dir
|
||||
'output_directory': output_dir,
|
||||
'compressed': do_compress,
|
||||
'zip_file': zip_filename if do_compress else None,
|
||||
'fixture_files': fixture_files
|
||||
}, f, indent=2)
|
||||
|
||||
self.stdout.write(self.style.SUCCESS('\n' + '=' * 60))
|
||||
self.stdout.write(self.style.SUCCESS(f'EXPORT COMPLETE'))
|
||||
self.stdout.write(self.style.SUCCESS(f'Total records exported: {total_exported}'))
|
||||
self.stdout.write(self.style.SUCCESS(f'Output directory: {output_dir}'))
|
||||
if do_compress:
|
||||
self.stdout.write(self.style.SUCCESS(f'Compressed file: {zip_filename}'))
|
||||
self.stdout.write(self.style.SUCCESS(f'Summary file: {summary_file}'))
|
||||
self.stdout.write(self.style.SUCCESS('=' * 60))
|
||||
|
||||
# Print import instructions
|
||||
self.stdout.write(self.style.SUCCESS('\n📥 TO IMPORT DATA:'))
|
||||
self.stdout.write(self.style.SUCCESS(f' python manage.py loaddata {output_dir}/*/\\*_fixture.json'))
|
||||
self.stdout.write(self.style.SUCCESS('=' * 60))
|
||||
|
||||
@ -1,205 +0,0 @@
|
||||
{
|
||||
"app": "accounts",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 5,
|
||||
"models": {
|
||||
"user": {
|
||||
"count": 5,
|
||||
"data": [
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$jlJ1yPpFCioF510zF41nvd$LZeZlcG2wHPippD8ugCE6D00UbvwtlWniIfRFwY6gd8=",
|
||||
"last_login": "2026-02-25T03:59:57.279Z",
|
||||
"is_superuser": false,
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"is_staff": false,
|
||||
"date_joined": "2026-02-25T03:58:30.702Z",
|
||||
"created_at": "2026-02-25T03:58:31.405Z",
|
||||
"updated_at": "2026-02-25T03:59:32.986Z",
|
||||
"email": "admin@hh.sa",
|
||||
"username": "",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "f6d00141-47c6-4c96-863e-e91c39e2da87",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$bDscjx2gPBbHeAPFwRIi8b$Hgj8Ce+H5TeCquyweT9MA7WlyJOCtwYdN26NmMJ3EEM=",
|
||||
"last_login": "2026-02-25T04:12:09.315Z",
|
||||
"is_superuser": true,
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:57:07.977Z",
|
||||
"created_at": "2026-02-25T03:57:08.653Z",
|
||||
"updated_at": "2026-02-25T03:57:08.653Z",
|
||||
"email": "ismail@tenhal.sa",
|
||||
"username": "",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "a5d0077d-f2a7-4069-93fd-d35bdc20d314",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$aTXoF4T51QdQgp1QCw9apP$h5sEYLfp3Re9H2dWEc4aHjLPHwnlKgG9PFol0oE18Us=",
|
||||
"last_login": null,
|
||||
"is_superuser": false,
|
||||
"first_name": "Amaal",
|
||||
"last_name": "Al Otaibi",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:54:37.064Z",
|
||||
"created_at": "2026-02-25T03:54:37.065Z",
|
||||
"updated_at": "2026-02-25T03:54:37.742Z",
|
||||
"email": "amaal@example.com",
|
||||
"username": "amaal",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "d3919bb3-37a2-4cfb-9efa-5ca2b67ba91d",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$Sv7iDXpGVYzXw4BpFqXqjE$Ioq0F6Y2nly/eFwBI22KAk44qZqbhjkwSaN3hIhhxMQ=",
|
||||
"last_login": null,
|
||||
"is_superuser": false,
|
||||
"first_name": "Abrar",
|
||||
"last_name": "Al Qahtani",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:54:36.403Z",
|
||||
"created_at": "2026-02-25T03:54:36.403Z",
|
||||
"updated_at": "2026-02-25T03:54:37.056Z",
|
||||
"email": "abrar@example.com",
|
||||
"username": "abrar",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "09a84636-411a-4cd2-aa26-80abd29b1dfd",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$B6QHfxbMf2KC4kwdU4sVTf$3CLPDxTIhk6HujEaBJqTA9XdUWjqiywnrqXSsoi+ZJI=",
|
||||
"last_login": null,
|
||||
"is_superuser": false,
|
||||
"first_name": "Rahaf",
|
||||
"last_name": "Al Saud",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:54:35.738Z",
|
||||
"created_at": "2026-02-25T03:54:35.738Z",
|
||||
"updated_at": "2026-02-25T03:54:36.382Z",
|
||||
"email": "rahaf@example.com",
|
||||
"username": "rahaf",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
195
database_export/accounts/accounts_fixture.json
Normal file
195
database_export/accounts/accounts_fixture.json
Normal file
@ -0,0 +1,195 @@
|
||||
[
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$jlJ1yPpFCioF510zF41nvd$LZeZlcG2wHPippD8ugCE6D00UbvwtlWniIfRFwY6gd8=",
|
||||
"last_login": "2026-02-25T03:59:57.279Z",
|
||||
"is_superuser": false,
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"is_staff": false,
|
||||
"date_joined": "2026-02-25T03:58:30.702Z",
|
||||
"created_at": "2026-02-25T03:58:31.405Z",
|
||||
"updated_at": "2026-02-25T03:59:32.986Z",
|
||||
"email": "admin@hh.sa",
|
||||
"username": "",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "f6d00141-47c6-4c96-863e-e91c39e2da87",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$bDscjx2gPBbHeAPFwRIi8b$Hgj8Ce+H5TeCquyweT9MA7WlyJOCtwYdN26NmMJ3EEM=",
|
||||
"last_login": "2026-02-25T04:12:09.315Z",
|
||||
"is_superuser": true,
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:57:07.977Z",
|
||||
"created_at": "2026-02-25T03:57:08.653Z",
|
||||
"updated_at": "2026-02-25T03:57:08.653Z",
|
||||
"email": "ismail@tenhal.sa",
|
||||
"username": "",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "a5d0077d-f2a7-4069-93fd-d35bdc20d314",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$aTXoF4T51QdQgp1QCw9apP$h5sEYLfp3Re9H2dWEc4aHjLPHwnlKgG9PFol0oE18Us=",
|
||||
"last_login": null,
|
||||
"is_superuser": false,
|
||||
"first_name": "Amaal",
|
||||
"last_name": "Al Otaibi",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:54:37.064Z",
|
||||
"created_at": "2026-02-25T03:54:37.065Z",
|
||||
"updated_at": "2026-02-25T03:54:37.742Z",
|
||||
"email": "amaal@example.com",
|
||||
"username": "amaal",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "d3919bb3-37a2-4cfb-9efa-5ca2b67ba91d",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$Sv7iDXpGVYzXw4BpFqXqjE$Ioq0F6Y2nly/eFwBI22KAk44qZqbhjkwSaN3hIhhxMQ=",
|
||||
"last_login": null,
|
||||
"is_superuser": false,
|
||||
"first_name": "Abrar",
|
||||
"last_name": "Al Qahtani",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:54:36.403Z",
|
||||
"created_at": "2026-02-25T03:54:36.403Z",
|
||||
"updated_at": "2026-02-25T03:54:37.056Z",
|
||||
"email": "abrar@example.com",
|
||||
"username": "abrar",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "accounts.user",
|
||||
"pk": "09a84636-411a-4cd2-aa26-80abd29b1dfd",
|
||||
"fields": {
|
||||
"password": "pbkdf2_sha256$1200000$B6QHfxbMf2KC4kwdU4sVTf$3CLPDxTIhk6HujEaBJqTA9XdUWjqiywnrqXSsoi+ZJI=",
|
||||
"last_login": null,
|
||||
"is_superuser": false,
|
||||
"first_name": "Rahaf",
|
||||
"last_name": "Al Saud",
|
||||
"is_staff": true,
|
||||
"date_joined": "2026-02-25T03:54:35.738Z",
|
||||
"created_at": "2026-02-25T03:54:35.738Z",
|
||||
"updated_at": "2026-02-25T03:54:36.382Z",
|
||||
"email": "rahaf@example.com",
|
||||
"username": "rahaf",
|
||||
"phone": "",
|
||||
"employee_id": "",
|
||||
"hospital": null,
|
||||
"department": null,
|
||||
"avatar": "",
|
||||
"bio": "",
|
||||
"language": "en",
|
||||
"notification_email_enabled": true,
|
||||
"notification_sms_enabled": false,
|
||||
"preferred_notification_channel": "email",
|
||||
"explanation_notification_channel": "email",
|
||||
"is_active": true,
|
||||
"is_provisional": false,
|
||||
"invitation_token": null,
|
||||
"invitation_expires_at": null,
|
||||
"acknowledgement_completed": false,
|
||||
"acknowledgement_completed_at": null,
|
||||
"current_wizard_step": 0,
|
||||
"wizard_completed_steps": [],
|
||||
"groups": [],
|
||||
"user_permissions": []
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,786 +0,0 @@
|
||||
{
|
||||
"app": "ai_engine",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 26,
|
||||
"models": {
|
||||
"sentimentresult": {
|
||||
"count": 26,
|
||||
"data": [
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "ea4d89ac-33ee-4101-8f83-611c493ee679",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:09:40.733Z",
|
||||
"updated_at": "2026-02-25T05:09:40.733Z",
|
||||
"content_type": 57,
|
||||
"object_id": "44e5ce09-a956-474a-a46e-9b79508c6633",
|
||||
"text": "Complaint activated and assigned to ",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "fa5878fb-afc3-4ea0-9027-fd26bf53f9fd",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:09:40.722Z",
|
||||
"updated_at": "2026-02-25T05:09:40.722Z",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"text": "Despite pressing the call button multiple times, nurse Fahd Al-Shehri did not respond for over 30 minutes. When she finally arrived, she was annoyed and unhelpful. This level of neglect is unacceptable in a healthcare setting.",
|
||||
"language": "en",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 1,
|
||||
"keywords": [
|
||||
"helpful"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "72c5e3cc-fd0f-4c6b-b78a-2a7685cba595",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.061Z",
|
||||
"updated_at": "2026-02-25T03:55:42.061Z",
|
||||
"content_type": 57,
|
||||
"object_id": "cfdae30f-9ce2-4484-9363-b98cc19a1418",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "95322885-d654-4b2b-96b8-bebd006b6eda",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.059Z",
|
||||
"updated_at": "2026-02-25T03:55:42.059Z",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"text": "Despite pressing the call button multiple times, nurse Fahd Al-Shehri did not respond for over 30 minutes. When she finally arrived, she was annoyed and unhelpful. This level of neglect is unacceptable in a healthcare setting.",
|
||||
"language": "en",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"helpful"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "d84a5a6c-f657-4d18-8e26-b77cda67284d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.045Z",
|
||||
"updated_at": "2026-02-25T03:55:42.045Z",
|
||||
"content_type": 57,
|
||||
"object_id": "7295f18f-83c8-4542-94ad-39efca68d7fe",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "382d0da3-1fd3-40b7-8b6d-7265f71795ec",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.042Z",
|
||||
"updated_at": "2026-02-25T03:55:42.042Z",
|
||||
"content_type": 42,
|
||||
"object_id": "1f76952f-4fb6-4eaf-9fd8-2cc441e4ca07",
|
||||
"text": "Dr. Noura Al-Harbi misdiagnosed my condition and prescribed wrong medication. I had to suffer for 3 more days before another doctor caught the error. This negligence is unacceptable and needs to be addressed immediately.",
|
||||
"language": "en",
|
||||
"sentiment": "neutral",
|
||||
"sentiment_score": "0.0000",
|
||||
"confidence": "0.5000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "b3ed5f77-0be3-437a-ac22-72c96a40a346",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.017Z",
|
||||
"updated_at": "2026-02-25T03:55:42.017Z",
|
||||
"content_type": 57,
|
||||
"object_id": "56287023-2c03-4eda-b168-788a1a079cea",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "8337d5c0-5e53-4f51-86c0-f0a7954139ea",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.009Z",
|
||||
"updated_at": "2026-02-25T03:55:42.009Z",
|
||||
"content_type": 42,
|
||||
"object_id": "f4096f2b-81ba-4eee-8ac8-3ad0bded1797",
|
||||
"text": "Dr. Mishari Al-Fahad provided exceptional care and took the time to thoroughly explain my condition and treatment options. His expertise and bedside manner were outstanding.",
|
||||
"language": "en",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"outstanding"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "71863e9f-5168-44e6-bc11-f2880645a301",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.006Z",
|
||||
"updated_at": "2026-02-25T03:55:42.006Z",
|
||||
"content_type": 57,
|
||||
"object_id": "482902ef-7711-43a3-9ed9-a3b56369e591",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "f5ab6f53-6075-42c4-a08f-0274d33b8cb6",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.962Z",
|
||||
"updated_at": "2026-02-25T03:55:36.962Z",
|
||||
"content_type": 57,
|
||||
"object_id": "0db0aac0-bbfb-4aaa-b648-e0aff5b3479d",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "adb28a27-56df-4ee2-a12b-01208399fb5d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.957Z",
|
||||
"updated_at": "2026-02-25T03:55:36.957Z",
|
||||
"content_type": 42,
|
||||
"object_id": "1fec51ec-ab1c-4c04-9cc4-7d3cf371940d",
|
||||
"text": "هناك مواقف سيارات محدودة جداً للزوار. اضطررت للدوران عدة مرات لإيجاد مكان وتأخرت عن موعدي. هذا يجب معالجته.",
|
||||
"language": "ar",
|
||||
"sentiment": "neutral",
|
||||
"sentiment_score": "0.0000",
|
||||
"confidence": "0.5000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "4151d62a-1de3-47f7-bf32-e8bd29293853",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.941Z",
|
||||
"updated_at": "2026-02-25T03:55:36.941Z",
|
||||
"content_type": 57,
|
||||
"object_id": "4fd1fc88-7e8e-4602-ae4c-bd7a6778438a",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "b0848bb7-2868-4706-b308-f6147ebba138",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.938Z",
|
||||
"updated_at": "2026-02-25T03:55:36.938Z",
|
||||
"content_type": 42,
|
||||
"object_id": "9da3b845-c425-4bf1-b413-1d10fc1a150d",
|
||||
"text": "أريد أن أعبر عن تقديري للممرضة جواهر الحربي التي بذلت ما هو أبعد من المتوقع لجعلي مرتاحاً خلال إقامتي. كلمتها اللطيفة والراعية جعلت الموقف الصعب أكثر قابلية للتحمل.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"لطيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "88b78567-89a1-4513-a792-4796b892dde2",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.937Z",
|
||||
"updated_at": "2026-02-25T03:55:36.937Z",
|
||||
"content_type": 57,
|
||||
"object_id": "7a094b69-80bf-4779-8dea-a0164186df14",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "4e4b9d1c-b790-4b44-9f2f-3b072f0495a9",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.892Z",
|
||||
"updated_at": "2026-02-25T03:55:31.893Z",
|
||||
"content_type": 57,
|
||||
"object_id": "4512b975-e55c-4a6b-9d97-710e855ba791",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "19883722-8435-4e3a-9edf-b36eb65455a3",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.883Z",
|
||||
"updated_at": "2026-02-25T03:55:31.883Z",
|
||||
"content_type": 42,
|
||||
"object_id": "c674b99c-06b3-40c2-9812-0fec40d43ea5",
|
||||
"text": "جودة طعام المستشفى انخفضت بشكل كبير. الوجبات غالباً باردة وغير شهية ولا تلبي المتطلبات الغذائية. هذا يؤثر على رضا المرضى.",
|
||||
"language": "ar",
|
||||
"sentiment": "neutral",
|
||||
"sentiment_score": "0.0000",
|
||||
"confidence": "0.5000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "f47bbd0f-3f0b-400f-8b56-b8fb3bbb83e0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.867Z",
|
||||
"updated_at": "2026-02-25T03:55:31.867Z",
|
||||
"content_type": 57,
|
||||
"object_id": "7237e1e7-0a25-4057-98ec-b1ac5e218c4f",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "0f6095d8-0db3-4782-ab0e-50fb6da57077",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.863Z",
|
||||
"updated_at": "2026-02-25T03:55:31.863Z",
|
||||
"content_type": 42,
|
||||
"object_id": "c020e66f-0f9a-42ac-9b86-a740d340cd2d",
|
||||
"text": "عندما تم قبولي في غرفتي، لم تكن نظيفة بشكل صحيح. كان هناك غبار على الأسطح وحمام غير صحي. هذا مصدر قلق لسلامة المرضى.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"نظيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.2,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "726b916a-7804-4d32-9fef-6cfcb9518599",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.851Z",
|
||||
"updated_at": "2026-02-25T03:55:31.852Z",
|
||||
"content_type": 57,
|
||||
"object_id": "09cd1726-8993-4ae4-bae9-40702333d800",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "c5e1627d-825b-4ea0-b0b7-26bb0008c721",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.848Z",
|
||||
"updated_at": "2026-02-25T03:55:31.848Z",
|
||||
"content_type": 42,
|
||||
"object_id": "312155d3-b384-4e6f-b2e7-f8bd21e7817b",
|
||||
"text": "عندما تم قبولي في غرفتي، لم تكن نظيفة بشكل صحيح. كان هناك غبار على الأسطح وحمام غير صحي. هذا مصدر قلق لسلامة المرضى.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"نظيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.2,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "f0c8d663-8f7b-40d4-8429-deb6b88e0556",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.846Z",
|
||||
"updated_at": "2026-02-25T03:55:31.846Z",
|
||||
"content_type": 57,
|
||||
"object_id": "f226476d-c5e0-4726-8ece-1cfab6bfa0ff",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "cef2911a-be2c-46a7-9d2a-67d524e6d880",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.807Z",
|
||||
"updated_at": "2026-02-25T03:55:26.807Z",
|
||||
"content_type": 57,
|
||||
"object_id": "d5fb457f-7d7b-4485-b0fe-e0b6ce52880c",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "66e6d7dd-0dbc-4467-8c41-bda4e6a20563",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.796Z",
|
||||
"updated_at": "2026-02-25T03:55:26.796Z",
|
||||
"content_type": 42,
|
||||
"object_id": "4f11f759-8061-427d-899b-e0c360d11a20",
|
||||
"text": "على الرغم من الضغط على زر الاستدعاء عدة مرات، لم تستجب الممرضة نورة الفالح لأكثر من 30 دقيقة. عندما وصلت أخيراً، كانت منزعجة وغير مفيدة. هذا مستوى من الإهمال غير مقبول في بيئة الرعاية الصحية.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"مفيد"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "9a213f8f-02c7-4ad3-9b29-2fe35d09b40d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.790Z",
|
||||
"updated_at": "2026-02-25T03:55:26.791Z",
|
||||
"content_type": 57,
|
||||
"object_id": "51ec2c79-a504-437c-97a3-ddce7f1d65d8",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 2,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "603917ee-a90b-4cd1-a8b6-06ee32e9f8ab",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.596Z",
|
||||
"updated_at": "2026-02-25T03:55:21.596Z",
|
||||
"content_type": 57,
|
||||
"object_id": "dbb70f16-8f80-4a63-8207-cd55bf2e8226",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "7b7440ee-5de5-46b3-81b4-37ac9d5d0680",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.592Z",
|
||||
"updated_at": "2026-02-25T03:55:21.592Z",
|
||||
"content_type": 42,
|
||||
"object_id": "75699d55-58b8-42d2-94c3-ff479a005dad",
|
||||
"text": "أريد أن أعبر عن تقديري للممرضة علي العنزي التي بذلت ما هو أبعد من المتوقع لجعلي مرتاحاً خلال إقامتي. كلمتها اللطيفة والراعية جعلت الموقف الصعب أكثر قابلية للتحمل.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"لطيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
776
database_export/ai_engine/ai_engine_fixture.json
Normal file
776
database_export/ai_engine/ai_engine_fixture.json
Normal file
@ -0,0 +1,776 @@
|
||||
[
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "ea4d89ac-33ee-4101-8f83-611c493ee679",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:09:40.733Z",
|
||||
"updated_at": "2026-02-25T05:09:40.733Z",
|
||||
"content_type": 57,
|
||||
"object_id": "44e5ce09-a956-474a-a46e-9b79508c6633",
|
||||
"text": "Complaint activated and assigned to ",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "fa5878fb-afc3-4ea0-9027-fd26bf53f9fd",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:09:40.722Z",
|
||||
"updated_at": "2026-02-25T05:09:40.722Z",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"text": "Despite pressing the call button multiple times, nurse Fahd Al-Shehri did not respond for over 30 minutes. When she finally arrived, she was annoyed and unhelpful. This level of neglect is unacceptable in a healthcare setting.",
|
||||
"language": "en",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 1,
|
||||
"keywords": [
|
||||
"helpful"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "72c5e3cc-fd0f-4c6b-b78a-2a7685cba595",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.061Z",
|
||||
"updated_at": "2026-02-25T03:55:42.061Z",
|
||||
"content_type": 57,
|
||||
"object_id": "cfdae30f-9ce2-4484-9363-b98cc19a1418",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "95322885-d654-4b2b-96b8-bebd006b6eda",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.059Z",
|
||||
"updated_at": "2026-02-25T03:55:42.059Z",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"text": "Despite pressing the call button multiple times, nurse Fahd Al-Shehri did not respond for over 30 minutes. When she finally arrived, she was annoyed and unhelpful. This level of neglect is unacceptable in a healthcare setting.",
|
||||
"language": "en",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"helpful"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "d84a5a6c-f657-4d18-8e26-b77cda67284d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.045Z",
|
||||
"updated_at": "2026-02-25T03:55:42.045Z",
|
||||
"content_type": 57,
|
||||
"object_id": "7295f18f-83c8-4542-94ad-39efca68d7fe",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "382d0da3-1fd3-40b7-8b6d-7265f71795ec",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.042Z",
|
||||
"updated_at": "2026-02-25T03:55:42.042Z",
|
||||
"content_type": 42,
|
||||
"object_id": "1f76952f-4fb6-4eaf-9fd8-2cc441e4ca07",
|
||||
"text": "Dr. Noura Al-Harbi misdiagnosed my condition and prescribed wrong medication. I had to suffer for 3 more days before another doctor caught the error. This negligence is unacceptable and needs to be addressed immediately.",
|
||||
"language": "en",
|
||||
"sentiment": "neutral",
|
||||
"sentiment_score": "0.0000",
|
||||
"confidence": "0.5000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "b3ed5f77-0be3-437a-ac22-72c96a40a346",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.017Z",
|
||||
"updated_at": "2026-02-25T03:55:42.017Z",
|
||||
"content_type": 57,
|
||||
"object_id": "56287023-2c03-4eda-b168-788a1a079cea",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "8337d5c0-5e53-4f51-86c0-f0a7954139ea",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.009Z",
|
||||
"updated_at": "2026-02-25T03:55:42.009Z",
|
||||
"content_type": 42,
|
||||
"object_id": "f4096f2b-81ba-4eee-8ac8-3ad0bded1797",
|
||||
"text": "Dr. Mishari Al-Fahad provided exceptional care and took the time to thoroughly explain my condition and treatment options. His expertise and bedside manner were outstanding.",
|
||||
"language": "en",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"outstanding"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "71863e9f-5168-44e6-bc11-f2880645a301",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.006Z",
|
||||
"updated_at": "2026-02-25T03:55:42.006Z",
|
||||
"content_type": 57,
|
||||
"object_id": "482902ef-7711-43a3-9ed9-a3b56369e591",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "f5ab6f53-6075-42c4-a08f-0274d33b8cb6",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.962Z",
|
||||
"updated_at": "2026-02-25T03:55:36.962Z",
|
||||
"content_type": 57,
|
||||
"object_id": "0db0aac0-bbfb-4aaa-b648-e0aff5b3479d",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "adb28a27-56df-4ee2-a12b-01208399fb5d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.957Z",
|
||||
"updated_at": "2026-02-25T03:55:36.957Z",
|
||||
"content_type": 42,
|
||||
"object_id": "1fec51ec-ab1c-4c04-9cc4-7d3cf371940d",
|
||||
"text": "هناك مواقف سيارات محدودة جداً للزوار. اضطررت للدوران عدة مرات لإيجاد مكان وتأخرت عن موعدي. هذا يجب معالجته.",
|
||||
"language": "ar",
|
||||
"sentiment": "neutral",
|
||||
"sentiment_score": "0.0000",
|
||||
"confidence": "0.5000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "4151d62a-1de3-47f7-bf32-e8bd29293853",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.941Z",
|
||||
"updated_at": "2026-02-25T03:55:36.941Z",
|
||||
"content_type": 57,
|
||||
"object_id": "4fd1fc88-7e8e-4602-ae4c-bd7a6778438a",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "b0848bb7-2868-4706-b308-f6147ebba138",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.938Z",
|
||||
"updated_at": "2026-02-25T03:55:36.938Z",
|
||||
"content_type": 42,
|
||||
"object_id": "9da3b845-c425-4bf1-b413-1d10fc1a150d",
|
||||
"text": "أريد أن أعبر عن تقديري للممرضة جواهر الحربي التي بذلت ما هو أبعد من المتوقع لجعلي مرتاحاً خلال إقامتي. كلمتها اللطيفة والراعية جعلت الموقف الصعب أكثر قابلية للتحمل.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"لطيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "88b78567-89a1-4513-a792-4796b892dde2",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.937Z",
|
||||
"updated_at": "2026-02-25T03:55:36.937Z",
|
||||
"content_type": 57,
|
||||
"object_id": "7a094b69-80bf-4779-8dea-a0164186df14",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "4e4b9d1c-b790-4b44-9f2f-3b072f0495a9",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.892Z",
|
||||
"updated_at": "2026-02-25T03:55:31.893Z",
|
||||
"content_type": 57,
|
||||
"object_id": "4512b975-e55c-4a6b-9d97-710e855ba791",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "19883722-8435-4e3a-9edf-b36eb65455a3",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.883Z",
|
||||
"updated_at": "2026-02-25T03:55:31.883Z",
|
||||
"content_type": 42,
|
||||
"object_id": "c674b99c-06b3-40c2-9812-0fec40d43ea5",
|
||||
"text": "جودة طعام المستشفى انخفضت بشكل كبير. الوجبات غالباً باردة وغير شهية ولا تلبي المتطلبات الغذائية. هذا يؤثر على رضا المرضى.",
|
||||
"language": "ar",
|
||||
"sentiment": "neutral",
|
||||
"sentiment_score": "0.0000",
|
||||
"confidence": "0.5000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "f47bbd0f-3f0b-400f-8b56-b8fb3bbb83e0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.867Z",
|
||||
"updated_at": "2026-02-25T03:55:31.867Z",
|
||||
"content_type": 57,
|
||||
"object_id": "7237e1e7-0a25-4057-98ec-b1ac5e218c4f",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "0f6095d8-0db3-4782-ab0e-50fb6da57077",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.863Z",
|
||||
"updated_at": "2026-02-25T03:55:31.863Z",
|
||||
"content_type": 42,
|
||||
"object_id": "c020e66f-0f9a-42ac-9b86-a740d340cd2d",
|
||||
"text": "عندما تم قبولي في غرفتي، لم تكن نظيفة بشكل صحيح. كان هناك غبار على الأسطح وحمام غير صحي. هذا مصدر قلق لسلامة المرضى.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"نظيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.2,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "726b916a-7804-4d32-9fef-6cfcb9518599",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.851Z",
|
||||
"updated_at": "2026-02-25T03:55:31.852Z",
|
||||
"content_type": 57,
|
||||
"object_id": "09cd1726-8993-4ae4-bae9-40702333d800",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "c5e1627d-825b-4ea0-b0b7-26bb0008c721",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.848Z",
|
||||
"updated_at": "2026-02-25T03:55:31.848Z",
|
||||
"content_type": 42,
|
||||
"object_id": "312155d3-b384-4e6f-b2e7-f8bd21e7817b",
|
||||
"text": "عندما تم قبولي في غرفتي، لم تكن نظيفة بشكل صحيح. كان هناك غبار على الأسطح وحمام غير صحي. هذا مصدر قلق لسلامة المرضى.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"نظيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.2,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "f0c8d663-8f7b-40d4-8429-deb6b88e0556",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.846Z",
|
||||
"updated_at": "2026-02-25T03:55:31.846Z",
|
||||
"content_type": 57,
|
||||
"object_id": "f226476d-c5e0-4726-8ece-1cfab6bfa0ff",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "cef2911a-be2c-46a7-9d2a-67d524e6d880",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.807Z",
|
||||
"updated_at": "2026-02-25T03:55:26.807Z",
|
||||
"content_type": 57,
|
||||
"object_id": "d5fb457f-7d7b-4485-b0fe-e0b6ce52880c",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "66e6d7dd-0dbc-4467-8c41-bda4e6a20563",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.796Z",
|
||||
"updated_at": "2026-02-25T03:55:26.796Z",
|
||||
"content_type": 42,
|
||||
"object_id": "4f11f759-8061-427d-899b-e0c360d11a20",
|
||||
"text": "على الرغم من الضغط على زر الاستدعاء عدة مرات، لم تستجب الممرضة نورة الفالح لأكثر من 30 دقيقة. عندما وصلت أخيراً، كانت منزعجة وغير مفيدة. هذا مستوى من الإهمال غير مقبول في بيئة الرعاية الصحية.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"مفيد"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "9a213f8f-02c7-4ad3-9b29-2fe35d09b40d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.790Z",
|
||||
"updated_at": "2026-02-25T03:55:26.791Z",
|
||||
"content_type": 57,
|
||||
"object_id": "51ec2c79-a504-437c-97a3-ddce7f1d65d8",
|
||||
"text": "SMS notification sent to complainant: Your complaint has been received",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 2,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "603917ee-a90b-4cd1-a8b6-06ee32e9f8ab",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.596Z",
|
||||
"updated_at": "2026-02-25T03:55:21.596Z",
|
||||
"content_type": 57,
|
||||
"object_id": "dbb70f16-8f80-4a63-8207-cd55bf2e8226",
|
||||
"text": "Complaint created and registered",
|
||||
"language": "en",
|
||||
"sentiment": "negative",
|
||||
"sentiment_score": "-1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"complaint"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "ai_engine.sentimentresult",
|
||||
"pk": "7b7440ee-5de5-46b3-81b4-37ac9d5d0680",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.592Z",
|
||||
"updated_at": "2026-02-25T03:55:21.592Z",
|
||||
"content_type": 42,
|
||||
"object_id": "75699d55-58b8-42d2-94c3-ff479a005dad",
|
||||
"text": "أريد أن أعبر عن تقديري للممرضة علي العنزي التي بذلت ما هو أبعد من المتوقع لجعلي مرتاحاً خلال إقامتي. كلمتها اللطيفة والراعية جعلت الموقف الصعب أكثر قابلية للتحمل.",
|
||||
"language": "ar",
|
||||
"sentiment": "positive",
|
||||
"sentiment_score": "1.0000",
|
||||
"confidence": "0.3000",
|
||||
"ai_service": "stub",
|
||||
"ai_model": "keyword_matching_v1",
|
||||
"processing_time_ms": 0,
|
||||
"keywords": [
|
||||
"لطيف"
|
||||
],
|
||||
"entities": [],
|
||||
"emotions": {
|
||||
"joy": 0.0,
|
||||
"anger": 0.0,
|
||||
"sadness": 0.0,
|
||||
"fear": 0.0,
|
||||
"surprise": 0.0
|
||||
},
|
||||
"metadata": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,914 +0,0 @@
|
||||
{
|
||||
"app": "analytics",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 47,
|
||||
"models": {
|
||||
"kpireport": {
|
||||
"count": 3,
|
||||
"data": [
|
||||
{
|
||||
"model": "analytics.kpireport",
|
||||
"pk": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.918Z",
|
||||
"updated_at": "2026-02-25T05:06:54.114Z",
|
||||
"report_type": "activation_2h",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"year": 2026,
|
||||
"month": 2,
|
||||
"report_date": "2026-02-25",
|
||||
"status": "completed",
|
||||
"generated_by": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"generated_at": "2026-02-25T05:06:54.114Z",
|
||||
"target_percentage": "95.00",
|
||||
"category": "Organizational",
|
||||
"kpi_type": "Outcome",
|
||||
"risk_level": "High",
|
||||
"data_collection_method": "Retrospective",
|
||||
"data_collection_frequency": "Monthly",
|
||||
"reporting_frequency": "Monthly",
|
||||
"dimension": "Efficiency",
|
||||
"collector_name": "",
|
||||
"analyzer_name": "",
|
||||
"total_numerator": 0,
|
||||
"total_denominator": 10,
|
||||
"overall_result": "0.00",
|
||||
"error_message": "",
|
||||
"ai_analysis": null,
|
||||
"ai_analysis_generated_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireport",
|
||||
"pk": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.626Z",
|
||||
"updated_at": "2026-02-25T05:05:17.892Z",
|
||||
"report_type": "resolution_72h",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"year": 2026,
|
||||
"month": 2,
|
||||
"report_date": "2026-02-25",
|
||||
"status": "completed",
|
||||
"generated_by": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"generated_at": "2026-02-25T05:05:17.892Z",
|
||||
"target_percentage": "95.00",
|
||||
"category": "Organizational",
|
||||
"kpi_type": "Outcome",
|
||||
"risk_level": "High",
|
||||
"data_collection_method": "Retrospective",
|
||||
"data_collection_frequency": "Monthly",
|
||||
"reporting_frequency": "Monthly",
|
||||
"dimension": "Efficiency",
|
||||
"collector_name": "",
|
||||
"analyzer_name": "",
|
||||
"total_numerator": 0,
|
||||
"total_denominator": 10,
|
||||
"overall_result": "0.00",
|
||||
"error_message": "",
|
||||
"ai_analysis": {
|
||||
"executive_summary": "The 72-Hour Complaint Resolution KPI for Olaya Hospital in February 2026 shows a complete failure to meet targets, with a 0.00% resolution rate against a 95.00% target (0 out of 10 complaints resolved within 72 hours). All 10 complaints (from sources including Social Media 40%, Call Center 30%, Family Member 20%, and Staff 10%) remain unresolved, with no resolution times recorded in the breakdown (0 in Within 24h, Within 48h, Within 72h, or After 72h). This indicates a systemic issue in complaint handling, likely due to process gaps, lack of escalation, or resource constraints. Immediate intervention is required to address the backlog and prevent further deterioration.",
|
||||
"performance_analysis": {
|
||||
"overall_resolution_rate": "0.00%",
|
||||
"target_resolution_rate": "95.00%",
|
||||
"variance": "-95.00%",
|
||||
"status": "below target",
|
||||
"total_complaints": 10,
|
||||
"resolved_within_72h": 0,
|
||||
"performance_trend": {
|
||||
"current_month": "0.00% (0/10)",
|
||||
"previous_months_data": "Not provided, but current month shows no improvement from baseline",
|
||||
"improvement_needed": "100% resolution rate required to meet target next month"
|
||||
}
|
||||
},
|
||||
"key_findings": [
|
||||
"Zero resolutions: No complaints (0 out of 10) were closed within or after 72 hours, indicating a complete process breakdown.",
|
||||
"Uniform delay: All resolution time buckets (Within 24h, 48h, 72h, After 72h) show 0.00%, with no partial progress.",
|
||||
"Source distribution: Top sources are Social Media (4 complaints, 40%) and Call Center (3 complaints, 30%), suggesting high visibility complaints are piling up.",
|
||||
"Department ambiguity: Despite categories, all departments show 0 complaints, 0 resolved; no 'slow departments' flagged, implying no active tracking or misclassification.",
|
||||
"Escalation and closure gaps: 0 escalated and 0 closed cases highlight lack of follow-up mechanisms.",
|
||||
"Month-over-month stagnation: February 2026 mirrors the 0.00% rate, with no resolved cases from prior periods shown."
|
||||
],
|
||||
"reasons_for_delays": [
|
||||
"Process failure: No recorded resolutions suggest absent or ineffective complaint intake, assignment, or tracking workflows, potentially due to unclear ownership.",
|
||||
"Resource constraints: With 10 total complaints and zero actions, likely understaffing or lack of dedicated complaint resolution teams across departments.",
|
||||
"Escalation inaction: 0 escalated cases indicate no escalation protocols are being followed, leading to indefinite hold on complaints.",
|
||||
"Source-specific challenges: High Social Media (40%) complaints may require PR/Communication involvement, which appears unaddressed; Call Center (30%) might overload front-line staff without backend support.",
|
||||
"Departmental silos: Zero counts in all departments (Medical, Nursing, Admin, Support) suggest complaints are not routed correctly or are being ignored at the department level.",
|
||||
"External factors: No data on holidays/overload, but the uniform 0% resolution points to internal inefficiencies rather than volume spikes."
|
||||
],
|
||||
"resolution_time_analysis": {
|
||||
"within_24h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"within_48h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"within_72h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"after_72h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"insights": "No complaints have progressed through any time stage, resulting in a frozen backlog. Without interventions, this will lead to increasing complaint ages and potential regulatory non-compliance."
|
||||
},
|
||||
"department_analysis": {
|
||||
"non_medical_admin": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"medical_department": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"nursing_department": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"support_services": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"slow_departments": "None identified, but all departments show zero complaints, suggesting underreporting or lack of integration with complaint system.",
|
||||
"overall_department_insight": "Cross-departmental inaction indicates a hospital-wide issue in complaint capture and resolution, rather than isolated inefficiencies."
|
||||
},
|
||||
"source_analysis": {
|
||||
"social_media": {
|
||||
"count": 4,
|
||||
"percentage": "40.00%",
|
||||
"insight": "Highest volume; requires immediate social media monitoring and response team to mitigate reputational risk."
|
||||
},
|
||||
"call_center": {
|
||||
"count": 3,
|
||||
"percentage": "30.00%",
|
||||
"insight": "Significant portion; likely tied to patient access or service issues, needing better call center-to-department handoffs."
|
||||
},
|
||||
"family_member": {
|
||||
"count": 2,
|
||||
"percentage": "20.00%",
|
||||
"insight": "Indirect complaints; may involve communication breakdowns with families, suggesting needs for family liaison protocols."
|
||||
},
|
||||
"staff": {
|
||||
"count": 1,
|
||||
"percentage": "10.00%",
|
||||
"insight": "Internal complaints; points to potential employee satisfaction issues, which could impact morale if unresolved."
|
||||
},
|
||||
"source_summary": "Social Media and Call Center dominate (70% combined), highlighting external visibility of unresolved issues. No sources resolved, indicating universal process gap."
|
||||
},
|
||||
"recommendations": [
|
||||
"Immediate backlog clearance: Assign a dedicated cross-functional team to triage and resolve all 10 pending complaints within 7 days, starting with high-visibility Social Media (4) and Call Center (3) cases.",
|
||||
"Process enhancement: Implement automated complaint tracking with clear SLA alerts (e.g., alerts at 24h/48h) and mandatory escalation after 48 hours; train staff on intake protocols to ensure 100% capture and routing.",
|
||||
"Resource allocation: Audit staffing levels in complaint handling; add temporary resources or redistribute admin/Nursing staff to handle peak volumes, aiming for at least 50% resolution within 48h next month.",
|
||||
"Department accountability: Assign complaint owners per department (e.g., Medical for clinical complaints, Admin for non-medical); integrate complaint data into department KPIs to ensure visibility and drive accountability.",
|
||||
"Source-specific actions: For Social Media, establish a 24/7 monitoring team; for Call Center, improve handoff checklists; for Family Member/Staff, introduce feedback loops and response templates.",
|
||||
"Monitoring and review: Conduct weekly reviews of resolution rates; set interim target of 50% for March 2026, with root cause analysis for any complaints exceeding 72h.",
|
||||
"Technology upgrade: If not in place, deploy a centralized CRM system to consolidate sources and automate resolution tracking, reducing manual errors."
|
||||
],
|
||||
"_metadata": {
|
||||
"generated_at": "2026-02-25T05:05:39.218450+00:00",
|
||||
"report_id": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"report_type": "resolution_72h",
|
||||
"hospital": "Olaya",
|
||||
"year": 2026,
|
||||
"month": 2
|
||||
}
|
||||
},
|
||||
"ai_analysis_generated_at": "2026-02-25T05:05:39.218Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireport",
|
||||
"pk": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.229Z",
|
||||
"updated_at": "2026-02-25T05:06:34.442Z",
|
||||
"report_type": "satisfaction_resolution",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"year": 2026,
|
||||
"month": 2,
|
||||
"report_date": "2026-02-25",
|
||||
"status": "completed",
|
||||
"generated_by": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"generated_at": "2026-02-25T05:06:34.442Z",
|
||||
"target_percentage": "95.00",
|
||||
"category": "Organizational",
|
||||
"kpi_type": "Outcome",
|
||||
"risk_level": "High",
|
||||
"data_collection_method": "Retrospective",
|
||||
"data_collection_frequency": "Monthly",
|
||||
"reporting_frequency": "Monthly",
|
||||
"dimension": "Efficiency",
|
||||
"collector_name": "",
|
||||
"analyzer_name": "",
|
||||
"total_numerator": 0,
|
||||
"total_denominator": 0,
|
||||
"overall_result": "0.00",
|
||||
"error_message": "",
|
||||
"ai_analysis": null,
|
||||
"ai_analysis_generated_at": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"kpireportmonthlydata": {
|
||||
"count": 36,
|
||||
"data": [
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4d9202e0-cc4c-47ff-9014-ac36d6e761ca",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.640Z",
|
||||
"updated_at": "2026-02-25T05:05:17.644Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 1,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "7cce81c6-a7a9-4004-becf-c3b830ecbacf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.243Z",
|
||||
"updated_at": "2026-02-25T05:06:34.246Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 1,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "394c89ab-56e3-4220-bfe8-5f7f070145c4",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.931Z",
|
||||
"updated_at": "2026-02-25T05:06:53.934Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 1,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "ec879001-3daf-4147-b1b8-98d2302309a2",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.659Z",
|
||||
"updated_at": "2026-02-25T05:05:17.680Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 2,
|
||||
"numerator": 0,
|
||||
"denominator": 10,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {
|
||||
"Social Media": 4,
|
||||
"Call Center": 3,
|
||||
"Staff": 1,
|
||||
"Family Member": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "156e3c95-9211-4d10-a4e1-725333e9576d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.258Z",
|
||||
"updated_at": "2026-02-25T05:06:34.265Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 2,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4b5c87df-1245-477f-99c1-6f1ad450460f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.949Z",
|
||||
"updated_at": "2026-02-25T05:06:53.954Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 2,
|
||||
"numerator": 0,
|
||||
"denominator": 10,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "34706e2e-01ae-4ae9-94ee-c91a2ffede86",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.694Z",
|
||||
"updated_at": "2026-02-25T05:05:17.697Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 3,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "5a30b9a3-4a02-4762-b0bc-b16a6fbe9308",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.278Z",
|
||||
"updated_at": "2026-02-25T05:06:34.281Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 3,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "7ebc65a9-7688-4bde-af71-da45eea94bf0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.970Z",
|
||||
"updated_at": "2026-02-25T05:06:53.974Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 3,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "483dec68-8f6c-4ccb-9bb4-793daf28026f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.711Z",
|
||||
"updated_at": "2026-02-25T05:05:17.714Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 4,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "18e69243-abfb-4800-a7b4-18a09b44b188",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.293Z",
|
||||
"updated_at": "2026-02-25T05:06:34.296Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 4,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "76edc093-a757-4da3-b083-dfd52c5f6f45",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.984Z",
|
||||
"updated_at": "2026-02-25T05:06:53.990Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 4,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "f18b64c2-40ea-4ee9-aef0-74af82cb4402",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.726Z",
|
||||
"updated_at": "2026-02-25T05:05:17.730Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 5,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "48ad553d-bc29-48da-9f9d-ae6946724c28",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.308Z",
|
||||
"updated_at": "2026-02-25T05:06:34.313Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 5,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "411a6f5f-dd61-4a98-88f2-b5908d666d22",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.998Z",
|
||||
"updated_at": "2026-02-25T05:06:54.000Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 5,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "dff20507-54c1-4f83-acf9-d81914de7a59",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.743Z",
|
||||
"updated_at": "2026-02-25T05:05:17.745Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 6,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "5b010a15-818c-4183-b1a1-4fa39ed3ac8d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.328Z",
|
||||
"updated_at": "2026-02-25T05:06:34.339Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 6,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "776c9665-80b2-4091-b84f-49eebc577862",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.012Z",
|
||||
"updated_at": "2026-02-25T05:06:54.015Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 6,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "0a26b2d2-0270-474c-9e07-120cc330c7af",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.755Z",
|
||||
"updated_at": "2026-02-25T05:05:17.761Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 7,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4a14e2da-d727-49f2-a6e9-8d5e3ffb5f03",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.356Z",
|
||||
"updated_at": "2026-02-25T05:06:34.362Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 7,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4d623492-b260-4ee4-a478-5a43599a1b18",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.032Z",
|
||||
"updated_at": "2026-02-25T05:06:54.035Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 7,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "c35b57c4-43ba-482f-8000-44ac099435df",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.774Z",
|
||||
"updated_at": "2026-02-25T05:05:17.778Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 8,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "0a1d71e1-758b-4f88-849b-32e6d73d079b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.376Z",
|
||||
"updated_at": "2026-02-25T05:06:34.380Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 8,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "32a42d17-8ac6-40d7-9285-bca7dded9faa",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.047Z",
|
||||
"updated_at": "2026-02-25T05:06:54.050Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 8,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "a24ca72c-6399-4e3a-9e78-a89cfc324411",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.789Z",
|
||||
"updated_at": "2026-02-25T05:05:17.792Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 9,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "3963f4fc-6fdd-4a20-9be6-9d2da2bd8af1",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.394Z",
|
||||
"updated_at": "2026-02-25T05:06:34.398Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 9,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "3f77f04e-7477-4328-9054-84b135b016f3",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.063Z",
|
||||
"updated_at": "2026-02-25T05:06:54.065Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 9,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4f12ec3b-29ec-4664-99b1-44a9418bcbd1",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.798Z",
|
||||
"updated_at": "2026-02-25T05:05:17.801Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 10,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "a4c33859-5031-4410-be37-340115739fc1",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.407Z",
|
||||
"updated_at": "2026-02-25T05:06:34.411Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 10,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "b7fb063c-0f9f-4d4f-9948-ed77b0ddd486",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.077Z",
|
||||
"updated_at": "2026-02-25T05:06:54.081Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 10,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "0102b319-57e9-485e-9dd4-6a4b3e8aa01b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.807Z",
|
||||
"updated_at": "2026-02-25T05:05:17.810Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 11,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "98bb11e1-32d1-4fd1-bf0c-7c0bb1906488",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.418Z",
|
||||
"updated_at": "2026-02-25T05:06:34.422Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 11,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "6435a7b2-1c24-4b75-9d92-44f7eb28e273",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.094Z",
|
||||
"updated_at": "2026-02-25T05:06:54.096Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 11,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "a616bf00-880d-4839-ad2c-db841c3196cb",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.816Z",
|
||||
"updated_at": "2026-02-25T05:05:17.818Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 12,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "7488dc68-b2ae-42a6-a962-0cfe40346444",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.429Z",
|
||||
"updated_at": "2026-02-25T05:06:34.434Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 12,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "ddc6ad75-756a-4935-b335-55b86646b15f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.106Z",
|
||||
"updated_at": "2026-02-25T05:06:54.109Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 12,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"kpireportdepartmentbreakdown": {
|
||||
"count": 4,
|
||||
"data": [
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "9137144c-1b44-4d6e-be4d-0430f154f718",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.876Z",
|
||||
"updated_at": "2026-02-25T05:05:17.876Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "admin",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "4d5eb559-6036-4185-9acd-6d3625922483",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.858Z",
|
||||
"updated_at": "2026-02-25T05:05:17.858Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "medical",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "456bf2ad-1c56-41ef-80f1-d719b70e53d2",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.868Z",
|
||||
"updated_at": "2026-02-25T05:05:17.868Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "nursing",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "cc391455-444a-4d92-92d9-4c9cb39763d4",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.890Z",
|
||||
"updated_at": "2026-02-25T05:05:17.890Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "support",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"kpireportsourcebreakdown": {
|
||||
"count": 4,
|
||||
"data": [
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "02d33996-ba97-4efe-b6d3-37c6b2e818ff",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.835Z",
|
||||
"updated_at": "2026-02-25T05:05:17.835Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Social Media",
|
||||
"complaint_count": 4,
|
||||
"percentage": "40.00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "fc458559-803f-47bf-af84-d7a4ca922bb0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.838Z",
|
||||
"updated_at": "2026-02-25T05:05:17.838Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Call Center",
|
||||
"complaint_count": 3,
|
||||
"percentage": "30.00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "00b2b0dc-1652-4eed-bd47-f954106345ca",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.842Z",
|
||||
"updated_at": "2026-02-25T05:05:17.842Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Family Member",
|
||||
"complaint_count": 2,
|
||||
"percentage": "20.00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "48a31227-46f2-4274-98bd-a112dc068682",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.840Z",
|
||||
"updated_at": "2026-02-25T05:05:17.840Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Staff",
|
||||
"complaint_count": 1,
|
||||
"percentage": "10.00"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
889
database_export/analytics/analytics_fixture.json
Normal file
889
database_export/analytics/analytics_fixture.json
Normal file
@ -0,0 +1,889 @@
|
||||
[
|
||||
{
|
||||
"model": "analytics.kpireport",
|
||||
"pk": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.918Z",
|
||||
"updated_at": "2026-02-25T05:06:54.114Z",
|
||||
"report_type": "activation_2h",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"year": 2026,
|
||||
"month": 2,
|
||||
"report_date": "2026-02-25",
|
||||
"status": "completed",
|
||||
"generated_by": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"generated_at": "2026-02-25T05:06:54.114Z",
|
||||
"target_percentage": "95.00",
|
||||
"category": "Organizational",
|
||||
"kpi_type": "Outcome",
|
||||
"risk_level": "High",
|
||||
"data_collection_method": "Retrospective",
|
||||
"data_collection_frequency": "Monthly",
|
||||
"reporting_frequency": "Monthly",
|
||||
"dimension": "Efficiency",
|
||||
"collector_name": "",
|
||||
"analyzer_name": "",
|
||||
"total_numerator": 0,
|
||||
"total_denominator": 10,
|
||||
"overall_result": "0.00",
|
||||
"error_message": "",
|
||||
"ai_analysis": null,
|
||||
"ai_analysis_generated_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireport",
|
||||
"pk": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.626Z",
|
||||
"updated_at": "2026-02-25T05:05:17.892Z",
|
||||
"report_type": "resolution_72h",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"year": 2026,
|
||||
"month": 2,
|
||||
"report_date": "2026-02-25",
|
||||
"status": "completed",
|
||||
"generated_by": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"generated_at": "2026-02-25T05:05:17.892Z",
|
||||
"target_percentage": "95.00",
|
||||
"category": "Organizational",
|
||||
"kpi_type": "Outcome",
|
||||
"risk_level": "High",
|
||||
"data_collection_method": "Retrospective",
|
||||
"data_collection_frequency": "Monthly",
|
||||
"reporting_frequency": "Monthly",
|
||||
"dimension": "Efficiency",
|
||||
"collector_name": "",
|
||||
"analyzer_name": "",
|
||||
"total_numerator": 0,
|
||||
"total_denominator": 10,
|
||||
"overall_result": "0.00",
|
||||
"error_message": "",
|
||||
"ai_analysis": {
|
||||
"executive_summary": "The 72-Hour Complaint Resolution KPI for Olaya Hospital in February 2026 shows a complete failure to meet targets, with a 0.00% resolution rate against a 95.00% target (0 out of 10 complaints resolved within 72 hours). All 10 complaints (from sources including Social Media 40%, Call Center 30%, Family Member 20%, and Staff 10%) remain unresolved, with no resolution times recorded in the breakdown (0 in Within 24h, Within 48h, Within 72h, or After 72h). This indicates a systemic issue in complaint handling, likely due to process gaps, lack of escalation, or resource constraints. Immediate intervention is required to address the backlog and prevent further deterioration.",
|
||||
"performance_analysis": {
|
||||
"overall_resolution_rate": "0.00%",
|
||||
"target_resolution_rate": "95.00%",
|
||||
"variance": "-95.00%",
|
||||
"status": "below target",
|
||||
"total_complaints": 10,
|
||||
"resolved_within_72h": 0,
|
||||
"performance_trend": {
|
||||
"current_month": "0.00% (0/10)",
|
||||
"previous_months_data": "Not provided, but current month shows no improvement from baseline",
|
||||
"improvement_needed": "100% resolution rate required to meet target next month"
|
||||
}
|
||||
},
|
||||
"key_findings": [
|
||||
"Zero resolutions: No complaints (0 out of 10) were closed within or after 72 hours, indicating a complete process breakdown.",
|
||||
"Uniform delay: All resolution time buckets (Within 24h, 48h, 72h, After 72h) show 0.00%, with no partial progress.",
|
||||
"Source distribution: Top sources are Social Media (4 complaints, 40%) and Call Center (3 complaints, 30%), suggesting high visibility complaints are piling up.",
|
||||
"Department ambiguity: Despite categories, all departments show 0 complaints, 0 resolved; no 'slow departments' flagged, implying no active tracking or misclassification.",
|
||||
"Escalation and closure gaps: 0 escalated and 0 closed cases highlight lack of follow-up mechanisms.",
|
||||
"Month-over-month stagnation: February 2026 mirrors the 0.00% rate, with no resolved cases from prior periods shown."
|
||||
],
|
||||
"reasons_for_delays": [
|
||||
"Process failure: No recorded resolutions suggest absent or ineffective complaint intake, assignment, or tracking workflows, potentially due to unclear ownership.",
|
||||
"Resource constraints: With 10 total complaints and zero actions, likely understaffing or lack of dedicated complaint resolution teams across departments.",
|
||||
"Escalation inaction: 0 escalated cases indicate no escalation protocols are being followed, leading to indefinite hold on complaints.",
|
||||
"Source-specific challenges: High Social Media (40%) complaints may require PR/Communication involvement, which appears unaddressed; Call Center (30%) might overload front-line staff without backend support.",
|
||||
"Departmental silos: Zero counts in all departments (Medical, Nursing, Admin, Support) suggest complaints are not routed correctly or are being ignored at the department level.",
|
||||
"External factors: No data on holidays/overload, but the uniform 0% resolution points to internal inefficiencies rather than volume spikes."
|
||||
],
|
||||
"resolution_time_analysis": {
|
||||
"within_24h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"within_48h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"within_72h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"after_72h": {
|
||||
"count": 0,
|
||||
"percentage": "0.00%"
|
||||
},
|
||||
"insights": "No complaints have progressed through any time stage, resulting in a frozen backlog. Without interventions, this will lead to increasing complaint ages and potential regulatory non-compliance."
|
||||
},
|
||||
"department_analysis": {
|
||||
"non_medical_admin": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"medical_department": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"nursing_department": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"support_services": {
|
||||
"complaints": 0,
|
||||
"resolved": 0,
|
||||
"status": "No activity"
|
||||
},
|
||||
"slow_departments": "None identified, but all departments show zero complaints, suggesting underreporting or lack of integration with complaint system.",
|
||||
"overall_department_insight": "Cross-departmental inaction indicates a hospital-wide issue in complaint capture and resolution, rather than isolated inefficiencies."
|
||||
},
|
||||
"source_analysis": {
|
||||
"social_media": {
|
||||
"count": 4,
|
||||
"percentage": "40.00%",
|
||||
"insight": "Highest volume; requires immediate social media monitoring and response team to mitigate reputational risk."
|
||||
},
|
||||
"call_center": {
|
||||
"count": 3,
|
||||
"percentage": "30.00%",
|
||||
"insight": "Significant portion; likely tied to patient access or service issues, needing better call center-to-department handoffs."
|
||||
},
|
||||
"family_member": {
|
||||
"count": 2,
|
||||
"percentage": "20.00%",
|
||||
"insight": "Indirect complaints; may involve communication breakdowns with families, suggesting needs for family liaison protocols."
|
||||
},
|
||||
"staff": {
|
||||
"count": 1,
|
||||
"percentage": "10.00%",
|
||||
"insight": "Internal complaints; points to potential employee satisfaction issues, which could impact morale if unresolved."
|
||||
},
|
||||
"source_summary": "Social Media and Call Center dominate (70% combined), highlighting external visibility of unresolved issues. No sources resolved, indicating universal process gap."
|
||||
},
|
||||
"recommendations": [
|
||||
"Immediate backlog clearance: Assign a dedicated cross-functional team to triage and resolve all 10 pending complaints within 7 days, starting with high-visibility Social Media (4) and Call Center (3) cases.",
|
||||
"Process enhancement: Implement automated complaint tracking with clear SLA alerts (e.g., alerts at 24h/48h) and mandatory escalation after 48 hours; train staff on intake protocols to ensure 100% capture and routing.",
|
||||
"Resource allocation: Audit staffing levels in complaint handling; add temporary resources or redistribute admin/Nursing staff to handle peak volumes, aiming for at least 50% resolution within 48h next month.",
|
||||
"Department accountability: Assign complaint owners per department (e.g., Medical for clinical complaints, Admin for non-medical); integrate complaint data into department KPIs to ensure visibility and drive accountability.",
|
||||
"Source-specific actions: For Social Media, establish a 24/7 monitoring team; for Call Center, improve handoff checklists; for Family Member/Staff, introduce feedback loops and response templates.",
|
||||
"Monitoring and review: Conduct weekly reviews of resolution rates; set interim target of 50% for March 2026, with root cause analysis for any complaints exceeding 72h.",
|
||||
"Technology upgrade: If not in place, deploy a centralized CRM system to consolidate sources and automate resolution tracking, reducing manual errors."
|
||||
],
|
||||
"_metadata": {
|
||||
"generated_at": "2026-02-25T05:05:39.218450+00:00",
|
||||
"report_id": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"report_type": "resolution_72h",
|
||||
"hospital": "Olaya",
|
||||
"year": 2026,
|
||||
"month": 2
|
||||
}
|
||||
},
|
||||
"ai_analysis_generated_at": "2026-02-25T05:05:39.218Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireport",
|
||||
"pk": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.229Z",
|
||||
"updated_at": "2026-02-25T05:06:34.442Z",
|
||||
"report_type": "satisfaction_resolution",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"year": 2026,
|
||||
"month": 2,
|
||||
"report_date": "2026-02-25",
|
||||
"status": "completed",
|
||||
"generated_by": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"generated_at": "2026-02-25T05:06:34.442Z",
|
||||
"target_percentage": "95.00",
|
||||
"category": "Organizational",
|
||||
"kpi_type": "Outcome",
|
||||
"risk_level": "High",
|
||||
"data_collection_method": "Retrospective",
|
||||
"data_collection_frequency": "Monthly",
|
||||
"reporting_frequency": "Monthly",
|
||||
"dimension": "Efficiency",
|
||||
"collector_name": "",
|
||||
"analyzer_name": "",
|
||||
"total_numerator": 0,
|
||||
"total_denominator": 0,
|
||||
"overall_result": "0.00",
|
||||
"error_message": "",
|
||||
"ai_analysis": null,
|
||||
"ai_analysis_generated_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4d9202e0-cc4c-47ff-9014-ac36d6e761ca",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.640Z",
|
||||
"updated_at": "2026-02-25T05:05:17.644Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 1,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "7cce81c6-a7a9-4004-becf-c3b830ecbacf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.243Z",
|
||||
"updated_at": "2026-02-25T05:06:34.246Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 1,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "394c89ab-56e3-4220-bfe8-5f7f070145c4",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.931Z",
|
||||
"updated_at": "2026-02-25T05:06:53.934Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 1,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "ec879001-3daf-4147-b1b8-98d2302309a2",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.659Z",
|
||||
"updated_at": "2026-02-25T05:05:17.680Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 2,
|
||||
"numerator": 0,
|
||||
"denominator": 10,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {
|
||||
"Social Media": 4,
|
||||
"Call Center": 3,
|
||||
"Staff": 1,
|
||||
"Family Member": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "156e3c95-9211-4d10-a4e1-725333e9576d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.258Z",
|
||||
"updated_at": "2026-02-25T05:06:34.265Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 2,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4b5c87df-1245-477f-99c1-6f1ad450460f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.949Z",
|
||||
"updated_at": "2026-02-25T05:06:53.954Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 2,
|
||||
"numerator": 0,
|
||||
"denominator": 10,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "34706e2e-01ae-4ae9-94ee-c91a2ffede86",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.694Z",
|
||||
"updated_at": "2026-02-25T05:05:17.697Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 3,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "5a30b9a3-4a02-4762-b0bc-b16a6fbe9308",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.278Z",
|
||||
"updated_at": "2026-02-25T05:06:34.281Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 3,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "7ebc65a9-7688-4bde-af71-da45eea94bf0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.970Z",
|
||||
"updated_at": "2026-02-25T05:06:53.974Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 3,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "483dec68-8f6c-4ccb-9bb4-793daf28026f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.711Z",
|
||||
"updated_at": "2026-02-25T05:05:17.714Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 4,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "18e69243-abfb-4800-a7b4-18a09b44b188",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.293Z",
|
||||
"updated_at": "2026-02-25T05:06:34.296Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 4,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "76edc093-a757-4da3-b083-dfd52c5f6f45",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.984Z",
|
||||
"updated_at": "2026-02-25T05:06:53.990Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 4,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "f18b64c2-40ea-4ee9-aef0-74af82cb4402",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.726Z",
|
||||
"updated_at": "2026-02-25T05:05:17.730Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 5,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "48ad553d-bc29-48da-9f9d-ae6946724c28",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.308Z",
|
||||
"updated_at": "2026-02-25T05:06:34.313Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 5,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "411a6f5f-dd61-4a98-88f2-b5908d666d22",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:53.998Z",
|
||||
"updated_at": "2026-02-25T05:06:54.000Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 5,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "dff20507-54c1-4f83-acf9-d81914de7a59",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.743Z",
|
||||
"updated_at": "2026-02-25T05:05:17.745Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 6,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "5b010a15-818c-4183-b1a1-4fa39ed3ac8d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.328Z",
|
||||
"updated_at": "2026-02-25T05:06:34.339Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 6,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "776c9665-80b2-4091-b84f-49eebc577862",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.012Z",
|
||||
"updated_at": "2026-02-25T05:06:54.015Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 6,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "0a26b2d2-0270-474c-9e07-120cc330c7af",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.755Z",
|
||||
"updated_at": "2026-02-25T05:05:17.761Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 7,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4a14e2da-d727-49f2-a6e9-8d5e3ffb5f03",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.356Z",
|
||||
"updated_at": "2026-02-25T05:06:34.362Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 7,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4d623492-b260-4ee4-a478-5a43599a1b18",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.032Z",
|
||||
"updated_at": "2026-02-25T05:06:54.035Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 7,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "c35b57c4-43ba-482f-8000-44ac099435df",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.774Z",
|
||||
"updated_at": "2026-02-25T05:05:17.778Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 8,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "0a1d71e1-758b-4f88-849b-32e6d73d079b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.376Z",
|
||||
"updated_at": "2026-02-25T05:06:34.380Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 8,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "32a42d17-8ac6-40d7-9285-bca7dded9faa",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.047Z",
|
||||
"updated_at": "2026-02-25T05:06:54.050Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 8,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "a24ca72c-6399-4e3a-9e78-a89cfc324411",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.789Z",
|
||||
"updated_at": "2026-02-25T05:05:17.792Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 9,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "3963f4fc-6fdd-4a20-9be6-9d2da2bd8af1",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.394Z",
|
||||
"updated_at": "2026-02-25T05:06:34.398Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 9,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "3f77f04e-7477-4328-9054-84b135b016f3",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.063Z",
|
||||
"updated_at": "2026-02-25T05:06:54.065Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 9,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "4f12ec3b-29ec-4664-99b1-44a9418bcbd1",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.798Z",
|
||||
"updated_at": "2026-02-25T05:05:17.801Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 10,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "a4c33859-5031-4410-be37-340115739fc1",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.407Z",
|
||||
"updated_at": "2026-02-25T05:06:34.411Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 10,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "b7fb063c-0f9f-4d4f-9948-ed77b0ddd486",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.077Z",
|
||||
"updated_at": "2026-02-25T05:06:54.081Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 10,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "0102b319-57e9-485e-9dd4-6a4b3e8aa01b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.807Z",
|
||||
"updated_at": "2026-02-25T05:05:17.810Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 11,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "98bb11e1-32d1-4fd1-bf0c-7c0bb1906488",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.418Z",
|
||||
"updated_at": "2026-02-25T05:06:34.422Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 11,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "6435a7b2-1c24-4b75-9d92-44f7eb28e273",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.094Z",
|
||||
"updated_at": "2026-02-25T05:06:54.096Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 11,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "a616bf00-880d-4839-ad2c-db841c3196cb",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.816Z",
|
||||
"updated_at": "2026-02-25T05:05:17.818Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"month": 12,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {
|
||||
"source_breakdown": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "7488dc68-b2ae-42a6-a962-0cfe40346444",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:34.429Z",
|
||||
"updated_at": "2026-02-25T05:06:34.434Z",
|
||||
"kpi_report": "3f450a3f-036b-4be6-b368-fc1c3d2dc2ff",
|
||||
"month": 12,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportmonthlydata",
|
||||
"pk": "ddc6ad75-756a-4935-b335-55b86646b15f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:06:54.106Z",
|
||||
"updated_at": "2026-02-25T05:06:54.109Z",
|
||||
"kpi_report": "56af32e0-a5b2-4d38-8b18-bd0a06805237",
|
||||
"month": 12,
|
||||
"numerator": 0,
|
||||
"denominator": 0,
|
||||
"percentage": "0.00",
|
||||
"is_below_target": true,
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "9137144c-1b44-4d6e-be4d-0430f154f718",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.876Z",
|
||||
"updated_at": "2026-02-25T05:05:17.876Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "admin",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "4d5eb559-6036-4185-9acd-6d3625922483",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.858Z",
|
||||
"updated_at": "2026-02-25T05:05:17.858Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "medical",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "456bf2ad-1c56-41ef-80f1-d719b70e53d2",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.868Z",
|
||||
"updated_at": "2026-02-25T05:05:17.868Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "nursing",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportdepartmentbreakdown",
|
||||
"pk": "cc391455-444a-4d92-92d9-4c9cb39763d4",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.890Z",
|
||||
"updated_at": "2026-02-25T05:05:17.890Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"department_category": "support",
|
||||
"complaint_count": 0,
|
||||
"resolved_count": 0,
|
||||
"avg_resolution_days": null,
|
||||
"top_areas": "",
|
||||
"details": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "02d33996-ba97-4efe-b6d3-37c6b2e818ff",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.835Z",
|
||||
"updated_at": "2026-02-25T05:05:17.835Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Social Media",
|
||||
"complaint_count": 4,
|
||||
"percentage": "40.00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "fc458559-803f-47bf-af84-d7a4ca922bb0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.838Z",
|
||||
"updated_at": "2026-02-25T05:05:17.838Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Call Center",
|
||||
"complaint_count": 3,
|
||||
"percentage": "30.00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "00b2b0dc-1652-4eed-bd47-f954106345ca",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.842Z",
|
||||
"updated_at": "2026-02-25T05:05:17.842Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Family Member",
|
||||
"complaint_count": 2,
|
||||
"percentage": "20.00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "analytics.kpireportsourcebreakdown",
|
||||
"pk": "48a31227-46f2-4274-98bd-a112dc068682",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:05:17.840Z",
|
||||
"updated_at": "2026-02-25T05:05:17.840Z",
|
||||
"kpi_report": "88795c74-4a05-4030-bd81-24b844564b3c",
|
||||
"source_name": "Staff",
|
||||
"complaint_count": 1,
|
||||
"percentage": "10.00"
|
||||
}
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
2859
database_export/complaints/complaints_fixture.json
Normal file
2859
database_export/complaints/complaints_fixture.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,73 +0,0 @@
|
||||
{
|
||||
"app": "core",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 3,
|
||||
"models": {
|
||||
"auditevent": {
|
||||
"count": 3,
|
||||
"data": [
|
||||
{
|
||||
"model": "core.auditevent",
|
||||
"pk": "cb0145b5-839a-4d42-b8b7-15d7c5a5f92b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:09:40.739Z",
|
||||
"updated_at": "2026-02-25T05:09:40.739Z",
|
||||
"event_type": "activation",
|
||||
"user": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"description": "Complaint activated and assigned to ",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"metadata": {
|
||||
"assigned_to_user_id": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"assigned_to_user_name": "",
|
||||
"previous_assignee_id": null,
|
||||
"previous_assignee_name": null
|
||||
},
|
||||
"ip_address": null,
|
||||
"user_agent": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "core.auditevent",
|
||||
"pk": "5a4f4bf3-9447-46cf-b886-966ea694f297",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:17:40.060Z",
|
||||
"updated_at": "2026-02-25T04:17:40.060Z",
|
||||
"event_type": "doctor_rating_import_queued",
|
||||
"user": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"description": "Queued 38082 doctor ratings for import",
|
||||
"content_type": null,
|
||||
"object_id": null,
|
||||
"metadata": {
|
||||
"job_id": "ac3ebc22-da1a-486a-96cc-c4146b6d3d25",
|
||||
"hospital": "Olaya",
|
||||
"total_records": 38082
|
||||
},
|
||||
"ip_address": null,
|
||||
"user_agent": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "core.auditevent",
|
||||
"pk": "e44a60aa-2c8c-4b21-868f-9c609fabd7bf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:14:05.305Z",
|
||||
"updated_at": "2026-02-25T04:14:05.305Z",
|
||||
"event_type": "doctor_rating_csv_import",
|
||||
"user": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"description": "Parsed 38082 doctor ratings from CSV by ",
|
||||
"content_type": null,
|
||||
"object_id": null,
|
||||
"metadata": {
|
||||
"hospital": "Olaya",
|
||||
"total_count": 38082,
|
||||
"error_count": 0
|
||||
},
|
||||
"ip_address": null,
|
||||
"user_agent": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
63
database_export/core/core_fixture.json
Normal file
63
database_export/core/core_fixture.json
Normal file
@ -0,0 +1,63 @@
|
||||
[
|
||||
{
|
||||
"model": "core.auditevent",
|
||||
"pk": "cb0145b5-839a-4d42-b8b7-15d7c5a5f92b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T05:09:40.739Z",
|
||||
"updated_at": "2026-02-25T05:09:40.739Z",
|
||||
"event_type": "activation",
|
||||
"user": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"description": "Complaint activated and assigned to ",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"metadata": {
|
||||
"assigned_to_user_id": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"assigned_to_user_name": "",
|
||||
"previous_assignee_id": null,
|
||||
"previous_assignee_name": null
|
||||
},
|
||||
"ip_address": null,
|
||||
"user_agent": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "core.auditevent",
|
||||
"pk": "5a4f4bf3-9447-46cf-b886-966ea694f297",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:17:40.060Z",
|
||||
"updated_at": "2026-02-25T04:17:40.060Z",
|
||||
"event_type": "doctor_rating_import_queued",
|
||||
"user": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"description": "Queued 38082 doctor ratings for import",
|
||||
"content_type": null,
|
||||
"object_id": null,
|
||||
"metadata": {
|
||||
"job_id": "ac3ebc22-da1a-486a-96cc-c4146b6d3d25",
|
||||
"hospital": "Olaya",
|
||||
"total_records": 38082
|
||||
},
|
||||
"ip_address": null,
|
||||
"user_agent": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "core.auditevent",
|
||||
"pk": "e44a60aa-2c8c-4b21-868f-9c609fabd7bf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:14:05.305Z",
|
||||
"updated_at": "2026-02-25T04:14:05.305Z",
|
||||
"event_type": "doctor_rating_csv_import",
|
||||
"user": "e4a79042-cd54-45ff-9bf5-d775bcb9fb92",
|
||||
"description": "Parsed 38082 doctor ratings from CSV by ",
|
||||
"content_type": null,
|
||||
"object_id": null,
|
||||
"metadata": {
|
||||
"hospital": "Olaya",
|
||||
"total_count": 38082,
|
||||
"error_count": 0
|
||||
},
|
||||
"ip_address": null,
|
||||
"user_agent": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
BIN
database_export/database_export_20260225_082145.zip
Normal file
BIN
database_export/database_export_20260225_082145.zip
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
{
|
||||
"exported_at": "20260225_081256",
|
||||
"exported_at": "20260225_082145",
|
||||
"total_records": 58175,
|
||||
"apps_exported": [
|
||||
"core",
|
||||
@ -25,5 +25,21 @@
|
||||
"standards",
|
||||
"simulator"
|
||||
],
|
||||
"output_directory": "./database_export"
|
||||
"output_directory": "./database_export",
|
||||
"compressed": true,
|
||||
"zip_file": "./database_export/database_export_20260225_082145.zip",
|
||||
"fixture_files": [
|
||||
"./database_export/core/core_fixture.json",
|
||||
"./database_export/accounts/accounts_fixture.json",
|
||||
"./database_export/organizations/organizations_fixture.json",
|
||||
"./database_export/journeys/journeys_fixture.json",
|
||||
"./database_export/surveys/surveys_fixture.json",
|
||||
"./database_export/complaints/complaints_fixture.json",
|
||||
"./database_export/analytics/analytics_fixture.json",
|
||||
"./database_export/physicians/physicians_fixture.json",
|
||||
"./database_export/integrations/integrations_fixture.json",
|
||||
"./database_export/notifications/notifications_fixture.json",
|
||||
"./database_export/ai_engine/ai_engine_fixture.json",
|
||||
"./database_export/px_sources/px_sources_fixture.json"
|
||||
]
|
||||
}
|
||||
@ -1,48 +0,0 @@
|
||||
{
|
||||
"app": "integrations",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 3,
|
||||
"models": {
|
||||
"surveytemplatemapping": {
|
||||
"count": 3,
|
||||
"data": [
|
||||
{
|
||||
"model": "integrations.surveytemplatemapping",
|
||||
"pk": "6e7f6f8c-bd68-490b-b67f-0756e610c787",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:01:58.060Z",
|
||||
"updated_at": "2026-02-25T04:01:58.060Z",
|
||||
"patient_type": "APPOINTMENT",
|
||||
"survey_template": "5e8f95fd-2e84-4640-8d67-e549507684a5",
|
||||
"hospital": null,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "integrations.surveytemplatemapping",
|
||||
"pk": "81074873-2bdd-44c6-ad41-4fb71a5c2058",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:01:58.052Z",
|
||||
"updated_at": "2026-02-25T04:01:58.052Z",
|
||||
"patient_type": "INPATIENT",
|
||||
"survey_template": "6104fa70-0768-45b7-9f12-6816d91c0e18",
|
||||
"hospital": null,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "integrations.surveytemplatemapping",
|
||||
"pk": "032cc742-98e8-47de-b4aa-48506342665b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:01:58.057Z",
|
||||
"updated_at": "2026-02-25T04:01:58.057Z",
|
||||
"patient_type": "OUTPATIENT",
|
||||
"survey_template": "0e175a49-a502-4d46-9c5f-c98894e316cf",
|
||||
"hospital": null,
|
||||
"is_active": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
38
database_export/integrations/integrations_fixture.json
Normal file
38
database_export/integrations/integrations_fixture.json
Normal file
@ -0,0 +1,38 @@
|
||||
[
|
||||
{
|
||||
"model": "integrations.surveytemplatemapping",
|
||||
"pk": "6e7f6f8c-bd68-490b-b67f-0756e610c787",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:01:58.060Z",
|
||||
"updated_at": "2026-02-25T04:01:58.060Z",
|
||||
"patient_type": "APPOINTMENT",
|
||||
"survey_template": "5e8f95fd-2e84-4640-8d67-e549507684a5",
|
||||
"hospital": null,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "integrations.surveytemplatemapping",
|
||||
"pk": "81074873-2bdd-44c6-ad41-4fb71a5c2058",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:01:58.052Z",
|
||||
"updated_at": "2026-02-25T04:01:58.052Z",
|
||||
"patient_type": "INPATIENT",
|
||||
"survey_template": "6104fa70-0768-45b7-9f12-6816d91c0e18",
|
||||
"hospital": null,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "integrations.surveytemplatemapping",
|
||||
"pk": "032cc742-98e8-47de-b4aa-48506342665b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:01:58.057Z",
|
||||
"updated_at": "2026-02-25T04:01:58.057Z",
|
||||
"patient_type": "OUTPATIENT",
|
||||
"survey_template": "0e175a49-a502-4d46-9c5f-c98894e316cf",
|
||||
"hospital": null,
|
||||
"is_active": true
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,289 +0,0 @@
|
||||
{
|
||||
"app": "journeys",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 16,
|
||||
"models": {
|
||||
"patientjourneytemplate": {
|
||||
"count": 3,
|
||||
"data": [
|
||||
{
|
||||
"model": "journeys.patientjourneytemplate",
|
||||
"pk": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.509Z",
|
||||
"updated_at": "2026-02-25T04:00:58.509Z",
|
||||
"name": "EMS Patient Journey",
|
||||
"name_ar": "رحلة المريض للطوارئ",
|
||||
"journey_type": "ems",
|
||||
"description": "Emergency medical services patient journey",
|
||||
"hospital": "d7221fdb-a0f7-4460-8d69-14a3bfe627fb",
|
||||
"is_active": true,
|
||||
"is_default": true,
|
||||
"send_post_discharge_survey": true,
|
||||
"post_discharge_survey_delay_hours": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneytemplate",
|
||||
"pk": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.535Z",
|
||||
"updated_at": "2026-02-25T04:00:58.535Z",
|
||||
"name": "Inpatient Patient Journey",
|
||||
"name_ar": "رحلة المريض الداخلي",
|
||||
"journey_type": "inpatient",
|
||||
"description": "Inpatient journey from admission to discharge",
|
||||
"hospital": "d7221fdb-a0f7-4460-8d69-14a3bfe627fb",
|
||||
"is_active": true,
|
||||
"is_default": true,
|
||||
"send_post_discharge_survey": true,
|
||||
"post_discharge_survey_delay_hours": 24
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneytemplate",
|
||||
"pk": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.563Z",
|
||||
"updated_at": "2026-02-25T04:00:58.563Z",
|
||||
"name": "OPD Patient Journey",
|
||||
"name_ar": "رحلة المريض للعيادات الخارجية",
|
||||
"journey_type": "opd",
|
||||
"description": "Outpatient department patient journey",
|
||||
"hospital": "d7221fdb-a0f7-4460-8d69-14a3bfe627fb",
|
||||
"is_active": true,
|
||||
"is_default": true,
|
||||
"send_post_discharge_survey": true,
|
||||
"post_discharge_survey_delay_hours": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"patientjourneystagetemplate": {
|
||||
"count": 13,
|
||||
"data": [
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "dacb47c5-fbeb-4239-96e7-8103827ed6d8",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.511Z",
|
||||
"updated_at": "2026-02-25T04:00:58.511Z",
|
||||
"journey_template": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"name": "Ambulance Dispatch",
|
||||
"name_ar": "إرسال الإسعاف",
|
||||
"code": "EMS_STAGE_1_DISPATCHED",
|
||||
"order": 1,
|
||||
"trigger_event_code": "EMS_STAGE_1_DISPATCHED",
|
||||
"survey_template": "733b4d11-2a88-4875-bb33-fb3d7efc3734",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "9128dcaa-ea20-4d1c-953f-08180e12e1d6",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.513Z",
|
||||
"updated_at": "2026-02-25T04:00:58.513Z",
|
||||
"journey_template": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"name": "On Scene Care",
|
||||
"name_ar": "الرعاية في الموقع",
|
||||
"code": "EMS_STAGE_2_ON_SCENE",
|
||||
"order": 2,
|
||||
"trigger_event_code": "EMS_STAGE_2_ON_SCENE",
|
||||
"survey_template": "733b4d11-2a88-4875-bb33-fb3d7efc3734",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "e59b6e21-caf9-4e20-9925-30693232bfb7",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.514Z",
|
||||
"updated_at": "2026-02-25T04:00:58.514Z",
|
||||
"journey_template": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"name": "Patient Transport",
|
||||
"name_ar": "نقل المريض",
|
||||
"code": "EMS_STAGE_3_TRANSPORT",
|
||||
"order": 3,
|
||||
"trigger_event_code": "EMS_STAGE_3_TRANSPORT",
|
||||
"survey_template": "733b4d11-2a88-4875-bb33-fb3d7efc3734",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "c86143de-01a4-4503-8c43-33bde911d2da",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.537Z",
|
||||
"updated_at": "2026-02-25T04:00:58.537Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Admission",
|
||||
"name_ar": "القبول",
|
||||
"code": "INPATIENT_STAGE_1_ADMISSION",
|
||||
"order": 1,
|
||||
"trigger_event_code": "INPATIENT_STAGE_1_ADMISSION",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "eabc55aa-9ece-4755-ae2b-abd75765dad0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.539Z",
|
||||
"updated_at": "2026-02-25T04:00:58.539Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Treatment",
|
||||
"name_ar": "العلاج",
|
||||
"code": "INPATIENT_STAGE_2_TREATMENT",
|
||||
"order": 2,
|
||||
"trigger_event_code": "INPATIENT_STAGE_2_TREATMENT",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "372dd6df-7667-4a4a-be26-13dc8957ae52",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.541Z",
|
||||
"updated_at": "2026-02-25T04:00:58.541Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Nursing Care",
|
||||
"name_ar": "الرعاية التمريضية",
|
||||
"code": "INPATIENT_STAGE_3_NURSING",
|
||||
"order": 3,
|
||||
"trigger_event_code": "INPATIENT_STAGE_3_NURSING",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "94fd0498-ad0d-4452-a954-622d232a174a",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.543Z",
|
||||
"updated_at": "2026-02-25T04:00:58.543Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Lab Tests",
|
||||
"name_ar": "الفحوصات المخبرية",
|
||||
"code": "INPATIENT_STAGE_4_LAB",
|
||||
"order": 4,
|
||||
"trigger_event_code": "INPATIENT_STAGE_4_LAB",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "fc7b3fe7-8e47-4947-b082-8f9c384b7137",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.545Z",
|
||||
"updated_at": "2026-02-25T04:00:58.545Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Radiology",
|
||||
"name_ar": "الأشعة",
|
||||
"code": "INPATIENT_STAGE_5_RADIOLOGY",
|
||||
"order": 5,
|
||||
"trigger_event_code": "INPATIENT_STAGE_5_RADIOLOGY",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "eb293246-9d84-46f2-abda-461a21c7c60d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.565Z",
|
||||
"updated_at": "2026-02-25T04:00:58.565Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Registration",
|
||||
"name_ar": "التسجيل",
|
||||
"code": "OPD_STAGE_1_REGISTRATION",
|
||||
"order": 1,
|
||||
"trigger_event_code": "OPD_STAGE_1_REGISTRATION",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "2014d3dc-c38c-401e-a5ec-12312de05c1e",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.571Z",
|
||||
"updated_at": "2026-02-25T04:00:58.571Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Consultation",
|
||||
"name_ar": "الاستشارة",
|
||||
"code": "OPD_STAGE_2_CONSULTATION",
|
||||
"order": 2,
|
||||
"trigger_event_code": "OPD_STAGE_2_CONSULTATION",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "3e0f67ea-18a9-460b-872a-6d47e0b2906c",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.574Z",
|
||||
"updated_at": "2026-02-25T04:00:58.574Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Lab Tests",
|
||||
"name_ar": "الفحوصات المخبرية",
|
||||
"code": "OPD_STAGE_3_LAB",
|
||||
"order": 3,
|
||||
"trigger_event_code": "OPD_STAGE_3_LAB",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "75860c85-ab25-4bf1-aa88-442a8b520144",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.577Z",
|
||||
"updated_at": "2026-02-25T04:00:58.577Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Radiology",
|
||||
"name_ar": "الأشعة",
|
||||
"code": "OPD_STAGE_4_RADIOLOGY",
|
||||
"order": 4,
|
||||
"trigger_event_code": "OPD_STAGE_4_RADIOLOGY",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "5546f87f-85ab-441a-9898-cbc9e8bb46f9",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.580Z",
|
||||
"updated_at": "2026-02-25T04:00:58.580Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Pharmacy",
|
||||
"name_ar": "الصيدلية",
|
||||
"code": "OPD_STAGE_5_PHARMACY",
|
||||
"order": 5,
|
||||
"trigger_event_code": "OPD_STAGE_5_PHARMACY",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
274
database_export/journeys/journeys_fixture.json
Normal file
274
database_export/journeys/journeys_fixture.json
Normal file
@ -0,0 +1,274 @@
|
||||
[
|
||||
{
|
||||
"model": "journeys.patientjourneytemplate",
|
||||
"pk": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.509Z",
|
||||
"updated_at": "2026-02-25T04:00:58.509Z",
|
||||
"name": "EMS Patient Journey",
|
||||
"name_ar": "رحلة المريض للطوارئ",
|
||||
"journey_type": "ems",
|
||||
"description": "Emergency medical services patient journey",
|
||||
"hospital": "d7221fdb-a0f7-4460-8d69-14a3bfe627fb",
|
||||
"is_active": true,
|
||||
"is_default": true,
|
||||
"send_post_discharge_survey": true,
|
||||
"post_discharge_survey_delay_hours": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneytemplate",
|
||||
"pk": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.535Z",
|
||||
"updated_at": "2026-02-25T04:00:58.535Z",
|
||||
"name": "Inpatient Patient Journey",
|
||||
"name_ar": "رحلة المريض الداخلي",
|
||||
"journey_type": "inpatient",
|
||||
"description": "Inpatient journey from admission to discharge",
|
||||
"hospital": "d7221fdb-a0f7-4460-8d69-14a3bfe627fb",
|
||||
"is_active": true,
|
||||
"is_default": true,
|
||||
"send_post_discharge_survey": true,
|
||||
"post_discharge_survey_delay_hours": 24
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneytemplate",
|
||||
"pk": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.563Z",
|
||||
"updated_at": "2026-02-25T04:00:58.563Z",
|
||||
"name": "OPD Patient Journey",
|
||||
"name_ar": "رحلة المريض للعيادات الخارجية",
|
||||
"journey_type": "opd",
|
||||
"description": "Outpatient department patient journey",
|
||||
"hospital": "d7221fdb-a0f7-4460-8d69-14a3bfe627fb",
|
||||
"is_active": true,
|
||||
"is_default": true,
|
||||
"send_post_discharge_survey": true,
|
||||
"post_discharge_survey_delay_hours": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "dacb47c5-fbeb-4239-96e7-8103827ed6d8",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.511Z",
|
||||
"updated_at": "2026-02-25T04:00:58.511Z",
|
||||
"journey_template": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"name": "Ambulance Dispatch",
|
||||
"name_ar": "إرسال الإسعاف",
|
||||
"code": "EMS_STAGE_1_DISPATCHED",
|
||||
"order": 1,
|
||||
"trigger_event_code": "EMS_STAGE_1_DISPATCHED",
|
||||
"survey_template": "733b4d11-2a88-4875-bb33-fb3d7efc3734",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "9128dcaa-ea20-4d1c-953f-08180e12e1d6",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.513Z",
|
||||
"updated_at": "2026-02-25T04:00:58.513Z",
|
||||
"journey_template": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"name": "On Scene Care",
|
||||
"name_ar": "الرعاية في الموقع",
|
||||
"code": "EMS_STAGE_2_ON_SCENE",
|
||||
"order": 2,
|
||||
"trigger_event_code": "EMS_STAGE_2_ON_SCENE",
|
||||
"survey_template": "733b4d11-2a88-4875-bb33-fb3d7efc3734",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "e59b6e21-caf9-4e20-9925-30693232bfb7",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.514Z",
|
||||
"updated_at": "2026-02-25T04:00:58.514Z",
|
||||
"journey_template": "2b243c19-d7de-4313-917e-de33bea24031",
|
||||
"name": "Patient Transport",
|
||||
"name_ar": "نقل المريض",
|
||||
"code": "EMS_STAGE_3_TRANSPORT",
|
||||
"order": 3,
|
||||
"trigger_event_code": "EMS_STAGE_3_TRANSPORT",
|
||||
"survey_template": "733b4d11-2a88-4875-bb33-fb3d7efc3734",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "c86143de-01a4-4503-8c43-33bde911d2da",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.537Z",
|
||||
"updated_at": "2026-02-25T04:00:58.537Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Admission",
|
||||
"name_ar": "القبول",
|
||||
"code": "INPATIENT_STAGE_1_ADMISSION",
|
||||
"order": 1,
|
||||
"trigger_event_code": "INPATIENT_STAGE_1_ADMISSION",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "eabc55aa-9ece-4755-ae2b-abd75765dad0",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.539Z",
|
||||
"updated_at": "2026-02-25T04:00:58.539Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Treatment",
|
||||
"name_ar": "العلاج",
|
||||
"code": "INPATIENT_STAGE_2_TREATMENT",
|
||||
"order": 2,
|
||||
"trigger_event_code": "INPATIENT_STAGE_2_TREATMENT",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "372dd6df-7667-4a4a-be26-13dc8957ae52",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.541Z",
|
||||
"updated_at": "2026-02-25T04:00:58.541Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Nursing Care",
|
||||
"name_ar": "الرعاية التمريضية",
|
||||
"code": "INPATIENT_STAGE_3_NURSING",
|
||||
"order": 3,
|
||||
"trigger_event_code": "INPATIENT_STAGE_3_NURSING",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "94fd0498-ad0d-4452-a954-622d232a174a",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.543Z",
|
||||
"updated_at": "2026-02-25T04:00:58.543Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Lab Tests",
|
||||
"name_ar": "الفحوصات المخبرية",
|
||||
"code": "INPATIENT_STAGE_4_LAB",
|
||||
"order": 4,
|
||||
"trigger_event_code": "INPATIENT_STAGE_4_LAB",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "fc7b3fe7-8e47-4947-b082-8f9c384b7137",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.545Z",
|
||||
"updated_at": "2026-02-25T04:00:58.545Z",
|
||||
"journey_template": "63f8256b-c463-4d63-b56e-90b585703b7d",
|
||||
"name": "Radiology",
|
||||
"name_ar": "الأشعة",
|
||||
"code": "INPATIENT_STAGE_5_RADIOLOGY",
|
||||
"order": 5,
|
||||
"trigger_event_code": "INPATIENT_STAGE_5_RADIOLOGY",
|
||||
"survey_template": "d5d337e2-c2ba-44f5-8f35-6aa7f7e89c02",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "eb293246-9d84-46f2-abda-461a21c7c60d",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.565Z",
|
||||
"updated_at": "2026-02-25T04:00:58.565Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Registration",
|
||||
"name_ar": "التسجيل",
|
||||
"code": "OPD_STAGE_1_REGISTRATION",
|
||||
"order": 1,
|
||||
"trigger_event_code": "OPD_STAGE_1_REGISTRATION",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "2014d3dc-c38c-401e-a5ec-12312de05c1e",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.571Z",
|
||||
"updated_at": "2026-02-25T04:00:58.571Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Consultation",
|
||||
"name_ar": "الاستشارة",
|
||||
"code": "OPD_STAGE_2_CONSULTATION",
|
||||
"order": 2,
|
||||
"trigger_event_code": "OPD_STAGE_2_CONSULTATION",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "3e0f67ea-18a9-460b-872a-6d47e0b2906c",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.574Z",
|
||||
"updated_at": "2026-02-25T04:00:58.574Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Lab Tests",
|
||||
"name_ar": "الفحوصات المخبرية",
|
||||
"code": "OPD_STAGE_3_LAB",
|
||||
"order": 3,
|
||||
"trigger_event_code": "OPD_STAGE_3_LAB",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "75860c85-ab25-4bf1-aa88-442a8b520144",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.577Z",
|
||||
"updated_at": "2026-02-25T04:00:58.577Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Radiology",
|
||||
"name_ar": "الأشعة",
|
||||
"code": "OPD_STAGE_4_RADIOLOGY",
|
||||
"order": 4,
|
||||
"trigger_event_code": "OPD_STAGE_4_RADIOLOGY",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "journeys.patientjourneystagetemplate",
|
||||
"pk": "5546f87f-85ab-441a-9898-cbc9e8bb46f9",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T04:00:58.580Z",
|
||||
"updated_at": "2026-02-25T04:00:58.580Z",
|
||||
"journey_template": "953c1fe5-1bb4-4583-a3b9-b2eeec1d278f",
|
||||
"name": "Pharmacy",
|
||||
"name_ar": "الصيدلية",
|
||||
"code": "OPD_STAGE_5_PHARMACY",
|
||||
"order": 5,
|
||||
"trigger_event_code": "OPD_STAGE_5_PHARMACY",
|
||||
"survey_template": "4ac2ae6b-87bc-4519-85d5-afc27d7685f6",
|
||||
"is_optional": false,
|
||||
"is_active": true
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,132 +0,0 @@
|
||||
{
|
||||
"app": "notifications",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 4,
|
||||
"models": {
|
||||
"notificationlog": {
|
||||
"count": 4,
|
||||
"data": [
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "60ff0efd-53d5-443f-b799-3ca311e3fd62",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.978Z",
|
||||
"updated_at": "2026-02-25T03:55:36.978Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966537702040",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-787134BD has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-787134BD",
|
||||
"content_type": 42,
|
||||
"object_id": "f4096f2b-81ba-4eee-8ac8-3ad0bded1797",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:42.002Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-787134BD",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-787134BD",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "eff41c4f-b6e7-4691-9faa-f1b707e517a4",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.907Z",
|
||||
"updated_at": "2026-02-25T03:55:31.907Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966541424622",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-C2897964 has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-C2897964",
|
||||
"content_type": 42,
|
||||
"object_id": "9da3b845-c425-4bf1-b413-1d10fc1a150d",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:36.935Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-C2897964",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-C2897964",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "de39ff56-dd07-400b-ac8f-717d4e9aa8cf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.817Z",
|
||||
"updated_at": "2026-02-25T03:55:26.817Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966526753309",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-50004505 has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-50004505",
|
||||
"content_type": 42,
|
||||
"object_id": "312155d3-b384-4e6f-b2e7-f8bd21e7817b",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:31.844Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-50004505",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-50004505",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "1704e6bc-8c19-4d1b-9538-4091189495dd",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.759Z",
|
||||
"updated_at": "2026-02-25T03:55:21.759Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966592722909",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-5420F582 has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-5420F582",
|
||||
"content_type": 42,
|
||||
"object_id": "4f11f759-8061-427d-899b-e0c360d11a20",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:26.781Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-5420F582",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-5420F582",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
122
database_export/notifications/notifications_fixture.json
Normal file
122
database_export/notifications/notifications_fixture.json
Normal file
@ -0,0 +1,122 @@
|
||||
[
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "60ff0efd-53d5-443f-b799-3ca311e3fd62",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.978Z",
|
||||
"updated_at": "2026-02-25T03:55:36.978Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966537702040",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-787134BD has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-787134BD",
|
||||
"content_type": 42,
|
||||
"object_id": "f4096f2b-81ba-4eee-8ac8-3ad0bded1797",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:42.002Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-787134BD",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-787134BD",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "eff41c4f-b6e7-4691-9faa-f1b707e517a4",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.907Z",
|
||||
"updated_at": "2026-02-25T03:55:31.907Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966541424622",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-C2897964 has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-C2897964",
|
||||
"content_type": 42,
|
||||
"object_id": "9da3b845-c425-4bf1-b413-1d10fc1a150d",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:36.935Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-C2897964",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-C2897964",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "de39ff56-dd07-400b-ac8f-717d4e9aa8cf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.817Z",
|
||||
"updated_at": "2026-02-25T03:55:26.817Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966526753309",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-50004505 has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-50004505",
|
||||
"content_type": 42,
|
||||
"object_id": "312155d3-b384-4e6f-b2e7-f8bd21e7817b",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:31.844Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-50004505",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-50004505",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "notifications.notificationlog",
|
||||
"pk": "1704e6bc-8c19-4d1b-9538-4091189495dd",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.759Z",
|
||||
"updated_at": "2026-02-25T03:55:21.759Z",
|
||||
"channel": "sms",
|
||||
"recipient": "+966592722909",
|
||||
"subject": "",
|
||||
"message": "PX360: Your complaint #CMP-HAM-RIY-2026-5420F582 has been received. Track: https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-5420F582",
|
||||
"content_type": 42,
|
||||
"object_id": "4f11f759-8061-427d-899b-e0c360d11a20",
|
||||
"status": "sent",
|
||||
"sent_at": "2026-02-25T03:55:26.781Z",
|
||||
"delivered_at": null,
|
||||
"provider": "api",
|
||||
"provider_message_id": "",
|
||||
"provider_response": {},
|
||||
"error": "",
|
||||
"retry_count": 0,
|
||||
"metadata": {
|
||||
"api_url": "http://localhost:8000/api/simulator/send-sms/",
|
||||
"auth_method": "bearer",
|
||||
"notification_type": "complaint_created",
|
||||
"reference_number": "CMP-HAM-RIY-2026-5420F582",
|
||||
"tracking_url": "https://localhost:8000/complaints/public/track/?reference=CMP-HAM-RIY-2026-5420F582",
|
||||
"language": "en"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
515385
database_export/organizations/organizations_fixture.json
Normal file
515385
database_export/organizations/organizations_fixture.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2027012
database_export/physicians/physicians_fixture.json
Normal file
2027012
database_export/physicians/physicians_fixture.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,299 +0,0 @@
|
||||
{
|
||||
"app": "px_sources",
|
||||
"exported_at": "20260225_081256",
|
||||
"total_records": 18,
|
||||
"models": {
|
||||
"pxsource": {
|
||||
"count": 8,
|
||||
"data": [
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.561Z",
|
||||
"updated_at": "2026-02-25T03:55:21.561Z",
|
||||
"code": "CALL-CENT",
|
||||
"name_en": "Call Center",
|
||||
"name_ar": "مركز الاتصال",
|
||||
"description": "Call Center source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 3,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "88060ad8-c771-48a6-ae9d-31fdb993e2f9",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.557Z",
|
||||
"updated_at": "2026-02-25T03:55:21.558Z",
|
||||
"code": "FAMI-MEMB",
|
||||
"name_en": "Family Member",
|
||||
"name_ar": "عضو العائلة",
|
||||
"description": "Family Member source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 2,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "642825ce-5e1f-4900-875d-6bb3c67e9f16",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.564Z",
|
||||
"updated_at": "2026-02-25T03:55:21.564Z",
|
||||
"code": "IN-PERS",
|
||||
"name_en": "In Person",
|
||||
"name_ar": "شخصياً",
|
||||
"description": "In Person source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "e4b6d570-5166-42b5-be13-04774a65a0dc",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.563Z",
|
||||
"updated_at": "2026-02-25T03:55:21.563Z",
|
||||
"code": "ONLI-FORM",
|
||||
"name_en": "Online Form",
|
||||
"name_ar": "نموذج عبر الإنترنت",
|
||||
"description": "Online Form source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "db13b2e7-5169-40b9-a588-f8570d390af6",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.551Z",
|
||||
"updated_at": "2026-02-25T03:55:21.551Z",
|
||||
"code": "PATIENT",
|
||||
"name_en": "Patient",
|
||||
"name_ar": "مريض",
|
||||
"description": "Patient source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.569Z",
|
||||
"updated_at": "2026-02-25T03:55:21.569Z",
|
||||
"code": "SOCI-MEDI",
|
||||
"name_en": "Social Media",
|
||||
"name_ar": "وسائل التواصل الاجتماعي",
|
||||
"description": "Social Media source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 4,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "0aacdcd8-7aa7-4351-ad52-73a394c0848e",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.559Z",
|
||||
"updated_at": "2026-02-25T03:55:21.559Z",
|
||||
"code": "STAFF",
|
||||
"name_en": "Staff",
|
||||
"name_ar": "موظف",
|
||||
"description": "Staff source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 1,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "83f23608-2288-4d86-ae43-4db31a91c1bf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.566Z",
|
||||
"updated_at": "2026-02-25T03:55:21.567Z",
|
||||
"code": "SURVEY",
|
||||
"name_en": "Survey",
|
||||
"name_ar": "استبيان",
|
||||
"description": "Survey source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourceusage": {
|
||||
"count": 10,
|
||||
"data": [
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "6ea35b90-42eb-4b5b-aab4-3ae29579feac",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.060Z",
|
||||
"updated_at": "2026-02-25T03:55:42.060Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "9f01a1f8-7a07-4f4e-9309-8eb8b3655336",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.044Z",
|
||||
"updated_at": "2026-02-25T03:55:42.044Z",
|
||||
"source": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"content_type": 42,
|
||||
"object_id": "1f76952f-4fb6-4eaf-9fd8-2cc441e4ca07",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "860a79b2-f7db-40ba-85d2-ebdc6bc92c9b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.014Z",
|
||||
"updated_at": "2026-02-25T03:55:42.014Z",
|
||||
"source": "0aacdcd8-7aa7-4351-ad52-73a394c0848e",
|
||||
"content_type": 42,
|
||||
"object_id": "f4096f2b-81ba-4eee-8ac8-3ad0bded1797",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "9b253aae-b0ed-4d7c-bbb4-107529e8fa9a",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.960Z",
|
||||
"updated_at": "2026-02-25T03:55:36.960Z",
|
||||
"source": "88060ad8-c771-48a6-ae9d-31fdb993e2f9",
|
||||
"content_type": 42,
|
||||
"object_id": "1fec51ec-ab1c-4c04-9cc4-7d3cf371940d",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "0fba819d-6316-43b5-a9db-1e164bddff79",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.940Z",
|
||||
"updated_at": "2026-02-25T03:55:36.940Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "9da3b845-c425-4bf1-b413-1d10fc1a150d",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "35e36159-d08f-4af4-bc25-8672ba4e40dc",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.890Z",
|
||||
"updated_at": "2026-02-25T03:55:31.890Z",
|
||||
"source": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"content_type": 42,
|
||||
"object_id": "c674b99c-06b3-40c2-9812-0fec40d43ea5",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "c0c9d0a9-a754-4500-8985-f487b7c8811c",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.865Z",
|
||||
"updated_at": "2026-02-25T03:55:31.865Z",
|
||||
"source": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"content_type": 42,
|
||||
"object_id": "c020e66f-0f9a-42ac-9b86-a740d340cd2d",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "ed5a581f-3d4e-4500-a332-1f816bffaa43",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.850Z",
|
||||
"updated_at": "2026-02-25T03:55:31.850Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "312155d3-b384-4e6f-b2e7-f8bd21e7817b",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "0062eefc-e55c-40ff-8ab3-6ea56ca170d7",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.805Z",
|
||||
"updated_at": "2026-02-25T03:55:26.805Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "4f11f759-8061-427d-899b-e0c360d11a20",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "a6b5e484-28ef-4c65-8fd4-50505042ede7",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.594Z",
|
||||
"updated_at": "2026-02-25T03:55:21.594Z",
|
||||
"source": "88060ad8-c771-48a6-ae9d-31fdb993e2f9",
|
||||
"content_type": 42,
|
||||
"object_id": "75699d55-58b8-42d2-94c3-ff479a005dad",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
284
database_export/px_sources/px_sources_fixture.json
Normal file
284
database_export/px_sources/px_sources_fixture.json
Normal file
@ -0,0 +1,284 @@
|
||||
[
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.561Z",
|
||||
"updated_at": "2026-02-25T03:55:21.561Z",
|
||||
"code": "CALL-CENT",
|
||||
"name_en": "Call Center",
|
||||
"name_ar": "مركز الاتصال",
|
||||
"description": "Call Center source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 3,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "88060ad8-c771-48a6-ae9d-31fdb993e2f9",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.557Z",
|
||||
"updated_at": "2026-02-25T03:55:21.558Z",
|
||||
"code": "FAMI-MEMB",
|
||||
"name_en": "Family Member",
|
||||
"name_ar": "عضو العائلة",
|
||||
"description": "Family Member source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 2,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "642825ce-5e1f-4900-875d-6bb3c67e9f16",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.564Z",
|
||||
"updated_at": "2026-02-25T03:55:21.564Z",
|
||||
"code": "IN-PERS",
|
||||
"name_en": "In Person",
|
||||
"name_ar": "شخصياً",
|
||||
"description": "In Person source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "e4b6d570-5166-42b5-be13-04774a65a0dc",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.563Z",
|
||||
"updated_at": "2026-02-25T03:55:21.563Z",
|
||||
"code": "ONLI-FORM",
|
||||
"name_en": "Online Form",
|
||||
"name_ar": "نموذج عبر الإنترنت",
|
||||
"description": "Online Form source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "db13b2e7-5169-40b9-a588-f8570d390af6",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.551Z",
|
||||
"updated_at": "2026-02-25T03:55:21.551Z",
|
||||
"code": "PATIENT",
|
||||
"name_en": "Patient",
|
||||
"name_ar": "مريض",
|
||||
"description": "Patient source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.569Z",
|
||||
"updated_at": "2026-02-25T03:55:21.569Z",
|
||||
"code": "SOCI-MEDI",
|
||||
"name_en": "Social Media",
|
||||
"name_ar": "وسائل التواصل الاجتماعي",
|
||||
"description": "Social Media source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 4,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "0aacdcd8-7aa7-4351-ad52-73a394c0848e",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.559Z",
|
||||
"updated_at": "2026-02-25T03:55:21.559Z",
|
||||
"code": "STAFF",
|
||||
"name_en": "Staff",
|
||||
"name_ar": "موظف",
|
||||
"description": "Staff source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 1,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.pxsource",
|
||||
"pk": "83f23608-2288-4d86-ae43-4db31a91c1bf",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.566Z",
|
||||
"updated_at": "2026-02-25T03:55:21.567Z",
|
||||
"code": "SURVEY",
|
||||
"name_en": "Survey",
|
||||
"name_ar": "استبيان",
|
||||
"description": "Survey source for complaints and inquiries",
|
||||
"source_type": "internal",
|
||||
"contact_email": "",
|
||||
"contact_phone": "",
|
||||
"is_active": true,
|
||||
"metadata": {},
|
||||
"total_complaints": 0,
|
||||
"total_inquiries": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "6ea35b90-42eb-4b5b-aab4-3ae29579feac",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.060Z",
|
||||
"updated_at": "2026-02-25T03:55:42.060Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "8bbf4733-34c8-4dc0-a440-50ac4ab90a22",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "9f01a1f8-7a07-4f4e-9309-8eb8b3655336",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.044Z",
|
||||
"updated_at": "2026-02-25T03:55:42.044Z",
|
||||
"source": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"content_type": 42,
|
||||
"object_id": "1f76952f-4fb6-4eaf-9fd8-2cc441e4ca07",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "860a79b2-f7db-40ba-85d2-ebdc6bc92c9b",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:42.014Z",
|
||||
"updated_at": "2026-02-25T03:55:42.014Z",
|
||||
"source": "0aacdcd8-7aa7-4351-ad52-73a394c0848e",
|
||||
"content_type": 42,
|
||||
"object_id": "f4096f2b-81ba-4eee-8ac8-3ad0bded1797",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "9b253aae-b0ed-4d7c-bbb4-107529e8fa9a",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.960Z",
|
||||
"updated_at": "2026-02-25T03:55:36.960Z",
|
||||
"source": "88060ad8-c771-48a6-ae9d-31fdb993e2f9",
|
||||
"content_type": 42,
|
||||
"object_id": "1fec51ec-ab1c-4c04-9cc4-7d3cf371940d",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "0fba819d-6316-43b5-a9db-1e164bddff79",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:36.940Z",
|
||||
"updated_at": "2026-02-25T03:55:36.940Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "9da3b845-c425-4bf1-b413-1d10fc1a150d",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "35e36159-d08f-4af4-bc25-8672ba4e40dc",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.890Z",
|
||||
"updated_at": "2026-02-25T03:55:31.890Z",
|
||||
"source": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"content_type": 42,
|
||||
"object_id": "c674b99c-06b3-40c2-9812-0fec40d43ea5",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "c0c9d0a9-a754-4500-8985-f487b7c8811c",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.865Z",
|
||||
"updated_at": "2026-02-25T03:55:31.865Z",
|
||||
"source": "9affe720-438b-43dd-b570-25a7f6e8a5aa",
|
||||
"content_type": 42,
|
||||
"object_id": "c020e66f-0f9a-42ac-9b86-a740d340cd2d",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "ed5a581f-3d4e-4500-a332-1f816bffaa43",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:31.850Z",
|
||||
"updated_at": "2026-02-25T03:55:31.850Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "312155d3-b384-4e6f-b2e7-f8bd21e7817b",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "0062eefc-e55c-40ff-8ab3-6ea56ca170d7",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:26.805Z",
|
||||
"updated_at": "2026-02-25T03:55:26.805Z",
|
||||
"source": "31ff949d-4e1b-419d-a0de-f988c41fcc3a",
|
||||
"content_type": 42,
|
||||
"object_id": "4f11f759-8061-427d-899b-e0c360d11a20",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"model": "px_sources.sourceusage",
|
||||
"pk": "a6b5e484-28ef-4c65-8fd4-50505042ede7",
|
||||
"fields": {
|
||||
"created_at": "2026-02-25T03:55:21.594Z",
|
||||
"updated_at": "2026-02-25T03:55:21.594Z",
|
||||
"source": "88060ad8-c771-48a6-ae9d-31fdb993e2f9",
|
||||
"content_type": 42,
|
||||
"object_id": "75699d55-58b8-42d2-94c3-ff479a005dad",
|
||||
"hospital": "4ed13883-9632-4534-a007-4942258a5943",
|
||||
"user": null
|
||||
}
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
1888
database_export/surveys/surveys_fixture.json
Normal file
1888
database_export/surveys/surveys_fixture.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
db.sqlite3.bk
Normal file
BIN
db.sqlite3.bk
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user