From 6b51b0870de18a5973037474c5c2c86456b99989 Mon Sep 17 00:00:00 2001 From: ismail Date: Sat, 28 Mar 2026 13:54:17 +0300 Subject: [PATCH] More updates --- .env.example | 14 + .gitignore | 8 + .opencode/plans/mshastra-sms-integration.md | 206 ++ .~lock.Complaints Report - 2022.xlsx# | 1 + Complaints Report - 2022.xlsx | Bin 0 -> 590829 bytes Complaints Report - 2023.xlsx | Bin 0 -> 1706063 bytes Complaints Report - 2024.xlsx | Bin 0 -> 1091479 bytes Complaints Report - 2025.xlsx | Bin 0 -> 1736651 bytes Mshastra_API (4).pdf | Bin 0 -> 300813 bytes NOTIFICATION_INBOX_README.md | 181 + PatientWorkFlow (1).docx | Bin 0 -> 208694 bytes SLA_MANAGEMENT_FEATURE.md | 148 + apps/accounts/ui_views.py | 10 +- apps/accounts/urls.py | 76 +- apps/accounts/views.py | 6 +- apps/analytics/kpi_models.py | 285 +- apps/analytics/kpi_service.py | 2103 ++++++----- apps/analytics/kpi_views.py | 587 ++-- apps/analytics/services/analytics_service.py | 1961 +++++++---- apps/analytics/tasks.py | 34 + apps/complaints/admin.py | 1191 +++---- .../commands/analyze_complaints_ai.py | 237 ++ .../commands/complaint_taxonomy_mapping.py | 362 ++ .../commands/import_2025_complaints_basic.py | 302 ++ .../commands/import_historical_complaints.py | 614 ++++ .../management/commands/seed_sample_data.py | 952 +++++ apps/complaints/models.py | 1473 ++++---- apps/complaints/serializers.py | 411 ++- apps/complaints/services/complaint_service.py | 675 ++++ apps/complaints/tasks.py | 399 ++- apps/complaints/ui_views.py | 891 +++-- apps/complaints/ui_views_explanation.py | 367 +- apps/complaints/urls.py | 66 +- apps/complaints/utils.py | 1783 +++++++++- apps/complaints/views.py | 3113 ++++++++--------- apps/core/ai_service.py | 719 ++-- apps/core/config_views.py | 81 +- apps/core/context_processors.py | 10 + apps/dashboard/admin.py | 93 + apps/dashboard/migrations/__init__.py | 0 apps/dashboard/models.py | 417 +++ apps/dashboard/urls.py | 53 +- apps/dashboard/views.py | 1749 +++++---- apps/feedback/admin.py | 236 +- apps/feedback/export_utils.py | 255 ++ apps/feedback/models.py | 578 ++- apps/feedback/urls.py | 33 +- apps/feedback/views.py | 207 +- apps/integrations/admin.py | 328 +- .../management/commands/fetch_his_surveys.py | 275 +- .../management/commands/load_his_test_data.py | 193 + .../commands/seed_his_today_data.py | 211 ++ .../commands/seed_survey_mappings.py | 135 +- apps/integrations/models.py | 512 ++- apps/integrations/serializers.py | 187 +- apps/integrations/services/his_adapter.py | 962 +++-- apps/integrations/services/his_client.py | 268 +- apps/integrations/tasks.py | 249 +- apps/integrations/urls.py | 24 +- apps/integrations/views.py | 431 ++- apps/notifications/admin.py | 404 ++- .../commands/cleanup_notifications.py | 55 + .../management/commands/test_sms.py | 35 + apps/notifications/models.py | 267 +- apps/notifications/services.py | 475 ++- apps/notifications/urls.py | 81 +- apps/notifications/views.py | 742 ++-- apps/observations/admin.py | 244 +- apps/observations/models.py | 451 +-- apps/observations/services.py | 306 +- apps/observations/tasks.py | 130 + .../management/commands/import_staff_full.py | 403 ++- apps/organizations/models.py | 246 +- apps/organizations/ui_views.py | 308 +- apps/organizations/urls.py | 109 +- apps/physicians/adapter.py | 564 +-- .../commands/import_his_doctor_ratings.py | 330 ++ apps/physicians/models.py | 204 +- apps/physicians/tasks.py | 369 +- apps/physicians/ui_views.py | 183 +- apps/physicians/urls.py | 58 +- apps/px_action_center/admin.py | 355 +- apps/standards/urls.py | 7 + apps/standards/views.py | 127 + apps/surveys/admin.py | 445 ++- apps/surveys/forms.py | 25 +- apps/surveys/models.py | 524 +-- apps/surveys/public_views.py | 367 +- apps/surveys/serializers.py | 496 ++- apps/surveys/services.py | 191 +- apps/surveys/tasks.py | 22 +- apps/surveys/ui_views.py | 25 +- apps/surveys/urls.py | 104 +- apps/surveys/views.py | 134 +- config/celery.py | 167 +- config/celery_scheduler.py | 26 +- config/settings/base.py | 508 ++- employee_evaluation.md | 385 ++ rating_data_sample.json | 39 + requirements.txt | 8 + sample_data.json | 267 ++ .../accounts/onboarding/bulk_invite.html | 4 +- .../accounts/onboarding/checklist_list.html | 26 +- .../accounts/onboarding/content_list.html | 2 +- templates/accounts/onboarding/dashboard.html | 4 +- .../accounts/onboarding/preview_wizard.html | 2 +- .../accounts/onboarding/progress_detail.html | 2 +- .../accounts/onboarding/provisional_list.html | 2 +- templates/accounts/settings.html | 30 +- templates/analytics/kpi_report_detail.html | 96 +- templates/analytics/kpi_report_pdf.html | 65 +- templates/complaints/complaint_detail.html | 44 +- templates/complaints/complaint_list.html | 12 +- .../emails/explanation_second_reminder_ar.txt | 25 + .../emails/explanation_second_reminder_en.txt | 25 + .../partials/explanation_panel.html | 91 +- .../complaints/partials/priority_badge.html | 21 + .../complaints/partials/severity_badge.html | 21 + .../complaints/patient_complaint_expired.html | 27 + .../complaints/patient_complaint_portal.html | 105 + .../complaints/patient_complaint_success.html | 83 + .../patient_complaint_visit_form.html | 156 + .../complaints/patient_complaint_visits.html | 139 + templates/complaints/sla_management.html | 451 +++ templates/complaints/sla_management_form.html | 381 ++ templates/config/dashboard.html | 41 +- .../dashboard/complaint_request_list.html | 159 + templates/dashboard/employee_evaluation.html | 2317 ++++++++++++ templates/feedback/action_plan_list.html | 95 + templates/feedback/comment_import_list.html | 57 + templates/feedback/comment_list.html | 152 + .../integrations/survey_mapping_settings.html | 8 +- templates/layouts/base.html | 94 + templates/layouts/partials/sidebar.html | 58 +- templates/layouts/partials/topbar.html | 42 +- templates/notifications/inbox.html | 320 ++ templates/organizations/patient_detail.html | 877 +++-- templates/organizations/patient_list.html | 452 ++- .../organizations/patient_visit_journey.html | 382 ++ .../physicians/individual_ratings_list.html | 16 +- templates/references/folder_view.html | 136 - templates/standards/department_standards.html | 376 +- templates/surveys/instance_detail.html | 55 +- .../surveys/template_confirm_delete.html | 138 + templates/surveys/template_detail.html | 510 +-- templates/surveys/template_form.html | 520 ++- templates/surveys/template_list.html | 90 +- uv.lock | 40 +- visit_data.json | 4 +- 149 files changed, 31964 insertions(+), 13637 deletions(-) create mode 100644 .opencode/plans/mshastra-sms-integration.md create mode 100644 .~lock.Complaints Report - 2022.xlsx# create mode 100644 Complaints Report - 2022.xlsx create mode 100644 Complaints Report - 2023.xlsx create mode 100644 Complaints Report - 2024.xlsx create mode 100644 Complaints Report - 2025.xlsx create mode 100644 Mshastra_API (4).pdf create mode 100644 NOTIFICATION_INBOX_README.md create mode 100644 PatientWorkFlow (1).docx create mode 100644 SLA_MANAGEMENT_FEATURE.md create mode 100644 apps/analytics/tasks.py create mode 100644 apps/complaints/management/commands/analyze_complaints_ai.py create mode 100644 apps/complaints/management/commands/complaint_taxonomy_mapping.py create mode 100644 apps/complaints/management/commands/import_2025_complaints_basic.py create mode 100644 apps/complaints/management/commands/import_historical_complaints.py create mode 100644 apps/complaints/management/commands/seed_sample_data.py create mode 100644 apps/complaints/services/complaint_service.py create mode 100644 apps/dashboard/admin.py create mode 100644 apps/dashboard/migrations/__init__.py create mode 100644 apps/dashboard/models.py create mode 100644 apps/feedback/export_utils.py create mode 100644 apps/integrations/management/commands/load_his_test_data.py create mode 100644 apps/integrations/management/commands/seed_his_today_data.py create mode 100644 apps/notifications/management/commands/cleanup_notifications.py create mode 100644 apps/notifications/management/commands/test_sms.py create mode 100644 apps/observations/tasks.py create mode 100644 apps/physicians/management/commands/import_his_doctor_ratings.py create mode 100644 employee_evaluation.md create mode 100644 rating_data_sample.json create mode 100644 sample_data.json create mode 100644 templates/complaints/emails/explanation_second_reminder_ar.txt create mode 100644 templates/complaints/emails/explanation_second_reminder_en.txt create mode 100644 templates/complaints/partials/priority_badge.html create mode 100644 templates/complaints/partials/severity_badge.html create mode 100644 templates/complaints/patient_complaint_expired.html create mode 100644 templates/complaints/patient_complaint_portal.html create mode 100644 templates/complaints/patient_complaint_success.html create mode 100644 templates/complaints/patient_complaint_visit_form.html create mode 100644 templates/complaints/patient_complaint_visits.html create mode 100644 templates/complaints/sla_management.html create mode 100644 templates/complaints/sla_management_form.html create mode 100644 templates/dashboard/complaint_request_list.html create mode 100644 templates/dashboard/employee_evaluation.html create mode 100644 templates/feedback/action_plan_list.html create mode 100644 templates/feedback/comment_import_list.html create mode 100644 templates/feedback/comment_list.html create mode 100644 templates/notifications/inbox.html create mode 100644 templates/organizations/patient_visit_journey.html create mode 100644 templates/surveys/template_confirm_delete.html diff --git a/.env.example b/.env.example index 22d64c9..4467848 100644 --- a/.env.example +++ b/.env.example @@ -34,6 +34,14 @@ WHATSAPP_PROVIDER=console EMAIL_ENABLED=True EMAIL_PROVIDER=console +# Twilio Configuration +# Set SMS_PROVIDER=twilio and fill in credentials to send real SMS +TWILIO_ACCOUNT_SID= +TWILIO_AUTH_TOKEN= +TWILIO_PHONE_NUMBER= +# Alternatively, use a Messaging Service SID (for sender phone number pooling) +TWILIO_MESSAGING_SERVICE_SID= + # External API Notification Configuration # Email API @@ -56,6 +64,12 @@ SMS_API_TIMEOUT=10 SMS_API_MAX_RETRIES=3 SMS_API_RETRY_DELAY=2 +# Mshastra SMS API +# Set SMS_PROVIDER=mshastra and fill in credentials to send real SMS via Mshastra +MSHASTRA_USERNAME= +MSHASTRA_PASSWORD= +MSHASTRA_SENDER_ID= + # Simulator API (for testing - sends real emails, prints SMS to terminal) # To enable simulator, set these URLs and enable the APIs: # EMAIL_API_ENABLED=True diff --git a/.gitignore b/.gitignore index 6b9a2de..93c6797 100644 --- a/.gitignore +++ b/.gitignore @@ -74,3 +74,11 @@ postgres_data/ # Django migrations (exclude __init__.py) **/migrations/*.py !**/migrations/__init__.py + +# OpenCode skills +.opencode/skills/ + +# LibreOffice recalc scripts +scripts/office/ +scripts/recalc.py +Documents \ No newline at end of file diff --git a/.opencode/plans/mshastra-sms-integration.md b/.opencode/plans/mshastra-sms-integration.md new file mode 100644 index 0000000..23e64d7 --- /dev/null +++ b/.opencode/plans/mshastra-sms-integration.md @@ -0,0 +1,206 @@ +# Mshastra SMS Integration Plan + +## Files to modify: +1. `.env` - Add Mshastra credentials +2. `.env.example` - Add Mshastra credential placeholders +3. `config/settings/base.py` - Add Mshastra settings (~line 370) +4. `apps/notifications/services.py` - Add `_send_sms_mshastra()` and update routing +5. `apps/notifications/management/commands/test_sms.py` - New management command + +--- + +## 1. `.env` — Add after last line (after `SMS_API_KEY=simulator-test-key`): + +``` +# Mshastra SMS API +MSHASTRA_USERNAME= +MSHASTRA_PASSWORD= +MSHASTRA_SENDER_ID= +``` + +## 2. `.env.example` — Add before the `# Simulator API` comment block (around line 67): + +``` +# Mshastra SMS API +# Set SMS_PROVIDER=mshastra and fill in credentials to send real SMS via Mshastra +MSHASTRA_USERNAME= +MSHASTRA_PASSWORD= +MSHASTRA_SENDER_ID= +``` + +## 3. `config/settings/base.py` — Add after TWILIO settings block (after line 370): + +```python +# Mshastra SMS Configuration +MSHASTRA_USERNAME = env("MSHASTRA_USERNAME", default="") +MSHASTRA_PASSWORD = env("MSHASTRA_PASSWORD", default="") +MSHASTRA_SENDER_ID = env("MSHASTRA_SENDER_ID", default="") +``` + +## 4. `apps/notifications/services.py` — Changes: + +### 4a. Update `send_sms()` method (lines 55-72) +Replace the provider routing section to add `mshastra` check: + +Current code (lines 55-72): +```python + sms_config = settings.NOTIFICATION_CHANNELS.get("sms", {}) + provider = sms_config.get("provider", "console") + + log = NotificationLog.objects.create( + channel="sms", + recipient=phone, + message=message, + content_object=related_object, + provider=provider, + metadata=metadata or {}, + ) + + if provider == "twilio": + return NotificationService._send_sms_twilio(log, phone, message) + + logger.info(f"[SMS Console] To: {phone} | Message: {message}") + log.mark_sent() + return log +``` + +New code: +```python + sms_config = settings.NOTIFICATION_CHANNELS.get("sms", {}) + provider = sms_config.get("provider", "console") + + log = NotificationLog.objects.create( + channel="sms", + recipient=phone, + message=message, + content_object=related_object, + provider=provider, + metadata=metadata or {}, + ) + + if provider == "mshastra": + return NotificationService._send_sms_mshastra(log, phone, message) + + if provider == "twilio": + return NotificationService._send_sms_twilio(log, phone, message) + + logger.info(f"[SMS Console] To: {phone} | Message: {message}") + log.mark_sent() + return log +``` + +### 4b. Add `_send_sms_mshastra()` method after `_send_sms_twilio()` (after line 138): + +```python + @staticmethod + def _send_sms_mshastra(log, phone, message): + """ + Send SMS via Mshastra API. + + Requires: MSHASTRA_USERNAME, MSHASTRA_PASSWORD, and MSHASTRA_SENDER_ID. + API: https://mshastra.com/sendurl.aspx + """ + import requests + + username = settings.MSHASTRA_USERNAME + password = settings.MSHASTRA_PASSWORD + sender_id = settings.MSHASTRA_SENDER_ID + + if not username or not password: + logger.warning("Mshastra credentials not configured, falling back to console") + log.provider = "console" + log.save(update_fields=["provider"]) + logger.info(f"[SMS Console] To: {phone} | Message: {message}") + log.mark_sent() + return log + + try: + url = "https://mshastra.com/sendurl.aspx" + params = { + "user": username, + "pwd": password, + "senderid": sender_id, + "mobileno": phone, + "msgtext": message, + "priority": "High", + "CountryCode": "ALL", + } + + response = requests.get(url, params=params, timeout=30) + response_text = response.text.strip() + + log.provider_response = {"status_code": response.status_code, "response": response_text} + log.save(update_fields=["provider_response"]) + + if "Send Successful" in response_text: + log.mark_sent() + logger.info(f"SMS sent via Mshastra to {phone}: {response_text}") + else: + log.mark_failed(response_text) + logger.warning(f"Mshastra SMS failed for {phone}: {response_text}") + + return log + + except requests.exceptions.Timeout: + logger.error(f"Mshastra API timeout for {phone}") + log.mark_failed("Request timeout") + return log + + except requests.exceptions.ConnectionError: + logger.error(f"Mshastra API connection error for {phone}") + log.mark_failed("Connection error") + return log + + except Exception as e: + logger.error(f"Unexpected error sending SMS via Mshastra to {phone}: {e}", exc_info=True) + log.mark_failed(str(e)) + return log +``` + +## 5. Create `apps/notifications/management/commands/test_sms.py`: + +```python +""" +Management command to test SMS sending. + +Usage: + python manage.py test_sms 966501234567 + python manage.py test_sms 966501234567 --message "Custom test message" +""" + +from django.core.management.base import BaseCommand + +from apps.notifications.services import NotificationService + + +class Command(BaseCommand): + help = "Send a test SMS to a phone number" + + def add_arguments(self, parser): + parser.add_argument("phone", type=str, help="Phone number in international format (e.g. 966501234567)") + parser.add_argument("--message", type=str, default="Test SMS from PX360", help="Custom message text") + + def handle(self, *args, **options): + phone = options["phone"] + message = options["message"] + + self.stdout.write(f"Sending SMS to {phone}...") + self.stdout.write(f"Message: {message}") + self.stdout.write("") + + log = NotificationService.send_sms(phone, message) + + self.stdout.write(f"Status: {log.status}") + self.stdout.write(f"Provider: {log.provider}") + if log.error: + self.stdout.write(self.style.ERROR(f"Error: {log.error}")) + if log.provider_response: + self.stdout.write(f"Provider Response: {log.provider_response}") + + if log.status == "sent": + self.stdout.write(self.style.SUCCESS(f"SMS sent successfully to {phone}")) + elif log.status == "failed": + self.stdout.write(self.style.ERROR(f"SMS failed for {phone}")) + else: + self.stdout.write(self.style.WARNING(f"SMS status: {log.status} for {phone}")) +``` diff --git a/.~lock.Complaints Report - 2022.xlsx# b/.~lock.Complaints Report - 2022.xlsx# new file mode 100644 index 0000000..e444bc3 --- /dev/null +++ b/.~lock.Complaints Report - 2022.xlsx# @@ -0,0 +1 @@ +,ismail,ismail-Latitude-5500,25.03.2026 11:05,/home/ismail/.local/share/onlyoffice; \ No newline at end of file diff --git a/Complaints Report - 2022.xlsx b/Complaints Report - 2022.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e575ea5b2bb24b285a33d4f822f6925b60cb91f1 GIT binary patch literal 590829 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

O8jNtY{p7a-||#sfGczpLo|%tDjC=I|xz+niK~ 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

;CJtBm#cM( z(mgD*yd;Z4P0HN^1)lO3c{w1u+;%03v(y&zHS?BW@SzqwEwRx8+3Irbg5uRLw4xtl5x2&q^ER2iZyVmSF} zlw7dY85_bs!Z^I9k8VEz@9R`@2}I-mI68mhT`$w&OLtG;d3jzxZ0 zv_`?mkto3~*rj#b24g6tO*jUazuPjJ|7D@iB0N2uw+W9g(8|SV?NU%0lu~u)^gXi( zni9gfl(*P?@l;jNZCn#1hjY(a%>R+LAt4TSLw{6%%`6-{G%4yDGmgY!TBUB?f8VUG zY;C{CghKd+pkFY>S4y0(Rv(EnxUSof9A@kfM%!}C+s!>T9JrsTm7Vmq{7HI5_6^jbU{HBgf(ydt_%UZuff+Lr z1$U)DHpOS~pk?Gc8n*TZ^WC_CEhDc?^&Gj$0X(zKE$Dn zncoyoh~5?Q7zKV%2;iR=B&knHFZDZ-0To;PcVbEZAB5xq6MY7GeSoqLkq7xOFHU0$ zRn|QmBb>3JK}^xouN)7gq^jxHsu2e8b~C0qW4N)3&7OA2FGE^4+HO{#scg!KGC)$# z5BTE$AL?98e$+KCDqO-*rXC??bJfGlXw>zg7Lk4X zJHLskGw$|cdzLQkb6{`9<&$g(4@Ns}&GbgA{ioOx$sD_hHI)Cw9nPXzQ--JvFHQE)??l#O+{p1SY>G#L z)e3y@ihTp5gnA@sSK}6C#*+Z+F1Um}?!A}+@vd&$E>`&0$AIV2_|)&ua0G>^t&Xv1s%Cs+2l;4n&+I=V2^kr}+3M|)Z}hT9 zai+=id);7JSUTf_pvJy^-m;dF5v*9I!D88JNR7~~!X5?*`YP+acWO9x#et`vL2830VV zVKkT5HotNrh{!=-17_IsLSTrQqWw*%`{MOY=!?K(t>c!F*`%^mDx#QEx&UGx%RLCm z(cfB_-zG9cxHG{$jJ)31=yc9|!D4MSB)bsqu-wOZV<4Otp|`T4w-b1`%m1n-57Iak zghd#1J}>MIgEz;Q54+q}*Q~PBpcFD7v-aFgejRE)0*~Lj`{Wf!G*vnLy-u}BZ zfbeva9uFK>bm-^zn~RfBqB3M3fpM}!IbnqSi$lSO;4G-6WY7s=K30#v`cgu6LmKLvmZGk78*84Sm5B^&$0n zhyJyz(ge7(fkUM1H1Vlw>J>QG+E4#J;3m+T3)r@qN0z9sGOBVC&ZE{JJ>I?*0n?q~OMt ziYZL60EZNF^Yj;x=FZ^Og6Y0DHci_W%wBCUx80qIVylLl%^OGO5i+~!8F?V>jBGMb ziR`&fE@^1y5?<%*q|FL-5oQ6^8M@d`&s>SI8vN|TWzmIel9gltC1bB81&9 z^%T0~4ZvNCY&vF7PgK(N!Wik{$*P&|^LDVB%0Of!N9C~NM}jTZl~{?-QBT&vq)fNo zDk||4l;PpOc*sRvXADEdPdDD#{Y8%XCI|Xw%-$S1(@HMEXY!r!jenLq>&epO-Fxu|-+I}3 zyz&z1Doa8?f3L0q(b!Y@7*tcaR7w%Is!T0p$0MZwP%0Dn&EVW}F;Oqa0AB@>aA(HK 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

_}nivRggQ)K(@@(@DR z;Vi=M)1nKM$*(D^LbC>fD?%PfA~Xx604`%t>Ld)HmkA{#L6V+C%)Ei`b~B1fgPlHz zNdff&y6&(DRQJ`h?wNqQ30S?Bv!9Hjf9=D+!bxOEqPhkxBzLhS(SJ7AZ0fAVE;Z5c zTY%ck1S_qQLK=gaAe>=|a1ouJZ{@^nYLBOv^7l6*T7qWJ#f~d6PG≀I09-X-t+@ zvM6q#$mLVNCmA77ybf|{s5*)ldPe|rj>J|mmrjzJQ5r6@gz4uZzf<6k|t#vL-5H4!!{a3(8s5ptcQ}D7q6V~mbO z`&o5rb}xApm=Q1>=`bjgNr)*GwHzVJ7)m`3ee;95^p#hjI_qYvr<8Q#Qq1g}wZWiW zLNIXtq5cUD!RYQpvd&&aaD?kCe!_f51ZWsCOmJ`KOqFFH3!iofLQz5^xB}>& z1mK2M8Tqvz?#)JqH;^aCOx@S);6SUqOBlxjS0m}>iy=vQajEa!oC*HEObG@kL~J5P z>e*Pq>uA;D`vK%2A^HPUZ=mAlxNPnx{4miJO$2N??<#j4TwgmGZQcB53T4x2SA86G z#i{++Rx4iZT=@t$8EN2!794tO*qa=;U!&$O69$~Qe&r!Krx^vjCpnnlGv+sNX*C_e>#E`{?LZkNGe<nZMu90N2Qz&j_!h6$Y&L64ZVZ6V^o_c#CpgHY`O#VWo~w9Um^fRE5~p zCZ7M{=PaZzEh=}lZ+Crzp9=&P^*3+{_I#eBh%59it^l8XkJ;^SsxdkhLKdWshdTEwK7(CPxJkXuqqh z$Zr~EV<oD>noSCl_aAi>O+m(*| z4hoY>6Q|x>W+GyjmdVMX+>Tlc;BbCRF{*LAIO4|SP-un4Btz^jYSRWiGfxh4<#ln% zNYhyoW+nrePOZb_pRhBADV) zv}JYBW*AWDq}3x%U(*Pc$z6qHbeBF3hv?EFKE(l94zQ>ZbvlJocojeLx9Fe3$Vi-m zTj#3uR32T1dsdBO)NGJ-uq(}4ls9ptu$sfAgqf_&v0-`8!S}~Z_UV-@S|qpe$|kqA zjBXSzE}gu@iI~?kuqU2`r+kJ0e4P!k-6=9H^(>OivTb5JQEH2AwQhcQ|7_~e&{V^2 zR-cl#S9tHcz1J!Y!?2nP(+4qqXy#CGF3*`F>N@k(xz@ONiQa?4>Mr`*-`sj53aiC6 zsk_MlQmejo_4Kr_KmA-1J;e3Y#OFJ4i+`R59_w}0tzzVfFUu$Cl+dx#^RWBmv`I6A z>m*B#g`bmmUzUSuFGWl55modnTh_71*lA0zupssmJwRuiB$S^@~+R->U4G z*2>kKjozWi^7I};L@G65rCVB{m#AtMJLaiji2>_V@4&)dllKKK&Hbh&m8n>Qcuf#i zFf#w=u9`Vsb!4>{xtdnibUq+HIjghKCp3&OD>th(|HLoS?ge4H{ZYM7G7Tx8!!J7> zf6ulErOr4r?ukfU;;i)FftcC~s}|l`ckk%6vu~jut%G5=jKW$02kg)3Su*uj9ibj< zn{f1Iub9)V-qWv^wWMgKfz0vFZ(bc8l?9HLaZ~l;hU2Z(?+@JgxHws#?g^}8@1wKm zo_BI(iOcZiKF|jYv@D03Vm}Oi$|WcI9N&NU?sR8QD%o>*HuiMpylx_cMV^*pvf`lN zSVGb=`t}9Nnb7N(|8M#RP>vq7ZMFX4=Im6DtZ578dl$8qhpAzIRY~ zh}>7%X!LE=4eZPD--3S{8)j#IfU=*@ zp2p9*y1HGkRhLu7wh(mop1nHN=BDYDLv^n;V949sTb-Kb-=!@x$_`7F-LrYitaQ|n zpO;mp;}(8ur}oRM(%s<=XqJ=+o>iUrcw!J5qBo-;d&B>Ljok=!Xzz4MW;*A8aVkr( zCOc`0zuP;_!-8(iSXS>6+%YR?hUZyWOm$eut6P?wP_Ah1OgWZAtj)+Gy4zFAYKUUg zx|a0yXYW|T(?dBE7@w0&G)NPf_IfaN*}slnL6O8Rz*P89g7X2f_TCe1$g|vB0J)Q%)fs6?CNLe}WqEFkLN`fkyNF?M% zifahOg`(qcj%UtpBlTu4=;K$YsKxiyyt=wsFn5|tCg?}U0PUpbqa5Y?lHYAE^?fbN zY8C9VFJZfmOy^845pb(HKd>`ov0-h?H@6IFUAY>y*?zaQXq$sJD0)E4I=#g-cs`?{ zKg;;byA=A`Wp89ThIiqvyx4FV^dYKgYN)fVa3_YJ4G?w^d=FT(JiEh!_sNf1yJ zAaEc^ARr(DAWmxr$xc8{03iJeNL{UHU2N?w9n6f49UW+O?TxJ*X#W%#Xk4wWXgGtkf ztP1~J6v?xA93M8zvoP8%@)wqlE`ioj8F&4HobyR9<+uoapcYM!{+}ne*}SGJYvp2 z1p)K_5rWwN&ml0nW+MEjAYl1FLNM|FIRq04dtclED`6*Knh^fA8XCJg8r$3GTS=MQ zSUS-DeTn`9hSV5&$!9!2yqi`lE?zm2Zk)eqphBMVy{u#_z-vrQEKkIMpjeQ*gu{%6%6jQ$w!}bsQGf_O_Jq;I)(>M9LKhmrTb}0lx{a~ATj6OKvT7j)6kMk zu+b$Cn`W{02-ZrQ?`oydnOsAmG<+@Pe~v*4+ZszS8MU(hj$RM^O`@6&reDe~>o7gC z@CEzVmPt*SKeqB{+5>_@V@0@d&``{yM$RVQREl-Br4C2*v^NU!PY%rJwP6csL+(F0-Lc`wC3MmmV!$ZI zclvgRV~;m(S8TwMEC)MsJG2`wM7))VlHNQ7csmKS-`NS6cc?`4Wxfj*bg=HTghOE6 zYu=~SH{^L(oZb$QcrCX5KEe7&^H(|+A5^BioQV8>fh zQ%FmlGm;#p2kZ8efqU~0V)jj7Wr$Jyl(~d=5_B zI~k>Z{9J84h46i|AS?u2g|h3rbt*|_NBt}mjl)>aiR={OGp|Zi2+=r^ZPtK7{nO4B z;^jeguB8xm7md6%b))NqxL!1hW7ag!H<3IW3Yij<14efrz$-2nlTUMt9-=2$A9foH z_qVpz6ht1uFCQ!l7hFx_7R(JGHT)*H5%q`C-Wg=hf8a%IGkDTFv1Oz`{liYs;*%xi z1ayMqKhp_+w$s$;$&XI>@$a2r&KXJgrxU7g9APEL$i-P&8dy*FQcp}=6Jk<5_s2zp zclBVG{jZZNcMiEWVdUg<>=duYBN7&oO?kwuatQ*W@j9-JoqSX~5IVA$Dli+U1SS%G zLuZW#UKE2+zNWf&xK2gaF!W4W2b|*!^tk|aVnz`U=2R+t537GChrf zxy^~jXb5&cs!xjo(emd$`cAg+&s_lsq1GnzSf+Wugs$s2YevST@;#^)Az50dnHkeg z4{e$~Vzr6kpc3`OAPK(Ye23?FK#_vfhv!IS^Z8CMvJ>eqjsFuH*cUr=kU+Oxb(LGY zCfPiUu3BiN)zRhks8#iLtwgn=*!_-BI~SE=g7JpR3uGMCtzw$v$Z{rMQHdnMYK4b+ zAoDw@gr@6{p82UuL(;VZ-qN^r9Sxmq;-_VhGcS_0{sbB-+Gz%DH6HMp$d|0xI0L-n zDiq0U4~%n zZ{~6`hBjql#h;!i9$*L1F4lwxGZQ8ZRxkVX2ki^7e%0HuXI(HO{)lJHlu<5W!klrU z(goGBXyoojQ*r{YM}=|WgA8oS2^1j%o)Qp)_p9cHn-K9mLbWbXvv6{1Ra-JgYbX(A zQ&9*{)9@%*v1p$tvYop@jkfSKwOUYdn9A<<#}ra8b5tkjI^_8)q{ATY&9?vID+a zm&<8x@!`|gZW8U2pDAs22m=a(EbboFN{lDo2OI*x);rCcksbT6WjY9#q-4?J6GAja zzl@K+8sZc3t5dan9fzd@BH9#^%2pFusy$8iGb&<+qo12$;R>yCQkTmqKAwfE^Mp>P z%UwKG5j{sa=CFpIX1D>7m9xWcPOjWcsHF*y=`5ra@nsSKYY zC+i4bs4E)l%C%DtYg4R@F) z(aeQkvO4d2OxBd9?MWCoNXlt|*{vy6I$(3rggG2KI=nu4eE;bfKz}TaS;(1aK+r<` zy+kRtFp$pat~Lun->IFHD?A>RBB<>+L|m9CgPq6HW3K zDSGFq1yNnPfA@tq_}O^n^Bcub1zDrt)i{b(_6zjNfuA?Zw2tz@PcolRVZ^7eanC?v z4|sx)c3=r|-rAjl`Gzsc1MjJaP;cB9%p19_K0xhR8=`V=P`^IE!dzehiF=St>%00@ z0Qz#H;zxT#t@C1UGc1eC8^Q0TYz6yzc`Tcd@H=rHGFwgdIP^`^Lqz*5d`A}(bfL6cL$vb>#M7B zpy~_XURVp^iIezPvEhx-<|Wyw3(oVbCe$ASB^5z`+yeJf@FfGpE95eP@J+FU1aNXO zP>WJe(`^6S6Hp!P7T562mVpv6w(@cd_myC7yW>rbNk# z0px4BbRWew*qdDeI7x`L1S8&M*W`m?eAw|}KB17yB1{?*dBJ0}THGN<&-zd}A2)}( zqHd^&KC^-VG@Ju1KQQj4mO$f>Z$-}3UA)%H@j@2Uqgt$*JZH0BZ*>S64W_3Yoe$yTE+tgqj-@UyI?h%sri#{}L@@4q>EN&!lSt1I>Og=OvLZkj z9+1SEZ8%W|S6xSsmCTE2eE$l!_VwHR&JjyQNtkVOYEj_MuA1fMvy!ferC2fdwa1W+ z;nLJ&*@32mTn>z)#u=B~BopV`e&nn_i(|2O2^N9KX%JFZ-RNZ=OpzBXGEHddcbTRXyUC4MXnE z8i7=wOj@-ldc$&5*%)*-rV_K`glSH=xiBa~wzQE+k~;k4mV@BF5&}B9-{vN0dooz> zY5x&05$wWKBn7q*<9_z_XX6D|#Pn)A8}P$RrViKo!!px*TF|L%pUvFbo{ah?e+0J~ z!fvz~{G+%#)nPkX|5Wb*6uTcc#;A)JZN33{uKiKD+Kyi2=uQI=wBhwze1pYg+Twmhd@;WJj+m& zKtODFKtKq8eG6o$Z)GTGrf+WZam&ClP1_c`$^OSV$PVw9HrctW2LBq;4HykZ8+Gcs zTouV?#yhq}Fy~f?W8uh`=ZWQ8XVuH1CI&6{!J@r>P2p;_mt~)~bK7>F=L}jO&*$Cy z3SJ)G=X><=46nzh>GSu8-D98k2hV2C_lA1_@A>+A-pBLp_P#>b+w;vww~hOKy#4*S z{pGY^y#1~A{qdSsH)9sF&HMTCaop$aas2&Z^QSHE>&tG#`1;%Hy^r^!#`~3S`}^hc zKJSO;bG)|K>j>J6_si3LTHUvo(|J6dHrLC$pX(N2UrgUm%9*39Bm`t zY>`%;j#IX1kMF%yxn6#FWhSH%w|l5?62+g6>rjv0xj*j#URqW!?d*1E@E9aLlhLYU zaZRXbgM2!sL-hnMe-%T!{4`w2^y@iapM0PA{Ot*!Rz3DAI*;J@j+Oa4zJ@pNFSJpA zv%^SyjXr(^`D?~vZ;{n99|7%|HIWEW^<>w%wsGjGHnS>5VG>x<_j>u^xS z@_-&HK$RTQ<33crU{ z6un|uy#H8g&$_cM{14gsk5c?nd)}RG(W~a4tn>pwQCb9!4KnV&utjv1+v04Jid!R( zG~w3NEbgsExpd^bPt@2uxbOjk8Nl4BPS=`C5x2R~$-UdD1~mI`vX~G4 zd$6@E&GDcycT*{#@q@;%l;K$R>VISX2i5;R(?_z4AmKJq8HXR|hw;y5PQWQ9MsvO+ z9MS5c498+7ID@5}AW2R{HQ`2cQGd_Hjh_vE+L`lv(lLhB!rY)IYm2trWTzzz-7(awRJz~!(Os21as1NBj!IfG7!TzHc?M0_qFL26)*TaFaY;r}mDdeF(RH z4_|6GTuv#$I5PO4a#kJ=%pk!_?FDye`v=f%1$XB~uO9WU9v1KE*6%!7&VRDLOFnwb zK4x`3FPV6un~CsvOBt>&_}uBU4+`k87Fd|&Q6!$l)^@HiJTvudT;Lf+)Nt?&`@Fv< z#Fw@p$sD8W*?^(aa;d|=3y_+Jbmy3L*Y+aH&8&Ie06rm;B|ryk@oFyz0%bYfL|PNO z4SzHlU=h5O5`hb7Uox|`U4Y-re--_4ur)xBx0+)%_u&zn{liHeD;{@dVe8|;C*jjk z(R;EFd(eO5a({Rh;17Rp0Qj@cR!=dTBT23c`jfSS=q-_`VOfNe0ARb!e@XT?!Qbha z&E?gWV%D;7^ZAJ@mIFUr5wF5=`!=b%yWX!D-sTlgm3l1*3hnDZ6MJF9$2Vp_9RLMZ3=k=B)v)mhD{HVUO2jOD zsf2PNR}^Ug1x5Kio}OP)a5xqBOAZ~T;)7H7QG(Qs{2M#cT6TJN+VN0As4!&7fl*$S z(3Af!*WuVUBu5fLWCQhoIf&d&&zJn);zFY?`;~vQ1GvbeL~O(VtIp*=Y6ATA+^onR z$>o0{y)spA)f$;Vo5lE>XX!K24ws7ppJnrhs zB{_#jX8+SH#fDr9%I=S7?cggUghBxQl1Kxf9|Iv6icAXlgCa!I2!o+G0UDD>_R*Mx zY+$IHB1!pAy(S;LLb=F~rYXdJfCJzP0~+W^PJv>y{J~WsgM6CFBa6uX(EM0Uw3|^- zp%gs+Q~*}QEuBCk{OI?GD~Emmm(=gYiJT&{@IS}^QwUHo065ucWwT}|Y1OPl3MTEq z{E`Vr)Z}u3|2EV2Fj*6-PSS3fuUgVhW+J*kJJ{jZoY|p5s(*(OfcDo4>LzS)?v0U3R>qN07)!?P zg^@~TMyXL4NyhGpkxE9!kr5b5#_oZUN_s}A5g2I3?v9a4T4vEX2B-B#t|&CE1EG0S zH1JL1{Crx##Y9%Gbp5lD{AU?QeNqBk;}JCsf&lU}not$)Il|w_Ckzj_a8ljy)jFjm?LFbj%)@$A#$$XB0fc!jx&r<=fc*#Mlw4lKGmCaGKf&8 zicKiAzG-ci`K>>6y9oV~>_%Ch-+Ou?@$S@h_YxO84DA2upP1NG~^*Qys)sB#qQ7kuH} zw#DrWhtycG#ba)8A=jSiWSUP!fG{dJVqJe}nUlQ7$a1hjx8a@&N?rd7b@TPPa-g7s z{LI>%einXRKTP?D#%6H#U1BfbK;!Ag;3al>;Tc@UrtCuQJ$qq*aPLDn?j$1bp_vru zCVEO=UG8FZQw}q``Ens4zA>aXaeBiAQw!~-_RpE#v-8*&Rh#}qc z2kp>;qPWIqNbnm1F1~FD1|-4BF-<5+Xi(V@s7ibC-?~3|P~448>z3f|U~z$fRdFOQ zvl_5Ce5ma~M}H^-qJ@?$Ou&BlcOo=!nnX!{W5BvG2&e-ZjNT*Gloc@hlO)}oz4#dt zu1>&F>PQ{P$87*>-=Nk|4HlIBoCa5|Xw)B%Gixk~z!aNU7P5QQiG-?gy(n&RyIT*fukrFjOXPxXW_fci92xz^CW!mKJp+?+=YqR-~C4A z6jlL%sL`SJqCEQDG{q{hW-i?QNdecCH%%ytfQ@}$K}w#_ZfD{n{aEV9^AfY=BD(<} zERj$*5eiC_4iLe^O9s z@}hE4JM+TaW&r$6OiBu?fc`SHZ6X6G<=$ywQh4{E=lbV8M19{XCH~8_vB2N>^Q;!T zWZ@pMSrVeM<{66;G zV44K`8ZeY6rKUyT;M1|*Z2Ou(KPz_{w78T}^c@5F5B8EnRiUFu7XEVjvewWj8dNpl zDjksaF^Ix7Ni{8ggaCg_wP|)uuEG9P0Eoc;q#s=|oVQ~2VgFItqn~3_>=;=ln`P7J z2V2h)3~zpgg??X}Ti?bfhevza6_ELJ;k;`%isG7mR}Q?9{-fU897jK_{#E(EzVD^aJHK!+6`gUvlB0 zc5Ca;q^9<2>rWJiC!|n+U*V!GX55wgmej~EG-|yEHX{JXFSNVZI+S}3oeWU1uq9Om zbaa?Au*GH=e)gTSJ*wQ7)S;qt`BayoVm!GoZBPU-Wc975?|>=SuqzITvl#*B2a&4s z$HLfJ*gm%d79Q3ZT);XZQx52<<*S~Ykz5GGKdN>+ksxu_ynta75C0Vq-X}RmRPTxd zE|WN$pvWw2Nw_oF&aBG4&$Lqj+gVy^xeI{JiWw2#KQAB>hK9#kDa zd&6PN$6v>gxgJc62L)yx9_vlkVZ}){WL5{RDI|=|(*}b^jbJw@x*$NY#n)1|OQ(Bm zOSEp1Ze1uFKCs6)qa{>Hs~qoH(Ob~>grse?if1R@68Um;?q^&~Wlo9Y-bX>Xe9*)>Qt^VzA`WjEZ*Ft5p`d5t=-X8@ainq$Y~p z;6kRYhB)=3jwXt*b~L+~M8&OfkGS@UoyD*cf_7_VEXirNtA~n)3eaODXg9DEbC5?LPY;OpV1HWLZ7rYkE)ieeBn8 zcVqd_ct}peu+DO3jlHFBS zQ=$N$eT3e&4CP3`s%PmBErSbrIoh#+C(ooIwTj#bX&&nVZ3-rh-)%VDm5!Ju*N?3l zcY0>tD$LN43S}FE$LSEp?k_Jd62+GOj(Zcz7B1epj`1xhrr^5&m*f($-IXIUcdT?O zm$p*`+Zb5u=^t5lr5fITX8IvO-89XqZ(Vwc381*i^(LagVs~|;WlEO9=EhMF+Gtct zER#;-+FvdHP9l?DZqZ*oxBzg*-GMO#D4#`%YGvc8UJ2j#87}7fG}-G4E_kW8YN8wO zpbJ+)XjPLbm*0Pv^u+9K`6$d%x_nBYlDNIme$lQEG1vy7xir5K)0v?yiSW!TxHeE9 zgBKnZ)n=QE)#TY?(}~sQ*@|wHdXS(!?R_KGCC}!mcbEbXlFeaz{(~-0So%>&drGZ& zm#X_Y&6|w^%O)jvD0;u{6b(R$^}s-VX_g#N!;tpNS}rYeh6wy>@49rK&DJzouLoJm z1CzuRuH9e*G2r1rDv7w+)%k*kD?h5sbEgelyBXn%WH2oT^cyRU9su4axZi?K=eo73 zc$REh0SDrou(r0K`6O(skCzH#y9q`>2y12QR`cg5o&W|#iIKmE>2j78z}iS18|wz_ zMnJuk*1X+lB_b#dH^z>aB!%A4px_qMXome*vc9I*@;N&ml;M{ccsw{mCL2{OBtu8^ zDRQ1)D4Pr=v41GrRPz+Sh}ISA;GK9vBjyki#*w5JY@i#2)|Lg?1ZTa+ls8ucm3FmP zcI1Ve?v{n);9CQ5Z_XG~jdt~W*-Ol&ON@RzRTv6C?r<~%iXg6?xGu>}F=%|2RrUKS z@iHmYw{WjmPb_#5$%GRhm!Og?vsvPA4+?_r4$&BKQ1Fz|L|gr)~GuUV6BwTed-(@!6u`;%UVz*H;gj4fldF*G4) z_JHUSKX0!eMk22mHA(Y$+Ite#1-jkSwsn5SLN*w_Lv^0Y_uCK{K%|^DIIEzeWlBw1 zF8gQ{5%|>(Z!7xH`j!?ZR?Fqn@*nbmL3G-es z>nd8EcB~vn3s4kh3#h+Ij)Dn^E9}62DkATu_QDrbvM%RFFS-BZI54wn^BP2j=CNZ~ zm#Y=Iwsz7+b`qXMb~E-=fE;Hhr8by+AQI|@%OW9mEf&rhyM+8EA3uXav>FQ&2iGwNf_`mM0zYU` zC$=@V{jjySlU21-F7qu7(<^ah6b@rB5F%70@a|>}{n~id?*;u-1fq?wbCXMrW;}Pp zx1C+Gt`X;*gWvbWmh9-x%Lg4>hGSSLH+zq`k{BVTYk#mkrgI0iNioSQe5zj+_M4kU zTd(;{aGnZlmJzX=Se9T*CtANzeL8G`4Q$uUbIL>!*vL-KVOOlA%y+4bIyCnUs$i{I zbi=4w{BUO2?=~*I-=}v#T~ql}#jHw}lJ92hh_a1H77!h8(?quv%cK*@B> z>VTh#Lz$;HZ-DiO6S_rFH~EzbBG>$|;nXpd*)|$(XKEY#!x>*q_Zy5jc`{Ein>k21Uld0QE&!mZYP2MZ~zrKMXrPx z#iG7!(a;>V$64$*%bIHSYFUT)o(*Lpm#kts_CUF@*~;;p)j*NNBBLfXEF=3|`#ZvC zr(u1J;N^7T*vkg^yMy2TIMgLp)gjfd#@Zx~c;8+sIo~VmwU$YRRBR}ztoJ<(%DAuhDcE+=cw6|)W5njQ<{PHnDHz3uC0%p&9e82R#Lcwdjq z6-`#TvdwZ2lCvp;(;E+)+Us70=Q(fvNb_ZS%gQE8>%+OA7Vy64SMu6q-4^+9yefkCM{2AQu`J zXAUPiW-sk$>@yLM{e9)(`pq43#mLD`DX_;gJ^y+}=`#U;i&>8IN?vkl=`^Oi4&ajX zi?W7`LWkz@?o&_VMMvXY^1{?krMfty-=sKPMgLBuht$^DoVJV0y#DGYWHnVfQP92= z+(nG!krUq65Eox3@<3k@r}@v#Guj2S>=y1X6#SG)pZeF_?JK=JMjL#J&xUi)-iV$E zn;^1lDcg7@k@%|4#9DaBi~Q4iqVsuJwL6_`2VeV|qjvg%Z6oL2cGT2dyag6>BaYn* zn=o`)i5Ut~tDRbi4^n%~NlQK(r@}b|xjY^>*qvy;9mz2TWy<)WFz%yd*s4!@-o`6) zz8Kg?;D4qcAuN0d5%<)u)({hc6^>`&DjeF(>aE0^9K_#JzF{D#riqFZVwr3zxviT0 zA(ZdwuU}2l7_{w{D@N&h|EkTvj-MQ}Nao=S1Wh8m7QK!<)3;p)E6XM`(25x2!;wMx_8;CO?lfDhAV4j7 zED$soNAQ`-qDRg#g&wk|h0T$qFxLdr;Gn7rx)UZoEAi%4u(mO4yi?1Iq?4`6@*|5B zoORypB!C;wvG1DPqTwAsNARSl5Vh@lt9WE~=Akp#vf=OEq6@-~8Gjhh<;o;Z{G^8A zXS}VHzRX{YnfUSZ1R-72ow*-H2B-L>2l22T$bQAC24}83)!u=^aOSP!AR6=FJ7e~1 zKNS?%^QJPvK>0xUJcd5WBzC`|X~D6A{_`0K)+@YTzOOt5{~x;CR< z48_Iy{2=8+D%#0ETBQjkQ1TDjOxl+%)PCL*N5p8$^*3X2D-POAojgYAi#eH(L`k9GYA2i9IZ8GFDi>({tvz+5lm$x>#hq zHzIuTMiNxcWAD?hp~Z10nhvY9l6@TCT+wVGDNo8l2yY<0R~agBe%XZ3k6_}ar;ueW z^5`{0l(uHwXO3O6ym9p=v6Y*r8LU=;<0>HsfpCw9OV+XrI1z$}JXx!xq!n6P#dcYJ zrTI3|jX8ETA1kV7l^CuQa{{?usM27mY?B49;m1AOqF2|R(S&9&#bj690=E%p#sf@) zI@^wkPqK8*ZF4Cj1SKBZqEvQSs-PkdsSA2I7ot{-gEjADO2#h9W-1KfO#5?Nw_v*+AIQW#3^z29)nsHBTc1YZ+myO%B(TZ1zAT%}k7CE_& z6oT9zrCIUM=0-ZCYe*^-DJo}B+eyc-?W$gJuKLgL7$>JrG;fbZ+L5_SZ4a2PZA3U8 z+>0w0&_k0X>qkk0X~>SqpMLds-bpO(VOro@{A^fqj<8f&&1Z$GTB0%MwYe86T^j?x zi&}U_=1_tXe&!c5=VmICOCNzrYpv9T$t&;3AGH>EB?T@}yxq84 zNMSK(J^Flt(x%mLm8>(9=+a)2h0~_$tOF9TFwcOSBka zlu;4{s}sF`Cw6}iX6peF~4Jk|3 z-m6k9NrP&rh)b)CNzOanQYg7-V0C%%DY2|8euMzO$33AB_g-|gKxmV1wdu5`m&jc1 z@L+#GFwsRwby)|;9_N{_vtx4(eQQ1BtYXN#SuHt4pfuj)NyhS4AIDf*5Mz zE*Ck^j(#SiyrL`KFPdg}ZusiEg&q$saZ%e3b*R1fsVYQy%2J#8cssuT8di!{)r+fa zyP>BD53OSxjbH}j)5iDSYh5bNAWxneG=62XBOCAX+x63v_dSKet7{+J;b3CGzlOR} z;ci*@ILbt=PRYI0RCBL$elho;hc*=I+ct8ffHf=i2ft4$S`tt-D&mCt!0z6MckZl*uDK3S==`0h)p z=<7*Cu!nE`{7B7*Y9Z*QJ2ayN@cU0ka#@Jy*m4A_kR0zc92{;I(>rQM6)iiNkPCd1 zhL;Rejua5?Oj%0ChNa5~w-(UI!&O(9OS;VS5XpI7CCYC@klGv(qYjFRr<_DsF1*t% zQJ-}fu&ObZK8KRZKiA*TcaG3wg^I$a*Y6Q>Q?{C!)k2hlXRDx*%~>n=HX@fM$Xd8s zs=74jO`v${+A0OCEIR`^ID5X(Hus#1h4>?Q)U5w*hZIF%)@~FJ@S=R4X@Gutn}AyB zWDd-spxkYyK$>1>;)<-eE3-qsHO)`}blOA75mKT&rDpHgO@{CHM)+#=1@-ey|^_c~GA$0`E=S$oq#a2(1hjD`|R#+bCI` z*MxHU!%)Jxv$OE#5U0q@tTPjWrD;e;iu(CqlX=Tu-+gt}lO&11yuKjBW4-Z;4(APU zNshQLlM{K407Lb(l-fr2PL5|e4>d#vp;Z2Gw4nS!*Yu)1N!=X_GmqDSPRX+U`Vkx@ zl7my1rU>#9nMmFPGaR4f@iNakz1}t>VI1b9ADdy5^r;iW$p999SG1)+-}0>CdW_ID zMr(Q-TAMjLf8A@5-F7big+Mu-4{_Qb>fZ4`Gt*Ly5t^m4VPuZR6SLB%dcqG6xy?UvzHyMJW!V|1=Z*n(X2ly)GczXTf zxIlp64S(yX=Q*)ar9+<3K@V4!_Um2XwB!XF8bi`g<8pbRZ6CcGtF9(`26^5Wgx;9Y ztO>r!C#(TgT{^mYmMW)EfBa=~*+Mr#hVaYXTYe(-7ceYU>4+K`)*C{q?cGy)@oHxTGUl%vjM zc(e#awuW5F^S}0e?#UwYNZ!{z3%adu1;jJT+m5;@E5%o<`%==UQcR&!phpC_B5`X?mf^zEP7ga*Nul)yM~5s*E{yqg|ZU zSEqvUHxb*j$@R0D(a-%LQ1!$$R4stoXV)18&$4gapO)g`gVl>kl=;Ota3d`#eMgz< zB?2E$#PTKfzYe{ehvVp4Li1VoYb47CJ*n^0kzq6AT*#CM0+Ja4Wpe7nxvXDY|ItF~ zW$bHD0W%?W$4dV9@Xy?$F79{*tf1Js0=)~i=jecNL+5yKaBMC|X@dGrH_nA@0r6(Q z*VokFM18_162ZhhkBw%Y=EmK`B~EGQ(duB1@Tk2wWuBF@l%(00`S^}p%zTgxf~-9I zeDHVjEHmN~I?3Cb^}AB|<-z%?B*O+xiCQ3uH%>zD3e&7E@JtJJe+q%b)`dXEI3(=4 z!eIN?cyK3z0!YlvTKM51(=XL#74HTQtkZk&Pa8X!E$ue1l?P7Qf8R?W-Dp`W6}4%1 zD_^VHS_w|Qw7>OvZ}L->@9sAG6rvMahX^ebS&Yz4ML_iF0aO4Y9BZ(Zo-5edP1p+T zYV%{`EL+AY9Nshl`YHdvuSZaQ-9QoanIqae6fYKXg`Q`V6==1mB;BOVT!Psz5TL`U zWZ<4R39vaMB;x(#pz!3NM8aH4?e;0qvPQ$NIz-C~AsQ17G?|l-ueaGh8Ru~d^W%#S z1S%Gf?+8*$(!>VE<~ejq5sqDeifMI=w&cQ?8da_JT*Y0;zty|H)N~p$1Ut7k$c+HV ziQ-481>*)?2XS}3*)s49p5WXByCZO3RO>1H(!#98L%V-ZXsT;1r?FTJoh*OqQ#+`1zHzmwYjoURcN7uh`N! z7oo(EA;oOqimU6iIjIXA3&js6_N5hs>#9G#%MjyzQ;}mwuvwP(rAt_~GlbBg#X#Md zd2{fAYC`=|QZ1DtgPv(WB9b)xDgAygT%>61`}U4Co`{_%5~)ElWf|%w_ zw}tQ*DZItsoTW{<*EY4%Tx!rAiEm~8WB@NS{}&I643+^^-pLD&E{K3DW9Rbs9u;zN zdefefO^Sin@}-MfxZBjFM>x(PmI%jEeDNQoAoN5yx1CMo!g?4kEs!WVoA)u1vMI`_ zwb3EJ^nO#7sZ_X_O1(~sxA35tRGGI8EYEfN=7PsaCZ`T`Dx=&Cw3nV&Txle1zFRVU zU+}z9zuZ#pt~8n5t3svJTGPg<;4WQ%JGWw5B4My^iZx0@hPT!vR8EAu&+neOktg>} zt`(doaS7{6Z=<%qqLyYh1wVw;6=}PMe()FBV>oGw|NCA|F>J3UwpSC|tBLK^#P(`p zdo{7Wn%G{=|9Y?HzYl>VuptmO1j2?u*boRC0%1cSYzTx6f&S|uP|^_3Z=cciJOy;I zQwaSXtpITJlxw#?L;#LHc5w3bA6fti4Lngwm66AL%8XN)i4Z!fe&FqEyu4Z66pYaR zq0U)OPW%47_g;DhY#TD`uAeN+=fr$mGGfdu$P!f_vPsp*o{{vOPt9LY91j2@2)W7Z zS_cuKJD6V?j0VQ^Ye`r+DRJhtQ+9>EOtFulYR6H7!VEmcc5M~z z*U-x4u+PmB)bE|n*}U(;NMJW5`g}~wbWiW92{D)I{^-VHkj)#Q76%;}%mIvqc~^nx zQ{z&1B>Novx6B{T%6Tn$?&F_SBYXM9BWMZj6{nx~&Jm@A$Qq4$5z3&2fCWl|iv!jb z=ZYkT0&@z|(u#a$xZt0qB(#;dHP+{n1D}utG+91h*q+QUZJn(r)TM_({tVpWHYGDz z7l&tU_ObZcv@Y61e=ea%20jD{qy4u0^S(Qxu@I&0Sofo@9Jm{7(O2j~-N*P+ooUzN zaae5EurE~z^!XMEO5iuNERUFRdS_r5tk>IIJ*Axx2Bq0zgYn%=u@zJ_M5!j^SqJZW zFSkG`Yb4TgYoN)Z1zxKgBB=C$tLo`-=Q*#4rd#`kI<_{{ z`aL4|in0+N+_x*3ei9E%fNp9>7hB)=823#Dp>81G!B^j^(twSfPoML~n^sO3qramI zTx4y8mKd;K?_e-=A(9}sG?*-|q`XZKXP&Z{-OLRirUfmeNlF+{DnV&fZUidpPHrtb zg^>GJcC#U&gS>EMJ3mqmYs(Ttwsx?ECN6K(YcGxESP9z@mYS$*)(vj5St2{`%l0e@ zJr1+cOAd|s{%^L>zWuZ3+svz*WYE7^_<7GCk#>jzp^vnuY#Jf)52mKP4YTJVWpxY& zk`vHaQ!Eg>I_86nQ?82rwzD$)%8)SNRCtBvyytpVXk#)I!6GXh+F{JhBdBDSpfSa5 zmAIPg`RUwQ1tYew#!%MIVi$iuNt2963MwDykZM;Dm#jcU9?fOKx2}D$veN&o4N3}7 zNOyeq*p-lM*&j;!ZoA!L6JI>Rh{^3czYSu`BK!M3(6Be7KAUfy*nJ}tzv+D1XEp|< z1#>odJwdNUv#}6o*SN2kpi~M{f2t39Y1Ee@evmE#sl%>ND8kizC#)q!YpZ+!9J|=W zHM~M&7#+`O!$ripBc#GZbYncZ>H9dC!n!NCGv%r6J9i)FCW&Olo%6sYyo_0Dn9IYY z;mK(KLG_Vjn~RB0=vP;`pi92>!XNndPn`V!KC=|ZW|r8@5}R3KGfQk{iOnprnI$%} z{4ZvfIJiQ9Lv^`Upsa+K-)RAhebT^D$#-vIFDaU-*Ym-v1#^9E8l5CQ%q20PyZU0Kj;R(}5n-ajCrn zk-dY&8uP7?ib?yK65s%O#0fAcgnuAQ0E(3egQ6^mbJAE2QZY=* z8{X8i!pAs(D^-{j_88ogC^gl^ap)>imt&3eo!EHZ9q1^e?9TzAwDH5)O!X1 zXvM_^pl8RCs~mm+aD#XOZQM?pXY75@jo`O9fRBBr&^OJ|tMc>jrgtq}ZLAF;Xb~B^ z6A75|jfV{Pr$iV&I8n?I(;b*kq5w|wX_p7^46LNSl} zJsfFs)&ca`!M~W+$2UA5+M<8zCIb9v`!lBb@g1s1&BKvL%>UT0ifR4V{&4C48GjsX z1^js^Wb|jC2mf5hgklz`58tWh%mMWH?ezOHcl5Etay2Fzv$}hTj-CA}^kJLp#S04JE&plY2u^*p#IQdJO>~^M}COS IA6moz1L>`=Hvj+t literal 0 HcmV?d00001 diff --git a/Complaints Report - 2023.xlsx b/Complaints Report - 2023.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5586ecab4f22bb8b219d56b4190d39c7abab9d4f GIT binary patch literal 1706063 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 z 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

ng=;-N^WbK`ayHVw-&K+@UP^eJ>Nr@InVb# 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 z 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

?YDSms{Uh8OuP8}ZY&pMSsk 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
  • X{Gow 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
      lur99&}%}sC8x7 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 v{V<1ervcu6GmU4% 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

      IJG!PlcVbG|%MeSycg3 z1}~U8!lzNC3S~@P#@7^s0}<_K%*=3Lo0Z!c82w1E#zIVRp?LO1r|CCPjunCxpFwCg zP;KT;FN4{at)fSFi$C<3I$EH5f+Bd%oa#;)Y4(KW z5rvQaSZs3oYX>K=Cuw%ncMq^(&=U7%$8je-dnFs!(#}axkN2^wYUwYUC#9?LuP`n3 zTlk0YVqIDa`os3ps2RRA(4)0TuHEXvwrF*MQJH|o0#7AhXVI7a4 zUKeAWXaIHFfOwmdI)Hc^KDyfc7V6^O>^L)6eCv6PbgY_|)tBqNW;)a>4Y=wv<)W|p z$&fb`j-`On!!%LPP2#&0dS2vLAI(Z;}>XcPXNaua8uD^UYc z8|M|Q=#PtbvNrg^UeZtu6QFP7%mNAlaUMWpOgKz#r2w~Y+sNgvUTN4yp2%6<8D#rw zJ-c`&J9FVQ1g^X$vSMnLu3+IC&*@9s@x}AH0odLN4ivnl}6GXAAYmENs;PZ$vWD6kVfnEU?>4tFp`BI~Y|;!Olu! zhH`A-aL~``x;kX|S>qte&N>;)HX>AN3>n6Wq++2XFI$jRK`ks=@g}yk6EJe%(1JCr z(IY)(B=?}R-eF6uD#zOn-LG6~VXUh^eH4^5tB_eh5t(s&+?SM3D>l=H91N|Bdap=l zLWN_aBe&BLN92;y8sH+jn zVz-Ak0jidyR5duFAk{Tiq(RUR3NLS{3r-P}-fu>e(ABNuwYa!Is$7PL^Cw39t4|vp z7}ts+d6WYe(dHdNY+pq}vfmML^$KrN84`YF3{R|`4IgQ#RUAUZGc1^kLmsVil+qb~ zHz16)Wo_2ge>x8j-{eSBN6Res#y!a^$V@I+V%YAZyt9*HnBz>W?KdErZ2Bm!lB#b3s#j5Q;S2CeRMGI!hShXWSyFD`_vN_bqtal*k94{!qJ+3Gt$BtGk zX8FSScN-oa@pm?W@qTJMl0tDGZl8I*3<4r7qI1-Ri;zSr0Mcs5T^tDurHuxoNE>cU zw8@h{0t+lS&t=DQetH|QRTCzn*A_CO>WmL41Vm(=CI^Gbd2*{FFD%CSG@bkG>g6%~ zE9Zy?b7gT?Yu|`{LZ~3iEwfx*EAY+^`!xhU!%=hlp#`Fxj5!&j z$43ga`X5d|Y8gDvtvZca_i92&32qfqe`}$H#`@)YlY=Qh)LEP4M7YPn=EWugS8 z!w53qh;C^rD`rHTu`qqEc;b8qgH`EA5qX-iBM6H{F-9!-Y-NKn$-;^a2q_^Vtk(gs zH2w+3bMK9HW#ckb4aKoO%(Xw~M+v2}CrOtYStJ)NkPVlj&k0R`hvX(tyI&!lh&f2A zx}4furtsF(9UxH>)Xlkz{$gRZ@s~RxCmqG61>~rY4OCdQLUzq_?KO*)sX8r;C1%B# zsZ}%?qvoz?BiXLHo3hM*T)3FJg`=nqNu~udtMwBLM-rI zTLxvI5yLX0f?FcJ#(YF=`sC%gDA7c#hUYY{YseH2PhM|_8B>i+)v_7uOs8d%H>Nbx z!nRw{L{RCjz&4M2y_%J?S1|G7xUsaljpxioi5^4vU}3ws9pI$aD;5tbP!56%#m&<4 zR1Ux=%F;X&?`2~z5k&U8#B5s^PNOT8=o?PM5Q~x~n^`_Sb;*H*c^{QOe^m4(vYa7R z)Ipuq6%U0lQ;;Rt1(*!n?rTBF6{SvsNO~zkNE)K=Kqe`STR?t-Bfk3a@BQ{pVkW22pLrEQHF1|9)lUE9n3Ms zmqm)aOj4-JutOPyD)zHss&suvWnP3CXjN4~PYjGPa#1Z2YI4I>9-nL3=)xrG34|F8 zA)l;mf>Q^&$-$zEdJK15*6Uy@$iZ|=6kvv_6ryM{jMiclCiNsu^{G*R%?7#QKW1a~ zB+T$@Hunju_{#$9oT ztA;e$J$WGUQd?Nl91k;_p9(t6@3h~h2hioZE6YkLqw+hgT#`HxY69+K6&LyYfNN*cYDUR#I=T4jk08Y;hs;WgZLgL%BY{RT+Sy9@e+PVqNCfoKM?~iF%CH?GuScUkF zF1dfB%kZ{wb@lBd3vya-l>*NbUUag}s;sf{X0ww8I8nq10ta87MDy{sr^l!L#d8e;l;8 zJfTD&NHVh$yGd|z2pK_-=&y%isTLm=OO-a<=z1q{a9Iw)N=z;e|6t5JPLab`m(9f?`o|o zd?1IEXtyT8Bsz=M^g!0GL{b#(Kc*Eaca1pE0aZPS$wI4l`AGyOpuQEMJV*9LSGEl? zwEG}R>CyL)hr4By`&S{T&}W(h?lvjWHI+dPBP;aMik-025|M{V<-8|yf&%KO^7U%P z&sJAG<=yB>C~&zzpx{b~hdLbHW}v-VyE2c3I8OKA?RDZ<*3*hi_%>lSoG;AHdfm=w zAT+=;G56sLa5H&=Y4960z+I*Ex%QE>oY2NN&uA0s+&Z`m_FejM|0>FQoY?etuh<_K z1$Ky#;e1}Z%=;6_daMcY9NSFjc-Xd-%3VHFHG7wt)Um{h~6KxA;HIK)eJ^ddw&u_j#fa}Zw& z<3eaujjmtJ9F>PS)SNuIR?j^FX2^E=ly(q-lX9-QUKg!3ToUhr$cR-MQR_`vL~xcf zpm3G*y>XOhuryu1EO;M6OMu6mIIWb@WR4$g&%5-IUq1d5+Bo`KKLeJ3`TP>&Hx*P< zu>Y-sq7pRpWRZq9^)j1P_(t=0XU^*%!^nv#AOmmD)`!lUS+iG|v)0?Ev~})GEUaQ~ zuKrzX;FE2>{@h9KR4!tKKD-dFf8y!P&BG zPv8ic3fC7bZdIYfdv+bePSe6oBe-L74BE3e$JcaAEy*wb)&>Xt13ZHF8L;1`!}zP!|3t#hLc-EFdkilgqMjZ6tj!3;uPpA>_%Wv2+eC5eMuj9Mo z(Rt%y^$!=gB|?V}ef#POn8@QxB=;q)gU0i#Yb%GhZlhtf!0oFJ^6s6;e*ftu!67-G zQNW@*iXA7dn?`~m!3{sGR<$B777FP7;@ z^8d1~)!CYMbcpjUZMV6fv+&TIB2pO$kvd0;R6)3o*`x)#uR|@M`UV!wvg(yn{_GIcfFin6?p6xc-McxVtFmcIGtRe zN*lLA9>TlswC)Q5cVie}rJKu&dx>rX8Ec}Oh%g+0yVwV-vb9iR09sX-wT+R5MJ*X|u4cPpD z6(yz+vyNRou!xIbo zN8N!(-rpUM@tn6nhkx3~ar5)Qr_)&13JNoW%N94;-$Nn)zL0JyHY%=gY&Zo_yYqBh z*_2{f7lhk)c#CdaC4z24)}lxkg!6n{^>^KebmSFxcLEoI_v3?)eW2`{luKfbHr$`^ zhU5$HY)?eWand<&Bf_+0kF_njbM;A1cExwO(yHP*+|oBv z)StwB;a(l-dImIa7f*lKG_29c^qLSJOfDio6}H|S0XGen{ zFyipLSSzstwYNyn_CUDaWr*sldyMxD)g#l{WX$^`jS>GrO$@Hq^gpA>?%En7BjAJV z?7%%3x<1v5q|sy$V8m7=CUE9Vs;PG+#u+WDP=~fAvrXykOjEBE7eTaCVT$nA@IR$v z@+T{Bl%Rw$Awi~-7zJNYpp}DCaBUlT5RNahUxj~qgpm%3XxAqm7m(+}sKsFimsuik z5h@BfDkC+o&&SkgL*B@f!!w#h1nBG(DdZDj*`o{#|EQlJ1s|}70y6aD? z?I|De=2VCAkEi9$`_!&)df_=rctd;3Zsi2k@gW?vv@p6BI7rlE{5qQHYJ|9z0 z+8B<23sd5PHY&DpXW{p{rq23LhS{M z?}u7c#COVnm?Mf{)&oVwLLkMC4wUCKaO9lYQ3~}^nVqt(ozJd3dE`|w^y)hvQnlkS z9Pq;x@W9cP@B@INM;BBBl!^9)M#wd`h*@dV`6uYFBns~nA#(DwIRl77P!VT9dhT(H zW$xZN(s-qg_fjVQiA9bPjoPG4+7$x^jX4X5-a>vkO11E!@(O8Y{~QIy&bM=dkAlhV zcf4iMb#{VfqgFDn%#G#p-Pdrb1s`3#hUq&tQJ`!so9Z1G^(5c73G})IV9XQ*U^Fpt z2HE+ml1Rhs>GK1iklu{~&`%u6!yyf@C!tSsVGZb|QGNj$mQL^odV-_Uzq>&-y?}H~ zTfm-LngVQs8)%5Ge#G7iMP8N^Roz8-B9)6aIK%YGZL<@6qBbZomTouWh0VVF*JQfo^elyOo+jtdfZ!yR$h)m@LCTZu}r6 zZ`hs@BhM_2js@#;e9}(4*G_yeI_;LdkSU2!F~0J7k?ouorIDYUK_)OmDf+`E!4v8g zmjD%ZkbMJVwCQ*2wSgU4RhJY?xmkl`voq?IZaD*0>tQ;j3cukJ5xC$tMAg+gT*!zl zuy{k0tIRZ$kstKOC*@52b*|sU*z(<30RhRYXv~iuI!Sgt9ag>Slh?KRxiG ziQS$^ohKIl-Vr5o&5xE7Z@vxw1A>69hzQvSgM$YHh#M#0i5DxUlVtUhBhhZyeq-wS z*IY!%^9a}cL)S9`8VE76K}|P(-f_QTR?cd`k^d|rNX91=?N(7T9`cu{iIAIViIBt6 zTPWEEDH0zD2eoM93&9S6VavDP51=vT?4vX|MM==|;LT4oy2oo|)n5}b4NDXxJPysw zjlRF6jy;y(Hcp)hBzs<`7YmGfqZQs68DW5dvKgC5H_Rs(C)K4nw3Rqi<$7dt zk{9-S(JrIX)Lke43Ks#(r>9mg$yKv+73!LeK~Sng>jfl@wOX2ug9d8ldGn}3)HBBY z2>@cK{5VklS7$W!7j<7QJk2|hf6I$3F@ie=pH-5s3?x#k#E%kaH44W`wCgQU*18dG zmB6*AWjQSm0gTh<0aF7ZZEG_`e?k;_qsj-U0A$=)bjUjUTkHW#)5ZZs3FPPt#mRcf zdlOy=9Jdh|Ifz2xGvmhkf|}Ue@xYO~(;(Bar4fwjZjf+Uy>vzwd81p)5LK{&P&b7= zlGjsI?t94W6EvQhL4@vkr;&0uAXUo+ZL-ODT|b-aJ7@mNd0k5wGRRW$+_l}fHv9!aL6t4w(Hw-%rz0Kvb2Y)4ol~ zy9UUOqhD9_gnI_r7UI@OJ_BeUYF^uL?-A6W2~jC7Y8rIp1ogBm=jxUec76VH{ejYTktYS7H4j| zVbqSAC62nxhP?4F-LKPkfm6C_W^19NRpP-)Az819F3*$DnK?c7Ro>J-8uff3UlY&Wwr;FP_1*L(hLX}jBP{=P6%Eo~daCLg$@jG7*O0U!<0&fnP zIbR;?^$QhcS16CwlR*~u2@n;csZC5IPQ2eP?f(QpbxgtAe2I;y3wNK5-4)Ttoh+; z-$ZNQX}#iZ?YOZvLNk6-0vw!XrlLZj-ucS4prCCi0gpGP9PVa}xLA2ReeIDHc7A?Z`)j{AsK41jl**jG^1s7=aBw%RoYY5n#rP;B^HOA- z003o(XR*-N0%V+NR#c_UL7r0Wa{uUzyxF7ExKgDAdtvNtJ*x^wYZ=@}4ZN(0`k2`> z2Rrm(Kf)2n;+`vw3(Sm|-8e!htVe;Vslr%|y<&2Q8x1lOi5rblRJm+tOcOZAMQTE* zXtOCrXYLbHP}9mEqdqpb=Kzyc!0Zac2u~rQ*#bc!lSrsP4VII6Y58E(!ZfT=0~Hy+ zV{&mYO+s-g^h0ajmV^el%p6_K%6evSeVDH{W)UJygULg|#^U{PaGhjTAjbvEksS5v zB`2$gj1Y`X>bKBZ69Fa6#HC~M^Ko`Rf_{1QHd20#FekIJH%lCMjYNYah;I$$J0a(! zw1x;tOdNbvLKRX9Xod9>bTJ&QTYkknbZ#6i_B4YkC%ZkpagdTUMoS$#1RV`89lN>i zg|a~CUiLR5Q=(2Zgqq5TJ`oopZ2BVc8Fy*>AfB)pJ_UFJ8&f!#TViI+c}JeUu|e z%Krkv6+;dePKVA@uqd{NXB{Yo(WZuV?-wOJvA50kJR32-Wo6MY9 z*iqjA&Wo7>J~_d-g3@I(|LQtV;0d}!rl%!zf1pN~b`cSe zF`r8D)StI#yTYdrP@0H=i(0Wnh?Sx~x)gloTMk}5>^=EQ*F{9mHjig;^d8g)rL~Tt zPG^s<+~u>i-@tyAQDFd3i?GXRQx54i=RO!cCq$yFACe~^;8z8!9y4TZ8%kJvc8w%pGvBBq%K1YQ->>td*=DSOF{-K1M(B3|g1^fH zf;Z5W`xg|!_$efnU&HZBu&Gd%(BA=}E;IMk1)Wmi6aNJyn1c#Kp$|tG9d>t?Q|=6% zt9XnD4tlLH1DcR8`y&-8Yn>vgno*<`l^`0T5~L!F38+gFjh#mg&B+*+Cc{(9@lI#L zCklq6Rk+@fB|x=me{?foM}=?I5Dt^YI@EqT>IYsx1Pl&gJCIb&k;WL$d9|xIUR9h{ ze;!*vX{8@dCdS}-Y>b{05XAuU^gzV{eL%*2z1j#5`&0yKbp@Q*x;MoO-m-6N0Hcp~ zK+|Vt7?$sf@#zwv%z4r<%~j3iqq)X`_m9RC<1?qRY1{br!)C`FVy|n#f-aCR=`2jP zr5u0{F-hH}SSP$z%qCVqR}R8o;^y-0v79HDq%eHMYgW!@ z{o@fc;8O8yRj#kR8zCfF*F+a4P8vggJ2$7NK_9SZLDKVzeL7ovewbWB9X>WaRQEXW zMLJ`4)QEv*=Tc_ z!|Nm-Fqw_T8Wy8qcAbOHVbq95yoOz}C94Dq{a*yg`hsfolTh6AB^+|AS6!bGkwyQkHz;E|pIHFOH4yvV-3#u%9)U*#DoyA|PTCp9 z0L!To+@u@-dZIP4AQ@eWY}D?aJDN(1TNgt>;PDUywH>GEsE$Rv$oB3LnhKMrN>p#{ zHacKq8M^ z*7Dfx)f^Sjyclx8F40AcA!JQPJMec{#SW`b*t|lPP-$FNPT9I?;&*W(_i5{SIFtkH zS!05i(FweT4o7DZX1fe!(Z%5r2aH?>gg;{?KKQ!@VQ!O&rqg(S-1!141p*=RaXQj% zoyPP|2xZ60W3KrtoM0licR*}?1tsT`Fit|{wu*|%#NZK%hH_Sm#7RD9Pcq6%`Dg)V zw@kZk!GoqoTDEQZqOD`od6sCq!b}BHIEy>hUZF-PuEHnSmrPBQAD5O&5^;RCRD_jG z7CDr(OSEm`MFmsTJ7z-gl(TyS+g^g{3yk98Y*0m+zdc?g}%~EI0PM(FQvNu$PryW@6VBYe-oxM`3EZ% z9xFVGC4VBlEU$XdjC+}jqNsW{h-P#m?y9At4Df9vkl)CW!r{Vvx2-n`{+EAY3;T!#iL;UE@7GQyy= z;5Wb6A-1e|vX5P?aAh4fvDFih;>a4@F$-wzh%wF5=#clF`EiwAT$638FP z_?5?O9r8Qy#7?E=3b_7=KLC<>LhT`&JP}Bp}5#rNhSw_BSJv^Ukjn_jVH4gPZuw zW!3o%kbzFLJ$uHsbHC%mjsoERaH45^6> zxrq#=i43)g46TU_orO5?sda10&x{=3NC=Ps8|qX->?&OBYE0}3Qv6C{bUrbzn2bP5 zPB0}Wh?)md!vnD%> zrp;HNIQpUHOE6M$+b7}L(bO9!2|3V8 zC-)5u!zr*s$RTZCB?UKHbrRo4!P>=SOcU38L?@DDDYg6Jio%9}w>r>&kz=v^i!V#- z-5T^m*RU^et@J}T&`|&}uRDGMMC**y(yNgN;AvgnG>`=VruKiQfkJuPvOkGiJ>QNQjj!na{x>%LiYW zQ$PYvJ2Q4j+%bT$?UIy=yth%sI>13vOo?`x@A59I1rxxUYkG@pUb?X`k+a>0va1agoFMoK3`$f@1 z=hA^zA%eqE=GddAPjaHw-B}GlvGlQrH?6GuL|b7E-9Yy+U=2UQ1kdSfL_cc-9AF(+ zSr6t=&c}DLxb9%5?8nzvLvYNCy82~>DktaNSH1G!S3pB#?n6F8FW%O4iGh1B5D)A}ADP<&Z0u)`vC>q=8K>`< z1j4M%gAs7Ft+g)^0Ug%x@B43CkVJ=e;nX{|mLvjh06y#T%Erml^fT4(n|NKb0)xzzkyCwJcda;X`S7(Us8gZ?I zeR0Kp_l*uOz``Ap{`6l^5Ob`Wx|{La?+$+OI!_!WGSLtVCYxY3O2t?V(qvogP;CAu zHUn0M%A@S8cxTL$5&BMr(RS7o{?<%Ztg=K(A5~jiUJ_{aTrYgrdGQjO3(}|M|MIT- zYJ`Sx^^BDo=zyJRru-M~^W#dMc`ieSigZyx+ed#yk*8ryF?sJzlii{d zYmaLSV;xkZ>gu^a+GwIx#kH_rZEnrpf^gvZR`7&U_OtSc@=4-ptu%EytYLePklg5??@)0D$z)${gO}8cacN_VF9GJxQzhwl}2GoQ2FhjgKpY~0kSBlFGv^F z&?|=?M20oUfw$(Umvp^vV|KFcikc?W)-cNnJ{ZNf9dl{`abO(Ac{_fSCyXNQ28ELc z4MtS>FKv8?c-dr;@WG>cB#JaQv8<^gy%~~1)jA^YyovWGYuN+*G@PjVNiSdL;)+*+ z`OBhuX2|bX3t^Md#5+=ig8~krQH{9KfC!xfq~DK1N~{D(kiJA6V+NX7U74--mf-9T z3Y=B5+bFUNA8XEJ$y4d4bAcj{(u}m-&H~09|;Jov4ya7c0ZDKqmRm*xge7rP&=!=?RTLSpwQAbfX3Gkjl>#S_y-r&@d@EkN zT1-#Pp5i;=($eenP~b!Yl+Yghd{t`M2c=Sfbw?i&#yY0xg5A~DhvtPFAy~X}NUaCmcTKsK z0V_C(w_?xq$|b5JyZCwHWI$P zLLE&Kk|gK*e!>~PJ}31;ui8_mW4?{f7pSIIaIm|1H@N2^uo0V6!;S#lawCBAsg zy)sSzgRE13%CqWOp7N(*`)Y53H+g5J-^6J|K~dN6pQTUear-B)jmYP3xA9J@QhlmZ zJh5Zd>=o1B(w)>6uhHB|Qgh-AltFCBzwHNs{>5CpFo`(1y8x2&hK9@wKZcC~opcSr zMZ7DN!ZsOefRy-&e5TL7%=#fU@m=$Z!@1Ys3|vb-@B@g>?Zby8wOHUT7rocmtDdv{ zDS?g2o&7NulJ|puBcjNT|98@x&wlcOjpH%*997{GXE-QWT>N3J@7O@qe&9McafS!3 z90T0XynKMU$veqgx)5)d^7P|Vy#}qOESX{cDFJ)Ki`yC$_hVR$xYNN9`Rnm}v`TVk zP-*KQ4)g?J7DC_&==Xy4*fBK;#uN7V!H@Ss z+?*g3%0AG85JMw-9&mg}lDOzfgF_=u&SEPK((oL}c%hZtpK11x4-{oiUjT*2B7$v` zv-`m_ucxeJyyhUQudnyh@Gq`z*uK8*jm>J3C8txtQsow_ravTETkqXZ zFZ_$pA@%h^H$Xi)e@A|f5@}erU}8^A6O%8Sc@uQbtgE9-6~#qYxqp7s-+1*^FY2ya z+BL;#9fer2;5B-^BpjNZFKanjwXoZcqY<*k+Io%YN4r%fn;BaU$^mGS-Mlq<%XQwk zr4xo{KyWybJ4_>~+oX-18HqFAYW(52Y;K)8RJP!f#%gEj@ux>O$$jsGH2SK!KL_`@Y0oXj?x~tc%Qw-c5c(&y%vJd0Xx zzTGdoazJ&s{Im-mZ;#y6&iL^FJVUG^=~e8k+ZK6Nt5x;`KF*Lx=AkgGfV{sjEZRO8 zSNZ_YzT=*=>HQrX0A^_=jC66!1CySx=6c!wg4m9cnx*qTnwidIQMvB+eVdG09rKhnMetg5Bme{WDg8YH9-sYpvVf`|x;f;32Xcb7;=D-BA6 zbazW5wFx&3BHbw6|Jmp{$MfC${qJ|5`#j6V%sVsh%zA%s&Ft-7?jH^6w1@MX~UC!8%T`|?ooer0@Py6a1wk4%X&W14=& z#X+ZPx^vDXDS8X+Rj9l}_u1lNo@x4hma!0MXsT=dV4K0zXxdx!ou&R;9_);C7O(W^ zuA}P(U$*mba$qyrq=|fW%Z9Fd$*g8L45NtQO z<9=*E|Kz|jnOrtxKG`9eS<^bRPI$4r?8z&lmWWIK)N$nE>}6f`Ci>uE(`-FFvX7`Z zOWPK+L2$MId-Ur=o9eBcr1wSNN2UeGLx<7Lc@2h|w&Y;*l4p0CZV+#eC2pIYPC z+sY8^eCaWN8(9=PR@i>wCixLTF=ul>v<|X?U(D2880zq)1xvfidzvH|HDZ_5GTG-4 zGDfQ{=be)q=aitJ2>tr5nb5}!Nk+cL?Ni?OJQS&d?^RB0#`xrp{Bcff+B5ZTJ}$Ep z4Unx+dR_vS=JFN)w9HU@B9?h{PmJ%!opGD^jcVm*d-HpEf=r`qQP6hrFjYn-esoM3 z{${suQ&ws_f;R?>SiJ#p5VZk`!FyB+l08!zl09d;L$bpFht^ zzLCowIV@2iA*|w)g)00~!Ut+}h=z5&!=0v}Cc!EI9TVaa?r-F>JFci*zSLTqoOxyJiE?tkq*}a(4l3nMB;pf(*90rJceG3vYRTq6+9qGE`YYPCjX#Hb{m#Vvk+dj`h}r zI$AKV1;LxJ>#omGkZ)7|=`15lzzZFnkQFtdDTF+|N)WpzeJqRx*J#g885M@3JdLOG zRv~J9-+2-o-dQDn%3FnLVHjqkdz*A)D&AjTKt12~OfD|5E(zJ|cWy{d;f3uzt$8)Z zX?4fAT|uz&v7hUsvtGTjWuk;C+68etNI_5PV@OsszpMphc!E5O$J@jKTd}40MKmPk z%lK_U#T%hHPxkAUb>=bJT?eP6LNcG0L0-^rH0zKeH3yNZ(nE%A^s@24ZcwJqQOgT1 zDHF@C=g6m5Tp!kR%?X^FjvWyj@I0t-bLO!{a}sZt7L*n_g~B8_32yI7=J9>sUrby0 zPSX1EoABYzM+zgY_wIq;^j(kUOM*V@Q;I#Yg{aIYN0M7Jxi1GuhsEc7zScaKBxUg9 zhQqYsGW>fOo6oQD@f%*>ONlhvS3Pp;O1L#;hn*t zbma4oxhPd!g1M}2Uk2R@cm!ZxUv$S9AOcR`eBHS>yv*}O*48bClQY+hbT4l6jWTK* zIb3X|zIFMq!kV&4udVE@NwzLS+H47}L*AHiN_Ts=LsE>|ObK;E+SrK@%j3FNJ{Ol>s{_t;YyDZ2jZ zGR;&{i(%Ak<8s}rX=*F+n7&14v#MAu{bg~>j7P)EZ1xdHeKI4ZyL4YHLyNqI(BE&4 zS|z)|8jCkdT}`WKslMT=;N4wP5&IlWhE$M|pX8nvcXBJ1BM*Cmai*uRbCZkW{a#5* zCF8<@rTv%T@L`d6F-qp7U&ja&QB>4w+$V+C)`JOs2g5~sFX%Ne>TgE*`zHBCtF*!N*Hd{%Awq9G0^JnWdbjK&xgyq zY3#SI6^DC!AZ-v7m#xWb&G#m1y%d|2X)c7+@epx86_gUSK&}^T-Xens#Q&X!*k}uW zyY2&rJ)0NX<>sz3oay1&B93=fIdM7rcfnOFY1)DE8>{*OyUkD1de z<&nx?%y>zKmaQua1=W1lT*F9KM=B_A7tu3pVrXAO&syXj;VY0iA7?3UOvb=qMyJAH zZbp|^oiD$M#ob?BRnC2Qp>0H2<_Y$cabC%Y})YT~o#%Edu$+YQ4QzR5nCru4S) zO>Ta3diGVlQr>Uxue((zd>nQ5l{HcXzB!S!n# z(J<&8%luI%%}6AR!F6dVI7mVDTAygQ-y#9M?;@A%NcoZ~JcP|o5w=6x{Cz+7gyW=) zG{|%|F5AYNWR3Ll49`)&@o5~%md-+Ste($z8ne>Qb2I~%|r~K39U+}~XKHKUIQZ1Z%%j~q| zmSMY0RYNg39&eMn^T{!E2lYJNEzK*b=628HhZYsZL^tv>lakkyEo8n(*Gskz1+4|h z5#njQPFG-;d9I50X*x|KHOSa7mj=oDR!n|iWu4JQE`2MyL9xDb-7Ue!;$h>L6P#x* z;}`F_pG|ginx<5KF|8Ng|M5|$(00C6c=zPR>F#N+Pq~MqGIC#$-2KC+wRRg+Qw{E% zZH3_y${p>()(Z;F{SZOa4W!~~$P{LW!WU+crn|ZJph%LY!u|Ya2J%qa}8s zir7%&P^?8<_R*241k%r`Sr?6Ie3pH_CN-FgxLl*VemMd{@2~lXHx2;S8nzgqTzm-#nVYS7#;JxhcD18?5dc!?I{zAPzfHMypW2$xYB9xvMQdYw@-g;ehAzqqxTE#b#;$6&s-0$nfe ziJ+<1jPk9C95*eU5GJc7%lG!3+cEoC+Ydd+T{#-xUK@2sA0yFT_SS?r-Wb~&7I!Hs z>I?qX;udmX$HM7|YOzfgW5=?)RQd}ELSle~2E^C}tNl7aqJCkdNWC)9_0-;Z!)=gL zhDBKA+sY?7dq*?fJFF?YO6|`yHsT~~pecUeh1(@hT?}oYUoGl}x{j5Go@t2f4vb9c zk}j#G)GTrl5OXTDU-u>~C&*l2=!mO_!T-d%V7AocW_&*#ts_0xy& za^w1Y`Y&$}hYeFwWTU&3eehg8=uBW}XIj!X7{rc>25cNlOCedv1J6`@zrpt~yy2fz zR6`P3)kqtqh9~r9&1Px2SD1p|T0!@VLfI(7{Z(Tezns@YZ#;^=&dx}g1ID&qg0Z|$ z051p0n!5%fZz;#G#YML}wtm{qW_CO!>~NZ^I9_%{NiV{T@h*U<^KOuxq7db6l4U>E z98Nuvb3+w5ef}-o^o!C?ZgkSjis&XqwG}rUf4BX8^?WNav~;mE>^c?t$u(uK-vA)g z9_>hr*%68JVByenf*myKsLJ$`>4`wL@rrLZzmVxgeZc}vY3CimZ!SN3l_RhloHT1T zk?BRNpG|=yqeWFY`{cNXEnuSmol}(JAjkH(i%RL|G~_t=Q~Tj>Bth8Kk9&;n2u!fm zB)gP&`zx}Rp<_#n2k6OJmmwiPL@h0ip}bU=Apr6;Jyof4 zbz&-7*F&8NigBqCvrSFv!Kb^C%sK^QUudZ|(<%!?2Fx6o+A#M!;$)cMT(KfWx+b)> zMZA@Q^A7tc`MM=&wQ1Skdzh})AfqmCxVC{_Y}RZU($0ywZ9V4Ui{X5T)ib0$TG>hIeTX=NxQn%f zoXZ7)iIY4=)>gYKVFHU2-DgW|IAyn#HasUkD|efg&GeZiC36pY?CVnYFd79C6J#rb zbYl4(GZV_rlAOwA+*Heq1!2CvZ&FV;;+vVujFlqe#AQiG8;t^c|2ks`5=TcLjl!vr z3H2tlE9EkFVtnj-I4tCv!z6>8XLbjxa{GsS8JBSo$z$K|^igt3NjfEC zak4`(%>O!7v%O=FQ~LdnxmYPR3T@BGfbv(|=NedOoR-@Ze0ORoSSh<@5nTCbi?hMbQpl&mX8Gu^L$TW7VUUc> zw0_<*O#@xrbYiPqx`>zCSFu<3XKhxVO^IlX723f_ zUSO7c_61W+Worgd+BCq#1FG06FKfTV@i7JNOV_2T5Fu?I9p_?r6Lyv2f-Mps0TO#l zW|0-k4T`PzM4aZzzH3j7dBDeNoPt@V2inyhYIk?Uv(-MESzWqp5yd#xsXeY}$$!*G z3wbp0MF@$V5hYg%lBLl9jH&lfu|k|{KuxEPcfx4|y{_O(sgm(zfn))@Uf!r6vzedE zW#yB3g93J{?OV>bu>{8&>CQGTo>B!@oHANAK{DuNM46sALkHOv54)Gw@VmfH1@_Ud z`OjSnvZEgJXVmT9(O4W#$L%`29BXoCW(7qZ z$K92Ol&jgXan3G!KGwA;K7Er5w({X>{jiL^M!RLDz5vQ{Q<1%3oVzFn2ZwLI`Qbuj zXliJnafE@cSpm*n7iAIA*w8)AAUb8d^1~JER0)CCdahF@X5U9AHESDbDYkfyKiiM- zTm;$k>E*F~gokNzu!&faR+`ky2JC(h^KsJ6ud|_oo?aURvbGKbvWC=M`5V3O&!*}s z_i@^dHn1mVc$ufa7h2TLleoREl=Eh6=nIXWfoR|xvtX`bC8%Sep6EVJp7B4H%&dYR z88k^6`JA&#s&8%MgwGtM9*fRWCCwCEnsoWb$Y=Iyb9s{g85~9M$7G!i zqnJs^Z0vK_NeaU{%k3U{9}m~l;wM%W1C#4iqV-`odm)0a)iO`@c|{y!XlFn4M)8VL zlDFOV>X@0Wz2Br5K<@#&4SrgeK^(^=mV(N?{am2+odZKlO$|P^H+;Xi;sIIed;erq z71nwVPCTTth3Gf1s)`={n9&F{kF+q=xw{tZ>@u?PXg)PKs?%?T&Ln8wvnjm66`ReZ z#_Q)*ox~Tja}r5#n_|RUBfKa3dIEDjVD@~q>GDA9@|ddA>*Db8)ast1`tTm&bv)ss zlQoS14 zpsip(KIG-OrszjC+;WQp96G7lMHTUfDGr3A208||8Nn6h_xMj9XlW9=sMyZO4&bmf z@bfnwOLu?olS?8S{K(wF7NU~Y?;uuV(jdD%+I%>7Zu+1uJTuyucJWKxK4W0rK{+z%JvCb0><#TQaXk(k-X4+udIU)lp}3p7rRx5{k3a;T))ez7=VEkd#w;nG@5Ohl~D`n5r>W{9^WoK*I@zK z4+Bh_rJhY}_9j-Xt%DG0r-_5NZ`}Fy@^}TAcNgnX`?9|4+7clYGGy^Ryn6d_XNx_* z)7r?B6Ne`-pWi&eTUPZ;8qNMOit>hl^&`wNWbLbct3Cg$Sf&gl_L|xqU%6>+9GE=6 zbLNd`SFZDmkE;$@j-i&Ju6+=8(Rx1 z;CWp|Vk(x2yNx1yL1Z@50Lx}z4_B%`lRAdPUr#_sayJOWqvH^_GuQaBj0}zqI}?Wi zAyhMs`XzRWXkOqZ3VYMJ%XZ@Q1&6A9xv)W6MqG)a*<>ubSu>9}1=JC9Ou7}jGW=SS z)`h;(p@ZP~$7Jp(?4WrRW)bDMA1-VkI9G=GwTZnoksPm&Rg`4kQ`1WO9EaG3;*1{r zc|a$t*x_FG!T?fDS6n_k$rx;ueJ?@$)XASYd1|Bb!yPB5^fE8Hotr)%uf^Os>5skZ z3M)N2Srg8@sJs#7*ft~5KFvBiS!g~qN^*!!Nj0YSxWquFs&Tb%Jvo|K>lAgT7nO7} zUT-#v%<1DL&j^c8%&bo%mU7b6Ne_i>P7R?mEV&CmL{H7P#tehp&aJ!di^4PqFlHoqNM zm)2B?t|_@e5gwvh1o`0S#|4au1H3ZhXlgG>)KOM*+y^gdI##l@DIpvwe zT@SdaD)*^8HMdJFywhC#AI~4`at#7 z>N7kbu?0guLoAymLv1DVm5e+tOx}z%2`jPlGOW|}MDi3XTko)M&=VuFlzC_Gy)s4H z4}wJt=zpA>M{D><>t!qm%*q{a7$ zA9in3$Th(d73O*il(G}-*iZtg9I z%v7!i&BJUn1-JQs}lkmRpR~4Z+5X< z)YyMul_WVL4@(FwxM&L)W4chr_0vcsC2zm`A>>WKrJv@bnnSldoGSB_VUS+FYiN}& zE+fL=x{qhbBWjtCQG5)H`qJpnh4Dv|_PZPpqqei9921N5g@<_b-?-{`C|MbrV~wE{ zUv2G7#y%aC^eHc$Pd465U>xsHT&o*m+bf*I=$jNO8$Y|9%(NEkLY4TtxpQmtcBFZJ zXBC|`8)&XW-Qd*5@fJopxE8k-Tf>>F1yV1SiPgew*tbqMwyRo%+L3F}GLuf>5c z%)1661DB~H@qQR;9ScmB(udV0kk;4biu_0--&J4at>Gec54V%!g9MU2E?RNvqo->F zybt!#ya}(J+)aNahNFbr<$A5KtDE`+Ax)${Y3f`l@2g@jI+DjSqWX>1K)7@|by0Bb z?KBG8xm#5*uf=d|wv?gy^?Gh?vgR;|Aj(FD4!`I(k?q|dKxa>MXHNfN-H3f&Hu%Dr zzy`MSp|=Oh2DDhJISHcR!Qu39|GKvfk_?8bRxfhOi7usZUpT~A7<2!+{VJ_P4&B@R z>s)Nl^*x}nJ-XR!DZBI`p8c6ogTC~kl=b_B``T~PQKczzK|^MEJ{u|LdN9ezi7P~g z8nBx$yzXrm`$7w%@;yxp{i_)6o6&g@0*X346z7Sj1Sy@uVp6^k;Vq~D<+T+X9N0W1 zf)wuN&9xOwddMvBwcl-OJ`NibDsbDXI3NQdT~5kb%R07o!|pYeetD!VlGT>)R~!h;3v`gaXIaEKG}4+ddYIZIeTQKe$xRXoOp78 zFLd?;)cpDwX)%_zls5(0`d0Vt=BH3W-}w*7j?l5IkCG6ZH1r@BoNU3b)5w3vsq5`i zB!mPI)*Ja8{jbuvw{L2P+Ty_35BtpCyY0O0zj)jH?g0^jwIqEI^Br#!RdVyD+p4=3 z!yWi);bWEQLjftKpOPzVcM2?CdT^^cHaFDM8%p2l!LBC7AJoaY(-Q_4>IoxxF%H#U z1(oBV7mmH>f7TplPf0NIXl*}!!Aqfi=&dB>9Yz9;5jZJ}C2%dyfcb`z*~p@XA%r?q zowwngs4+h?N<(?bm(>b-QoU^u+Jd@HA={s!{S8tW_)?kYwUr~hKNug_QIy5JaD+TU zA0)-lekTr!kpyX_$Z;9C(G<<);@>6!1cHX+E8`g6Zhr1>>{Wx!4{ztHEohIPm{oK+ z4y0DL!^Ek)-UkPhs6(y(^ctu7%!W)$6!HBjn|~z%S6-nyj(4&ac}7?}8R`bvxH^B+ z=>6~^qt_kwnJxU}~|SS7$b)AOb>> zj$|K#9zl?Xgi;uYxC0Of*_-M7vb~`Uj1R73vNLJyAxoh@hjKE38o*#Z^gqN zQA_!Xx70L+KJoGTV5jA2@;*6T3tEX{jy#5^-RbRd4_;>vwow06J=a+5F$(S99H^iW zo%MZfESqf;vyj$IgWhW-m zV3)BzN4|zXm6rB+J6GB|IEZ?#X*zRf_L`dd9JAaT6N~G^c(=vOn8cVE#ZW&$WJo=h zWiW-EWzO@PZ(d9``GB4=w@z;IA7xzngExzLw6w(Ba&0x@$hgeXQ^Q0(AL0XgB$a%n zL>@@?dpE3$BKlRg2#0*!{Otcg#Cp|t;xP!<`m3n)XzKX$lXHB($4^Tvq55T0Oc{r> zxGu_3$x1&j0#>D;7pM|Q{33#~(xVfrT583L*Ov^22I)JqZTX++&v-csBKBt6GS&y_L`^2&<^O*xN@YaQ%6H*0{!%AWf_E2gbre5}oNX_*q=b8Y4cvOFEVLF2A!>iC z(+95nq5u)3gKmq~vVlpDkI)=xlq_gh{YP;|L=r_p>@8Qr z9BN@fE;ivkS&TF`BJ6@dhz$Pf_}l~fpuLUea^}WH;VdDy$)fs6D!bEi%~OoVg7B{) z$vCA^x<-CR8)uw}7?s0IORuiY;2UpB+6A-m5@#&MXt5VGL0FonG;qThahmGh9;fo< z-4i|&()h6hc?VgX^O62!bbruDr(j>l)W($1p2JS30I1oW<{`D&`lv6yN>90*2+(0V zcYqJdcetLmw`2D}^TnMYqZNnEQ>O|dqSmi-lUDResS>-H?YLQkgLg2?I2C~30^j6A zvbRNtp(C{H+<^5EeYLqkTmV$Cff^x8Q~%g$boek&@7L9e97#ZfgVWm}UVBrO+9r}o zIWr*Hpe*0~3+EyF4II%+p2az6hC4mzlB?AoEikN)QLDQZc^I8U zNQgZzNE*>eZ>SZy>~8$t4v0)BI5@Joh6~_1_d`IBoV2$A$?=G17e~<0-v*!ppGipx ze5i{v2y6%ziPny{`nYxclkxs zMGRr||2ORevM$aL1jDP|sGP!Q2W8irZ1zuoSey<$JUSpzN4EOuuRd@wd(<^G70YcU zPw}|Bt!o8*_*Wfk^tf>Crr6nnp8k1&!7wZ0^stel`JMQQqjt=#p(^CE1sJCc&gx|9 zvDBK8G>r$)xaS#GsD|BXkx}(W`J4rYvp%!)Es4E)cCC(MbJ7Cr1sNLMPx}fowbf)> zBklR#E^-M;C&$~)L1Nwy`3>-Dv645Vvrdn7`yty=Jr-axS$rK`Zi^)3u&hTf=o5B( zaO(37*w2fDUJNxFVwEF9s02pVMq{8Bw?)VeO&T9)zoFJV>W#uch3TT%)zf6PvsYX5 zW$E>NZ9#y90YE~yB!SAdacOGXIcpmEKn*^CgY6s;+X`4C({2VvG9e8yc1olipW9~< z+qqpFCAlGJ#zy+>)#eQFGrZWcpG92XVaqbnZ7>>8)mR%_`eCw?$0*su2vR7@T>OM#9g4{6){(Cp~XjaU%J*>TWKx< zaD7qx8MFl{113PHem=vM$o{G!)DCpa!2P|;FCu{iVhG2-X?HgSydV7($^%xRxYd>_ zD%6uc)_M=$I~qqJ1+)Es?a5SXt-Thro#u9V-#zuHx1O`R?4PUub=ZQ)vs(PB8tupa zsW8MqVF04^K1@h5n5!*war6N|Hsyc#e_U=pd!Tvu$=+=NTEm<)BiHJtPIcbzjpJTo z>#((3_1x?Q;h)qImWU|6)mEcJ)f6QrlD=gbOczK0ZV$f8-mQ+TLQUJi&3*`_sjr}Y zfU1V$TZNLfk1M;bvjc}s+34=To9#0YysRcQ(G9N$@4+`&7wNm(fjYg?PALx zQ#9jC6w0G!(LNkg2)-JJrw7IX6I4gwVTA?a!#l)Zu+jSQ5BhRswF4pRi4U!xadd4s ziClGJvul79zvK*QT$I8>fsgc@_+LeS$-EIC>0fsPNqz&x%!gj;eaRF7 zjdkxk30E_1HCzDc((N^Q6PgBYE;hxz-glBBb4e8+Z%+yCxM?^GzTzn=uo%xzS6TH~ zx7+U(L}JO*`N03aOP3TLk34J(?gO&Ib120NQLOHics14#rfOiKOCnLPF=jbhwbb~1 zK}~gi2)G85#cRWO2G(=1DGqRNF299BEFxq7+=d?5F^m5vzt(XU{~e1k7N{B~;u5ID zWOWxg9nwX+@+_%f^Y||&I9T_s+1~sO6OCV&pM>3&lPQScd#fM^Ag$R^m5~8Hq-8p; z;Xd#y4ol78?$nOZn(ZLuvfQ_gGEp82Evftn_oA&vt>eOY3fS!CJ|6NzE?awtFe7mk z;8Aj)Ang0gn_n)BQ-PHngp$7<+FyRkTb#D}$hpC0(7X^F|dK9T_5`ORVrR0F@71_S_B@-S7~M?fwZx&Xv0ACrL* zu#_2OKUdZZejZy4W8O{UXsft&at559VPD$~6O%Eqp0kz>2KVOj_W*QGz>S$d6C+s) zAPS<8Urkj0$9+YWz@vlxxO|h-)PdKgIVk$Wy>|iNy`Ttx_|> zPHD&Ov^Ty1f>7|%7(S>WEbpO9#nkc~nM!q?Q0%DA1 zAR#_Dw*Wh5R`&~%&wc|b8hqXe?eLKvmjdt+u!5rMmq#FCs8P?UUMY$llRkK!{Ira1 zc|<&d)&DP5W(^Uu{x!fTR%e0e8C?h>Wj^yT71*^?Od?KA1S_G4*d@XV-YyB08?kEn zKu2?A;H$2hKsRtiH5g_A{Hk#$58zv_M+PG9-w*k(-3_zABmTx|DJ8;wZc?uCN_mK> z5Xxg^^lR@0av9B|EplOyEzetQA9b83dmfI8UReKr2#d1Op;EmAZ?c}_bi}a`{qwZC z+i&1@3@YT8QtmG)#Tv_R=}$lu*7?{dHB zCZ8GN*bbCl5&O<21a?k2~W7C$AP9*U$kU_}45ZHMUo8Gd-8U&Q6Rnq$@74)6Be!dY$ zmkNmAgBVi?(Z1yeLRHg8q#2Y}Abh2DP69HsG_|V_S%QMd+ma-&#CvcEc$anw3WFa8 z35Ye-5hW;wgtx#7P5dxBK- ze=hEYHJBDat|!cCkPijg`?CguWnc(5d(Hx2$`DO{?a-uu)h`LmaD7JiMwup`w{67{AJC0A!~$c{tB zT;p|i8Qqr4SdqedMj}$3e|~#0Wnk2M`W8my^a(M8TgO)FrqQoYliA}pj@#~ygVQ(- zJQdwXkyxF~{2ARSS=Tw@%(Xq!SU=#aq#>wus$Kd60>iKDATlK9uKVvE;>^hJ3L;5U z+#81-4@o6#bjU^u`vOKW;zRlfAw&uvDlm{WqhmMh&PWBYkJl~D5&WeS6f{WXxBh>Z zeK{IzE)8{`;m|#@LWa~En|N?a7Y%qE#5G4F#zY5%D$BD6RN><&km|}RLcp%B2+1eC zL}+@5=$1H_}(}o;|0Ya>WMt^IHfM_QXlCXk_=>V ziiUe(mH3Yn%#B~(pnt-{o=6qk;~>SIjp0?&qy9d8aSUBA>QOO^-N@~;{qi|IyW zF@VDh@N+a*LO`rXmIs0T_^(ywEv)FLb1#6JG1iqC^2l=tYjk00(emW4ci*4$6X82hyR7#( z4w$_(m|R;N3o6eDnBB#BjMD@HmP7Cp?CstS3ZWa18_5f+=%O3zIfi2gQr!8y>2voM zo9Ui+#}1rFv7r`!lRo*u!*xty4Jk;reh-)P2G=rN%qwk34kt#<6{Z^qPI!K$IlmVK zny;;(-Siy&sa|*tzfKYn=Rk3YbD%@U+l|ybOb@_vfU3>$B2?`N0WGB`0;hmk1h!Y? zA7D9tU9kgAPmX_(fF(uPM!55{Gir3jB1g9PA&UN>xJ&C3nr30cXY*aPxU6jTQoW_v2m!JAz*|gy#I33!!H}yZleY0oh|) z#4h^h8vpZgzxTWpH9M>%>wKqacBII2hBVn=UgTS1;hm4n_?CeFxzr3dX6u1u9TwG$ z7Y>iz!^M!J!g~7(??GCoyn7dcBeQQ638=sSs32jJx+DH=(Ksl=*~QF}?Q-)_Nb$mU zXXBfh<4GO2AZ^`!$KZ{=7zbi6VJWBYoArI|qZ_IHgBtFe!fA(;W1=)99mo~{gDyOoj^mU z+t4@=$lX%HXJ6uJ!Gq^sM={g#D%J101O|pbQRA=~5oUoZdwH?8vCb#huLjX|7Q(-% z1w<_Qi)lB^ezsO<{MHpwK{J_KycleAZD-I8efIi6{vZK0o*9?qqc+kfc=#m`6@DkV zen`Yy=MGV!9l@g44b6%P4&+WyW2J!`n_|6DNmn)NDxV9@vb;0C^RNufq=?`0j%L2i zQFW?)$wRxTXSJZm>+-4$vd3+t0qa!cKWA~Zc$kkD6ag54Ck@R)1AG|80mrrEUmgCN zW&BMVHEbhI{cFsB!{&b?74-#ji~sqY>Sb^C2fWUkh}ZL)$fw#*NXMb$c;h$5Nyf2C z)%C3^^KbB#)(JS?hRbz{%#kO*^~f=Ix_KJ3K~}ommGo9KG|8g!sz`ber6ffP48)iI|m-V$8 zpF+81-gIX$qw48M2Jzhf9~mCeYJK;+8X3h4CA;?H(%qUUZk9@KSN}NuSWifV`D7X0 zpNI&Ph5446vyYC`0S0CrP=o;DD~bw+Btk`gHmd*?Q3@u4+YaiN0##vwBgPR-X%kTl2#)YY;}86Iw-rxY7}jDo*=L)n{zH*0vd_o>ZOJrZu(8as~W^9ng2q?hGsxTzfQn%e3y+PLV zAX~8IxzlSE2JBG^YS3#7twff~K`PK7Ek{tC`R0>pJTQWYI?^DGe+zB;-XOF1gjtvu z%LWeBrN&Cko6(U5+Mm1&`&1Z!)%HA4c-?jnI4rfcwjG!bGz^Y2FfH_ZMEskefp=fRy{&uD1o*wgDod0Ex;+GBsW=Tn(MqoG@md)a<1 zW8*K5OY^p?n$vKBJGD)jYl zPn7}>T|TyM6N=n%|G0zff4i_MRL`lw!Mdz3@bFl1t_r^XhgXzf2 zoM#EBZ5pC$t0@5vqY^;A`!GNe1~_QoJYm_jX>hRY*vB>f5Wb$86HP4`WNcc~6-JYw zCQ+ImxTNl?wq$1+5+&^tCX`Z zTJmjiLZ_;-cGa+N=oo)9iDGfc);u=uxLEf=hp%yELyOQeuXu9Y@xao^?3SPeUq{0v z2{7%karo3UgRT*p8CT+y5#!3@hh^X;b}RteUxw}Y&6I0$Hwm;)nu%bEI|g{kAF1ku zp6VO%xgqYxBJ&RdNDsUF;jK8_v$q8$?0OF^jn*IVg&fapn$yz_xY3Nb59}r}CA-Yr zoQvC@?%#Ry;L!$VU&8k0-8T_J+izMWA0-_E$t}3Z0ZAquw(SEu75(8L)wP?nK3Br| zT8%{42*4fqAvK4a&e1;$jeji+SFm-imbR@Q#w^YN=A6Q-{gA5qTGr9u5bxeNNkXj? zXad$)RzV^t0gTEBAT~wjIAhCmljSY{RGVTK_gSfbv82 zPadT=fx>h@CBJF~>^9l}m;aooYg90vxoYJV&ecFJBr|LV&s^nRA1XI=5*;lOG!d}W zQ3(0dU}x{R=M~Q^>kCh|kBP1vrL+RiJ=N0f3J)e&AAdRm-g{|3?P@LD^b1t=0RXD7 z*{${a&ILOu&*mxDRoQIwQFTI>^o1RSCzA+TPC3Zy3=vhnvwI1Bt}uXZ(eZO5fTZ-C z5pdCw`(IhURLjAAmpGpitg9vhJP+g!0jRFlM*uNb_#52y`#_4qOgyN4hbjY)0eb*t z-S}Ipnz@^AB2;jIP~7AZLXk!Y<+h(;0j5RBgGc$Oqh)CE`9>BUuDD^*I+xon1(+q2 zU;XwxO-%ACcCK3GW`hOCEbGhx8 z1xGv;(7Zn%kRNYIb7|W%yr-UAsIJ!xuDQg$&RX^p$XI?0otpt=AR&8iuPrQRukAJu zepIo{iK1EkB(2O#@u;8$yoz(Y4m)4R9x_(}{50*1Jm}Tec;nShUv<(ZUPW!v6I9%p z^&M2dZGx8%%T^&zU!?P|LK5V_OR)Wt3E|ap0^T(2cfS4gxD!LF7~*X zgFb}*tpzPK`l7t)$b9u#2Lq>G3&hkc%;IWy#D4^miY&SL(a;Ha1EaHt0B=YkR;J`H zjS4#}lu>>yD^UD$VFl7sa?hSZ3>f74BOqyaiW|TRifB{$(Z-tw?mrrZlD`Bm3wZ&0 zd$$5NyAA?BZ|4pj!2aO}7h;C+o&$ED6Q4#+H7kK*c z>{NhR!~F8>JOyy9Gv5;&ww?QGo${|7Yr9~h`M77Jr{n?FxRd@sSK(9i0fZy9P24YQ zv#1Ono;EyvJ#7IG|4=k*9Gpm%>)`u0i2PFV|SU$=^N8sd&H#LM>u2w%HY?o-mZ zG#AM01=|QL$#?Hi0V-;)opP+C!-5`JlJ86v6w$4+!y);IhaJd|g9wN;?|NJgY;nxim3*~EbO1`P@^cI-^|T6%{Pjj6h-)3MT7x6t zLdL;z4w1;$2#kpP_PRp*!r5JTDoc}AqV(q5LTK~wxeW`9YY zu=}5S@WU5veYS7_hvp9uaY4KVE?C+NE`xVI-aoT%R9CI(wH8#RmC%|v>JWTk-d8A! z)|t6}QpS^xC`?j$2Imo+=U@!&q3YlbUsQM%wNeo@Dmas*XNiKqIhY}8EVB9_nZQ#? zB~p8c>V5V@yCEtrGp^g`s)^&p_f^vQEyhxE#_`Tok3%m000u+FHG3Dtx>6;m90~fhGBEML#GeoHlNUbd0G1C}U5!Gp{|5q=mPlreUdjI>u$3}r%7kOtT=ky&V9nCJsgDTS*#(L$WpPT9T z%vKbgDl?9&wTl+%lPp#gKg@0CKAXYxT-3|dL593F{R3{uj5BxZ(9&i7G-UD1b(5HY z;tu0dAuh8JwK9+-$8wm)1dQf$BrxOj-S$Y6Ll*_v@_S~S+qsB4$eO#aI3QxQi?JzD z=MT6|_#*WPbJ${Pj_P}>)%-h4>H=t;%v-ZVpKjw*k1rr1*AF185+NXAz#(Bf5_B~X ziK%+Iph78LunQV0`j^!O5FT3w0hQG%P>LTc6bQ1_^VA#%5wBo$kQ{?W21j)N0Ev?t zz@8Z=U_A`C2a#}Jtq2@`EF!Wa7r;jakrT%t(&T?bdP+mr^aK$~JQG1Ic{j_Tl2{@H z94;V&0BUs;v4F{IfYTWd6tMc=kz=ZOcA4hT0CReBz+CHwRiC8`n^)p7s_M*vQBvY! zgQ17u2KRbQ)m7+q>rua4*&8hwWwF}yklH3uWwsLLiwW3C*~#8{I9JfZi#~fdA7g}h z`(+;@vWi&FEm*Fvv`trH3{6{*m2FwBi*-y}3v)-=RDpyWYwlLxmZcfzmj5&4*lpE< zZBEfT?_!ifRcR~@470Bcsd>Ruo{mr*tSLHs<3_6V8n-^uYUvg0qe$$_D^xD$m;R-JN^@rEkeK-C2#H+&GUSk7E!%}l{C{oprLtxb83UwG1B7+8|TH1jy z0050W5E~i=keYaaAq!F@=t?Lo4!}mE5NBD%6X2@2_h1F+11L#8dJXba{8R~rU@uT& zxd61_2rx5n7pW2eV?dl{_|fS%NM7~k>~czv3fSEWyp`4-2=~vSfby^0{yUQXBqAlY z5JXIBX<-Q7f``^!iCE>NBUrEbBqIB>K;+5)8L^7zY7v#2VD9ls3EtUnv!A$1V4vG({XeM-OD;$CIUtj~xAxDihF zsM=3+g}^hrH4$c^b2;BgSSh-dS7vsns6&M(HLrED$mEZD%JiD5dX9wCXUI+-9jEp1 zX3f!Nhg7my%S&!9ze9AhuM=i)Kp39eCPe&I*p;5U9df#FFXse>{p-VV4 z3)b-yZmGjY#MA-dra=)BctfnVctb5T8Ge$Fhy^}qGM(I)IeGrq#nk%zHMwNhZ@1t} z8{E=ZQkDxTmWxiB3>T#WYRwgP!7#*d?oQHDuVg)}@c_iX+9%`=J)%Jo>1h0KA|n5z zTc{W12FeyVEUWO}DEY6W%Fy_OBmOV9KTp0w(Q5Fhd2fQ1zr1MM4j)fFH8?f?p6L+Rj+V)ZR{=HH5#f%)t1TG!!v+>zDG|_G)M@OPsy-_Z3=oA?Tp4ql zs^*0X@@UlB%bymUMp_Ne_c6P&Z0Ek)4ViMc4$-C^qYr-UOU~W;#%j;!-aE=_Z??;h z0GrFK<*9g;=l`SbE1;rWyMGl$5tNWrN~FONq(eZuqy?l!njxg6Ra#&WB&0;TL0U;g zQo2h(B$O`cnESkgc=Vj}edqk|f33ULT}$8Dv)?Co{PunV*u)s+Tf*b>ju{5N$5}#c zZ;Hqq^|3NKWKDA%N&N6m{2R#JnuLKzLD9MsTB!oJ#$!829;4YsZ9l&O5TG}V0=TfO z%U?Vae!)y8wO&ZX??cHpCHU9)rDiMVs^LYxIMW;;zD_bY&^w1iOUMy!z}ZFoKwj`K z+!@NdL3O9-DjEoDu!(=52@0)#q7Q)oKLgT#WBuMey-0ay)xOO*C5`>a_&F;Pu&0p- z_B1*H#IiUn=zi<35#M*1FOj?+3OV&Pk+PQn?@*YXvXb)$Zp-p!QVMo?VSA>pC{4Kf zP%uZd(Q=6s6A&%wM7u%jgQi=_fE1 z^nWd3wwx;2YhJ?JFXqcwf9s=McD*&_?4~uw}F=43HEQcJ%>y_gV0(95Da~EUNad#E45h zuPgAir>vVOcOr9GZaPB=6g2c%D|S^FgjiBH2ya&)ynPSh?HNh{!hgdo@#WaS2h~1I zOkVGC#|7Yh0ZQGuw)>6UZ~=J#r+Ra3r;g?F=pNCt|P=Z~sAFXN@?R{=ZU^o;O zd~;ATIpdYDvGsl+XYX^&=z(&huG@-7%VwkC6<5CnydhUZ%4hCkn?^00**(Xoe$A@< zuweEL<8S+yC~)_6uvKwOx;)sQ6Kbh{!4eB@p>@}5&(5hQxOgdz*~3PqQsIKjCwsUf zw>a3^s+b)PiUrym8?|>&uu<{8-1f#yu5l&}>|)V#i?6fEIpsS?r&p}7DQyYiB$wGo zXI0D?H!@d8ZAx=DPW6`5opXt1u_CTu=h;IEe^CU2W*mC zJcD2469L$t{*ngN_=XYa&gv=fs@NnAr(LuBi{Q=L3L{vH8RlOEhBTZlrUGwLg8oT; zBFKmKA|jxAv%{^rv_SY(GC-x9Owbl2DCrF<0X+lehPCg4D%dv%g90X^OAD>bP&J=J z-ym~>ii05;Z!&>1v){{t9UZ8Xf60WiTRm0$qi5jvvDN$JbCgqQBMHT0Z)Z1H@`uJ~ zakMr^6g-`P&|K&ZO$@o4tU{}VH;INuA9}jd>k2iVLb(588r};nkq!#F$hvLr@2C?| z1zkPXmqD+6-j+a2s;*^q$;P9l`@ zuhnPZnSV0q<&=(9qRz2N2)f+XLSrovJYy8Yoh-4=))lLi?0jiUr>McbL)p>QCW2$> zhB-&cb#1u5zf!(mBdBe})B8rDqH5lx!-_>$g>`B^4#?6i9$zl^{0<*DV37!ZkaOO> zj5tBc+pvrnq;JXKWV9}$t1{<2zXOZN@B;#>=Sq_RNrGIenr@f_kCzArTPdI$z=F;z zf0Xa7n#^#O1Y>x!L=OIJd=bVF3)&7JJwOjQI73yMe2_~84b2xc4R#IYN-iZ!fJJ>T z7z_z?LJAti2v7niq<_OI90>$ltpT7Qu#}^YQ6l;mRsW{7`@L{>32-2MG!SzRU?EC1 z`#u|#hP@+{aBGQ!7>8t!HX!_}9u~NxgrnC2(GaPjb?7Knh2-X=1@b~k!{t!-Tbp=8 z_=O!!V9VxEZI^I}+i*NofI85~+N;_%i7ql23LUS{cobSx8ecdt95U_ytPmM&d;tka zq7%=Jk~J`HgYUwu8jfu*YN|5ISpALi?La+6`?|u_$TO6qg=NNN3!JUX)Kp-b#K#4< z8|LaRTVUbM`8C!|m(IOtq5KMfjYX#kqp{`MmOAUm;DO592gXCDx^$jJ791>-W7kND zQyQvtaD!d1k@~@P{Ed>qc|~LuSCMt_>jwA2g^i-dLYp`D03S#ljL==*bN2oabF<%7 z!`&_#4wfz7_-?TF;u5R?$4f_Lbk%%8570pt>ifJn!iX9y1uZxnmXDi(Y5;vk2G3kc zL7HBKqKDon|NSAJO0dQwg_eC5(AmTIWw~4`=QLnIVJ2Av#@9$e2w?96)^Jk=Si(P$ zU}x2pWGz|x#~yiPFtl@@3G8+%8W>g!Fs!xPkWqEq0mJ;iB<~Nw**orl*&PoOthhHj zgxU-BbhD6{O8`bR$`%H4v^IzNCkELINe#=I#;&*qE?^G{6rMF)ekO3$HDuvbVMx=< zXYL}KmxiKX^D|Y!T6?f5Of28#%GDU34~Ao=M7YnLlQpDn z&j8!F5zQUrQx7poo;wd*GoPuFPkzBI@;;Ql!Dcfbvqp8W&6U40cI$EjxN;#%j}>AhN{Bz?%{Xe6zPr22;?9 z7kFZe?51tW*iukSK71R%LEhL{`ANbN00MdA1lTr3%ox2jY;KpA$zkOMv z5i$&*Rgt90`NkkbegXp@;=#L42RHcAhm)cMHXLWq>oj(evD%YM7Tq&NcxceYAO_IQ z_z)este}&$d;UQ7eOLLakBkAbEdp}MjOnX@$tCY%)fMw2jA3{^ zOFS_pQnxE6O?AP2gh>bCUw{FK$GpV<$OB=-z)11M8}YzlC}L7f^E&hrvIpMCz`RMV zqIsU$7P*u~#H0b(aud#oc(#C`&f#ySc)b9MU<@H=Mxom{R}3k^i5u8{LgfEfV<_W1YrOe&PS;w*{e+qiadZN>zlA)UMDC>{*AtK{>guPSf$I=MK3%JeVjvGK#5qf~ z2RZ0K$R%<;AtigV#Cvb@rW2jBzz2E~C;A5m7+x+TNgh1ZwCxG_^^o};WAaL8p+3%+o(bP($9{7*Gu2)DiNZrQ$bTA6<>uxtW7lvBd}269Oy* zo(HVLntqsjULJ}ckj6p0Ifk;0W0!}*-BB}tI6qv@$FQlx*ZpniFB`H1=J)QjW;h zkg_LNFM9QjFV9%N%R##hEg3-hLQQbB&)%#fEmz*@#)xlkcC*SjwwpfMcCDH(eGqQC zUP^=2xC1&cBIyGNBn*U!oQWhY_De{quX0hzutcoDpuR7iJ|Z)+Q4J8&%+;e~p;m z6bGCT@k9o?gH&U|L7UPJx7)t*j1?sjRa@n}e7A$PAC5>2BAXY(j4uzY75t%%MzGrm zZr#C%CGl(tsD62jDk3yR5#@6CH35|z%JxiOs3;tZVs2Q*mUg&1u zW#}KO?nNqkJllW!xD0Q?j{WN<=l^cIvIw-s;Blc^}LAc}? za@O;3z6QCU4!n6?!E=Avb342DaAR6%N9oM~a$++9xu|y-wy(N~IM`iNEzpiwC7?e(9nav0=bkuFXZ`-Kben(a%-Ds0k3(^%1EPn`bXdoDR1;J1) z3WkED8{tHYPK`IFx>g;mK;(Fe_{KBV4K92ktlPjCNXR9@RjeNo6{IQE)jRW=WKbiK z5Uk~(L#@CApawNjZAS)_8tKl9fqS5vG3XysCV4{tlB|@?=x%^(UW!n@N#BjiG9a?8 zK-->NPg*c&I%%Fqa0WyoU`~ZXm63s)_)Eadz!$9@useQ51Y7euHtO>q^H*?22*3`U z{7XV7|7308b^<^WuvZRJGO*Ell!E;p5dJ`{e@bP4W-tTB0ECZQ`*%U;XDL()_p?uM zz%jqAASBEJ4F|zxG2TO`=-;hn_^N}odRC8?GUAN`USP3sYzNR%2Fg`& zpS}`BHM;qy+A1n*aFG_r!A0Q zfC0`|Z9HxRGL>)JE)VR zlABe!a%dgb?o>Ko&@K(`>V0Q4LLvu|1I9NA!MV&x12_~n`N8Yz?QJi;5fd{!#3iAk z!VkSOhu+C8T9795ra6vtNffCK3vfZNy{8zhKq~R_3$&Z2GGGh{uq#0Ttu_^GpwR!{ zNnlbhp?%nNuxa`w6FBk1x#6I6aIJUs4ruizA+Rb1XcJcjSk=E|^_E;x5C=aWf@;ki z?x=7uLisfl9B;bL!TSX^IOkuMZ_3x?9sf+gvnp{%zXgh+Q-w}V6roj;n^jK_~q-kniU=6d$@G?A>LRx;HqJQ%w7BTbxN_rlhT(C|^@j=5Uw>yt$8( z(p@>s<6~}Z%|!hv7Wz6nMEwy7;RGhgtg`QNiD|~+_U>&Aj3RB|5fc-;bA~MIhJq1$w6uw+zftBMvkGl0|8t0;rg`VU)dPgCMkh z9R_W6%L4s1gZ2PUqyPo}E%Rn^5GW+t0^a{Z4t^bO6>R}$;uM;YAtf4tZvHRG>5@x( z;2>bFlMRdk2bK)3o-MNLVIJlqwYj+nWK#R5ym`W6B{w|Y7s zaR2H2&8Lh>8b!uz;vDd?;kOp9T1D9uwKky@bBVmyZPf)TX?3PDC}PT+lms{& zLX%xg=dMa_^c&y7NxW`*2i)UU1N@S^;^2b$eZoFbl^)hCzqB-c@J8+fs21Z3Ue61b zCfI;aaVfyYy9i2oiybwA5ikeNyON;m+Mw`N8c_FNv%rxcbhG@ZHE`SD&mH_{Ruhtb zNjq$cr*x5zkVI4YE1v4RY4Hd=j==qXByw5UFw{H1aP_44^RW{gBqh4@oE*=yhfI0d zK2am~lpi;1g=^BNEd>Rw6gkD+ycDVtUoxURpU+uON9ma)#bRk;Xkm`vl`>l>3|7BBrSDgZ@FvIN$8%&_ zxIOsxHI{xe#LY~^jb)T#F11PZ+uh2CT9117I`bfGGn z3MPjitIE@EvRcrr9R_{(poPPF8SG!_+vFqAcbdhKzS)iT48aIhyx6^l&iCDB9BFmT0Kza9 zy#wZ3M4JVqGeiLRGDYa@M(q+W7)R3WlFe`?0jC8I6tOdhituuSA|K=8%+m;r+T|5z zRI`j_oLvwKiZlD5otpym88JY%m+q$#Oa}`G;(<=>L8p<_peIcPBzEC@pyoM|I7Thz zHJJ3{)VkF#pl#e*;;XU&ldl*RI=(iUcZO4cG-)>PBuI^TVJ-c%Tc)*)MvK-f?H2Qm z@vvj&T6-A{(Bgzv7*Ny-Oj>DJ`VmxE9?eZwIlP`~a#;{?gjHTzVe5mIc)f*HfcnqK z0rit`pjxxT@Ja)kJ|6>V+7wd%D@gtS1Ez7dVJCs<-?R^z*IzpQTjrlel0$a!Y+G3e zw`rPOmFwG*9f!9Jyv`N(Z8}@aSL<8UxTC&a_lEf_VvG=$(p%^aK7K8#FIkK5iO1k4 zbfjC*9`t!FtFJB)=rv=$*tj5JUsk*1eZ#br6bzGxlZX998}6Am3%)0c$kAFoFjz^i zzFY7=QACT@`VxaR7JPYnqK)W$3@@pEr$rP(xX8~2%wgIe2(DBHUyHW7i$S4G^^2gY z(lC?Fs&cq|tJStfZvkBmP(1nLA2= z!>bCK03`5z6-W>AmJzL)Xu!=gA?2r|n*K4Q{~0qkj8_$a^lj~R1Zh9|b@#8u&EJzI& zyvEm0uWk2^$Ev_}WL(HHndDv{sI~GQ#jL<@Sg2sqCfT4nlYYkJOwpxUt|C&jR!0oh zJ*syWzyhezS|c%7U9Y~gczU9U8I41Wb#KPPd#FrD!FZgaVMraow6UJj@DtXVr`<%} zH`K#RuLQkKYQ?&ErmgbI$(fYXFOo0bYnOS%d+p>*@o7^V{nm*1vUgDFs~=vBFkP}k z*EA%t6E_RhZzW6>_XQ2i;5KM05&6~KDC2|~Q)Gf=-l9;A3c@}s!zPywL*pKKKQvs$T4gEoL^ z(EHDJAyxgQvwvWIQfq#}49xI&1V7vVby)wM`CmrzES1;L3|k{cG%`Z8_FLt~+>pfA zj@T@TuP=SN-hPuvF8Vf8OH>*&3RIf7rxvT$oK@in!6W39Y*JSIQB-a4#b!hAbb+@mvsRXw6US%(7x(!2-bAm^tT~jX^8w~qgvfbua z5+c7KeH$r~_{G_JDt&t{;Qb`=v}`JbNZyQWq$Hg>LN{C=$q zWNbyC$e+LbO|3R6JG-V&WNh4it^XUcmaLG~?^-JrmR-~TibOelH`!0${~NLeBn0+j z539R)Ewd=%)vqDiHMl9_wMN~tjj;4(_4#WZeHPD+5IbI3P#g?>ZJ($ z*$J5T@6v!^pgpM=UEiK46^4;q#IXLvdxDci>JcyF$(fAPFN!YS!Hc7nE zR~Rc)x`~yqOh&@wG0`On6D0r(@enM426(+egY{sBR&x9>kn$FR*wFA100Uo34~P=q zuJK!A|11X*E8vX#%xNsNYH%;LGIRB}O~3tDGWnWt>>$bP z`A;uh?yCFT`?>WVm*}9eqv)d{?32bqr(ayayXPqOXz1ceV};W%1h z43dHh=%(~cd@n6}n~9PIR(%stGmsk_WS_Ou=mrO`>eBY?aApE&oACXfcY~|SeWM-#KD~c zX6QO25i@i$cI0hx;iXL+WuebyCwahRn{49njWnhT3a{B(SlNp01QDnSCWN6C z+g)svD>XBrjnPtUn29_z9AW1y>(lcLY_qJtZ`V?8V+VJz^B5O$f57jtBr>Qxh?0|E>Jb_wjEsdwjKUmB3>?TrAToE5QtHzfgOJ8bz4Dd zpNNk1loN|_Vs_6}v)W|}LQ-oa*KfO9Y@}P>r_?GKY%H|;)TsHd-Cv@d$dP(MZ7`m7 z_wF7y;+p~5Q8FOH-1OhWfiPvu5Qck>4&Uxw90N*xkP!+(bKQLb=K9S5_pby!;O7%h^s}d)D?g6J-pysmt^2N} zq{;WKEQy1?(^`wU+ZvsSz0QOA<9**jYjKTM+`U|ew)3CVnElL*KbLBPW!;-xE(U`d zxtc!Y?E}Y+B4ojM-ra>V;PGX-R%1x=RUYor^3-qt7!;8+V-CiX<732*%nR})2c-vl zIN!B?EQ}J3V7H?e6*sh;H!S?K#-FljCC!yV%V03zHlpt%alxI|Bk4WXt|VY|Fi9{2 zVDZ+F&({zFpFdCoKA#2V5El+rHc5pln`MH^Fc!Bm@$g8J>XB}y*)lX38;3qXKhxTz z;_@DEu*glEL{B^y*i9yazZ5aab(f6Ix1Ort90Yy$@rgi4w5SDHPp9`ZYa11)86#?1 zD|{*T!7lk^x3^xd;PmLQx5w6AdZV8n5e}uNGje;0)@gk|{7{r%PvEs3a-y+gYPxLP zZR^WqMbv2j9DS$(zHY&wcaha6Z>`bFab1hrTr0-%f66Ee&TR=9wSA@4+bF5T8_i|C zY_-Qf$f1pr-P;w_4-u9#-Rc+A!{2VJejqfu?%DT1JoQ$;2PPn+)?B^MEU_)&(~@!EpeVCHLf{jasxy>&1vE;^1D<+imcSz8Vqs=aij&xze& z{T`>?mZe`>vp+QLqIN+g{B4rz2Lhu!vp!bw=xj~S+e(@`W-o?5CF%nq=x?%ewK|TP zy;%Fc5SfJ+z_yoaE|%1a$h;iNP-OCCtznbBf{vlcvf-ITZ#8bP)IE)IrN(5ufNpI` z>Wisw5fU^2J%gpf>m3U4N*vPh&b87%Upd=fI1duIK+mUbrO^ru!e-csc+GgxqNZYy z>G(fk<4XE2E78&GuO{@AfVAsry+pXfq(tw(3>V%yTi3Xf92c#p-#XQj><`nkZ=Z|1 z9CwL>-G1iG?u*K2JBjR~_A~z1weG{$9cKIDos-yA>}Q^~TO8rXZA4RCml53ipmhwR z=C6F#1b2ZDVm%x=~QnQCk7}mR07t2+<^U!Bfv4RCybRId+qJhHqbjwfJy+Lc8 zz-0Afen*xEzJNe{{4GmoE1Te}#N(YD(wDkqY#!yj-j1+oR=>_Xu*^u*IcsD(K$>5h ze|Vrm`7y6l^}tcsH_-qG{H7VM=}(_)KX-pdyw~w^J+pOzg5)O0L&KH9&jIgMyiCq? zT+k({PAF`}$8P#m$Ji_IgU=i1h)BPy$ zC&@FM=;q=BTuhYJ*h+Wz%?k#YVa%5*s?1wt8a(ocFV+sOf)tAJyk$|2p~Y^wPhnWW zVs=1%Hc$|#uikx;7dJGx0sfcfM%0)fzO>}pSX)!QuvlsH>{|> zen7qP)oN;f?L+erJ)3Trso5Hf7q66+Qz@}dok8vn!zy7Gm$clSV)O7`G4X6Qh^)Wn zfKQk^Ov|a%m8GwY-!^?Iq_G@*_l#xtD1<-Mg|>0cm+dcJ#Y=wxhJ1Ua|R$-tTtK_j{sX879g- z9a{c!dZpQ=($9-3HE+lZ@P1uvNMk8}m~OS3%f;!QI2YghedIt+PA|iSp7S7rt2pb6 z->pDOG?+;U>ca!0c$=yd@LCvYpbylm&_7-&j$t;*M5;)45(x#FxiEKH=>vfm{}3|} zJ&^e{_$!ILQ2@rJtdJg(a~~;wVGiHMq^%a|qXXYe`xsD9Cg>TcF;|9`q*{>zJwJfw+ncMok1T`* zo{wQp!RpG;3Ux~4T$r!qs|Bgl5H^hjTcdjuE%#cZYgz*CohneQcrSJg6GL?wRA#m` zRsAvbb_$fC9Z3N2B2}bbO}FBjX4 zx$Ktg%qdtj&K-E1rlYHcnai?SU!e~+xLE(i0ZVkW7WOF%#)~bP$obMdI9+oxv;U#y zz?)rds)IS7e#DqQUy(G+tiLlN zjL$?J{;`QDBS;Yq!Sdo>1%dHcD=&{6XWzp3}S7431yUxuxL~nqyYhZN?BQ4 zR@qgP7Gh{tvgfUa7Zs4LevV(wzA%=l49i!mR7uxF$W=X8hG}ld%aoV~I_*;D6~6Q+ zyf>QD(xIiulGrQDpg}BC<*ke&H!cD)Y=bbj=z4fg3sFXt;v8+b%ehotk<2K?!m(}+ zDJS+?G7GPRVc=VP z3>c^^r(j>7e>Emeu3bDAZ?=js5pZXB0R!1u1g(RPa{_fHAQIY^{9t-7&Lf$xNFg zUIcWlLA>}mo@qXbyi&zT2h2F!f%pD~ybBHs&;@u7e<26`vwZ^nvl#rp>mP^(l0y<~ zY&9p{x;rPLk%zp2NremIMmj@yt35I!vQV<=JT*cQEAfl0 zK#w=((@>=51~&Lj(HTxn0(FF$kgZ-4z-oN2Y3{!;N$Vu~h11fEQm zkMeKi9SMkQOpblPK4PK9$cj`%XIPPQP5q*t2pf;OU^b%pj<_-$>y9fcp~)K!2m%;pWg# zp^^B6{fPw7&D2*_DpS(=p5FknIsj2X?pcuBGb16-I~oXiv1(Qi`K|0bo>c`0JJ_Fu zR*1B%uaDr$n0a4>C)Q~)q~aZs;Svl5M1WMjoCru17m%PpftA_Q62<$l@Vi*F{UQN> zB7yG{&g*K`YeEC+2XbKV2S#uorlq)?a<`=*(@8l88d3rFFjN05S9FQN=$ICJB8LcL z@KKYg98i-o)ZyJ2pmo4Sk$`(dLVd#Iz`$~Rj)wai2?E-4hy2|8FbIJtw2Qr*vaDc` z`5pBc37OwrNFVos7;<{t+2D=kRd4C)QM1nRIhr4s>M!JP0)V?ysE#d z^eLnQ&?5kyrzH>o6+mjQ*F@X}{X!`G)S*+YK)&p44*C41U2Awh#%~%BjDj>k z1_lNMek5g-W`9w`PuZgiK>8l-27`ty;deEt7b8kKzr^$P17yiGIFkF`L2fxp9%V;D zP?P*!2*oHNyf|v_7s>x3kAD(Ez9|OI@ks39iS_&rIpSKCDvg?u`tNQ@Y9HGoYW}+b z_kXd#r3h&LYhk}n8YSZ+i#(Rfu^Ik#{_}*n20xwQFY~9)Ls=ss911u&M(&V}fJl^b z_pD{m#>|7jAXmHY62qu!c{)fS zV{$DipE^BpT#*lQ(2Xa7Cwqavq%D^{M%Ax|wSis0mFwbnSJIMj-X288QJ11BLSHM( z@NWOeyIB9IdC1cpWL19kI!N6=VIUBAn&t49_$;kh&^_V&p?~&WEC7P_njq{Ez%}%M z*_S|Jr(amBo^Ld(&@pGkRbLs^-Y+(Pgg+?vJF@v>_k$Fy74s|TR3$n5F&a&jzEP@& z+|I$XPBq5|g*%YHmE`0@4hW58{#EY%cq>&6{{F=()+0v-nnelV2+95}?C5s!{Q(0< z_Kq@rXwKzAUzqwK$NS;={p!CPeHLW&y8la~C;!6*LHb)jWVtF&4u=Bn{ZUFALU%~VLIXn?Uq8`977<~ zapVSM?SFu7E)xX0;DiH(AE>BvWB|W{uA03?>bYMW{}1(-N!~b)IwLv^wEan_Z~y3a zfljq7DMZVsH7oH=SLGG{tr&7lftZgi@i+7zr63i0U><(Ag~ z1gwl9VKo~3J1Z=Lto)a_^hX4602w%BffkSdhzI}!fD%w${Jj@KG2*Dm&Hh<66!u|3 z*njK*C|>{){R8`$H5-46j(Uv&(gNW7Voeb1dCiB8Y%Hmcj^@ALjJrGR-^A4;&o8v_4SYOx7~l-S~#HtQfOd z9SzysvAll`K^l;^9}5MtxSv>9E>MaJUZuBwLn8-x59F1Ri@!T$OE%%Mw}8s>%31V< z!Kc6!WPP4G9jjt|T=}O{%x}sk9t{Rc3eu{aOhkU5VyP?&6OWPdKN>_yOpkKg%7DEL z=P6jONgA;9pSmU0TnLWj_P!2?hxMKk6qZMf7qTII!pRH<{YY~8a-18R?-srRTR zM5^M9rsTMc8W>iT&t*3HtEtD2Tuv&*6f2+BU%XZ9(Nk#?@4-!WPTVMWf13%YKPQHC#C7a78Q|A~kh3 z2>f5=qJ>(C+~vnz6d+_g?&cQM+HsFSzz4*rR~CKupyFQ{ljnlzZ3^hexVb3Op-<(?6KGP~)s9z&EAT+^ix`QgQR76}2q2GT_6rH% z4C+BM2AbE8x$8I_Dwdi#^re^2G2*V7m(R@_Sa!{2rQZUg6F|Rentdy!r5}DasS1(s zORZmI^fx3l*RF1Y;}Ko){@I>LarvAI5ERDHliw%uxdKdt`Sb5GJ4*b2k{F%3E!EL+ zK-1U!{W0v)2P702H1Fuoz38CG=dA=R0VSy4lV`?Y?aBIkA~#+ro~OGLa`n>fVi$tu zdr5uCQfKgCXYilC_rA}XNOGIu3|2AQ-SV4drSGR=7=Pg(Yx74$nsT94yZAK1d+v~q zIY4cTTSL0Iyrx+usa{5;AWSibhJg88z06}ZHJPZ2{?agQ!n!~Be;JoB>ZPtFN7f#H z-+`Q3*dnS`BB+Vu*3dOI74P=|7C(W|89bmoB5WsZ_&IWynnP0VaRVQ*SE?~P%lve zLX9VP$+|Gi^bbLa6ez!ni0E#dn%4*rjerxAWhr8-<|~t=a=1j)0!M)9wsbzi*DFk+isPe}bWp8@H zOPW28Ie2O-DV!p6$6Fg{`fSqOFkSnuD3By%3=>g=Npf zou0sD3J>JQ>S#-urzdYMi{Kb?Wode8zHL!piRLiN*^tfkz}U6$GxqDvf~D<^@v;j1 z>kg$Mi`C90RgGWWHgmYGor&_SDfx%pirni$z7>a%S$I^rzf(UPk;HbMQl#Yl5=!kp z6(`xg5o%TNwqz8xjV87yvmaWuI9r{oyyX&`pEms7Dn)WZk%gPPG=CeWt96B9PX2qr zs2pa!g8ML=MdA5;2PJNeGp^oVqf_^GZm^Avk(QdIex6)hG&9+IC;4flCqR&GIy6&| zZ89`kknL;eTfxFcYFG1tp5VpiOhMZQYLne2&JgW+YVMo1$swQCnsNng8>yXkF*c(! z+_&3@Hm7bS*fml6?Ka_skj+vz-n7jLiCbw35EPlF(|mg_BGz=8?v7PbM6BZ505z+^ z&!Ij`CpqIyV*3U! z@lD%A_=9HZs9g;BD9i!Qf3q;TV`w^5$K89^UYF8sl>FQL=P~(FS!b)oOX0VeJCz={ zGe5Gc$gJi&TgK`9Qtt?n9_Xrf{C3gUF zD8L&7zIJZnYgJ@x@W`>8yzx?guYoaG&9~N6=k?lL&T8L^FZkW6)vntcdpIGK6dvx# z^)C~XEX$OXLi@XufeOgo9f7t(_}Evstq()XLgO_L_shnY#;f)bWx^E+y4Bl5Q2~~T#ZEr74AJiNk9-45ioEkYe__{S-eba5b z$W-=ISD`){o)RDPR@rB|DojhbM8 z($%t(wiyuRyuPVWb3Va5Sl2g@N1?J+Pw^|aXGXi*Q~qIT%oRz?ou2h!TQ*NQQsk)y z8eVDx!M8Q^%alT&kh|OTK~e=0*=tjQ3pd?%7e7$%xR-j%J0cG^h}Q$)lCDyO2^k{` zAJP@B)u&Sme)2@p6M2y#bTQS1R+S~UYJ@!YYpyk@Bz_uv`c?AkZe4bqkTZwpTrm&t zUN@tg0rN}zfu@h_3AID&4S~VxdaTV2YCH*6H%IMW&eBvD5Vq%$D)6r>B-C-2)(&wV z)Nj;$p{agP{Jb$eHr;Y(pMJIZ5~crss7zzgRfz+n{pAGP%L(l@_PfJ_nDm3`PFq7k zm*k@rYLa*8-7d998h+1TogR5m{^{YaK%Rskzd5Yoov6A%Us*Hfw#5~v6SFvaB_c5lViR3TRnR}LB>W0|e* z*b-U^{hsYPfiC2+y_&v{48f^!Ps^G0bbjdOwoQwiPv6@bA7_7AwM)FY<>%+uxQ`?F z?)Hd4jpzPB8S!oV%EqY+%^&iYbq_aJLd%3GDV%*4ae~|_oobLbS3NeyDFhD(IugP? z_dHLWIDtf-I-w|g>NLTLGbb>>cd8Tgur~ea(ze)V-)DCF)~9>u$E$0Qi(j`AC_O5Wv$LM#p02wIEXc3O?bQSvJ>=@*z~0`n z!lMt?;~p-%^IOX`$dxbkWjHls;1-DG*NLsY@y~jKf^G+Ehy42;`8Ac>n|lL$TSECl zyK6i34>@9Lw$~1OtQDyJD66q2R##Rh({Z*ca3~MAZIL5eO;hubzX=~&*Ldt6klO66 z>0?x|EY}=PhKwh8KHOg8f4#kz-jPs^+=`j)q1O}Kf3V$RjiWb?JYX;0(`);F;75<# z#YA%ZA`=uj=WSJbq7*2r1>Ib?x82Y3)cCWF%#^VV6E6$V$d?{?4RZ7l>n$Vq3C^$< zT}E<-#%O%uY;UFW3>~_818a0+!%s-?V85pa$?x2kKQrmE>n1pC`BFh|aib$D+i}%x ztSxfgd7xFIA{n{$eL4g#z>C~nYaAa(+Il)54`#O3^A*OBs|OQghg+B&vy`vwlhavr z54W#|9`2tjzWTlHdHxoqr^_&>&_V)N5gl%>nU&Bea-DSVU~2EfGW`~1&DK_e(5W5E z_3zC{=ZD+28x!s%>q9{Y9X+p_ZV_O5Eg=skCMX||QWcvK)KwwfkW{7<&$m_v61GC8 z=N_E1L~iQAZTgYa&7^{KLvOY7`-x6j9_$=W?gjAQyYKGok+-isovQ zXD4qv)nh%5dVC>{UgbWZfSM3EZeH@8Ev_T{u^-d4Oe5)ONO!E3l**{7=kVXlH>`Q8NK z_SyOi`$#mxByie=tc=*=@%ahs`)>wITM|k8gFy$4Z~8P}i<2fA^e=q2zF+2cy5da# ztBjNtui-bkzWs9=O6hc&Jo`;qD=)5FOSOCm`6Lo$BrHza{e8uYhO|OP^NUE#*aKDK zEREfm?|iq3-!f{&Scqzpd*DWO^~0!CtqQLzXpZy9$X&IxD&*r1jGwmPif8dt5WQe# zv#rz>`-HwSxE#uD#dhqyimi-q!N5vPbZ&&m-+ zHve4B3W;v*W^Cd?=my6tL~*?vQMUX-Us<8a;ot`hq#0Pp;kU^Va zwkb`V)#zHg@!3h9iOgfFxo7?Q8S{>~V&45Lh|a^s)#aO1=B52y)fGZ_c$61;Pxa;U zd!C<`Di<)(eJMnJVOq*X&;)CJ^PZXTQ%a8%n-zzLuMDx+0#^(&V6Y~P+K?1|QIj%s zGq>%~{?|20a^M%MuTbav<`MH11Kph3Y;9O)h)h|>DmCT~QR);QmblMU<3=E!S2o!~ zKOkh&HGfqP>3&>~n;-8)8J?bKtZB@PG(?w8E4ug|n`4(Y(|kLWU_QT93YKZQy=twr z8_B`3zrDraE_?a1N9SFOWz3S4qKQUDacgPu4>(z*XKY>7lW0fJ3muYw91DBuOBtfP z8Og!E-}Lbi11BeS2a;6CdaS1M?uys0^=3xAr}Ck3-Tw0nBL=7BiY}%4-vWQ7F0)&3 z-9NngT#diNdWNYy`&InA$Rr!*+Z<_^LLYNbbA2rh(R><b$N*HFo0vAmmBg{p3*dNTH zWhcCp|1fqE*VBt+A%R6wsCt{d7s0_Ck`~J0o)YadOS5`OHb&>msZ$B2bYaFF$J)9ayBAzJ?4<2JgP%ceOOz}M=a8h3V>UxjU$AygF5fvlbo%_u@^qzxeLj5jJLJAA z;aO*=KaOWs3)w|yw+ofEvV2w&WxNLn(cB8U|n<4=##18g$A49 zE05r}ItGKt>{?c~gJ2y*N!vZ#~8_9OZoTC?slmux;uT*VWvh>6q+@a4R~ zZ|W>oJeHW-_5>?}-ZEFf)Z(cOT%nNbz3lugHg4fmhZ8Wxz6|?&K13NAy;6CdXeRG7 zTP*KTzm<`Vd!?LQdNuYu>0or!fy8QnpTt4tK@RP5BgSN;5qsM#{KF7b8``y=O>O>5#?k%JJ;J^`+^%=lZLR4zS?;=o z%uBuHw$TUe4$Hpf)^Y8sidKsVvnt(N=N$Z&JLl+BkH?zsy-+NeJv7MSb`rN{9zIyFo1_b%DyCsiv@>CkRm zncE`xGLw0J!x?+eHuF58W_Y4RAY1P}CEv>}EovDBN#{8ov16U?EHlaFDcUb;nnegL1lBGqKyBtrt(pm+$IFMM<$sS>74MoVPj? z&$LRmT%$z9ZgT~bKIaW4WtN?6_}KlXppe7rZH~fZyHn!n}cO$H}6)NJ`xcu2G`UZg5BqXv=SPE`%oX2 zu%ZXv_hdErL}C$5oyNA?C*%j;dFT#Gs9C*ZI%H0<=SL1UdTNVU2=3266jVK78-+mx zf6{EqhMoSfcgcqCes-ws89iq)yLz+n=@di06@MbkUW$udwy9mkcagP+`+E?XN z&B7wh)UR4Y3l9S655E0s=msE za~E80x;M)D+FBaH))rx$K+pD zoy!f(t?LhVO2ZE~Dt~c3#@I@8VB+SQci&w1xfr`uC>ira1;bdk>T_}sn{+^IT>_3Yq@;o0O}t+PZ!kENNW z@j!eJ5uv2*Is+h=e>Fy zHNyRj?)`#{6VKQ8T_GtOJVHJ_SDe*VSpv!Bm7kcGb~c61(7lIe3Sh;=iCLH>Zh70> zKj)_srv2cqCVGWUo|)+8IcoO3eV+c-$@E#jMpy$@6&^z6ESXC43e}qVdx4Pl5Iph= zW$2Ia80eC1u(~iuFPOGGe)?AEqnn!PXqe2N5HrWadRgu>!K%u$iMomJOUW=3m3#}^ zVybFObeprBzCBmH@lZ7K6n&ktP;&gWE};_n8B9XAbJ6hy2?8v3K75oJTouvG9H*p> zb}zNvTJ1gvGQN^&FSKQPMplYK?xpbizJ;zUH0q088&fe@UY+g6AuX$M8%`l-s6ICB z$s4e$BoDC<@FPyrY&=STwI-)M?wV#_rO;kR!Z^*aRo#)B*?C6Qy2SkOTNlQME6=`c znA#==?aZ4$bLHSoWz{^-!P}K-CO-9sUH<<7*gz-0Dp}cEy}gdc#gu(ATWZ|Zqj9Nb z>sF(=DK*xzlK~3DnQ1C!gluXs!2xU^@8@K4rRB2sO)jq%0t3U6vKn$*vmw$_mpA0@`$EtAog8Ois-;4(pGUuRB2{f zj=*gjPv%YdGg1)!$YZJ@$uSZY=cSWK#6YmB>UAUt{%>?9my5CZqk8T%(hCr*B|FoV zF4Y`&t}D%5vF;Bw*#eIBgVFw!>+|0ii+sbr9;$ zmynhWiL3YrE{4#X1URh-Se*JUqhecx^MgRe#r|9e7XEx0ATP`$^Q3vL1`s$)aLza< z@FJWA1mZ2$zlJ+Q>c_bt!CBa1lD62>%sJF`P3Bg5fNY!D>w~oHAOGD`s|*aNcmxY7l>orv`{mvk8ZyIAR=%rXuc1 z=&r!&Kmk^b?r9bPmJAnakV(@3rvmp?xdCY93X1CdB(!u%wb1B?%$p-oY_>$AI&TZD zRUpy$VMd~Q#M<8ngmQ)oK?W zt$-oX>8(`Jt*j-0TMaL6(nl=yT{c{B2nrU3OVV`r=B^$xa+cPCykcM z_kax&9Wn;J>-ZXgM4qpJQF^1PM;nwtl%yyFQBPKF<2_oO1fovgqkSbHx|ry`!KH}n zdOOv*=RMk14TuivXSBbvuJ_Ca+45l!e=YbRSjOu}z|bemkr)_WM~5}~jPzynS*!GX%Sta2!xVze98w52 zNtQyeH92mK9BOL49nji4Vp2kka6*&9?X&r03b)bNplam9Fr!k(w^R|qu8f4%fT&f% zzZ)QY*C9~_G%gaTZku*KvY^ojZ$P7#z6u(Lh>ylz294t#*x(^_JzgxegV*6~AW);x zrVcG##8NF4+U^F4IBJ9$K*QH#%kRV%q0I`cSR6)<6`fko@Z%gc)X0MjHY3FH9#w}H zTSkb}ol)NCYL@NNAjGO*SEyBk1-p(P)DR+dr-^4Wgjf|HXO9+6^{f*sn$c2sEKVK* z_$@V9>)xO^9MUy5p6O6I@l21`Qf*qSXjkHXw?baGq+aWrq(UJY&7WuF&=rY%$?Xs;v~_S)IC6CY%bw}!%{eIQ+?tI?Lme!?HKgr$)<3ofnoc( z-@-IBYnvIwJxnmpb!2TkbI2g{t^;dPq{j>VB!vo+74mpywt!MRbBMP0xco^N>GU*N z81?jGqJcQGt_as5L3C#0nVwWL6VDvf(dfa}V5G;(=t;6djv~E&HUWCy=JGfS6bV~x z4vK_ZXP~N0cSMA56p)NX7{}Bq6aSH=v*?Q;A_2qu&c4cCCMv`+Jt7mwbUEobrbna) z>5zyrkerrsc|D#6NFtF0lKO6lNW_4o69081$Ut&FZ*+LQcLmGfL2_aN|gt3V=9e_+3CNE{&qm6cf_-VO5uK*ydyeW zjz?+{dJ~y2T=bUM<~-PUNtzU2>#(Q@DnsO~1vH|9Q7cnt*V{_FU0W;KYZ(igTPJLF z`Ln{QEDr7))Xo{84U`>27P#zk@7V*$vDk_Es z9jeB37#X2Jh^@&|b$E@9H;xvlf_@sQpiwF+oy$sQ%26E(QAtuwR5?jC7UgaHkw#)@ zL=0_=;1IZ`Lc6M=I;>5EIBaOpqq3nvkIE*g5*0^vxvZ3=>hYgx%$rPxqq_K|3=I-D z3QH~ZsG@#TKSOrUWIhK>p>ZlMLN#1BsHbt|QM^o=s@v0J6CKRmN;&@Xo%v!prEM(* zLC_>>z>X9Y{?12{4Y0Fa-s93Gql0D`bhaKYRB0Gse`#iXb6mQV=q5Pm>ap&&qaoVf zGb?1+%v@AqwY|sXt(K+g>Wh{Y*EWgjoUX?OivZHOWM`LZ3&v>V!?(W>a52E%BT zGC9=5O5b98Ma0ffy>qAmrCP_6;i>zEsOr?NDEr9!ihT3lx&*gL}U+tT3Ll7QpcM1or%NeP{(Wl<4-L=7m;Jj)$z!3M7?IpXt#GWb}_^ zt(X*2w|7knDNGxm8+q|A!E?HKBx`;xw@`< zE7>5A{SDFe9#=ToB6DaIS1^eZoxaCqi5{Q|w_f+S!ici8#N>UxKG_Z{BNq@Kv|95+ zYZ3g&t>bjK9tb+rdr?Mn{krP}ScBZ#twV6(8->YY5r*J2(vAPfFqv8yc8MV8a@qss zdzpyssOY1F9+A0D$K|Bd?I04h;p+Xg=9uerh*L&n^BuV9c!np!R6CEnip_O8NK_8N zMIwgCRG+_&1R0Srsls73CD~~t7l6#%rc=WM+9TptFEd^oBi&J0zVHg_EsRZ-P4=wE8CK~<*u zuDA7fXpaI_6$QW(c_yG{tJ}A2LrW96l$Hu@XFx7xu?LPV=M!6m)+1tT#SY+EmBsqc zkWJ37)MG?elwi^fZV+V0LA7t%p&ix2Y;=Gx9B>B5OCL?VtO|C8nlf0hYy6;cUkr6@ zDZetL?b07td@|w!z`}a?d=4Igg0XKLDkr_tp>onIJzh4w(xGzFE0Ib7EOQfp&2X}`7EbURhN>mwO#Ud7n(*Yv1IPUm2utKWjKs3S{z{1+(T_;*hT+GT_ z<}0*BMWv-jYvkvaR%mcCG@)0^6&h68>0BkF;(<6aG@f1=%Sr$%_YH+6Jb>l)poZXR z1*&fh!18#RvxDzEs%EA`VYtE#M_6v<24RtU@-UpeF2;6vkM5>KSX$Z5MKHL$F@)7D z8+~TF#}%)Ju!bmm@B5TG0>+Fm8@N86-X|mE2#chEzw_;mx}RN>vk1%S=d|3hI?=!+ z!lG{(a!SU-5tc(o9-%;34jp-U0%19HZ=Et!^AP8P$x%S8a1Y^DXXU~N3SY${#8)~h z8UHckE4?o45<$91$~h*zmx&7a$|ExP%H^c-l}BXo6%lcK1zEIsvxiPJUBj$OG z*dm_Cn2Pcm;=m_|%7ITFFMHdjLuF5Ip9`5n6M2;F82m}?uA_m~z!TP00Z%TKIh*EDnTtYky^`RGzAX8ZD>N46A)72l zG8hh?oHDckcKe{Y;3T&PFV}$MIuo5Ui;I-%X9J$RzOh$r4(jK39#u0nhtqPWQV!#C zXSPV!TWhd|=Af{t0Z*iyW$yhmSBf+vy@Q%NB`NM%;y(v`szWE_mgx~;gH)xgsb zW$#^w(HzoZCdi`OOO3IT6>{`6MB95@`jlSjLBo|z#;2Ul$K^_*C!*u%$tlAXMSM%% zo&rq{A2Y1kTk6H_`gru@~2})Ikxp9Qax5tNHYFfS> z(g}Bo>th2}$cO`~#G4^1+jMwvIGW=IM1hx3l1IaFro9}#XIvSEpS_IMb)iv;hFK8@J9P9&=0po;%KiwAlpU!DCMp8_@E)H@TPm^$A+wBq~dvb6DmT(i$XznMXAO1;MMP(i+hUJB?lGdx zO8UyBGN-wGDjnN$sdQN6Fi{C`2HEG7=_0+GBcH3P`Z;azjueCIy~r#xILoqUaF)c&;4Btx?t~j73|wm^t~^ld?k#>$?1a0-wFJ)K z%Jg(VYuvW58Y=U6gKPveqlR;6W*QFA49kXuyI7O;6K*Rj0zfk>L${mzg?hguyWAF< z;grE%?YqRH2Iz(zOMX%qe;>Fkqr?27-%4%|jfH)=Q2nf6b*OJcM6gxJ;AvR&ui+?<`# zkr|gmVAU2R;}*~iElEJLRL0gD^X9=@l3iTXVeSEa=aJ3zePgR+(&EsUcI*I}p==VG znUh*RnK`PJRD<2rNM$u>hJx_B8q@eQ&_WBEfEi?2qL55W6q0R;!el7?LAJE=@IqQ$ z#OI{SqA)8jk4AYdB6Up3d<%1%CaD@B&}Pw0#xvdhw2)NM5cyGjNOT6?iuADpKuI4} z0LFx*u;nbFuZ8Q$(&f84hlv!k3Wl&PH86yWkaz*k84LhJ#4x^KJ6`C>eNW2^+YW#y zllAil0EXOdHrH$TWI8h8dwcfil*gyL4n#vXsmUNq>S^48jgXofy2MMjA5P2w+T*mjA8P544Xu2@DdpX&z?@e_u*R7-XfMLw-% zPZ91hsuJjm!j!kh_I+OZ4h@&eT$-4uIOv+Qx56~&@+7noF{G-1u1Hk^U6F#_oG4#0 z(;1Ja*c^d3nvv3~Go;#F@i|fquJ}T;G*3xg8kX>GCcg!8s_#$q+M;{bw?&GgK4(ehmI6S<*vwxtur zSdoD&lRbQ7FZHZvDI z(mE}}W>`ZFnURh1msm=?&hZ% zT&CrD13}X=AO)UKY2X%F8qlGKt*{(f9T2RYk(WJu@&f(?GxbM&g;m23nu6!eBtF!t zcxJE3|93LZP2Xq#D1NU|FS$M-b9l1oIt{C8&Fhu9PN7kBRd+$sDrsd6`I*#|tJTIsAu- znLtGwFF`$WE4QeKUVSfJf_j3yN~kFEVc>*G7B2l$tv*GTl{~@7wFHW`toI@}C5NIi zj~t4MWz6}#u6Du=Qm{^7uUo@UeRJ3CkWRQuT#K+~C*43Wg+*^Ng>zSGC4Ga81hk>1 zb7*6l4#6la8y1X8t=2hYD=Pv7qpS=NjIu(IX>J>gik!r2VGj2Lr;Kb)2BV5yp@UHy zyW-fXkL*kw!*b}7@eDbLHQ)HadUr-$pMy~*JMElk*qst4H;t^SmK(Ut@#)DD?hi7^ z2K#n%-s05|amZAQlM95LXe7(ofEA&W5ery@tOcw|Wo207kU2NVlkk-*2Q;CE%v5>(UbMYP4 zkfR51>*?HFUPv=>71vOOCFcNQIUbpIqXE}=WajB%nxQ$YneEJ{V@y>USyMIxEIb+n*gsor=)|+9C_9pk$a4g|!o#1-@35WJS;6V}y<+$?OP>x6DV45L=(bJ?Y zHNd=PP4l>XN;wH!zNW!#my_0JRlU!1HNUBWh6Wak0+u2xgHzivGeK(tSsaHn6A5Yb zx&QzIrG&rNsK-DW`R{s=X>KJ*qh-pzQRJ^fHRSRjr1|ruWd1&y}%EkDH+0K*)xQRWdgz& zVU&X17-5#_ro?!0p0wcGA$@R{n3fR?To*w%(mT(~zCkYR#bxC`zD@PelgqPmKIFS0 z(gXOxj;uYpoG)viEoRVf=8#n6!y2ITxO&q9v-?j|KvC-;ajz&dhJl(LIQTz7d;m9I zYrn92mHRwJm}o|jaUr8?9a*~sPerjfcv|c*&C^|ZoChw+b>fu0cFL03*1=OzhBM-w zljUq&2+cCzr#=~r^OO1uvh6aEnnT|t&7Q%dl?F#)H*Xg0iZpGoXxI2f?Jee{c_ma; zYeAY<1gOGR2~d^F%Am?2^I}B~nU}}skio$jISK%(kW7Lqd&J5mvq!9uOn@pZtAVOS z#$rXJngUcgg*5IWlaAJjoF6yQ?V=%MplY%hHM(82I8;GZ6iubH>7+PC z*{c>s$Pwa*&F|D`7u)R~TFaL?Vk> ztM?b)U{xY?MT~jq%CsBM8Yy6-JzG#F?;H%n#WZ43JA!~uYQdt>&Ib>c) z%OkU|B2)K*w~#MFcS2go4gShU5_HHBGWA?Cdy0xwgP)?pvKsnIWDI?gY6|q_6w<&e z^c5*H`kE@&4Knp2Nk(6zNjn~EvO7k$d8>Fu^KbbO0ED!1rA#3#`tr#1P8VF(KxE`I zgiPIK+9cF>EcPq6dc6jy`qrjUQtLBsY;G>nt6dD=_5grR38cQN=ca|Ejb>tloVK&lD^7PQcqb*+UUl1 z!jrm>@bKe{yurg?JL78Sr-}beVIB=V@SoXTm&Vz*Zy3*(`oP#8@e#L$>YH+2xm5Pj z1n;F|8|HDTl=O$G#_a3ErpaiYjvnjtJ1$qX;vc78D`%=jUd-25TSTvs5A(V6Uh4W* z2L<3y@q^O z7VDEx!O8$oAr^8coveCWs9>wyPaVq63>`RClEF%>fTH<*!6P-rz96&ZyiXh%$SgTs zvb=hvrYOT1)mM1nOO3}_+)q5L-uHCRn#7`(>t^>^4rNkZlYWp zwA?KZ53pum8VG+4S3ZM@eE8$r_lGYB_n&@Qmq53AH$unvTjg$fETi3WeNv{0|D5xr zG_2oE6zKrGb6NZzqblV|QElb39v+o;*$>rLejpO1vg~=cJeG+>shTi1MwsQIrME=_ zjL-?Uw?jJNE^#gUz>uCyf57F3v*dCbd4p_(4@?c`+vTR=uw9O2bsrcoU2d{|t8!&U zfRi3p2JnHc5M-F!`oNKsJn3P%lM!-PlPpfUz{RfME^x6cj-3{sIAyP$vSd1S7q}?H z8S&0%#`TCL^U4Q36spr{Mr2==Qy*{|d_;MDV@T}NNpF{R*{(=)2FrGhUsN~DX^e|5 zaIFbs+-(~tY%u?+%9!ZLwgV0KG4(i*@lJ$etDjx#-cqk|GUtUJk8EzPQ%+{jxwRvG z0EDbsoNI^ox7Gd^8M-3V2~x@Qg`1260)Me*PW7j+s9EA_viK=@aPWLZ-t*VKKG|b4 zf(<%GXYYu;<_rYl-eYH zVVW?s=k0MIbJw1?M@#0cJ#W!6=}(8JD+l@0=~0#V*rjx#V;Sv1>#U?E{&PMQrLWxC zO%&upk0uNAYS$j4VlK2YrB^yxb0gP+M}`;_Yzh1pj(J1=Lf3w9< z#eTJ>V}G!N!ujp&wex6BOGlO!54u+G`L^|5;0MBkjsuX_x1=&n3g}+_WQGjsrLSOX>ckyD&Hp_NJS~6I+Yy6_>6;rR4bNDMwNcJl> zh9m3Q`UpyV6YLE&Rd~G4#xP1H58SR zZ4alAre~Fg;ZUaD;O=vte1xkTKL_~2^UlrXP}Il@+<>fc;#a;!mAV4z~+J_GoE7&@QvnZSPXA=Q##8tBH~ou4JL~xWjXY+j-pafkf$X$1?J`_3g<4 zl)^=?IcH0w>s_Saw-C$$D@spwk5QF8ZtrnTdqI)=1gE*6$fGjvz$dwedfXmYdp{9U z6?3&tumq z+%;ittT1roljnG=iSiadD0aeK;#zjVQ-(-0X(yw_((%A!1B3@oP3IoCX*zh|ST@W9 zPmQ)o-bMuQ#jOnBi(4VcGPm``ZI$~D_XDTw&?!4AcZK%FH+IFb!<+1kd*H7fy3?`@ z+AH5E!x`}@C2rv8FdsMvN1Pm}jx4O~pO1Fh9NbvK^<_@x2C6_Qb7NcKuCc|{%nj1_ zl7n7vLo#sTp(AgRx{=DtsT&TNm%8C`({TZKF2f=7Jaig_0W+_c<5MG^UxC+ z^UzTPikGi|w;jpSs)veFIrMS>G8zt_3rd2NdT zK=UU<%MLnx5qxv_57hlE2#5~4Ztf*jEpM_VYZ80Wwh%JBokE(j)n2qinL391;;A>J zgYJAz?S@1}_tKlxIDcHgAuo;_T&ffQeL0T4j6Qxz%e-`-$<(z2PKw7fOWq`P-z*h^`@FO_?ot_VJW&a6d^V*N1=ZRkm#gu{iK@K+jZ_7194VMroF!Yk<4UJb z@q@BAUaj|h+j=iD%jAtS9?2We;w5jqD$I=|jC_GvjnVCpPPj{4OWyc+hwiEwFQ>2% z+0OQ!E1dZT8F6ns@n+t*ZF<*H*)VTBHCms?TUimh-jSgrTNQcKWg#{_gy2-U?^Su= zwENI0Bf}c-ta#X<-q;tg6}R3#5P8&2*=wgPS>Vgbs#5;SuI>{kfSblgQ-RTr= z0UqmY2ePo*LkP>!INm?CSh%l>*G0RcVH_&jHGQyz?W7#m*O-y)xb|{gr3J~lxhqbs z;;wiuW3ISO5An#H^bnWZQoC}=qQ%y`j;E~1U{&6SdAW`%l^(k}b4g^}6{oU_E1t=+ zD~@HA`#Qp=x4f?-?1euIE;>4^x;ZELgY|tKFIV8LKZF0!_OtFyvQh6^jr9c|E1>vc z6-@(fuz;C7_{zayCYCx^g-m?YO&x2G*<63PB8%SgGqUo^XIe=T@Ys0OXu+X=}oAtFR;kJMEjZV9!nN9(V)Itsx$PbaU`XvISXdz}tH@P%Z zJ(un=suHk>0tQ};N+;I%ybQ2#c`4}+6E8gd0FHafaXE79w!p%BGE!g8bb`D}zyjZt z%-j6grHXf%NOLYF%H5hn`Jm7-X)xZ#x@+Mpz>5+*k0rdX4da; z=$kp~qFs?H4aX_imKshW^{+hLR&GI>ECfzL)&i%bvNBF_$UL0lkWI|uU_+Gt7Nvl;YYoGM4mbFjo6bK0-Yq)50Ut?wyYAY2}f*NFF8WgrFpq5QVNr^rR8e%cprwmR@_B z)@P*<2VPxTHsCDZhz&0*O`ZksEgCs_;5Bs&4`Ikc8Nvup(f##Pupy^PKLd?rfO!H= z(04cW_|N&u*O9(P1}O+>wBu!?FHPEGG$ou7#jD{Am&)J_k7}VDiNhq9z!@!_B-8CU za@%2!z@|PE`I2f=@&u_$I0N6$%s3-S7PmR|5m;ndPT;TBdyW(gXO!!`$SgC?$g*dg z5z7S5h(((_;l>EFXeQ#yNS#hJq!aEE*Kz$EjQ`Zd<*Q)ot+*vl0w3U@3Ve{t%J{$`^YDSk&52_;WadyC#4(Ue;sc$f zLZ+0OYUl z?I+cSCg7**$rX6`??5IWC0k@nHG9xgABJZ!xI?KqlyOTxl|^gL{vOeZIQh$#r4RQ&;mVrWwH$PB2@|K(F28aZiGn| z0!rE+JVo&;K(AKsIkI85l$QO_3;cke)Mh*~(2F$-pjQ*-#tI|DF>2r8c1R!GC8p(g z671f>g`$(mxNRqk<QGS8*Xw*2)Gc5<4hh>9sUT(8KN4!El;=<3=K6d*inW{`w zD+;kOQO&fv+t2-;;!Oum*`ZTLW;G~JZLzs4jvd}7PT6axEZNSG_)kHGGvZx1HbSG5 zfs{NDruWhS=ix9_?)!vGW$1$1@Cu;LX}qkO2jt=XwGA(^*8 zc-T7v;ia-N!gI(xgy)cX5g>=GZL}Ls7OS9}cKCZ5EeQnmdE#W&0^y+`HH4SQ7{ZHX z5(JTD$x^Z{SxVL=OUb@8Jo9R!1xUj)kCt>=9;Z%PEZ`YV%pAz2<)wT^hSV;dkC&#aXkpZ104RG(i2UwN}B1R6Mynz1{00J#Y z8%`ntG((9uJR?n}vFUp<68d)yikZ1YPz<0E-cy5Wp8?#1{{RDoH~LeuDFw@%9!@Tu zxOFzo-0(%dcvznuPZqWT)zgvzs0=$DzL2QQJg@QpS^L)B)^_B|ztZSW2@b~BvMk9C z(if0q$?x~u-v*88NiYZkWHSBxv$i)^v8uSVx12i%2R`>M*XDDPtYVQxE*kizYACSE z#0ZB~rcgKFf>owuZRA9&jO`SxG68a6NUN-SHtr92-uhSP;u*glqe+%;Sm9*m_iJtT zgnd2}a7Kw@MNbi{0lv31+&50jZA|3gSyHNbz(J>#a=egIr>TCICS@iW9%DM4PwW&~ z3Z5lXZA~(^nm5VXGk(2PHOcZjWw#|aZyME?m%nX=e8#U&a>OJX%lDzl*SARb*g_h$ zkL3ebm83X4HA&9h`Jwqd-!^+L@`E*b8O`>!&GsZ3bZJ)r8=Sm+QhA#D_uWz*GU#Rp z3-jC^&5!1p#~&q?V9oWphvyq=iOkel5*xMVPUi=6t8sP`ELUw2;I(VZ0I!`ji#y*} zFkOh9)?EKp2wf{u=lJ#ZBS&lW+6|V%zw|cP6xX5*Hv;3B^kujk?hfa*8}5#KremRN z^K84cp=s9K^dug6ZJv5#qQlnQF+$hcy`%X&zcm7vU1{gtW#gEg?_D+y;Q82jKKAjT z%WkX+9NP?CJIDA;hZZ@qQ{>wGl=G5fH$<+T<&z!DPc|CLZz_*?j9ZC`$GDZ)(X=)A zN^3<+uDzNh#oDV$MJyP61sgN?Ow1X4JvI{337$F14M&jW5QQ@D+qj7!%V9eb(g}V& z%eN|exICm#j>T*^Dp_0qqF=8U4c4TMiD)=7(ZLs(JO5m|(FHHVFThml^K-l_G9I?3 zeuBA^_$Qpv>k`HdEm#deV4uNJQ4ED_8gg*#x-<2yga7^a*5b6X%VECbv#(m^q0d_T zbg$g9dBPQQ*Tt?<$mZ2!TUDb+vF(3&6a}~?IJj{D)6*)|pQOuIcDSnA#zFTd-BI-0q9cTE&m6?gt83n3$`}(VR?H(ZF?G z4W7gz8CpF@Z-GZJRv=T2>!LSV(df>Rn4d;b(+%uZF|oj2RcIa6A=rhKgXeg2P<7tF8j%tLqiDoK1= z@p&cf#J#}+<3G*MU;C6E{>ReMgBI)L0PptlarF5FmU`09SGD-=LK<5pxF3yJ&R`uZ zLorytFQm;5T%~i^yaWhJJ2Mt)nd8tRTr;F1?>y9kR3`Cj!aoJw@ z#h5#iJv?Ni8<@EOeH0rS$oiwQ;m)T$Kkds&@7x%IQyq{PZJp16IgM8VB^5osI6^S zKUNAkxgZVj`|rPJtAv{2E-RhiwdUM@`Q^iX92;Z#WgCuTW|zgya^{!e)?Cw)@h3Xm z)W_(rWIcm&deR;vHMwqO>5qy2f^`Qfz%neomfhda)@yWQ!b<#wGpG0p2TynOHAiP0 z8dNwVDu?G<4$rk5o@>(tqa%|I7#x`bX19GtwQYoM@Jq7l{*-A`by#@? z8~00slCIK?nb)TiPnou5fM2pL#AdhJRsB3fNkc&p$U{fTcZg*2$iyGbt zj3X=hB?rrpth(K0xMzOVbjs&~ZGcs?j&^)`jjA>4O5q00IvmEZ9f9x1gM?jI(%D_O zXAX_M3-?mK7`;o#1|A7cK2ir8;K8u#(+DzG%HBUFO}MHe$97f zgF2*^9mKdvSTcnwP>*-z?bp>>i?ufi$qsvZZDj*H8g_a0-!cdPU}nLv1z!ReLjCQ6 zic`}%JeX$32Y%a^!D7t;Ngqv`P~;q&^&=?0F{kz;4ql5;hg*lE#pBYLjYSsPUsvSt z%*LXUeX`LKqMVf3*V~00CBdxZ>NYu?`b%h&{OkyvlFYr_+7!M?lL*%~@#SypkHP2V zaeP$O?Ng#02-)HkDZt`XC|R8>&bG~9aSD)>jRoNH6VVG<04_mMmdag3E3dtCs1nzs zm6;wT^^$2NYF5{U;8!b>!LNowHUT1w+|IM0HbCtxD46jy-Tju=nw-rhltyo-x{5}i1=%YCvEjsJg zd*9AXqTHzLZjdd~)V^^-L$~vonV;<2IPyv=-$c2PIUXIS9g0g6^M(^DN%u!Gw60{b zt>sjTIO1CCrG_l0Uc#RRwUT{DJWQQ&SBf`cIgRD}P?Fg@-^cPnxSm(bUa#l%Sg@SN z3iB!o!&uqlduxLOdyjaJvjb$$ zyJLyB%WZ8%%kRAQqr30dFbM9o7UMV_zwdX76NGjKvT>JOi?nY9b}KL&jHCDchRblz zw1*sQrN5km?WhJiY>!&wzF%pyk^6oKzeSs_GsUu7^l7|o&*akHWqaWlV-7YBfZ?Dn zBUP~JBG_Ri>EK{9Z1}#P5L5U4lvv)BgdHZtju$zU&hjntW$eUVy-p&+Ci_&dL$2pO#Wcr2M@7GSmrec$KiOrbPFJ}oPnLdPMZCIZgH-G#4xdJ(2jspiN*!vz%K^5Glm6EyW#Cw!+GV!pq^S*dGgW4b*t^*U z#?d|;9&>(hIys@UcX4=f+L}?Nj=RhDOy=!fwikXecF~UQJ7h+UR^g4^8O*4XbTFd~ z^Vj3@u;EM*FWY5x2JS488ishBMPNn=vD2e0#t9(VNBI$5P6A0RU$(Q6AIzvy5Wn^x z2{X#X+&RS_gEET^;_7Y7mEc&Lm&^It2;{i45O?r!oxoYuZ48wVciAAc#TR!;tUPz6 zO|$uBrF3`cIIyz$rDUIs=)o0L=3V^KN?-){AlJyT%ZB7DisbEx@HXF=10dnPtiBi9eC|8e&a{Y)X zSCDLisftx*MsJjoCHs;ICTdnE_27*vlF00i@`J@Ji zoTd&sGYNaf_!L*Wl7_o+Qce#}Gv`)HwUJ25^VH#HS8H-fsl4!CT9(!3T0oJqn?tEV zu4EBg_fyGy#OCUyob8ixyDhnSn=77KOTBSdJ{WO7jph5$=386jTYqmtku*uB#rUa7 z@??56pO#}v_$SAgepXe<=Hp8da!r`>eHHl@mr{un(m1dBstlT~@0RMY#a1KQAbQL3 zB8`fVl8TvYjk)t_`Pj9vqf33gZ&lm6`bXf4ul=y z5LX-&raZzDI~}vc$l+j#^9})DxHHR#$q|p*1jDV>qyfbVGCh- zl|*;ECBXHI7wdBKbM?xWmZ&N$ErpVV+0tq&3rkCYTqc5%!a0A$K!w}OiZo=P;+B}n z4H>9#kx_2YKt*^B)fD7%Y>LX@XtAjjs2qB;W6gOwv{0R>gTq<(sfjLa9nr|lu z3wJ~>a_LG}B)iNgHEg~Wsol26ZIN)N_?*EbY@WOFLHAF6NFu}qr0?Q?(MjUP~2#R#L)$*GXymlq7M-OYM4CAaYdh`%x?SXeQCR1T63UMy- zyAar=z&ObF@R`AuFdDZ$Gm-XBM2Z>Cjj z@Zg~m6Bodg*wHL2&o;unPPxeYm#Y<13uangz*ij9$xKVkSe+R&+yyXVBW79^t7aOh zIT*?fo-ZygeSnW_JaW)EGi`bp%(P@}+QJ*$WhIwnq)C)3Xfo2ItSybfNV7rdjWh*v zg{zn3pxJh>3SeiC4_-|V7xU92`W5Q zn{!AGE?KmibLb5&U&&!7o28D7VE##2E=ke+Q*CAXqc?#bEz!YXsGS{G;+>>_jED;#3)esECaM&-H@8_kU^_XL3(E)I1gz@d)j z4kdHrsY+`~ZzC#@w3Rku_pbea|5POwHERBI#l)re6(8W*2TD<9>!G%0T)p45Bt$%AsG>(Q8qrGz6UVlOphBK8t4cH^Oc z4){3V_`WN}>v%O_B97(zP?GU6BZF<4LeENglM}VeCGqLE=JT0U~A9 zk6>~lpHd-3)Rv2U5JSgTn0Ef=?KUE-ax6G8;t0*iB<~+qbgwFdd7BTL*4v#@<>9#+ z*8*N|tfah?+m6yC(pTr;m^DM)iTynj5TuP55sx7KKFy&Wb=NTBS$%=c!mfMCh3O*V zo~j-@%AEo;@n}gmiT&yHJN=FI^3xkf{xc8wB&E)y*xxUl)b<8@_c+sU{X8{hjGd=B z1C?*>iY!v)3_@Z(iu8J=K1^Y9zK2UO^YhgxzKfcZ--~_o zizzYJ4+soe4U@k2!=bAWaQ&Of9 z9=q$p(~IR`;I~=Yox|$;vRkt)+@<=L{+Hh>yc1X1W}=A7r*DjY2+v{A7fWyz86el} zi0@XK;4YU@N4bpzF5W>GQQa!gL% zbaJ0W#XdtJKY2evO0+hmR}foo+p7Wd=`c2!Q)UmFC4+aDYJ_pOVY^{pCd@62ZYa$h z%J`+HhE21?ihf{d6cLc+6ZK<5j~P{hX=!Rpl%s>P<6b7lgQpd(v?tLvC0ISFIj4$H z{Es_W?_+ytUPOsHm0LfA9FGZ15))hSsS;USYqj6-bOYa5d?6<_&GiP!zD(wM@U>}5 zWIRD#992$oSDnf5;}3+Hel?>vMb(g7 z_dVZ9EO@!AGiX(u`{0kcoBwo znO^jp;8?T&!;)-r4!6h8VdzEY=yBq~nf%=>N>(FK`SX5InAJ$pvd6v>6uw|iDT21q zsQ+|t0Q`^zf4?SX-?+)OKIpy-`t1O+A>NQ4s#B+O5uDRS)bYYJ4`bId$$na!BBgtG z-lxGd#!^i?W=LF8*09`srZ%K!zt7apH~ON^uWO)a_;nP*pcXS%UGRR|HWU-@$=Js5 zvHtDEtjjc~fU>(WzaqOVY1RYl#c_y$WgRkmC9HccCGj3{dl0di@H?)tfX{Y$fU9WQ zOww`u_1PDX-f%cU26&@QIbO6CRsSmJ<+j=E|akYZm}$JA1%ypS7Ne)_0y;ewTYYRZI1$I6@1#qGP{t*cV^z1+H~2Z?<7zl2IdX zcW!_E{4hLU#N>pMnJY1y)otQ#l&*H2Ev}rtVS_K0*<8=oIV$Q(VFJwf5pj6xXTJT8 zgi14NrZXR>$dz%BBjq}}iW7@o7qL<4SrFiAewdsuK1wlt&mm^kbG8(J+@$U7;*&FM z?Vby_T9VCa;CdE{ra{7`xkx6@jFyt+N!z;-HLOId!S*pKdI?Fd!|pC6 z{kplp!&9rxgKYN?%c|c1cj#~&waDV9xbfNVB`#^?JeJe&lzHg8VjV2P@U90>x)PnB zU%sfSmY8}bWtaC^nwc0xqZG~Y8)Q1^9xgB6XM2HPMNOD+ooz>wbP$>%M@?_h(wg!N z{w}8Z6xqNc*DLwr;LAnKy1ZLATnHje{_N|ES_3_<1nCIg3O249jJOp7Fz?HkUwoHv zjRqDztb$0YiKe>Sqb(wp+q#^}h@?l_>|R++*zr(m0BH&eLc4>tI6k~7Jy9;Fc$>zHL0M0S`3kpaw^%NYGZ zQeKO;=lY2kXbE!DIJ(GznqsUhb9BhnfiDTrEK%BQFqUelxQ%Su5@<+2_0UYu{tWDV zR&sz+C++kl$Hp&jMoTK;cT^1$TT_VL%TSuhI3w#2c<={*)3$-P7w`h;7eSzD`;mn$ z9hiqNO~WmuMEj8>SxvF%>`t*hKj~Xs2e|36#ur-iZ5tU0)S3V-bK-dRBeL;?e$)&- zEWc{T-yk8gX*eGiCi?DIV~RXR0)bb1zT}scMU%c-F@r}5uResfrJkGy(*Dck+-v>` z%EH1d>*=E)B}S4?9dVS?8NBb!TDQc~ESrw-6 zpg4%+bZ0LPZob=$Gar3+t&q5|2CnoD44Jj+{vpp$ZMKLTAJGXzxdkBhsZR62qJTGv^%kvxawS~_Q2^Fx6n3w}#Eb=-0j3?s4RcFyGIKh$gkgZGY{MB2Lc;IZwUM85C_ ztva+>Em2nXtqwgd%%XO;lOT9u?867zeg4oO)NAMY%SnXR>x>g|2$3XOAz#%DQK;si zj=N$-dTk$`HO`sSV=>#7DR{5)isn9s7_ES|Ie}ph9*oi;^sS~!wBeg2`xGkl92OC4 zZN{U7)j9?rr+i}1xF^;ge8*$aH{*uKU$z@{SYqfflbId?($#R2NfuHx8YRrVaTqen zpMq@yq$Mjj43)XeFKhzB(!KqU5mhd~?+r49KH$FRM@d1NmQgDs__ZHT#BZhTrHwBC zq2=m})YN|b^&Mq5+yZC*H$*s3{gI})s&3noQ8P68{HhKpx-gZ(m93?YpNjpbx8mHV z8z2=a$2E`&^LkNO)x})WT&jw~+X>Y8HJLj4leWCiYZ6ii;bR9Lq+Xv74O0wuqH?J^ zSMhZZC^1hpRB}R@Ig$?xdnSL#9;I_N&+%V3YZg%GMC5m_r}WEJCY>uN+Deov>hm+E z6Qt?Ue7>0E5A5zO{Oa7UCU?}6mqy+}o1~;=D}%gKkhC~QpZaPeehHfP1-CKCIDjt` z`!_~fM$mv&D)|R!`_ebIK}S^WVwME-dpWHoL4@5Y9Nh@riPG0PUDcAe;(A0Y!;LTY z$gCHhCHcZMC3DD}@e*zyaH=5carWY_s+01|R&(0uFXo1uE(iuHWseOPrF^$Yg}$>b zSgvTYX^ap(tKlcH3yV;Na?|w|p~2^1?6O@bK6j$F8Bu2>+7o*Bf+I;pX5VB)^sFSX z&>+0AnSx(P3iWX;X1aU-9FulJhm_V}nNy{$D}oT)zDp*$Ki)RJa$P-ZVF8|IYxKBF z<}z-t)t1f+Ba$%CF6P6kc(2`_(du{QHv}BetX>kUK^myK6<}@K7r9y$ZMONkWjf#I z(W|yEzvN#uP5+FUae3wM)rR-enA5j&F!>6m;33hE} zf;%&EM;P-NvGfG3P5;5WAX$3Xu7L!m_=DI<0h{4wZwmGsIk$+1c%lWpnMZ=sWlwAP zm0{oP$aDpA(Hed(83RJvq{Z7A>HLfDp0r~&uPnbzkgFVxWEbSW5%bA$(`F@|Qgp3F z!(mTxX55&~hX(bbj#+ z3@Bd}FfPklBq~PT>d2yLMb2VtdU7vdR@D50v+qpqL~awhS6Y0V^0INgzv%?U*S4+; zThm`=IWoTOyUzy2K}{__!UtAa_`W3oc|BM8Y#b!%HapVwkq_7Lx688U=UaA%_q208 zp~WKMtxj$p6+PVO5%F=q4=QYb*H4*JK+Kq9Q<-P59AL(lBUKQ)q@=iAbe<9Nm%r>7 z3uR1vA7vAattng-stj7q4iR#;>5^Lbxkh$S#YvsSNY1nd zz0K!sT4Gzn{ypyc!G(l#G4ait#@F-c3u-3l_Qy)_$9`794g2$IocN>nQ#s!DYvM8~ z<{w45uqxr&f3Gq+2ii4WWxXln7XDdY@^DLLiZa<#{lYF8*~J~)F;j@H{jA|5+T%NC zjE{#X-~zAoiQr@5keEPk@o(97HJURMf;6m9ae3SIjSA*8jl#}?^g(J{1D5wYsjueI zE38MvrQh}=Net|%ZT4?_33~6Mb~&Vf-Bm5xPP9nmX1}X;q6?q)QP`Ijr-l))($jwD z2PGo4Y_?6Jb^oO>$2*gafS6DGQ95&v;83ueL#Z;&<|9^<_d0A;#hel$^_w+qeVt|P zaif>1yHx~-VbZ%*<(xF@j8TD2@8b?Lbb1>#!?UuvSG2Z)iT@~_pBh9gOo|JYjr5&_ z<(yq7o;1C69=kkDi@Di~Z~hYCNu9vzXW3kJK4h2QLmZEsOU~-IbhmCXcXjYVH$8a!*X|H-ri8!T@ z^*+WvC&qg*)0Q2-$wqhswIzvL5hjJk?^-bqZ6jR2y%`tGZm#?G!zVYnNEb$x(9lUm zTD<+ZjcR4aiN+-9a=qpRvt`msj}G(vJJ!$4dyg~8uf$+`Y}Zwaa1kav4pt;=jg~=@ zY~`HqpiN-f-^SeujU?4<5$SXJn}P*3zlk4=$5=PWg!9{apP3&kjrvKsP^?t4x;lj- zYJA2+)|MJe3fsamO+jSBgtA*1EU9G&sa@AK3MF__Y2i1@89}A@u%uFVQkp{>YX3sE z-R@z+7^lp(s3A)zik*O?&?PkW+#R3hRmafp>1cmHzndXYNp^E7ngus(=%ATx8F^my zSZ%M#3N8r~{W1QAk2iG*Zm8<9S)aRYG={iMlW}|sgH6IYkaC*;Id`%0&D;0_c2Vc8 zHl6PlD=>wPv*sHXY*XHBveqMU*3t{I$Fgiqj93SD7d95z4JU0qe5cJ04X2)0rp>@R zqt0g}TpRI*e}wQ&u8f{P%eclB8ejmV9;p~gAoiJ%b-ZAF5{er7ElSD_z_vwJ>>I4cUOe> zXbxYuUCVc5UM%Q5S2L)*sOOwsPD6(y99@w4ofbh3<9ER%7*(9z^t?B(3H#Yh1IY3` zbfzJO@=Ls-&-&B(hZjHQg`4-A>xQWhsxRa7nxb{*^sp4%)wa~W$?^|T8rj;4e5>IU z-EXoaH#vmPPEM-6Y-}Hd)9*&fnp&6Jhj(t18e6DDjpSJ@5LUxlH^3kaOX#0zkp6U| zJoEV6(jYsMPy#Tt^peTnOhu!kH-Ah z@-GRg+18+Feuxpb3@;=qyPIlCty7ON7i;ObcQ*y531uo56eIW)Z&Y8h^II~rWjCGD zD#M2+&l;lK&ks}~*{c=2S%Ja_egZ_PR1CjJ{#sf&-pGD~Mr|E`_?+R!oY3sjHNBt_ z2Rs=-yEyrsuF_$hr=RODlR?`LoQtsf68~7dz@+8Qx8O? zVyjoge0Cj7B+ck7S}=suLfg!=2sw+dYLyx7j*8{jCF|JAB~i9c-iCb`d@V~9`Y!s! z041j-1TIJ5kYxFXIBk-3)NBTt=EeFbOU`0P>WD5C+M@+|u*%ROS4rH6E`PMNKwHKc z$`HJ`@=YLRerkdj9zV@Jbk)lbYZD09HLINbOw?zg?l~>)(8IDYjA(a-kynRer)4lJ zyezSK7xW3rzs*`=0%uC)Pv}xlz~LjKA(nm1OKNrc^LG5tPOuW zFMYh#E&C8r%lvSv`v9C7pC2v)Us?e^aUu73{7HbhMd_+9y}bu}>b;&Z^emzUeVM(l zHsYS5o*Hxm-c)3(6`T`wnY%9^;+}$@9JD*$RCucnT+oZ9+o8n6EN5R>ZFU1&`@ zat1YNMFsu*x-w-WbvkwiT;e3)Z_i>OIR+hy3I_R{<;vOWbgB%vj7ee7--<=#7<4Hr z80OcNE3c{3IWge!C54f`6^qF+=#iGi4Fl76#v}rVEJiu_6^h!8e{2;@Xun{$iSHhf ztAL|`xFYR63h^1vlV1VQ)18L7Rnxn5L>jWDt6MhC%yz@~t(rzd>`n_Y3@=26X{;GV z&bOE(R^Ft3*!9|TdG0KREOscsl`sIS&i+uwpn>yAa)gGM1COz)gxAj8XgwAtQldTV zMe42pVPGj2`j0nI-SdVT=kEknnT`5;mmJ6hf5o+%zE${D5Nf7PO*cvAn0c}zmb%*R z>$7^$R`mFg({(slX*Jy3R*h%(N5{T$cvq>T^WSyt1y$MKdez@**a^`A1&WSNuofdO z?AZ`wKz1gK0}41F5o%sol1};w#(9F_AaKYNZ1w~bJ;4Z1xuNGX69cTkf}I#!c*2S- zu=Rm4%Fi@3oJILEJPw3*qw)|CduND+(Dh>dNXP`oiKmb;*c9h|9h1fEx`~T?g z@Nu3}EH2sJiuOzEnfs<8Sx}S}w+_HLfy>_dY9sBv*W-Y0z@18KJ%GC)E0gf$L)z2O zV}^Feol0q4fV%*f$@zLBJu`QH3tKb~t*qQS!$^tyqRa_JN(`ZBURV(m+PpSKIpGPW zeS%S*U>FEI_5^c1!RSvgtaLIZGbjd6YdNy=Z86tf|UY9oP%HG7jG+lsyr>bm&_w zeC4p3(Qk@~@(NIN07;B|q`{Q9#2Jc+QeudCIKqkw&=5HL31)nPpFP1a5P0ng=6ixM z@^B1P<)8UN?iX1y1LzC3VFOs!X{G&t>9&99OTqC@`ti;w0}L6phN&ElhN3HqzN0RZ8EjF9$+|GnY=wHy9) zR>1L%F9cqp32Bo5WqT%5>r9Vq1)2!Lg#K15_cP+WATZu}&CwJ!Mg~C;kj526m&uV8 zFhb5a8cJNAryIPUZg|#K4#lEE6V!T61|gZ-6Uq4GM;QM^kw5j#KXo5K zANnQ}?(xpTnNFsDfSQ;E|8hjf`@rl{F12zaamqs|Hlyk%4Ho=6rQUl1{pJ$}hIHs3 zDL^qH9FYvg5P}>jvH~1!jIs259I%DiG_^_jxo!A=sMP?5wLLM+#}gWy-}97iJ*9}g z5QOF_m3&G~p3;z~H18?xc}lmQQba#bXb8#l(gh{y{*+EIIqe$k8z2CCz5ixcz!W46 zelO+7qKqtE&uad>K`if|6dOeO$wH$6V-wPUPd#R$i9{C&f(%YzGyo(wA$$Rx;{tt! zC+1xXL^iG1 znPwQ?BtkP%kVc$|OD)hH$@*R*d&n@zM-Qhq7hxV}$_~k>?(g@h{g`^7H{vj;3O;!#EER&(KEVeeiNo?%l6NAB zOD+_!9^$x^wj#js)0MG@(0f>7AWXp9W>~~e0gy2(7?o zk(cBT)*|z&Ed@g3icA3h7z=DcC`~TVo7mudeCTmepvzl*$suD!5Hl_jEQ_M>tPOS) zP2}AxXi5<7%#R~t-mm(z!-Kgvx8I>(M%|b3Gx@%h-JSEMDns$rM%nwWR~H}g zrL@@s*SdQl8OPwaO8(u(#5`I#PV!~*22$kU39l5(3Q57|Xv28j-yTH7kvn27eOC zN%?d#5I(npVO(ua!Co2^f2zS0yjVXMtHX4b*xM=Iv;56M>xU`vELUb1kp%y5v>N*W z%I=<(p;~&Y(wwg=WE$`0`WT3?!jH`6c+u4?ZUSi7ntrumF3s0W0iXRaa*pv(s&-Xd z3Wnyw5=M!=08e3SkP5!$^mZk6c^24T z$&yNt6yT|E1r_kLGm4M^`qG#SR}9e0!YMuTWuxI&1FlVs!2e1H^~UIE+>I)CddNkKZ1)5dQ@4A3h^sco=wvQS>TG)gn>0XWBvnpO^fBfY`iR# zdy2n>$$kxMhxJ-KA|@_MJ+2SBob!He(lBH%XCj$d^d9`i`>PbwU`~1S%`N3rL~w7{ z?9nLJF#l|V=G*V#zaDBA!H=`wQ3M95Q;p;EA5)OM6!_Bx>6Bl6G5%D7KVZivo6|&R zkQ>hb(ZP#6><96R9hzmxEb@wtwWkhU^|ChZ?n>9UNF|kn!q&S6+M`Zu=Mvf|e2ohvGOJ&+YC4jl7pN;YZ)9conCgGs9=U z_I^G2rS{g|XM_1|&e{8d89NO)w^2;pyBglzi&Er1s^Acs!-ox*`NCAOO16ptSB7Jm z-;_uAsRIqqi4>?MJPDm>?}QbcSrsecl#K z#6svZ*l_huUaZp5seImE5&_MXuu>8cx2E?6`1}WzD=#w_4OMWNSiSTbDmz+uFSufx zD#KgdDOKCA>hX#Y={3*R!hoZ9vdaMj#o|6^PntPQo+JZWlpQ&dsCL?(wl-QUsQJg< zyOSoL`MD2E2rtuKH&yAc3q_Ih$|}@KaN0rlv|$LI2w2EZ5%|7JvC8E*WG?MlgQK#Y zO$Nt{gi)IH%u+eG6pK1_$q=>Wj7LJ_;;N;#izJJSr8mfQkyO!6`LiFp4NYNb-4vvD zp_5WATrCToP{0CF;gkAIN=8ScXI6K0h zUS^4FH%$G`D{kfz@%!jAdDnYP!{U%~)ed!fgCbm(33l5n_|lG}DE6!vp0bRP@{$gl zI7;!U2Fy3Vza(=Ej5XSRY&@E1KK|)nGv_))g@hjW!Yhtb=}q^Sexe8a6fRzq@XrXA z8%G)aME`Pd{xMRkzO+LIXF=lnyJ7}ovk(9IAp570`X3Lne;%p!oiTsjPCH`ioJTuR z=N|)lqnZf$X-ZggL@pTzpHG8Ni zg+}e?-th$;%AI%*EE;A9AGY-E?ZluNG>#qaZnT-h6&76e%A)dcT$^??-&XC-vCh)< z(X|z)^bR_ysB%SHd?~fZ177Iwy0rcAk>e1Y3TO4Of5`-8F_&@LQu`_DL?ITHklJdl zYB|4LgF-MW(`Ke!JXWChmk>5(smcM7fd1yXs+3(7tW;Fefn&+MAwKY`krQ5e_l#`} zRD=+|eRms|sg`~XuMOu_PV$QfACZjPRwt>RT~OR4l!syb)!?G`V?)|=cueO8E_Q}g zs-`s>Ngn3?O?o@7{l+Sm61D6#^8Lo_d#k-h8x=$zW^ysZH2RycB76AdurE6f>a zPSYXk`SFQ)J}D{du+Mz9se8W}*Mtw>BB)nDt+&$i`>yHx%;%ZA~jlL!6-)$Ieg+RQAm`)s$$ z@I2v`lAvgiLi<7yWifrb6@e4mKA@6CqD8)fmyz)Woomsrx?fuVM%jUgPmCl=7 zI+l`Pv;>AikHxY1-Y>dWZD|oAss8x9{sC#|7u*Z-2Tq7B=;aQCQ^8nH1k5(NKMrKpqz!n)eAW!Pdq&HS|VU|`Hcq_;J{14T*Fg5y4dLkpt7q;IcYhx3#Ws;A{!X-zqFwrXzr3PH}TRI?z zNA})?Qi%ZStU5DSUP&&vDlw;l8JFriB7_I-731A6M(pK2t+T`dW`PWP-m}2E)00zl zV(b+|f|67dOd#mw9EMQBCR0pOH7Ed^k?}=YH+d^MTpZXoI>%$*(h@Kc3f zKT^||<=y1KEahG~q-p=Vv?>meCXP31TjYbtPHP+9`B~Uem_R)3{VMN}YIhblp!kEeLcuUM(jhxu~Dir^*;z z*|Bx_t*IJ4qJVw0w&3i;cgCv|)0XsBMRaY(SJC`3x8aswf9A3%!&r{v>GoW|?1zR$dhT`4c*!9NIS3L`LM;W1>KpmL!?!wF+(2>!Z_U}TzsoO*paI#DHY{@)v4fatIf zWQ%P!P)3cgt|)-Q_=lSRr8xf$n58rh3K0z{fU>~?17b@BG1bM=@%bhz%k=ylPS8`9+wSe!FoTBVD$lpD(F7rRckmy^fi8VR?&#N0Q? zKHyRu0DCXYaV)QjQ@Yplig_d4jDCP3ojkcTj+=D!c4!#tS4^g@%H35vbIxd~SAL!_ zuv2rw`uW79RhfXu32G;kq5f1l;)ZS{5ntuEjMOFCmMX5b5)oHip?I-VtL4o_e#mCaeyV3N=?ZXdO-MQ$ax{m4AP5E>e7p&UF3j^evBMokA z{AS5jHIFk)rAB%7W3KtPhnfZM*rd(Y`3H(I-M~ppar*`15Ko4N(ETlruEyg7|Ly%a zV>Cywi2eS>nC!$ZO})B6q5E_9kQ-AeF+Tx{AG3Mr-=BS=92*pUe;3E@AhyC5npjaX zdqr|FZuxmgdsJe^jsHOXMC#J?{=$>TYZV&P&!$O4^DPaVpa;^kz+K{+fs!$R{<^7j z0D_>9)3v3X4`t8}P9)IWRMw2m!Yg$ zd1F4Ea#F0|AHY5o_<|{f`Swx(TTEUfao)?|UINUAR09U8nMMRE<|G8SU5oEp1O&{w z4IySqz5F1;ax#LLi9*t9D!j5nMH%+T#u}72?o*r+Q&)!+n)(0US`0Hygdv;cB8wSY z7l%eMJV4y{r~q-zfW`&njYEj53Ih=Le*i`f=c@v5g%vG^2gY$V0Wglo%pl{q5DIAG zzX!5#kDK{O{=I%;@Q?8+UZG28GqxJ^&9v{i&S#U`gO0uz68YaGoGs!OR!`4K9SGyS z$8L{CqZafP@Os50H2PWjU#%O_aQ`~>>pRD|pMN#sXiRk;R1{oKCT#qsulP0knSAtB zIullEVrK&i`3$>eD(4HU=6c8dJ@%T%%C9yf-zT&t`}aw!8%P#d%lRI6YeM(AeR;yU z!|R&vmiq>8K35U?Z`^)4yR>LJ{4`0;%KX^RBf)zXzFSFzC!p#fbNQ0*{eAj@TST`P z>djIvF(>ax==M?i0eJ$oTjAG~&m~{+)0K(~sRdb6f9QiY!|*tKkHwR6ar9Ciyjr4y{=}mQhgz{wwK;9nZSJPBTeE(?i-U86 zNdx{4GKTJsd+edpF#mUbH*pQ#y98xzs1=@&0($XW;3A=Be#sPfL;Xs23VTk2HjZxd z;1=Td9povem-M*siA9uH8U^%vBBDt<$TkyDMTPXOrcQR+P_n17y8yuQt&qOp%{VSu z^DzBu(jO)GwI%h?q6F^BYCiT-w2TuovmQD%G6n!o6Y;2p9Z(`FT<}%#SpD)!@YCuMVF1IRRQf0Wl1GApvOm3( z)S3hI_WyfZWKm!RLpDgIfMN$){dXAvDgv$f2f_XwFiXi14j3Omw*ZQr9x^^kAmamQ z#=i?1I24pX6#HN62Nb*ZH?E!*IqmYPch(c*xIa{;%tq(v9CF9h9D8q$V)c{7G{SQ= zh;meyxB6^vIJJS_>0rz6vr{14^I^+{AF8FV)VFi+b~*-IyMz^bww&Oox!I~w z)~w_h1 z?N@Vw(J$nYe<%^Pp=s>=Qb>ar`YbWe4MAbpLrZIzNHm({IPC5N-`0#}`)Zfh^3KV^c*>1Z^0o(CQA}p7+kv6$KXh(fQ%pQ0?$s~|RJW2sk zsBW+T17)Hi&&mW1K!=G^MSJ`Zhtsej{2cbU!>3D*&dlTrVf6!~u}O}>zkMf(BlEPG zK2u-~{%^D?`F)0Za?I8rjC&#-4j`WfAm1N#g=BI80z8QowgHR-oc=bc0GecffOD(} ze-`SWGfLzFVu}7U{+|}$6tHGeLi(fSWiqMfjA(Vs-FfsQ`y=|xn*QJZ(bSoP>}osK z-?`SP)rih&t!s;UYaBnLDX7L)UF4`{K6cuHl zoXu+Y$zgJmkiu0|?>EY36upGIQE13#X1THwYJk}%sX`bc5ppkhe^ufEzldT|nvwr3 zkC`bEO7oa-5USWBd(+3yMF+j+Bg(P8;I44}L01zD9|F$BX_(VPa)(o+V#y^anemA=hciDx)F`m?x=2Oc~OUP!H59z2{#jA_;g z#)K$}c|eN#l%hYSn0}S0NB|v$F&4LQzeE%5bQjZ)`J3?D0U6h`P|lZ%bSZmXr8POg z*B(4Yr+$D=0}2NS_KgJ455jx^1p?gwW+ImXJg{=hnV96u$o`){aeu zR)3m(+E0Pq&WMIq|F-%0y7wUUcHir6I)-N3X#ZmKibHoIqMZeJiJQ^wJK{?Y8v2WS zR5V9je~SC@mqG4?36^W_gch9#$3E@nkD6-z=h_eTev_W4GpHuD8S}nQ=rbbYKPQ(c zOyn~7+HZ6O-Qi?@G&hs^3rm?o9rMCT^Pp`Cv&Sk#;n-X zTS$oSb^QHyjqO&v3*S5Lw~Gh*E{#8ezda1wPNi%|K5lPvN3Ndc`uqF0+mQP3-`!$N zVqc`+m{WPQh6A{13l{040oR?w)S}2RXPwaJ3%t=-dY_A4L|nl(3Y&anP=_;y3RHxw z3W&_DwRiJ;Hze!vBE)`da9aUR-jkZNS-|sM<+cAAvw-zi{_D}l2}XinOQ-04r=QX< zADI@X4HiPsuP1DRpOdqF3wTpw?^g(w{|aZ~}2@2aC+C}0b?Cl!*l^96s<4vM(Kb0{Cl_DCjZP%cua z#@Ju2bZi$;M42Nt)^m<0v-~$z`Nu(aI^Elw;)-li`W=*|YQS{`V`GT{8&FYO9rzrM z3=6!20LoPdAPl7AO$+fvpAk^jAZK$kWPwm5jd(=F48 zz46oi;VS58X-$&hWF%MWvgrv^bD%|%z?Mx9&F_`;xc}+#_LQ`b4XLob!UT!=UhB&7 zdNG&!b{#&9TA(y)hY`d3eAw6c!|_3wPffp#nX3!$`b71qpU*Ly?&Nd(5reZoQ~GlG ziPHWTiq%Ij2e_=b2TomPF6Fz<~k8Cf5bJfx29{I3#lk+FVP8MCwT2sCyWU4HCeNN zUW@=Y?un3A>$fr2hhlrTBJit#yXNwuR+;EN{A|5ahexsXu8R_|NH%G7ITMu6JU49ZGl=qrR7o=eQL5Pxr78iH^51ZXRe86xq&&Iokm zHbg7`|0O+F-u9qY?nmk5i8n(k_4uHWrcVvS`>!4X(}#Y81x)qy$&=$_edo~^ z-b$>@;hQETHPaPB-l}JrbxvaTF8z~^#&SQ2?+ci93eo!({-QE3Xa2&km3#A+ce+CE z{*%YJRn9{n-(blox)^^HrwvQYacJO<$ELV?xp%!6*5Ouk;(6TTs@dtW(}KQr4myxM z(&tO*MI4p8hoLm)uUj7l;gRkpEVdVDdQlGt^Q>R4{Ek0_O8OG*l3~3eLelXA-4(~P zCrdKeV*$;zP9O!{Rm%gl+rkT;M?iqu`2O=|%2I6nt7L5PQ^NOi_&K7ovfg`2nlMG7%C-WF-fUDR{j0bTTHHK`; zGnNgc+B@Td!gG*9+XezeW1o&>0cAxXl0-$x{fF214=G=eXsj0x!*+LjoEIO%_GbG? zKnLoVzu4-xE8C55qSO3o=Q%<6^txo!1sq z^(CFl9#}uGmvfnKgO3G9mr0I{KfuL@ezj5e?{mey%-!L3l0~X3+jnuFco3HR(l7+` zjQOmLpKnshTldU4uZ7}X=G?icC7#c7_XmmQ*wvj%V;@xcVz%_SgUv+I< ze=RY2TDUhRU?BUr=VzrFI>i37__1H~*=`W|bI>}R_^`U@u+|#1UW1DoD8Uh)Tm|G~ z!tSR8*SeLO61jB-N-P;csM;WjURiO(kw$8cVvrctkVxXCC#6Zowzgl9foly(LIz>b zTbu5ZkQgvsUd5n*)N}QF;6R+HB21uGsjL8GK=0X-QxvWNHBX@7^v%B1*`of>T^1fo-JUMb6J1_7<9bDJBB|3YL6S>>puk8v0g@b zARj<8z5xUp{S$lXKwYT$AV^FL1#t|3qC+uoL4cA3@&Wqse*nJX2Ko}1^8rC@JT%0{ z1Fgma|D^^07AT$zbnV~k2ejjJ5Q0DfXsRerfKR|IJWD|nub3HBfBmbl-h_{D@i}Og zO->s`6ac-nr1aRzM+2&%mp=%F6U4ooMeRzQ642S(DBmhUE?G*{o>WWv>E?={s7|_w z`?6}8xCvqZo7r;89%dEw&{rY%{P)Paj_I@L%N$3ZaQnopf#5FZYJRfzR;psVnoLPW~l)Sf_KgVl$oBl>W}4?YGCl?;VI&;hTd0r7e2f?cWuS|C zBW9d1ZzEXr2}D!~f!M;zE8y8X;E@84?e6+Ecj9JuFN?vWSb&4;W6 z8{qcQs@#W23hG; zB>Gd*6Pgn#%e9^69I31hA=5(v#L0)V9uD2Q-A1E}0~%0s6JsUGm-Fc~6;(`s#XU~# zBS{f=18Y-*Nqdeo{-T5Xt|L~s5<2V+MkYU$C_3w~sj!2XLQ|@xzHsIgqLe3eBRLRR zKttjhB!EI=)DTUT{uI{$>*^T_>93l5cd!MseZ_%HGLp~A0N>G3S&I5dM$!QYI%VdLkBH@lEsG!OBHn8-PwubRvrEZ=b^xsO{JAw&1kq3Z$PjI&0R_~} zN)J(VAK?HAhKnHTE*TdhMUc1mMMwfACmP&2pRZHx#x5a4M7eWomaGM+INKVZwV{TaFkt#+Z#F;d_)+0FJ9RuVw6cyY?k!{PiZRPsp4u*D?{3dOL+@h>YJAtWXSdF)Tx>r60y z)p=SzY7uxsK#@9Bn3?7$ZQH(7tz~4wI4zI~p<_benXhm_sCLIR@VVb4V>sIbn0EZ@ zijDUV(Q+@LoOiMTG+ymYm|&nLKta|Xu>5t2=Z~46Gjs7{LI~Grya1j0N#jbEb z7E

      (!wAT0Jj1vt_7ka0qFr89$?-TDnPNn3K5FYX$^^2{xReKx&YY$qJs0i^+lqB z$E(MO-ImAI#leTON$>l4Yu}jhJbC34w(Uo@wVp)9yj%ltJroJ>O)Sgh4k+Pp$U@ zQ?kgJSQlH$KjF)56R@0IqtCkbo0*K`KMC|C%cAiUe3n^Rm`&|na6G(TLZ8-bI{hje zJ}CizzmJ>+HO3JV@J-g!f7D+oqJt#O?jop@kAHm+RTd_xl7kaf-C=|* zXAd=e^c9fG667T`N#s^=gs{rfy8Dm9sE}!JbPz^2Fy$Z&!>IgiQDkjTn?0eD1DG_f z;Anj3?b|6T6981i0FcQY!hj1110couB{X%ne^Xi{8^Op{S_Dip%N`~;866#1a(qiJ zI!y?~)(K5Os7`s1+x--({4pa5nUsts`d~dJck?9+CN?fb$g`fI|BKq1&$ofR{k=05AVBd|ZoqKbC2(4X zuhMjpa?Y6dzW~h`j{mG3#WoqtXmasnnVg)&%PonXQB%JlW?jFr)n9kRkP#d>U(y<0 z!S!2};^&yrjq!SqUXrQl5+L~K0F%bGXm!nb9iYTN$<0&BlhqybLoN@NSnN2?=@w9R z2`Er5^uI@0b;<>Pcgch0dlnxnT;Io` zi7(_k%i??qQGmaxyZxfi2R7IbX+OaDVr;Nv$vsmqS;>_|UU}Ul-sz{2B&~4MtIp5w zcZn3TqLZ^^zu8`*4050%PPKd|{k+1zGE&;qfES2AWKWmQdJ;x?Idx4pQAM;;#i?Z? zNGJ1wdr;+)@zDn^P{$WA07zdx83C}^nDE*?XtL3-x%vV9v&O2M3LF4WzQ5hvT32(q z8XGKq3R&i3g}7v<5SMI(mlIe3PbOWI%W;J)g(oBABK1P9^u!@5BnNkf#^iLz)B)3k zV$oo({&ryc1&|2v86oA1Qs37M@9*o|-Z*B>&OTKLDHnTHB6oxrU^`V8!0zD=h`$Gj z`g8?gmkH1=VC^RY;+lp+{6$t4h#>!v`KI^V)5U}hiCo~4ebF<*{=1yZo`tk-=8t@iXKOZfmT8`|;VEkMa+f=0 zU)56_&YaiTOj6F`C7#%ig`z5vki}ucWP0 zmyJ6iyzE|nIy@YmLft6R-1S9$pq_q8z&S#H%BpNvUFxo_Y$?;!n^@_aY>_)D+eYO} z_zz$?*a$i}e>Yj5qLEBb`cdIm_p`DE)iYhM&?q>BFi0}sxcV%B>wi-DTDtpK z2x!aC0fm@ga=-wnU`b?P|2vg#9q9-ZU^9Uj-grX~aihS!3$1p)Z%*>nxhe{ptgjJc zx?Q27BB<5!eg=px!UgJ9ETd91lW*fft( zxioUTf9Ya*%^+WilF;9DaGHxjVzzZXBy8Nx=G4xM%5kCSYAZjDN}0MGO|HWjr}!o9 zh<5;)_~c z!C;N^EsHg2EBGv{6d%~XV8~6g^02Ra<>zLxmzQ{fIg@o28>Zv^FVBZ1;1iK|5 z9>fSB1RDKkm5Fj-K1IBE&;c(7Tk$gjN@hcmZV8^oE(_tFV ztmQCmiFyZ5O8oU(q)E#W1i$r8S#k(913f_a`0+lOFm%ss=Jzek`uIIgN|)%=Sk97j zNV^GAJm5?QoUk!#4F&?i0l1(&au>8amL-G`rvdGV|C7o@ISuG8CSVpI4%$?wVg4?` zzflS9Vq!vwI~ku>=n)}ncX$tZ7n(y>#{B6!$m5o|(-|yQr*gA$NXdD;;0cq=aXven zM_-qA)ClVe4W6G~=wV;@^!o`OVb6~fmecRYFXwZ%SG?TBK^Wc}ixQE$K)$7zCr)@S ztITHMw2w_zI-}Y1Pv5_nxAxLfE*Ry|gVSgDqu68*whQzsmcq}_O7aaJTJv-D?_Y~4 z#MK#3$1*j9g%l^+3{>8?i&vtKsO-B)R3%T=RVQc5`lU5ofu4?cz%4f+K#j_Qhb-mR zen}ll>LCSV?=C8Si|HJ$gV(qb?%deuS2niKvbXE+Mn#Taj~Ks>UvDvHW9&aZX24ap z)}+3K+o0#KolEOKRofB86>(9_BH*c+Fj>@O`aHL)^ zk`_ipea`2`*2g67A~2G{oUS0jx=T$&aHi%H>lq<}!xCSr3m>@9rwD1GD-e&IWe6Xx z5sFg_9iO~x4=_XfXOP}bfM38Lp13EDM?!hm(EUu_1$+@=W`f)5jCvoHJ5BSzHpT;N zQSiYY<|#P9@eZW9@PS$goXmi4tPQ+whxM0JKdJ)?)lQZKngeRpPLl+1q66h~kQaDD z|Lb#@zZ~QIm*+5lImU^?r%V-TxN*T;(j6)Smn_(hJ$~qUa7v)#&ch0FW=0gFQwaS0 z%en^b(ja9M(d52q@U6@TeWa{^N3>v(eA!t&D4R}gX?BHpm$z%=&0)$eZ_h|$i~u_g zk95hPoq{!kw33TP`Omv!Ae$3v|0A38&9dy}=2?VN`|w@4S(!d>g-=l;UxV+XD-Z71 zvT9rrZ{tc6P3PIYNYcE zt*z%gLH2B=iu;j|as#Axb|jaIK8lkDL8E0`o3W&jJ6z{S_tw?esSO`Nb@B6`3((c zlvuhA^l>ovn;41D#@*gjowtA=E`)1@7De zsG2*=5VRef0#*hzI13s8qk;=84I^Jw?W6b$LA$8Ruxr#C=-+@#KB(TN%@jm=n@_4F#j^FAZI7mKoZ?*Ei zbFPYs^UY6bOeu+lXN=Gg#QBh0=I9?W!F|h12QIi~mNdORs2{3ul^Xe(>CsgCk?FxK z^9S&|vxhwDJDl`u><5<=cA^fdXLVxXf?V?}^B)AcX5;Ah+`f9U!;Z!t^jF4qCoEJJ zaPMt#>aUxPT=A2tmi7$4?tinY$Z@EZZH6?3Cgw9I^UmO*l}2RT@YGop!=|ZcnXbd( zZ@l01H;9Zg3~Zq)2p|?Z*Bx#uzxa7cF%QcAS!k`}N2g1CV|}-V+3^E(Cqx2G_rDM7jlg zU_M)0iB{r32N-&00bFnt)M#c;977zScF-IoX~4xuFVF%cX`nllP0(e<6D9zpIG|nhKQ~O2>xXVT z{?7=2xQ?T@YlfViQw!{u{R0r%Jo@+B72`lo8f`I4H@I=yCVM-n()YktgM**c*uvJP z?8%;}S#;XAi&%|DcSzEAfrd*FJvwcSI^c&)YzL%UECVFed*O!_998x zx1x=9xpOU5{#u91TU?qBBZ|b#73dw}6D}2&R;Nh)8D!&K1b8f0uZnyUI#o{QcB#D{ zHPHoUejOtSm4}O;qn2v`MUt-VNf_~+*$JRkP|K-AssTbJ8`*SysJMEFpk@f2wk^2!0u%(IoN?RVGlf>C+O zsGKcpEfC;@qQbKd{Gl}P%LQmJln32w>waEJ05$6XLw6tyfdL`{ueL*pxHvcX;e?lw z-)SBI08np-1r0zZY<>qy(}3doo)GlJ6b8@R9*lZeD&Trz@HCY6JLULdZpa=;x4s|rJm*i z_VjP{$6Nv=-hq(l0zvlQA^>h`xg1Vf^Vn9Xn8fyo8Qml;pwVS$?}>|kX{DIoIB}oP z_Ay5ke%FNQyT;0b#i&Njo}dpq+d;-!ML#zP$%c;$BR}k<@z;D{i37I}e)vQVa_f5l z`f_i;l4=oco%&W5hpiE01N{<;K$e-{yjk?ZJf~IZo2nHXg##-VcABSO_x5)PhfJ1r zP1ep-wFs63xGX(Ma8B6+-f^@{zqv)w2_NQ+R>JN51Q92)l2;KLg&07mO0vSkzAwGF z=!P$yS>sCa_$@*#^%1Yvnb(i(53Z(k2{>_uAV8*1!dxGHn%k&Bx9*!keuD1F&kW@? zA2K#`eNWC>RuOR9Af5CvFZNZ*#cxUR!s(=7-}z{7MqVHNjaIwf#!3N0ftxt%^@19Y z{qi6=Ua$+5UIdPbyMPc@F+mDed01IZGcXJYDEHOG#}z9My{rM=Fx3iJ4avpvz4R`~ zrgY&*UxWyF<0V^}_QaBD=%dp)^4}UEj!0dY=knE*6kG?7~q?)g%M_0RI<# z+XGN#l-BWj1a*y8B#)L{1WuJF8`5`bH)QVeA&5pRLMZq;2O#r86~d8pCY0a?gCK{d z5&@El91{WKLyRTLr9=GxtsXLSkTll;YySxWV5RhX^`=KAgSJ}i_PPZ0eP`2{?y9*K zo?X0@4^NPy6^nI@U$VVi8J*2+m?<}v8gWaoTduhf?!UIPm07ZJX{=t!2G!mc6G5uG z6~`~n^lJOV(4{f4#VetXrxs7P1rb8~AKAc(H*wI_v1+{sV>g!U(#9Xs4Nc$>R8n`K zvl|~oL6>l?R3IzUXOlv}U*GzdEZApeF1;^zAklx0Tyh^3|)Q)%{u+ zd;MDCY%NdBYVbzzcGDQFYW5^puUokVYsoBtqoN@Sd@P@#afU|=XWxJt59}RZ%6end zLubU&3#Fh1uGQ^K3_BDlLiQkIWYI_yV7cu;(vAC|vbnOL1w_>z?=Mv25mXSq~ zsCr6w>()N`(z7eg3Z)H^bKe++>=qtJ@mmRJS>;LPP*GdM$4h+!2U~Eavo#Et_$mv0 z{cH>f7mck9;TW@dB+?gx`uNG)YK^_9sKKWK-(ZZ!;3;Khq17brC@SiQ5jE+q=ACyW z7CxI}zpXXq@(m;_9qp>Tj9)q`kK0&h&ebh!o_AGxBT${uQ_h{*s;w0it_wkR7lM2z zO?{4EOlU*Y2%ASQQ5GxXq+&DzPP529RMVPdxXHOsNLhl0W$8Ge4`+Av4WZSPlK${M zY}tQ$!^0&iJ}i%ZOyd%ztsE(!{IAGBjkUKHzC_MZ{2G8A7BD1u5Td=+wS2VY;79L=lMWTeAD+$H7HN(p0`G^th@D^5KAf%E+}T`Vn2-D2 z(S7qA0;a1O=lCj=k$?HYhugIo4sD&Lii<@Zc|MhwGj|7!awbjE_q?t2n4B#Hg5mFG zWUumS%CBE{vJ}`CC@S3FAwSv_%)ymdh%IPHUg@^pgBw^gFyK}WJoY`BeRBBrVDrN3 z(y>(Z&1dBHTAs=n8&&@AuX`T6OCsu_J{asYuSj)Zm4I{N87r@sl&+-YNhv`}HPz`UK~*@g3!SKYV+*dNV}5~BJQWu{ zTrhDr6uA&o<)0|O_M9ZgH!vFjiz!zpQdAsw0qFD0=8g?*uJ9$wa|@;flmqSbLil}o z>h92BpfuXmC!ysDw`;JPX14+_$}nbuAXHE1yDG(3^=%oIa2qX==!%ArG(Q1nb0tl{ zfa*lWbAka0^B*rDh|vM;P4GYv>urP}CJjOCADcq6Ha~&)f1;sI7aM(U;Wrwsq?G)* zNBfIpg5;41*t!a@zgW3-#l?KKe9U}%-2g%(yL~>wk45QIjU|QrPKTxBRxE9HC4Glu zYtzk~`fr>LLs{}t-^Z1E06(dwyR4Wky8BF1H7T|rKzZ*c$ixMmO{w^6PbZ7nabbp# z%}!?wUS{O))QNocxu^JLuJ5|?q58x7XVjSAWF2MC!H)PFko^H>Iu>54-dqZbq8Dk zIIaTJ99KI4dSEekTz!^wNwL%65fdLJ4~I3HTE08|0_I zW%Yb@#&Cg0JUpV*vMkIzz#Ex&aR^Mq0X`c^I>TXBeCJz{r`H8v|?8`cs}R;emXYar0Cg&qji-unQk7 z2`JU_F#3H&8x$FZ3V~I@J+*eX6?735cfxRyTci>^Qw0D82Bf0?S&Wd|p+u2xNk@|C zggAwUssf-ISc81wBEX~P#3qCvCyaN|#r))eFsSqi9E<@d`qxE8-2SRSK%-00+`=A0 zUePpU-hLF@AaQ{sL=rY`gACn&S@d-24R7$i7MNLtS=q8d z$-1BcY@4}#DW3mv{?Ou1FK+)(4DQNKNn_~uX$=SO04KCXc94S|7P2qWXBuVM>%>3I za;!x>Y!?vTJH5z|Prbk67W|!3ank;iCtQEzqCk|wLCp72hXf5f`jzln?F2dp2N~Ip zi-%49eKs0j>gSgfHOrTlrdLu*W7j^5mWNOhZiQ*gEW_QDsW&EYrqPYyT62vDB@SVO zX7aUiL3;}i%ssEi1q~9y4y_ORDH}nph)nNin`I!1N`v}LvaBlYGxZrHQ^ZjwAvSf_SSnRi(oH<1}OE*l39*0L#CVa0jh!2n7uS!v#9|K(sajdVk{@Ii3J-@F39mpVdFu_y-z) zAL=h0lyj?@w;3P~=^GEi7MFr}^RMOqa&y^q*4__k1T;B|rIxneg|$Ea6*eI_iiP)3 z7O&<1L`f;HH@dgNPUzrd7NTf^8KzK4W6d2auHHQIzNJ~^K|ZLG?FibN8>FyQQa7wS zt;0ZYMJ=zr&u4k#E?Rw$$_vA~PdW@f0lcTo>4b2oCMbk(M8y%kOg`fj^|rlXn(=H@>-JE3i`nH!N zH;=|do9H+P0yY8;QaM*rH4mkGzs8bHJX;+X6r2*ApKM;Xb`F@|DIsCXZS$O$vZ zdqL*Y9&>RhqoAr{q50k(%7~b5Y#dm>Xb2_Ua|>&&gQV01O#Hbzwkw^eyiuYLK%koA zvL4oHAQ&sbNNcB6kAC?wf39Zq9_Q%d`pJ`$A3s%K75r0#)2@Och~({hGB%jn|*Fk>?#AKIPodHH-I?+9l*}# zm^Yyx9icD=3BZ5&iFbPx}Xw%{y<6_-$MssrNZ3SX1E@h${GLgW~yB3R)`F zVuZj=9`1a??bm;?LaNPE%{Ptu9eM<`7wL3k;~l}RTh$Lc`_+w8c$lwZT1J5f;P8Z- z&h%exJ*_>@NL8p!nRnUOJEmpjuBd3+l&?iud4iKx#BjkoL#K^{Noz#5SmCfn*u_Gs$|*97Ghyb{8I~dtT4S@9nJ_$oZsG+%Bo^2`_2l zSn)}4yWXT=V<>ltCa30x4}R}x)>7vKkiYl{IR?-cY6XA+KH7!)3Gb~2nOBv@!$$J0ismF z;HJ|K8Pn%Bgjm+WnMJmImi7vv`>$gKxo(na$G7Y7MWG1?te6tu@PDpRxwB4$3#06S zD(iYw6AG(>9Ia}M) z>>`($U5Q)i)p5H_GfdBQna*`d$9c%5TAgN(;wiY8HrkaQeFr;Ldhv`tlo(0_paL<^ z9Y25&S7HFCJN&#C(?IwEUW#L$_zmjKGItIwP1{@BkrA-R=F@J~gvXo7 zG;=EU{sk=Gudu{}bT%iUu6Rslr+eoBzORW;!WIo zI)P4~D^_pX*L!jGB`6!hbNf=-#3`DOLQEXD)>eN{4Q(th-H{@uV7%s6CXfgbtYF}3(;r6Q1zY6qsi=aLxr3uH z16`B2@>iS2-KrFiH;d86RQ9|Ienl9yYv^=%!i<;fC_La=Gp9>#w5L&HgjmNZRG()2p6GSUYYa(sLu+ntXJn6nRh$y0d-)dp85nr z2@4QPFoRIy9VQIhy`_~dwYBf+JjGVjd04dBfwV4Hx3&e{?M*p!Zfl{Mbhjwp_|dMr zt*-|9!=uj2qH_}(gO38UukTCOnOhrKuHm1YbxGw|0@@F;BF6b#LZcY!h%Y7Mu0Q4rd{L9CaUahSY@&GC) ztxl?cjq#7fPMZC-H}DBDa`hw)ha-YVBWJ##J0E?kG^1O0HXGgCy#gYaH%%1FecBCpDT`;Y@_cs^8ZP`B^DhFG<*5mYY^9q7cS2La_wUs<7>U^He4EN>M zm+{l`T$r9Qa-)nCcG9ob!mTRaf%;}&pBOpV7xUg#hYIRcAqSR~8hYc4+4@eY33RE< z+#%AcyeBWEN>BQ0IG%Cl@Q z{R-Z?pADBj$X1>{RAeM7OlUn+_peJO#2Ns3kpL2%V%0ljoE~yg6x^0pQ)W6|`lpNa zu1JS)wPDtz<4@a;hEMRZVC6~oIgJvuW<0Mn#e^xqH9yw1W=0g7Vy0$@IW45mI!!&RGniF z5aXX$mNqkM^OSl^f> z(zbL3^yIzQZZUHyj3w!C&6h0$syu7~ z{-cdgpvY8zcmozlx88!R{jcihz#f23RMcR=3qgPehQw3ISNv16wS@;yA@uxDdV_T9 zo1Ib38@B=${TueP57PV!r1|g{6*WF~hN6Q!y0Dw(&ZrrF_s}_QJ2qQ^%umsZoheMmOckELumw z0RTbeibAXDQDHT#d-;UnyoY+sXY};OiPhUt`fTUE!P&x6DKlE2k1r`70z<(OEch4= zWH8C!zXX{tk4dVh3}6FV+4g0c%+!nB$ z1@8LKYJg0r6+iV3lm?rC(qKU&KPpeULY`z9&b9;XP=2F`tcHv~l%HFL@^gU3Ka2qN zhMH~lhwtM6+#U1tf9`#f{MaLc{e3D>=zTE8dH&T?a zH}qWd7MMw|71Azk(N3thf>NeB;QWnc{^fO6{L1&Oo`QzM&6W&1TSY~hnN#Pw``R+> zaJzlso^vV>(ma$cm*a`0yZLu)huhrFhoxbqLJwGU3qO60%Ctp5ld0mUojkA`vt%Ko zS@>I^fn=0Hx9QxM)`GeI@H8yhRI3~X;3UW`_37w!ilrAto`DHZxD_QT9?--VYumsL5zzsAFgzQxD&FU|jL8O~uc|Vk&If5gNPi{a!JzPSM+hxp~#e zsqCKLcU~YsRJ`;P19V_g5eim5Pp{lwDuJ5pm`=d~f!d_}xS&s9A_h0|;T;%^!TnE< z$6EUs9Y%{r;sA zEPeh$fo-ciOGABfH6EN41Fl(X`H7bGDb zAZ|wStm@UXVSyL(4O>=NFw&i2|Iw^#BLg?1_*R!U*agMA8bhpJC(6_HZuZu(4D}DJ zZ0{A0Ocm4@yWA`qS12tQr}JIj^R$c{{;Fc9s5WqWagE+Ma#M6HQ(?i;q(5?ai=sj! zba{7p_ZcE2Vh8ukbZj%8;Ct<5dtdlgxypkPH=974w>F=clb2ie!kw9g)fu{WCAxJ7 zp2isLV0yFA03$n6!(866T3}jQ!O8N_*DWpaEdhEej)v;hr~sNdifL{1(B8Yl9N|0- z2bxiAl=VCfYB17?;j!E@9CH&h(~7UHl^`}86Z7T?Fwa93o4rqH?@QvGw?Ij<%#82d21$C=$JCQwDWey2GIMDf*a8_o z=I%#Z9hTSP;tNW4^}qSt?f+<5cKp49Ln2wh{-|$HqN342Vvg#(Z1DO*M~V4f=J)+n zc7f~)?1LYvS*Ob}g4C7gA;);XOdQ~<+>e>OYv6iqQS+(>Npyg!lX6|_{Kuhg*LkBC zD#HUaj46IXS;9q&?<{BRNTRpcj4o+ccMM#QV#(i6uB8_$iR=WS$dD*VR{%DFcaC8 z*01&=o>#XI@P}4@<;2Gls}9t>XU2ynjBvErv=SVy+xJ5ptg24;EGZccEWKAX*a}`Z z+$j|koQ(ZCFK8;5qgsl=Rrz3-%>j9J$V$+Jb&+gLc1&VSWlVJJcuWWSJe}g$;qs&`C$d7VYPkYcuR)6-+a(hAXVKPIr=t zgj@^T{3g$Bu7}&&i$4Mm*7711`ljrejwod544z*uO#jLbKQA4f8?FFntE3U`Iu}_g zISQVq&ZbKD4JttU`p2#yF>L!Rh1nKO`$8u=5p;&?*7H&mb4MF8m+tKzK`H|_)cs?bz3!=8wi#D);v) z4-+Q%4J(f#1rNqYhWS+=f9N~gmtln7r(l3;7!=dpQ;2Hl8dIJ-j*L$PHFbB89y1{MS)?Q5U58S}5x?Zit{kDcvGmWVy2ciC&S@)H z@ET@BsO4o8Usm|IpChmgbBcMHM*K{%dPhA$|LwfD@?-Y7;`5Nv>CxrP%-t^!bq?H? z1^e9rneTUb*eyt!7QSS?OtWBnf(bUzglOO7ht>v&qj-ERhAx80CYL=pDi;l0KX`%( z-C}acHX@*ORD2S-yzVC={`_)9DMn+~OOSDjRTyWwGoq`=#Bxa=uHRhpMN`01`j%K9(4$a_kHJ-y~N2C2?B@kXR8ZaZ5&V;7&2_UizcwicGBnnG}lb zdsz|Do*B<$71o%afkxNN4wg!8g!^||xt!bi;$mz297W`2>=l&M zcWqcMa`kL%DALiS;ipXJ780IF4Z$S zOnbb+YK}5lzbo2cwZrRp?Lv@Mz%sK?=hEolg-!%G*F+cy9*TiKJ6%*z+Okh;%yUR@ ztR|2TE2@i3(Hz^n-(EGDmWgCv zA8w7$wC>HVzbHI1MLvUDp%x>6IK(`lE%b1--1Okr z->fo?_fEMvHn_M(oI+(sJxg!EcNVLRZ?fJcyj-X1&Lp=W_?Wdq#QOcis!ml^vxO5D zk&Q$n5i478JqgW#ta;*7POaQmBs5o9$Mw=p*tK#VKIY#Z-NcZSw7AR(r+%gKTJTW0 zNG_Q<_@+X5e%I5^M{gwV^V2eQzsv8^?tJ7udF8|6!DE_D>RWvQ$v} zx*&6{Iw11?j9x%yiLLb^uMx$N*oJY?szX+yr8d|O4 zKGtTN8Y!#PIlTLZ_6N>_rixgf?feY;HO0}$rlx?t zSBoDsUiYD~kbHjU1GlbaPBSFBW>wwnaZ{VH3|YKyb#LM2*5_7ctCoHLKD3R`tyY+v zR$Q0sqt!6xuvH_~k`@5!sbcBGg7EdQ+YQLw~)QCg;rclq)~?VZ9lQ7E>}Y?aEE?S#%?-K(8w;o3Sozv{Pccl_tBJQ1HClbQ;ka45z z(!%&z%qLE(#?x2D?y9m?;5w-3EnfsFmezwl_T`osnWbtkw+q6!%D``}e;XZ^8)RyzqDB;dL&2zB(~?u^VJiZ*{p~u~P{Dt$6!x+Nmr0 zcRYxnzMnIW(WpD%Q|lIJo5DWRr-BvUcPfbWQTy0X3tJi|k<|^|P5(XmIB;VpIS$MK zpBtEg<`>^TyuF52-TcVk_N<8=ei!|Br5`ypUp{Mn~Jiz(-Xj;DgcUcq{8 zfqrSaKV#FD!-S%$RlA`UC(!+78^N-1%-!(of0_r*nIn=RlW>=(Y_N? z2RQppz`qqEC?Et#;pqpKXO!AnUEW$VRM_K-d#QNWCraeqKlg zSf#cc%ggUzGAd0sfkZbTH6~wO!x~z{1~D_^Mxz|rLoyS;`JYc%BpafgtyezgK1*xUK&!-BQFq~i&_YVGNKDDw^+p`;IYm8%BhQaJ1 zB|iZ+-~p*z#z`Ph3fo%**a11 z!rUaEJ!|>gxYDx8{xgZ;nGP~jx9y!%wJi9Rl3)00c1uyauXSJSX6wf6w$BJi7l_|| zJI9vMmR=FJ8#Fhsu()Q(9aw6ss2>UQEg7n^H`=&n{q15m$$7_^Y_#DFPNH3a(6tA1 z*d79HE^<@h@}alZ9z6c}7*>+ctSYrlVJe#>7?uTgdMdoIxd|52*i0K}OUp8F2f4H# z^`E`fHt~$4fiF1BhywKg5Nu1k>=!N2cE@tb8bFtr*vx% zhWU99S_9C>DK|$#Yn@bXN#*Qx>^XdA^ypW?`T*ymCG4WWWN#3{{vhMV__v}|sT=Xr z__Hc$u4@@fw7m+04|5b2gAIo7v`5vke#{yfqzmI+OC~r!u$R5$^D2b^OO4%nN~cuE zoC*C2Z=x~l0&TBD)#r(qz(hBq0VLBBmH{NIe}8TcA(@V_Y*s*qtr#-U!I;At4r_{& zkxjI$w1kCVoznI$kOpHyK1m%~%Ah~82pm%}(lM#~7SY|zbt(g3R`2`d7dQWetv-tD)bfuYjOIz9W565gp;I_aB82XoDgUR^16qhn|7ZgyZ6^5j8 zz`9k>M9}q?xyEt(J~36Pj8vDwe04DKvPi4%VNO3Um_}fy8rjKnZx%zA*&MRWCnATd zLzcM_&7=gk>j5)_WYCYkG8V{n?nExQHFyI|6zB*<2SFNCybt{Au~1CIKs?}mIe*9w z;aiH?0rLYJX!{iQfZ1ki0Zg{d@E%XG(^hHa(Ih{8<)Ovs{##oCJA$=FIFT;w=9ktn zA`O`u#x7P&_Af%%@V^%iaP)Ucq1T}B?$xe`{=0I!fwvNsZp6>yJyg=35a_#p707Pr zf5>AP-`D@J1PD$Fd}OHvCprA)Y#a!|J0S}!fzHApNK0ClweK1tn7e9Am{+J4Vq%d2 zWPZ^H&)9bYtzvG11`EVGoxtdUo(8W$r_#^wfFlRRts_0&u*vHm7<~_Y9waVFyg4l) z^W@xfvTC-wxOXJU*ubA@Gr*U9q}9D~>fk2-oGkX-!w*L(y?5isOQv%!ol#`J(X8q; z5m34X?kD5oCMlL*l%Oj}w3h5-GPvJ)jgTvub_?YN?B!}O;Uv215M_-yprY(uFbkbg<#caVyK7QH6T(qBnGctD)rEZ zLeLSCEy-$KT7oAXDRPbwavtWQ#d*@Rhi^y_nkc=GcyTZ=aJ9tqYO&|LLQk7Q&o{q# z{s&=!U`W}{KN~&=UPB@;aA*ITn)ch$QatHW^IgXrrdaEDGWEt&YgF<8x(YjBV1>zR zK#-6Cz`23|;2Bv-GwY5NkR#+hm#rYA}dl)kZ_>|prb#K zC<^90(r@YtfA$hm|19?wo;nuP{m=j3!&8VJVQ>06r3PI3P zzjLDi=S`%A80Dn)Ab)mXoUYA~eaV+`m;LHzclOZ4{M>pUm5 z+?Ax3BP>zkWJxva{^!#CB{;AtQj-P%5%ijXb<5``LRD~pwGE`>NpDH-n2^|wkLPA5 zj*v^F)mZNOXnzAJb%7F+c9Ruav#UNoZBsX|gJx2;iL_rc^QdM*o~j?oAx%VKA+<(X zT{%#KiMPcJnfU~nHiB%dpA0bi&nxw(kvg$SCrdZ_pDdG93B)eI8|{!esbuFyCa{_E zf2`Br7H>+(|HCjLqKMgN?P6D?j>amsBc=7f^0qjA<;8~PH25IJIs$2WLzUEnq-UUI zdu)C;TGC~~6tWvr%|;+NW^)2YBvyw^t~eZo@9Gy-g^`@ryy9RKm=qj4eP7~r>)T-k zyN9!m$+&L?HHi7lfk_=RHTKRou-_2@N&S~mlm!jj+s#njQ=b6pg( zNui*RoLdqc$VoF>3!{$ih$3zw>jX3nac6-*ijlxDS(_OdbzUJYwq+7{l|O}w^E)}UXg1c+vP@DrndwM;)? z3|4LFFC+uJrYhO_4(3EU&;6#!UuIZgGBw>HSo{G) zzc3QX$km(42Duh!r6LzUa>*J=`$fDcrvpA{sw)jxvDxSp^hGj`@_{Bz3T~>|Am8dOn>n~{Hg4}`b2zA2Xn3$9r41^Xt4ZJ z#IW8YGsrLe53H1IaL$$r2pyoc`@<3=jWQHPluTYOYMW*5i3j!6p z@vjZ?7uI9*e2m&Z%rcN4nu32RE8uHgTB>A{=YJ43{jg4=o#&1%&fi>*+3&9BpCz5# zn{_6uoDCD+V#&7nXKVb-XB5+@!D90r#D|F6Ixs>rsZ6L>=f87U_!QDBO<7oL@lfS@>M zCqtshL9kq^b!AwO5h|;U ztVk$`NALDm7h!!cPcw_0^UILf*f$`Hd6ezg-h?5kR|)L z<0&$LAm8)DycT3X!v%q^8q52S`2`^UP0mgRTR9`9`TJ^^ASlL;8csJFT8K9?IJ{ER zJ+M2ETd=&lT2#6cfJ&FaXI9>Ew7Skh3Bh zaac#`bdJ;K_9Gz3@yz|#%1KPNj$o5p{(cif%@ab2?Dg_-BT{k?&Eo8^*f(7z*L`fbOvPqVXlYBm%vsl}JW`wtwhnN$*&HMnjrv$kOH=B>x!^`(0)XcbGAm44o51yHXi+ z9yIQJB&2r(8Zs1L^8PvG(r_NWsVaHBvw;jO)J_bj>iF%(ZBWfb^EPzuJ(H@WZjPOi z*E1tM4DN`WT}GvHiD31Oh?^fYH8vWE(z_L=g9VI?^t`rf+ncaEoR#T`g|1^$zV*P9 z6ox3?c9#JafOy1V&7%%HAw7(K)E`4Zh5=M~#oQCdNTvkkg91@uj24CW*m+q@*py;l z6#_g05$YQVyhoXtWZ0AiC378kQqWMjRZZBGvBL3CCqNMz1YiqE1%lbEpxgzBg+P7^ z2y{T}K%r2@jNUOj*d3Z`x82*-H>S3>)HhP3UUb7C+UC!T=L#s36qWdih4d}E6DcDQ zop>wn949?y1pV;N{SXSUip26US)?q;@lQS@Md9~DP5`njWC@XXc=}~C4iW>BYXI?w zNH%xM&4t(7Rucar(g{hVW=_`7KZpZymhoeX-axY@fSf!2nG7*u@$4MC+ahvm#8hO9 zIfHly7r*NwCk&~kzta4rm*d3>O{g95i86sKb0_rNyH1LHly6iuHa<2}7g%-=c=YYR zX=8IZh#!~_a~@Bmd@Z23D>CcfsgZ0ixfLRyu=`-vA{kv0H{>v5{Z(g}q~;ArBcLXQ z={2l-Fv(^5ZiQ4z!^)Dm+wR?S8DH@fGc%=ym9ukru%7_x_l0YPKPz0+hCAc@&eI>d zu>I^??XJxlPxK(|u_)04{SEq0T8}c7E}RWk#iG6BcCJoK=;k{ate$r5TpPZk57iUl zH_l%4`O)QM5&W2zH`5`?64w>+Gp0!tgH-uPa)Y|&c059o2pG=QNebl!$z)MqVqni# zzCmW4ZAfEF?-k;%O%spo@`vUo&QU4i`-H6PCCc(^E?rX2j$yGrpViYw$j})6(6sn5KS>$^|8#MExpa3TIX0En1DlZLW|U5FPvDBr?l$Acib>9f>On*2Q9jhWs$ys=%-N z|LYE<{TFFFTs4p+8q3q7owyyv77pdXu}nq6+GOo%Tjfo7zc#!=Nb}5`gL~x3UYLAx zE#{i^4_#A^-v+C){Y}fGN6aj=X_(gkNop)GG*7VMnj*r{@@!{T-*2Rj^1bnmATJqIuy}nkncRKH8Gkp#F zH?Mn?;oE`CwT*6$%(bm7-U zZ!+kX!)UVbR((Sg*V~md=rkeS+_^|!vwA1h)y{>@E)%?lz+Yd$^S`;>$CFFikFd3}&yr89 z+^e+^RvmJ+2x^b~Y}`kaL)wp!wFu6Vbyx2qY}_Z4N7|2|wX#<+x{J&KOGVk;CKHxh z8@<~QTL9w;<(A1+zykgAnuG2PyjO8K;`N)%Pg!#;TWq1wJ!b(>iMXp$O(@fJ3KuQ; z>3MemEHxc#^-(D4TJmzM#N3q+89uL#FY4YA2n>Iu2*;g;)Z7!1cP3}G^w%VH#u)A!i7GJwj5@DG2n zYxI8H8w6SzxSP}g&Ody@Ngm_bY#@P<04%tGdAGNRXbVI*EHTro0!ZWLMh zivofb9O?I?@Glj_TV)=IndmIaW*4;vyY&^;P&o^TCi_AKVzVQ>KgY}p9`>dRu z%)cI7zs}-BYM2DcXWIPY`0>j zmshsGRyxFOU%TEhW+H#(5aeVMFn+msX7zN+|C*7H!JsT@Svm1}b$E!&@foq{`ODkh z(Cz3jZu1MzOS8k>>uPT-Wuf6Qr{<5<=j-~b{l6PR7pWcIg)u|#v-jn-yO1HbX5NC< zeXHxNF0MDX#?+qAmZtCb>z(hfcYg2hot^KKoyW);9pW!-yqK}6OWJ66ulsQ4wmYg$ z54$s}&6Cc3s*D!z7pe~xejV7B-fGVA9)W|Y>$w*S3cQ)P9nGGNc*3u??fJWNrB2VkF2jnMT|C)6pMFDnINIEcOAY$2U&i)tkP-II8SDoR2j}KD zALA9TdCXiHTf5i5>HAu+J8)9%U!EgxgwL}}7xQqECTlSW$+R)`TX19W(XWhY@f%Z# zhtrFQF(3T%FZXlruhVm9?+5axmV_tQt-wzUIar=0BiH=eAJ6-T_i9ox-y>rN_IDdY z-|tNP9z2xUK5wW5KCTY+tuOqWyP==Iau~b+>X6Q+QDfa4E?hm%P?oHIy7eJbj1+#I z6}0I3?6p0uBrJS?cf49E1t~<5=8KU+52J^kr|254Tryqzy^-34DOaoBE&YbZrYJ$%KyY={Z!q5NdasBkY*D>9aHjf~H(~WJABejI4CU8vZCxMt`#mqL-bclcnS|UV0d$xE zlJBdxH$uN1LnJ#0XP=I@zmLSFi&f7zD>1Z(uO>@=Y#-ND@-Ku$6U4BjJ_&k=Vvjzr zkIOY`ggf7_ukUuBulox%J3bw*o{qKJQ^&HfD7!sf-CrjK74kmcS3IkGfZ8v+Pwbc8 zoR;ptFvHN?uV1BqSmlkL3+8_(YeRaO{!H9vDdefE{~9zRw6{6FvBpWqjG zJTb3*P%$67wudYDmFa6H-BKUNz16)S!_G#)J_!={0WMuu$x@}{Omub{M3^rbtxjdG zwZ?++VekR#VrBii2IAJOAy2!Y0ep9UJz+Cd$tCx>n#&`xMF!f z^5<+SF)ruCPE+IXKV&bLIrLV1=S0ba2p5O#VX&7P^5x(wI6oxH?GhMlB_;-97KKub z1x0b^A8rE3EdP+x+Y`&$7M9a4(Rs;wz;6q(8p|hGOH>RXp2x0j(-W)M#52rrblWGU zi>z;wIoqg0UK}~hRh4w)1vhejl%C3t5y#&Jmyw>0XX9_iql6IpXsBpDO-tGighH1n zSwNRrW-K;MUAAioxF)s6wl_=u*;v{Rz$-4{oP!GC-C4PADs0(6kw02v4z;)EbB>Bzl+YDy($eGpD2-%}iwdAX3Tsb(P>Souo8H@wI;L zmx9<|#_+UU!&P>seY*0HP1KbR>%;kJIbYE>OIz1iV7!K+sjev=XA(p(us7P)%Rj85 z|C0(?GNwPKi{3!+4b?jq;?fcsR~z#0jqM|MPsarHc~!D#h~4~BXmZoj74FQ^7nf|p z%60<&euk4JkZ{z5Ys1wSiG+&z-^^q{iGE#b^sDIs(6&lpVZ9{*zPT)E=aL;L|mtH&5__ zLB91z)0gs|L=%r+DF=rI!=6YfpUNEul^$;Vp#ln;=3n!Tx6!dJ9>0 zWbeY_+kZEW&I9R}#2-Wq_qdaH`j)<T2|dQ1WcJg-pNG?F!2+ z%gTL*NUbGA2V#68=4~Z}f9jb3)rdH-X0NQ|8?oiVgi4Q|!s*!Fzmu4}-)o523*+}j zdW1(f3e)x=?VF8Wt*|#I!x?|r*m&s&6Uwfu5bvgq;RZXQD)hi7--ZR zN?YY8PDK^~?WwKBOL0h$3VFl%2QM@Y7 zh@jSADW2DlWQ(qwEO_4e@hXlk9{FtrMR3G+HwdqV|MtAPCn9>^>ZnHAM2iqxU^k29 zg4@e*CPMEmBKj#2s&934L1{qAH_Wmk@}?IRyPwWEr60$MH_Wrf@TE5uyYJ6gu}&>WkZNtG+IR6uLHap++Iz2pA=H-(lbM>+?X#FKPji8l=k z)%^P_=oK6V94{#q7u`*IQe_7lzg0$rtgnL_<-tf>UyCeEud#&ke*VDbp+p>13kV&0 zu0b$KteY}HQL$0%)dN67E^66WL)j3oSc{EbL?jI3Ni-&iMSnGx*jOnh>&aR?i|L=D zFs`$T`izw(zgo3rPRpl}nB0GAe4VariB{=qRZdwj{}HwP*k3L}TlEy1H-;?Op_!-^ z7Tg4dYicf1xt&)cQ50r{SRi_~yoMl#x{zu0ogd_^FPhQm zccq){E7cWdqWDj?G2X#8KQ7S|)w*yq!;EBT8*f#}=t9O8!HnpqJ^O3Ciz`#NAOmzmT9N}&`QE{{J{^9jOwn{?L&>C!v8glJlEzjLVzl<{sakxi>eWG&)qvCh)y$V$ zXJEqDm4b@M&?b@Qr#sHs>pT!KdZc3VjYklih|1sPm(-O)X_82eA{!yL*QSD-ljQ`Z zJ<69pp|?B_fh{vq)_Sw~&0IkL-99AAmeccM_j`1oeglah$`|IobrG^oLACHqSy_Ho zhv-w+p(`lH7-<&Yf)C4-{K-TT-NY4TBY#e3DdNSj5{jc!9p|jGC?SO?sANNG-jxWl z)J-?k0FA%J@9L4x`e&I_bm^VCeY>EZk<3-`UwqV4>DG~ssF$ulGR!m4`7=oWk#_Lg zW?wg6N}f;!V9`t^7^ialx1sSG2AgV9-mptUY7UZ%c=M&UDE1lYVRr0at$A?`u`iY6 zyf^1s`q79aZraE1_ z&BYd88zB<{4u#oQ-&7R8u;40mu z+tx7KEc>59fs@m%Kf`{${&O`Zq!bhW_gKhN@sF6nmj7MJ*D>9MAZSrAX+rX+H||2} zS7PGfNEm>$3x#0!8(^>3fUr8~5yEM?j}iVDVGBGQ=xMH)rrV1S)nh}MG_~f@s)SSJ zkrOdz*ThMD?IqR3`u#q8WE4u^E`l5Imk@Q%1MP2}_B0W_CGd&6$$?LCN_HzcZhlEz zDeMV>+wxVU(+ml+)mI1s{>75#{7jhirJ@A5gkn_w8k=SzqPZgoea5zzLdD}zc2jpb z^IvQ1>J0Y=jnHqWh8@l+^>l<^RVp6MrbQ>HG+jj5f=a)ly*@VHYt(wSqfM_Ej`?*1 z7gud_h7aucv!<>yr@!z2$upj~>P&v$rwqjCr*?qayw?9|zIfb!sm2~|(b$07>>=Y~ zXU1^?>Z5tgQD}5UU0;5d0DDE7ZGGqeGkx6&KR=?H`_K^J+;Le8e!oO<55mWdoVU0p z=1%cxvCX#6-ys~4En3#J6hgo^kvVuB@`{fHfrEtW5AR#hem_)>|82RP@wje-Q*iHB zXvivs3w}O#?__6T5;-JzyqB&X{r3ui$%B~udzib6U@JDS-gElYt2QkS=1KmTf8e_S zg}vqa8*G33jL--aI=5A;x#C54h2AQs05rg6_mQ}r7K!Oi@`+^{~v zZoG@sgl6S`w9QSbdA22QTWV~+o{Q*zMODRlaNCmzhx#E)5^5bJ2=cO*qg7cgYvpc*wxIT(WY$1cSCCAt{5T+fmBX`}_3<|kPL zF%B-Rj{jRM0Ja6XjjU*Ub=X=@n!%9eMhcq(Mjcz*2Mqq!pq{&dPl^KM&f(C|@}^%w zUr%lJK`m@d~o^i3;h~vtknM5Ouswr%R7t-5|?(73U zR&sze*?wdJoe-Tw08cU-rciqxz@A^mP0P0)x@Sx-j60`nS3Or4nHyJ0Jj4b+fbs|D zg-tr<*g%9e2{Djtk%`Vq1hh)j<<<8%e;kUgP`@@~5rjHWb<*_Sg{#5uzAp$y+7JfR z5S&eU7!87uM4hJb_m&pzhL%~r0bKf8pVi!5{8%J5j-@f&ta=l*`d>h9UHKP<6Varh zz`b;_UfrHRaY*rQzyPqU{Dcjr6ev!Cg8fE^QTBLgaxx-H*3n#E`&MR3KCbk1_UEjPUqs}HXEZ5<8YoevM6`>xFwPcV z*aHmXs`GY)W)b6aqDZg6n%FeVRLG_62r7t?H0e z0CLZJa|dq{3497@jXk59tJ^a3YhzSgAWwQf(?9sSp8c5*gE?1c)4cxZfSdQJco=m?#4y%5aQ%m)OS5eOL)nn7F=YCZ#Ij)eS9_+1G-zikX= zuGt8AJqA>504p-DlJL30%NL@!*KB*oOrYMQK8_O%B{KMYq<1Uud@dYF2{?B+s~yfv z%-t7)$$E5_?=(4TGpVkkn?QC9I9;%rnE{li5fUCLmlSBw=8t{MG3GzQb!y!81A_Xz zu71qf%0{2GJc;=mIMHB=$QK(S)X`*e5s_gO5{Ee7P>jb1voshI1~m+igu3xzHp>n= z%J(GYs>fQbMtOK-o{aoJ3d>TfD5F6XVuJ=Yp~egMMvWk(gOEt1l_+p4GnGIj{XdD8gFIAezOEUyBz8h6xa92tP12#)GAH=f5R7a%t88fHUVD$azie(OYKcjL zM8aE5e~NDOIfu#=_buXfZv+QJIw#O0c5~-iWetp?zo`WB)*5(7K)`~wy$|g3*SfY| zddchObW=u2gi=OFKT|`=h-7YAJFGnSZyRU7s8P^4aB@WRL5K#44Ft^c|GIEIlg(oe z7%^HTb#FGzt4+oN>+kpa#*!Nfq>?8(mk6;lc*g3E(k9C#?FN}OPWplD zkr|1O^*WX$djurE-6h(i4zD5jKC{cYTsJCa6na3I%lDxlmelt#j!=ezan6Hy}&(N0rK;S4Nd zv;*_T0Av<>Vj53hEA1z4sk|QVfgozGM*brqV9VcESpu29zf}zYk*PxsY4lghYXx~! zcwh@res5+_+?UCQG?%7f0eCV;zqwM!^BkDa75j9lvzOOu(KN&QlwH>3T}YYH>udCA zilr1<)CUuG*9qn~;!j3`;J|R&F>G|F^&q%?8a_rrY?XDX*K0+KYUoZCCS8 z?yRsd9`2V6P`?`<%#e?gCNZoBeQ6@%=FC`2!|zUeGw_4lA<7kdhC<~V{7*~3W6em} zejh~%61X^u)4+DPE6c6Y;|6l!_2}+}6U4Jk&cm4^u{3I|!ndjFsci3oGHf`lMztzD zEZE?|aT=2u@qiMhfeYGUFvBDUZ53nn@77G!*JkiQrRiDaQMVQH`I53Eei(INnik;H zIzaY?hc=h{C9yCWd7-^)&sd2h)5Z9yG-x_$RHD<@KvYt|gUFc$t6{j_)Avh-bGXj6!1y1 z8F(W^Iu?*}4zQTpHT$;1BU{((v60$nn%4u4@*Vx)-(IM-u1Amp=HrCD-B~<`ggPx%~Xp^R^pning`)o13JeO3^*B{K20G{Awqa+Wjqnh>BaIW-V=FP)KqWCP0X#=X zh`(pzh4@Hrz54x|d^ji#NXXHft_VB8VO0}*jxzLAn+H`Z1PO#AyHq^qcNktXD26&|B@@_J(`tm37KzqJ zt-nrM>_tvR^sZCQA3}<;@mox)k{Dy~xrQj60+G&JM`T2iEc;ojkp~tuI1?V($SX zMY}r348fD?sC%=$L}si_HhTj42e+fK!Zd7FSfD1X>M2(YyEyFuC8M$-^jF`6Jh7(f z-qyV0z(1hOV_ljQ0@1 zUUd$$qM9RJU$yQX5n-c8_!zVf;FFZvB0s_MG~3f4qsje)R~YEBcHAWsl^~&mK)!tb zH*KjbrD?fRcL}Sz8E)loA|t^mOTd$f5UreLQua|2gYiz9%GzrnH)E(V^ce#p7KFg^ zPP^9hy<>h{Or#--De{Ps9~Q`?y0S=xAsV`kQkJ77OKZBy4x;-fUwQ+KHU_vrXWEue zs@gM??M6W-RF$GAc?8Jl&sl9m-YHQbY2_OLX4qv#c8X@@x9B0=p0SH2dev_VpJHNs z>m3lq#sNTQV8f|7hu+#0COdPPxMfmWS(=?$o+nhulLbJjVWHQoDXG??3Epf9x7F27 z20kDl6+^6mIYYwIrHcbs#IvO zq+Rx~F%Pn=5(iGhkrnad@g9S}0ao-&O8 zM}Lc&@~X{ke0^6BtfIQioaNH-Sg0;S23gPhu6&#f-{Ju!StvR_DoX4yT~>XqQSlL1zOfx`WV~Vq$^%@CzSL#+FCIijhViLIGAM z4)uPM5{-U5V}o?YD=aZ#Ns&hXCL6r>Rju;yomG+7Mf1U~E=kV05EP_PuXfpwphEj| zqSCnJNxZN(mT0`vRK~GS4$|jshCBbyYEmGCOlR?aKLa|7vueq`SvTth^}LfP`H08_ zHQ`=ZjqUz*@-3z%E&|MDPz{I&gA$mBt{j9XR5R?WDPqZ5)rumSlp!Y$%e99mR<%C8x5f}Vq#&7_ICqI$l zzn$Vx^{j8UBFUViFM+Tbj9v9R@}LXjpf|D|AX3hp2X3n$HnQ2OyNIJj|<- z0R~6jWux?J0Kvs4x>~_@1I3-xKd&taZ8KGkvdeT@;VZg*)W9auhGXnd$ZO zF#5GOg&6Z#0CB%VS7E3I_sOUNMV+Y{Ib);PEVuqY;0(aP{0E$%{|g*y8Y*Qp0inGA zX{!H#15uLuyUrUrDEzVK2RCTr47&O_?SGAz%4szkkTA!Sb?>PE>1g0tDN-Dl2Tk$7 z2DYw)1y-7w<$yq`hzM)3aZ<6I5y&>26)RB(fL=9nayM=(@&V7-6eO>4||6*P{e(L>Dpyj~h=5A8&kvoj25&`kb=? z82@3|9D19*7HozAmiU*VgSGAi$)yq*gde68<`s=mx@I1u@w)Xq5rF1lJIeHEk`a)fj8&B82tb55v9i|nO z7c+!)Ra>--1*1{Xd_)tvU2zoZJwzH%p#GqZOhR7VNYxq}M<>qsxL_8A$y>jH+r0Z* z(vr(MB{2-vyRj!ui) zs^`}twU=q?Ks6WhTk_^ZN&3a~B>d)1;H+S6VYnDdcPn6k)r%jVn-DgOo4Khq$LLte zN{1S1>VqS2rODqp;+nSZjI;{OK{LBOq!GOc%-S|&jv46JL1jfaZyE4N`= zFl^Y-f}RQ3j*P{GdDDJF=f2p{?ApTYNdir`Uh`4FFFYXZ145QozwKX8A(8V_NKb=j zmVz!uJ(T5lLm0JTA}yx_tsKqO-Wi9chXAOswpi^Tn8HNk zUI{7AYF1lBp^DpTfamW6KT{4KgI zDz=v8xBL8)OFTVxN1x(a8cDpYK6M5If;!D~0*wTMf^WWs_+Jobpk<>1%*d z(kyKKb3@1X*gtmKB{$pgEq1qF3+m6 z?vXH`B+xzEH|vQ~Cg^9L4C@;WLLjr;Xa9@el9C)Q2mM2pK!awInu#nR zKOz>)+5tTRzMEh!o&IYUq$U4MxPGv{m{OXKJ6%xSU~CS~D2#{gPr;ws~y+R!ujuW<4gfR-#BUwpw zm8cN5J&wBatD>d_`2bJ7BC6H|*Dt4E6afh&zg$j711WYzTM?r zBmi`+0UQgr*fB5yBmCG9&iV-o^{pl8wKdoUqu^Y^7l)>^$djlo22Rs~%YBJ7`4-a3yj?;fI_?}6U^i&>cklEGn#yuUsdr-?|`hJ{bsWUvQ1tzNp#n2xU3(am|Jyej0=%u5nZMI;GNE#~K<_6Vp6M=e`9@DXcPQ#sQ$rBkybR+dQ#^)cZ}RTy{B zlB@X7)RsuMf{Hb9r7E3w=~Wx&t`?eN;)H^(DG}JlMS+ByrIMK5{lQU-3k-8umiGf* zKT}M&qOR2j8{L>RJ{@ay{-~!KtWMCAOEMabe~@+-r&^;6D=`FmSLHgn<+vq}pfdL19#Tr# z>}{LUu>1fk(o{B*IKL}j0WEzlDEr+AU%(z>>H9PWm`JE0@(!-U2#!TQ@44*1Mf>~} z$+ZrLnuW~e-!&(_^H1D=6+x4abPCd}G3_qhDehKwwC=Cj=LN@SfCys`dG(}D?S2G3 z#e4EWCc8r-HoCC&0u*8N(n`8W!dhQCCbHA8&4w$AyC`f(jBNS>dIX$(i$<&y_&mgw z@*t8Y8mChJu=xilK_)NyI0R+#fsbO)Fq1K=u+{!3m2Ik^-2=1}P`g<)4nBVTM5UrYHm;MrSD&J z=d?z#Z0#H`%P4kHrQo!t*7Q@=%U?xG9i|PG+CNl;sZN^qZHpzC;6VQ>G2umGsHPg!MeeSV(kd%xnULf3=Je z7vppl0&<#sKcrr{+SdAl4{bN9uP|T_j^7}uay))BJQ5F#i_2lRA;J48IF|_QIs*cD zzsAe^0KASyZvPVNXj4J_U;&*1+bAF{&7fntP*9zk7bCP*8>5Da#5anYk@Nm5V`xE} zFpHB&oT%5b7NEKtipbZjUL-7+nHvhL;ZjJg>j*B~Fdzju)KHVg#!#2B?xwhWfD@|% zVTh5mh8Nm+b0{m_1X5c)qS`32df4AcSeB)NdK9QgoXNo1QYGmv^5&_yNjk~!EQ7MI z_pJy`f?V~2yM#JiA6WZUu;Bi(wsC&_khkzm6LIvmn7~?F3?TJ&St_-UtPQo^pm~Dj zzP@{iy96ZFwYA}U2Bg2%5+#R3#cT9ySMCdMh_vQmdWK7jE)vP0-LI}?Cmc!F4K(DUp*H2@7+VYj0N~qm-ZW#))Mhnj)+v3fa&VLWT;h}0rJ5XcXnC8$Pm;B-!Qav z=^(!PhA;rxSqfHzgl9(S#s$bB(iPjC0Icivv|5Px5*3teMjlkjvv#{f|j41mt@U0*D zZ-wE+In*XhtVc+f+{8Vv7Tww=ZS7`0ABsP;7;ahRYUdrkm*6Zq0*EN0+R_Wa<9O^#8(u7KvdmxkqLnJULXnx^&>cF;s!oVP_aykv;8}_}5IyG<4 z@5l3%jh1d5uTED_STug&Rt~0br)ze)@mw%

      *SyfR}Y5Mh$i_-9JUR8J`E;QDYRs z4Bp9)gAB%Wt)&fszN?@9j zK=?Euh1T1C)<9Tnz8E|xy*m_-Yk5!tw=9M11th&R#<2EnJU5U`kRtV@>+&Yu6*1yi z&j;Sw`F{u$J|>4Z%#an!ro6>$^!bVFSax-0@xy(E)&WbGKVr&Sf4T;s=gDmPoQSNaP@hoblyHq&i_& z8H~++?b*4)yu*J6WL^han_1M&e$&j1o6+U%#+jAAC>>o7Y&DAAe>+ob;Ch;#}N}$6>KB+EJ zhRgA@(N#*kUWm4Mxi!A%61kHfLqTM@l7TwZ9XFGYX6*Ju>OOJKl>>hc)-dN@BO;QDN#3eg7HD-IFK|Z3t#A6_F0KPk^k^(xy(2j$ zowuZ0JcUgZ%w^nt)pCml?>r3Q@A2ySx;s5z*cm~w%hA*Ee?=g#2YYg z;mYI>LBh$~mXf`8aLO5D|GgN*GUi{1=^#6-JEYk8^ zG;jakz{8TvA6jGX+rNrKn3K&8>YPXFHQcL{3#k2Chw=TLPshj7)ghound0~fWwPQu zjzg}wYRdljs|MK1?6qUgK(5p%yNG2cPu6kP+dv&cgm)OBDUkz5X6#PVIz>1o4D7)A zT8=;|IR>c1hp!*m#!mj3bh9|N^9c*cc~4V{R{>a@x1;!AlwwizvAD&!8Jw`p=LW*J zbPsnx+cdph`>!UZ4`o8N~Hp&nj9;)rIu{s1GYSXvX~QIgZc)M9CIxp7|sN)g!uZ8(J$%{~MfeF38? zCZd$2gkF3ABlISzV|*`uJ$uJ(%13w@--+bzsI2f1FZ55Y-QdzXxG#gmHIv#?;I(WR zg@p9RS}19xrR;f%fB*@QevkyAkH{+EyDX4`3ao};M8pv3_P%5O>337pk?)DW@0r~y zSmBq8{Ss)ay%IHv#SXBfe3}680Bq7SnnDe%eh!BiAQTzd1_^hb$iuZM;B?nLxg$=y zRpXnjy_@Kc%hTJ}y-64BspfWb)&b4cGgd6U5;dvua$t%nPYjpiE>QCoIb!o{D9`oW zRBgDJzNf5Omb;pMxtK|J_Yv}jUB5Tl$BQyXgKNac%rt7Ppy^XMz>iK9>R0eQ{Z#)Q zcGG>kji^nNVg5E-GQLYCN#M2I;s!k2pE_x1QoMH>en$+yL1}a3qH&v8N@KO}-#@$RESQ#aqF=o(Ol;ELw0 z!jn-+ao~i-$OeKVnAHT>*%RN0{IQB!z5DR@e)kqi%*!-VQ0#UDPz>W({oZ^yqklAT zW^;HNoskV`&sBGL#)&mhK$wtI{)AlMj~N=d^4=g8avi{`ybgGtq2kd+(LiMx(onVQ za6kSxu-Nj1lc$vYKOtj6PswqrB<=Q}iXbfuoe1VMmR>XCU81{}sP{vI;E*E4h}d;? z7v>4%9FNJH*3=jg1ds*=It+lvF)LpxGBRvWtdvQa&osZyQ2WuU(4ZcTm8;>&tZTa* z4=UWpC-&rg4b1#8$xc)Lj4{c_c)0hDX2i!QN%O4weQMjRK)Q1Jnx6`%1OGq;r_DbY zvfQn;1m4({Vmkk#dy?A>Wh%u?Lch8jMRmP_)MCyR#qJ#EYS}r&fIAm96|=Ep$1k?x z+&Q*quXy5kx))qpumyhbYP$4M9G=Xzd%zR($1E>d3dj-ApEW_hDo~QydWmRW4Fm5P z9GUmR&SX68CDp=N4gvZ#*%hO5pel`(_d=<$ECmswyHwxReF?&kV%p&BmTVcoG)#|<3+Sep zE!jjyGieC9RN}YHeU&a@;q73&ZWqrYOrzmuvH;CF)WFsLaE!68;JbqmuwZ!yTD9>^ zS#l<-(~g+~XAs>*;~gd!&M1sWT*pABKT(Ec_};O9>m(7`nDY9n8TN9dr2)`u!rew^ zIJ-vBD?ow2LDBh78jFRGfr)=Ca~m+yUF#Yhtwe|jAi(a9$Ipu!S5RL(Hx|iTOIS#T zA{L1{g4-vf3tDPe!#xp2&K#xZE+f}y5DCiv1Y;hzls#7@*cusq*?`1AhdM1gD%8Ev zb`Uy$A`z@eL$4O^v&?s4$TN zm*tvcbT~4I1b0D*Aw3c*t#A6l!-R1p*wZ~MPTAu`^7jvx!rP48e@~KXnfAw_hvu&S zb?Keynrwhm287Ts4ZK+jGMAjVo0s~nk+B8uV$3D!o|A!=mokI(w{FM33d@z01X?M> zz|}*i&8Cj@vBmgJ4gm3<%Yfe~=Y>}WjilQmY2fm6#IezlHkt~Tzs!I)j-ZJ)QkKG) z%@mEJ@OkO5*B>hyr+D(2)Q6ePm}UemhgL>D#g_X%nT=8u@O|X^|Ezd=He2@9!pIBw z`U2*3;$sXgRrIF;`W9xkij3M!8yWe0Mr3mY_ZVi3ww^mmYqE1X3_|>zfCuqtq!D9c z7rx7V<=5H0uTg5!1|_{3x*@09lhMb?xV<(d7sX^j@dhb9#Mi_=9g=)Y!<6F(qo;DJ zF||mOC@N?~{pttU|CxH-C#OKTe1Z1ek3 zJfxHOBej1oMi@a>VUxa`(&EFF`8s=#61dX_@W|Lv%BsNjVRU|+bg(sHfnA)Qq*F?7 z&-jQ%v3pk@_X&}9@RFW}I&J0%*oDC6g{C-#ZAGli*s;g+-FeGYvB&6liGiO6eQ0IJ z)h;D%BiCw*8t0f3-}6b|S!&#~cm={bg>Doab4LOR!4Ud#J#dJ%Oh*(9m-s0^amyPl zywC{-@gnmA41xlfr3pWFTuZn8cxRV3>GMijaFzxIq^&nAAtpjAs^FcV4eMR;heVRXBS(5=aetE<5M4&Yw zYsjpIRWKZW`;;$d3e%1-bZ*K}kQ`(4HNzWi?eiBG*GJt7o+Utc#_H$&^y;zjoQzHgSVc6E~j!y;RKB#86-!dVD`c$3m#n3#6lvLd}sW9Sy=}igADPBIDwr zW4|yKP4=XBs5g0jD+yRiVeD#Ls|Ss;dY(FyCMc?zp20U|pZerIE0W7+Y>%`OPq+4L z=rYv+QDZev{qA5q(sILHpg`g8F;V7geo&0M=?1EsC@WTOWJ=F9u_l(|nqyU|9(Nc8 znyaU(9}Kz&vgdZ;fN@7Jj;xEo}mYKe>OY%iUnBbS-(Me>Qz^s$u zY#iX7;E!0HA2>5R!#o@g zWtcJBYt^(zste`UKwVfsON0BDr;VX74`mD3d0%bzj|JfpkHTpd$RuY|_l^E0X!_Zl z49uslo-NK5fcg#q`Lv9ngO38`cl)Y<7U!z_jLu9P>8n1=@5@@4uIoJRUvGO#t77kK zL9pFU%q|t_O8rW%7(>q)<7DgY2Jmq|o$^|#bj=L(KDmpz4rN^n*0s~e-PiWg1Fi%U z$6I@-_on+fyl0zwk?*O`pgu0({P@l5lRePwg@GUlyF`{)4HYM2LrU(N?M9mX?0IQq z*9il8sYm|3Vw6D;*Sef%wWf79)86H#s4m;cUQRkwuP?STcgoH+FKKWn<0D0PO#iG5 z2&1emuIrEZy`03Nf_3vlK|ieBx+I?C1d5b@f!|TyS0(6#^YkKQu#hGPOXp{7=|})- zw`~wi6t7{Nq&=J?0H5;S?2Bo~RVO}6vR@;19-F@Jxn`M)*H)Ysl*x^c=F3u6PG5HQ zIj!Pdtn6^1RMoF{G|7l;hN5IDg$9O&;<*iZec94P7&AS2c4=6{sl2#EOz%TqId`p- zWwOxK#}_7AZn#@Dce#Q~Z_6f>ac||MZ^)q=LxB}(uA3^9P{zeHS+wF=>A9*ztUL%j z42HU&=Z08dR`2`m^vc!)FRNcb$UpKV90Bcch{Fw%k>V1O;-Q7;Yj#YAap9XZt)W3OW1)QR-B$d#U^mMWY7_TsPFiOLoF2LakhS0WFn` zKl`}2^0bN+Icpm(eJX9|p1;&aS22;tWkF1;Op*EmYI)Z777RJ_n9eOb)^NMgQ-=}b zr5(c~`ZeMz;GIgs1jL{=ZPc0lN)>Z|g3AgAzV8owqaB}VtZ6qV+%i-@D^|o@Y4Fxm zwocW3ej&Up^T2U#LC|b(q1QCDQBNk3{AyRa!`7lGJ8Gyp^R%@1(rOteQPYkNhsIo{ zS3f0tj0cQhJFr!EqK9_mU&UT1q5mX9@F`jWZb}t0jY)7WzYNn-S=~^q__~*fF8~wj zki`9^Xbe?LxTS*c9$e;xcTuY47tCE)4QHbs#O0nQ0H-6n%-5$eA7qnU(I^qi)T(&{ zJOX(dL9SjUgZ*T|f3#2Vi!e*Q(+5^)G)gWy5K3p1fZI1%5`jO zWLtB0kuC+kc*d;PqA{2FFl}K`f;X7V)wWDZ&IkIlS_;+hgF{01JTXz{5l#w6uvua3 zqgEhmhdD>Y?J&f546D>&M>)m~Dfl%3=%A z`S54{Pz*|~>e%p&_UHU^1AJNQ#iIo(eFzRtrY!k-W$oPPeb)5i!*%@ahXtQ398uTJ z$>A5dhDz^4PyJ~G-h?fJO06ECmK*1H78kZM9JE3MyM*-E31y`N%%p*fNF#8OC8id; z2Njdi*B*LX0!&=jF3ECD_Ow`c?KIdZZSA5#A0gt@1#@Osp-!FPy#y9dcImbV#NXLS z&c_tAL+}(%qZ%&|d!p2@#tNIaCvDGD(BjxGK4#bi;Z}Vb)2ixBs-+;J(TDETJNkx~ zD0V!i#S;2Z;Ytp;={YHuYsGC!SMMcbM`loN^Zh!IQoCOEjpfmYRFefyDoMnCQ6JWC zzM&oYz7#pZVR*(7UyGX<HHIeg&QiOGPaaKo35%wF3O4GhjCVRzu{z)|$utR%t8i=mMhg6b zJX}-7*t}}!L(%pu>`=OC=CW9}O$q9vy1Y*$b4sF2bqSJMF_M*Sss39_TAYI1r1&0n zSNR%G!zBalGJD}pY_<}mI@-`1431_f{_X`cLt#h8g*0cY1^3V&cRaq92alc>(|f>t z92Vj@xd%6l^a1xL{M=os;F&%w`=Fc&@*PCnaT>e}z?Vr;?5m<6#OaOlosi?}d@&_`+KEy$Ql`jPXJ%6=UiEmwmH@%Tg_t&}@fupwszudW zY?-9;ba8oioNGagZZ>#so_fu@w>sL*)a0hwIO|&xfyJW5`L>0+4C?~vFI!U zJ~o|HB&srOEAmy5*8!l%&IxlLiJv^<=5nrtgnBt;Bz&5A97N1YLUf+zUuih?f8OM@YZ~xMq>_|ll5&L7zr!m&_E*DOt4S8b1{&x{8L9#G-4p2z$~pT zjbpi_4cT{FEuo0n3U@bfUPbK5*a6#pGmx=8I8scvf$D;y$zf3ZlPu33D1s}sN=`&r zJmnhym}Ff(&gY6kGuMy%4R&VuU5r8Kk=Y)iK{03a0ikp&7P?=SeVQ2^Z7M5l2P`9h z2C4A`E3z$~4vKsdPeNnC(6t8@PlsLFN=bjwHvSOF4Djtko!Ip3IuW0}89^?i$LFsJ zTMk(-=u&KsLBCtnebMEt1;5dSIld;zb6=$slQSBDPRmUcq1~vj(94i0hfW46q7o1@ zp!vCpaV3!WrNgm&KTZoLz6gE%TwcVCc4YBeX=pI=Og%tcy~@jskaIF7;!-J2YUkUR zW-h&mNUDqXdDG|Dr@7ZHm}sW9d+l*tjdH+@D{R`l_wiJRF;;mn*%FSMH9Fc-gYW~0 zF8b4z3c&R@4;tx*%{u>0SObRj05E^frNrc7i|liZs|7_R!zKMr&h{+nBcg!kR1E`| z*Jq3i;jt%>$N2K+1>44W@H*F=Fb#!3!`xI88WYL!gK7#Jt8#d5hVq1rF}u<1Xm~h= z5;SxV9rTs_hzb$>N`dsAQrDpC7UrN;1N4CXkCx`%wdeZ$;?zBd&+SW#NH*IR6!R$5V;rrY!Ab-Zb zEgYZnGjk;X$a-68+(aaH-)2B@gqur&NkYcN=X(hCELwx?x?hGK`Uc`4HunV#%mO2~ zCum*mdVJTv(?~gD{z#MJgpD>6vx?i=br(ih_~kjV8%0B+oOm?8vt(^t-G)nEeSeoi zg+5)AXq0Fk^FE{^SE+c%Vq%sCjJjw-6E(U%J)(ZEeBuDU(^*NJ7nyn8gcWxvCi;VTPC%|I!oA&U8}z>Q8OsH%8xlgK zt4=S*i#}Rnwfm*m4BsG`s}UQ(3vGX_5pa0B%zn3ZYctVKyCRPCBP5@cBBKrcv&J$- zp6k$OJ=yZbCCJ03Y=cl+$>x=f)oZ>aD=zu@N|42!nf}Ckl>tq zxsvXRDJ#Cm3}PLwVe}o&#P4I+g(uON^3097DC=HVRr)mIc;M}id|m8Bnx&U4*{C)1 zdZ#*Q>-6gt+X5eh&vaE0fXbt?(Jq4+n)HTYtzFeMFE z{;Ui8svoWxfLBiirHgE(Ae~UcWBZouTB|M4uC(lMQdw}0@`Usmc=JZCB-;Ivp+}Wv zbRuT?o$cqKGj~Cvc~`KcNqrU#Equ^m@mjG)K|CRpMqzMR?D+ zb`s+;8ky}Y?hs9!7}iO&Oij6wp!bv`ZKn?O8v=;;^7`U-l>2V)l(r1b`PNF`Xqv%H zc`KcDb82#4>hh&c`V?I!a8Z2kXi+OUBj)e-uAxLUv=vVx^_KZWz12)o66v&9SF-bK zASXV24tXNHy{m?2+BLEE%T{jwE?#l1tE4wo zcIkC!DOCfq9`^2A{bun_0E%bU_83An6+fX#$$iePwe#O(n+Z%>?o^E|1kjLFD4 zX45c9&*5dYF8&6_G9>e{^4M2oVFu2eYgN9&d)3y&n~!_NPisLhw@yJ%?Gqc8xVHC( zcl~n{y!)=WDS)p!XI|^LB@58P4cPx>z1{5pV% zl$b_HnO-)UmJ|(5gjD?{v;Vu1n~`aX%;;VxE`hUJA;;6;Gb#HFwc|Il$WB07 zQ^yIP%;Lw)8O$#`u9BX!E**M1{swjOqsCKXmgrNeEJL{LMp2=S=&l*~qvhLU><4?0 zT5(?PO`9YytJgQ?IyWznPlrK-KE+JG=d4f1pyfAKTeRP4bt(zvKUYWO-Kk7f?lz|Q zgpzwhD}UlPdwlTc9#*T z?n;FzEdqe@rq^*kpd+F3K(u;P#aJjzKj+XiaUOia!D4t=+AcIg^vc@=RJTpX$vZEq zl3j978CC>Ut{of(GI%Pg-d&9wRHG@V?UIkro73zHLI}}BRz%3ZWW?pYTB_)+ol84M4uHw?c z*`v5OI(2v{bcVP#U<+5W__C^?w&WHQD;?5HKZ~C_6%c!y%;zPaSQHS03Ap=rhSspu zQZ4>EQhKct7SYei{0yy9bz@?9j?mVy&2`IOjF2$}T0AitXS-}et(GYx z9u=(eSHC(hCN3RMC?{TngGnn^KNg_CyXInUvUv-i4^+?`d(F+FDkYZ2ezOGBFBGY+ zsW*4B_Po{aZt+oUcqz8#yZ$^lHp7L}y0P$2(};_tMec+Is$9zQ^C2)3dRhII*zb5? zojvFAN@6wKbR6;YLbm^%Zc1x=cbkl4rnA; zlQ>@>&qFmU$Vcf3__?ziE1jM-;s0=sC$KI+&2ssyw~M6xr(2VEPJBIY8tIQ~9Gigu zwuHO-S#P#ov3r*X>CHJfD_nr5eR#fm!Q z(x$1#<@Tm!0re40+$;YgA7PlefvOg=thl=&+0v}wr%-%kyj>K>LvJ+#m;~C&ntWOe zu94Iz!W~(r8H_DiNv9-Qm+qgbF?l<(lH5b78WX=ulyG@QDVe{|%f>I4y5d4y#E4ms zFAv+BW<-@rmimimN|uIn$jmTZR32f*XS3xiaua^yWP!Rb@0JGhvKJMuBzwyvaEN0| z>Z!B_WKv`hw<}H6m<++{>I_Z@6S%<*;#m!@?v5qRVS;*La^rSt(ueH)CJkZm5vzPd zpyY-K8J0Wr3w9%yehLa-%r70VhS87ED@E24J|#MiI6Iiy-DO^ceA(iDoK2y^LSbQC zX06V1Q3+@@Q2jHKPwy8KL;1LotsY?LaFn%0E0ca|ii}y<4Dh4>(NnFsw;L#N}XKDH;aSIT2C0e|7QjxZzr|UAaXFEK#)P$^=M~Hd;+e-nqR*|A`9xy zxaMZpnS9o_vRtL+=_<6L7EJL0mGy{N_+!T>HJpq;nmXokE@YD)eL3vzEr2|ORg}!f zmlew%-nuomwTCLn!+N&yn~md?#j74ainHE2uG(@Wd$E%vaf+EQ7K;H3MosDpBZ{aB z+>pDW)!rTS4Ep?PazaleDEbMr#j*=@cx=y>qk8rJjWeSb^gZ?h4-IQ(lTCso>d$Le zh}~g{r4M~d+xM0qzCQHol>N6^%bY@^EoGI%e?Swkb|D!fI&N7i+XMsn_!8w9^76@} z@0e@t(lci#f4&^+t8<6wxr25=D=-`%*{b<1$b4Y z6_+YhoH#-*n%*Er_e;tsvr1w0wWY6}q)j(VM{Y?w;tqx^tE(D{PLh&QP0X5Lq&$kT zV9;a46<#)=BcQd|(I4|=kjmC^3>I&|BPCMJ^2HN9?rJ~wJGO&m7cJs;n){2~$$+w0 zA*6g~if?^3RgLDp`=hqIQ)mBMJ98cKUi#m3aJ9l@3dpRl&8AII z1=dwy6mlO%7rqz)Uj5=(X^TsTHbZOnvc#{FS^Q>N%etQ@UN|^sL~;J{%IDzbz`{_HAtTB3O(hesDhIjV;YL+;o%6WL zaHN6emw2xgA_$lU|kmzF_MTUybi8h|!Y zsD}Lh0yxKg%yqxwXJ5#?2W>!P23!_jExmGUU~U|kZ%dol;hv20hn&D($(L}97TeZ8 zOKls%OXap__|QjL%Ix933%!Yw#?8~9qW5RrS1)$f>Fdz7k2vsl=Nv!as=*FT16ttj zy{F(;rURsFB6upTW(i>_-1+{<$=Wk&M}gwLzuAy7i!%K@b{qFcx{8 zBAv?JzO;~M7tnRdl%myE7iOd4V1l)-g7P}@CeKT6_~jIz!RJLZy{uY$(}%0f*r;$9 z_rROy@O^fOVf++HIB+-?pS?FiE9m`rk;en>8nbT=Y{3QE`yg#$=R2R6Qjx5SL9gq8 z8d)>lAa+~PJA+s_@VJSok(;SMew^s#MuKgqmtspIOMS+`*JFj+!bY9NPmTtg37eK6Uwi;ZH~Keu@d)nNNXWmRUATLJJD{DH`9_o$aB zWkfzyG9n9e~k|6!FP!GavyWWE%1X&7=ZUAo0W**`VSQ`;`S@A zd*#0gqH9?B+KHtDsXjOmz9%ZFjN(Qy#&8Tn24gC*CkmSK0HbUdP@|+2X*k>o-!0o# zkyvm+S(hVl3iw0)44L0`&4c=JBWm+p@Y|_?%R6y#I$H@=539>MCbC%H|MjFCh>!Z4 zFEm21e9cZl8VkV*!idb^EV`DUzXf!-FSB*b6gx# z|Mb@YkOcQT!-|ATsT5_B=2Kz=t`$x&6CHbytzNR(jh>{TplQ|<>;@tI&Ns~MZ|hZh zOuITZQGRM_E-e*t>JqX&cFD8S%@Gb+xD(0>@y#$b<5R;z;2%rY12W`*re672$dF`V zJAemo43NMK)t_}cR3U!}Z#KJvztABvk6*?uf~=q%=R0n)!+w{s)sxnbQG7Tz@Q&-J z1giDuA1W8MboSf4j5O!;IU%Kw%~-UWnQ@d7jWYQ4Fp>koBs8KnlfuxPI_@MB3GdQN zNTAfdkc*Ccx7=Z&@S|HMSMAaESLh)lQYKWYabIM~f$_h>_<|=wHT{kslp#^?ts;9% z#B!tw`8_55Z_=X5*qj3qAQmMhq>iu(_X?vpXcxTP7Zg=iN7A2@9QOL(5rFp%Q@s@oHWpuD{#Yoe`15mf8#JSpCSdg7i|7q zj7<3$sPdI9SBi?f|FSnwY8>x3j*;shCEx2Pz&LtDO#lPj)gq_PQ^e7I6rqHNPX1#b;cX(wM^A(B^8vAnR#TN8Zlt@cduPU%jG{wEep!xu^Gu`zvo4upnt! z5F4$=8h@JF+;E|W#o$lbJ7~xfSY?eO%V*v+SAtzLeU|r9`(9tvGgGMT517W0QmA2b zX_dMiO(~`B+CD_&-P7&aZKSv!9TMEp-9oIbM96u%o^iHa=_%b8IhhW@+Bji1VFt>4 zOC{R{#UUTufCEjJvl0zowiZuv}x}SEbTEFVu*3fjY#xe%hKv@sW?n7pPMy z)^LOoFZ&EdI`6ZVcRl4Y=5M)Qp^&pefm>84%w#U zfyY0G(Cvii)|P2DeW#|dVuTnAl83@#?Jl%@r}CX8X}c7MA%Q9BiM;||mkj0kXBZBH z2Rnuc%43e0BnTR8p@PvQia1q3VL@I_Z_$q+q-(RG{)%D&HN~di^lR+Lim}U1xvh0Y z22;(fa%zzWHp=Y`D3t0-D&Bfrzl2gRATT>SV+)&&mr9vY^2Efp*33U!Ua@96{Bg{` zNQ_Oq2{N8=A48a!zbHLwK{kX(8g?9;5G**|$Rml|UQ0)VJseQ!L8CGzrJ-8W2+jm4x(2|J;?mgW&@ak<|<7uruE3~;8?cqFJ7 zkMoa`EzLiSQ+CF;r)E{Ix1ggQXCRx%0(d3=DhW@x;Rr=jB*k5} zPawxSL<0|z!Qa4TC%mGQixM89jlus$yot0ill_N63x0YgQE~YvLU|bezM<7_?gw7* zV(dHk9P4>5oW!3Wj_@u#R-bmz1bwjbxCF_Vc*-74 z$QBcm#XVZ1uw!IHxayG_BoT+zDxBT0V>qcozp7L~_LMo14)Qc)FsoO&aVN z8}@Gq;Xks)3v+&{SKNi~71LqoU1A!0`i@kCHqD|VX~**!?Xx3iQmuc{)z}Iev!qhD zbIApiR5ET%t5y>ee6}rxOSMh7lr5E?Ys#@zrHrJ;Lz)n9DJ$Ya$1j>W-cj%t`F?FQ zHqN_vHHuqBI_Oo(50hg{w*j|V(&-VEZGzID#eIs=Ade|)m9)F@LQ2f%&J2azk8h`5$Mr`+X*+8$@Q+|@{xW@#lv zC2f4ArO6j+oStPHd=O+SJsnFqHY4Pt00uhAy8F7!R@?*^OEH{?*htTU+(r(S<>M{B zpz=hyD>c}qep{oMt*~Ioh%OamYl0aGD3EIQc9E6tDwd*7B)2QEiy%xt8X;|=93YCb z3j#;kK)>{J069I5Zt&tEsWIxc2!qqm8J1!;d;$U@II`PATgFf{bog#fXCGr71rHS` z8XrZ|Dd-*H$~DX}i%@JGCChdoHHALYU36sjIWCVp1Da+`#y*RMrW?I5cot7R&wdaQ zM?wn_z^C}rNC{Lx!Q(B{3#b6Gu@?~(Z2QPQBVRf>pKaoppDZ6)IG+u{gwLE$MU;e< zULX_BwNm;CU)JqGdQFXKDJ$>f3-yl3@aGVvHcKZQ%-ZMcq%b3xZ) z4NBFCrD>?u4yNqwPNKs&yLH%3!KKK1&nhX6rq}*DyE1AKYW_dyCr>_H-rXtc?BwYx zMwwgF?JVS6ihDlT{{qW4bZsR3crZ*o+o5kxef$;+(@i)b-Lx>_Ek_VE$CcuZDC*3q zd?bv&OE2jdRSvqnF?%@=P=CbFo)?Ypl=?bqxCwTxq}UG+y!iPVQZoOh^2HTVEECDa z$WQIMi;Vpz)T@D>)6SxsZLMZiR1DR5=kCE&>7M7efA$CY6SMN_K)UU1*Au%)LWYHL z*XC?4Fx0T5-oRwIi@Vc%uI2o0d*&NrE7*hVF)zO!{mx81TkCA;?TAOyUu^34Hag7i z^UkNmH_hgx3@6s4!1zYA3_WBVx&(qE&*gR9hlQ!P$CLaYxMdBAMf*#mOq^eMt-cwd zx~bd{Khv>4=J$BTB@Y*k(DzNBWI>N)Vy&CpU7i+?FG2F$hdVJ&580d3P@7}5gC#gl zl4mk;!v?`;GJ+$*-6c5iiv`M+WY~c4)qyKZJiJHDeZm(5N|&GLTc|rT!^Z<@BvYjx z2*A7k5>Z+ADuCf86~AT{OA_W(X>yfj#kU8j5)?)a;%Bn#tV!s9Xmk!uXiNjzl}~Vt zHR)OGP;W@UrkMG-Fh79-60nv_6W*<}=LrqM_>JM% zB0=8c)f*(EQGfX%tPtCx>aqiUuOobToxEG+y+fnJ^RFofZMAg5B(I=YYJSI07H%yX#ww3b&t-V?COchZEYd9bAv;r zHX*LVN`QLGWj~Bv^4z&d^)UNtaSIo#gp2EG$Edi2f30VnNwCjgKGIAe=PKnm0LJ?q ztj{tfl;NwuvL2~toI27$e&#H1!Jn46^-<{WYJhWM-9Uz)H>pZa76G=u1)`XQp_0hh#- zmYt6bCkG#a@h)g(QsT$}E=;q6iVx=)`zTu<4Ok=b-w88>1mpb57V2It_CNk6-5-7L zk4_GoWsZ$+8se8U#b%UK#uAkWso_lJ`H9ZBpi#{3{cuA|NoEnt^FyCdMrONs1Z58h zMWJ)}|Mo{$RJiQFPOhfUOH`sOY^095*jjL&(yV{uT8*u;z9*cv|CV)1ZH&-e`dGH$ zT%VM;Bb7B-3|Bfkd<5+b4jpi3++FPlOn=I94}}ZA`LO?UQ;a+t*>(Fb9Wafu3eGtI zoH2ge5Limzm{?P2t|4#Ypjg3NN&rnppMD0hM4!fh>Y`60K%b&d6F}$Dry-z^(WlX% zyy(+#kWut$JZL@oG!!HpeHsheUG_Y`;ga}FJPvsWl07VJhqb7%wX+U~U=0D;uBCDc zO=wuySBh+8Z2O29uF&D^EpY|j6by-xY%%kR2J+EU*=%GId)P#-!O?6eiwSg!=NgMD z6L<`c2pje=2YhjEWOAbU;j4Mru_%wri2u8kc{U1sOK{~U3WwLl8|T0;$*zgz`L8l8 zMb05&h^m9f(;7RWr{A>*-x_=W{?u4xXUjAfZDh^y)w{s3JOUb3iW|BctYq2O}rBa)W9D zD$^IqFi&?fH~t*G{kax-eZ9a7dR=*Yt=5UE4R~7U{d2Uz9klUAn!~+O{yWl`Se~pY z0yG)rAa5Z+Awb)NMA1dn#7NOa(?mqkMcpJo(M8(?N8v}+L`&gE(}YLiN8Q9j;YZtq zM)6G5#7d!G|HXMQ3>ncrBAg3mFuTxnVza@@TZcomhJa!o8Ph%@nhRz)yU=XHq|xe| z4u?q%0sA~Mp?yR=7tCmOq4~sSqt$~BM{o_n-=>X7LXiMPkXsC*H<`jOHL$Gz$1=;( z#vPqNX`c!pKiNk4ze|LN%V6g>Q^VDNKnRsqp)46YdVZsW%1g4kf0jWg-!P2>+}Vxd zt&lnfYkRk7h|7>=i#+IL8a&x7#4%x}Y)wB`%0|^*cT)jK#$apTyE@2|?lZ9iGZDy=)@UzU$(F8(#qT8I4&icuwqJZd4{+x}UPF=a8vM2P-reuI zB0%><8~^c1tm1bRwZEC4+vEZTvd(iZo?J5h^7;2qFn z3V0`OQ4hS6vbX@=iCN?W?<6hEh%Cu!2r%c75zUB_rwH(exFJT2YDR>i2n*i`$@-yT zi&DVU5OD{}qA?TlHVm*uANop^4ZBU0BaoAT_b>e8UpRVWJgBA*o#G!1JjOqmuzxVE z0z=`I+72xOH7Z?$h^+!O4W5zB=1E=6=21x=k&A34ziR}B63Davp<~%*qv+(how{C8 zB&qhZv*!(djFK~~-S~}Lrv!7B=2{M)>)wHBOw{6*op0jG-W7xuTi0}YY%W7S443+F zz6RgCBl>2Bg{~NZ-G~rHBN4OsUTJ3K{h2=3hU>~tP_fSczqW$4Ad4apg;=E-EV?2r zEE^1@eL}OKfT>X8Ki@&Th1}{L*rEWPBiM#r2Lj|I01P3MWg`>*g`@t3NB)Haf4*a9 z1cd#?i2ucqLogG|!&V-3h7Mt^vGEO_jTrMRo@F0gc?On;rF0;UZI34~^SMN~Ytd$& zh5P>qiA>MTC~FKIGWz}-_g|v0Lo=V_@sB<67c5--tZ8oJY%juP@O%tvA6rvdEh3BJ z2i`L8up!5flsnrW%jn-r4VGays&%r&Y9XdVyMX0PJNpb;)YwG{VLKxx7@ORZrQ>wy zfuMbyMztuKui8U$vWVzKo>-{aZYz2D?1;+#FX*AChx1mNGz|Ku;wLJfNqn zg*MPr(Sir)DR1Eg^i;M$1K!D4C$x@ zJmSOUanck4;ZU^%C&9U2iL)#1{7*et3JKVk<( z_ow(NB4?}~nKhu3f7KkC6X#s2p{T=!m=rC95?J9lHMFSi_O{oigo2%{s1AkxbNfot z7>W7C2^idWgwM+eX6>VUHEdpJC>q2`G3U&5YPWJ@D+pnJOz;!Z;PUe^{RmT|&Bccs z0Qe13*KF2|I+)AXti9#@C|LLET2QtHTw=7n{P&QIWzR6EUPDjekd;)ZRYQNpH(0Bq z4ooH2uAwg)Yhawm2EX?``vPbzi=rtw;)DXyzCX?Rom`3_!>9NTgaCy{Yq6PxLZ;>o zi?;L*5@g7lpn&_V5$JyzatOmoAZ`H@^^b8|N&Rn={x?1RKkYrNhG*EB0%gEg{ky;~ z_d8?^J4!!48ik#vbhVyvA*?uzI92<}pEZ0O0xocdN~7ftaAo6EdYlR|EQz=%Gjo!l zwI?vwsH|>#tfYiqLcBwxjVs<5E;0t>uY2_Yz*JMQHj^ltVR8JW^&;C){-CL%vBp9k z*Yx(-eTQxK|Bkp#>6usG$eQFSx+t3LDZ1#JxD~3OvYe`aWfNbrjdxXPeSAPhdJ51y zJPml?V30-lJ*f)|Gu@QWZ}X9)mo_H1m1^sLUztOx&zR#MmLnyDU* z_}nE&I(Xv==wscUjg6iVC;3-Mg6J>zL%Lh0TTiaa$BDxL2a@a0hv}p9!?L#$Ox3o} zl-G}ejp=i zYw*fM-1~0o|JeU41ATVUWH zSg3AcYia!Hij{YJ6$71_#pwbB*sKxeQqfxKnQrb)Y_^6E-{*$hLpr<}qFRVya&;6T zT?C~XnxZjLS}iPaO@W)1I_y7E{CylJu2xg-pux%l%u+Yo0jtTTnh*!B>DoN|A}@7| zeh0CiGtnAKhC*y+ONM{iR&W1`hXG0zJ-VJ zgCbo755gF+Z{c7u*f=1w6^zuvx1YM14B0~CD^+wma!d=iiJ$4>&ByH}7~MD-rkp3) zGj}9fq?3!!OE>*UlClb*TF`4Mt6>LLNGxio6O#hn#=`{Q2N|%YGV&xYR1TA_yt+V4 zFBCgUE-keD)3T^PX+5Lgt!`5cx}R|F;SrSSms2ZG$PTjo9HW4wvwe$X$VkGi2?WVY ze3yO}5a~`>ppdOZUdQcjJ|W@|DI59k>9xPfJ*>%jugk5zZksGS6%CQi*UQX31aELwRub!jOF14Y z)-U%AeyhQtlvA&2GYG$ns4>a(|Ebkm$8)wd)pStoG?UR@Edgy@s5#x#oxlge6ON4j z?qc~ijQ{X8MI2A*H>(JB2&vjnm;*YhZ7I|Z8|cuGycgp%HrgG> z{^^hWog*C|K(#C}`9<3A4bW3eO=&ZQJ(7AUob_kwcID1Cpy!X1Yq`~}AK!S#)5Qnm z=G5f-(~*opvWybF%*>%4;wSM@k7vmM-EY{o)Z7h-9;^JCB;{>r?|b*cGMY)ERp7GL z^7{%9+sq+X)xra#z+_Ig%Oo9^aZ!m-)5ooaHQa7-oezi!#3Iy>hgGh2+iNg;b*G{& zSnM})03OJ2yZ*f!Wwxl(A~QvHaOuo@>|7OX*cHh>#YJXusS&9U4os%WYZOIeDwJK4 zCBKom%qFZ9mzXKUBM2ch+W|FQ;-e&oPBZ;4rke*}W?JqaeLV9HMDn$rRMYD!k9{P= zzmC|6S4=wR`Y!z>6xx?L0-d5bQzyecpX13Dn6$6>B(heo$g}7206nk~fJOt3fgx9F zak83bgRTjp4_O4u)`$Q`jbPnE=%0ut4kHs6RKppCXRBjzi6!S@?)GP`kw~P zx!BJ7*WHDatRDa0xi^*zHAFa_%3P#>lGs1;t`t1Le^_X3dP|680%Ln z86YV5na%fy&_PDh(Ns}Aw1c%H4>n)SC_)tDnC)zi!~-^~a7K73gV^Z}4K zcq;CAu9}}6oSTlctZ885s*4De#xs&=oCPN4j;8D*UEO?@kv!%}uBb{NYmXjUh8-N@ zsx{kiq)49PdDpnoW}>t9t{SObHlQ> z8w~L0bYQW62iuiipuS||piBuI4eUBouR#?vz}pCd%tOQKwTO)0!L6h|8YKlXO7*?! zvmLK6id`*9ehtnE43{83r{7ZVEeDonoqpy?JBAMHCzA6ZKqkt)Sk1#cy55gQfH1Iw zWp&q{%F%rdrT_$%qE}Z!+%31f2J!>S)&H3j z{U=ZSA3D*0@w@zPr+!~1VDo^@RwRN5JV z>7VXN@8Q)Y)hN(x@T%3 zndd>?<@&?7sp@9OJc}#SS0c}ZZ=L#)gbvYUKxq+RAT^##Yt!Jq?e1jHb?`SM&-PnR91p zm)*N}N;gDBBKKQ1K4%=Z{hoL&-qs9!U7Hm++ZL$ZjkmQguXd2A)~J<@yDVfh-rL_F zIJQNGR!u#&#+GCaI=NWiDj)ncv8g^$<=8qobc~c-r8~SLemXcT`fIMHk6^8bx7K_m zjr`)PmKb4`4VdWu9@R^-`n6bc)GwEktM(|d9%fQdU2bsXD0A>n7X7W$NuqJ!>hr=U z1}*oYg(KC{qB-S~A3Z#?Jx_c#;FV4WZ2?S=D(qH2_qyq9aB(NYf;S)o%pqq=ZF5m& z(BMtBrrptr`VIL<7Xw}m8+jXYF~h>7t&2B7ODC>HC$34S=Z6y{rZqf`PF#gf+?Nhq zPzUb24%`a&(psBrwPk2F*e!OUm;xP4YzD{pQPEOnbOglowg{NwAM+Jpy7tew#$vJ6 zDI9g^dIlajU^wPFhRMU&Plq4y;^B6h4=cJg2cfK6ylS^Ni%0JqKH)WY82+4ziS^NQ zVIx`{en~kp%hNO{F{&U$J@t1VWUr;0LhqRrl=y}()X0=)4etd@F#LrU-fQ2B1Mj*z zGxl-f$M9(q%YG&W9v1q)O0z^~7RfYl&Uqw58wCzX0pucf#w4%W3QmPrMS;r!M%nRh zQi*E}LeXLr5u)-&qt7|_$%a)#z$pDEXt6pMG5Y@t=Ks^gp+~VxxaGx>#cteKYL1R1`V3L7!E(s#nyb?56@Mcxw|i)vQl^LJaaT( z(i%QuZOI+>-DjT^qu=qj&KvV#ssEF8!h6;#W&qzXEsnBIHAIDlL*Z{^an z^Wuwpz*^4J%!>#A=^(MIi>k8juDEl=|9+OIykzw@wpu-7xc6Eib?VR6aj(a<%M9+u zcaII$`Z}YGi+po&lxuvMG&?!J_=UU;4`J4`xwIaeyEK8h^E*{rug(p5H`^vcwps1% zTGPm`rx+Tn9`#FYkvq`lFi$?(^|X^`=Y&G58SCd8ud>`WOVm5BuXEj}v=?R3z?piV z@yIojPlG6*mH_qL#|QcD^cso;TrxO9Wg$w|LnHPFa%htlI?Ts~sLPF%&&Am{A4TjGK}BU#wjR zI9yHlm!d@{YLpNy5-oz&dyv8_TJ(^zdXHWb1dFHN6{h8; zo^Mo5hg``&K96y7pFXtjA6WH7_xEdIvW@f==a*{)EfhQS9maKNKd({B+I4s|E*iyM z6kS~Lih_^%RbcV*xuWRi0rYJ?Dg&NfayR89G4HLDF-E&P#kU@q6Ql3+?%TaDOKzMR zcs@81Gfs@%mq3-IW2123Z+g{SZUi9J*==3#KL4a>QCkAa#({cgc1f42LL6cnBKW zaQ3?m=Fhhg5A%VSF-J=IEENo0mQ~Mmi{uk^AKanPbu^?AAj1G<+!HIx^jgIYj+@>Q z^Xk!9bDRiAW)If2ga&L<6E~eRy%VPU;nzx8){+Maz99UGo-TA{@enW(*q-SgPm@vt z40_g~%NLr_SZqa=bys0?FStRg-N#sf%kAuCiaf*e+)rrLZ?O9vgU+*#yh>bp(Y^;k zsyA#N_HR6zMKm^kN8$+^-oO0-g#H11bsJ8wv*}XI(r3XOeAvMpa8!UCBq=-u0B}GI zS$`lAg7~QkfF2O@ZwSSN$^SbB$0NDeg9oVaLjo=&O?n39;^By)%eKHM*G&fdD4Hlg z!{Mh3D>^&b2W7qsTM1*N=~JA|ssYgk{9~^kh*hVJytXOa7Jj7dxLDbJljwkUULMV% z&)`2~@Kh|YF&&p^E%!*YF+6U#x_A0BOGaSvd~B_=Ti9BZF%Dk0ft2e>6m=nG=h?V> z^%Po@IFW%~&bp@7zKw!~NKr!ZN0PN=bnz)jlzBJ4l0=FijYCb&1R1K11)<5TAK^qc zJeF7clJICkQ6m4)^5I-=vua_w6Q58?+E*9N4juGYJ35xL+`a^96Ab=JMrQA9Otz29jgA|)!uO1SE>h0RqllrndyTjgHvEcTI7 zqA-`|W{Z6U<)#Iw^sq{#B!>zLW=geG})(9#h2a0B8^vwELUO7Gc;7C7492oWf zvqR45Sw>#HLNV8=U4oGOshQj89oxOU@$ZOx9)0fu3$J&yd^YPtYfIyJ8{@t0K-!=X zpCFADec3CO`Dqrj`&O5oKf)^Wr#Yv-G?DK4L^11!Io+DPWnPIl?W1{Q>U?Wg>8hi1 zrBzOc;f~+B)3Aa>h^vd6v9nfdeI-Bn+_LS~mk*CIJkKo5lskqrMma}rp4r`?NP4$c z7DDyOj_sl${d|0dA}%^r)sViSEcQ81jh%zxVOk!`wT^{4QS({RVvDf{{Cu==yzBOc z^l_)()``M!?>=?59u21|bTFi+sL5#be#6z)Jjv4Lt#B_B^l_(`yAjP0e+GS?l%ZUm zA{P|bqVLqjNxHe%pT4ao8(Dy!G z0@C@gw;iiFY)H)!L28a3Qgfn^nsbKWhlbz>Wc(|khdsxC$KZIRuk&ir*Z_Xf#}XLC z@wY7%*BM-B%S+!UBkwkwr7ya*V>-K1*D0WDQ{cYcevor8BE7AGJ2Dc;PgyTR=IEO4 z7qHvDW#M>Zaphi@+_1gR3fEb&rUadNj}x~T%PiVcSHm03hiJkL*UWVtuj$P0lkQ!L z?~3j&m|0((DWiLGRwA5=VEv$<@jbo4C+upbwU~z3@uZI>_UE@V=HmMMtytw2&v&b$ z_XMTf2UUsoj~cPGmESHEf>9{< z)O9c;C8J;>Z&Yn48mQ+<;f_dg?40J1@LF=&;9I3h85;-t#i6VISH~BIuEI>-tAcJt zm4FQZ6TH@0nW?C9^a4hp>c^#PaNx+9SvuI!j0O~>mLgwl=S2JgN*NZE=#5FH&0CFH z1G~$y)jMpq56A4`Tem19i2ub0LEJc)A4U!b=5mAS1VD;Q7zO}Ml>!F9k3KU7fD$(; z20#@hF7VO10#5_aZC>sqK+``Who&WW^8EjR6E`VUd_ch;IMFfkBTbE_#w3JXwVj+8 zXQYna-xD)2gPU=uEx%jfIMk;XEzwCAcY0&OkL#%TXt-~y>Ej}DD3KF~`!Wv05l>Z@ z_2F1;%WREfR58+yfaOey`|FPQC9)nl9f5b&QE>WuV;?c+i)XJqaP3LBI|%R8msBkd zCVzp~dA_NZ16|r*xZ~RZ6Lul=bdKKt>_U+#^>u)5L_9|Rl;a=`{V-u7Dtv1vpuvpP z>SPd?4jDDu!C50c(b3)YeAHA0R_p{rxl`N{yK|YR-`s-C@-4xat|d-_FNga~BFd7V zz^{GWG_XcKfAL;am^@l4?jq+C=Q&;4*X2=B^&xvDA;wo6(Y+c_bIxu^Moj2J|s3d zt9loU?U@mv2SyWI7F7Z!Su>9gDC5vssk%oH2;Ure@#&0S2|sCP=VIOZ!jV^Jw9(v| zvS3E94OBW-xSE8jV%rGzUuF;)i0-EcCeGjc7kGngs!u8S08Pac!kPCTADm|2Lw52B zHDo9GU?v+HK$<@_0^3mHn!l~*=B+CsHe$Zc<<9cE=ln%vSD^d5Lj zY0MTYR7DCkkOmEVJR&-=bbDWJxL0s2N6@4Eb+La*9lx<)(ukJ>_Rw7Ca+)L2&?)1P zx7FN9?wBatLVz>rg2~5qZe}?y$+QjRLjBBG*IBmAK6z9S=^ur)tX_VRr`Zh0UtWay zOG!tKFNBSKL2#MOMVz$?m2GUiD>s8!pXE2&8JF?o7shGDkHto+iW9cmtd(O*+jd8=stnZFQEbAA&L+u9F%N3@q=s=jDnffkx-D_z)kUBX-l4?RXsj81o5SvJ< z>0!iOJ)g~m0c>Y4=6hg90gtR1h+Waw0BwEBPlh(8&Uy+~N+OrCxp)G~LkWQs$JX*Y zA}f*uomp+e_R_i1>OCHgZ8S=R@$ILJ`~=;1=o#GZ+u(d~%RseH(LWDZP~PJYFj{(d z&F}YON`f;g7?UIg3=e`fKoXx!AQY4ABSsU{9x=xq&9W9(?JoQMVu$f|`A|*+20PKQ>0FKvBJPudlY7}^X0>-q z;$5CrnarHoU(&prh+X-txA8uj>$kX~nqmH}2!;~*HQmB0hTuiI(dLo+BWT^~v!p}S zkfr=?WIDU0nprtMoL1=H?3H(fDMB!%3`gZIhYGs^PZk2CgX8@W3onoIPsk0H}wA2#`%&yvJG>oSaOU>d0Q;pz=alkk8L|o zRW#estJ94VD&e>Ba68Y}UN=xU@9W2wg(*3fd11Lvb!>b^S@wvfSX~~&=2~eF35|swT{8CoR&U_c z2%lj3(33Mb3_a2ne%d|fE~@cA7V|gEi@k+`l&pA7^EiS>qZcDiXwvx$lCh(a7H!&# z(f2Y{KbPh)UvrfiigC*Ce27YGO7Pq&EQr=kok? zRp`6U258LmvHHoL^=!ahTVLIKwy--s8!I(4`-K1CdIH~fy$O`)vM*PYNd^$5;%r9z zN|*I`n`)31JJ6tmf_gWlb$@=+teCTD-XpsmNx`TueRh1qkL@^uSe>AWAj=d3D9`K@ z0HlyiKAEN%N;FkKNO5dPy`CRz1U5QKqvI4VG9S${AM0AYTrc+dvoB7nm` zr1@9u?%HSnL7+jB+u2yiI#V0KYhFA;Vkao5|9rMjqKe<&=lUP*K z5&1Z^>Naj>0cxyfl~pWpZe1Vu?K5QU8)X&B_Du~&4Dk*1ZVEQE*h>FI!KG!vx67Qy zj!Eu>?N~>yo%E8fr%^Xn#@seHE*XD|tPCw&L?EL4CZ=DXJ!!ng+!mks!CBFW_VpD; zL-9KT42;1q0`N5C{ioEecvll&InnriIj>*hAy{R3VCgcl7f-(2c-PfrKS}f*sQd8c*%5^yyz>3pN_$? zTJ(s#V5wNw`QbIK-H0M*P09-cm5+JvW^yk;XI+v9zn*n(3+loJ?cs4%W~9LywsZ2N zKr!;kJ5m1iperZLlD807nI5qogKS-5ZV-I_-Du|^LJ3ITF-i-_e(=Q^BxXFvbYI5D z+<0U3$EE+@-T!Oj4IgtvC@0A~7U^Qy4=->ANf~vR?*E&Od`#0pI6@bsk^Z6JGUq}X z>%@V|}Yv%I{pNE^fWxyO@N_UsS^UG5b@cuQ$hIYD?xGtwzo6v2a% z4bhl`cMo+3e%rd~_^>~Rnvx;|30Nq3Nl{bAo%X)6GOyNz877>0g$tJD%`xQ#R2I0= zv))V-+R zq2IP{IRZcMn_2yCT$N&4OTX|g6aoQ|zu<{|D)`)OAO#LINs<&G9g{2&;;PFfAkUu~ zW&MGq2;v92K!pLRn5CcFK%U??Lb~|YQeZ0o(*7&ge}@6kUVLvJY9DggHSphZXe&)E zJ~>8Hc*|I?36<_;S>FeKP;@e`U<>}S6x$=egmn^aKaBTMB0LkPyrO-;pxF(VVJh2% z-@W+Z#RWU_Y@It}bjFD?1>h$vjfs-PytY^h!^Q6<&b{3^U44AE*rU~SDre?JWG#?U zC_nrRRQuizA2A;X!j|#qv?-*Z^H6=V-sk z`w(Bj$3=8hK?emhUTqQE8VNX8GhT7}%h-{|otYeG7A0?x&+vlz^Cf^ku!##KvkKlG z>H6&|(Xc3iWS6L{j^R5Kcik@9E%?Lk6+JeAsD|_up`3_;o*B3`s~>-iH=jJGXsXE(UD-@!Sw$Z$b4a{eX5DaZ^n44xy z2z)?5c>7~s<_vi|-9gcl1VP<4v~OUKVE>@t$V(8h z12H)We!!e6`v3mfcqZLNtDR7-$_^yMT_a#&{1&+jn4R)H+YW_^+aWl`KnDvT3`q(Q zf=RZE7FbCj7J?X(n=xP(;O_4U-RwDHpa9JOiUC|+;n}Q<+)5r zuSwV9(6t@?*KHD>ux;%z=e zwv!;`dg7Lphirw^^pa9NtEj z(Az~)&*iSKVqdTNFOW(syVj|aNx;Y$9I+%u^oF_;W)x2~AE=(Wno+S?R<$KiIDtSJ zM$>N#%p4I(Y&;`vAi%BSCO_@V5`^uiXFi6~pd3!Vg(KJKU`-knfJ#-(r)!{YA{}-_ zPKl|jpr|eM$S#)nt&SIw>~F^ob_!NKUztlxXR$|bZnPbZG(@f{ztLii6QE&VuZO>! zxE#h1cRGVf0*0$3=V3iNuW>;FX6N=Av>94+6(;(;V3N43WPEWw1dtJ% z#HmhW&xs-=m@5FT2L#-2gz{ke;8gOL_FuXFD+Zn< zW~BX7F&^>E;<=g1lc~kGjp!qGl+c%2V!sSNXyd%>iZ$fiy|`3Rzk`ai=`yzxqoEUU z#2otd;CtEj_~4u5-ZHy+?&Wau#a-u~1j9kf&gY5EPa_khZgQAzhsl-oNh2sU@i zEUK-=MleS7=&bN+=n`WM%PXF6C1P93IMM5qjfy{{OmKX?T4%Skvl$~uyTxWId{PDc z072j-QEvt2MXaSYW3K*NITOyjVmY7BX*S(50tM~-gka|?rWFB7&s zU|O`#k2X(;))t0I4pNI7;6E6-3BVfNiX3O=iHxs(c|oTgIo_6^`w$Kxt^fo$+`4CM ztx2^Yig(ZBM~bT8M16yF0ts`v`(U~*g{AgHw>-@=M2-`RoSUn?>- za~U6;eKT@@Kl|1=ltzz<=%!U?eVlol2w=7*YEla2FTQ0cK$7Cy=hHUf1Ne^YM!U=) zb)2HV75k6FuLHec+AT&vSw0>_t$Ko4FtH=Paioqee%x<`0O3YJ_3L$kZ>XCep zeJ)jla^dC;QnG-UM}~8!0>zg|a{~`NS{>f6Zw*%skM?SsVT$li1c%I9;yLa*l$hyN zk03@G4RED{zO{qZ&8lP%O z_F*p&c=;V$#dLyc=6C>GU@!m;3J6=A5Vmw6Yyp|2A(?$ZH-IfLk$*%8utfo3>px^r z&Lt}RNRJ9|P_3;69-d4gSHpn|ql>ndr-^fqhJ0$Vr8YrVyQcI;=`wZBYNd&uza?H2 zu~C%T=%gx$+Le^Pd361AQ7@(ncE$Qqx9~q!KTba@ z#+7s9<9SwcemQSDnLw+lB-DQ8V57dLJO5oF4S{#fX{(!jfv1udyHQvpn?oV_d@ju@ zqlC1l>B@kww;$e+mepis959|0GS;xGB5_0P{KpNkQU59(34h zy_TSp78_&rjbEL)pVu3D3LUI|A&O(Z8|Jpwtc=yk%nfo(vgA)};$uOat7yT%7s7 zzM5A|NnSFZDhCFKXk|~J?X(W%tLnsaOSlPxhOT=r!dBffdM72j(}mDNkvr4YPB5K< zs`-sETAB$)tT@5uuz5Y9vK8E+>K?yj6Dl<%yb-mCo3N%Nr^1oKv*mju-AQ)y;0 zo$^=Ih}*$EjMN<&b5enMiBSlOFrweBJTwoH{_36Wk^visxPR#dhF za>ISG1vEq2*J};UW6X@-#CEpk_}aKTj_>0Sxf@GglpX}B5#S+iI@dC8HNyFWhWIY; zpNu&}I9101dmL@w>vakySm@Mg?=~JHq`SNs_2CrrNS@nw7_eJp_ zzuS&f0FUDJ&fKy5zlQ#cTLtWh>Y+_u^TZU92+37s*ClRkVReI^)JJY9#NQB!x z%>H~CV~IIk%@u=<_tm+HTIU;+qW2?*PF+s$*2oom%;%S@?TP_1zbsx-Mc8-Z?*4`{ zw9nqcV0xyPE%rD9RFj2JrLRE)Ny^YESOl>FJXpABtCJ!Rj0zGF^yBwH>{jfto%n0O z6o#&xEg<&?&3A2>WQ(wWz%g44yx}(l_OCy80+eRU+yXL5Lo$8mI`)cIMz@Xk&u_KJ z?MoQui( z{FR5x6>CYvN?ViF7_UE;p}fJqi^9F&I?qZk`Eu>ACla?u-%ljC?bVNdB;zDiBhS-( zd{fS?c$3{U5`$u_b8?t2~@WM=gh$v97{OQ%G1kk{wutWVoIpuOioFea}05n4uP$-}vB;&9aO@XqP1 znsFBU3U!Zd0mNPH?M&L;*oCAS9JBTZ7;H~+UFzn0bg_uxZ$Ii{S+frG)vGIGz%how zO?ddcRIEY|C&^n_Sf&os`JD0jr#$GZAcR)Z;g>+pn8H7795hmG9NZ0+80g@WR-QSb? zbY;1mgi>+;gyvte1F1M%2zNiGO~?2u;ce%GAuoDG~5u#$rUX3uTG~kD=3?-dwDem6Kz(%W{S4X6zPBsJfZ)eE>lbxpC`2h3d1S zZtiwdCwKahbApQR^Th~egO!%mF%sv!kvqG$NT+XNd=z~;+jBN(_ts)Y?fAyq!?Ml2 zZM6if7ubsudEBC%`!~mK<$a3vaF6z&Q>xim#=IpR>yahK@6$ZB>x(UDY+!q>*2fm4 zKVV0^wXsLhnelMO9f^lZxrPsayA`Kc^m>Lbixrs`qmagh=y?!ss^>tR_Ckl!D_fiM zaccR^+t-U8$H}%{k>@aoQ_z~dqn?dfm`s}swF>D+no0@h?uB1?L4bXO=G}{{4>?Ub zwLfJRr5T#Z)%OM5z0=M!z+&%ZD94jSign?B{uhq6k&+ z$?*?WPe3jc=Rx0{pA~&_)}PNJUlN<`z9c4tOW#bJFpBhX>Skd~p!xOP7(^&P$val* zW7iYBRs~WYju(ODw!{CPB>o=Fu3pbs5b21i-pE?@xy;RrC z>LGGgFU>3pv2mu=(IwK?gK*O>E%B*G@TT3mlKbql%l6bFGu!;{gY~@~P7Qre#UX9B zlf)ix;S5pk(EfbiR87rT)+y_*qR~6mz%y^1K1~@4;jmj>@js<+V6Ci^;qBrghZN1J zPPEb8-rl;5ZVJmar5(;zlJ7rRd~i=Vf#NNSp_`=evBgnzh!*ZZS2WArkV#u{QYe5B|WKfO0!umNRAts=Ji8h9V~j+yAF(DwG&KFiU; z1h1d-TS}K{@SE#0%!F1n#>0K0I}5yV*5^E^wumy=tPcB?u_f?{j?7*d(z{vV-(Muy zu~=|9Rh|1O+_^AfW`#O7yt7uw``#0KtPJK2o3$ByCB=F0|5sSPuxb$JyBQ6}- zDWw~(z{8##lBkF4?jwau*C6UgC2)yJ7MG4fS=wz)c_Ih5ic_CV7#Ji{VQ?^(je1}E zaxN;Sv-TxC8k9nb_pVE0vk_2UpYKdi^k*yj<^5xDu*G%%%)(+1j4~LKl=1rfIPm1Q z`IJ?^NB6$R_yoc20p&fy6d*s8ZTn_+!H9dMjDP420xz8qg1{_rRKTz#pa(z@E**dx znDFnz{E?6${`x$yhG6(Vw*RLLKrDu=+*0@utOig{(hNntMm>E=7LvnW4p1!ltVa)w zBBFd@mEqptYFbv{tcVK#>32O3a?+Xi*6!)ozZre(a2$`3Dc~FWo?*i*{Ao_FZ{!-9 zXDCN8vtC@esU|AUc8R~Mga9O9??=r;_(IS__(~ZQ+AmuW*{rbZwwsWPjjQhTv2)@5 zY9g5wE3-_$@ji)peLN{}p~B)3uRB|x=D~~~H?Np>T7x}t1Qt=CqWAZYthdpgLbTDI z)AS2oC3{}?&(7^?*lT16K0%iB`bntt=EL@(>8^b#<0WEuGn1E28*vR2(6Bwj3s@LW z3zOn?x93RrhSl?QWcEMZSSz@c?hO!?UhlguYgGTtNEn7LoB*rZ$eh-+QH-SNhSCDv z6X0wBx-)|?jQ_*z`bkB9`1TLv$U)H;kh$lN7wxlOzr)7JpC00OhnEiM6uw@t`o`(P zkneSTF0c#vJ!1wrXhqVzbPfsCci7Xt(cmvZxy8bn`y-oc0^a9REZ&Y-UVOrQekxKc za|y_atOMC# z@BcsQJr^8G-|e}7sd3{$&3?4FS##n;)M*qx>LiL{Xe1l8qUI_5#h_f(-7eQL`>62X z{rJkGsl4K;VsmlNVnJ9*FntZfyaB5D{aBiT%?kzC!NKYUzC}6p8k`T{o|m zSz^49g!YNck}d*%=vRdH-1%6KMEA^u%dEwx%0u-U0#qreZRAlm&2Of9T2zIT1EPQ#4V|B2!;>Yf{g*smsi* zIkkT$c=FMwV*F?BeLKOi{grf$F{P<@_#DrgEe22e?Jd_|G+Cd0xbYHo-`GEC0R!RH^L6OtJNLhl>9-6RRe zCjd+4>sx?BjkYAY5+L`1oq{nn(>CmtrLHo#D<%?=%$WUwO$MxIcrsW|Fc8!g)_Xx| zk%Vp2KfxI>Vv?>kCY!bJEqbO7oZX%dxxBF;`uL$g+3bUBxqjX? z<^FXdmnb?my7ToKTDUGgbH-I9wz1-(d82+za>?Xi|O`UkISfYIhcZhljbBMFBLj6YQii+{J**JHxh2QxN+ukPH4O4VcshDT5 zAS~*;x}hKPyJcqMDi$TRe|ijVY>?#sbcV9Q z&vQ*OAIJH3Qti$i=xH}!BqtNgt=Cf9C_J2YdvVu|pz0iz=h`)N#nb@~;`*;*X2o=-m^^zhyKX8M zH@)iCRW9~bEf5<7tF9x{W3ODCAffV(U$!>X{Mjj!^0^f&82?B_?!;wjmty^R_ZgbW z$k2(2xl4@RPAvCU15@NbAW+d#%xAr9Y_!5 zLVBnV(nA2up}YmzjQ3|~VqZgd0Se6l3aM^cfY@P+msLwjv_j^A$9LNK>K{^k} z>ho82atiMtY=NQw0a*dxAOOJsrgzzeH26~G=z?ZTAArvwfX~NMT_R(@1IVm)rjg_D z6?n^1$tsZZC8ZK4WUng4ezjM}0CENZdQk#L@f9DOL|rPh>ZDI*vFgB98uh*7v{6X_ zKk*5@wYcnjF4ih&d0ilm`%%I+X&@q@B)=miWe&wQcQ|X4b&h6V@MYd8{6Mh2&@W_( zZQgaKFsq}9e~Tb|h4ZG1<=C|(u_A(e1?meA!hoT;-ho2@Hn-h48yNqYFyFL==cE>y zpWP+eDenVk({u9N>`ky->9Ehi?RWtR!xK41U3MaI>Rc|CiGEXW*WT)oHDju@d{_;v z%}NOyqx4pNaG}iIVRpOmyv87vw^1!mfEQyK-F^=83UT;nLTEwN1>Uh%TaMa^G%($_ z*T*#}bEj|rT20lk$To#Z!l*^o3^Ygw%9?^vtOTGS2&`X5@!X}v&xF8YWLdz}xs;fg z%jjYQL#G{p`LPv=GrbH126k_%kmiQ1hybu(mY}*&Mh7&{XB)x{Q-u|npDI7IV;qFJ zVK^LA*`;lpg#bQ|+y3#Tx(pT-bazi9Mg$4KS~f)stbMHfb`C-QB=9IAqM{Ee!dW%0&w9KixdCSy1 z-68}(CBNM%Zmu0Ty;N4HAa0hJkD@d-NOt$$!r=^a6Srm(YM|MrZ<)x+XNU)?=T53b z!0?w7cRn0=4E5+S_tT$=pl|69 z5edL-Wv93(7Tyud5b&J7MRP7xi?n4fFkXRBC5<_}e%FX>|Ms3kLVdQgRM!QexV)kc zuM~M(bNxn8!d~lcCCFxte-@|K-JIR#7AMBJ9!!VQb;r|vq3(ZuQ0QXSoW zbXmHoJ#WUy>6AWzo16mEu3H%38xSgM3(!N_0@e{Q2aCTd0zBMl_c`nA{QDQ_l=xo& zg1}JlfPiLWh7c1*3m^pbk~!{$m@eQ8qXkL>-1Gq=1J4*@24--~8;k^T4WmV7Gm3!; zS-tx69e|i{u*`pMhLEBFdECG9RU`OA^+&Ju!I$7E{}?^CKz=>Z^OZvNvLiza92LFF zXvdsb#OFq7T++FsVL{oFNcb*rniz6-000_)cXxQ64^2ZzetQ7*$()& z7Qme)Ccoe~TO15;9?aDoO{`kcd+g2Bc<3IEIn+0Y?2B3c_8_F5`W%hqqwUN&Xq6(L_wZBFcIGL;&Aeqt|J%t1%hprr8DR{E$ z#Zr=S9)8qPE8M9O!cMac2voVub1nY^RipI1vl5Gvn9cK-g|Fp*FG}!%SUlf)Ga=0SWK&ttSb3K!UX#kV zzgN$Y%Aom;d-iQwH4egTa%}QI@9ajYnaNCB8?`c+Mw#&%-DNt=dKDg8b*^9?KkC5u zDn7JwAM$ailf=LQ>yA&55y_{?3i0&TMwK7EvUMS14$5Y;GAhkU6|Z2XX?AHPrfFtr zB~$i{y+d9sRT5iLMz-IJ-p~ls4~jpIQ7|6)(Tg@O@IV*6`BNn%UF_}>&IOw$@Zp94a5NNg`jTRQq|>>Qd0tx8CUksd8K z`|L@4?eILM2~r@yrbIjtJz0O9L>(|zI*L% zlvs4Zjm;Qte5|^Xss;)f%`1Hzh*0E({jjEU##YHy-dh+bu|lHQzR4Yzcx)7zTVk^N zPrcPV7f~jpaQUnYZSyRqOvscq1)*4Qy_RGUlF8^S9zx|Z>$UtOs>T#h38ZiCM=#sZ z8ijRD!QvQdS8mmU3juCX7uvBn&R`j!1Zcs&m?8%Iwt24WCavF{O(Xm~b=qqxJj}uO z61^tQQ;|03m)%vM^(zQya7s{T0e5J#mGEWU*r}S@)i07Z+g#5kM@(5~YcmIf$cT+U z2PI;PFR|H_Zt8k2=-2#2jf=Dy+TuV^MzP>LBz-d@1>+Rk?J^kn5)TYjxh#E6C7#)a zHc`QcIT&o@U?xxjUQff?;7b^x3IU4^WHw-s*`S3~S#W(84OBH%n1sb;LyUp940Zf5 z4v5~^07WsmvkYd${+DJLP%D37`PbgZWWbIELw0Nm=%;T?|BK!LJFo;1yS&xt{o%6P4U1H<#9Z=Se(-UX~!=y78T)CiCOr?)y2R4q&hPwvuep7?q? z$tobYTDaOmoOyLJb>y@DK5ZOO{8MOgGH8Lsf;;;80CIXk&xy16-~pWR1rGpdmFo>o z*D>qaHNpUQ?CdMNtX8$5FyJ%$u1Ru`Ytc2&a!_c|`Kit@*|<48d_)Tz_!6HQ@}- zoBKSuljGi0{QCiXZTCIc%y>^B1W-W;u!azD5<2S&-0@*%0l}gB!1efZGtd`cFc8{l z0Z;_&

      gS0gB;o$>8wYSHL0s7pDJtZ##Jf<(8TQkBiQOz2Yn#Luvz0*HLd0P)WTqj$||Yqm*dWjmL;K*=c0c&?p$;hx4wO)K{`3(J`B${A$;O8t;==a zg2(e0sgbVnZoFNpR|L2@uE7nvRM*?|0VPvv#5n@2M1OiJVqX77O?8zdF7nprPt$`rUyqHIit^&cflyJua&@E zEuIbVcueKML(Ha7Y$@QoNS)FO)p~_}BRVdO0QGTMyI$+wRo{M^RFxdw#V1Z9@S4DL zDNXE-HdD{9UMmYcr}Ru^Wztvm-gCcfIQ%59>@yYmY*4lTM8!gU&+eJZN#3}aM%)H# zQwlcX`Yf$DN&Jk5Ha{8zLQflkMFdqQ<|kAD0+OO4Wd2~Q{<#@K#(4-C#E{AG2M_=( z{{dM-JZ=MU8h>H>pZ7-6F^Un-U0hgwM7a%g|M`T!>VC<}gd2Db1zTr^tDAU7C0+4Q zbcNW)tI6&Ig%tk%c9u^-%=X^!&-nhyHMjB8M*dHwi5jfIP9(0^f^A6R!%uXb;*HxD z-Ze_WHZs>&+mIB!_rftw>M~E$vd;Yt$)I)#)5JvPfZ*7=RP0HVBquTC2b@2iD)0mR z=K{fl&0mxQOwag&hleQxrmxQEa^APVv|%3TmGe!rnDz5&@e0s|3?R$a0M9bZH0;|G z&(;Mst=xO~4g6CsDSCpd2nwV2(gfp)9yz6yM(0H)wyrwx%crt<8CXQ_4zd3-Gje8v_tngm$|Qcgl<>2PCc4;O+3WF8uP zDT@aVj9qnLYyaM?4NyVK2~dHc0H^@N;wYv(15-hbQpWd+!iVX~A9zxBdt{MAdD%6m;IM4@#^3GB)9^{TJ&5Cs)AG35xpJl|Z zwI;?_EF8$Vs{kGy&-688plWzkHNvPGy^co)U`T1~Qopz!!vj;l1RlOxkwQv*yka4- zIu}$c``}tV-a|YmW?fq1__or!>g~PtJo3aT*wkIC4J%FqlRI_#y=J7LTT~qktVpc(8KxhPxqJ7gW6LS}2 z2Ihedh=&f2Z~y{8^P?Hs#rBX601TxehK$F3|CTHv9)W}oj{l3^kPZ+&+Bir-zk7XP z^d*NbvEyg(UBsAMAXjc~Q&-zQp-6LJi@#8?b5zv{9%=mC?h8S4 znX_~V~GKr#!?0!ZjAAbh-b;4FZ&)>xtvR{Q^Ij z(7omk<{zp4U(M~vX%pZ|{AZni3iNF#XBUTA%Gc)uLVt|h8z-hLapd9bGT0lQk=Sch zMW1Lj^vHSdM?RRYkTSOK9omJ9Q>0_)lKDQ((64939dm|ccdsqyZeQ-0pAO;uxy_To zDr@HfJ_e~{DM4x!G7-y=i74RvW+LEl$V4my6S0i1a`*FD>U%dSXj+hHw;K+=?84#k zC90-_)J7*h6`+@II`{%_aJf?0)ggh~_8nhCHYH#P+yZDrwt$6x3PwR@lcW~h{e3td zFkHsn4@+++)bfwZG6jc(cxO5R;1pJR;sM8T+p0FpHf$bBaBP62?n0OAqhJteh_q@QJvWEa631(n#Lzn6@ z>$-g4jOhG^8k`M8`|&|oKFIakZ7yp-`Qjbe`&zAl{QgB(2UZtw*85&N2YA0S{}ajo zqY*J$z;|O1D2!iO|3CWuI_&b`%XyINy?^mXzYn=MW#o(?65$}P5Q3KQtbx@mn=;G^ zq8KhsCIXo7PZ~gZ-?2i*@EWhJKO&=3TzcQ910X~DtA1WDNYTG})#8usP<8 zvmT|=!i^K%(whz&TlQBPXtodS*Fn-8`0}4!GZQ+{zeP9%1=5ttJ}`gtqmeR#@~QwwKg?k4KYLRku*q-U8rPA%ey@_4fOLjBCu+ikakxCYP%Iu+ka~I1qVeH2n@0h zpb%vw6ru#eRZ|8fYx~@fqyceqejn z9{_m%+x>nB@ofYZXNQN8P#*VpA;1j2&F@=$YM73Z)8puCy<^}Q00(8wjf$q#{ZDU% zrt8xQoaZhSDi@*n2i!&rd5fjLXZ!^PNr^~9NR>%DNV!R^SVk4y7}s7k(D+j5%(!u` zJ!>e59WZ*`fQ?wy%x~^%-$hgDJlfzc>fkNDo?~cbR%=af`g!=m2iv~Vl7RrUsIfm0 zO{q85O41XN%1=+OT4NJ@PR4rEsDUbgN+C0)5M)dbXR)c>ttAgpZKbcYdW1-~}C->pMDdc=~ zWk38k#gEUaHkUfErRRl2$i$#6{jG)zZD}^JmAc5FE!_dOG#fa1 z$}7Xhp6uQu`IO2gK*@+m*pY=OAPtWTUXvOfJY3sF$K2@M3qHOVpR!&|7w4`qs6IybV2aptKiY0CWoXx zf%D=<=&y~o4(S$>qLxNh=g_4Y7Lq;hUs=4*dU9jDQMO|z@^N#*NRwD;`v zcSH7~6PZnIXSkn~UN>OzSTf>n{%AGfkx0n^KXH$%Io5%*nOkElq<`Va_Qi^sl}wko z)#RN*ZqhMJqdeE8!Hsh4wS)5AH!Btl>A5{^60C7~ABV+tM!a`!A?5wET+y>xuEZg+ z152ZB3E-+^&E(a+bIGiIRL}SqBe!<7C(j}Ht*cfhL>UTq1*|K|1+5ZDvDcVYdS=eC z3DiV7v8hlBjluFe%0E;!ralmVVkc%BSV&dm=c$mpOyg2x>nE-BR}=- zgQk!fy_k?ILdRodStPP_)9=&zt8IqEnZ&~{j-H2eW3*_TFRFv*ZhVgDyZ)JZr2j>3 zLwil5gWX`-}ShsnC9 z?MqDCbw$Fi6JB>H%P6^EV;1sYS;F=m`OFWc*p5^t*${~=earJtU+cZnPkk}=dPj-h z^k5-SBUQj6M@3otwMvBj5xRJ0M{{DgnZMe+dg7Glx0hVLsym4*9CF|T!+Cj)3EDqb z%IPzsRE|;hz`ojax1K|(`i;(ha^?SV_ZCobw9C3M2?-DaA-KD{L-6441eXLI+}%P5 zZo%E%A!yJfxVyV&aDw~aLz4Y{`|N$rx$E3@|GU;*t215mcK2KL)KgV&bmSEuC{8%1^ z-R9Ds`iy$@cuVP3hsT{ZH;?i@aT;0hrH6dS=C35C!b0hof+l}m{ zEuOQpr{~9cHKJcH$w%~79=6E!UsQp#~3Rb$8fad@<>(z%Wg%mF9x%h-MQIRgB*A&uVGL*DnImjhSl(aGsk zYQ(iLK)Hc-AJv3T&bgkQoBp~v#o{&NL0{hAVtoiae}_)yl!Nwli2*{8_DF8^c@QJ{ zf# z<6k!pwvSympTPy>KpkREU6^@vqgW|e>4 zpC6<9RMDRG-E-isX_9Ycynf5t9C$!xvH+=^6+jAl+%y?tIw( z{ z;1i@A*yXB_PbW~XfDc;;DtI05Qr*5@LAmcd0&u+taJ~PH>(MdkPdyI3okvv%xE>M1 zqtKgSW6(qdJPJFHUYfJHBPFDQAH8I^0Y5r+C8&+~LVIrG1w3LU+y0O9=soO?RpGk z)pwo^0y&-B8249>V5R+)aS@3x0m`Vv8(xlQKsHkdF`nB@iu~9h7=*=dh68)2eFxa0 zJ_qi1fGeCoR@>e02As`Cw1N+m<*#QKjJ?nUf?I099M>wZhC){eA{D1AF5&+k{KfnZgIHEYaVF|evs zkqN_5;Dc!P))!|wip0vbRH9jljux1JL5fUq^VGR=v2AV8b_8xRWeTKU|mE z&T(RS)Usg}m@+Ahz0I)uPWWmq9>$l?W{?rl_>2J&hGy$#^zHISiXIL^Q_8WluTOjo z9U{ykEqNnMm76mn%yw+lhfSsxGP8P5;SKj%~0nqInhM4{;_oW$808V%QyCzpkX3M>v z%U$O-6t~{BycY+9_Zj#(+=Bs9wkaLsVku^3YeoB4gyXdAjbB;Z>aZd9lD>!TXJ(tjJt8vaZOMR?q#Jz%arWyM> zM$uP{zNt5??&>sX>-G>8>ad}u)O|3aB-z`M^A!cVs&Uwj*$oj{Tj0=c9>+Jx{Rin{wPZTC4DxN zX<}=19CAW+|AJ&+e`#`Z zh;sr_;ot0PPIoSg>AnnNkj2!Ed!Gyb-bYfwwlLGkrc;nIEluhdkLqrkb7&VDF9v_$ z80sA6uxVkMqhMZp=QZEvI4@QM?{K_%%{CZn;8F67C;TSTz+)YY@Z6y3x^MgExT*P( z_e%IKo|{(+r+8Wio(o3XBppnthW6F-@rOP0gO@dTa9JS*@NX-wdvhC-1;GJEnULFypk(8_Ss8~xq?p6<}?y{Zs4wl)!YwZ|pv0qXCl$vY*P1-4L@G0XA7Y5Ic$=qqxhQ?g$=k$Sy ztxXSO=6u!=u4D~_?yC9|)`CaaX0QEmK4rof{)?DI0>>`;5^~rueOyPt9p(JiLfKs) z+4<#L6K2EJCuL;2S2NoSxkLqOSWbNoRn8iDzHWZ+riM0;b*`{gUTlmGEpI3=+#={c zh_bRDG@+XgOb+uXN=ch`Occxm&utGcbH|)4%nxRGd`JGy+z!|Gf6%@Lt{6 zf4S?!OXnQ$6*x4H{}@P;{TCX|jb1PS;{BnR3kv{p`n%Rkh9@=CGv}-x9G|OBSY3Js z0nOw*(gNn`E>lBs;@0=QUK|3Y$;XKuDT8#I7RJm(L#v}h8NV=JVUNE@U?&nr>{ftg z`G=_d1mY6v4+_frY5xWIQ&tH0TZ=OQ<~F*&jsT=Km?&_?NDKJJ3x5HOc@R0-pP3;Z zwxoYcPI|(AiC~6!1jv1ndRN#@bdMpY8odRZR6(xPfQd8WbOByHU>N(pMm^x*_dN#) zP6tX4zptB-$%*a^_5=_E9{#t0)NHsV;S}fPFE0bU!T=t+nu(sev~cA;FW)seMs4Ow z*XRfL>kk@ZK>wrzto%>u27(|DPDmE{BP1GTC>^JU(%L-*=EfI?Hu0ZKYak@P@}Yg! z=vC|H{0C|?VEO+V;ertIg(2kIt;YjahI|DWGQw8Bn%RYf3J~GH*k^?x|Ahh@QVee` zPWJ(R0I*eGL-0>3=*5aj8QApZyATMO6m3kc$|p8t!81$_U6xS%W`|DQ%2cLhPb zHue8H;)DCOJ(;+*hB(?QTDb7to@^)%w~|k2icin@1cMh4Fa%NF1usK?tyqG+FyQ^! z4SgSU!>Jq8@G4&p_$!VWoOLDc(u&fhid!eJw1-D!%UD?F!}s( z=byC9V_ftuoBOUO@_Mx>G!&mSjN(dJ(=_Lv)Q<8<9nduApR|m^N)gg{ddPM0CS$N{ zXk-hg$vQZ~4q22Boj%cJOa%3?W-lNZqy?pRvu0~b{p_#)>m?$l z_HjOM72htHAdSY7T+Y?_dZIVlByWQFby}io7nCc7=Fk3u@JGN!+%Vm&W7}9nLo&sS z#6vQ3&8(X zNZ#eL@pGvaqSJau7Oy}@i`EC<@mZ*{7NS(b~!}jMVlb&FWqrIhXB%xSw96(vFDPP1pynqZAns0oQWF zkbDs-eh{})foYr$a@LcoslR-L2q>24a#Fv>qKXv`MC^i8n^AknXYq)rzpRQKBSsf5 z9uG#+u75>eoq?~k@Qc*`cOd^jkFli$Hi$1$q?4k|pV`}`jxm4Peooz&YDmXvkQs?j=`ryOIOPfW|GAZ ztFESKXIaJ$0m$(mA0_>QRm1@}DBK4CwT%VLRr(+nIRkj-nxmu4NArL=071HXfrt9n zm~@#C1fS-q9H6YqS;?-$bEa<{_L-}qmq9SjTWB)8*nVq88|#lDRs1~)abU=lj2JG=bB-wlo*Gx%e*O&P@}Wb=o?G2 z)ZzWq7zf7z67WZ}4N|a3aco2mYN;xJlw7surJt%-X6#m7pk-_6Phq*5-mRQyR`b{) zNlMLB>_~^Ki9%#awVFr=AxATj(IC})F|t(9FR>X_l5!R@aWn_{FAZ6Hi;};`?9c(? zxkmuUfJKr4e=zLVEwX{P`DXDNgu=Cn^GaV1sbWd~!{&d%`3vC#NQKQ*;BX8CAcLtK zcczOfRT_G*iJ#M2PEPV5-EZA*a3v|L-6_d+bO61XnwNm`f5i$6MmY#+ZPl)d=Mvi0JIR^I8BvDpZ!JPFD`+C1fVN*qXa@_hKCxw z+Oi`XUA8zikV(7Vjjlfne+1;G!@mpEKj91T_COu{Utzl&wV8to5cq%+#0hu~+^_UY z_d}#X96m7t=q>ttoc=-g5WMsN*$)IhaH(qYCn_N>QurHz5K(&XFhpg52ikHG8+1JQ zI@uX!wz(>a56Dk&Ua@*EWdD%6a;oBxkp4wFkf);^_%q2AI?Zdz!fM@-wC&Z9dPMpc zIe!rRipD>b{Tl7(fe?5sN0p{Cn(~)__BsJSr)o%XXF{|Br9=({)WU`aZor2%KOte) zD-I+XEg@h=sRs~y4};|3kF`KrqFNSv$Z?Ns_Xh%u$c0HX6ommUQYHnc;bw;fA|P57 z4gj8Ur36Ad+1U<=av)k49MGx3K;Bt4II8 zP->}c&>g)Q;8R=3Jj}svH%cE7r#JS@aJ97arH~|M^RP~ zHr=~8J!I>Y4>-4m(e2jZnJs}H={v9l{8=V|#O!Cve5k|!u@L+gF4~mjrbuUs- zdvz3F^?#kJmS*cYT4we@iB=~4N0vS$?87?q_wXeF8+y)-cLUA}OO|L5Oa>NF_9b8u zy#@cLi)aisMa)BOWjTN>B7c=3^xh^^U<0ZX%Rw9)@0J*d;dSFc zp`XnY1F9Cs!8%aDj^zLm=mB$*%U=EI8QvU-jP_hXB3-T;hcnW_mxEkq-n_+hbmDr9 z%fS!ti;#>Kaat);6i`ed%l@xI%PK?l&^`RMsyvYS&?o$%nf@Q$0)YH~wv_%)QWRKt zH&cOZeOOd=Y=0N~hdv=162AcJ>{cXT7)zjInDT(s-u(Z(_8KQBJOKa0-9NDkSziER zwf?ch0LZIxAr;^FcU>r+1u_A$)@*N!0R7FsTU{Oo<4no_oAnf8_<~Y$v>YfI2dGv+ ziUNEM@IXYMy|Zdq{nH=;&AcS#&fEj*X7eJWh(POPTYi}*$+?j3ReC?l7*NJpYX5&Y zQIErNip^_>|2OgKIQCd2s_N%}2U39&{JX;)L(d0-8^A7C4QX{XfQ1HFa8=hR zqO67?WoZCdWWaYP%wU>7ozm^;`@ibaPV9%ZA6Vbf=AJPR7$Oy$*l=mnCUe}W?U91e0uSafW0=z-pS6od@)v0@=5 z*2i)L^jUj+>0*5uvf1QT^nGtSFF279sV-#TS-z`2< zALaeqNU4=;wTdOLIr8jwoVavzEf&2HHvMNku@Hra?T=~E;vqn51_Rs!kG(rO0 zw1i;*&5C|?_Z2Wb#{mL#zN<;b01ql)+AzKFlUWdsJKZUerDxHZpQI$IQUK3D|wlwlY%z7M`+1crXQ zv(lcF~-LA1qNB1vflkvDU>k_ivxFbL;<&u#T=~V&uks> z!4!#KRSgXj?{l~p`xk3Lkda@USLO&yKWKbNtGJc4_$tgu4GPHoc%b6V*Y51fRefC5W}C*C zrK-_Oud63aC;Ep-{bOZ@NLS~6;BsD{pr4KJ3NeQ%BsGtMoH7%{s0R2)fDu!tOtwZy z+*^Rt&yRq|UES52_)aJe%^NDo6m!jJ9>X)V}Qsadi$0w&Gxp3Y{?_>Jy< z)=Sc%8eoX2O*>0w(FPT3S(%TVHI(kxO-ur2A)+`9=XApQZI16%>v zqNQe8T?4UY60oJzulCK529N2Oxf2(x&gnw!c3a{|%x6G!(WlqcIR#0LY`&3~#a=?0 zucyv0$H>b=ld|<2jfoXghR>}RGVQ(c8w5#ZvgIlyDN)H%14?qKfx{13$*iMgCI$HB z>^)HTeme=MA<3W3vZ?)m+{`PP!jPq|E_Ji&l}t`j8WdFHOH!%^rg~7jT_mm?%u()U z)_Wl|)+x*7`J9G5S0R`-Ca;7I(A9x1r963%CJLDGpwJYe39uk05AC7Mf@hVK;X4RE z!~Q{D834f?^9C1CIYG~9)LaYLZ8;GzWp6ogT&x5^4}b+scbv$k7A-C&kfok&+AgGC zD}Ig3xp8uvIUXZKU8a!qc@($~O^r%cqqPS8L7&uv4ZjdRxB&3;LrDH|`GfeNasqG~ z5TLTunn_9pWo}Jx$N&%PK=jV|mbrPXL*BX+OH?;(&v&z!DJyqQ*>G6(f*W}Xsr{6+ zGue!CM}FJj^_=Fx-vC-b`@hlm->7EG1^tHE@_^KR_)SC}T4|XZ+eU`0EViE148XSa z=bV3G`!@5R+5Rt7|C76OK>$Gw+aobq6Mr;8OjrXK|9(9#ijZ}6T|4l!^`4vY^=e{5 z+btV)mpY*J%s9y$6_+BU^~`dR2P@|e#r(QylhUK{%sr`5#1S(4=3ExKPt#ncqL%7k zal2hK_A+ncO+K+qaj~3mf+{e`WT|^P{_-d`AWVq{N2p~0>xL*d&YK97ql z)3Wg%c>nv*U-SH$@{-|^DoSwd$L&l1Sdro_Tve3PG;4LqYIRAfhjD%KOm)+Y9;qXr zgHF|`q2bCXg%UC}+Gib7LeyajQlv4XaJg*1#Pkva;AF{yhwI&1-jRIv%~0b4L!Qp@m!3b)`iI~6 z!EI7PfHJIV-z zT(3IBSwg1yFzMesQ#txNI(9YNZ=j?-x0jMfyGViI4S!<>+m&gUq7 z)8oIr$%QjtOl`%p#<$Xb;wlgy66H)x{hqRVKT{B|?y?vs%P8EH8OY*>F zO!59f$42X*?&v$mK6|f{6|O!LwGN87c2xtfWB7muS5dXK&Di3~f$&bAoT`QNJw=Z= z&NhwjBqXQIKBMzPm#LaN+bC?UZXzc zg`c7HLk@lPwezF&bu)Hab@T7~@E7dj>75<>_-g0J=+9^DmTC{9ovZv9PFLBrbaxgv zcP-1bFf25F#Oc)T0tjubaBWe*vQ8)d4Bq16wJd@NdUo2T`>ei#1;Dnd691vir`y${p!d zz$$&Nsw)>3avOv%K}dIb{F8mc$@ zCB0iEYu%OR_pz+nOH@-x@^b3I(RBf^)*N~Wx<;i0W}bDtycZsBH%J%;meRV|Vg@%9 zKa;-m>$n3CsZcQ8FRU4LE6W82-cjr?M=vcg?jXHFXuqIcTjCa-Bs5M4JfhUSkBM|K z!U{S%KW%Yr@m7v>c4jb zjot>sH;xY1BC1lgWPP6vcl56Z*5dN<4YZnT8{H{5&RQ80p1gkfI#Qz){Hm)gGm=Q+ zF`2;QC*D^F-kx_S%Mo+sOZAQUOw?FUp<0JI$j*b^6Hlhht-H}>6z0Wt| zozwSQ=I@%$59X}h?{6=>?;_Igny#;gtXmfsy}Y6DT0E{@52g;5yswW&vaJuin{RLS z=k6A)>-3iO_~$)=cRV*k<@YWpdv)b?2VU6xS2y4h2NqL8Pp|W%KHc@hwJB!aeSVLN zi@USs{o8|d>sF5lnU+N_w{!gU`?H;{r55D6p@Xi9>zn-@0q^_0fOF?`Z)gnf`wQ^e zxi^x`Ie~}Q{o0X0%e<%O`MLb?zBl`^^8w+_4(-hn+MT!91j0sM-VouEck{K=`N}oF zjTf3x?SP(urhwad8rRHOg#K7Rp=a~$ngQ0=cC)J~5i^W_^Q44NAj&6ACX^_x*eXL zwGFxJ9IuU48Mn;3pIqb%`jrVR-d)PxcpcvE*Nx2~EnUyar@y~3gD=91IXQ54zDKC; zQn-9_;njHSaLr%P=j(hpMOY`{J;s&+zNef-zk?k=4y280EgYrvHB0yQJnY*GaBlU! zT3qsMxV-2)*YjS~I$(^8)?n4y9cgWDx<3AKwkF_p`+}nuu4HM+^D+P7mhTXu?}|@L z^Yzr>d3vPy*e>U>B(96c_1!_nhs-0SJFn}#>*xrdfkof*R_|-CbL<_wC&pe(ZqNc3 zxR*88ea4^D=uum-D`+d;Gvlg%T_PK`@NUp#3y~>!%0y?ANQ!xpTwh)2Twx>_6^ZCO z3sbmky;`?PFzX{9;sJ}d?d>_rX3q+D z*a~T@+vzZdb;ucV%Eo|gW6&2bF28;luG!MbL^zlS{rKpDfY>jU!Y{RUQATb1rP5Sk zf~T6(w_+K4Wu>V@Qq%4-b4Jr08JU{wYXdP&9Is(ECa(p`y%eLWB8^M)IoL&kKn=&1 zD&u|$c@zB(!X?xkHCATg@cX0_Gl~=le zqmlQF?IqPsT`gXMzJy+%0(lJLpN4r}R653)ziTAU{}R{9eS^irSu&oEpC! zXPkHFJ3XIIs+E-e9qDt{gy*o8G!33tPS4n!Z0LAeTs7AXQTXuP!XsEaEatiVR}+^RVt>M|bghvTH_1cJQWVM)5V(b&?7j zFzx4ZN!GTAoZa*3uu@a67XpE6w`U6GN>_)zXy&%%2Hr|{#w2HyTH&2yNye=2oL^tO z;V2v>KK>Zf@~ky*C=RuIq1(h}btcxNFU>FXW>>ET|T^S7X-n^)bitrs%14P3BU%Pk07Ev2`}j9F33QkC!s`Nzkj%&_irh zDVxLDiCb*)yh);R$K%#))Hi?rg;=o9)>eTWmulVHU304VP#$Pk09x#tOW= z(gGjTAql&PP59d79;hs}+9Vba3e@#8&L51wZ>nBu#vvUyBGddBODb6=_LBx#F{HeU zsZ}rwssP14_i=fU>!h<3>>?RS)bbwIGj5hL8`UTgh1s!4*NwHZlYC+5WN7qfBb9=& zVlAZ6y*UXq8#~mBwC#QJ?rN=f-?S zJ!|I^+e8hwshgD&$B32AJo#)dYgU9-0{ql9X?E`=ZRyU(H$kdqd&I)gq#vBv8S79G z%?aejMgu|3!dhA%=~a@dfuC)vq^2q5v#`WwEQPkP!j7GMRQ)yY84>TZyqLGX6a`O| zg}(@*YJb$xSdSLSRv zg1WA>6Sq2x!vdv_z6+NvD@DSYMe~hZ&NWsT4dtj#C`T+Rm_RJLS1X?f%aU#@=NePC z1W{|24gbg8271AGGKg|xQG}KHoI+Fb3+ISLZ*vfb((XVSy-2Oxsc{4hAQS9m&nNS3 zJ1BCxYnuc&&txxRx>t2M=1(W{%}Q5tx=-oGSe=0wMHhB;+!Y&Us+waQs>InD&nb#s zzm2+UL#Cva2Iki7Z3fSV?91w^0$(732(|I_&6jYW(A$cabw>_qM1n*Sau46I(ytbO zrClzrww#;J;>W0g3NkIWd#%FCz+EjWZ!w~*Q))^~?J(XxKlg7xjnz4bRIsq2E9#jpybFI$w0(}3 z@SalKYlOY6_Z-&uhQ3JgIi-iTzuCB)l8L2)`DYfDs1k%&GFoBso?ZpY&u)rO zS-4evoJg*aU>UCCVCA~|p(%S^mPN3UQmEQ|qCcPTS{0VN5!9Vn4z0x*?%VR_^z%go zTwn|c6k`qu(5~5{E^)6-9@jrhOtsx{o&VU+OR%a%fTYN%`IdqZM_aXXjiSY|vvkWA z_4MI9L>3bs;#Vqz&O$E4#yhrl7t34CPM-;0L{0F&MZHHSX=tOa;uj3Rum8~Y^{{+d zRu%3i)HA3<*bg&?kK?0oL>&?WNA0Q=0$}BNv%Uz`$m_@j|L7+DVBqDK9v)=D9>}jp zx2)pTl0%w4hgWL_m{>Wjkb`iwD;bth@Qu*Ax27T2!aQ@}fD zM--g+yTA-wFr9$Q4_X%QK4UVDEcAOdJ$qEW#Q(y1<<5!S-G%GAobb+x-~B@WOizIC ziYcM@&X7AjlVu?OIM-}?M;%tAb#(N^-%Pe(o&I^>bEg2&m(N#vCLOB?8^d$V&j{}K z26k6=h;(95a<7T0@SjZNwu~kVr(k^a(6P=HJcb=Gcr-F?GWUe{$s;7muhejG9)wQG zMEYpxqHHEBd2QS&h=zNh>(6j|+8C)S+(%Cgd5N(zv+rTv@a?AE_*u1IzIGzjY>k24 z)4_<8wchDueR&irk^+k?FW7G4Ehv(LwVVV!Aa+%sXbe+t$Ld0I-nP-<0l#g-ksuhD zQ5=s+bnvw2IqK39H>JT~SjC?KEAwZ^%41bx#;$&WM&vlwM+P#nzHB4ANS{MXYcs z%k$&QF?^%n<=BSDaTE2`tiF2b87?~^T~}S z8>waNe9}jSY?Lf~Y<^(FTJ1I+y<8!XThY$=`fxULoNOlLasPnS6qSsM%%WS`?u;0D znWhk`jar%G*BVt;IK$Ezk8uiJY$5*+GtQ5A{7@eeres}vgGJ#&CM+hpywMB_u5O{8 zxxh7}Z!jTS>M5kvi{M~1ikRJmYm<;)FeCSTn`=o(ap67H{2A(2Tpg1lmi3sTlljB- zi7hHk?gu}sT-DVoiF6-*`k4^T+$|new{HlN5xNvFR8E4)v!nWw@YGbpMH|zOy;<1< zv?D+_h(~NZXK)sRuU@50=c6NRn`2g;t{@eq>xpxqbfXwNGL(&el=FfE(}u*_hSOgy zAdeyw8AlC<8D|Iu)By_Nm^gUEZ-UK&?=yqEc?lGppS!aX z@PsvtsIb(7Xx*(sBAP-*QAt>dE?h#fx;sy;==gj?p>UI7ty(wh&S>^;NVlNxBT9q)5AVW43yVc)Zed3}}$I{Z{6 z;-al0;__m`A(!XQGRG{*26!k|TC+$WP5hWkxrVh_KzwW*NKUPVx{8BKK~PCYI=T)lJ2TZ?z;t4-pxu((uh zzD$?{IJ3dqf?o&TS-$L6758bh31NQzr1*6~w=;^QC-FBz4!jLV>|aTngg#`OPzzMrI?(A9U@p(!{hH4F?q7n*; zY7ToUhP>^Z?FCQZD6eTX&s1%)pa;Eb)LX)}$q2|=9wU9`?WqhB<^O>Fc=_eGuRTSU z@9LOOotjJQh1UkY8dPptE{~|5k8^ByV`L&4?{{ZGq3~YGdK()F`u3%Ss>W66cc8Fe zp=bM%E94o_akEsehe$6wSHSIwi3FA4DrR)d7<#87(58gbFn|J{ei{DxF`|MFQ}f-| z;F3y^OSrQFQCm?7DCvE@e+L{2^}uN^DO>;i0jGx95S6Cx0AC;{b2GlLXKW2Sth%5@!=CCk8;q7GH5Oec&Y8S3x(e&pa34n?-DdhuEu%G;>RY2Opjp)r1k0?sS zy^t_8oqJlzIbesuN5U;qC~jW(P2Bn=22Sv*TYQ^14;-JR=nT)anKc=MwcX1+3f}B4 zborjLBSdSFzC}T`HbjpTSV8yi)2}xco$)E^u@3TK_r7R-*+*lUu zelq`-9Z@oM z%99nMAA)VxVYN}pz_TCM7HlCE(F z;m}?pJFY~zRg5PT6*G3Zf`;oPf@DYNL{S@(L?|J5EP-s0SbSQ_+4iX;xbB^V)||4| zTqL~^X+M*p;(KJQ(Ox?5gixq`76ci`*B}I!Ov?e_X}(DEGyiDwaTI zrNZ~4PI>R7w``KPJqL|_RVpZ?$qFJ-u=7dAhyoE*8*nQ>z`r#tdV*yTIh~FDH4x2( zfBrSrvdqB|CrF#UDM3BxCGnc2Lm`5$Lt$uLWWneQ#Ls+f6MQFCKN?1+d)1A6J5@p` z!W>POUxrb@hLVvsHdO0oTuGNa?n?}!aCC1Mi4Mo{<;?C}-b(=1SCO3j=XNPIp_qAu_t%<{1RKJJ%J8H+yd$ zjYe+s&6)gk_%`w6uz)VV%^PQAwO3u3re1T?|LsDUT)>!^vj1h&5i&?`NBWKrTel&- z?gO@Fw)(vA({y$#N zR2oSisVb?SE3-E>EP4gyC1$p_TLdt@`5ji=wW1)=Q>KYaL%o6!F?Ep1aH7jx$HlFj z@>VCvGH__{UYVhBE1aanaavJ4PxVRi3Vyjmz)O$uq9RQ7ScxK`PS}^x;sl5#2&BRi z)?dnp5!z^#p7nrWH3B*@ZzAcw8pW_KcdXl!AqMX^YI!m$x)9u-J36~LUbL#L^(;Sb z__%XdF*Ig_G+>#!vEZAlA-# zQAz?_Hna&_82)gaCv4HZL>Y+%%{4C?gh?YAmcaZuM9Wy7p4hhIL?`v_Z_2){6veLr zh3^*C=ozi=SDVPbLsIS3;gzDaLk?}nexj2*g0Tx+K3ygOGw#}vk3=izBac7eaUvL& ziJC}8m}~FbI`}`r{Nj*g^xdlG%tlC4c>T+f)av$|wuo$)N2SU~qp7rXY_i{MkVQ>l zlR-%llh^d?krDYC6xxpSFF#errM7@djwHV$C<+bwr1E`Q!F`Hnfb2$8v&D9|cJ_P< zR^rnn_EyX3I}((x2s3~8Rg}U=mu+Nlc4D?f^$XKGWfI&DaKbC{dG!V}&sEhDThdci zFld(z<=K3}_!d_<@|u|IBi;*|@p(rKa33d{d2HH&I`}E;I&N?f^pb*M&xOCfY&b1x zmm6@iyy!D?8rZq?atP(nw~GMWN<1JpMsSzmt`z9Nfq1x4{b zryxQVl(|o4u_>Vjny-!NZbQ4Zbj{aEf_xBF911Yo_^DV%9!=Ej@H_)rDXVgzwBdm)RYV^z(4EG7qOm+57xM_V}d#{~5%m16c zB|K+hf_y|T#mA$9BtIwZj5EoX9Iyi0X9@CkcG1W%g*0j~mI3GWv3;!HUvl>D7sy+? zRa%B%zsuXRD=P0esZT1PZw$IT(JYWBb@OgDW=iPldn?QqiU-%WfGl+c@^B$gv&R|9 z#-}Ds!-%ApUiW&}7j^k|oan25=4*u6M5ynwjl+U#e44t5zG0Og2{`T95jJ0ZI9f(V zKbV>`Zk5gd*05w#6*pxGyAo#dY<6O7O&@vQk*U;}2;qZ`Q==FbzXBW`2Jz#uw=8$r zfo5vkPOqOF>DIZEUNMcJK_!UioURr2NiLB%a8Wlo%ZQ-7w`@i5T>Uu?g%A{cJZnlu z1I2`w6+_}*4(jswV74a^a$*FfT72TsCB>LP3|-Og^9W126RL!wD>gD)^4zYCUj=dP zcZ@-qpKI_`g5(M@?7;?R=BsiG*Oi15tX=!IJSPNaO0HU7-h^XBy3PeA9s z%x@43{V~V2qHp*j%+G{T#@at$*nIF%tJ168Iw6R?Mom1}QQqPf)Q_E2MUt6mte7Pl z`IBmd0~{f#Y#=JM)=!j*9zd|kk8UJO2d;N&nqKX)mQelQ+!;*&fcS^O@n_Q z)F&}mocN>vH6H^Rd>_5?9p;{by*a1)i$WUp!84bL#_xE2im7O*#h#_j(~n-1-J90C zW)cra(l+?m5ybl08Ng(EZz?8+a)Yq!;EZ3w!fB+el0$`&q`7Nb8p~V5Aq0M%pg7Ov zYWrX=VYjbE7M~MrOi7mmtuzzpefI`}(%z@{!-N@X|3*`+*BY3VS zUxJ({b^C5hVuT_eXDOLr(Io+tkK?5P<2d0qB3YYy~_N#7~bB<&(z)` zKd*I%In}03Tl$Ap%TVFtIOV{Klp*>CVX@KH&L%(K0S_PT}!A&MYY|GATe42t!Eosl+Q~}N|8kQb$`35RVJ%XQVB5$BSP#OA}tc> zgs_^|A2`ZC?a~HV5|C@CznJHh(tV!;8-bBHkGSQTrlOw3nHQ7xiVp2UmXuYA6YP^v zCNoV>PsRR39NpMm2{rDjle}vGRk{q}z}JvoTlQ|$m42lcmeFlvCKd{K&U%-csbi;n zd(Z5Nx=xkENN!Vbc-v(xGu5Vyt0u-@9faRtU@>u;@h)?1sub3X8uHpRBo6+7mS;&` zQD-B+r?Py4zBsayVfePD3#VyCf`W3v-uTtY?T<87w08ub^wrblzG)3w!QyCdIcKQK z&!SFxI52RcnkUO}3i7~}NKvkJN^kvioOdX54J51Ms`r&fIe+B5Vvo45kF8ri=B(0Y z{`t@k${F4pk4V(X$;b+Y5WWbdKBT7bQc+y$stKXq-WAN_)KB}aaa48{wazMJuVNp* zHbmv|T;Za3cn!Hl{Qj%1=8Wwm)|-qEduFF;2bu>@y`W?zr(ZZC+L(TKs+6&)VjPP< zVfeKDk(O3QDgf;Tu!GK7PwXD=c1{_`Y@5 z8tPSCjyGG266-4X9lPjrX!|J3Dc4qhJXmf@v~z4rER~!UYF71erl%Nq4tAZg@Ak~2 z@sjkwa^H5ZT%e8eF0nA|m}y#jwW7Y#_oHm`$>&2GXzN!L{%F=kv4%@mQE9|v*QMl7 z$w!PTasr^TbwXdi2RUgR=JHQ0eKIXxmPXwW-z)<=&`}OSjhcwd78AdYQE$NuOy~F% z$So-KSx^EA5q1i1)U*sUN{8dqw$x~1N``iyj1Zh>I!JhP?yLLTT+YjGUY{5GIqLkk z6<_^j(0&;5oD|;ss|wV!N7o21y(H@!+nex>>1XuKdzEQY4x>MGcxJ)JTqa7Ed8<(c z&w#G;{{huND!(O}OBI=Vn<|r@^^K@=I}+Nwb;%l?L==!I)tWAf!LxPz2&#Qu!ewmt z-efhk8+$w*3fMzCS_Mr}QqDIr)98g(Ngj`R0}&HCG>(={1zs#N^~S^c8ApvrPj;JE zy3~+>%vPoxfkW_gCBV2EM-B(sZ!PzWHymj>&7djSOgf+fFzOU0lM|G*s>#Eop0}go z*r}%lDWl{qrlh3hCZi;K!NMHzO?M5$Y{C~BEO1X+oT&^}NCy|xYaw1iNd3wL~oJNdYc<|nd zc%fYf_njeqdAIe#)~k-@&Q-k)+)={hO)-U&^<-UGrfPrr(ln-)o^w=dE~^z^nTp$X z&aSzTS|i^gUVHUwB!9z9%P_I!@I=Vaqyu+eBa;-}sW;_sxEc!YTuvanhzY=?TN=51K6OMXXI~LkjXtLU0*P6gk9hJNhT8x zMQUz_#3>BhDW=Q|8(O6n?O$sPo{)z0+B(Yha0H&A;4Am0~nz2y0yu~GE_;M z#mwPJTQ7d{!#X_E?hFI?RwCm{;405~8LYGe($m5xQtIj;JX!}qG4Pq3DU657W9jdgZ8jLUr4Fui z$IW^?-2t)h7jmsUAPaarubEO}9*vU8fOCa#?jsW8$|DrsfTUG31C}&O8L)H;lhtLw z(xK%2YYr?OO5T*_z|x`QePyJ~f#qyxU>Uy9z%rH*u++|fm?m@gp@wD$NRa_clf>vy zP?dmXtgYrg^r%dx6}Lv4#ORpm(j-z!Vszs2b)Y2*S%H?3sst@@%o4OzpvXjr#t&-P zvR3gqwo`_sX6Uj}#(aSvh_)DHY1#rCQ;Mt(p1^#*euW&%O}VVrdu5t3w=X}8s_TY1 zRh*8~hSnf}9qI(}H8LroN$RMCCOHMn;4xK~1wG--Gv6IiRc;GT)0nvLly8#!0!gyg z2_$LDXdW1eB)QT0;^PxXhNr0)ScW5~j4VD!k|?X+H#w5D+S5IArQDkei z?#K9D+TX$b_q92{pp~%-6cabG541qhBeRba;<)FP+Equ&poO!J6ul9#&rf)rpBBjsDbg@yNYN=w>sW>q9ZKGi=19?@ zn(&22im?piOvCK+2PB+%kM|CH{3KyX4kfKXv0!=+C9lmwUawVKt$~k=Ew!^`RSa~@w3^Ln}t)A0}C7h_9 zmsjI;h9A^$Via$C#pkf-G{BeoDvHZIF)$cZFC} z>VJ`kpUgFP1QvzZ8f$7=-97cHJW8V>VohydkZp~4V}eQ^=N*o*9A%>ZTf*y{yajipFuYY?t^&^&%nl zZwb6ro4^L1fj4BGfj2HIyZsz8&+Qk<6nLAOyIpM6K%d^ufOtiPCdg{@@KA_XRCHv? znodVDvT4+e0+a9X-#R~d$j z73NO`l08l0#$>v-k3ArXz;Fj?<*&unOVEj0fCq z^vLYnfiBr}uDAPSvl79<3soHUrjxw&WW#j?hjP|@ebyHGv{GgWjwmw(=M*NR%MhGH z$s5fa!8w$?cgzu-L&-Zq&({~8fB)^>7rA4-OmXVUypC6X@9o~ z9|Jpb{Ar&r{r+UpmE%$j0e>8ncHo^s{ z*2Onm5xD^2>Axo3<)7=r(6_Dz=#+l|Be9i57zxpmDe^XeS(}X}vf17M0F|V|obgnp zYtaEHU{>!27I(tUF zRXMw9wGr3U!5P@ahGk%v%fyyjXMN~s4pQ$Q>M^642VPy4x9l37WD;Urooc7%HXiLv zG={Y?uE-AllGxeCxFTJKb+N35b(u_H-B<=#G@asY$iA9pkzH}r_w>l-nx-AjHHMJY zhY+#~9zEDnBO25oiL4S7DLiEGVQBBK@4nvtviIQY?T4TD03k1a+{C5!>c?P_3Ez9q2#=_*Q)A?yOWRMByO#panECs+DIpz6+v}>Mr4OQUnaGrb*Qa*ApcVuY-$p_aQ9nkzCVK=0)S#j=fHOv6J#|;Nf1+_Onyq;&&Ak3qug*iJh zVK5*mJ(KHc?aV&sO}+e_j4Y$%jk=^H1Ij3Qr!6UIO_R4g4`}^zZ+U_e-v^+F&!fN9 z3nppeKa=ZKk1_sp!sJJiqVa-)I6^qm4)gamA(yr%yK2DUdoJo z;y91Ccld+ z%a?{_%sid`RBeAXrYV=zdaq2q@X&pRb=5BFdQ81H%(V>Fr+i&x8LkMfO|&lBo^;uw zwL*3b+7`Y|A~A02sI2a?g_G0NWPLqxgM4zAt(5`N1I5DJWs7CL5L;cgrq$rGb*ema zsw9KW18j?8$N<}7Uy#|#zBqMcAhXO}wnZ7F%eE*38E2aUZgnIS1l-b$P64;e^svSd ziJ)*knP(;57G5lb2+8>0da^Lb1#H6w*~n~Dz->h~GGTR9Q{Ou3$dJo0c3Nu#n|B6d zaqKb}%VlL4>yQDEQUgF1tYBeQsQ~SS{?oBs{eNw=P{{18$KngRxjv zgRx8|U@R$U>QO+kP9d3>%Khq4o_U|Mwa7HD$vi~uWCAMpt5Z?Z;0&Y@rEvcAERras zc~Uv^oX=B>#OJ9+qA;~6b3H|#S$ZW%U_zzE^h%IUljw@+m0+t(bj9>akokn^O6ip# z84A;t(ku0}!dB8N^{<&-9EF+(ojtT~6 zOxUH1eYVN6LKGC@=soFq$b955=-11hxKuXFN~%#zf@(54a(S62J&&0z?X*izdY-s! zZ8A+1u@d4Ksl<*~HR3temUi0dvC$Ydtj6mMKPY;VULeu-de3*Q_ad=O5ss*BS%hOO z%OV_Wop5D^Nw4&TZNb`PN#Rp>y4sK6VVY_<#yY0&7pHEIEd7lr@M`9fp*FC+*|C~%98!S$*|g69Jp;T zZUCAX%APHF0043?qbqQ-S}kW9FwoQ?H_1eLd<=_Y#BXh&kR5~*o zBwE2XreIJl+bbH!(Xw6Q7uA4E>fiEhxk?kRsR`NUJ+g)@9jtmZQ{>O*IX)^61F|b zv8Ww2WN$Fh#SMwZGN;HK2!@&eF+hOjqr>2n!vreLv{^$2hxCVnIlL-o@36CyitRla zUbekYrj`K#Tq7h;vW@%&KdvYP0`z$X1e`(|76k+xO4>_gl&M7-5O6-H`2nssW}aZ> zJK;7K6XO6dz~QIFIQm{1nLH=P37>Qm&jwQz4N0xZCW;f+UKY1%~i-;>2} zNsR;B|EyIX9s^)mJ`B}91gHUj00Tc-wkPvf$Msf=4#=?GGyL%2_B{Xvy-6YbZ>Fk z6;o6xt0+{%u@+}HY>PPJa3&VQ?Z>TL_s|<8d1a# z%E6KlDu-k>L{ZI`VOn4jg>J&UiYP|4fo6vLBMNQ<@8F(VZR?JlGMWQ&KvC>l=?;L+ zywFDltY{|40R?vr%lh1ri;cM+)>f3^1@Yd#X=j7q0Z?EgDmS>++&50%Qos|)rGzI? z^>)A$@rx>+pdl__;3~I(CL4MwV6`&0)M%=K>?4pEIvur7^bvaZnz|zg6WSWzcx3QW zkZ~Bq25QWqo$nC$hCPuv3``b_4Uy#z1AWmNFbA?zblL$ydxtzj2Yy?_984x02BavN z!@wy#rMX{j-^l{A?K_#EdMwW2nJg&72@WOcyut}Ync)Pdke0*zMFdjA+KULRiTLN%gr0P<@*+Y{x>$J;0j^Kku7)Tsr;v83 zxyyvsno9pe=oYoF>@uM>snY*&X^Q(xT8w_>7c%cN9sJn(A_Y7OH?IH5T5A1I22|^R zTBGt8zPp2V7P-RK-L*fHJXp+kq*yA2YUwPwK!FD@Wj|?*@`_ZUdHSFS-qw z=KM9VWh0EO0$>W}8!##S0d+qFoC-0=-Zf4DrgnycI5MY@EY1a{;rZ}Uz?2^Wr^nkR z7L8?uMa?VV^prW~j5VHwgW#?&^sD#5ot+7vBDh*AZ`n(JlbzhTL z#~a7YDvk@DRi1Vq9%Vm8W&(<;4tb6g;^I}7K7OK)D9`YN+KsO$ z-u8;mZN=*0ZPncu)waB}EY*7mO7~ukYRhG{;wz`(nanS#U6a?ND!yU1B`gc62MDTJSSDL)4G)jzyMLEQ@3nEW2j^#0+AiXXXme2IUhi&^Kv% z(*$^}NM2miRt{lnquM|-OYPoQ1D+Ke^koZIebly{rk+9*Xx@R?@FBO`1Rf8_bD!!) zAB}4QO+xu->5DQQ%{{d{Url;&Zg}{?fMZrSap#NsT7Y9)#?wn39K$TiDIoP}BHZ~x z-sxVITD~DvjutBlm0RS_wyAzEk*1)Ew{5;ZNuFiUL7SUW%cfJc!b5smwq?Z=NV8PC zk{iLbdD(;Js&cH{WPh4`+*}FQGz^yc~|fic1uq>>fWgZhOGdY?W69XI{d?Ma$AQ)GkBo~4CP?%UAV2&8 zydT09D;gO6DXo4Ab~^(@OPYq=G+gBjN`Rtyf{F{R4qc>Wi8CmLPjcX`cS-W2R2*E(xjczWR;vkDM%GyH~aw>9-P9|`MSw$uwnuO>}{tya0+LIS(Irw zN4keoc=%i;(!?^l&806X;yk$|W~z9M5Z+dXEhLBK>ErVgm#ewXMZH#b2_sbjhtq(uOE^guqaW39o#6-N z>s-}(&v&i&BC+HkQ^A8>!bv=K30H-=GQzZ++H$zNqIcxiV>;o6xt3uxy$CU1t>Koj zT@YR)AK~+R!>q-PEZg#~qq6#qtae|tSpln!m7wb#5jwKe>_V21fg#uvhvQR^BiWeb zNEVejSj#Py4%SjjpE+`!IvxAmDPzkR10lC}_6uU2e3&L{2=!F*VX8AMec6h5*79Sf zK#19DvDP^BWnDA~xx$;hd=IQF+9iFE;YU5)b!4Jt_y}iG0GF`|FhXrp2$J=w{&@5xRQ(1R}k7O5QQd80tq zl%)^qX(g$o4+;^y!*asugF;~M!{9^>e{4G+pfv>==BE$pf#SzL?xG+y4(!k1QX#N} zIO6cfHh4>m(6)p=gTept*!XLy5nB@a;AdLH*zC)n>Dtm{;O98P+BABkE#9zO(DH7;}H;Y!< zL3Ajn3X#Y@l>wbm zVE8K^(`&C2jEDY)*_L4^Z_D9Y*0NnY-dkjp;ZAD1#GR(?fIG3Qjysq8qSZPwabraQ z;A!h4W6g1AQHE`aK%5$%IyD|SWn^g$2ZNl4=l$jL%)>xJ-tnAx_%@k+ahFcf&^;}1%zN`!PiYz0&*&d!3EC_dr zU%*BpyT;_eQyS({@Nc~pWa1qD3$gYJ%aeTv5}9Zt>{{dlMcr%akxKNhN9IKTrmlc3 z8Atrh%oRbleOWEU9VrMxrmZ}iVaF+3v0-!1vF=p!<0(LTK&fdp42y#&ZyZu{CsTaN z05-#q!fipmDX4w0WTFt8h^a1N6PCvAoGR~hMg^>y)1t~3#Y=u zWThDvb_&Tl6&7|VlW}EOm?$$W91HWO4@vU@CuCPV9W+dzuUyy9hV(u?o&hG4yGAuI z({A@StnBD=&?hi&HGxi+NLH}zwG9Bg)C~Wbm;DEZQ_wr;5 z3M1RG0F3O6MNbP}Z7cxosj;bZbwt-H}htJie#9 z+T@JX1UjcBSyA%Jfm8t`!yjP7;1cDrFg-x4rh>}OV34t?>^VFWO(wkI1YnFk535%y z<@G8nrHy9JmklnXrPU>;Ws}Ni*-ElfGL8IhDlffh#sNf_%_F%RGCU4%Lx7k2Fz-Eh z|NFP^cb|`LKmKFLfCJ0XuOHw4b8{D-hyb`ZgrIh?$Xiet%Lo+e0~P!vy$-5hfjwXf z%qzK?H4yEm9g(q?^0P8e1S^5|6uy4yQ|X9cmkL4~H6|p%WJvIwF^5h>dE&CQA;Cme zaYe?;ORh*9F?K~J(FQc6)btguwR zu)x-4A=!gxa@*dO;k6#^E5o_$i?F5FC0phy3wlGI$W4j#n{{ zB?>}*2jN3=36u~SdrDX}TqvQ+4x)t8+&#EBPDFsVJ{^dQ-$a< zq(t%Z*>!O=Rn{^Ls{>y16FRoPCw`KixFvPCBQhI0eOqO-4iCt?P{K?@9)Udh?{E}% zd^B4|>w5NB#_(!W!pV^Yf5Nkm%c(?(O#J6pzi!XpuG>q=)Wsnod=N-$Uk2?o!N&HG ziwsYh5OX9R4D3t?2bZ%%2enE)I!M&WbM4v>l|yW{LE5+v1iA_`iD8}TV749FP)~HQ zx(tf%6zHHftw#q<&6zYuS-d5Q5g4TygHei681I7`{=6S66P8ir{aBeMU?1;;nr2{U zI(3IA|Mp@1a}NMw@3{w{u{`%MIIW3Ws@U{oYl&N9`DSRFjF(Gbh7oMMepxP}zJuLdH8C|ofH zS7!8Bg(FMF);aTBGIg(Qq6*yA=Ap!MSq_*a63<1q1)dv(k>?Ii+yD1tFv;O$O>##W zNN(;sP2xyy(zq~<5`*bvp7#?Qr`2+|9V?Tb^sHDe)5`Sqik6sPwz@X0LUNZ9QpFw! zk4wZ2&9wHm)e3ef?x@wWd+PTp0hrQz?UlFfn4sfr+bj1GI61W3Cr#i3Fu6Pm!?o%a zZ`)pFUaQKSm1k{-_((aTtLiuV;N3E9zkV>8BA)!&{8Zi`NIQ`a%_b0Bd^1mQt9A>) zRoNi~*R?papH*E2A-HuN#M!p41V&{i{!yX^TTh}1m$*tS{t>fm^E&_4uiG<_ zb8y{WkfP_13%GX}Zo3I@XhLwv)vSXjglngBbak6zf6U>0&`h%&u;)Fgunjru>*ICjBVIHY-Xo@kc3O6{Q7C-hzdx zJnAyYhz}}hS%HiTQH$v|W(v$iDJIM)#iW=C2kS;mX;GKLW=&xuj;SnPz$OundNhb( zEeIpw7+zxk6NEz_a-UDiRRI~D0}0XleR=z~);~MKkzbK8jY2r4v;3s*#%Z-&Eyv3A z2nW@w%xX-FnAM+xC_$B>& z)$du=dgVTTv)m`u50pdE7F;bySum>Qy5v_qUrAk>kH@_o)CupFZ9C|z*zDlextPey zm2s8)!1x(Fdj9w!_d|2oo=+>s9!K9f$-1AIR zXcp(IZVQCL;8R-A+H}!0+l?*``UK~g7J3n1rzO&lL~of@kx#az4R%ZMvQ)ujS44JA zWEkar4s>!XlZBx%Kc(@L)a#a%hhZKaKXt5ht$gh|JfJ+|KpCOuHrkD6$jgEX8hu42 zkxq>F9tWC~=jX+XFtg=f{i;0!dIwkS1u0@o8)D@{|F$_$y9qYe1PY`%2MT1e_MJqc z#_lAJYMBB}G8Z{V4~xFJeJ-juoiPVw173Y6QLC3IP<0#%(&%mSVX^rJ3a4f7H(sdqP(m~0W5ev%Rt`o~x>N>HveXHxl0>-)n z%TZ=#Oc%>b)CG<+Gh;bm!AK@0(w|rbWEyH+DG~z_%8?7SZu?)GmP}7#oRs-08(lHQ zOS!E`Q|mG+Jh;jb@X`W%FQrfxipTm5`?f^!>cK7)F9;*W8(u*F6BKWJKz(sM?$oje z#^8V{Y!Bw8>?*5&E|1dZCHn#zddMW3v6 z(OjTqWbb5hR37F#PTSZUTEp7Dq`7vu-l$c$Ufzb?X=(1EjS$B%bMt%E@0gc*#Xi=> z3Q6!UI;38F(ggck@~g`7bb>%BLXhNN`h3raH07mR?rUA{?8HCUmsYB`LyCR3Oj|s0 zabyiVli2=?v-)ii%_mr=bhJuHC+sf1N}Y_hoI}>NP6?b(OOrDzTh&z%ZdcbqtW%>f z`d_MyS7NXK<(Mk^U)H%_krJa%_{8uqEtz0Ks%yEfwyt|TD`Cn=_`|E~5TVCew)eR#!Jp8I0sa z;%3}9Gi_UsoSB*E08mi+}1OnXMukpXGk9I%qb#*DGKO}d+baetmj04TG4IEEVdjrg%>9`LvC;~hqJfI(Vj~svEtqk}sDhbbp(-PQ zIU$zq&=^uFJ9Qb7_5@?aw26>O*?AD#o>+g1FL9k?JwWj#G>7Q|Uy0__!$xRM5Js9a zyxRUJXwLZP`(o;zj2K=Qb=)TRlK#0^vhu`uVH);i#K~OVdCM2X#$tLG#F$p~e4#7R zF`z0^CCf{0RHg%pYs;;$o2i65w*d30M{a28)r08J>ad%!j*b%~l;3GS?#+l&vw;$% z+TE*uU^lsP5301k*vD@c`&4o)x5E@{!H_k|f+4Hd1+P_I79$(7-_!?hhxEa_<=Szc zJC+fv*RqbqC{!7;#_E@s26DjgPb&ykpwnWO*+tq+rww1M`f_nR--0=ZUdNIpj)r&+ zefOq&?R;lVFzU2+l{O(pdZah{MVs{IFN1+^dgL2kx#QK9xMY>MD!pSB!w~ir!!SL7 z@l1~#pt9SVIQop1{*&^q^)0Cb25MwH&Cc5Nnm`wM+)$;%6XjK2Cu} zE;22wWSLW;Y|k-PRwFM3RI`<;?jo^L5#hGfU;b*x0M*-mSZaE2D`NHOJnA6^se}4W zE@-j7C?ml4ML~GvW-JG612Z=xT~t<%z|D}WxYg}~mCEt;@57a)Jt0bgZ;R?9x-o%7 zu}GFdtP3TLP`XwjSQac2ki@i1h13rm&>k-1BpS0=U)mT*7o?aj5T95cx;K_>jZ=J^ha_jmBL|wEQdCV68viR4w! z5m2qlfJL<`l1H^F0~WLj#hZx%%U+I3W#72Qx=Eu745_&WikGLBTg}UHt<)cPs^JV+ zrDluaUlkZ~EV#q*My37bK7O~{r_z){@)T=<=rPS*S!o|84}@PPIe z-jm%JZGbr^yybA&&;Dgfj}g`j3@IU)5Y=`%n^&);|LWK68OS-fZZAj?=}L8-P@XM7 z54Yn&b{b&=Jg_p&IaSQd_@{o%X>mtu$-j;+QE?$tdh z%`lpwh!8_9Q7@v2@sp?*(Jc56)C-!y3{^U4*!kq|0i41@m)-ix8pJyeOAE{tImqXy zb*$T}N=QU>cXR+`Qmh=23;=JLTGd@3)QSiJrp0but7Ax9+S){4#1OB)2&l{suz;Xn z^53zTWV06QfdbA*otW-D?b(9CVAdl20u07_VM>ltpfE}?(?%(#)oiX}Z2;z?E|3b)s6_cS_6_bHhVKVch`Aja@jCWPi>~TZeLGE3l+ghh2 zx0;!w6lu$IryB0wl~rwYzp1FqSa9#+)u^?<;K%P4{8ZXfxQxOra2cy#;WE9-yw;WJ zg)=;)7v3$~HkrW|bFw&I%Hs{hqi!rMa2Yh+bD65?!evy}=Q4uIRzSn53c_XTItZ7k zD}k~3-FOdmk(VU*Dri!efx8GF4L^T1M+Ec8T~qi zFGL^F${P(Mtj%Rkj?B^YbaA{mn@%gdiit^^zQ20U0MEhIdqIlseJ4P^#byp^#v7Uu z2#w|*2#v|wesx5R`PGeT2l&;I{HDaMPSp~fsqZ{-z533R>IFKZGQX@cI%8_i$fP(; zbSB%tFzm2vugyu?ZH~^IdODN0>9+JmI)hQ;%u5(;iOvvB45374h-Sfmpfk`6bjBK{ zLH=c9`TKBL$pVq}BE;= zgdgi#$wCNN%wm>aPp=u7L1%o3LCjp=%mS-sCT*6S6% zb?KlGzE{sG7Z?+P1Y$_2F!H_OjqN|d_wYow=X;|Jfi|j#w8uX?_ryd=F2vVy#|Vw@ zP0!>doiu%KoR+irq|d*lTG=J+l53@f?}}=P?IBKt*QOQ-->JNjGrGT3-if8Tr6Gjy zsamjIEmGgzYT+%yr=P5ZkuOynD;V2zuUYm8-wc+*bG0lF>q_`f zdCnuY<@untymSkGtqX3)iFiAx;CIWm6RD%vB<82b`N4q?&BZx5CWwAoIdE{CFV$mm z^qb7FQol68MDA}njFM0t<2T+zv3AjThS=&QlHFu^GMi27@cBB2lwc$Iir2bogPdEO zd1Fm>YQww|fn2o#6HA+{%AKo)U0R%+R^HR+n0d-qSmZadFzqa)SI3Ba^J$DZpY2na zf;vsW6qMAm?dk@gf3Cvwd&k8KK`D}oIfkPEptmTEtQs@%%fc`hsD361E%^| zHaRt8hfHQi@_}H06Z>0+#sf+#@uI{(6KmVf);d1df;p*8k$29si=z{p6Has2W9AZn zIrE9dc}p{SHDZpu@EQ)bkqh?B61 zEC-4>VRQBH5H?4Iz#C(8!-9Vpo5TBKyA;XuP-SYc%TwuE|Li;u)3*FVHO%vHK9RR{ z(jIT)lpKG{_ByIH&z^@ouN*pqYAw?WaBW(izPaEE+4GR*TGKbEMf#SOm0Q(n&^LTA zqi-SZ193gn1Ys{IZxF^Y@X#&z@w){-)mdixR%e-lu_eqrv$j-S{n9P?l@z>l+q9oF zMZ6tU@VjN(p>I=r%~$S~W%tt$&BYu0EMsTvD^;?6;W=b|W1s9!U5m5hVqJxE4EtdV zU+$NYN?>4r)7VFfyd=3_5gCT8{K;x|)9woQqV-9$D}IuCVU+sv?nu4v+ja29zGfXT zINfEk>iIGt#H?wv60C9eq4OO=49_-`nI0_%LwLf+FEp%}_i}|WR7=c^UWG7h7d`Wy z^=iw!$185**c%2t|g~SjTnWcU*waIDjuP;?g7QK_a_N;6G`(mfnmM{%xrjfdcT7r z`IIY+!oWr_q#~JN$uUkMnPHj*@}A6?rYAGNLnqQb;0oJCHi=@vDUt3ag_zt14=OxS zlud)#YFDb_;=}{ji4`&3H87i45!D4C6DuNpw8k`acis`=(tQ1u!>m64JpL5 z<~putox`G&=oM`?fF5-Vyn~A)%>f{eITRFodc}IvP~41NBUZ2Gh+G5W?n$hn-<+{5 zQ!CmU?7w1bfc8YKXb#vUMO_NpHD=%F7)eI(1?E*st%g^i|NDkAS-W>rosUSbGVrV% zhExCS3}tEgxiAgA;U$j}9WS$;%qg{a)>yxE53J%@Oe@E@yP_pd@?G$2Q!7MEwn6r! z?pfOW-_UFc(b77$?PQvnBU*`^+~JEAqE+Hb?5rd?BE2RUfMp*2RrMaa1wYmW$Cs6l zQ^!1Yvy}0v3+)J$g8#dI+j z3v%sPsTl>Xg}(A!Ym~{SbzDnj2XU>XwK|&~R&^DGYt?l)$7uJJ*r2u}%hi^R6}*8w9`vcp3M zHQUnfV{B`2QUX@UEAVI4H8E7K8LV)2biACNO-5oqpUx*4EEvd*x?$)R;?=7ghH;;G z0r4&3)osHYx*~8e%{ovpleu*(zXNjqS+euKm)WBHW%yponQFP!mA{lwFjDL^pO>vL zY%{gW1{)0Jte3fvjqX6fv?@IcW@?UtjWUUyCI4g1ts{4!TjZ^Y-Fdmh>sSs!J5Glm zd9_%!uKU7wSW=08HXOANd~Jx_A*sX>Z1|Cnu%jWB=cOg}UVa$Bk#t}ED*v@6%#`+3-w5UrFy{3p3-Ug7lARL&Uql07A3=WRNGZEi3 ziRnAY8d*Ni)VmBVvV6Wgyw*RL$nx`q?+a*{d*kt`91K>pZLCFlAuPK$y1dGetK1v8 zR(5ZsT9f0`w0*oby~5j;@-~qDOS9Mw&9{oaX#M8BdFQE)x2ol6Tbf?(RKvd`7GI%C zhiLbjAdEd?9~(c%{(>LBTkuo2Ex)QP<#t#Iq?q9F%-WKB`lVa$YhA9zBOG~SWgZ)Q zC-h-1_uX=Bhi{zC?Gfzh>0Is-$I1OevvJ;y2_&CZkUipcI$hvtvtf6hHfdk1+s<;F z&hvAqH5uQryy9(6sJnpUIn?>8Zb9YTST$iW#+|g^WRbz75)U70-^O+mG^ohrXowo9 z;VM|Pifz9Im!t*36^Io(i@(BN5s#H;XI%z-Z>H7>)ASHlmna-n+0OtkyW)gC$a)Dl?=?W zI44@qw`gL&*>A`v@I>v>z!Od8cwLTWEIg5@k!T{S)_-t}<+sdt*M%o)vB^}IxBA#O zWS&^X50C+cR$-+=?@gUJi14?*^1UQe+VJdQq&+>-H8J@?24hJh!n1KBWs1_E0Q;WGgG>;I&lk) zWhhF4vrOq&4p=N=fP4Eu&X$CUK2f@SrKe2xG+@daQ@dw$)4=E|0>|o&on&ky(3%Mx z%K>=J1di!q+D!zm#^Kr!o9x~BHLtRt8@nkn3n6BxhdD0_yoB4yB%tQp%5~9_c-9ZN zXP(BIiEUZtX-t>GRCroFhg<-qiKhk4$kT?$pv}HE_<;OPj;$s#ZT|JY{_`Jy|M#o^ z{crzgCy}$J(HDPs#V!X;RGHpA%d_!X|6ELJd6Rl!8l$D;OkDV9={s$lPUGeo)v7%g z$3`TYS9vZntazt#oM0=LPh zM&b*y8zt>de79^{+)Q|Z3xrqSdHTTUvs+s^4(6woV>h1c(T0)OCNB3yt6$$cgIbfC zNjUowrgOSH&F3WNt8N3tG^evpxwF-7f!OWX7a-J3)xK%U8&kPkX4z&WPAzKuJ+RNu zuMVp*rkgGkYc@=oSohofEZ@d4G3#1q8mwhDlXRKb;`m6ywCiC(zF2wwfQ|`F49k$e zCI-c(xo_Y=?E*2+L?%WG#LSVH7<#_P#M-s6IV3PK%{wqLleL)`QDaPORLfVuGP4tl z9m_Ajw;)VR)e;lSb{dTE%*3iNDE5uZgUQ$$gn0fW3<{F^sE!z>k%{43J1TX{G;MW_ zOpGK4h?DCh(Zo8Km>4tz6C*;yWMpFcRXa}#0CVL@0dWueZ7`V)KZt2wzv--fQ(Q)6 zfBV}?j1j{ROqtmpiG?eZGE_ChBC!&posH;O#CMI7>uwO#75oF4!~5N85`>?;5sulrdyC5 z+#yL98nP2(%MX^7ecs5}vZ?a9>MKbR8C&H&FSa#SdF<>mXJfk9u4T@~bg|`%y4Y7G zpU8R=5TD2(jGS$F-T8Z*4evp_cp>6>;GQ$fY-_E5cATxcZZ>96uA80B&az|K#*B)4R2x=bCFuUiW1Nj)X>X+D^* zN>6ni5=qCcu|C8GVz$rhh~vm@5fcbdZom1gWldNaK0{5^Vucc4AJ8D%g@WeeVL%p_K!%f;*jz% z(vlHJD{SMztLHg4l3KekZ4yS*-BsMBBa0mAyDt z7+Zt7*UJGEE|6bfAX=3k12HwnK=4%^2LR%eHyzOg=7T0cpBM;9Zc9q^rX!lRQg~j0 z)gXD(A$hnErNZ{6Bi7*f% z#C9t)kZfkaylhvZ5<|fp?fvKE72QHW4hXHk#-tt_gK0f;5Y`>Hw3C3^%t2TVn0gZj zAzg>lP>+m2qfJJNR?9<iXLpE}eW=|Z>Me1tZk}BL0 z*?qesyj`WuMYJV>i|EIQTtpTBEElQEd&YnXamOKyS9{R!f0B!6Hi3)OGK`hs1>Z}))+LyMdy4jOS!8tyyFIFP+SJn_MR`vj%W7H8KxLzFr0$559%REilo`Ha>TN1Rt6KvOa(Kv zXCjMe3Q4b8e!{e*W@&(3Tm8McnGGY(Z|P1?%&kkX+F+s z(Y%*_ulhZH(ku6|D%W+%&@ad7r0_`-xTd79`>V=wCilO6Ym%kz`JlGEbPIkZ1xGtg z#ZSiW>G2aCP90yedGRdVJ>MEIy|7w z#oH?TQrYM%;qd0+9k$~-__$WC$!4ZUQyY>j6o`0&X*MBHfkGv+85Kr0gC6R#nPv~Y zp%#J8Xx_oJVzM@!A!^LDGO8V{y#-tq+xkCDhcrk@BcUQ7C0!e&LrSEjyBkUAkVcU1 z5Co*98|f4Uq`SN8UE34)oO{o`@A=>R`+SCB_RKSDJ!{tY>9uDI8B2JE4dkn5vN@*1 z6{{jYYNkJN5HmcW$dcJ|3oGE}@g2OkhK@6%SG+gYMo{d+A3%dVGkQ#v8O%Y)?JUeT zL`>Z-6}1*-mh0h07ux)zacF&a5_Oq8EZbz1*k8#-XB|MtAzVvJr*YXc@~R9vr!!AENfV%jPKtu=P}yNM{_YcXtirTdALE~ z7hukmokRrj4;p((5F+e{m|@uW(eiRZY-Dn7&A&OFg2LS5$s6n^O1ew8}q1HUrSz=4a>TlOlm2^C>(6iAptP*{-#KLDMwf78GsJPIC zB#Gu3d4Ak=uJ)Jj{5y%9rO?$HZB3#x#mT@y{tcwsV?0>O&NK)TK1WY z`i=yv?J2P*4eDD*OcZ0@CZrp^Dzjcns0I_t2!v@V=%zbfV6-?tDw3 zIT-y}q_`bj7qQ)j>S^}8v5xVbb%^?RUcUg0Plz<{U1~7|U-Kwgh!?rObkS3NMcjQ9 zy6l}pGZmh|^e$kjO^gTc&|{7VaXVZ&?tBu}Qtl+X$H_6u^J|-#B`-$_Dm&c;ezf=n zN4?M`e>vt%(XoSh>^!DSI0YBU?bh0hLq5~aNuy6=N-o+@es(p)PkIS)S84i+&k$xeJ=#Gmd-;j%_XdJWC`o69Fz zGj>eKh!CgA$bVQ|!0ONKsCn+yRTCzJjWduRI&#P{bKBLB~;K_xdNz5J0 z>rhLp26`a&2^Hixj%^u9GrmaL@_ogS(l-!r%5|+$d6<@y!}KD_XnSU;mLZOlKS|>v z-rcX|Gu69|J@0y7;}ktUw{g>si&V#cIF`e9bAjw;LiZ(;Fvy_uTZMl0??t!?aVunD z3Uv0;w60pg`JW`Ou4<0(?IN`KO9GZz7w;f^z%Squyf624L&n7ahf3IAr&OCV!W{ zY$jP4#6waOQo~=rvFINcEF?2Y6%koW>(v)<)v<%cc-?1QrrCGUz0+wLH{q1(8)5sg zVz7Qmy+Bu0nPDogShjF48qf93*J74D`wo&s^M2`~srJPobai^uQ^!JeE9SI&wt*3< z)MD`;FgUsGBCB7^4t;`iMDx6|YLTavmN9G6B#-2ezYsne`PjGV%y9T3{=mwWT}|`= zaa44MuT2Y%M~k`(ug+H$E}a;jWPMUM4H&U$&fWePYL*oU4J$f}4h@pB z4U+k(zcZ5gNr${5OBj_7xtQ#e(2C8uerjOmDANMe5YqBQVUq}~c%F~RxIJ;1RA?Cp ze-)vTD&Y{eyyS2gzu`LOdHe)H%b-;5_z9#gsI;a;eYLJ|Ms?uEy zXI|jkQOPn`EH3kXy7PLUj^y;ioif{!O-ho}T3jN>+3A{Zzj(x3iC?THwW3b8FY6ZQ z*F!WEXUL)^YSt(MdcjXuf#s;q=Cj2*UE5Qk@Ds1Nd&lv@QncB1xJDRrLqGrEja>VB z+^8j7`fH)O4Q6|H3ijN|Z`PB|;wr$SZe_=S;_P07M;-04_|Z9=yQx)oVes~pn&*Ve z{Yxj6P~+Y6hx8NG_6-}_yhp8#TB9c?+qo+z+s&rmtMRCi)F!L(WYNnjtmzZ0n%g~i zhp!C1j|qhnhP>~cZqvxaJWg%UNJZ3R5PEFlSvCTjR$*NttpiVFIxEM{Qh+Smw_!RP zzN9-V=a*2mIKgW=d=JlgvO0zj4bs|}VnX2O=fP{rD-yIdC7Fsy1<2TcxxngIWQm8v z=kqe|4&+OthfCf5>r1ElleN?BEcDA0Qk_=0C$sFes8vJ=3+x*mNuUoiDf$MK!9O2zuB@5b#2<5t|=cjPF+ep}n= zZ)O>%#&^8jXqd(qH-itC-MQaC-ax5IjIzI#)Sn*>d2<-%4tvWiII;gs<9Xe!&`0Na zJy+`D(mF5tywOF&lN23C4azIHHAYz!Pm3;YB^f&Y+cYPVzFXs5CLVp#1!C^>&M-Wt z#Q5;Xs!TxuAx{KJZI&TtKK=&9sXFIsZq-~{kq0|LeJkF+Ts=2HN$f)44o=HVTP3_h zjh@J)e|?L#H1XNiwl+a>Zf#odvrSY9LyA6=Epxbm;Nw1;j^a`n-64fo{>dkWN9Wxr zn_$T?7p0~@C{X0ev41x^ z!Ct6)?@Q;Kjdwg{(loiXIaV;X;lh!}UxJ-tz1neN_Z4jMod)Zm)-_UicQqzCe z;C5072*lINLGQM-4HH9*&dV4xhm#Ht^y_MHwst_nD)2X#sS73_%PC>e5&K5^j{Za^ zm^_k?#hA`bXhW@0Astz?+&xPOOJaSC1eKrC^_}(IHQ3?Dvk!*gGrI+n!Cq1@*%CJa zylzrv?sN^7oZ#r_RqXmRA9vEG)Ce!9u8Z!#6|nrXhC5ICdo6!Cfcr_!Ls#c%pQhy(|2_lpK+bMwGVf=&d-ZA`inX+k9_f+D9v+r_?#~X z-DQQ!w?6r@OcC(r-?3^Uy&bdcW&Ud8Q&bB3ocUtx-LLtR<2uBqUkbOL42uY=gU+8! zjhASJ`|~^Q?s1SRnb=k`Pr|j{?R0-lh&Ui;^j)pri2l$ltNepTWVL^SIFeUti;KNG zJ1~b6 zigSS*e%y9{4o{k(Hih?kEy%C}XSps!TK zEE@!<(o_%&vKSm+6Ya94@5lj538lW+uj|?sH;Od~{Se+kfDVC^riwF0!2!p_kn!)2 z{Rvq7ioj9A8whYTj**4G)KdBpu>>H)H+3l<`LrtyDw<8W6_=Hl-M#he%i;GjYE?zy zzbcVki}Y;sdl5-tTrG1Lj=KAP&j*#_{a!Gt7fVLv^tVHQ(-BNp{f46fKZ?hL@^n|! zkoVkQ3c>37ib3*e0?7jm=|;m=X}Ws7);HLk>1dGTQp$Ezzy~^&Iq-Kxf@&Dcke|Je zq!Km4j82B`Gl2uNN;2eN$&5l3)4umXK7od2<;dXs#qDopj_ujo#o60$I|V6T7gKv_ zBJjhgdG|6^nFo5}#wxo*bWY`CwojJpeA&6*bl#V=!aC{mW0pCS@+&mQ3qZ{Ume)`v z1P^_- z32qiW<9;YU*r@vVH7RSKVGW-*v8|Jm!r1eFtEL#}8M74ztLW*%laI}D^-O6Yy(3iM zM}^s|AKksLvge&-(A3=P5i(KZ|3Q`8DB8V&xyyad9=;>kVvV$=UlnuEtBhcVb)F0l zjK&wAd|UH;{oqhM8#8Y(#?|UX$+X|aEII|nORXsxU19m=xa&6Z?Z!g&Vf^`m*Ns() zJi5Z=Ra0^(4RIDkHsITno-8ihfcs>z5{;T{I@5w)jENmXbmKDdGvRGB1xLP)`}BC8 zI2oGGA6l5?qD8+1blhpv;oke;ZOOggO z;|PQwzI5qie(0SHNQ?Ns`ynkZh(v*J(94E>qaEm<5J$u738S#*v>`98%VB{rf2K)9 z=U@m(#20y6wC5OV;7<<;xX0~InP|a^kN0r6y`7k-f~wt`mIwkaxw86wxg!sq1%G-l z3uUc%vVE^Io-0kf-QW zB>&y%UhFbMlnGWp3t~tWI+aF1B%{cecT@)d#p%xmD1X{yP=d#tTr?I)#++_1*+##Nl|8N=ib+K<0F<6=eb*!>5a5F^a%1U|LLeg~h zFN7$!xV zm?frcfl$HuvoQQgrhdHyy~onf7Q$VhuX`W#`~{mD+CP;jCUX#-ND!$uG|=U)rv!3r z=OPSbdTH;C36Sr3#9;%JC@8~!eM3IS^4=SizfJzP+BcI0j6nXu4i5X`e8=9?9_Q@? z!5hP)$*9*dzFiUZW;mFS?TGA^Nc8V5ttuQ1?$<-oa^Iutl7>kq)9#cDD;mD(W~%=x zIK}WOlR}PxZgifJ^)#l0BZI)$-&4De^>nm~46Ge%WzKv^ zk5-xMB8xqr=q}H#Cd9wk4QX7(aLA4Ezo;uIejYZJ)6?CWzg{bWNnl3&Wc3(^o4L(z z$q*(vUbl0fwU1gG>6I(-3K}!s-M70Bc_3KNvlkH#5Me?bl7-mO9<E{s5Im;c;D z(l#jH5P^7M@8u?rL6HyoY*Yeceb_ui4$n;UizytAXY>ZqV?H1Dmo6DCt!S3TKqRW_ zhrH+gkVuYspnVR7I?f z;^4<;xv-bmEItHGkL)i72O9Y9mDjj+W<+YcsKT(>J z6g}Ek4GjDIxAbV;Q?K3%hU(s}pNAOgF&@*S9n{(_v6FlyDJtikQFDcaJ*zACFW+^A zm|RG5X$+}mMGY!85b4#z57m?=oxG-1UcBb#JQ4Y= zn_qko3Ro%MVbTQA!Ng(Gc;Bqyw9KWok#yT41kB7VqA2Bu-$zh(+faG-0@ffptIgoO zhp2a$@NkNFn1Ajeip+DlL$b6f`rA@%%vGGVAscc9v}L|GC}=Ny^F*$rmiQo>t_$*Z zgn1Lk=;eAm5tQ8b_@={O4%`o-^G@I+19l+Ag$G*}iD%yd*ntkny3k8(y&K6?Od9#Q z`((0_%txI9Bzrgm40i-thY=oLhq5b$(*d=WNC|lwADjn2TtPb$ z04DD8o@k7$v>n$^<=Th@h1Mb}6k5o4Me)jeZnL(-+!iH@A788T@iVhY7bRxXMBfV| zd8J|)ohhMk_nFk#RI`4`+YUXL*W*oI@}CxF_&66B3Z{kx*eyv@zV!86v3?ln5Bg#U z3Bty3^+PX^fPHh;tIy@{{};klX-q`?yrdl zuA*7qDQ6RevDffKcK8A;k&a+F_dY^WT;NVbBFYy6$Tx*H2O$9s; z&&cSt?NNj znXM9_xxINpp7<%i-Mm4@m~vk_RSxT%#uL%jQEmY)DA3&wi84>?%kE|ItK0y0N?rVE z|63Q$2HI8p;P&|tE=`<3h6Nk^6yfd}*TDF7bO#An&N{YTUBbnIk5p*`m-mCyBsI_W zBIUb2@69h_HGj^8M=9L)@v6sROBqlIdzLG@nNz*5xH&P z9x|N(Zxbi&uk!bnppF0h5qEbg^yy~0uRxYoWmVK}oryzAQWX^(=l-WAwiU{$iv-^* z7=e}Mj#U=qK?Om%*2o`I1yh(B-)kL93Z6vn5Kb4|e7DxB&bX|@L2A%AHJ)(mYR+3; zVwT*d8i@QDc8xM=Jk;oYf-tE%G%%>7xyOYSB3&l$)ZkZ|vEpN9dJ~>3EKMdLG;m5Y zvrGMVxajXGs}bo`)v232h(okN!pOVGC_OTuH@+4vg~={_99Ba7!Z0KFWK;xP z6>Cxs#EOhbS2BdHk{l{1gBif0L3-tQ2E*<9egR#ewg)cRdE?=WF_ofsjhV^>b9jvI zu|2J8%7(C_8;s*)8u?`~{fp*>g^#`2PzykNxKtk=1Kp)y2n*EMBQ&6-l+|F2-LGQ@ z<@}(u@g=x*HfU5i;4m0lg+Od$TrxEg1P*A@I0B$l^DAJ0D$Id${;#A&Dd3#M zf2R3+&1EU&AY%XC<@4mqic*iXEv$!(TiP<9_;9d2c*|h;Z56J)`@}HZ>tgw4enqE3 zqP=Nd>2@=9tI0~%tTLkkv08MWQ{+>|XT5Qe`25wXWyA5dO??dJp~JD4QgdH>IRm>+ z@-!5vCgatxY-@60SeB{^jiz{;UpcR-OWVEQw#7?gf=3Tv+1WiToka0nWU8B8SskE4 z>M{&!*)0FYEWagx>UZwz(Y|dF&4fGSc*{3NyP>lF)N{5{V1sEgZyCJ%f#@i0$KIkj z1Y75wn4xXNjf$UqsI?lyym@MI*};;6m%#_fmcV=OeaVN+fzQalb6PNe5#(`OFV_S` z(3BPWs*NsDJ#4QJv|?wiK&YPNb)*l!F66|0)SZnj9QJnj6qYvSIj!xZ_cx+ zwCl8O5;C}SW-zXQyc`zO#(9si;cC5*xDI|a-%*2NYXk&wmf#7#qw1<*udmS)JoD($WjaIl_J_cbfCRw(`orV&SVm~x+hqQ zowD=e*Ekcgynr(Agjt44(a~@v!I=ip(WY$n=ettupOO?aO*1=SF$`gi-D#mWiTY5h_`~6_*E+^J8^@9U zSkf106gi^sQ`w&KpcOHSZ*e97>_tG=nWS^$Wa45#H7)d1z9{^_*~l(nh^;ZT4to9< zmxety$8yw41TbqG zsBcX<7zs$w@BQ*Z%!0+%PboYvyEZNL8T}Pj-yWTN#Z^5$OP7w`Jad*6?|a6R9B47OA8%id)CR9mM)q3%{pU&DzB#51RTS$7DJRj17wJsRTcA2+IdbE0b zwn=e&m^XWU9N~3wEq`(9b$PUP-n;9?Gom5RUcN2V>qVYlKUwu%tFZ1`<7&!^r1r!u z-qIOE;HK87%{yV4x*&f!P{(Op#mp&9f@1CE{h-F-V!%i>64gv0LG|}myvktj5vb*d8MzF25 zv%bqhK*?9Cjlco9OGULG&a*FH(mriU!E8+NuR)&=-h?m|ZmDA+X4)FY@pm@D5ppW1 zva734^*o|nu~ZHfTa?W|m(K!!l%1TaoW;n=up8^|nWr5_nu?_s-4=$fpMCOvvm#hI z{ZdF_*hJI|-@@tHeH+}MNB4YUgp`L-lFwxox{kfs>g=3nMxSO;Fr}HS8+>d&l<3b& z+71!3k(emFpaM>nEx*3~+f7&&&w*GsBu9h9TZI0s`wac%rw7q0xQboJ%};}|@!vwl z$OHkv7TO0Dv=5Zw8gg)`u7(KE9U?ZT>4sgmBN;Ru@aSIUiZ*_YTbC0!ilJf`QJ4BFf|i`@MLBLip83Yj9F&%Czk9*GF-tLZ(=gyP zS$V!Q`A9dkQbn7>TsAKLg1Jnd;$*d|diBFdS+SHw9y-EgaHTT4XhmUF3;*VadS7|x zl&z&-H^#k8}gLL_h+q@lr`1F;3`)V8@`IcHC(7UgKyImzE-g!{IvV-u*|$9 zsieZI0B$PydOg6*V{2+tfN{I2JZRHnR=e6^+KbpQYfin;BQ5iKf1Y(}30CgrzDe3) zSfl#DTKp5w*E!@}3Arv)Xvc zq|MV)b14Uf-7BX7@?EmRYUt3Tfvk{hi5 z;CW!=GHR8aSw1b(E-2vq<~B3Be|V6AvHG~=Rs>I)r2n?w_44d+Uhu1Zb%=F7x(^CNBQAwJRE{(K(2r7_l4~^PxuP_RRYg|lgNifcVn_7n{A|w zd^5*%`Fdy6q?9@W$HW)Lf|g$IZm;9LZqKort}ZD&PruFHvRi)39Gc(qu(!T+CLwe< zICLm0x^tPr=Rv%^SyW<}C*8VnIHh76#4ds?4wMpRfhGZ$2<hb`$r&wP|)WSaIsplbo4hX3RRX{_qH=x)=S+%RV>xU+wTn z8(pSVK6k>h^Y$G@=Wm-AaL7vg!ebqYPbtWMS~XIv%o$cIWTYJEcQuPa7-Y`;>}2-! zoxe+Al{e9t*R5=uLxL;(*{4;qIlUP;rcQpFF-9Me>dmAZhpxB#ZxL-KkGara#t*YS z(idd*9<^rQ$<*DFxxL7&sjSuOvx?AS$vyt)cuj)6xU(_dgo-Q0Vsw{74ypZB9Yd!# z8`oASi${lG?Vb|8epReB+LNhAGRY&J`^V{33=I|cOUY$&;&I&Kw1xTxYTju#OFr3H z76q}&MD=_Avd{_Ix&#mK?_pg+1Ng`IZ3K7mGr$Aec=%!?b;I~zfRx|3kc;0iRH${_?o^QZwT&|rWd#%G4c zHUC1&$^*Cs;`g6u{$6upc~Z>Kw8Af4=5U#>KMO^>T0AVSdaE*9`lw~&IRB&Yl;3#V z^V%?0f5!3t^&1bXTPxbwQAJ2W=zMC!PG-MhMG0-}32~2mnLvzIW$tU~2aCZjLGt>u z%n=!JcB1CylZ1QxJ}3C>_=uetk9K?$zV&38YZoO>W}Nd*u5bi%(lpZVKP^!p%M&78 zU)!@tb}3`?ywAhgHq5mzTC7 z{p)oiy^-vB(*YrES@~S(09I-bK`e`E8&w-B>qNK%5R@$-dLL&F#0A!=el-dIev=Sn zyc;<0M?*Ek2X03h4vV%;3TXo~n5Y1qa5gEZrWJ$6to;w503)UaY_MlRV`QUPXsi$h z4cPw;F&7^XM;0_5{@NUG?Ms3?HB8M&KFO$;U$?_3pNh zmfdYxCkU2JZ*uwgp1vSQVqt#K-!|80zBu4q(GN|OyUQu= zh#F9(l2wcDo4K9JS+F&E6{5mJm}NMh^4(C^#?uOU_TvaKVU~d|HsRf#{F~td6&_*D z=cOyIix=76qAfKq2*@)O2&^)BXQSDyN|?~vo}x0p?LnrW&rvv^yAskX9edjoxN;U>xgT!PUOeh<(@faX#o0<-sS3BedwuR5d5#@>xi>JQn) z>>Y?2(MhVGi~WX3tbc~L zkyjpXDgaHiys$$xd$;OcXkdKDPL;*yv$v}Yo}c?yiU<9sTH@~h=qfC9B7M!acZN!_ zFtk0j!cr0KqcIijBfgC~>4_*y>|#-bj;^Pjkm%F${##3mz11k(Bw}zpO(QLfoC7ic zRXFBNVmk@$Y>dlPyXV-`;dDdVT9ymvVK=WyOxCz6@YacHBaze{3WyhL*7ExF(>lHe zygK7vO3#eLhUY4&jL2}b^1d~%z>zPT)!8U#qfm42j;}eZJFlI_iYO|t=#(_8;b}aQ zPQ;$s9!F4nZ0b|rn1qp0BO4^8Y3N>1s};$Za+Kc^$=HdDL)Z5Z{4&a$Kt?Z#lyKaW z8d+Kk?1FC!fW(vH%y&8G+b1sRhH%i@myZSChQa-cC0Tj>bDAg*QAq%7aG$!LVA0@G zxlN*j#2u{#m{+Oq(0MIwdGGh#GT(1HIkh7Cuaa*CSPHEHzVbg&^3U0b-!m29U?hTo z)`E*lGKdqTI-m`ASw7PB1=!Vvf~FM;8b1sGnqS!g==u{E09}7cc(SJ4iUdsD|5XD6 z;gQj$mE*G!lHUhOHgKPsm=8Ub9TnB~nx9i6G-PMwpE)T_S}uxOQBU4ezD-#dycY2C zWaWCSNYsxR5r4eKWUtXEp-Zaa(f33A14u*1m(Jq}_!-SUjmU6qMcPI)kx%zP+`dX~ z#}9VZm1?Ck)s5h#6mfUHs;IdE4{` ztVaBbN?NGkLPYVmmH4>f^AZ=j z->0Zc?k}M`Y}nh`DRxz5rdrDKPbIolaU5H03gyW-Yr8#_-xr$Usb$%<1tmQmR2B%2xC?nqsQc{k ze>Q$Z{E}){OsKYilnU}x^a~y8zU3d`_fN+oSXr{T3j;svE6=D6ME-{o->>Dt|FOg; zk&gO@PT(qfbHBn)>RuVa)tVJI zw76c0VtvxxoTE5gi%o_W5 z4(w(g-z?Q%k|w^|9xT-;zac(RYoeT{XH#dLu`HMFNu`iWF6uau&}T5)=<=WOEF# z3rLitkc?lAV|64XsCsxg(|yWdj-nwAu-UsimX7{X%}=_{WWC?FxE=<+3t8+-`%IMA*ju?+$rph)&5s?>pfgG}{R_Y{R@7UC z&0inumuDT{Xx2>)*%yCg%V6`tkT$D+>**zF$)>(Bz5PkLffxKyGJS~~LyI@@DbAi5 zE*L{wfYXv};9Z^I?257&-DC^M6Q3HY(^9xxT6=YQ<~)dk>pxfQ^Pv)X%A_x582`-_ z&XjB+Hs3-XHUK#;sg;GiG@#PCW%%uuZQ%~5`y35WnQi~wd>4Ug(h z3lv`{P<&xS@g=W?yP*5vkM0%91U3~3RP{VSh=AUf;CDu42r~MAOy~bmYmG2d`M)~b z`ptmeeFF?A0@Q#)d;F~@fGH}d8wi2AXa27MrtY)=@ZEg_1>av1?yV{R!u>C-{y#TB zjvpcS^ND<>gfQ_y%qBh0;YUt(Z!QPD&f9LauT|g9OfjAgzaAT>&#E$=TtD%$m)T3& zw(mU%FDq^M(J*J^b}ZKRd9mxvw&{mc4Sr3P;7ndje3N12HX7GJZ?0ohqenUqQT?Ee z>c{OFiPxPU+|giAU%^pBz!CYw>7W2x!eszZ0zyE;RTC|AA~MUf}-T;E-HUYLjq z5p$iF$GTiCwq+T(+y3L5_+*XH*SrZhtyE7E#V{CngnJr|UU6nV%q zb73V#J3gl_({abbeb$8cML{#~{c6~tfGkjJvMe|90CjppkF%{|r8ux?!Q>?uJ3S=! zxaGZ$w}5Xd%5bTTNuvYdjS(YHw`7oU;~y3#JlkN3J?`2pF2VvqLJ<}K5VUQNAPVDu zi)48k&{M)MNbVD8e+EJYuOCqX{s7IOV}M)?G-Mz+y7K_K?2kzSp20N`l$P26K;I+4 z{G|^N!Tu|;yThZ+|AS_reU{yl+2 z?5NzJJN9AHwseB|$Sence|AatREeGBs@0c6Qj-4c+YdC?s`SUpOIn9N(M(2WK4MJM zUM+j&1gVqyW<|Lb7d;X8W+KjRB2I52PH`d*G7-l*5l1}{hx>j;H}7^yiF7pj4sv2- z#_bYs)UIe&vNN;O#==e=*PbGq3H@|qJ^ASB;#|_8r@F_l+PMGKk90F6N;<+yBbb5U z#ICObqtY!61Va&s5xs6s25pE7wW(yL=kWNXH#MO{2RH7XwzznGx99s;7rGaD874!R zp9nC7G?~J-FA@d%FoJg_>oKUYwkvlZ-P>~VQXb<~7R+_4>a!APvNj`}S-fFe6|r}k zCreHXI~^|A!(3=pMcuux;}$JA^Z3s09J*EQ9_B#Jb=~mB91Z1B zI(agJANiOso6CdOSft=mKYW0d948liz(RJo*gRRHl4=(6@m%(R*u00shA@B7*un2tTzsl!=S|v4`~l zbx`htp`3vxK>sul=nzGNzz_j=0jnUs`i%{c`uS_(*2}dqUpF9(|64QUV-a%x&Y&58 zXV5KJIQC3j;_Z3KtzgI1w$o*TpxI`O!W8?*@Eq$#)_0y3uVJU^EYyR!ttIQJ_q8m_ z5SFXVFHc-#(vX+AEWBz2%;bko7)xz~jH~N=$x?9r4B898jUN5fGb@v{f6 zz^a@MktREj@u58I-|Z%T;(*n!D?VoZ(An4Cr$tqip8i;?XL|8zT%B-sqcpf3!Po9o zBFK&t)EewKLB4HsKdvsRe8mbIR760|V|tIJJapf90!(fqH1`7T_!&N%V1n@ZV-C_P z8|wa5+#f;|V5glU0<(W$044bY8s~yLCIZiF|7hX=-7&Pk#R8=rsFSe+HPgQ}@RPS- z>}4x3#XZwdC$kP}=bfPr!Cw;Y3>W-~ga5e!GAa(|O`H>Jx7(957yi7D)|_9(w-q$f z!X|S~Im|e9f+zK-(7w+Yj3##!Hd6Qz zze#nv2h28R1t@`>PV$?i3B88dW)Tcj#arlc;n4lX$}7tfkrXDv=(Q>pqRu7fpZ{oY zOdNXqV@T;}nqV+|d)QXU(W!{)@y++^rEjs=Vm2xe7+ar$SnN4GIyq0KXnI2UeAZ== zi0LV@O_Gxf{BORj{XJgSGG1w?@Si=oYYjK2Ua#zR>@ihVd11&asIkz?k&>kxXHmlS zDJn>?I-b4Y`@UV-SjwmH0BgHz=h^)oafJ?Guz95SVUmZd;}DV^CM`cKw7A4^)HMe0 z^m+CgC(z3=;mX~!#p0z-R_22-K9O(C%I@yi%Fyg%>gm|Z((IE1|8g|5t)x2Oxz3nr z6y&z1!xRGo|A!u(c)tzmJ?tJfjZwl3{>6u ze+M(4?*d)b*8vYzG$udw-S%(#PV|r90*QR`u=tmNb5OL#f>sq=V16n*5Q6_v=S6w0 zSgbh@1bD7lti^|m{b=g~A9r#6^DA;{3;!hfRqg~@;499XkR4qaIF+YYCcS=W6XFS|+ig>#X!ZA8WV-r-{4r=3LwtuCDJQ8Ud74anOB6HMv$XXulJL#aZScM|U)E}|-Dz_cTD$ZfhtE+}ld_pBJETueV5 zJR;zyNE2+F`*`s#;|%!`waL3$tF)*4K3$8*7N4@JU@@Y2xK!iouCo@}5Bq{W;4j4A zsHnm0lX(mw3SJ&{>wJ9NZu-<1`@1T^n$bjK`Os>YN%+mc$=e>tJvk?PQqi@R&yiQ$ z#;49x=zetycLJxDcX|eVH)m>6(v`wsUvt{&IvY&i^P$AuT}7x5!Mfk|NWfd7y(H)i zAEzV=%`)j?Ha|K4?1{EEK1DMqc}Qw93V?+cT>V5a#!jw{{ac4-`>=_|C90uVbA6sA z1Qc_9#)HPwJt4IM_!Q~fE$PJYpvtW5PLy)*^Ak^Md^+^O1EHktjv&za~gK!SoL zgVJhg+S@^L2AWL#xdDy2&<4tu?my86UD6r?_!4N3U<0fCelIkGgY~?a5GUM~C2fRa{d6obOz=$DObFApo_=Hys34195J}4` zRv&HX2&{@?mC_xvn#-T@bwZm&9@-JQBuZp*qltVyB;a!bGpTQKG9lo5f>=R6)c7VB zJh?K!3yW|8^qD+Lt(YBoy13yKde!!{q`*~MMKHU*h^f90cUUjVBuOY?sC6^KFjwC-KNq7&N&Jen02lC9bC9Wh z)cB3Aa}cYW#b}~<1h@fa_09A5S}+5MRQ60L?`tRx^qep_vf9GS?DL7qk|+4b!Z7K% zd4m#%TO_soW`vRD-U!1Zh~=^J1R?mcUYxOT)WL|p5hiZnev6HP4W@n=1{ON0{m%16 z#K6@fhPryhWCBK>uR%)#S2xgB&oLGT{3D}>GtMCr-D?1ZS7WqPbdRzkj6Gw1jdq~R z5yS$?aH!NhDFBq-%_4(1J}?&KbfBr7-z_%ye1s-KOoo~2ssA9$m(9!YEF9#&e_75T zM&Xt>UZ!yCf7VP>5j+r_?&nX$n^(-g&u4D2F zjUfSVC*;Ylp)HLq@(THMe(w_^b;#mi04SXXA5{CYxkWKm2aY;b2&vfdauMcBSs@#r;2%%$aFtiv z7&{SiREr#LJu$Ni#EaGv>))OOzm*X4YN*`NMDEFhYLJ4^K#qF#+=@c5F7+elFgQYH zX)^i&<^bGA)1K6XX57F1(Y1dY=%JqNJr>|zYaknYW{v#-(2*$@ZzE;^^Pxfg4l3iykrdkF*g5BjTbhcEQ@zR!$NRh<@+ zBj6klyP0diMS^X>y8Db5{}>J z3Eq{^L^%kO8`vU}5~VkG!l2EJVdF)1Hrjno?Z$puE_&S-!V`pljLon?{bEeKC_m<< z68$GSqH%;aH=mXTik4D2qOJ0hLy`_qCAcP#o94MB0;TuZAo6}`QTiwpwN>XpdShyX zlv(l}P{#)~jV2)}QDo@%J9vRbir;Cy&yyk#&GK2SnHz}c+)n~atH^(?Q3U*&0*v`J z^XG~7`5y|%uSP=f$1faYRiVXhWcEOSFQQrR# zJ7~HuC=!i&=?%)SnLp8Qy`5glqO(>XBG$61#y6bXe!L!{8!{SV5(2R$;qX*=Q%Xd! z`jm(KxV|%ORyAXi6MWzwb&r&ob(h{G{T@(0fB4Q&>~I%6pH5UlHc<2ZF>%0N5UYMG z{|?rKTyg}vs$54Nl+_Y_s~lWwpDVoKfVce=fhk|jEO&Lu?9mzi|MB)7;8ef=|F}|U zNGXIOB9c+b$Sh=L?=8i#N7=iS5h6l1*?Sy&7m{#}%v97-_%UO6|#yW{~ipB7aV`mzA zjcX3|#w~w%5bsiBq?5;9kHNgfO*8+nWw0%SYTUi6E@*(Ut!cQkT!DKuxKZQcdCSjh zbOkE-qSH*iSzS-9c5(M`8e$}pZY0d%EHLh760pA&sNms$I zjTltOKIIX@lR~m_KjV}?7d!(O8(3Vi_?ogJhaaQ-tde6S4fgT!)zV{a%3VZGVH!j% zv)b3i^)G+hco8yybSFz~(uS?=Ej+cnb?6qJ3aL6BGR}F6$2;p;+Sr@kL)^--H+iq~ zvh(8Pf9`n8C(BW9Zif>^cJg6xt|8}3S~@uH*VK&ue1cgx?);Ri9nL#~riEI*NU<}) zVD3F}L;MkDq1^?X=zHRE7d_UrSo;=ma#A6lg_Z>z5sti;Q?==jU;p4eM-y?;LlM24 zgt1q^@}^^BUIq#9ddRXJEb(bZiLhw_hf@`LkIvZVeg4Q!&(82*Uz})29;=r@V9~2W zH+gZOjs8c(eFf#gS~xPl1V0ewKO+7^l-6Dt{%X+{wyyVS4JvmSJDQ5+-n**XQspv_ zmUZ8ncHc!cH#WO%DISH}JzqYuc)X9JkkY6mvp9-LjVMK$WZ_}onr(-9ie7lWj#*r{ z;c@Vnk|Un&wCIkD58rV#}ME!Y%!^_?&L;X}w2n z@b#Hs@O>#6D(ErZ2{%ookX2MBP2SsFLn&C^8k&*|#NZ`~6Y z;sdAvE7B%;J8=62QH_oAh5M0?Su>7|~LEf`tG{5Fe zzXA%c@jk4P^wHg{AX+{Bkt@WHWyX`J8+ru5f)ixyLjK6rQ4<&7S z+nqn`E{b57!Dy>ZKo|u|bK%6^j$ZH@4XG6Wbe;OG0OJBHiiR=cfoVLY6Ie<)>4EKD z>9Zq2I&=Oy63k4yx8BzYuu<_l* zp&Kui8AS7sH!!LspNG4IzNGqABE@xI#HH=1e35ul=;TO-0sP2#n2 zNXA3d@ASY;{Paf`?uo0+=9fu|s?4gwh_+Ar1#O}nc@o)aghd6;-t?iJU=$+$WeQdFgUd)sm01XCuB0^lBM;YT zAKA<;2k_Mewkit~e;ZXI{LYO;9C7iXrTf<+0IAB)Ph&1S7bkXmxe|R-V_ipy2d_k z&woM5FnBfJ@kW=TK(w-n(`Rq^%hs7JlMY2pv7^*Z>7}D}4*bg2tIPtNs;y1%ZL5qq zx=AF0&yOfSL&lxdU7$5lPyBPEfU<4y>Znpz(@gctk4z&vsbARPs)s%w@Ynk>8=8RP6{jON`8h=Gzn4zSnC{(#Ew-4+oZY+ zcUL&L1`vcMlE*;Hf2{Q-A>V1_JeOfY8vpsd_n&Q#5T380oJGGXxSSwPy@l-Oq#5Bn_>4&4`AM~UiAIUQ5 zgx;ONJLmNEYjPyU(SnR}AJv~eOOPcQVM=G3e2T-Z9KL!7bXH1-L`YKjPG65Rq$2QO zJbzQ!gGk}QXQe~YO!p(0JOHW`k7mMUN$zBQ0IOL=cIDxnU#-XbO9O6)D-+(4A}!&& z@716CQ!7pCpYscnS1RLv83fkTMcya5bB<<5L6BRSRfd*M@#t5r=Z`X=rYZd}D6Tim zGi@h*-OX~kLm4noW&>4oSLqOEk1mJfB^-dh`y{oXVglZK;wi@sVJXKiy@Y6>SyP6Z zH6S6hC`f02A*v9PGmwag>-0BH(bDBE0`#x;L4eI&L?ZUZax{ma+p`HU_`e)RFujcd zQ$YzfMFAlyi-)6KGe#OMxs>x3Oazs${{xt&>2tk?doScRTsF`RmP5LMHPR`$y}Ew*mCSL z6?$o!06S<|Gk?adrundG>t0Rid+){L>o7b7?E3v9cbLEJvg5AB*s0G1z;PRf&TIKq z$un>6iq!7jb*0s#LIaj8NeVZJzKtSzTLEXZ}i_z+BjiE10E zvPaD7zFYyQJvlBQI5(pFe6d=eU0S_oCX z9y_!!TIf(Af)l*~Ykli{PyEW^yt4gkTDr4`Krc2C0S+m`KoD>uVCV``>;fBjxX$Ii zy?+D(n=gn8;hSe5c!_|}5WxXi3(%l-MnH#8-~pPngT4MmL}Yvy1BM4!9StFg_J2yYrJ%ZTE8ovYGw4? z9sEOYdVs%hcnIP}T+DQAlf_)PGYk9?Of2Xkk44%Na1$BGLl+tj?&cg0@gYi;yibc+ zxL@zBMxP?Kw{z?4N`9H1c)j-%Q}8E*!B0^5#&QwW-9+HX$%Y;Ge;Kqgkh!t$Q)50v zD^Nctz&{2xS3X1lVV9xoaK^p*lkfKFd*ZYL(HrRQ_-@15&w%V8aUcf3^>;E@6L9VC z0d|D45KsgpkwbsE0Xp;*(4qf@|9`UVKW6g^In^U`&CyJ3SkQ`1qyN#0^|3DJQV*A{B_T z66l~Yw^|qz0Hw0^#7nBJ{2i}`hK9h!YZ&URnr#v+QL$O2YXf$iI?Qraw|W}8vdWJQ zWWW1u&3+dtc(&BsX=Qwe5KEZhCq_0cxV^SpJ7+#8mO-iEN<^up%~I*K8n>L!H!0{R zfjNC5FLqBACW~3KqT3M$)h|RaTK{SjHG+(|K_OU>Gxs<S6Ib1#KwO2I ztS0v>J8I9@CjR@B|q!FmhtEKTD_tyN)sr5wM}V^;?;fopT{!ySH$=lg7Gon$;Wk2miA ziLqIajcsr*%k@L?&m-b}{1)oySsb4ivT>(8;5c&~hpb42TzPO10SSX!M?QRS`k5Ga zZE!Zr9^_-0u=w+s%)Mj_E1P96F;&4V{Qj;$B`)!D`?{peqmo3MYlFdhf_}#~PlLw~ z3#zc{s`Jfe60|2;{2n?XcE;f8l3A=AYQPJ+&>P2B?%<*ARK%JM>=PpIp$-V z00u{ZRN~N1G~hDBi|#9gA3X>;KZw70XzAWl0ZizDG_U}Y$d9Q%$PiQxHh^-|0sz_{ zJN&^G7X!?+zwsaBeewR&*@%lYEMEm3*XNI*;`>kZ5QG4|J=fTOh9SKz* z#A>`Y@%l84mg5KSI@cIKl=0p?)A!qRgJvmTeBXP*&9je5iC9vb)kO-US*O{3DT!Ts zbr9jiCtikiOb+A`Bs;E5?eU`n?P_ow)w3pMW1RHeJPmeOKNE9l*u8f}uWMVSmfz^8 zqU5L;LGYiu%~EPfrgzRS=7s<%Z=%{l;Yjr&JIS{T1J=nz`qOd^Nk{F?S?{0vFd-NE za3J;iZGsSCl0fUV3@Vn=dG1WN!jV_k+|!P?KdabGr+6%P=62f43reD=GA`qj1ScME zl7BIw_5v&sjgr59;bPVEh`4X0f~zvO75pm(#0KI;oA3M7|+k|N|bE=`;|^Wj?^yM1V6yT209^` zKi_ghK7|sL5!0yBPDno2@(sFn<}tm{e@Y~!>7kv_c&_CaWP0W?i%`zJPelY}{~=NI z`G8Ll<(bEqg)BrqwZ009O=bJYhh87Oxa+qZQsBP3jNQu>M6c}1x?{#`CUQ|<-D>t^ ztJRiAvDT0N}2aTorJJ}FXz2X{YCTVFpS;jH$3=5TsqIw>x~E9 z5 zTQ44d_FH_SIirKjezCOUqC5Wf`%`pYqh&5Y+ECM&i7k@-y7?0vZT#+5LR|GiDc%;` zCnBlJN14r>X1tz^rwF>{j5E`Hbgh1~7Fz#Kf54^gU1P_u=a#A9`7U*8vYS?*9d+vD z;Pu|d*^LjUo{koXlQ#$%wA8)$%t*?VsFt?Q%}-=HcB`K0I=>94NW`h5=ScA7U*9t` zV`Vy}%UJO49 z<5rG_kDN@ksAJ}?OYgsa0s;Q5O$#)E@E>H*+i(Lf7XW60re|vl_o=)Xe_XKxuYs9= zviuK-!QL@cRUZyVnF77AwV1BxQ)`iN(8mUqw2gk@6 z3+Cs`&C1)`8BU(pPiRkE;ydD7emc_*&{NaIJ6|X&(an7T-O1yVPwa66ZqroUAS?G(4|kt+h>YYoNCVd*_} z77r&Dp+Ht zI-Xy>a1urX2z;?kW2ZBx)|pSG8cC9R!;iO=%6@rc05fBaEC4LZ5i6b)GtJt`h+yV&INMRKeWi9Svqtv zs^@edf?}+CCZIJlbp4)X^lL9}zaguPm`7hIWeBZFt42FdGsGhi%ud3cr(u9LxU9bJ zrN}}LF%dvaBu|;0>e6Y0?pbmxA1Rn2OnrIhFi$ko;bSvUDY1d_Jr9)cUG1*K3xf*t z5AsE*44eXhxdXMO@lc6rg9_2#*aUdbwm~iNuSNeKW`lF}9i(Z;G&L>C%Tk>UrG0pJ zNAt}qS%N zMN{6YxM$6M!q+;E%~mv*4kVgd83wrdKbk%9qu+&JPLe&wtXs6{j+u04sMg&ZZ@~7v zx#QZ?S65QJq3$7#%Bkj^n`=smscV8h^k?JDZdkT;XK_RJnVO+~o{xwYaSH>vOJt+E z$F`iPJU7X!+1jdwr1oO%-)=nd5%Xp6<%s8Zdl<)&#P3$ObDw%$OP}V;IM?QmWE2?* zzZ-I!&Q18-dEa3o1cTto6%^k@okGROy;Yq?^~53J4JUDaC8WL(M?J+BRmNy%>2yWS zw4X~`Ej?3R`co+-FGbw&w3DzwBtKJ~IxZK_eAtpac~p<|VB*baiZKxbZrg_pfK!uK z-qG#~lW=EtOd9AT7NHxa;0CaIDD)vfp2qX_&?WLdmpJZv+9WXpsJ{#y&B_o&-1G^` zvVlINS1AYXQJ;m13KJ5MWdnS=fAuIC>I6eAfWrX``1Xe+7dR(Fw>apofiBtWfB|ev zAOXY$v-fv}!QR~jk9q$|h9K}6AO#3`PyF3Y03dmCu>4=y;Oz3`prHM>=>N^^-;P35 zHPr4E+f@rDH3T)r)7$7V0EQ=@P|}pN>-a|0ru|Ryb_$JIigV(==+9@lzAx5Ipf5&H zG87B(N%Bcl20O5m5~!-(UgvL4Ljlfc#`qiVvo4bL{_=DJ;5iK(wp9%$$$56?O} z&b>_UHdIfg+0*K57Sm9#;={4TU;H86TGlLvNFbl&9Ug0q%+YBnUy9Ot6*C>&o`=_> zIjjJO`quhPR#bVTidhbgjM)pgm%~8n(gNQDe#_Xe$K^}xV)MKdg`=07ycEY{q4$za zkOPYK*JzU(yCaZ$CrRsR9}QFz%;uAT$01-n5ab{H*fYun@wCnae|_0{Ph9^R@It<= z-IZb?;GAqIj8%Yh4#*@R{=p@9`l<dzNsx|$6Z-YB-{yIt(&RA9p5gy@59SA*~V zvwV3n^xz#sePVq`{WaenVoSOqNtY`tW%Xplx{@yRD@FBOQC}0MokB%dVxsLcOZ{Tk zf*72}J`YP}$uEC-GFT~wRKLIeTy1m%}yU5-M5=Ec#qJztzzD5PYddOxBE5h?w76l$MT&3b_7S*PdrLl4A zvs=W1mim^I^8(KOZyO2;eeiw7d?~gH1IWF=1x0BgAyCMe(#m9{opZzm0=)T1UpP;t zH~XXmCcfo}P-k-U{Y%m1u@T3fE0)|hJUrSNimaewKk3+mtFOJ2Z_^#RJb6B<2YN@8 zuO^15VmxKm5=92JB97H7XGEDsi|@6^WM2?$Wy5h#Y*cg~>dLtgZpYe)R9QqZY}C)K zsXNJQp1OxJIotTom1U*%N^v>Ee%LM8%6hL$#JRDptnJgT)z>B0djh|nJvAFIW&ibK zYUnHT=aFg;Z(-i=Dp0RO7T~ZlPZmW`lx|KJL@(1&%`*kqzszZu@4RR``-*EfUemYy zlbH6zL+y!8G6vA(la+;X-=3!pM3g-4zGvZX{kh3+@9s24{@qey;!@(nL9y)m4cATL zl0BpT634@W%fqtn)?u7srTDtntV7n{6`RppU~ZH*&$r(0t^%l%8Yp)}b;uw<$_Oo8 zJkkhD+c+>koAtavf1I6FN_{J$?(UfU82g3x(X#sT)her2Rm?XixsRzl2|WGY-^unRg~Fj+POMUF`OovE!g>57UjLsnlRoWO=;Tc*=^EESCz)%tv)JE z348J5WBu@OVj|-C360?JHI1<-=>-FuD!nRyp-N4z;m|LOP9-;au+KhER-H;`)nZGW zpQ`dl=znIcFSn_i@-DYY+&=03<|YsIUc$(X!8wF#-(FEY#VZ}re58G!3*{?q@`fqu z!W}W+I69M&Q?!^%6GZwL#wo?6X;0ZQZwGq$mehfVYnr~#XeOz^S0bwhkc=q0@13i4BNOW)mD8c5>VlXGDkYCl2lunlU46_T208hadTYo zrg$}!nYY8c_ylO1`{6)aic(KJ)~e&wNhppg6T1|^O&EoTmum6#eqn7oB`4uYnZZ2p z{Z2fuR==R3TEn^a+DoJ~RZrjVsDLbA_4L8o7LNmTyW<>%lXDza z5vp;4>}zwUIYeibt*YOo-QY3uZ_ms_mJkn1416@|0Yjp`y+m*Xb|TqSPrS{kF&H_k zyf!tfeA?DBMfH6;jZE${P~3Emf+u6^OrSE69yJUOy!Yv=(90ls(C6lU5bz870zPrn zdC@vN?=K?mM1s(Mo}~J|>~hjp#-yf4wS2Bdja=GBhBT#fmuI(A7hRP@x%utQjGb$K zOI*71%JAhAF1iWHs;!i%s(1G*`)h}5D-re6#Pf$YbY6_RB)9%>GHRjf_}F0iPL66T zZUng1DVL&}jTp+j)NQn>!@&zTIV_JGuERk+JsMNLIAG6@6Xo7EMNL1)l#H(zXB+B7 z9BvSK__gU3m-+Rm#@2CsZ0*;naA1QM6W6jgfo4=5 zuGKx{zCr6apoNzp@&Mn~Sw7U9IWwGwpJiE8LX~IykjSA;gXnD%**w_?^jn~5F7 z!s6kbqq0ju$$V%xIn4rpuUk6vECd+$@}j&saw z0*SK5GQXfV&fNCT*B{qZS}0FqzSK>0H*7g}ucTrzNbGJ0buM-t9PgyuirG%A*63mw z1}A=dM$HNm?7{bWQ|F^Jvj;5u)Rw3VRhAfL?=6}$Z>?24*ow+UHwhjf{4=`J`ZNE( z3w`;Usv9HzI>u`~#KUI#mM1~!dw5V0Pf{{x-x%TMm^p@@3FpEC4P4cY7Q`)RFg``G zW#hLq(!p}6I(+-?7?iH&m<(><#^pp^J}UxeA3XeS>D6;wZrf1eQzMa5AlZ$3EjFax{Es6-}{zZlDV=fuy8k z1%n+w7)+1ffBz!wX>&VQG(~Bh)NKwcb(vZL(~(_3=s&-xec1eDy^9;amCp4?WbbuYbgWy^sHxSDCaP zKv7qRk|7g}*1f>P=i26V#Y!vLZy23ps3ZelGzrUr%^HSTz-D`y`QwtwGCNb9rtC|B z&ZhUi>r4W|l;rL}jy6iVcyWxwy23?zfK~5oiPYEnMOsel3V(3<=y|6A`)P+OA<{nxPFbBqkLA?$|AA9yp6L`df;P;Z~yjEaFd)_|3;Q$u03tDbL+w!!p%jnp{VMZEqS$ zoiA~Em+xp+jK)*XeYDUywfof5Z6uzWd&Zk$eaP$RP=Z&Lqbakq`y>^2B>tioIG{;rp2F`w~9x=r3kDm@W8f&T&Ar z=(x>Vbx-NV+aDXtAM}$y@ejN(KJMnl)lbq**XZbt~m>|yFWEr-0>hJ=y*Zm7P5^4%< zbAub~X|VGjscgL-gg=|&zks;zuk#^q9lpaH=7tw4>^LIFiazPQ|31`7m&Q?xa>KJU zY3KP+;f7b_ z`RK-3(-}D)(QpC5JY{5f;}UYL9T|V1vE=zqkCO*#;@===%>?|CsrAQMm|PPA*pQxAO3?WmPaKP7J|+Nd z=C;Do2wWYl-twhI|4wWJ5DYl;H!c4hp1TVn;N_*xOQ`sz-CobqWmr@ns<+Y;hu4qh zEdCwhFt=hSd-TaUpzMK@oPf`fQ{&pZp0+>b`E(13J!~;WwJvFF4^ZmU5-oo|4*$~!)R9Q}o?d{!QcR(&I z0CYrTdI87xAgxFr!N5j89lbeXE2ug22~COW-6OVq1tWdJ4S$;$(cr=72cYzKa34^w zK7;H5G{0(3G?x>{?}KtHPOpk<qNCu=94n%R|3; z8CZVb;lJUVxD$AjqaI+LP0S5ovVh<~$z%W)Fw=ni2iQFUuzz6oyUICnclqJ$PWviv z1_6vg?jB|S^uxoRAhyv9@8{i$DqQbh_U+}awH9R!}}MWfAche zb_#(I0D|HYRj0O~^XVKQv*o{YHIN~4Lf!!e?>hk7caC-nQ z%g+f~zz-KbL#W*!rc20~dTaq)g4hO}raoY-^S6Nh3_$(^(va`>!RomWLi0lJL|0l@q`HAcw{)KWm2x5?&aQCoAyy256 z1iC=0CKH?buUiIvEH_4E_G znsfDj8W^yrcilMcc%_I3j~1DvQgs##6YV8qSxls2k6o-%1arie-|&U>ec`1?PB3-y zzJ@7e4*3GYT+C`~pu>bq>%<(j_w*IrHpjA11I8v64l zfETzo72Of6^+YXXKDfB4YZ=EB{E`-{PR%-h*|uSITj7V*t!%G#A>odb&9|x}hL^d5 zP4fww$vGku=u~U;UTX;{e->v=SH60=EJ-EVeF2NSg zxLoK>Aj~gi!zPF$5BC6lQv&6H%94=EiaU`&JmE`2Paxll=TvhJJpqdT(y#FjU3h1P zJy6wdT}C43o;k1(q^`u`3{Xdb*C~}QTv?P9+fRm23=Q*-DW8Z zbJqUN$*@{gJYCAYhD%NKycbg>VUm{DsuFEvXSI`2lFL`o>a(uNL~jI?cEx9(wl_+~ zF}gZQL7{6w;iWlwJC-LXlQ$S>HUd7C;=m2+kRAQ&)Y*n?TwLs##T1#0GQk(y_^3q@Vt z3c}qwjodulym|eZ%-@jv1J5^?o`V+v_&$zj&L*qb>1cZXnqnMHVWSY$oqo5cN3`vj z^m1psW|qvca<^96ndcd+XKWNQKZ~_VWHV9UWhlyUITF*EvD%?jjTf^(6PgQ1=`Msk z>0J?Lz>tT7c4oJafF}VOB&no|0_M3+pZE}s4H+4zPP1xdtBQbwN>JR)H3>*V50O$kU zegw?CsT?zq-us4#{Fn|TG>)OLaWy{@)3z={Sl+<%CVpNO?3wnvZhtCVnRqtxb5DFo zAEa^TTnnU348@uKMdYA?LZ;$nAhoT@PX!>2G&{rM&+<5>e%G1-iq^I!&lN zBwf7pGh+$!j&0f%oI9&gw7NC+y@H*s3C^EhJNpm2;T-aK16*h&OOEf_zlIU^ zLf{4NO~ruQZyW(L!dRLo!9j&FmgFVuMT)gayM(z$>J@EWN(qKrRf-`N`KRb-ce{L( z&SrcTYll240eO@T^62Y*H@8c$0M^i4Ku>p(-ghe)0&mXl_KEMibry0fm;v0H6xG98 z5lBsXBXY>tq=T1Gdij>kI^yxB|Ik&5lG2w3Kz+anoG!tTnKZ)`8DSE zNS9-*El&*!zZwv}-!IJ9Uk5h$A^Vv6e?4520s4KeJo^$hU3djj{lGFE+#It>oY{&Y zIk^EzXCsHwB}&x1gKf}rBJIbNCocoJLj!>b$^yYMCdxbFJn8$yFu?k`Ckb-zm3{XD zmKciHz`b-az`c-F6fc7rz`gCQrl##scmVEo8DJbJ?^;-s(9b@9HKd*cUCF43Rh47mDFkM27aAmE8c2&6P{ zDlm+3bmV@xN`P=ZkVi91Sfbp`mUb3|>kmKv)45WBb&U9`+hvQ(ZUPe z1BCCsjp~T}Wh3cv$l`@E()+R+Ii+41)W0a%zL5zmt@Jma9ymHBv~Ay~DXRb%DzG1z zoj1Ka`y2vqNMAGs$E;J_3jEVpwSz1}(QJ%i&1{TUioHpDlUoO`G*oMB{I0P|K

      X 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%0AxWKUI7B}hhhqUkzX( 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

      Os&JJYp&LP*6}&n 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 z z=iIraO3T}nr#t!`q8XdV4}WwWX&^!%aqS98dm;_OM$_i7=LW=qgopTaJ}U1~6lz~P zCHlTZdN?@1A=rLH$e-j#E;I|Hgf^g$&U(0g+neI}DPTUj`$XYX@wXRfU^EYY$-R?9 zW1IwWH*W~rN$c-)uLSuxX*AIlrgdcK< z_Li<96m_&zYhg;UxdmN1F4whBuV23~CA%Us7w62ep-9p;tKu-z3hK$tzun$D*jByO zh~3Y@AzrtqX?U+O1Pgx*_ta+L9v_c%M>c`+9G5y?D?LSSjwOYwf!Hj*RURVVs~ zYk+JO#f0Op{36YeI!1A7U)$W9ge0!BttlQVS@-^0)N|Nc$$pfaMvQrEZ}#d`la#E@ zue1xl^rjcp87s->I0Bq%)|gTngiwYq-5m-wU>q-si^x@s2unsmr6VK;iLP`J=akHM z=7VPI$fD&e;<3qC)bq{ld*VjvSVKaI{*@?&U{nS-@IE8u`}lbWW}A5ci7vRab1GM zBuqp-6~hd0rsGtT1ps$VSUnbJpbhqWkH$^;fsi8g`LRjdkLh!%^} zh<|%YPsRmhokUKR29id&fFHq-hhp6d?Nt&+4w8+bi`Lb?@Fw^o8KYK4M>S6pA@(Ej z8`m*VNdm+gZ)N{oZZc^c#e-Iqb=&T%b=a&>yfum})F+*-bio1(LKs3sl9LBf()&apy;pgn`S9O$;L2c=|QQ}XFj zWt=4Ki!3Q2*|Vb?oTPkQj&KR7`?OFj*@CiLodfDBRJp9y^^=GLV15;w`k>zzjn&TG zAxr#k_Rg=zuItF|?*jB4ZuAgS07bDWawKzr83>X+GBTDGnKMZqyU8ZmX0vbOcDHEy zDYoK~;xRB8Aa8jXOOzDJmMmNUtxqDp=96UoR#ol2&%LLqc96UTGsf7>?t9PKXP>=m zSFKvLDpR(#Nb$x3*8gEIe91dk*pEjV>7( zct^bYTMMUa%J`kGVE)1vJQcK?W}WzQ&Ky6EylVZkzXgdVt*;C1=>Xr@g@?EAAAvX@ zkXAj^&L_4!1$wD8OX*WO3kV)}bSLDMqKOuMn-U5%l$dm$h)^#pEVSa+X~Zr{LzyX? zS<;fhA1g3aw<3#JeTei=(jJi_nIt%!+smu8!Ro0`5gV1gbzx%|FS?)A5ag|@;zZ8m zO%ecm2PXp1D;0NY&&}cC0dcb^90Un8ye8j>F6`;3jvU(FX2wU*vY_HUB`~7tN7xIc z!Zu!LR38y)c9^6UW0?vRCswrQN@6X0x)FdUzDB_@THtDUZA74?63`3}=f&G6wq@vi zJv6V)#0kRIL>*d*smm7(m%=nGZ=hW+pr7zQ>>SD8iv7`U*!7SCQpJG`P?ZPqI6tc+ zS)i!4ijZ4tOeZ=;$?@7Xp}m{LFvS!GEAy%mn>-ztT14{x$V{Xti;j3 z<0dj|{aH62MN_zmpmOOo1FXTJ6CDL$@*3Qv62FSBm#&O|(;?&Q3%e9E6T~p`2^Dji z7^cxB87=>UigjtQ52DWcrX}A31?~`?K_I!1fXU6weDg2N)*wF7HIurpbGBxVJ_`4g zhEoP3c>RuC=W@rY~Mq- z!<-z+e~5<9+lM6H(3iJ##H0d^OlOua?_&(*v5*k8!yx0QP*3?`CGqrF8xK?6spSDZ z%BuT`k+qA8Uc`G(qHE5*T`KPG-bbIV0i!iDl6MMwX4}*sfLbu&d2XCz;ojB-$!CO8 z`#e**M{-R|S~JY|4ZZc{!Cz0yN$Td()R=X1E?wBVaOuK}(IMGzqgf7T0!OttKL?7& zEHqC^@uv0CWCTERWcw}wAPIYG(FmWX1oY$ZOj6Vh;TP~Mc|+df+M)_+wp6>GUq5Y+ z%)|g3(wWd8q!*DudD6u-0oVt7a-VlKrn}Oz!Y_4-KU$ZY1(3a>Z!G?H_cZ|*_gBlG z@&(3mS4z!~l#!axIU-sJ^V$zsc;2@^I5(wqd7;V-ci7_caK8ICG ztp;pzS-tEF0*c5D;mMX_FRl)a7(dkafND=o%{{KVV-Bl4>M}*4-(he`FlfY0;{g*5 zzDX`3F<2jB;Nw*M+UiHROVp2D?`Hura3tJP!N;~Qd{3UT-;Ret3IfM8xUCf`^0}JE z_Q<+PI*>fF+aV9DMiU1`QXLKAAlv9o%=s&=XnURUndCiwaEc=+ImrFx{asjfJG%<+ z_GlU}Ny>I#T{mDL*Eh&OJ|1ZHAQcI) zP3RW+JN8Dc<~Cxom$a0OAj}vcH41zU+u^nn-m?r-sT#J?;-NX@-u*EL+Ofg;*64=m zNWD$_uH&^Z9mB;!@H_pqXkTLYk8BUsBUTb}`fO7L$J^aqjGUDil|nW7Oq$K)r;C51 z|MOD3IBwyY*FPkHSG82((GUH~n|?(VXrUn+lE|)? z@m0B4#2)09KH@#K!RJm?BEGNVzG=J%t7dLq6$yBTB81*SzA%9&ywWiL z!-n}#+rz>>SrX3n3V0+AM7}WGT!?{dUv%MA;S`zBt#J zi;rs_=sOqH^%9jI);_7^7@}dD7}qH#1xRB$z;2Kln*D|m_LfQG*o`&Cg9q-O=Fr

      CK$BsF59BLSPqYl>wmJeo!3DX8!d(fs; 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

      1^cM>ybF6`^0hAVuT6X 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�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 Kjp(}`kJsmR>-4ikYzs?^!Gj^`b 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

      @xOH*x4Qm<2n?0euyZrWKn+} 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

      Y_Ltz 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 z

      O_){8?nku-2YD-m5fbm`KiN0-zuxab88j#>*D5jl@dNDLQZwG!8kxOT-Ai5aO= z60_z*t1)6yzHv1cZ@`%yHV1ndG<_%urjS7uRq;*vy7|#=$RcsAeiCos6tp0N7S`M` z%j)H1(0XsvN5_J52S+x)^fd9yT6iCHNac3zrC zCXLeZRZ{b?IA0eO5%Q=!pVUZp^f^KbQQgQyb#`TT&77{ZBv+=uvSo#pb*Y6qFseVG zj0BLkvW8e9KFTu%WSX-n&om71M>@X{-h@R{G7Q~XfQjB|#Tc>}%ESj1unPm~&2kKx zT~JVuZf<6lbrD&;*y4s(3|b7@7qG>lRx4r<#h<1}OV{N?hdce-Cz|KwkN} z(Plk8^ybTFU?E=`!ZQfg&mQ-Jb%u+w;DYPv*;n*$S8n*?4qV@lw0W>ygEbknA6}?=Xu3otI1Cq>2bO z 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

        )q_4k~ED2rPSGpY{mo5%QxGuaC7O7weT8gAJ0^d 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%0DIg}dxb&$->LTZAj&&O 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%0AWS~({b=-wsm)VU_A~S5 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 z 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

        yb8;JJ6HY%qqRZ$ug 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 UN>30-8TeNZRBp%SmsfuOKh#nL;{X5v literal 0 HcmV?d00001 diff --git a/Mshastra_API (4).pdf b/Mshastra_API (4).pdf new file mode 100644 index 0000000000000000000000000000000000000000..4bc84d59bad6beb3102c0934d5e7f045d11fae72 GIT binary patch literal 300813 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 z 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

        V`uX4u9hOwF$Vr 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�U(8ei?** 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

        T6Z9IS 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�X;gsrG?bWu_H^(l*%z=r$#;e$5Tw! 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 a(q%o&*#<8|KiP8QD2{f-qs7!e75^`EP2e^F literal 0 HcmV?d00001 diff --git a/NOTIFICATION_INBOX_README.md b/NOTIFICATION_INBOX_README.md new file mode 100644 index 0000000..0d2d95d --- /dev/null +++ b/NOTIFICATION_INBOX_README.md @@ -0,0 +1,181 @@ +# Notification Inbox Implementation + +## Overview +A complete in-app notification inbox system has been implemented for PX360. Every email sent to a user now automatically creates a corresponding in-app notification. + +## Features Implemented + +### 1. Database Model: `UserNotification` +- **Location**: `apps/notifications/models.py` +- **Fields**: + - User (ForeignKey to User) + - Title & Message (Bilingual: EN/AR) + - Notification Type (complaint_assigned, sla_reminder, etc.) + - Read/Dismissed Status with timestamps + - Related Object (GenericForeignKey) + - Action URL for navigation + - Link to Email Log + +### 2. Automatic Notification Creation +- **Modified**: `apps/notifications/services.py` +- The `send_email()` method now automatically creates an in-app notification for every email sent +- Notifications are linked to the email log for tracking + +### 3. API Endpoints +- `GET /notifications/api/list/` - List notifications (with pagination) +- `GET /notifications/api/unread-count/` - Get unread count +- `GET /notifications/api/latest/` - Get latest 5 unread (for dropdown) +- `POST /notifications/api/mark-read//` - Mark single as read +- `POST /notifications/api/mark-all-read/` - Mark all as read +- `POST /notifications/api/dismiss//` - Dismiss single +- `POST /notifications/api/dismiss-all/` - Dismiss all + +### 4. Notification Inbox Page +- **URL**: `/notifications/inbox/` +- **Template**: `templates/notifications/inbox.html` +- Features: + - Filter tabs: All | Unread | Read + - List view with icons, titles, timestamps + - Mark as read / Dismiss actions + - Bulk actions (Mark all read, Dismiss all) + - Pagination (20 per page) + - Empty state + - Bilingual support (EN/AR) + +### 5. Topbar Integration +- **Modified**: `templates/layouts/partials/topbar.html` +- Real-time unread count badge +- Dynamic dropdown showing latest 5 notifications +- "View All" link to inbox +- Auto-refresh every 30 seconds + +### 6. Context Processor +- **Modified**: `apps/core/context_processors.py` +- Adds `notification_count` to all authenticated requests +- Shows unread count in topbar badge + +### 7. Admin Interface +- **Modified**: `apps/notifications/admin.py` +- Full CRUD for UserNotification model +- Filter by type, read status, dismissed status +- Bulk actions: Mark as read, Dismiss +- Search by user email, title, message + +### 8. Cleanup Command +- **Command**: `python manage.py cleanup_notifications` +- **Options**: + - `--days=30` - Configure retention period (default: 30) + - `--dry-run` - Preview what would be deleted +- Deletes notifications older than 30 days +- Run via cron daily + +## File Structure + +``` +apps/notifications/ +├── models.py # Added UserNotification model +├── views.py # Added inbox views and API endpoints +├── urls.py # Added notification inbox URLs +├── admin.py # Added UserNotificationAdmin +├── services.py # Modified send_email() to auto-create notifications +└── management/commands/ + └── cleanup_notifications.py # Cleanup old notifications + +templates/notifications/ +└── inbox.html # Notification inbox page + +templates/layouts/ +├── partials/topbar.html # Updated with dynamic notification dropdown +└── base.html # Added notification polling JavaScript + +apps/core/ +└── context_processors.py # Added notification_count to context +``` + +## Usage + +### For Users: +1. **View Notifications**: Click bell icon in topbar +2. **See All**: Click "View All" in dropdown or visit `/notifications/inbox/` +3. **Mark as Read**: Click notification or "Mark as read" button +4. **Dismiss**: Click X button to hide notification +5. **Navigate**: Click notification to go to related page + +### For Developers: + +#### Creating Notifications Manually: +```python +from apps.notifications.services import create_in_app_notification + +notification = create_in_app_notification( + user=user, + title="New Complaint Assigned", + message="You have been assigned a new complaint", + notification_type="complaint_assigned", + related_object=complaint, + action_url=f"/complaints/{complaint.id}/" +) +``` + +#### Auto-Created Notifications: +All emails sent via `NotificationService.send_email()` automatically create notifications: +```python +from apps.notifications.services import NotificationService + +NotificationService.send_email( + email=user.email, + subject="New Complaint", + message="A new complaint has been assigned to you", + notification_type="complaint_assigned", # This creates in-app notification + user=user # Optional: explicit user +) +``` + +## Configuration + +### Settings (add to settings.py): +```python +# Notification retention period (days) +NOTIFICATION_RETENTION_DAYS = 30 +``` + +### Cron Job (cleanup): +Add to crontab to run daily at 3 AM: +```bash +0 3 * * * cd /path/to/project && /path/to/venv/bin/python manage.py cleanup_notifications +``` + +## Testing Checklist + +- [ ] Send an email and check if notification appears +- [ ] Open notification inbox page +- [ ] Mark notification as read +- [ ] Dismiss notification +- [ ] Check topbar badge updates +- [ ] Click notification to navigate +- [ ] Test bilingual content (switch language) +- [ ] Run cleanup command with --dry-run +- [ ] Admin interface works +- [ ] API endpoints return correct data + +## Future Enhancements (Optional) + +1. **Real-time Updates**: Implement WebSocket for instant notifications +2. **Push Notifications**: Add browser push notification support +3. **Email Preferences**: Allow users to choose email vs in-app only +4. **Notification Settings**: Granular control per notification type +5. **Mobile App**: Push notifications for mobile app + +## Summary + +✅ **Model**: UserNotification with all required fields +✅ **Auto-creation**: Every email creates in-app notification +✅ **Inbox Page**: Full-featured notification center at `/notifications/inbox/` +✅ **Topbar**: Dynamic dropdown with real-time count +✅ **API**: Complete REST API for all operations +✅ **Admin**: Full Django admin integration +✅ **Cleanup**: Automated deletion of old notifications (30 days) +✅ **Bilingual**: EN/AR support throughout +✅ **Context**: notification_count available in all templates + +The notification inbox is now fully functional and ready for use! diff --git a/PatientWorkFlow (1).docx b/PatientWorkFlow (1).docx new file mode 100644 index 0000000000000000000000000000000000000000..ec5304c757718ede9c00a68ca0e359e904d05d61 GIT binary patch literal 208694 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 rM0Ds9_$??k^5H=+V#p)W`pZhRzk>5DM#A`Nw@@ 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/edit/` | `sla_management_edit` | Edit existing config | +| `/complaints/settings/sla-management//toggle/` | `sla_management_toggle` | Toggle active status | + +## Files Created/Modified + +### New Files +1. `/apps/complaints/management/commands/test_sla_reminders.py` - Test command +2. `/templates/complaints/sla_management.html` - Main management page +3. `/templates/complaints/sla_management_form.html` - Create/Edit form +4. `/templates/complaints/partials/severity_badge.html` - Severity badge partial +5. `/templates/complaints/partials/priority_badge.html` - Priority badge partial + +### Modified Files +1. `/apps/complaints/ui_views.py` - Added 4 new views +2. `/apps/complaints/urls.py` - Added 4 new URL routes +3. `/templates/config/dashboard.html` - Added navigation card + +## Usage + +### For PX Admins + +1. **Login** as PX Admin +2. **Select Hospital** (first time after login) +3. **Navigate to** System Configuration → Complaint SLA + - Or directly: `/complaints/settings/sla-management/` +4. **Configure SLAs**: + - Click "Add SLA Configuration" + - Choose Source (for source-based) OR Severity/Priority + - Set SLA hours, reminders, escalation + - Save + +### Example Configuration + +**MOH Complaints (Source-Based)**: +- Source: Ministry of Health +- SLA Hours: 24 +- First Reminder: 12 hours after creation +- Second Reminder: 18 hours after creation +- Escalation: 24 hours after creation + +**Critical/Urgent Complaints (Severity-Based)**: +- Severity: Critical +- Priority: Urgent +- SLA Hours: 12 +- First Reminder: 6 hours after creation +- Second Reminder: 9 hours after creation +- Escalation: 12 hours after creation + +## Testing + +Use the management command to test SLA reminders: + +```bash +# Create test complaints and run SLA reminder task +python manage.py test_sla_reminders --run-task + +# Dry run (preview only) +python manage.py test_sla_reminders --dry-run + +# Test specific scenario +python manage.py test_sla_reminders --scenario assigned --complaint-count 3 + +# Clean up test data +python manage.py test_sla_reminders --cleanup +``` + +## SLA Priority Order + +1. **Source-based config** (MOH, CCHI, Internal) +2. **Severity/Priority-based config** +3. **System defaults** (from settings) + +## Key Benefits + +✅ **Hospital Auto-Selection**: No need to manually select hospital each time +✅ **PX Admin Only**: Secure, role-based access +✅ **Visual Interface**: Clean, modern UI with badges and stats +✅ **Flexible Timing**: Support for both modern (after creation) and legacy (before deadline) timing +✅ **Toggle Status**: Easily enable/disable configs without deleting +✅ **Audit Logging**: All changes logged for compliance + +## Session Flow + +``` +1. PX Admin logs in + ↓ +2. Redirected to hospital selection page + ↓ +3. Selects hospital → stored in session['selected_hospital_id'] + ↓ +4. All SLA configs use this hospital automatically + ↓ +5. Can switch hospitals anytime from sidebar +``` diff --git a/apps/accounts/ui_views.py b/apps/accounts/ui_views.py index ab110b1..3fd204b 100644 --- a/apps/accounts/ui_views.py +++ b/apps/accounts/ui_views.py @@ -1183,7 +1183,7 @@ def acknowledgement_content_list(request): return redirect("/dashboard/") # Get all content - content_list = AcknowledgementContent.objects.all().order_by("role", "order") + content_list = AcknowledgementContent.objects.select_related("category").order_by("category", "order") context = { "page_title": "Acknowledgement Content", @@ -1202,10 +1202,14 @@ def acknowledgement_checklist_list(request): return redirect("/dashboard/") # Get all checklist items - checklist_items = AcknowledgementChecklistItem.objects.select_related("content").order_by("role", "order") + checklist_items = AcknowledgementChecklistItem.objects.select_related("content", "category").order_by( + "category", "order" + ) # Get all content for the modal dropdown - content_list = AcknowledgementContent.objects.filter(is_active=True).order_by("role", "order") + content_list = ( + AcknowledgementContent.objects.filter(is_active=True).select_related("category").order_by("category", "order") + ) context = { "page_title": "Acknowledgement Checklist Items", diff --git a/apps/accounts/urls.py b/apps/accounts/urls.py index 578baaf..66b96c8 100644 --- a/apps/accounts/urls.py +++ b/apps/accounts/urls.py @@ -9,6 +9,9 @@ from apps.accounts import views as account_views_main from apps.accounts.views import user_settings, CustomTokenObtainPairView from .ui_views import ( + acknowledgement_checklist_list, + acknowledgement_content_list, + acknowledgement_dashboard, bulk_deactivate_users, bulk_invite_users, bulk_resend_invitations, @@ -29,46 +32,55 @@ from .ui_views import ( provisional_user_progress, ) -app_name = 'accounts' +app_name = "accounts" router = DefaultRouter() -router.register(r'users', account_views_main.UserViewSet, basename='user') -router.register(r'roles', account_views_main.RoleViewSet, basename='role') +router.register(r"users", account_views_main.UserViewSet, basename="user") +router.register(r"roles", account_views_main.RoleViewSet, basename="role") +router.register( + r"api/checklist-items", + account_views_main.AcknowledgementChecklistItemViewSet, + basename="checklist-items", +) urlpatterns = [ # Simple Acknowledgement URLs (simplified system) - path('acknowledgements/', include('apps.accounts.simple_acknowledgement_urls')), - + path("acknowledgements/", include("apps.accounts.simple_acknowledgement_urls")), # UI Authentication URLs - path('login/', login_view, name='login'), - path('logout/', logout_view, name='logout'), - path('settings/', user_settings, name='settings'), - path('password/reset/', password_reset_view, name='password_reset'), - path('password/reset/confirm///', CustomPasswordResetConfirmView.as_view(), name='password_reset_confirm'), - path('password/change/', change_password_view, name='password_change'), - + path("login/", login_view, name="login"), + path("logout/", logout_view, name="logout"), + path("settings/", user_settings, name="settings"), + path("password/reset/", password_reset_view, name="password_reset"), + path( + "password/reset/confirm///", + CustomPasswordResetConfirmView.as_view(), + name="password_reset_confirm", + ), + path("password/change/", change_password_view, name="password_change"), # JWT Authentication - path('token/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'), - path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'), - + path("token/", CustomTokenObtainPairView.as_view(), name="token_obtain_pair"), + path("token/refresh/", TokenRefreshView.as_view(), name="token_refresh"), # User and Role endpoints - path('', include(router.urls)), - + path("", include(router.urls)), # Onboarding Wizard UI - path('onboarding/activate//', onboarding_activate, name='onboarding-activate'), - path('onboarding/welcome/', onboarding_welcome, name='onboarding-welcome'), - path('onboarding/wizard/step//', onboarding_step_content, name='onboarding-step-content'), - path('onboarding/wizard/checklist/', onboarding_step_checklist, name='onboarding-step-checklist'), - path('onboarding/wizard/activation/', onboarding_step_activation, name='onboarding-step-activation'), - path('onboarding/complete/', onboarding_complete, name='onboarding-complete'), - + path("onboarding/activate//", onboarding_activate, name="onboarding-activate"), + path("onboarding/welcome/", onboarding_welcome, name="onboarding-welcome"), + path("onboarding/wizard/step//", onboarding_step_content, name="onboarding-step-content"), + path("onboarding/wizard/checklist/", onboarding_step_checklist, name="onboarding-step-checklist"), + path("onboarding/wizard/activation/", onboarding_step_activation, name="onboarding-step-activation"), + path("onboarding/complete/", onboarding_complete, name="onboarding-complete"), # Provisional User Management - path('onboarding/provisional/', provisional_user_list, name='provisional-user-list'), - path('onboarding/provisional//progress/', provisional_user_progress, name='provisional-user-progress'), - path('onboarding/bulk-invite/', bulk_invite_users, name='bulk-invite-users'), - path('onboarding/bulk-resend/', bulk_resend_invitations, name='bulk-resend-invitations'), - path('onboarding/bulk-deactivate/', bulk_deactivate_users, name='bulk-deactivate-users'), - path('onboarding/export/users/', export_provisional_users, name='export-provisional-users'), - path('onboarding/preview/', preview_wizard_as_role, name='preview-wizard'), - path('onboarding/preview//', preview_wizard_as_role, name='preview-wizard-role'), + path("onboarding/provisional/", provisional_user_list, name="provisional-user-list"), + path( + "onboarding/provisional//progress/", provisional_user_progress, name="provisional-user-progress" + ), + path("onboarding/bulk-invite/", bulk_invite_users, name="bulk-invite-users"), + path("onboarding/bulk-resend/", bulk_resend_invitations, name="bulk-resend-invitations"), + path("onboarding/bulk-deactivate/", bulk_deactivate_users, name="bulk-deactivate-users"), + path("onboarding/export/users/", export_provisional_users, name="export-provisional-users"), + path("onboarding/preview/", preview_wizard_as_role, name="preview-wizard"), + path("onboarding/preview//", preview_wizard_as_role, name="preview-wizard-role"), + path("onboarding/dashboard/", acknowledgement_dashboard, name="onboarding-dashboard"), + path("onboarding/content/", acknowledgement_content_list, name="onboarding-content-list"), + path("onboarding/checklist/", acknowledgement_checklist_list, name="onboarding-checklist-list"), ] diff --git a/apps/accounts/views.py b/apps/accounts/views.py index 0ef6b9f..65d3277 100644 --- a/apps/accounts/views.py +++ b/apps/accounts/views.py @@ -398,10 +398,10 @@ class AcknowledgementChecklistItemViewSet(viewsets.ModelViewSet): queryset = AcknowledgementChecklistItem.objects.all() serializer_class = AcknowledgementChecklistItemSerializer permission_classes = [CanManageAcknowledgementContent] - filterset_fields = ["role", "content", "is_required", "is_active"] + filterset_fields = ["category", "content", "is_required", "is_active"] search_fields = ["code", "text_en", "text_ar", "description_en", "description_ar"] - ordering_fields = ["role", "order"] - ordering = ["role", "order"] + ordering_fields = ["category", "order"] + ordering = ["category", "order"] def get_queryset(self): return super().get_queryset().select_related("content") diff --git a/apps/analytics/kpi_models.py b/apps/analytics/kpi_models.py index 7491802..8021a04 100644 --- a/apps/analytics/kpi_models.py +++ b/apps/analytics/kpi_models.py @@ -3,13 +3,14 @@ KPI Report Models - Monthly automated reports based on MOH requirements This module implements KPI reports that match the Excel-style templates: - 72H Resolution Rate (MOH-2) -- Patient Experience Score (MOH-1) +- Patient Experience Score (MOH-1) - Overall Satisfaction with Resolution (MOH-3) - N-PAD-001 Resolution Rate - Response Rate (Dep-KPI-4) - Activation Within 2 Hours (KPI-6) - Unactivated Filled Complaints Rate (KPI-7) """ + from django.db import models from django.utils.translation import gettext_lazy as _ @@ -18,6 +19,7 @@ from apps.core.models import TimeStampedModel, UUIDModel class KPIReportType(models.TextChoices): """KPI report types matching MOH and internal requirements""" + RESOLUTION_72H = "resolution_72h", _("72-Hour Resolution Rate (MOH-2)") PATIENT_EXPERIENCE = "patient_experience", _("Patient Experience Score (MOH-1)") SATISFACTION_RESOLUTION = "satisfaction_resolution", _("Overall Satisfaction with Resolution (MOH-3)") @@ -29,6 +31,7 @@ class KPIReportType(models.TextChoices): class KPIReportStatus(models.TextChoices): """Status of KPI report generation""" + PENDING = "pending", _("Pending") GENERATING = "generating", _("Generating") COMPLETED = "completed", _("Completed") @@ -38,38 +41,31 @@ class KPIReportStatus(models.TextChoices): class KPIReport(UUIDModel, TimeStampedModel): """ KPI Report - Monthly automated report for a specific KPI type - + Each report represents one month of data for a specific KPI, matching the Excel-style table format from the reference templates. """ + report_type = models.CharField( - max_length=50, - choices=KPIReportType.choices, - db_index=True, - help_text=_("Type of KPI report") + max_length=50, choices=KPIReportType.choices, db_index=True, help_text=_("Type of KPI report") ) - + # Organization scope hospital = models.ForeignKey( "organizations.Hospital", on_delete=models.CASCADE, related_name="kpi_reports", - help_text=_("Hospital this report belongs to") + help_text=_("Hospital this report belongs to"), ) - + # Reporting period year = models.IntegerField(db_index=True) month = models.IntegerField(db_index=True) - + # Report metadata - report_date = models.DateField( - help_text=_("Date the report was generated") - ) + report_date = models.DateField(help_text=_("Date the report was generated")) status = models.CharField( - max_length=20, - choices=KPIReportStatus.choices, - default=KPIReportStatus.PENDING, - db_index=True + max_length=20, choices=KPIReportStatus.choices, default=KPIReportStatus.PENDING, db_index=True ) generated_by = models.ForeignKey( "accounts.User", @@ -77,28 +73,27 @@ class KPIReport(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="generated_kpi_reports", - help_text=_("User who generated the report (null for automated)") + help_text=_("User who generated the report (null for automated)"), ) generated_at = models.DateTimeField(null=True, blank=True) - + # Report configuration metadata target_percentage = models.DecimalField( + max_digits=5, decimal_places=2, default=95.00, help_text=_("Target percentage for this KPI") + ) + threshold_percentage = models.DecimalField( max_digits=5, decimal_places=2, - default=95.00, - help_text=_("Target percentage for this KPI") + default=90.00, + help_text=_("Threshold (minimum acceptable) percentage for this KPI"), ) - + # Report metadata (category, type, risk, etc.) category = models.CharField( - max_length=50, - default="Organizational", - help_text=_("Report category (e.g., Organizational, Clinical)") + max_length=50, default="Organizational", help_text=_("Report category (e.g., Organizational, Clinical)") ) kpi_type = models.CharField( - max_length=50, - default="Outcome", - help_text=_("KPI type (e.g., Outcome, Process, Structure)") + max_length=50, default="Outcome", help_text=_("KPI type (e.g., Outcome, Process, Structure)") ) risk_level = models.CharField( max_length=20, @@ -108,70 +103,41 @@ class KPIReport(UUIDModel, TimeStampedModel): ("Medium", "Medium"), ("Low", "Low"), ], - help_text=_("Risk level for this KPI") + help_text=_("Risk level for this KPI"), ) data_collection_method = models.CharField( - max_length=50, - default="Retrospective", - help_text=_("Data collection method") + max_length=50, default="Retrospective", help_text=_("Data collection method") ) data_collection_frequency = models.CharField( - max_length=50, - default="Monthly", - help_text=_("How often data is collected") + max_length=50, default="Monthly", help_text=_("How often data is collected") ) reporting_frequency = models.CharField( - max_length=50, - default="Monthly", - help_text=_("How often report is generated") + max_length=50, default="Monthly", help_text=_("How often report is generated") ) dimension = models.CharField( - max_length=50, - default="Efficiency", - help_text=_("KPI dimension (e.g., Efficiency, Quality, Safety)") + max_length=50, default="Efficiency", help_text=_("KPI dimension (e.g., Efficiency, Quality, Safety)") ) - collector_name = models.CharField( - max_length=200, - blank=True, - help_text=_("Name of data collector") - ) - analyzer_name = models.CharField( - max_length=200, - blank=True, - help_text=_("Name of data analyzer") - ) - + collector_name = models.CharField(max_length=200, blank=True, help_text=_("Name of data collector")) + analyzer_name = models.CharField(max_length=200, blank=True, help_text=_("Name of data analyzer")) + # Summary metrics - total_numerator = models.IntegerField( - default=0, - help_text=_("Total count of successful outcomes") - ) - total_denominator = models.IntegerField( - default=0, - help_text=_("Total count of all cases") - ) + total_numerator = models.IntegerField(default=0, help_text=_("Total count of successful outcomes")) + total_denominator = models.IntegerField(default=0, help_text=_("Total count of all cases")) overall_result = models.DecimalField( - max_digits=6, - decimal_places=2, - default=0.00, - help_text=_("Overall percentage result") + max_digits=6, decimal_places=2, default=0.00, help_text=_("Overall percentage result") ) - + # Error tracking error_message = models.TextField(blank=True) - + # AI-generated analysis ai_analysis = models.JSONField( - null=True, - blank=True, - help_text=_("AI-generated analysis and recommendations for this report") + null=True, blank=True, help_text=_("AI-generated analysis and recommendations for this report") ) ai_analysis_generated_at = models.DateTimeField( - null=True, - blank=True, - help_text=_("When the AI analysis was generated") + null=True, blank=True, help_text=_("When the AI analysis was generated") ) - + class Meta: ordering = ["-year", "-month", "report_type"] unique_together = [["report_type", "hospital", "year", "month"]] @@ -182,19 +148,30 @@ class KPIReport(UUIDModel, TimeStampedModel): ] verbose_name = "KPI Report" verbose_name_plural = "KPI Reports" - + def __str__(self): return f"{self.get_report_type_display()} - {self.year}/{self.month:02d} - {self.hospital.name}" - + @property def report_period_display(self): """Get human-readable report period""" month_names = [ - "", "January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December" + "", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", ] return f"{month_names[self.month]} {self.year}" - + @property def kpi_id(self): """Get KPI ID based on report type""" @@ -208,7 +185,7 @@ class KPIReport(UUIDModel, TimeStampedModel): KPIReportType.UNACTIVATED: "KPI-7", } return mapping.get(self.report_type, "KPI") - + @property def indicator_title(self): """Get indicator title based on report type""" @@ -222,7 +199,7 @@ class KPIReport(UUIDModel, TimeStampedModel): KPIReportType.UNACTIVATED: "Unactivated Filled Complaints Rate", } return titles.get(self.report_type, "KPI Report") - + @property def numerator_label(self): """Get label for numerator based on report type""" @@ -236,7 +213,7 @@ class KPIReport(UUIDModel, TimeStampedModel): KPIReportType.UNACTIVATED: "Unactivated Complaints", } return labels.get(self.report_type, "Numerator") - + @property def denominator_label(self): """Get label for denominator based on report type""" @@ -255,51 +232,29 @@ class KPIReport(UUIDModel, TimeStampedModel): class KPIReportMonthlyData(UUIDModel, TimeStampedModel): """ Monthly breakdown data for a KPI report - + Stores the Jan-Dec + TOTAL values shown in the Excel-style table. This allows for trend analysis and historical comparison. """ - kpi_report = models.ForeignKey( - KPIReport, - on_delete=models.CASCADE, - related_name="monthly_data" - ) - + + kpi_report = models.ForeignKey(KPIReport, on_delete=models.CASCADE, related_name="monthly_data") + # Month (1-12) - 0 represents the TOTAL row - month = models.IntegerField( - db_index=True, - help_text=_("Month number (1-12), 0 for TOTAL") - ) - + month = models.IntegerField(db_index=True, help_text=_("Month number (1-12), 0 for TOTAL")) + # Values for this month - numerator = models.IntegerField( - default=0, - help_text=_("Count of successful outcomes") - ) - denominator = models.IntegerField( - default=0, - help_text=_("Count of all cases") - ) - percentage = models.DecimalField( - max_digits=6, - decimal_places=2, - default=0.00, - help_text=_("Calculated percentage") - ) - + numerator = models.IntegerField(default=0, help_text=_("Count of successful outcomes")) + denominator = models.IntegerField(default=0, help_text=_("Count of all cases")) + percentage = models.DecimalField(max_digits=6, decimal_places=2, default=0.00, help_text=_("Calculated percentage")) + # Status indicators - is_below_target = models.BooleanField( - default=False, - help_text=_("Whether this month is below target") - ) - + is_below_target = models.BooleanField(default=False, help_text=_("Whether this month is below target")) + # Additional metadata for this month details = models.JSONField( - default=dict, - blank=True, - help_text=_("Additional breakdown data (e.g., by source, department)") + default=dict, blank=True, help_text=_("Additional breakdown data (e.g., by source, department)") ) - + class Meta: ordering = ["month"] unique_together = [["kpi_report", "month"]] @@ -308,14 +263,15 @@ class KPIReportMonthlyData(UUIDModel, TimeStampedModel): ] verbose_name = "KPI Monthly Data" verbose_name_plural = "KPI Monthly Data" - + def __str__(self): - month_name = "TOTAL" if self.month == 0 else [ - "Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" - ][self.month - 1] + month_name = ( + "TOTAL" + if self.month == 0 + else ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][self.month - 1] + ) return f"{self.kpi_report} - {month_name}: {self.percentage}%" - + def calculate_percentage(self): """Calculate percentage from numerator and denominator""" if self.denominator > 0: @@ -328,16 +284,13 @@ class KPIReportMonthlyData(UUIDModel, TimeStampedModel): class KPIReportDepartmentBreakdown(UUIDModel, TimeStampedModel): """ Department-level breakdown for KPI reports - + Stores metrics for each department to show in the department grid section of the report (Medical, Nursing, Admin, Support Services). """ - kpi_report = models.ForeignKey( - KPIReport, - on_delete=models.CASCADE, - related_name="department_breakdowns" - ) - + + kpi_report = models.ForeignKey(KPIReport, on_delete=models.CASCADE, related_name="department_breakdowns") + department_category = models.CharField( max_length=50, choices=[ @@ -346,59 +299,81 @@ class KPIReportDepartmentBreakdown(UUIDModel, TimeStampedModel): ("admin", "Non-Medical / Admin"), ("support", "Support Services"), ], - help_text=_("Category of department") + help_text=_("Category of department"), ) - + # Department-specific metrics complaint_count = models.IntegerField(default=0) resolved_count = models.IntegerField(default=0) - avg_resolution_days = models.DecimalField( - max_digits=5, - decimal_places=2, - null=True, - blank=True - ) - + avg_resolution_days = models.DecimalField(max_digits=5, decimal_places=2, null=True, blank=True) + # Top complaints/areas (stored as text for display) - top_areas = models.TextField( - blank=True, - help_text=_("Top complaint areas or notes (newline-separated)") - ) - + top_areas = models.TextField(blank=True, help_text=_("Top complaint areas or notes (newline-separated)")) + # JSON field for flexible department-specific data details = models.JSONField(default=dict, blank=True) - + class Meta: ordering = ["department_category"] unique_together = [["kpi_report", "department_category"]] verbose_name = "KPI Department Breakdown" verbose_name_plural = "KPI Department Breakdowns" - + def __str__(self): return f"{self.kpi_report} - {self.get_department_category_display()}" +class KPIReportLocationBreakdown(UUIDModel, TimeStampedModel): + """ + Location-level breakdown for KPI reports + + Stores complaint distribution by location type + (In-Patient, Out-Patient, ER). + """ + + kpi_report = models.ForeignKey(KPIReport, on_delete=models.CASCADE, related_name="location_breakdowns") + + location_type = models.CharField( + max_length=50, + choices=[ + ("In-Patient", "In-Patient"), + ("Out-Patient", "Out-Patient"), + ("ER", "ER"), + ], + help_text=_("Location type category"), + ) + + complaint_count = models.IntegerField(default=0) + percentage = models.DecimalField(max_digits=5, decimal_places=2, default=0.00) + + class Meta: + ordering = ["location_type"] + unique_together = [["kpi_report", "location_type"]] + verbose_name = "KPI Location Breakdown" + verbose_name_plural = "KPI Location Breakdowns" + + def __str__(self): + return f"{self.kpi_report} - {self.location_type}: {self.percentage}%" + + class KPIReportSourceBreakdown(UUIDModel, TimeStampedModel): """ Complaint source breakdown for KPI reports - + Stores percentage distribution of complaints by source (Patient, Family, Staff, MOH, CHI, etc.) """ - kpi_report = models.ForeignKey( - KPIReport, - on_delete=models.CASCADE, - related_name="source_breakdowns" - ) - + + kpi_report = models.ForeignKey(KPIReport, on_delete=models.CASCADE, related_name="source_breakdowns") + source_name = models.CharField(max_length=100) complaint_count = models.IntegerField(default=0) percentage = models.DecimalField(max_digits=5, decimal_places=2, default=0.00) - + class Meta: ordering = ["-complaint_count"] verbose_name = "KPI Source Breakdown" verbose_name_plural = "KPI Source Breakdowns" - + def __str__(self): return f"{self.kpi_report} - {self.source_name}: {self.percentage}%" diff --git a/apps/analytics/kpi_service.py b/apps/analytics/kpi_service.py index 3efaa8f..f9d9bd7 100644 --- a/apps/analytics/kpi_service.py +++ b/apps/analytics/kpi_service.py @@ -4,6 +4,7 @@ KPI Report Calculation Service This service calculates KPI metrics for monthly reports based on the complaint and survey data in the system. """ + import logging from datetime import datetime, timedelta from decimal import Decimal @@ -19,19 +20,83 @@ from apps.surveys.models import SurveyInstance, SurveyStatus, SurveyTemplate from .kpi_models import ( KPIReport, KPIReportDepartmentBreakdown, + KPIReportLocationBreakdown, KPIReportMonthlyData, KPIReportSourceBreakdown, KPIReportStatus, KPIReportType, ) +DEPARTMENT_CATEGORY_KEYWORDS = { + "medical": [ + "medical", + "surgery", + "cardiology", + "orthopedics", + "pediatrics", + "obstetrics", + "gynecology", + "er", + "emergency", + "lab", + "icu", + "clinic", + "ward", + "physiotherapy", + "psychiatric", + "ophthalmology", + "pharmacy", + "radiology", + "pathology", + "anesthesia", + "ent", + "dermatology", + "urology", + "neurology", + "oncology", + "nursery", + ], + "nursing": [ + "nursing", + "nurse", + "iv medication room nursing", + "long term nursing", + "vaccination room nursing", + "pediatric inpatient", + ], + "admin": [ + "administration", + "admin", + "reception", + "manager", + "approval", + "report", + "finance", + "it", + "hr", + "medical reports", + "appointments", + "on-duty", + "opd reception", + "outpatient reception", + ], + "support": [ + "housekeeping", + "maintenance", + "security", + "cafeteria", + "transport", + "support", + ], +} + logger = logging.getLogger(__name__) class KPICalculationService: """ Service for calculating KPI report metrics - + Handles the complex calculations for each KPI type: - 72H Resolution Rate - Patient Experience Score @@ -40,26 +105,19 @@ class KPICalculationService: - Activation Time - Unactivated Rate """ - + @classmethod - def generate_monthly_report( - cls, - report_type: str, - hospital, - year: int, - month: int, - generated_by=None - ) -> KPIReport: + def generate_monthly_report(cls, report_type: str, hospital, year: int, month: int, generated_by=None) -> KPIReport: """ Generate a complete monthly KPI report - + Args: report_type: Type of KPI report (from KPIReportType) hospital: Hospital instance year: Report year month: Report month (1-12) generated_by: User who generated the report (optional) - + Returns: KPIReport instance """ @@ -73,17 +131,42 @@ class KPICalculationService: "report_date": timezone.now().date(), "status": KPIReportStatus.PENDING, "generated_by": generated_by, - } + "target_percentage": ( + 0.00 + if report_type == KPIReportType.UNACTIVATED + else 85.00 + if report_type == KPIReportType.PATIENT_EXPERIENCE + else 80.00 + if report_type == KPIReportType.RESPONSE_RATE + else 95.00 + ), + "threshold_percentage": ( + 5.00 + if report_type == KPIReportType.UNACTIVATED + else 78.00 + if report_type == KPIReportType.PATIENT_EXPERIENCE + else 70.00 + if report_type == KPIReportType.RESPONSE_RATE + else 90.00 + ), + "threshold_percentage": ( + 78.00 + if report_type == KPIReportType.PATIENT_EXPERIENCE + else 70.00 + if report_type == KPIReportType.RESPONSE_RATE + else 90.00 + ), + }, ) - + if not created and report.status == KPIReportStatus.COMPLETED: # Report already exists and is complete - return it return report - + # Update status to generating report.status = KPIReportStatus.GENERATING report.save() - + try: # Calculate based on report type if report_type == KPIReportType.RESOLUTION_72H: @@ -100,20 +183,21 @@ class KPICalculationService: cls._calculate_activation_2h(report) elif report_type == KPIReportType.UNACTIVATED: cls._calculate_unactivated(report) - + # Mark as completed report.status = KPIReportStatus.COMPLETED report.generated_at = timezone.now() report.save() - + # Generate AI analysis for supported report types supported_types = [ KPIReportType.RESOLUTION_72H, + KPIReportType.PATIENT_EXPERIENCE, KPIReportType.N_PAD_001, KPIReportType.SATISFACTION_RESOLUTION, KPIReportType.RESPONSE_RATE, KPIReportType.ACTIVATION_2H, - KPIReportType.UNACTIVATED + KPIReportType.UNACTIVATED, ] if report_type in supported_types: try: @@ -121,18 +205,18 @@ class KPICalculationService: logger.info(f"AI analysis generated for KPI report {report.id}") except Exception as ai_error: logger.warning(f"Failed to generate AI analysis for report {report.id}: {ai_error}") - + logger.info(f"KPI Report {report.id} generated successfully") - + except Exception as e: logger.exception(f"Error generating KPI report {report.id}") report.status = KPIReportStatus.FAILED report.error_message = str(e) report.save() raise - + return report - + @classmethod def _calculate_72h_resolution(cls, report: KPIReport): """Calculate 72-Hour Resolution Rate (MOH-2)""" @@ -142,32 +226,32 @@ class KPICalculationService: end_date = datetime(report.year + 1, 1, 1) else: end_date = datetime(report.year, report.month + 1, 1) - + # Get all months data for YTD (year to date) year_start = datetime(report.year, 1, 1) - + # Calculate for each month total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - + # Get complaints for this month complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=month_start, created_at__lt=month_end, - complaint_type="complaint" # Only actual complaints + complaint_type="complaint", # Only actual complaints ) - + # Count total complaints denominator = complaints.count() - + # Count resolved within 72 hours numerator = 0 for complaint in complaints: @@ -175,7 +259,7 @@ class KPICalculationService: resolution_time = complaint.resolved_at - complaint.created_at if resolution_time.total_seconds() <= 72 * 3600: # 72 hours numerator += 1 - + # Create or update monthly data monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, @@ -183,40 +267,40 @@ class KPICalculationService: defaults={ "numerator": numerator, "denominator": denominator, - } + }, ) monthly_data.numerator = numerator monthly_data.denominator = denominator monthly_data.calculate_percentage() monthly_data.is_below_target = monthly_data.percentage < report.target_percentage - + # Store source breakdown in details source_data = cls._get_source_breakdown(complaints) monthly_data.details = {"source_breakdown": source_data} monthly_data.save() - + total_numerator += numerator total_denominator += denominator - + # Update report totals report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + # Create source breakdown for pie chart all_complaints = Complaint.objects.filter( - hospital=report.hospital, - created_at__gte=year_start, - created_at__lt=end_date, - complaint_type="complaint" + hospital=report.hospital, created_at__gte=year_start, created_at__lt=end_date, complaint_type="complaint" ) cls._create_source_breakdowns(report, all_complaints) - + # Create department breakdown cls._create_department_breakdown(report, all_complaints) - + + # Create location breakdown + cls._create_location_breakdowns(report, all_complaints) + @classmethod def _calculate_patient_experience(cls, report: KPIReport): """Calculate Patient Experience Score (MOH-1)""" @@ -227,243 +311,276 @@ class KPICalculationService: end_date = datetime(report.year + 1, 1, 1) else: end_date = datetime(report.year, report.month + 1, 1) - + total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - + # Get completed surveys for patient experience surveys = SurveyInstance.objects.filter( survey_template__hospital=report.hospital, status=SurveyStatus.COMPLETED, completed_at__gte=month_start, completed_at__lt=month_end, - survey_template__survey_type__in=["stage", "general"] + survey_template__survey_type__in=["stage", "general"], ) - + denominator = surveys.count() - + # Count positive responses (score >= 4 out of 5) numerator = surveys.filter(total_score__gte=4).count() - + monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, month=month, defaults={ "numerator": numerator, "denominator": denominator, - } + }, ) monthly_data.numerator = numerator monthly_data.denominator = denominator monthly_data.calculate_percentage() monthly_data.is_below_target = monthly_data.percentage < report.target_percentage - + # Store average score - avg_score = surveys.aggregate(avg=Avg('total_score'))['avg'] or 0 - monthly_data.details = {"avg_score": round(avg_score, 2)} + avg_score = surveys.aggregate(avg=Avg("total_score"))["avg"] or 0 + monthly_data.details = {"avg_score": float(round(avg_score, 2))} monthly_data.save() - + total_numerator += numerator total_denominator += denominator - + report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + @classmethod def _calculate_satisfaction_resolution(cls, report: KPIReport): """Calculate Overall Satisfaction with Resolution (MOH-3)""" year_start = datetime(report.year, 1, 1) - + total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - + # Get complaint resolution surveys surveys = SurveyInstance.objects.filter( survey_template__hospital=report.hospital, status=SurveyStatus.COMPLETED, completed_at__gte=month_start, completed_at__lt=month_end, - survey_template__survey_type="complaint_resolution" + survey_template__survey_type="complaint_resolution", ) - + denominator = surveys.count() # Satisfied = score >= 4 numerator = surveys.filter(total_score__gte=4).count() - + monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, month=month, defaults={ "numerator": numerator, "denominator": denominator, - } + }, ) monthly_data.numerator = numerator monthly_data.denominator = denominator monthly_data.calculate_percentage() monthly_data.is_below_target = monthly_data.percentage < report.target_percentage monthly_data.save() - + total_numerator += numerator total_denominator += denominator - + report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + + all_complaints = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ), + complaint_type="complaint", + ) + cls._create_source_breakdowns(report, all_complaints) + cls._create_department_breakdown(report, all_complaints) + cls._create_location_breakdowns(report, all_complaints) + @classmethod def _calculate_n_pad_001(cls, report: KPIReport): """Calculate N-PAD-001 Resolution Rate""" year_start = datetime(report.year, 1, 1) - + if report.month == 12: + year_end = datetime(report.year + 1, 1, 1) + else: + year_end = datetime(report.year, report.month + 1, 1) + total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - - # Get complaints + complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=month_start, created_at__lt=month_end, - complaint_type="complaint" + complaint_type="complaint", ) - + denominator = complaints.count() - # Resolved includes closed and resolved statuses - numerator = complaints.filter( - status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED] - ).count() - + numerator = complaints.filter(status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED]).count() + monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, month=month, defaults={ "numerator": numerator, "denominator": denominator, - } + }, ) monthly_data.numerator = numerator monthly_data.denominator = denominator monthly_data.calculate_percentage() monthly_data.is_below_target = monthly_data.percentage < report.target_percentage monthly_data.save() - + total_numerator += numerator total_denominator += denominator - + report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + + all_complaints = Complaint.objects.filter( + hospital=report.hospital, created_at__gte=year_start, created_at__lt=year_end, complaint_type="complaint" + ) + cls._create_source_breakdowns(report, all_complaints) + cls._create_department_breakdown(report, all_complaints) + cls._create_location_breakdowns(report, all_complaints) + @classmethod def _calculate_response_rate(cls, report: KPIReport): """Calculate Department Response Rate (48h)""" year_start = datetime(report.year, 1, 1) - + total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - - # Get complaints that received a response + complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=month_start, created_at__lt=month_end, - complaint_type="complaint" + complaint_type="complaint", ) - + denominator = complaints.count() - - # Count complaints with response within 48h + numerator = 0 for complaint in complaints: - first_update = complaint.updates.order_by('created_at').first() - if first_update and complaint.created_at: - response_time = first_update.created_at - complaint.created_at + first_response = ( + complaint.updates.filter(update_type__in=["communication", "resolution"]) + .order_by("created_at") + .first() + ) + if first_response and complaint.created_at: + response_time = first_response.created_at - complaint.created_at if response_time.total_seconds() <= 48 * 3600: numerator += 1 - + monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, month=month, defaults={ "numerator": numerator, "denominator": denominator, - } + }, ) monthly_data.numerator = numerator monthly_data.denominator = denominator monthly_data.calculate_percentage() monthly_data.is_below_target = monthly_data.percentage < report.target_percentage monthly_data.save() - + total_numerator += numerator total_denominator += denominator - + report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + + all_complaints = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ), + complaint_type="complaint", + ) + cls._create_source_breakdowns(report, all_complaints) + cls._create_department_breakdown(report, all_complaints) + cls._create_location_breakdowns(report, all_complaints) + @classmethod def _calculate_activation_2h(cls, report: KPIReport): """Calculate Complaint Activation Within 2 Hours""" year_start = datetime(report.year, 1, 1) - + total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - + # Get complaints with assigned_to (activated) complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=month_start, created_at__lt=month_end, - complaint_type="complaint" + complaint_type="complaint", ) - + denominator = complaints.count() - + # Count activated within 2 hours numerator = 0 for complaint in complaints: @@ -471,81 +588,112 @@ class KPICalculationService: activation_time = complaint.assigned_at - complaint.created_at if activation_time.total_seconds() <= 2 * 3600: numerator += 1 - + monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, month=month, defaults={ "numerator": numerator, "denominator": denominator, - } + }, ) monthly_data.numerator = numerator monthly_data.denominator = denominator monthly_data.calculate_percentage() monthly_data.is_below_target = monthly_data.percentage < report.target_percentage monthly_data.save() - + total_numerator += numerator total_denominator += denominator - + report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + + all_complaints = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ), + complaint_type="complaint", + ) + cls._create_source_breakdowns(report, all_complaints) + cls._create_department_breakdown(report, all_complaints) + cls._create_location_breakdowns(report, all_complaints) + @classmethod def _calculate_unactivated(cls, report: KPIReport): """Calculate Unactivated Filled Complaints Rate""" + from apps.dashboard.models import ComplaintRequest + year_start = datetime(report.year, 1, 1) - + total_numerator = 0 total_denominator = 0 - + for month in range(1, 13): month_start = datetime(report.year, month, 1) if month == 12: month_end = datetime(report.year + 1, 1, 1) else: month_end = datetime(report.year, month + 1, 1) - - # Get all complaints + complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=month_start, created_at__lt=month_end, - complaint_type="complaint" + complaint_type="complaint", ) - + denominator = complaints.count() - # Unactivated = no assigned_to - numerator = complaints.filter(assigned_to__isnull=True).count() - + + filled_unactivated = ( + complaints.filter( + complaint_request_records__filled=True, + assigned_to__isnull=True, + ) + .distinct() + .count() + ) + monthly_data, _ = KPIReportMonthlyData.objects.get_or_create( kpi_report=report, month=month, defaults={ - "numerator": numerator, + "numerator": filled_unactivated, "denominator": denominator, - } + }, ) - monthly_data.numerator = numerator + monthly_data.numerator = filled_unactivated monthly_data.denominator = denominator monthly_data.calculate_percentage() - # Note: For unactivated, HIGHER is WORSE, so below target = above threshold - monthly_data.is_below_target = monthly_data.percentage > (100 - report.target_percentage) + monthly_data.is_below_target = monthly_data.percentage > report.threshold_percentage monthly_data.save() - - total_numerator += numerator + + total_numerator += filled_unactivated total_denominator += denominator - + report.total_numerator = total_numerator report.total_denominator = total_denominator if total_denominator > 0: report.overall_result = Decimal(str((total_numerator / total_denominator) * 100)) report.save() - + + all_complaints = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ), + complaint_type="complaint", + ) + cls._create_source_breakdowns(report, all_complaints) + cls._create_department_breakdown(report, all_complaints) + cls._create_location_breakdowns(report, all_complaints) + @classmethod def _get_source_breakdown(cls, complaints) -> Dict[str, int]: """Get breakdown of complaints by source""" @@ -554,61 +702,45 @@ class KPICalculationService: source_name = complaint.source.name_en if complaint.source else "Other" sources[source_name] = sources.get(source_name, 0) + 1 return sources - + @classmethod def _create_source_breakdowns(cls, report: KPIReport, complaints): """Create source breakdown records for pie chart""" # Delete existing report.source_breakdowns.all().delete() - + # Count by source source_counts = {} total = complaints.count() - + for complaint in complaints: source_name = complaint.source.name_en if complaint.source else "Other" source_counts[source_name] = source_counts.get(source_name, 0) + 1 - + # Create records for source_name, count in source_counts.items(): percentage = (count / total * 100) if total > 0 else 0 KPIReportSourceBreakdown.objects.create( - kpi_report=report, - source_name=source_name, - complaint_count=count, - percentage=Decimal(str(percentage)) + kpi_report=report, source_name=source_name, complaint_count=count, percentage=Decimal(str(percentage)) ) - + @classmethod def _create_department_breakdown(cls, report: KPIReport, complaints): """Create department breakdown records""" - # Delete existing report.department_breakdowns.all().delete() - - # Categorize departments - department_categories = { - "medical": ["Medical", "Surgery", "Cardiology", "Orthopedics", "Pediatrics", "Obstetrics", "Gynecology"], - "nursing": ["Nursing", "ICU", "ER", "OR"], - "admin": ["Administration", "HR", "Finance", "IT", "Reception"], - "support": ["Housekeeping", "Maintenance", "Security", "Cafeteria", "Transport"], - } - - for category, keywords in department_categories.items(): - # Find departments matching this category - dept_complaints = complaints.filter( - department__name__icontains=keywords[0] - ) - for keyword in keywords[1:]: - dept_complaints = dept_complaints | complaints.filter( - department__name__icontains=keyword - ) - + + for category, keywords in DEPARTMENT_CATEGORY_KEYWORDS.items(): + q_objects = Q() + for keyword in keywords: + q_objects |= Q(department__name__icontains=keyword) + + dept_complaints = complaints.filter(q_objects).distinct() + complaint_count = dept_complaints.count() resolved_count = dept_complaints.filter( status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED] ).count() - - # Calculate average resolution days + avg_days = None resolved_complaints = dept_complaints.filter(resolved_at__isnull=False) if resolved_complaints.exists(): @@ -617,39 +749,75 @@ class KPICalculationService: days = (c.resolved_at - c.created_at).total_seconds() / (24 * 3600) total_days += days avg_days = Decimal(str(total_days / resolved_complaints.count())) - - # Get top areas (subcategories) + top_areas_list = [] - for c in dept_complaints[:10]: + seen = set() + for c in dept_complaints[:20]: if c.category: - top_areas_list.append(c.category.name_en) - top_areas = "\n".join(list(set(top_areas_list))[:5]) if top_areas_list else "" - + name = c.category.name_en + if name not in seen: + top_areas_list.append(name) + seen.add(name) + top_areas = "\n".join(top_areas_list[:5]) if top_areas_list else "" + KPIReportDepartmentBreakdown.objects.create( kpi_report=report, department_category=category, complaint_count=complaint_count, resolved_count=resolved_count, avg_resolution_days=avg_days, - top_areas=top_areas + top_areas=top_areas, ) + @classmethod + def _create_location_breakdowns(cls, report: KPIReport, complaints): + """Create location breakdown records (In-Patient, Out-Patient, ER)""" + report.location_breakdowns.all().delete() + + location_categories = { + "In-Patient": ["inpatient", "in-patient", "ip", "in patient"], + "Out-Patient": ["outpatient", "out-patient", "opd", "out patient", "op"], + "ER": ["emergency", "er", "ed", "a&e", "accident"], + } + + total = complaints.count() + if total == 0: + return + + for loc_type, keywords in location_categories.items(): + q_objects = Q() + for keyword in keywords: + q_objects |= Q(location__name_en__icontains=keyword) + q_objects |= Q(main_section__name_en__icontains=keyword) + + loc_complaints = complaints.filter(q_objects).distinct() + count = loc_complaints.count() + percentage = (count / total * 100) if total > 0 else 0 + + KPIReportLocationBreakdown.objects.create( + kpi_report=report, + location_type=loc_type, + complaint_count=count, + percentage=Decimal(str(round(percentage, 2))), + ) @classmethod def generate_ai_analysis(cls, report: KPIReport) -> dict: """ Generate AI analysis for a KPI report. - + Dispatches to specific analysis methods based on report type. - + Args: report: KPIReport instance - + Returns: Dictionary containing AI-generated analysis """ if report.report_type == KPIReportType.RESOLUTION_72H: return cls._generate_72h_resolution_analysis(report) + elif report.report_type == KPIReportType.PATIENT_EXPERIENCE: + return cls._generate_patient_experience_analysis(report) elif report.report_type == KPIReportType.N_PAD_001: return cls._generate_n_pad_001_analysis(report) elif report.report_type == KPIReportType.SATISFACTION_RESOLUTION: @@ -662,67 +830,79 @@ class KPICalculationService: return cls._generate_unactivated_analysis(report) else: logger.warning(f"AI analysis not supported for report type: {report.report_type}") - return {'error': 'Analysis not supported for this report type'} - + return {"error": "Analysis not supported for this report type"} + @classmethod def _generate_72h_resolution_analysis(cls, report: KPIReport) -> dict: """Generate AI analysis for 72-Hour Resolution Rate report""" from apps.core.ai_service import AIService - + try: - # Get report data overall_percentage = float(report.overall_result) if report.overall_result else 0 total_complaints = report.total_denominator resolved_within_72h = report.total_numerator - + # Get monthly data - monthly_data = report.monthly_data.all().order_by('month') + monthly_data = report.monthly_data.all().order_by("month") monthly_breakdown = [] for md in monthly_data: if md.denominator > 0: - monthly_breakdown.append({ - 'month': md.month, - 'percentage': float(md.percentage) if md.percentage else 0, - 'resolved': md.numerator, - 'total': md.denominator - }) - + monthly_breakdown.append( + { + "month": md.month, + "percentage": float(md.percentage) if md.percentage else 0, + "resolved": md.numerator, + "total": md.denominator, + } + ) + # Get source breakdowns source_breakdowns = report.source_breakdowns.all() source_data = [] for sb in source_breakdowns: - source_data.append({ - 'source': sb.source_name, - 'complaints': sb.complaint_count, - 'percentage': float(sb.percentage) if sb.percentage else 0 - }) - + source_data.append( + { + "source": sb.source_name, + "complaints": sb.complaint_count, + "percentage": float(sb.percentage) if sb.percentage else 0, + } + ) + # Get department breakdowns dept_breakdowns = report.department_breakdowns.all() dept_data = [] for db in dept_breakdowns: - dept_data.append({ - 'category': db.get_department_category_display(), - 'complaints': db.complaint_count, - 'resolved': db.resolved_count, - 'avg_days': float(db.avg_resolution_days) if db.avg_resolution_days else None - }) - + dept_data.append( + { + "category": db.get_department_category_display(), + "complaints": db.complaint_count, + "resolved": db.resolved_count, + "avg_days": float(db.avg_resolution_days) if db.avg_resolution_days else None, + } + ) + # Calculate resolution time buckets year_start = datetime(report.year, 1, 1) - year_end = datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) - - complaints = Complaint.objects.filter( + year_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + + all_complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=year_start, created_at__lt=year_end, complaint_type="complaint", - status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED] ) - + + complaints = all_complaints.filter( + status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED], + ) + + resolved_count = complaints.count() + resolved_24h = resolved_48h = resolved_72h = resolved_over_72h = 0 dept_response_times = {} - + for c in complaints: if c.resolved_at and c.created_at: hours = (c.resolved_at - c.created_at).total_seconds() / 3600 @@ -734,26 +914,96 @@ class KPICalculationService: resolved_72h += 1 else: resolved_over_72h += 1 - + dept_name = c.department.name if c.department else "Unassigned" if dept_name not in dept_response_times: dept_response_times[dept_name] = [] dept_response_times[dept_name].append(hours / 24) - - slow_departments = [] + + # G2: Categorize slow departments into 4 categories + medical_slow = [] + nursing_slow = [] + admin_slow = [] + support_slow = [] + for dept, days_list in dept_response_times.items(): if days_list: avg_days = sum(days_list) / len(days_list) - if avg_days > 2: - slow_departments.append({'name': dept, 'avg_days': round(avg_days, 1)}) - slow_departments.sort(key=lambda x: x['avg_days'], reverse=True) - - escalated_count = complaints.filter(updates__update_type='escalation').distinct().count() - closed_count = complaints.filter(status=ComplaintStatus.CLOSED).count() - + entry = {"name": dept, "avg_days": round(avg_days, 1), "count": len(days_list)} + name_lower = dept.lower() + if any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["medical"]): + medical_slow.append(entry) + elif any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["nursing"]): + nursing_slow.append(entry) + elif any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["admin"]): + admin_slow.append(entry) + elif any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["support"]): + support_slow.append(entry) + + medical_slow.sort(key=lambda x: x["avg_days"], reverse=True) + nursing_slow.sort(key=lambda x: x["avg_days"], reverse=True) + admin_slow.sort(key=lambda x: x["avg_days"], reverse=True) + support_slow.sort(key=lambda x: x["avg_days"], reverse=True) + + # G3: Per-source resolution time buckets (CCHI and MOH) + moh_complaints = all_complaints.filter( + status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED], + source__name_en__icontains="moh", + ) + cchi_complaints = all_complaints.filter( + status__in=[ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED], + source__name_en__icontains="chi", + ) + + moh_24h = moh_48h = moh_72h = moh_over = moh_total = 0 + for c in moh_complaints: + moh_total += 1 + if c.resolved_at and c.created_at: + hours = (c.resolved_at - c.created_at).total_seconds() / 3600 + if hours <= 24: + moh_24h += 1 + elif hours <= 48: + moh_48h += 1 + elif hours <= 72: + moh_72h += 1 + else: + moh_over += 1 + + cchi_24h = cchi_48h = cchi_72h = cchi_over = cchi_total = 0 + for c in cchi_complaints: + cchi_total += 1 + if c.resolved_at and c.created_at: + hours = (c.resolved_at - c.created_at).total_seconds() / 3600 + if hours <= 24: + cchi_24h += 1 + elif hours <= 48: + cchi_48h += 1 + elif hours <= 72: + cchi_72h += 1 + else: + cchi_over += 1 + + # G4: Count complaints lacking responses + complaints_no_response = 0 + for c in all_complaints: + has_response = c.updates.filter(update_type="response").exists() + if not has_response: + complaints_no_response += 1 + + escalated_count = all_complaints.filter(updates__update_type="escalation").distinct().count() + closed_count = all_complaints.filter(status=ComplaintStatus.CLOSED).count() + target_percentage = float(report.target_percentage) - performance_status = "met" if overall_percentage >= target_percentage else "below target" - + threshold_percentage = float(report.threshold_percentage) + performance_status = ( + "met" + if overall_percentage >= target_percentage + else "below threshold" + if overall_percentage >= threshold_percentage + else "below threshold - action needed" + ) + + # G5: Use resolved_count as denominator for time buckets prompt = f"""Analyze this 72-Hour Complaint Resolution KPI report. REPORT DATA: @@ -761,15 +1011,48 @@ REPORT DATA: - Hospital: {report.hospital.name} - Overall Resolution Rate (≤72h): {overall_percentage:.2f}% - Target: {target_percentage:.2f}% +- Threshold: {threshold_percentage:.2f}% - Status: {performance_status} - Total Complaints: {total_complaints} +- Total Resolved: {resolved_count} - Resolved within 72h: {resolved_within_72h} -RESOLUTION TIME BREAKDOWN: -- Within 24h: {resolved_24h} ({(resolved_24h/total_complaints*100) if total_complaints else 0:.2f}%) -- Within 48h: {resolved_48h} ({(resolved_48h/total_complaints*100) if total_complaints else 0:.2f}%) -- Within 72h: {resolved_72h} ({(resolved_72h/total_complaints*100) if total_complaints else 0:.2f}%) -- After 72h: {resolved_over_72h} ({(resolved_over_72h/total_complaints*100) if total_complaints else 0:.2f}%) +RESOLUTION TIME BREAKDOWN (of resolved complaints): +- Within 24h: {resolved_24h} ({(resolved_24h / resolved_count * 100) if resolved_count else 0:.2f}%) +- Within 48h: {resolved_48h} ({(resolved_48h / resolved_count * 100) if resolved_count else 0:.2f}%) +- Within 72h: {resolved_72h} ({(resolved_72h / resolved_count * 100) if resolved_count else 0:.2f}%) +- After 72h: {resolved_over_72h} ({(resolved_over_72h / resolved_count * 100) if resolved_count else 0:.2f}%) + +AVERAGE RESPONSE TIME BY DEPARTMENT CATEGORY (exceeding 48 hours): +Medical Department: +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['count']} complaints)" for d in medical_slow[:10]]) if medical_slow else "- All within timeframe"} + +Non-Medical Department: +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['count']} complaints)" for d in admin_slow[:10]]) if admin_slow else "- All within timeframe"} + +Nursing Department: +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['count']} complaints)" for d in nursing_slow[:5]]) if nursing_slow else "- All within timeframe"} + +Support Services: +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['count']} complaints)" for d in support_slow[:5]]) if support_slow else "- No complaints received"} + +COMPLAINTS LACKING RESPONSES: {complaints_no_response} + +ESCALATION & CLOSURE: +- Escalated Complaints: {escalated_count} +- Closed Complaints: {closed_count} + +MOH RESOLUTION BREAKDOWN ({moh_total} resolved complaints): +- Within 24h: {moh_24h} ({(moh_24h / moh_total * 100) if moh_total else 0:.2f}%) +- Within 48h: {moh_48h} ({(moh_48h / moh_total * 100) if moh_total else 0:.2f}%) +- Within 72h: {moh_72h} ({(moh_72h / moh_total * 100) if moh_total else 0:.2f}%) +- After 72h: {moh_over} ({(moh_over / moh_total * 100) if moh_total else 0:.2f}%) + +CCHI RESOLUTION BREAKDOWN ({cchi_total} resolved complaints): +- Within 24h: {cchi_24h} ({(cchi_24h / cchi_total * 100) if cchi_total else 0:.2f}%) +- Within 48h: {cchi_48h} ({(cchi_48h / cchi_total * 100) if cchi_total else 0:.2f}%) +- Within 72h: {cchi_72h} ({(cchi_72h / cchi_total * 100) if cchi_total else 0:.2f}%) +- After 72h: {cchi_over} ({(cchi_over / cchi_total * 100) if cchi_total else 0:.2f}%) MONTHLY TREND: {chr(10).join([f"- Month {m['month']}: {m['percentage']:.2f}% ({m['resolved']}/{m['total']})" for m in monthly_breakdown])} @@ -778,154 +1061,399 @@ SOURCE BREAKDOWN: {chr(10).join([f"- {s['source']}: {s['complaints']} ({s['percentage']:.2f}%)" for s in source_data])} DEPARTMENT PERFORMANCE: -{chr(10).join([f"- {d['category']}: {d['complaints']} complaints, {d['resolved']} resolved" + (f", Avg {d['avg_days']:.1f} days" if d['avg_days'] else "") for d in dept_data])} +{chr(10).join([f"- {d['category']}: {d['complaints']} complaints, {d['resolved']} resolved" + (f", Avg {d['avg_days']:.1f} days" if d["avg_days"] else "") for d in dept_data])} -SLOW DEPARTMENTS: -{chr(10).join([f"- {d['name']}: {d['avg_days']} days" for d in slow_departments[:10]]) if slow_departments else "- None"} - -ESCALATED: {escalated_count} | CLOSED: {closed_count} - -Provide analysis in JSON format with: executive_summary, performance_analysis, key_findings, reasons_for_delays, resolution_time_analysis, department_analysis, source_analysis, recommendations.""" +Provide analysis in JSON format: +{{ + "executive_summary": "Overview of {overall_percentage:.2f}% 72h resolution rate vs {target_percentage:.0f}% target", + "comparison_to_target": "Analysis of meeting target and threshold", + "resolution_time_analysis": {{ + "within_24h": {{"count": {resolved_24h}, "percentage": "{(resolved_24h / resolved_count * 100) if resolved_count else 0:.2f}%"}}, + "within_48h": {{"count": {resolved_48h}, "percentage": "{(resolved_48h / resolved_count * 100) if resolved_count else 0:.2f}%"}}, + "within_72h": {{"count": {resolved_72h}, "percentage": "{(resolved_72h / resolved_count * 100) if resolved_count else 0:.2f}%"}}, + "after_72h": {{"count": {resolved_over_72h}, "percentage": "{(resolved_over_72h / resolved_count * 100) if resolved_count else 0:.2f}%"}} + }}, + "slow_departments": {{ + "medical": ["Dept Name: X Days"], + "non_medical": ["Dept Name: X Days"], + "nursing": ["Dept Name: X Days"], + "support_services": ["Dept Name: X Days"] + }}, + "source_resolution_breakdown": {{ + "moh": {{"total": {moh_total}, "within_24h": {moh_24h}, "within_48h": {moh_48h}, "within_72h": {moh_72h}, "after_72h": {moh_over}}}, + "cchi": {{"total": {cchi_total}, "within_24h": {cchi_24h}, "within_48h": {cchi_48h}, "within_72h": {cchi_72h}, "after_72h": {cchi_over}}} + }}, + "escalation_closure": {{ + "escalated": {escalated_count}, + "closed": {closed_count}, + "complaints_no_response": {complaints_no_response} + }}, + "key_findings": ["Finding 1", "Finding 2"], + "recommendations": ["Recommendation 1", "Recommendation 2"] +}}""" system_prompt = """You are a healthcare KPI analysis expert. Analyze 72-Hour Complaint Resolution data and provide: -1. Executive summary -2. Performance analysis vs target -3. Key findings -4. Root causes for delays -5. Department insights -6. Source insights (CHI, MOH, etc.) +1. Executive summary with performance status vs target and threshold +2. Resolution time breakdown analysis +3. Slow departments analysis by category (Medical, Non-Medical, Nursing, Support) +4. Source-specific resolution insights (MOH vs CCHI breakdown) +5. Escalation and response status +6. Key findings with specific numbers 7. Actionable recommendations -Be specific and use actual numbers.""" +Be specific and use actual numbers from the data.""" response = AIService.chat_completion( prompt=prompt, system_prompt=system_prompt, response_format="json_object", temperature=0.3, - max_tokens=2000 + max_tokens=2500, ) - + import json + analysis = json.loads(response) - analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, } - + report.ai_analysis = analysis report.ai_analysis_generated_at = timezone.now() - report.save(update_fields=['ai_analysis', 'ai_analysis_generated_at']) - + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + logger.info(f"AI analysis generated for 72h report {report.id}") return analysis - + except Exception as e: logger.exception(f"Error generating 72h analysis: {e}") - return {'error': str(e), 'executive_summary': 'Analysis failed'} - + return {"error": str(e), "executive_summary": "Analysis failed"} + + @classmethod + def _generate_patient_experience_analysis(cls, report: KPIReport) -> dict: + """Generate AI analysis for Patient Experience Score (MOH-1) report""" + from apps.core.ai_service import AIService + from apps.surveys.models import SurveyInstance, SurveyStatus + + try: + overall_percentage = float(report.overall_result) if report.overall_result else 0 + total_surveyed = report.total_denominator + satisfied_count = report.total_numerator + + monthly_data = report.monthly_data.all().order_by("month") + monthly_breakdown = [] + for md in monthly_data: + if md.denominator > 0: + monthly_breakdown.append( + { + "month": md.month, + "month_name": [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ][md.month - 1], + "percentage": float(md.percentage) if md.percentage else 0, + "satisfied": md.numerator, + "total": md.denominator, + "avg_score": float(md.details.get("avg_score", 0)) if md.details else 0, + } + ) + + year_start = datetime(report.year, 1, 1) + year_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + + from django.db.models import Avg as AvgAgg, Count + + surveys = SurveyInstance.objects.filter( + survey_template__hospital=report.hospital, + survey_template__survey_type__in=["stage", "general"], + status=SurveyStatus.COMPLETED, + completed_at__gte=year_start, + completed_at__lt=year_end, + ) + + total_completed = surveys.count() + + avg_score_val = surveys.aggregate(avg=AvgAgg("total_score"))["avg"] or 0 + + dissatisfied = surveys.filter(total_score__lt=4).count() + neutral_count = surveys.filter(total_score__gte=3, total_score__lt=4).count() + very_satisfied = surveys.filter(total_score__gte=4.5).count() + + negative_surveys = surveys.filter(is_negative=True).count() + + delivery_breakdown = surveys.values("delivery_channel").annotate(count=Count("id")).order_by("-count") + delivery_lines = [] + for d in delivery_breakdown: + label = dict(SurveyInstance._meta.get_field("delivery_channel").choices).get( + d["delivery_channel"], d["delivery_channel"] + ) + pct = (d["count"] / total_completed * 100) if total_completed else 0 + delivery_lines.append(f"- {label}: {d['count']} ({pct:.1f}%)") + + lowest_month = min(monthly_breakdown, key=lambda x: x["percentage"]) if monthly_breakdown else None + highest_month = max(monthly_breakdown, key=lambda x: x["percentage"]) if monthly_breakdown else None + + prev_month = report.month - 1 if report.month > 1 else 12 + prev_year = report.year if report.month > 1 else report.year - 1 + prev_percentage = None + try: + prev_report = KPIReport.objects.get( + report_type=report.report_type, + hospital=report.hospital, + year=prev_year, + month=prev_month, + ) + prev_percentage = float(prev_report.overall_result) if prev_report.overall_result else None + except KPIReport.DoesNotExist: + pass + + target_percentage = float(report.target_percentage) + threshold_percentage = float(report.threshold_percentage) + + performance_status = ( + "Target Met" + if overall_percentage >= target_percentage + else "Below Target" + if overall_percentage >= threshold_percentage + else "Below Threshold" + ) + + prev_trend = "" + if prev_percentage is not None: + diff = overall_percentage - prev_percentage + direction = "improved" if diff > 0 else "declined" if diff < 0 else "stable" + prev_trend = f" ({direction} from {prev_month}/{prev_year}: {prev_percentage:.1f}%)" + + prompt = f"""Analyze this Patient Experience Score (MOH-1) KPI report. + +REPORT DATA: +- Report Period: {report.year}-{report.month:02d} +- Hospital: {report.hospital.name} +- Patient Experience Score: {overall_percentage:.2f}%{prev_trend} +- Target: {target_percentage:.2f}% +- Threshold: {threshold_percentage:.2f}% +- Status: {performance_status} +- Total Patients Surveyed: {total_surveyed} +- Total Completed Responses: {total_completed} +- Average Score: {avg_score_val:.2f} + +SATISFACTION BREAKDOWN: +- Very Satisfied (score >= 4.5): {very_satisfied} ({(very_satisfied / total_completed * 100) if total_completed else 0:.1f}%) +- Satisfied/Good (score >= 4): {satisfied_count} ({(satisfied_count / total_completed * 100) if total_completed else 0:.1f}%) +- Neutral (3-4): {neutral_count} ({(neutral_count / total_completed * 100) if total_completed else 0:.1f}%) +- Dissatisfied (<3): {dissatisfied} ({(dissatisfied / total_completed * 100) if total_completed else 0:.1f}%) +- Flagged as Negative: {negative_surveys} + +DELIVERY CHANNEL BREAKDOWN: +{chr(10).join(delivery_lines) if delivery_lines else "- No data"} + +MONTHLY TRENDS: +{chr(10).join([f"- {m['month_name']}: {m['percentage']:.2f}% ({m['satisfied']}/{m['total']}, avg score: {m['avg_score']:.2f})" for m in monthly_breakdown])} + +LOWEST: {lowest_month["month_name"] if lowest_month else "N/A"} ({lowest_month["percentage"]:.2f}%) +HIGHEST: {highest_month["month_name"] if highest_month else "N/A"} ({highest_month["percentage"]:.2f}%) + +Provide analysis in JSON format: +{{ + "executive_summary": "Overview of {overall_percentage:.2f}% patient experience score vs {target_percentage:.0f}% target", + "comparison_to_target": "Analysis vs target ({target_percentage:.0f}%) and threshold ({threshold_percentage:.0f}%){prev_trend}", + "patient_experience_score": "{overall_percentage:.2f}%", + "satisfaction_breakdown": {{ + "very_satisfied": {very_satisfied}, + "satisfied_good": {satisfied_count}, + "neutral": {neutral_count}, + "dissatisfied": {dissatisfied}, + "negative_flagged": {negative_surveys} + }}, + "delivery_channel_analysis": "Analysis of survey delivery channels", + "monthly_trend": ["Month: Percentage%"], + "response_statistics": {{ + "total_surveyed": {total_surveyed}, + "total_completed": {total_completed}, + "average_score": "{avg_score_val:.2f}" + }}, + "key_findings": ["Finding 1", "Finding 2"], + "recommendations": ["Recommendation 1", "Recommendation 2"] +}}""" + + system_prompt = """You are a healthcare patient experience analysis expert for MOH-1 Patient Experience Score. +Analyze the patient experience survey data and provide: +1. Executive summary of patient experience performance +2. Comparison to target (85%) and threshold (78%) +3. Previous month trend comparison +4. Satisfaction breakdown analysis +5. Delivery channel insights +6. Month-by-month trend analysis +7. Key findings with specific numbers +8. Actionable recommendations for improving patient experience + +Focus on identifying drivers of satisfaction and dissatisfaction.""" + + response = AIService.chat_completion( + prompt=prompt, + system_prompt=system_prompt, + response_format="json_object", + temperature=0.3, + max_tokens=2500, + ) + + import json + + analysis = json.loads(response) + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, + } + + report.ai_analysis = analysis + report.ai_analysis_generated_at = timezone.now() + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + + logger.info(f"AI analysis generated for Patient Experience report {report.id}") + return analysis + + except Exception as e: + logger.exception(f"Error generating Patient Experience analysis: {e}") + return {"error": str(e), "executive_summary": "Analysis failed"} + @classmethod def _generate_n_pad_001_analysis(cls, report: KPIReport) -> dict: """Generate AI analysis for N-PAD-001 Resolution to Patient Complaints report""" from apps.core.ai_service import AIService - + try: # Get report data overall_percentage = float(report.overall_result) if report.overall_result else 0 total_complaints = report.total_denominator resolved_complaints = report.total_numerator - + # Get date range year_start = datetime(report.year, 1, 1) - year_end = datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) - + year_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + # Query complaints for detailed analysis complaints = Complaint.objects.filter( hospital=report.hospital, created_at__gte=year_start, created_at__lt=year_end, - complaint_type="complaint" - ).select_related('department', 'location', 'main_section', 'source') - + complaint_type="complaint", + ).select_related("department", "location", "main_section", "source") + # Count by status closed_count = complaints.filter(status=ComplaintStatus.CLOSED).count() resolved_count = complaints.filter(status=ComplaintStatus.RESOLVED).count() - escalated_count = complaints.filter(updates__update_type='escalation').distinct().count() - + escalated_count = complaints.filter(updates__update_type="escalation").distinct().count() + # Department breakdown dept_counts = {} for c in complaints: - dept_cat = 'Unassigned' + dept_cat = "Unassigned" if c.department: name = c.department.name.lower() - if any(k in name for k in ['medical', 'surgery', 'cardiology', 'orthopedics', 'pediatrics', 'obstetrics', 'gynecology', 'er', 'lab', 'icu']): - dept_cat = 'Medical' - elif any(k in name for k in ['nursing', 'nurse']): - dept_cat = 'Nursing' - elif any(k in name for k in ['admin', 'reception', 'manager', 'approval', 'report']): - dept_cat = 'Admin' - elif any(k in name for k in ['housekeeping', 'maintenance', 'security', 'cafeteria', 'transport']): - dept_cat = 'Support Services' + if any( + k in name + for k in [ + "medical", + "surgery", + "cardiology", + "orthopedics", + "pediatrics", + "obstetrics", + "gynecology", + "er", + "lab", + "icu", + ] + ): + dept_cat = "Medical" + elif any(k in name for k in ["nursing", "nurse"]): + dept_cat = "Nursing" + elif any(k in name for k in ["admin", "reception", "manager", "approval", "report"]): + dept_cat = "Admin" + elif any(k in name for k in ["housekeeping", "maintenance", "security", "cafeteria", "transport"]): + dept_cat = "Support Services" else: dept_cat = c.department.name - + if dept_cat not in dept_counts: - dept_counts[dept_cat] = {'closed': 0, 'escalated': 0, 'total': 0} - dept_counts[dept_cat]['total'] += 1 + dept_counts[dept_cat] = {"closed": 0, "escalated": 0, "total": 0} + dept_counts[dept_cat]["total"] += 1 if c.status == ComplaintStatus.CLOSED: - dept_counts[dept_cat]['closed'] += 1 - + dept_counts[dept_cat]["closed"] += 1 + # Escalation reasons - escalated_complaints = complaints.filter(updates__update_type='escalation').distinct() + escalated_complaints = complaints.filter(updates__update_type="escalation").distinct() patient_dissatisfaction = 0 lack_of_response = 0 - + for c in escalated_complaints: - updates = c.updates.filter(update_type='escalation') + updates = c.updates.filter(update_type="escalation") for u in updates: - message = u.message.lower() if u.message else '' - if any(k in message for k in ['dissatisfaction', 'dissatisfied', 'unhappy', 'not satisfied', 'complain']): + message = u.message.lower() if u.message else "" + if any( + k in message + for k in ["dissatisfaction", "dissatisfied", "unhappy", "not satisfied", "complain"] + ): patient_dissatisfaction += 1 - if any(k in message for k in ['no response', 'lack of response', 'no reply', 'delay']): + if any(k in message for k in ["no response", "lack of response", "no reply", "delay"]): lack_of_response += 1 - + # Source breakdown source_counts = {} for c in complaints: - source = 'Unknown' + source = "Unknown" if c.source: - source_name = c.source.name_en.lower() if c.source.name_en else '' - if 'moh' in source_name: - source = 'MOH' - elif 'chi' in source_name: - source = 'CHI' + source_name = c.source.name_en.lower() if c.source.name_en else "" + if "moh" in source_name: + source = "MOH" + elif "chi" in source_name: + source = "CHI" else: source = c.source.name_en - elif c.complaint_source_type == 'external': - source = 'Patient/Relative' + elif c.complaint_source_type == "external": + source = "Patient/Relative" else: - source = 'Internal' - + source = "Internal" + source_counts[source] = source_counts.get(source, 0) + 1 - + # Location breakdown location_counts = {} for c in complaints: - loc = c.location.name_en if c.location else 'Unknown' + loc = c.location.name_en if c.location else "Unknown" location_counts[loc] = location_counts.get(loc, 0) + 1 - + # Main department breakdown main_dept_counts = { - 'Medical': dept_counts.get('Medical', {}).get('total', 0), - 'Nursing': dept_counts.get('Nursing', {}).get('total', 0), - 'Admin': dept_counts.get('Admin', {}).get('total', 0), - 'Support Services': dept_counts.get('Support Services', {}).get('total', 0) + "Medical": dept_counts.get("Medical", {}).get("total", 0), + "Nursing": dept_counts.get("Nursing", {}).get("total", 0), + "Admin": dept_counts.get("Admin", {}).get("total", 0), + "Support Services": dept_counts.get("Support Services", {}).get("total", 0), } - + # Top departments by complaints (detailed) detailed_dept_counts = {} for c in complaints: @@ -934,11 +1462,11 @@ Be specific and use actual numbers.""" if dept_name not in detailed_dept_counts: detailed_dept_counts[dept_name] = 0 detailed_dept_counts[dept_name] += 1 - + top_departments = sorted(detailed_dept_counts.items(), key=lambda x: x[1], reverse=True)[:10] - + target_percentage = float(report.target_percentage) - + prompt = f"""Analyze this N-PAD-001 Resolution to Patient Complaints KPI report. REPORT DATA: @@ -951,20 +1479,20 @@ REPORT DATA: - Closed: {closed_count} CLOSED COMPLAINTS BY DEPARTMENT CATEGORY: -- Medical: {dept_counts.get('Medical', {}).get('closed', 0)} -- Nursing: {dept_counts.get('Nursing', {}).get('closed', 0)} -- Admin: {dept_counts.get('Admin', {}).get('closed', 0)} -- Support Services: {dept_counts.get('Support Services', {}).get('closed', 0)} +- Medical: {dept_counts.get("Medical", {}).get("closed", 0)} +- Nursing: {dept_counts.get("Nursing", {}).get("closed", 0)} +- Admin: {dept_counts.get("Admin", {}).get("closed", 0)} +- Support Services: {dept_counts.get("Support Services", {}).get("closed", 0)} ESCALATED COMPLAINTS: {escalated_count} - Due to Patient Dissatisfaction: {patient_dissatisfaction} - Due to Lack of Response: {lack_of_response} BY DEPARTMENT CATEGORY: -- Medical: {dept_counts.get('Medical', {}).get('escalated', 0)} -- Nursing: {dept_counts.get('Nursing', {}).get('escalated', 0)} -- Admin: {dept_counts.get('Admin', {}).get('escalated', 0)} -- Support: {dept_counts.get('Support Services', {}).get('escalated', 0)} +- Medical: {dept_counts.get("Medical", {}).get("escalated", 0)} +- Nursing: {dept_counts.get("Nursing", {}).get("escalated", 0)} +- Admin: {dept_counts.get("Admin", {}).get("escalated", 0)} +- Support: {dept_counts.get("Support Services", {}).get("escalated", 0)} TOP DEPARTMENTS BY COMPLAINTS: {chr(10).join([f"- {name}: {count}" for name, count in top_departments])} @@ -1030,127 +1558,158 @@ Be specific with numbers and focus on actionable insights.""" system_prompt=system_prompt, response_format="json_object", temperature=0.3, - max_tokens=2500 + max_tokens=2500, ) - + import json + analysis = json.loads(response) - analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, } - + report.ai_analysis = analysis report.ai_analysis_generated_at = timezone.now() - report.save(update_fields=['ai_analysis', 'ai_analysis_generated_at']) - + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + logger.info(f"AI analysis generated for N-PAD-001 report {report.id}") return analysis - + except Exception as e: logger.exception(f"Error generating N-PAD-001 analysis: {e}") - return {'error': str(e), 'executive_summary': 'Analysis failed'} + return {"error": str(e), "executive_summary": "Analysis failed"} - @classmethod def _generate_satisfaction_resolution_analysis(cls, report: KPIReport) -> dict: """Generate AI analysis for Overall Satisfaction with Resolution (MOH-3) report""" from apps.core.ai_service import AIService - + from apps.surveys.models import SurveyInstance, SurveyStatus + try: - # Get report data overall_percentage = float(report.overall_result) if report.overall_result else 0 total_responses = report.total_denominator satisfied_responses = report.total_numerator - - # Get monthly data - monthly_data = report.monthly_data.all().order_by('month') + + monthly_data = report.monthly_data.all().order_by("month") monthly_breakdown = [] for md in monthly_data: if md.denominator > 0: - monthly_breakdown.append({ - 'month': md.month, - 'month_name': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', - 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][md.month - 1], - 'percentage': float(md.percentage) if md.percentage else 0, - 'satisfied': md.numerator, - 'total': md.denominator - }) - - # Calculate response statistics from surveys + monthly_breakdown.append( + { + "month": md.month, + "month_name": [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ][md.month - 1], + "percentage": float(md.percentage) if md.percentage else 0, + "satisfied": md.numerator, + "total": md.denominator, + } + ) + year_start = datetime(report.year, 1, 1) - year_end = datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) - - from apps.surveys.models import SurveyInstance, SurveyStatus - - # Get resolution surveys for complaints in this period + year_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + + total_complaints_received = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=year_end, + complaint_type="complaint", + ).count() + surveys = SurveyInstance.objects.filter( - complaint__hospital=report.hospital, - complaint__created_at__gte=year_start, - complaint__created_at__lt=year_end, - template__survey_type='resolution', - status__in=[SurveyStatus.COMPLETED, SurveyStatus.PARTIAL] - ).select_related('complaint', 'complaint__source') - - total_surveys = surveys.count() - no_response = surveys.filter(status=SurveyStatus.PARTIAL).count() - completed_responses = surveys.filter(status=SurveyStatus.COMPLETED).count() - - # Satisfaction breakdown - satisfied_count = 0 + survey_template__hospital=report.hospital, + survey_template__survey_type="complaint_resolution", + completed_at__gte=year_start, + completed_at__lt=year_end, + ) + + completed_surveys = surveys.filter(status=SurveyStatus.COMPLETED) + completed_count = completed_surveys.count() + + no_response = total_complaints_received - completed_count dissatisfied_count = 0 neutral_count = 0 - - for survey in surveys: - responses = survey.responses.all() - # Look for satisfaction rating (usually 1-5 or 1-10) - for resp in responses: - if resp.question and ('satisfaction' in resp.question.text.lower() or - 'satisfied' in resp.question.text.lower()): - try: - value = int(resp.value) - if value >= 4: # 4-5 satisfied - satisfied_count += 1 - elif value <= 2: # 1-2 dissatisfied - dissatisfied_count += 1 - else: # 3 neutral - neutral_count += 1 - except (ValueError, TypeError): - # Text response - value = str(resp.value).lower() - if any(w in value for w in ['satisfied', 'happy', 'good', 'excellent']): - satisfied_count += 1 - elif any(w in value for w in ['dissatisfied', 'unhappy', 'bad', 'poor']): - dissatisfied_count += 1 + + for survey in completed_surveys: + score = survey.total_score + if score is not None: + if score >= 4: + pass + elif score <= 2: + dissatisfied_count += 1 + else: + neutral_count += 1 + else: + for resp in survey.responses.all(): + if resp.question and ( + "satisfaction" in resp.question.text.lower() or "satisfied" in resp.question.text.lower() + ): + val = resp.numeric_value + if val is not None: + val_int = int(val) + if val_int <= 2: + dissatisfied_count += 1 + elif val_int == 3: + neutral_count += 1 else: - neutral_count += 1 - - # Calculate participation rate - participation_rate = (completed_responses / total_surveys * 100) if total_surveys > 0 else 0 - - # MOH specific satisfaction (from source) - moh_surveys = surveys.filter(complaint__source__name_en__icontains='MOH') - moh_satisfied = 0 - moh_total = moh_surveys.count() - for survey in moh_surveys: - for resp in survey.responses.all(): - if resp.question and ('satisfaction' in resp.question.text.lower()): - try: - if int(resp.value) >= 4: - moh_satisfied += 1 - except (ValueError, TypeError): - pass - moh_satisfaction_rate = (moh_satisfied / moh_total * 100) if moh_total > 0 else 0 - - # Identify lowest month for analysis - lowest_month = min(monthly_breakdown, key=lambda x: x['percentage']) if monthly_breakdown else None - + text = (resp.text_value or resp.choice_value or "").lower() + if any(w in text for w in ["dissatisfied", "unhappy", "bad", "poor"]): + dissatisfied_count += 1 + else: + neutral_count += 1 + break + + response_rate = (completed_count / total_complaints_received * 100) if total_complaints_received > 0 else 0 + satisfaction_excl_no_response = (satisfied_responses / completed_count * 100) if completed_count > 0 else 0 + + moh_complaints = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=year_end, + complaint_type="complaint", + source__name_en__icontains="moh", + ).count() + + cchi_complaints = Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=year_end, + complaint_type="complaint", + source__name_en__icontains="chi", + ).count() + target_percentage = float(report.target_percentage) - + threshold_percentage = float(report.threshold_percentage) + + performance_status = ( + "target met" + if overall_percentage >= target_percentage + else "below target but above threshold" + if overall_percentage >= threshold_percentage + else "below threshold - action needed" + ) + + lowest_month = min(monthly_breakdown, key=lambda x: x["percentage"]) if monthly_breakdown else None + highest_month = max(monthly_breakdown, key=lambda x: x["percentage"]) if monthly_breakdown else None + prompt = f"""Analyze this Overall Satisfaction with Complaint Resolution (MOH-3) KPI report. REPORT DATA: @@ -1158,56 +1717,57 @@ REPORT DATA: - Hospital: {report.hospital.name} - Overall Satisfaction Rate: {overall_percentage:.2f}% - Target: {target_percentage:.2f}% -- Total Complaints Received: {total_responses} - -MONTHLY SATISFACTION TRENDS: -{chr(10).join([f"- {m['month_name']}: {m['percentage']:.2f}%" for m in monthly_breakdown])} - -RESPONSE STATISTICS: -- Total Surveys Sent: {total_surveys} -- Completed Responses: {completed_responses} -- No Response: {no_response} -- Participation Rate: {participation_rate:.2f}% +- Threshold: {threshold_percentage:.2f}% +- Status: {performance_status} SATISFACTION BREAKDOWN: -- Satisfied: {satisfied_count} -- Dissatisfied: {dissatisfied_count} +- Total Complaints Received: {total_complaints_received} +- Total Responses: {completed_count} +- No Response: {no_response} +- Satisfied: {satisfied_responses} +- Not Satisfied: {dissatisfied_count} - Neutral: {neutral_count} -MOH SPECIFIC: -- MOH Satisfaction Rate: {moh_satisfaction_rate:.2f}% -- Total MOH Responses: {moh_total} +SATISFACTION RATE: {satisfaction_excl_no_response:.2f}% (after excluding no responses) +RESPONSE RATE: {response_rate:.2f}% ({completed_count}/{total_complaints_received}) -LOWEST PERFORMANCE MONTH: -{lowest_month['month_name'] if lowest_month else 'N/A'}: {lowest_month['percentage']:.2f}%{' (significant drop)' if lowest_month and lowest_month['percentage'] < 50 else ''} +MONTHLY SATISFACTION TRENDS: +{chr(10).join([f"- {m['month_name']}: {m['percentage']:.2f}% ({m['satisfied']}/{m['total']})" for m in monthly_breakdown])} -SATISFACTION AFTER EXCLUDING NO RESPONSE: -{(satisfied_count / completed_responses * 100) if completed_responses > 0 else 0:.2f}% +LOWEST PERFORMANCE: {lowest_month["month_name"] if lowest_month else "N/A"} ({lowest_month["percentage"]:.2f}%) +HIGHEST PERFORMANCE: {highest_month["month_name"] if highest_month else "N/A"} ({highest_month["percentage"]:.2f}%) + +SOURCE BREAKDOWN: +- MOH complaints: {moh_complaints} +- CCHI complaints: {cchi_complaints} Provide analysis in JSON format: {{ - "executive_summary": "Overview of satisfaction performance at {overall_percentage:.2f}%", - "satisfaction_rate_by_month": [ + "executive_summary": "Overview of {overall_percentage:.2f}% satisfaction rate vs {target_percentage:.0f}% target", + "comparison_to_target": "Analysis of meeting target ({target_percentage:.0f}%) and threshold ({threshold_percentage:.0f}%)", + "satisfaction_rate": "{satisfaction_excl_no_response:.2f}%", + "response_rate": "{response_rate:.2f}%", + "participation_analysis": "Analysis of {response_rate:.1f}% response rate and {no_response} complaints with no response", + "monthly_trend": [ "Month: Percentage%" ], - "moh_satisfaction_analysis": "Analysis of MOH satisfaction at {moh_satisfaction_rate:.2f}%", - "performance_overview": "Satisfaction rate after excluding no-response is X%", - "participation_rate_analysis": "Response rate is {participation_rate:.2f}% - analysis of patient engagement", - "key_issues": [ - "Issue 1: Long resolution times causing frustration", - "Issue 2: Patients dissatisfied with outcomes", - "Issue 3: etc." - ], - "response_statistics": {{ - "total_complaints": {total_responses}, - "total_responses": {completed_responses}, - "no_response": {no_response}, - "escalated_without_response": 0, - "closed_without_response": 0, - "satisfied": {satisfied_count}, - "dissatisfied": {dissatisfied_count}, + "satisfaction_breakdown": {{ + "satisfied": {satisfied_responses}, + "not_satisfied": {dissatisfied_count}, "neutral": {neutral_count} }}, + "response_statistics": {{ + "total_complaints_received": {total_complaints_received}, + "total_responses": {completed_count}, + "no_response": {no_response}, + "satisfied": {satisfied_responses}, + "not_satisfied": {dissatisfied_count}, + "neutral": {neutral_count} + }}, + "key_issues": [ + "Issue 1: description", + "Issue 2: description" + ], "recommendations": [ "Recommendation 1", "Recommendation 2" @@ -1217,13 +1777,12 @@ Provide analysis in JSON format: system_prompt = """You are a healthcare patient satisfaction analysis expert for MOH-3 Overall Satisfaction with Complaint Resolution. Analyze the satisfaction survey data and provide: 1. Executive summary of overall satisfaction performance -2. Month-by-month satisfaction rate analysis with trends -3. MOH-specific satisfaction analysis -4. Performance overview after excluding non-responses -5. Participation rate analysis and patient engagement insights -6. Key issues causing dissatisfaction (long wait times, poor outcomes, etc.) -7. Response statistics breakdown -8. Actionable recommendations for improving satisfaction +2. Comparison to target and threshold (80% target, 70% threshold) +3. Satisfaction rate analysis (excluding non-responses) +4. Response rate / participation analysis +5. Month-by-month satisfaction rate analysis with trends +6. Key issues causing dissatisfaction +7. Actionable recommendations for improving satisfaction Focus on identifying why patients are dissatisfied and provide practical solutions.""" @@ -1232,180 +1791,211 @@ Focus on identifying why patients are dissatisfied and provide practical solutio system_prompt=system_prompt, response_format="json_object", temperature=0.3, - max_tokens=2500 + max_tokens=2500, ) - + import json + analysis = json.loads(response) - analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, } - + report.ai_analysis = analysis report.ai_analysis_generated_at = timezone.now() - report.save(update_fields=['ai_analysis', 'ai_analysis_generated_at']) - + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + logger.info(f"AI analysis generated for Satisfaction Resolution report {report.id}") return analysis - + except Exception as e: logger.exception(f"Error generating Satisfaction Resolution analysis: {e}") - return {'error': str(e), 'executive_summary': 'Analysis failed'} + return {"error": str(e), "executive_summary": "Analysis failed"} - @classmethod def _generate_response_rate_analysis(cls, report: KPIReport) -> dict: """Generate AI analysis for Department Response Rate (Dep-KPI-4) report""" from apps.core.ai_service import AIService - + try: - # Get report data overall_percentage = float(report.overall_result) if report.overall_result else 0 total_complaints = report.total_denominator responded_within_48h = report.total_numerator - - # Get date range + + # Previous month comparison + prev_month = report.month - 1 if report.month > 1 else 12 + prev_year = report.year if report.month > 1 else report.year - 1 + prev_percentage = None + try: + prev_report = KPIReport.objects.get( + report_type=report.report_type, + hospital=report.hospital, + year=prev_year, + month=prev_month, + ) + prev_percentage = float(prev_report.overall_result) if prev_report.overall_result else None + except KPIReport.DoesNotExist: + pass + year_start = datetime(report.year, 1, 1) - year_end = datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) - - # Query complaints needing department response - complaints = Complaint.objects.filter( - hospital=report.hospital, - created_at__gte=year_start, - created_at__lt=year_end, - complaint_type="complaint", - status__in=[ComplaintStatus.OPEN, ComplaintStatus.IN_PROGRESS, ComplaintStatus.RESOLVED, ComplaintStatus.CLOSED] - ).select_related('department', 'location', 'main_section').prefetch_related('updates') - - # Calculate response times + year_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + + all_complaints = ( + Complaint.objects.filter( + hospital=report.hospital, + created_at__gte=year_start, + created_at__lt=year_end, + complaint_type="complaint", + ) + .select_related("department", "source") + .prefetch_related("updates") + ) + responded_48_72h = 0 responded_over_72h = 0 + complaints_no_response = 0 dept_response_times = {} - - for c in complaints: - # Find first department response - first_response = c.updates.filter( - update_type='response', - created_by__isnull=False - ).order_by('created_at').first() - + + for c in all_complaints: + first_response = ( + c.updates.filter(update_type__in=["communication", "resolution"]).order_by("created_at").first() + ) + if first_response and c.created_at: hours = (first_response.created_at - c.created_at).total_seconds() / 3600 dept_name = c.department.name if c.department else "Unassigned" - + if dept_name not in dept_response_times: dept_response_times[dept_name] = [] dept_response_times[dept_name].append(hours / 24) - - if 48 < hours <= 72: - responded_48_72h += 1 - elif hours > 72: - responded_over_72h += 1 - - # Calculate average response times for slow departments (>48 hours) - slow_departments = [] - for dept, days_list in dept_response_times.items(): - if days_list: - avg_days = sum(days_list) / len(days_list) - if avg_days > 2: # More than 48 hours - slow_departments.append({ - 'name': dept, - 'avg_days': round(avg_days, 1), - 'complaint_count': len(days_list) - }) - slow_departments.sort(key=lambda x: x['avg_days'], reverse=True) - - # Categorize slow departments + + if hours > 48: + if hours <= 72: + responded_48_72h += 1 + else: + responded_over_72h += 1 + else: + complaints_no_response += 1 + + total_exceeding_48h = responded_48_72h + responded_over_72h + + escalated_count = all_complaints.filter(updates__update_type="escalation").distinct().count() + medical_slow = [] nursing_slow = [] admin_slow = [] support_slow = [] - - for dept in slow_departments: - name_lower = dept['name'].lower() - if any(k in name_lower for k in ['medical', 'surgery', 'cardiology', 'orthopedics', 'pediatrics', 'obstetrics', 'gynecology', 'er', 'lab', 'icu', 'clinic', 'ward', 'physiotherapy', 'psychiatric']): - medical_slow.append(dept) - elif any(k in name_lower for k in ['nursing', 'nurse', 'opd nursing', 'icu nursing']): - nursing_slow.append(dept) - elif any(k in name_lower for k in ['admin', 'reception', 'manager', 'approval', 'report']): - admin_slow.append(dept) - elif any(k in name_lower for k in ['housekeeping', 'maintenance', 'security', 'cafeteria', 'transport', 'support']): - support_slow.append(dept) - - # Count total exceeding 48 hours - total_exceeding_48h = responded_48_72h + responded_over_72h - + + for dept, days_list in dept_response_times.items(): + if days_list: + avg_days = sum(days_list) / len(days_list) + entry = {"name": dept, "avg_days": round(avg_days, 1), "complaint_count": len(days_list)} + name_lower = dept.lower() + if any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["medical"]): + if avg_days > 2: + medical_slow.append(entry) + elif any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["nursing"]): + if avg_days > 2: + nursing_slow.append(entry) + elif any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["admin"]): + if avg_days > 2: + admin_slow.append(entry) + elif any(k in name_lower for k in DEPARTMENT_CATEGORY_KEYWORDS["support"]): + if avg_days > 2: + support_slow.append(entry) + + medical_slow.sort(key=lambda x: x["avg_days"], reverse=True) + nursing_slow.sort(key=lambda x: x["avg_days"], reverse=True) + admin_slow.sort(key=lambda x: x["avg_days"], reverse=True) + support_slow.sort(key=lambda x: x["avg_days"], reverse=True) + target_percentage = float(report.target_percentage) - threshold_percentage = 70.0 # Standard threshold - + threshold_percentage = float(report.threshold_percentage) + + performance_status = ( + "Target Met" + if overall_percentage >= target_percentage + else "Below Target" + if overall_percentage >= threshold_percentage + else "Below Threshold" + ) + + prev_trend = "" + if prev_percentage is not None: + diff = overall_percentage - prev_percentage + direction = "improved" if diff > 0 else "declined" if diff < 0 else "stable" + prev_trend = f" ({direction} from {prev_month}/{prev_year}: {prev_percentage:.1f}%)" + prompt = f"""Analyze this Department Response Rate (Dep-KPI-4) KPI report. REPORT DATA: - Report Period: {report.year}-{report.month:02d} - Hospital: {report.hospital.name} -- Response Rate (≤48h): {overall_percentage:.2f}% +- Response Rate (≤48h): {overall_percentage:.2f}%{prev_trend} - Target: {target_percentage:.2f}% - Threshold: {threshold_percentage:.2f}% -- Status: {"Target Met" if overall_percentage >= target_percentage else "Below Target" if overall_percentage >= threshold_percentage else "Below Threshold"} +- Status: {performance_status} - Total Complaints: {total_complaints} - Responded within 48h: {responded_within_48h} COMPLAINTS EXCEEDING 48 HOURS: {total_exceeding_48h} -- 48-72 hours: {responded_48_72h} complaints ({(responded_48_72h/total_complaints*100) if total_complaints else 0:.2f}%) -- Over 72 hours: {responded_over_72h} complaints ({(responded_over_72h/total_complaints*100) if total_complaints else 0:.2f}%) +- 48-72 hours: {responded_48_72h} complaints ({(responded_48_72h / total_complaints * 100) if total_complaints else 0:.2f}%) +- Over 72 hours: {responded_over_72h} complaints ({(responded_over_72h / total_complaints * 100) if total_complaints else 0:.2f}%) +- Escalated due to delays: {escalated_count} +- No response: {complaints_no_response} -SLOW DEPARTMENTS (Avg > 48 hours): +DEPARTMENTS WITH MORE THAN 48 HOURS OF RESPONSE: MEDICAL DEPARTMENT: -{chr(10).join([f"- {d['name']}: {d['avg_days']} Days" for d in medical_slow[:10]]) if medical_slow else "- None exceeding timeframe"} - -NURSING DEPARTMENT: -{chr(10).join([f"- {d['name']}: {d['avg_days']} Days" for d in nursing_slow[:5]]) if nursing_slow else "- None exceeding timeframe"} +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['complaint_count']} complaints)" for d in medical_slow[:10]]) if medical_slow else "- None exceeding timeframe"} NON-MEDICAL DEPARTMENT: -{chr(10).join([f"- {d['name']}: {d['avg_days']} Days" for d in admin_slow[:5]]) if admin_slow else "- All within timeframe"} +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['complaint_count']} complaints)" for d in admin_slow[:10]]) if admin_slow else "- All within timeframe"} + +NURSING DEPARTMENT: +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['complaint_count']} complaints)" for d in nursing_slow[:5]]) if nursing_slow else "- None exceeding timeframe"} SUPPORT SERVICES: -{chr(10).join([f"- {d['name']}: {d['avg_days']} Days" for d in support_slow[:5]]) if support_slow else "- No complaints received"} +{chr(10).join([f"- {d['name']}: {d['avg_days']} Days ({d['complaint_count']} complaints)" for d in support_slow[:5]]) if support_slow else "- No complaints received"} Provide analysis in JSON format: {{ "executive_summary": "Overview of {overall_percentage:.2f}% response rate vs {target_percentage:.0f}% target", - "comparison_to_target": "Analysis of meeting target and threshold", + "comparison_to_target": "Analysis of meeting target ({target_percentage:.0f}%) and threshold ({threshold_percentage:.0f}%){prev_trend}", "response_rate": "{overall_percentage:.2f}%", "complaints_exceeding_48h": {{ "total": {total_exceeding_48h}, - "within_48_72h": {{"count": {responded_48_72h}, "percentage": "{(responded_48_72h/total_complaints*100) if total_complaints else 0:.2f}%"}}, - "over_72h": {{"count": {responded_over_72h}, "percentage": "{(responded_over_72h/total_complaints*100) if total_complaints else 0:.2f}%"}} + "within_48_72h": {{"count": {responded_48_72h}, "percentage": "{(responded_48_72h / total_complaints * 100) if total_complaints else 0:.2f}%"}}, + "over_72h": {{"count": {responded_over_72h}, "percentage": "{(responded_over_72h / total_complaints * 100) if total_complaints else 0:.2f}%"}} }}, + "escalated_due_to_delays": {escalated_count}, + "complaints_no_response": {complaints_no_response}, "slow_departments": {{ - "medical": [ - "Dept Name: X Days" - ], - "nursing": [ - "Dept Name: X Days" - ], - "non_medical": "All within timeframe OR list", - "support_services": "No complaints OR list" + "medical": ["Dept Name: X Days"], + "non_medical": ["Dept Name: X Days"], + "nursing": ["Dept Name: X Days"], + "support_services": ["Dept Name: X Days"] }}, - "recommendations": [ - "Recommendation 1: Follow up with department heads", - "Recommendation 2: Contact relevant persons directly" - ] + "key_findings": ["Finding 1", "Finding 2"], + "recommendations": ["Recommendation 1", "Recommendation 2"] }}""" system_prompt = """You are a healthcare department response analysis expert for Dep-KPI-4 Department Response Rate. Analyze the response time data and provide: 1. Executive summary of response rate performance -2. Comparison to target and threshold (70%) -3. Breakdown of complaints exceeding 48 hours -4. Analysis of slow departments by category (Medical, Nursing, Non-Medical, Support) -5. Specific department names with their average response times -6. Actionable recommendations for improving response times +2. Comparison to target and threshold +3. Previous month trend comparison +4. Breakdown of complaints exceeding 48 hours +5. Escalated complaints due to department delays +6. Analysis of slow departments by category (Medical, Nursing, Non-Medical, Support) +7. Specific department names with their average response times +8. Actionable recommendations for improving response times Focus on identifying which departments need improvement and practical follow-up strategies.""" @@ -1414,127 +2004,103 @@ Focus on identifying which departments need improvement and practical follow-up system_prompt=system_prompt, response_format="json_object", temperature=0.3, - max_tokens=2000 + max_tokens=2000, ) - + import json + analysis = json.loads(response) - analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, } - + report.ai_analysis = analysis report.ai_analysis_generated_at = timezone.now() - report.save(update_fields=['ai_analysis', 'ai_analysis_generated_at']) - + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + logger.info(f"AI analysis generated for Response Rate report {report.id}") return analysis - + except Exception as e: logger.exception(f"Error generating Response Rate analysis: {e}") - return {'error': str(e), 'executive_summary': 'Analysis failed'} + return {"error": str(e), "executive_summary": "Analysis failed"} - @classmethod def _generate_activation_2h_analysis(cls, report: KPIReport) -> dict: """Generate AI analysis for Complaint Activation Within 2 Hours (KPI-6) report""" from apps.core.ai_service import AIService - + try: - # Get report data overall_percentage = float(report.overall_result) if report.overall_result else 0 total_complaints = report.total_denominator activated_within_2h = report.total_numerator - - # Get date range - year_start = datetime(report.year, 1, 1) - year_end = datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) - - # Query complaints for activation analysis + + month_start = datetime(report.year, report.month, 1) + month_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + complaints = Complaint.objects.filter( hospital=report.hospital, - created_at__gte=year_start, - created_at__lt=year_end, - complaint_type="complaint" - ).select_related('assigned_to', 'activated_by').prefetch_related('updates') - - # Calculate activation statistics + created_at__gte=month_start, + created_at__lt=month_end, + complaint_type="complaint", + ).select_related("assigned_to") + activated_complaints = [] delayed_complaints = [] - - # Staff activation breakdown + staff_activation = {} staff_delays = {} - + for c in complaints: - # Check if complaint was activated - activation_update = c.updates.filter( - update_type='status_change', - message__icontains='activat' - ).order_by('created_at').first() - - if activation_update and c.created_at: - hours = (activation_update.created_at - c.created_at).total_seconds() / 3600 - - # Get staff who activated - staff_name = activation_update.created_by.get_full_name() if activation_update.created_by else "Unknown" - + if c.assigned_at and c.created_at: + hours = (c.assigned_at - c.created_at).total_seconds() / 3600 + + staff_name = c.assigned_to.get_full_name() if c.assigned_to else "Unknown" + if hours <= 2: - activated_complaints.append({ - 'id': str(c.id), - 'hours': hours, - 'staff': staff_name - }) - + activated_complaints.append({"id": str(c.id), "hours": hours, "staff": staff_name}) + if staff_name not in staff_activation: staff_activation[staff_name] = 0 staff_activation[staff_name] += 1 else: - delayed_complaints.append({ - 'id': str(c.id), - 'hours': hours, - 'staff': staff_name - }) - + delayed_complaints.append({"id": str(c.id), "hours": hours, "staff": staff_name}) + if staff_name not in staff_delays: staff_delays[staff_name] = 0 staff_delays[staff_name] += 1 - - # Sort staff by activation count + top_activators = sorted(staff_activation.items(), key=lambda x: x[1], reverse=True) top_delays = sorted(staff_delays.items(), key=lambda x: x[1], reverse=True) - - # Calculate percentages + total_count = len(activated_complaints) + len(delayed_complaints) activated_count = len(activated_complaints) delay_count = len(delayed_complaints) - + activated_percentage = (activated_count / total_count * 100) if total_count > 0 else 0 delay_percentage = (delay_count / total_count * 100) if total_count > 0 else 0 - + target_percentage = float(report.target_percentage) - threshold_percentage = 80.0 # Typical threshold for activation - - # Compare to previous month if available + threshold_percentage = float(report.threshold_percentage) if report.threshold_percentage else 90.0 + prev_month = report.month - 1 if report.month > 1 else 12 prev_year = report.year if report.month > 1 else report.year - 1 - + try: prev_report = KPIReport.objects.get( - report_type=report.report_type, - hospital=report.hospital, - year=prev_year, - month=prev_month + report_type=report.report_type, hospital=report.hospital, year=prev_year, month=prev_month ) prev_percentage = float(prev_report.overall_result) if prev_report.overall_result else 0 except KPIReport.DoesNotExist: prev_percentage = None - + prompt = f"""Analyze this Complaint Activation Within 2 Hours (KPI-6) report. REPORT DATA: @@ -1547,19 +2113,19 @@ REPORT DATA: - Total Complaints: {total_count} PREVIOUS MONTH COMPARISON: -{prev_month}/{prev_year}: {prev_percentage:.2f}% {'(improved)' if prev_percentage and overall_percentage > prev_percentage else '(declined)' if prev_percentage and overall_percentage < prev_percentage else '(stable)' if prev_percentage else '(no data)'} +{prev_month}/{prev_year}: {prev_percentage:.2f}% {"(improved)" if prev_percentage and overall_percentage > prev_percentage else "(declined)" if prev_percentage and overall_percentage < prev_percentage else "(stable)" if prev_percentage else "(no data)"} ACTIVATED WITHIN 2 HOURS: - Total: {activated_count} Complaints ({activated_percentage:.2f}%) BY STAFF: -{chr(10).join([f"- {name}: {count} Complaints - {(count/activated_count*100) if activated_count else 0:.2f}%" for name, count in top_activators[:5]]) if top_activators else "- No data"} +{chr(10).join([f"- {name}: {count} Complaints - {(count / activated_count * 100) if activated_count else 0:.2f}%" for name, count in top_activators[:5]]) if top_activators else "- No data"} DELAYS IN ACTIVATION: - Total: {delay_count} Complaints ({delay_percentage:.2f}%) BY STAFF: -{chr(10).join([f"- {name}: {count} Complaints - {(count/delay_count*100) if delay_count else 0:.2f}%" for name, count in top_delays[:5]]) if top_delays else "- No delays"} +{chr(10).join([f"- {name}: {count} Complaints - {(count / delay_count * 100) if delay_count else 0:.2f}%" for name, count in top_delays[:5]]) if top_delays else "- No delays"} Provide analysis in JSON format: {{ @@ -1610,188 +2176,128 @@ Focus on identifying why activations are delayed and practical solutions.""" system_prompt=system_prompt, response_format="json_object", temperature=0.3, - max_tokens=2000 + max_tokens=2000, ) - + import json + analysis = json.loads(response) - analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, } - + report.ai_analysis = analysis report.ai_analysis_generated_at = timezone.now() - report.save(update_fields=['ai_analysis', 'ai_analysis_generated_at']) - + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + logger.info(f"AI analysis generated for Activation 2h report {report.id}") return analysis - + except Exception as e: logger.exception(f"Error generating Activation 2h analysis: {e}") - return {'error': str(e), 'executive_summary': 'Analysis failed'} + return {"error": str(e), "executive_summary": "Analysis failed"} - @classmethod def _generate_unactivated_analysis(cls, report: KPIReport) -> dict: """Generate AI analysis for Unactivated Filled Complaints Rate (KPI-7) report""" from apps.core.ai_service import AIService - + from apps.dashboard.models import ComplaintRequest + try: - # Get report data overall_percentage = float(report.overall_result) if report.overall_result else 0 - total_filled_complaints = report.total_denominator - unactivated_complaints = report.total_numerator - - # Get date range - year_start = datetime(report.year, 1, 1) - year_end = datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) - - # Query complaints for unactivated analysis - complaints = Complaint.objects.filter( - hospital=report.hospital, - created_at__gte=year_start, - created_at__lt=year_end, - complaint_type="complaint" - ).select_related('created_by', 'source').prefetch_related('updates') - - # Categorize complaints - on_hold_count = 0 - not_filled_count = 0 - filled_count = 0 - barcode_count = 0 - - # Unactivation reasons - reasons = { - 'incomplete_by_patient': 0, - 'resolved_immediately': 0, - 'not_meet_criteria': 0, - 'transferred_to_observation': 0, - 'complainant_withdraw': 0, - 'repeated_from_chi': 0, - 'other': 0 - } - - # Staff breakdown + total_complaints = report.total_denominator + unactivated_filled = report.total_numerator + + month_start = datetime(report.year, report.month, 1) + month_end = ( + datetime(report.year + 1, 1, 1) if report.month == 12 else datetime(report.year, report.month + 1, 1) + ) + + all_requests = ComplaintRequest.objects.filter( + complaint__hospital=report.hospital, + complaint__created_at__gte=month_start, + complaint__created_at__lt=month_end, + complaint__complaint_type="complaint", + ).select_related("staff", "complaint") + + on_hold_count = all_requests.filter(on_hold=True).count() + filled_count = all_requests.filter(filled=True).count() + not_filled_count = all_requests.filter(not_filled=True).count() + barcode_count = all_requests.filter(from_barcode=True).count() + + filling_times = dict(ComplaintRequest.FILLING_TIME_CHOICES) + time_breakdown = {} + for t in ComplaintRequest.FILLING_TIME_CHOICES: + time_breakdown[t[0]] = all_requests.filter(filling_time_category=t[0]).count() + staff_stats = {} - - # Time to fill breakdown - filled_same_time = 0 - filled_within_6h = 0 - filled_6h_to_24h = 0 - filled_after_1d = 0 - time_not_mentioned = 0 - - for c in complaints: - # Check status and categorization - if c.status == 'open' or c.status == 'pending': - on_hold_count += 1 - - # Check if filled or not - updates = c.updates.all() - has_content = len(c.description) > 50 if c.description else False - - if has_content: - filled_count += 1 - else: - not_filled_count += 1 - - # Track staff - staff_name = c.created_by.get_full_name() if c.created_by else "Unknown" + for req in all_requests: + staff_name = req.staff.get_full_name() if req.staff else "Unknown" if staff_name not in staff_stats: - staff_stats[staff_name] = {'filled': 0, 'not_filled': 0, 'total': 0} - staff_stats[staff_name]['total'] += 1 - - if has_content: - staff_stats[staff_name]['filled'] += 1 - else: - staff_stats[staff_name]['not_filled'] += 1 - - # Analyze unactivation reasons from updates/metadata - metadata = c.metadata or {} - reason = metadata.get('unactivation_reason', '').lower() - - if 'incomplete' in reason or 'patient' in reason: - reasons['incomplete_by_patient'] += 1 - elif 'resolved' in reason or 'immediate' in reason: - reasons['resolved_immediately'] += 1 - elif 'criteria' in reason or 'not meet' in reason: - reasons['not_meet_criteria'] += 1 - elif 'observation' in reason or 'transferred' in reason: - reasons['transferred_to_observation'] += 1 - elif 'withdraw' in reason: - reasons['complainant_withdraw'] += 1 - elif 'chi' in reason or 'repeated' in reason: - reasons['repeated_from_chi'] += 1 - else: - reasons['other'] += 1 - - # Build staff breakdown table - staff_table = [] - for staff, stats in staff_stats.items(): - staff_table.append({ - 'name': staff, - 'total': stats['total'], - 'filled': stats['filled'], - 'not_filled': stats['not_filled'] - }) - - # Sort by total - staff_table.sort(key=lambda x: x['total'], reverse=True) - + staff_stats[staff_name] = {"filled": 0, "not_filled": 0, "total": 0} + staff_stats[staff_name]["total"] += 1 + if req.filled: + staff_stats[staff_name]["filled"] += 1 + if req.not_filled: + staff_stats[staff_name]["not_filled"] += 1 + + staff_table = sorted( + [ + {"name": s, "total": v["total"], "filled": v["filled"], "not_filled": v["not_filled"]} + for s, v in staff_stats.items() + ], + key=lambda x: x["total"], + reverse=True, + ) + target_percentage = float(report.target_percentage) - threshold_percentage = 5.0 # Standard threshold - + threshold_percentage = float(report.threshold_percentage) if report.threshold_percentage else 5.0 + + performance_status = ( + "Within Target" + if overall_percentage <= target_percentage + else "Above Threshold - Action Needed" + if overall_percentage <= threshold_percentage + else "Critical - Exceeds Acceptable Limit" + ) + prompt = f"""Analyze this Unactivated Filled Complaints Rate (KPI-7) report. REPORT DATA: - Report Period: {report.year}-{report.month:02d} - Hospital: {report.hospital.name} -- Unactivated Rate: {overall_percentage:.2f}% +- Unactivated Filled Rate: {overall_percentage:.2f}% - Target: {target_percentage:.2f}% - Threshold: {threshold_percentage:.2f}% -- Status: {"Above Threshold (Action Needed)" if overall_percentage > threshold_percentage else "Within Acceptable Range"} +- Status: {performance_status} +- Total Complaints: {total_complaints} +- Unactivated Filled: {unactivated_filled} -COMPLAINT BREAKDOWN: -- On Hold: {on_hold_count} Complaints -- Not Filled: {not_filled_count} Complaints -- Filled: {filled_count} Complaints -- From Barcode: {barcode_count} Complaints +COMPLAINT REQUEST BREAKDOWN: +- On Hold: {on_hold_count} +- Not Filled: {not_filled_count} +- Filled: {filled_count} +- From Barcode: {barcode_count} TIME TO FILL ANALYSIS: -- Same Time: {filled_same_time} Complaints -- Within 6 Hours: {filled_within_6h} Complaints -- 6 Hours to 24 Hours: {filled_6h_to_24h} Complaints -- After 1 Day: {filled_after_1d} Complaints -- Time Not Mentioned: {time_not_mentioned} Complaints - -UNACTIVATION REASONS: -- Incomplete by Patient: {reasons['incomplete_by_patient']} Requests -- Resolved Immediately: {reasons['resolved_immediately']} Requests -- Do Not Meet Criteria: {reasons['not_meet_criteria']} Requests -- Transferred to Observations: {reasons['transferred_to_observation']} Requests -- Complainant Withdraw: {reasons['complainant_withdraw']} Request -- Repeated from CHI: {reasons['repeated_from_chi']} Request +- Same Time: {time_breakdown.get("same_time", 0)} +- Within 6 Hours: {time_breakdown.get("within_6h", 0)} +- 6 Hours to 24 Hours: {time_breakdown.get("6_to_24h", 0)} +- After 1 Day: {time_breakdown.get("after_1_day", 0)} +- Time Not Mentioned: {time_breakdown.get("not_mentioned", 0)} STAFF BREAKDOWN: -{chr(10).join([f"- {s['name']}: Total {s['total']}, Filled {s['filled']}, Not Filled {s['not_filled']}" for s in staff_table[:10]])} +{chr(10).join([f"- {s['name']}: Total {s['total']}, Filled {s['filled']}, Not Filled {s['not_filled']}" for s in staff_table[:10]]) if staff_table else "- No data"} Provide analysis in JSON format: {{ - "executive_summary": "Overview of {overall_percentage:.2f}% unactivated rate vs {threshold_percentage:.0f}% threshold", - "threshold_analysis": "Rate exceeds acceptable threshold of {threshold_percentage:.0f}% - detailed analysis", - "unactivation_reasons": [ - "X Requests - left incomplete by the patient", - "X Requests - resolved immediately", - "X Requests - do not meet activation criteria", - "X Requests - transferred to observations", - "X Request - complainant withdraw", - "X Request - repeated from CHI" - ], + "executive_summary": "Overview of {overall_percentage:.2f}% unactivated filled rate vs {threshold_percentage:.0f}% threshold", + "threshold_analysis": "Rate {"exceeds" if overall_percentage > threshold_percentage else "is within"} acceptable threshold of {threshold_percentage:.0f}%", "complaint_statistics": {{ "on_hold": {on_hold_count}, "not_filled": {not_filled_count}, @@ -1799,30 +2305,30 @@ Provide analysis in JSON format: "from_barcode": {barcode_count} }}, "time_to_fill": {{ - "same_time": {filled_same_time}, - "within_6h": {filled_within_6h}, - "6h_to_24h": {filled_6h_to_24h}, - "after_1d": {filled_after_1d}, - "not_mentioned": {time_not_mentioned} + "same_time": {time_breakdown.get("same_time", 0)}, + "within_6h": {time_breakdown.get("within_6h", 0)}, + "6h_to_24h": {time_breakdown.get("6_to_24h", 0)}, + "after_1d": {time_breakdown.get("after_1_day", 0)}, + "not_mentioned": {time_breakdown.get("not_mentioned", 0)} }}, "staff_breakdown": [ "Staff Name: Total X, Filled Y, Not Filled Z" ], + "key_findings": ["Finding 1", "Finding 2"], "recommendations": [ - "Review Complaints Portal Daily by Patient Relations Supervisor", - "Check SMS messages for filled complaints immediately", - "Establish notification reminders for staff follow-up" + "Monitoring the workflow and activation times among employees", + "Improve system notifications for prompt staff follow-up" ] }}""" system_prompt = """You are a healthcare complaint management analysis expert for KPI-7 Unactivated Filled Complaints Rate. Analyze the unactivation data and provide: -1. Executive summary of unactivation rate vs threshold -2. Threshold analysis (5% is the acceptable limit) -3. Detailed unactivation reasons breakdown -4. Complaint statistics (on hold, filled, not filled) -5. Time to fill analysis -6. Staff breakdown and performance +1. Executive summary of unactivation rate vs threshold (target: 0%, threshold: 5%) +2. Threshold analysis +3. Complaint request statistics (on hold, filled, not filled, barcode) +4. Time to fill analysis +5. Staff breakdown and performance +6. Key findings with specific numbers 7. Actionable recommendations for reducing unactivated complaints Focus on why complaints remain unactivated and practical solutions.""" @@ -1832,27 +2338,28 @@ Focus on why complaints remain unactivated and practical solutions.""" system_prompt=system_prompt, response_format="json_object", temperature=0.3, - max_tokens=2000 + max_tokens=2000, ) - + import json + analysis = json.loads(response) - analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month + analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, } - + report.ai_analysis = analysis report.ai_analysis_generated_at = timezone.now() - report.save(update_fields=['ai_analysis', 'ai_analysis_generated_at']) - + report.save(update_fields=["ai_analysis", "ai_analysis_generated_at"]) + logger.info(f"AI analysis generated for Unactivated report {report.id}") return analysis - + except Exception as e: logger.exception(f"Error generating Unactivated analysis: {e}") - return {'error': str(e), 'executive_summary': 'Analysis failed'} + return {"error": str(e), "executive_summary": "Analysis failed"} diff --git a/apps/analytics/kpi_views.py b/apps/analytics/kpi_views.py index 4580404..5bd3d56 100644 --- a/apps/analytics/kpi_views.py +++ b/apps/analytics/kpi_views.py @@ -4,6 +4,7 @@ KPI Report Views Views for listing, viewing, and generating KPI reports. Follows the PX360 UI patterns with Tailwind, Lucide icons, and HTMX. """ + import json import logging from datetime import datetime @@ -25,12 +26,11 @@ from .kpi_models import KPIReport, KPIReportStatus, KPIReportType from .kpi_service import KPICalculationService - @login_required def kpi_report_list(request): """ KPI Report list view - + Shows all KPI reports with filtering by: - Report type - Hospital @@ -38,88 +38,96 @@ def kpi_report_list(request): - Status """ user = request.user - + # Base queryset - queryset = KPIReport.objects.select_related('hospital', 'generated_by') - + queryset = KPIReport.objects.select_related("hospital", "generated_by") + # Apply hospital filter based on user role if not user.is_px_admin(): if user.hospital: queryset = queryset.filter(hospital=user.hospital) else: queryset = KPIReport.objects.none() - + # Apply filters from request - report_type = request.GET.get('report_type') + report_type = request.GET.get("report_type") if report_type: queryset = queryset.filter(report_type=report_type) - - hospital_filter = request.GET.get('hospital') + + hospital_filter = request.GET.get("hospital") if hospital_filter and user.is_px_admin(): queryset = queryset.filter(hospital_id=hospital_filter) - - year = request.GET.get('year') + + year = request.GET.get("year") if year: queryset = queryset.filter(year=year) - - month = request.GET.get('month') + + month = request.GET.get("month") if month: queryset = queryset.filter(month=month) - - status = request.GET.get('status') + + status = request.GET.get("status") if status: queryset = queryset.filter(status=status) - + # Ordering - queryset = queryset.order_by('-year', '-month', 'report_type') - + queryset = queryset.order_by("-year", "-month", "report_type") + # Calculate statistics stats = { - 'total': queryset.count(), - 'completed': queryset.filter(status='completed').count(), - 'pending': queryset.filter(status__in=['pending', 'generating']).count(), - 'failed': queryset.filter(status='failed').count(), + "total": queryset.count(), + "completed": queryset.filter(status="completed").count(), + "pending": queryset.filter(status__in=["pending", "generating"]).count(), + "failed": queryset.filter(status="failed").count(), } - + # Pagination - page_size = int(request.GET.get('page_size', 12)) + page_size = int(request.GET.get("page_size", 12)) paginator = Paginator(queryset, page_size) - page_number = request.GET.get('page', 1) + page_number = request.GET.get("page", 1) page_obj = paginator.get_page(page_number) - + # Get filter options - hospitals = Hospital.objects.filter(status='active') + hospitals = Hospital.objects.filter(status="active") if not user.is_px_admin() and user.hospital: hospitals = hospitals.filter(id=user.hospital.id) - + current_year = datetime.now().year years = list(range(current_year, current_year - 5, -1)) - + context = { - 'page_obj': page_obj, - 'reports': page_obj.object_list, - 'filters': request.GET, - 'stats': stats, - 'hospitals': hospitals, - 'years': years, - 'months': [ - (1, _('January')), (2, _('February')), (3, _('March')), - (4, _('April')), (5, _('May')), (6, _('June')), - (7, _('July')), (8, _('August')), (9, _('September')), - (10, _('October')), (11, _('November')), (12, _('December')), + "page_obj": page_obj, + "reports": page_obj.object_list, + "filters": request.GET, + "stats": stats, + "hospitals": hospitals, + "years": years, + "months": [ + (1, _("January")), + (2, _("February")), + (3, _("March")), + (4, _("April")), + (5, _("May")), + (6, _("June")), + (7, _("July")), + (8, _("August")), + (9, _("September")), + (10, _("October")), + (11, _("November")), + (12, _("December")), ], - 'report_types': KPIReportType.choices, - 'statuses': KPIReportStatus.choices, + "report_types": KPIReportType.choices, + "statuses": KPIReportStatus.choices, } - - return render(request, 'analytics/kpi_report_list.html', context) + + return render(request, "analytics/kpi_report_list.html", context) @login_required def kpi_report_detail(request, report_id): """ KPI Report detail view - + Shows the full report with: - Excel-style data table - Charts (trend and source distribution) @@ -127,35 +135,35 @@ def kpi_report_detail(request, report_id): - PDF export option """ user = request.user - - report = get_object_or_404( - KPIReport.objects.select_related('hospital', 'generated_by'), - id=report_id - ) - + + report = get_object_or_404(KPIReport.objects.select_related("hospital", "generated_by"), id=report_id) + # Check permissions if not user.is_px_admin() and user.hospital != report.hospital: - messages.error(request, _('You do not have permission to view this report.')) - return redirect('analytics:kpi_report_list') - + messages.error(request, _("You do not have permission to view this report.")) + return redirect("analytics:kpi_report_list") + # Get monthly data (1-12) - monthly_data_qs = report.monthly_data.filter(month__gt=0).order_by('month') + monthly_data_qs = report.monthly_data.filter(month__gt=0).order_by("month") total_data = report.monthly_data.filter(month=0).first() - + # Build monthly data array ensuring 12 months monthly_data_dict = {m.month: m for m in monthly_data_qs} monthly_data = [monthly_data_dict.get(i) for i in range(1, 13)] - + # Get source breakdowns for pie chart source_breakdowns = report.source_breakdowns.all() source_chart_data = { - 'labels': [s.source_name for s in source_breakdowns] or ['No Data'], - 'data': [float(s.percentage) for s in source_breakdowns] or [100], + "labels": [s.source_name for s in source_breakdowns] or ["No Data"], + "data": [float(s.percentage) for s in source_breakdowns] or [100], } - + # Get department breakdowns department_breakdowns = report.department_breakdowns.all() - + + # Get location breakdowns + location_breakdowns = report.location_breakdowns.all() + # Prepare trend chart data - ensure we have 12 values trend_data_values = [] for m in monthly_data: @@ -163,60 +171,70 @@ def kpi_report_detail(request, report_id): trend_data_values.append(float(m.percentage)) else: trend_data_values.append(0.0) - + trend_chart_data = { - 'labels': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'data': trend_data_values, - 'target': float(report.target_percentage) if report.target_percentage else 95.0, + "labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + "data": trend_data_values, + "target": float(report.target_percentage) if report.target_percentage else 95.0, + "threshold": float(report.threshold_percentage) if report.threshold_percentage else 90.0, } - + context = { - 'report': report, - 'monthly_data': monthly_data, - 'total_data': total_data, - 'source_breakdowns': source_breakdowns, - 'department_breakdowns': department_breakdowns, - 'source_chart_data_json': json.dumps(source_chart_data), - 'trend_chart_data_json': json.dumps(trend_chart_data), + "report": report, + "monthly_data": monthly_data, + "total_data": total_data, + "source_breakdowns": source_breakdowns, + "department_breakdowns": department_breakdowns, + "location_breakdowns": location_breakdowns, + "source_chart_data_json": json.dumps(source_chart_data), + "trend_chart_data_json": json.dumps(trend_chart_data), } - - return render(request, 'analytics/kpi_report_detail.html', context) + + return render(request, "analytics/kpi_report_detail.html", context) @login_required def kpi_report_generate(request): """ KPI Report generation form - + Allows manual generation of KPI reports for a specific month and hospital. """ user = request.user - + # Get filter options - hospitals = Hospital.objects.filter(status='active') + hospitals = Hospital.objects.filter(status="active") if not user.is_px_admin(): if user.hospital: hospitals = hospitals.filter(id=user.hospital.id) else: hospitals = Hospital.objects.none() - + current_year = datetime.now().year years = list(range(current_year, current_year - 3, -1)) - + context = { - 'hospitals': hospitals, - 'years': years, - 'months': [ - (1, _('January')), (2, _('February')), (3, _('March')), - (4, _('April')), (5, _('May')), (6, _('June')), - (7, _('July')), (8, _('August')), (9, _('September')), - (10, _('October')), (11, _('November')), (12, _('December')), + "hospitals": hospitals, + "years": years, + "months": [ + (1, _("January")), + (2, _("February")), + (3, _("March")), + (4, _("April")), + (5, _("May")), + (6, _("June")), + (7, _("July")), + (8, _("August")), + (9, _("September")), + (10, _("October")), + (11, _("November")), + (12, _("December")), ], - 'report_types': KPIReportType.choices, + "report_types": KPIReportType.choices, } - - return render(request, 'analytics/kpi_report_generate.html', context) + + return render(request, "analytics/kpi_report_generate.html", context) @login_required @@ -226,72 +244,65 @@ def kpi_report_generate_submit(request): Handle KPI report generation form submission """ user = request.user - - report_type = request.POST.get('report_type') - hospital_id = request.POST.get('hospital') - year = request.POST.get('year') - month = request.POST.get('month') - + + report_type = request.POST.get("report_type") + hospital_id = request.POST.get("hospital") + year = request.POST.get("year") + month = request.POST.get("month") + # Validation if not all([report_type, hospital_id, year, month]): - if request.headers.get('HX-Request'): - return render(request, 'analytics/partials/kpi_generate_error.html', { - 'error': _('All fields are required.') - }) - messages.error(request, _('All fields are required.')) - return redirect('analytics:kpi_report_generate') - + if request.headers.get("HX-Request"): + return render( + request, "analytics/partials/kpi_generate_error.html", {"error": _("All fields are required.")} + ) + messages.error(request, _("All fields are required.")) + return redirect("analytics:kpi_report_generate") + # Check permissions try: hospital = Hospital.objects.get(id=hospital_id) except Hospital.DoesNotExist: - if request.headers.get('HX-Request'): - return render(request, 'analytics/partials/kpi_generate_error.html', { - 'error': _('Hospital not found.') - }) - messages.error(request, _('Hospital not found.')) - return redirect('analytics:kpi_report_generate') - + if request.headers.get("HX-Request"): + return render(request, "analytics/partials/kpi_generate_error.html", {"error": _("Hospital not found.")}) + messages.error(request, _("Hospital not found.")) + return redirect("analytics:kpi_report_generate") + if not user.is_px_admin() and user.hospital != hospital: - if request.headers.get('HX-Request'): - return render(request, 'analytics/partials/kpi_generate_error.html', { - 'error': _('You do not have permission to generate reports for this hospital.') - }) - messages.error(request, _('You do not have permission to generate reports for this hospital.')) - return redirect('analytics:kpi_report_generate') - + if request.headers.get("HX-Request"): + return render( + request, + "analytics/partials/kpi_generate_error.html", + {"error": _("You do not have permission to generate reports for this hospital.")}, + ) + messages.error(request, _("You do not have permission to generate reports for this hospital.")) + return redirect("analytics:kpi_report_generate") + try: year = int(year) month = int(month) - + # Generate the report report = KPICalculationService.generate_monthly_report( - report_type=report_type, - hospital=hospital, - year=year, - month=month, - generated_by=user + report_type=report_type, hospital=hospital, year=year, month=month, generated_by=user ) - - success_message = _('KPI Report generated successfully.') - - if request.headers.get('HX-Request'): - return render(request, 'analytics/partials/kpi_generate_success.html', { - 'report': report, - 'message': success_message - }) - + + success_message = _("KPI Report generated successfully.") + + if request.headers.get("HX-Request"): + return render( + request, "analytics/partials/kpi_generate_success.html", {"report": report, "message": success_message} + ) + messages.success(request, success_message) - return redirect('analytics:kpi_report_detail', report_id=report.id) - + return redirect("analytics:kpi_report_detail", report_id=report.id) + except Exception as e: error_message = str(e) - if request.headers.get('HX-Request'): - return render(request, 'analytics/partials/kpi_generate_error.html', { - 'error': error_message - }) + if request.headers.get("HX-Request"): + return render(request, "analytics/partials/kpi_generate_error.html", {"error": error_message}) messages.error(request, error_message) - return redirect('analytics:kpi_report_generate') + return redirect("analytics:kpi_report_generate") @login_required @@ -301,14 +312,14 @@ def kpi_report_regenerate(request, report_id): Regenerate an existing KPI report """ user = request.user - + report = get_object_or_404(KPIReport, id=report_id) - + # Check permissions if not user.is_px_admin() and user.hospital != report.hospital: - messages.error(request, _('You do not have permission to regenerate this report.')) - return redirect('analytics:kpi_report_list') - + messages.error(request, _("You do not have permission to regenerate this report.")) + return redirect("analytics:kpi_report_list") + try: # Regenerate the report KPICalculationService.generate_monthly_report( @@ -316,55 +327,55 @@ def kpi_report_regenerate(request, report_id): hospital=report.hospital, year=report.year, month=report.month, - generated_by=user + generated_by=user, ) - - messages.success(request, _('KPI Report regenerated successfully.')) - + + messages.success(request, _("KPI Report regenerated successfully.")) + except Exception as e: messages.error(request, str(e)) - - return redirect('analytics:kpi_report_detail', report_id=report.id) + + return redirect("analytics:kpi_report_detail", report_id=report.id) @login_required def kpi_report_pdf(request, report_id): """ Generate PDF version of KPI report - + Returns HTML page with print-friendly styling and html2pdf.js for client-side PDF generation. """ user = request.user - - report = get_object_or_404( - KPIReport.objects.select_related('hospital', 'generated_by'), - id=report_id - ) - + + report = get_object_or_404(KPIReport.objects.select_related("hospital", "generated_by"), id=report_id) + # Check permissions if not user.is_px_admin() and user.hospital != report.hospital: - messages.error(request, _('You do not have permission to view this report.')) - return redirect('analytics:kpi_report_list') - + messages.error(request, _("You do not have permission to view this report.")) + return redirect("analytics:kpi_report_list") + # Get monthly data (1-12) - monthly_data_qs = report.monthly_data.filter(month__gt=0).order_by('month') + monthly_data_qs = report.monthly_data.filter(month__gt=0).order_by("month") total_data = report.monthly_data.filter(month=0).first() - + # Build monthly data array ensuring 12 months monthly_data_dict = {m.month: m for m in monthly_data_qs} monthly_data = [monthly_data_dict.get(i) for i in range(1, 13)] - + # Get source breakdowns for pie chart source_breakdowns = report.source_breakdowns.all() source_chart_data = { - 'labels': [s.source_name for s in source_breakdowns] or ['No Data'], - 'data': [float(s.percentage) for s in source_breakdowns] or [100], + "labels": [s.source_name for s in source_breakdowns] or ["No Data"], + "data": [float(s.percentage) for s in source_breakdowns] or [100], } - + # Get department breakdowns department_breakdowns = report.department_breakdowns.all() - + + # Get location breakdowns + location_breakdowns = report.location_breakdowns.all() + # Prepare trend chart data - ensure we have 12 values trend_data_values = [] for m in monthly_data: @@ -372,25 +383,27 @@ def kpi_report_pdf(request, report_id): trend_data_values.append(float(m.percentage)) else: trend_data_values.append(0.0) - + trend_chart_data = { - 'labels': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'data': trend_data_values, - 'target': float(report.target_percentage) if report.target_percentage else 95.0, + "labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + "data": trend_data_values, + "target": float(report.target_percentage) if report.target_percentage else 95.0, + "threshold": float(report.threshold_percentage) if report.threshold_percentage else 90.0, } - + context = { - 'report': report, - 'monthly_data': monthly_data, - 'total_data': total_data, - 'source_breakdowns': source_breakdowns, - 'department_breakdowns': department_breakdowns, - 'source_chart_data_json': json.dumps(source_chart_data), - 'trend_chart_data_json': json.dumps(trend_chart_data), - 'is_pdf': True, + "report": report, + "monthly_data": monthly_data, + "total_data": total_data, + "source_breakdowns": source_breakdowns, + "department_breakdowns": department_breakdowns, + "location_breakdowns": location_breakdowns, + "source_chart_data_json": json.dumps(source_chart_data), + "trend_chart_data_json": json.dumps(trend_chart_data), + "is_pdf": True, } - - return render(request, 'analytics/kpi_report_pdf.html', context) + + return render(request, "analytics/kpi_report_pdf.html", context) @login_required @@ -399,177 +412,171 @@ def kpi_report_api_data(request, report_id): API endpoint for KPI report data (for charts) """ user = request.user - + report = get_object_or_404(KPIReport, id=report_id) - + # Check permissions if not user.is_px_admin() and user.hospital != report.hospital: - return JsonResponse({'error': 'Permission denied'}, status=403) - + return JsonResponse({"error": "Permission denied"}, status=403) + # Get monthly data - monthly_data = report.monthly_data.filter(month__gt=0).order_by('month') - + monthly_data = report.monthly_data.filter(month__gt=0).order_by("month") + # Get source breakdowns source_breakdowns = report.source_breakdowns.all() - + data = { - 'report': { - 'id': str(report.id), - 'type': report.report_type, - 'type_display': report.get_report_type_display(), - 'year': report.year, - 'month': report.month, - 'kpi_id': report.kpi_id, - 'indicator_title': report.indicator_title, - 'target_percentage': float(report.target_percentage), - 'overall_result': float(report.overall_result), + "report": { + "id": str(report.id), + "type": report.report_type, + "type_display": report.get_report_type_display(), + "year": report.year, + "month": report.month, + "kpi_id": report.kpi_id, + "indicator_title": report.indicator_title, + "target_percentage": float(report.target_percentage), + "overall_result": float(report.overall_result), }, - 'monthly_data': [ + "monthly_data": [ { - 'month': m.month, - 'month_name': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', - 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][m.month - 1], - 'numerator': m.numerator, - 'denominator': m.denominator, - 'percentage': float(m.percentage), - 'is_below_target': m.is_below_target, + "month": m.month, + "month_name": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][ + m.month - 1 + ], + "numerator": m.numerator, + "denominator": m.denominator, + "percentage": float(m.percentage), + "is_below_target": m.is_below_target, } for m in monthly_data ], - 'source_breakdown': [ + "source_breakdown": [ { - 'source': s.source_name, - 'count': s.complaint_count, - 'percentage': float(s.percentage), + "source": s.source_name, + "count": s.complaint_count, + "percentage": float(s.percentage), } for s in source_breakdowns ], } - - return JsonResponse(data) + return JsonResponse(data) @login_required def kpi_report_ai_analysis(request, report_id): """ Generate or retrieve AI analysis for a KPI report. - + GET: Retrieve existing AI analysis POST: Generate new AI analysis """ from django.http import JsonResponse from .kpi_service import KPICalculationService - + user = request.user - report = get_object_or_404( - KPIReport.objects.select_related('hospital', 'generated_by'), - id=report_id - ) - + report = get_object_or_404(KPIReport.objects.select_related("hospital", "generated_by"), id=report_id) + # Check permissions if not user.is_px_admin() and user.hospital != report.hospital: - return JsonResponse({'error': 'Permission denied'}, status=403) - - if request.method == 'GET': + return JsonResponse({"error": "Permission denied"}, status=403) + + if request.method == "GET": # Return existing analysis if report.ai_analysis: - return JsonResponse({ - 'success': True, - 'analysis': report.ai_analysis, - 'generated_at': report.ai_analysis_generated_at.isoformat() if report.ai_analysis_generated_at else None - }) + return JsonResponse( + { + "success": True, + "analysis": report.ai_analysis, + "generated_at": report.ai_analysis_generated_at.isoformat() + if report.ai_analysis_generated_at + else None, + } + ) else: - return JsonResponse({ - 'success': False, - 'message': 'No AI analysis available. Use POST to generate.' - }, status=404) - - elif request.method == 'POST': + return JsonResponse( + {"success": False, "message": "No AI analysis available. Use POST to generate."}, status=404 + ) + + elif request.method == "POST": # Generate new analysis try: analysis = KPICalculationService.generate_ai_analysis(report) - - if 'error' in analysis: - return JsonResponse({ - 'success': False, - 'error': analysis['error'] - }, status=500) - - return JsonResponse({ - 'success': True, - 'analysis': analysis, - 'generated_at': report.ai_analysis_generated_at.isoformat() if report.ai_analysis_generated_at else None - }) - - except Exception as e: - return JsonResponse({ - 'success': False, - 'error': str(e) - }, status=500) - - return JsonResponse({'error': 'Method not allowed'}, status=405) + if "error" in analysis: + return JsonResponse({"success": False, "error": analysis["error"]}, status=500) + + return JsonResponse( + { + "success": True, + "analysis": analysis, + "generated_at": report.ai_analysis_generated_at.isoformat() + if report.ai_analysis_generated_at + else None, + } + ) + + except Exception as e: + return JsonResponse({"success": False, "error": str(e)}, status=500) + + return JsonResponse({"error": "Method not allowed"}, status=405) @login_required def kpi_report_save_analysis(request, report_id): """ Save edited AI analysis for a KPI report. - + POST: Save edited analysis JSON """ import json from django.http import JsonResponse - + user = request.user report = get_object_or_404(KPIReport, id=report_id) - + # Check permissions - only PX admins and hospital admins can edit if not user.is_px_admin() and user.hospital != report.hospital: - return JsonResponse({'error': 'Permission denied'}, status=403) - - if request.method != 'POST': - return JsonResponse({'error': 'Method not allowed'}, status=405) - + return JsonResponse({"error": "Permission denied"}, status=403) + + if request.method != "POST": + return JsonResponse({"error": "Method not allowed"}, status=405) + try: # Parse the edited analysis from request body body = json.loads(request.body) - edited_analysis = body.get('analysis') - + edited_analysis = body.get("analysis") + if not edited_analysis: - return JsonResponse({'error': 'No analysis data provided'}, status=400) - + return JsonResponse({"error": "No analysis data provided"}, status=400) + # Preserve metadata if it exists - if report.ai_analysis and '_metadata' in report.ai_analysis: - edited_analysis['_metadata'] = report.ai_analysis['_metadata'] - edited_analysis['_metadata']['last_edited_at'] = timezone.now().isoformat() - edited_analysis['_metadata']['last_edited_by'] = user.get_full_name() or user.email + if report.ai_analysis and "_metadata" in report.ai_analysis: + edited_analysis["_metadata"] = report.ai_analysis["_metadata"] + edited_analysis["_metadata"]["last_edited_at"] = timezone.now().isoformat() + edited_analysis["_metadata"]["last_edited_by"] = user.get_full_name() or user.email else: - edited_analysis['_metadata'] = { - 'generated_at': timezone.now().isoformat(), - 'report_id': str(report.id), - 'report_type': report.report_type, - 'hospital': report.hospital.name, - 'year': report.year, - 'month': report.month, - 'last_edited_at': timezone.now().isoformat(), - 'last_edited_by': user.get_full_name() or user.email + edited_analysis["_metadata"] = { + "generated_at": timezone.now().isoformat(), + "report_id": str(report.id), + "report_type": report.report_type, + "hospital": report.hospital.name, + "year": report.year, + "month": report.month, + "last_edited_at": timezone.now().isoformat(), + "last_edited_by": user.get_full_name() or user.email, } - + # Save to report report.ai_analysis = edited_analysis - report.save(update_fields=['ai_analysis']) - + report.save(update_fields=["ai_analysis"]) + logger.info(f"AI analysis edited for KPI report {report.id} by user {user.id}") - - return JsonResponse({ - 'success': True, - 'message': 'Analysis saved successfully' - }) - + + return JsonResponse({"success": True, "message": "Analysis saved successfully"}) + except json.JSONDecodeError: - return JsonResponse({'error': 'Invalid JSON data'}, status=400) + return JsonResponse({"error": "Invalid JSON data"}, status=400) except Exception as e: logger.exception(f"Error saving AI analysis for report {report.id}: {e}") - return JsonResponse({'error': str(e)}, status=500) + return JsonResponse({"error": str(e)}, status=500) diff --git a/apps/analytics/services/analytics_service.py b/apps/analytics/services/analytics_service.py index b0c38b5..a633334 100644 --- a/apps/analytics/services/analytics_service.py +++ b/apps/analytics/services/analytics_service.py @@ -4,6 +4,7 @@ Unified Analytics Service Provides comprehensive analytics and metrics for the PX Command Center Dashboard. Consolidates data from complaints, surveys, actions, physicians, and other modules. """ + from datetime import datetime, timedelta from typing import Dict, List, Optional, Any @@ -26,7 +27,7 @@ from apps.analytics.models import KPI, KPIValue class UnifiedAnalyticsService: """ Unified service for all PX360 analytics and KPIs. - + Provides methods to retrieve: - All KPIs with filters - Chart data for various visualizations @@ -35,10 +36,10 @@ class UnifiedAnalyticsService: - Sentiment analysis metrics - SLA compliance data """ - + # Cache timeout (in seconds) - 5 minutes for most data CACHE_TIMEOUT = 300 - + @staticmethod def _get_cache_key(prefix: str, **kwargs) -> str: """Generate cache key based on parameters""" @@ -47,82 +48,82 @@ class UnifiedAnalyticsService: if value is not None: parts.append(f"{key}:{value}") return ":".join(parts) - + @staticmethod def _get_date_range(date_range: str, custom_start=None, custom_end=None) -> tuple: """ Get start and end dates based on date_range parameter. - + Args: date_range: '7d', '30d', '90d', 'this_month', 'last_month', 'quarter', 'year', or 'custom' custom_start: Custom start date (required if date_range='custom') custom_end: Custom end date (required if date_range='custom') - + Returns: tuple: (start_date, end_date) """ now = timezone.now() - - if date_range == 'custom' and custom_start and custom_end: + + if date_range == "custom" and custom_start and custom_end: return custom_start, custom_end - + date_ranges = { - '7d': timedelta(days=7), - '30d': timedelta(days=30), - '90d': timedelta(days=90), + "7d": timedelta(days=7), + "30d": timedelta(days=30), + "90d": timedelta(days=90), } - + if date_range in date_ranges: end_date = now start_date = now - date_ranges[date_range] return start_date, end_date - - elif date_range == 'this_month': + + elif date_range == "this_month": start_date = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0) end_date = now return start_date, end_date - - elif date_range == 'last_month': + + elif date_range == "last_month": if now.month == 1: - start_date = now.replace(year=now.year-1, month=12, day=1, hour=0, minute=0, second=0, microsecond=0) - end_date = now.replace(year=now.year-1, month=12, day=31, hour=23, minute=59, second=59) + start_date = now.replace(year=now.year - 1, month=12, day=1, hour=0, minute=0, second=0, microsecond=0) + end_date = now.replace(year=now.year - 1, month=12, day=31, hour=23, minute=59, second=59) else: - start_date = now.replace(month=now.month-1, day=1, hour=0, minute=0, second=0, microsecond=0) + start_date = now.replace(month=now.month - 1, day=1, hour=0, minute=0, second=0, microsecond=0) # Get last day of previous month next_month = now.replace(day=1) last_day = (next_month - timedelta(days=1)).day - end_date = now.replace(month=now.month-1, day=last_day, hour=23, minute=59, second=59) + end_date = now.replace(month=now.month - 1, day=last_day, hour=23, minute=59, second=59) return start_date, end_date - - elif date_range == 'quarter': + + elif date_range == "quarter": current_quarter = (now.month - 1) // 3 start_month = current_quarter * 3 + 1 start_date = now.replace(month=start_month, day=1, hour=0, minute=0, second=0, microsecond=0) end_date = now return start_date, end_date - - elif date_range == 'year': + + elif date_range == "year": start_date = now.replace(month=1, day=1, hour=0, minute=0, second=0, microsecond=0) end_date = now return start_date, end_date - + # Default to 30 days return now - timedelta(days=30), now - + @staticmethod def _filter_by_role(queryset, user) -> Any: """ Filter queryset based on user role and permissions. - + Args: queryset: Django queryset user: User object - + Returns: Filtered queryset """ # Check if queryset has hospital/department fields - if hasattr(queryset.model, 'hospital'): + if hasattr(queryset.model, "hospital"): if user.is_px_admin(): pass # See all elif user.is_hospital_admin() and user.hospital: @@ -132,20 +133,20 @@ class UnifiedAnalyticsService: else: queryset = queryset.none() return queryset - + @staticmethod def get_all_kpis( user, - date_range: str = '30d', + date_range: str = "30d", hospital_id: Optional[str] = None, department_id: Optional[str] = None, kpi_category: Optional[str] = None, custom_start: Optional[datetime] = None, - custom_end: Optional[datetime] = None + custom_end: Optional[datetime] = None, ) -> Dict[str, Any]: """ Get all KPIs with applied filters. - + Args: user: Current user date_range: Date range filter @@ -154,80 +155,71 @@ class UnifiedAnalyticsService: kpi_category: Optional KPI category filter custom_start: Custom start date custom_end: Custom end date - + Returns: dict: All KPI values """ - start_date, end_date = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) - + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + cache_key = UnifiedAnalyticsService._get_cache_key( - 'all_kpis', + "all_kpis", user_id=user.id, date_range=date_range, hospital_id=hospital_id, department_id=department_id, - kpi_category=kpi_category + kpi_category=kpi_category, ) - + cached_data = cache.get(cache_key) if cached_data: return cached_data - + # Get base querysets with role filtering - complaints_qs = UnifiedAnalyticsService._filter_by_role( - Complaint.objects.all(), user - ).filter(created_at__gte=start_date, created_at__lte=end_date) - - actions_qs = UnifiedAnalyticsService._filter_by_role( - PXAction.objects.all(), user - ).filter(created_at__gte=start_date, created_at__lte=end_date) - - surveys_qs = UnifiedAnalyticsService._filter_by_role( - SurveyInstance.objects.all(), user - ).filter( - completed_at__gte=start_date, - completed_at__lte=end_date, - status='completed' + complaints_qs = UnifiedAnalyticsService._filter_by_role(Complaint.objects.all(), user).filter( + created_at__gte=start_date, created_at__lte=end_date ) - + + actions_qs = UnifiedAnalyticsService._filter_by_role(PXAction.objects.all(), user).filter( + created_at__gte=start_date, created_at__lte=end_date + ) + + surveys_qs = UnifiedAnalyticsService._filter_by_role(SurveyInstance.objects.all(), user).filter( + completed_at__gte=start_date, completed_at__lte=end_date, status="completed" + ) + # Apply additional filters if hospital_id: hospital = Hospital.objects.filter(id=hospital_id).first() if hospital: complaints_qs = complaints_qs.filter(hospital=hospital) actions_qs = actions_qs.filter(hospital=hospital) - surveys_qs = surveys_qs.filter(survey_template__hospital=hospital) - + surveys_qs = surveys_qs.filter(hospital=hospital) + if department_id: department = Department.objects.filter(id=department_id).first() if department: complaints_qs = complaints_qs.filter(department=department) actions_qs = actions_qs.filter(department=department) surveys_qs = surveys_qs.filter(journey_stage_instance__department=department) - + # Calculate KPIs kpis = { # Complaints KPIs - 'total_complaints': int(complaints_qs.count()), - 'open_complaints': int(complaints_qs.filter(status__in=['open', 'in_progress']).count()), - 'overdue_complaints': int(complaints_qs.filter(is_overdue=True).count()), - 'high_severity_complaints': int(complaints_qs.filter(severity__in=['high', 'critical']).count()), - 'resolved_complaints': int(complaints_qs.filter(status__in=['resolved', 'closed']).count()), - + "total_complaints": int(complaints_qs.count()), + "open_complaints": int(complaints_qs.filter(status__in=["open", "in_progress"]).count()), + "overdue_complaints": int(complaints_qs.filter(is_overdue=True).count()), + "high_severity_complaints": int(complaints_qs.filter(severity__in=["high", "critical"]).count()), + "resolved_complaints": int(complaints_qs.filter(status__in=["resolved", "closed"]).count()), # Actions KPIs - 'total_actions': int(actions_qs.count()), - 'open_actions': int(actions_qs.filter(status__in=['open', 'in_progress']).count()), - 'overdue_actions': int(actions_qs.filter(is_overdue=True).count()), - 'escalated_actions': int(actions_qs.filter(escalation_level__gt=0).count()), - 'resolved_actions': int(actions_qs.filter(status='completed').count()), - + "total_actions": int(actions_qs.count()), + "open_actions": int(actions_qs.filter(status__in=["open", "in_progress"]).count()), + "overdue_actions": int(actions_qs.filter(is_overdue=True).count()), + "escalated_actions": int(actions_qs.filter(escalation_level__gt=0).count()), + "resolved_actions": int(actions_qs.filter(status="completed").count()), # Survey KPIs - 'total_surveys': int(surveys_qs.count()), - 'negative_surveys': int(surveys_qs.filter(is_negative=True).count()), - 'avg_survey_score': float(surveys_qs.aggregate(avg=Avg('total_score'))['avg'] or 0), - + "total_surveys": int(surveys_qs.count()), + "negative_surveys": int(surveys_qs.filter(is_negative=True).count()), + "avg_survey_score": float(surveys_qs.aggregate(avg=Avg("total_score"))["avg"] or 0), # Social Media KPIs # Sentiment is stored in ai_analysis JSON field as ai_analysis.sentiment 'negative_social_comments': int(SocialComment.objects.filter( @@ -237,60 +229,52 @@ class UnifiedAnalyticsService: ).count()), # Call Center KPIs - 'low_call_ratings': int(CallCenterInteraction.objects.filter( - is_low_rating=True, - call_started_at__gte=start_date, - call_started_at__lte=end_date - ).count()), - + "low_call_ratings": int( + CallCenterInteraction.objects.filter( + is_low_rating=True, call_started_at__gte=start_date, call_started_at__lte=end_date + ).count() + ), # Sentiment KPIs - 'total_sentiment_analyses': int(SentimentResult.objects.filter( - created_at__gte=start_date, - created_at__lte=end_date - ).count()), + "total_sentiment_analyses": int( + SentimentResult.objects.filter(created_at__gte=start_date, created_at__lte=end_date).count() + ), } - + # Add trends (compare with previous period) - prev_start, prev_end = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) + prev_start, prev_end = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) # Shift back by same duration duration = end_date - start_date prev_start = start_date - duration prev_end = end_date - duration - - prev_complaints = int(complaints_qs.filter( - created_at__gte=prev_start, - created_at__lte=prev_end - ).count()) - - kpis['complaints_trend'] = { - 'current': kpis['total_complaints'], - 'previous': prev_complaints, - 'percentage_change': float( - ((kpis['total_complaints'] - prev_complaints) / prev_complaints * 100) - if prev_complaints > 0 else 0 - ) + + prev_complaints = int(complaints_qs.filter(created_at__gte=prev_start, created_at__lte=prev_end).count()) + + kpis["complaints_trend"] = { + "current": kpis["total_complaints"], + "previous": prev_complaints, + "percentage_change": float( + ((kpis["total_complaints"] - prev_complaints) / prev_complaints * 100) if prev_complaints > 0 else 0 + ), } - + # Cache the results cache.set(cache_key, kpis, UnifiedAnalyticsService.CACHE_TIMEOUT) - + return kpis - + @staticmethod def get_chart_data( user, chart_type: str, - date_range: str = '30d', + date_range: str = "30d", hospital_id: Optional[str] = None, department_id: Optional[str] = None, custom_start: Optional[datetime] = None, - custom_end: Optional[datetime] = None + custom_end: Optional[datetime] = None, ) -> Dict[str, Any]: """ Get data for specific chart types. - + Args: user: Current user chart_type: Type of chart ('complaints_trend', 'sla_compliance', 'survey_satisfaction', etc.) @@ -299,95 +283,85 @@ class UnifiedAnalyticsService: department_id: Optional department filter custom_start: Custom start date custom_end: Custom end date - + Returns: dict: Chart data in format suitable for ApexCharts """ - start_date, end_date = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) - + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + cache_key = UnifiedAnalyticsService._get_cache_key( - f'chart_{chart_type}', + f"chart_{chart_type}", user_id=user.id, date_range=date_range, hospital_id=hospital_id, - department_id=department_id + department_id=department_id, ) - + cached_data = cache.get(cache_key) if cached_data: return cached_data - + # Get base complaint queryset - complaints_qs = UnifiedAnalyticsService._filter_by_role( - Complaint.objects.all(), user - ).filter(created_at__gte=start_date, created_at__lte=end_date) - - surveys_qs = UnifiedAnalyticsService._filter_by_role( - SurveyInstance.objects.all(), user - ).filter( - completed_at__gte=start_date, - completed_at__lte=end_date, - status='completed' + complaints_qs = UnifiedAnalyticsService._filter_by_role(Complaint.objects.all(), user).filter( + created_at__gte=start_date, created_at__lte=end_date ) - + + surveys_qs = UnifiedAnalyticsService._filter_by_role(SurveyInstance.objects.all(), user).filter( + completed_at__gte=start_date, completed_at__lte=end_date, status="completed" + ) + # Apply filters if hospital_id: complaints_qs = complaints_qs.filter(hospital_id=hospital_id) - surveys_qs = surveys_qs.filter(survey_template__hospital_id=hospital_id) - + surveys_qs = surveys_qs.filter(hospital_id=hospital_id) + if department_id: complaints_qs = complaints_qs.filter(department_id=department_id) surveys_qs = surveys_qs.filter(journey_stage_instance__department_id=department_id) - - if chart_type == 'complaints_trend': + + if chart_type == "complaints_trend": data = UnifiedAnalyticsService._get_complaints_trend(complaints_qs, start_date, end_date) - - elif chart_type == 'complaints_by_category': + + elif chart_type == "complaints_by_category": data = UnifiedAnalyticsService._get_complaints_by_category(complaints_qs) - - elif chart_type == 'complaints_by_severity': + + elif chart_type == "complaints_by_severity": data = UnifiedAnalyticsService._get_complaints_by_severity(complaints_qs) - - elif chart_type == 'sla_compliance': + + elif chart_type == "sla_compliance": data = ComplaintAnalytics.get_sla_compliance( - hospital_id and Hospital.objects.filter(id=hospital_id).first(), - days=(end_date - start_date).days + hospital_id and Hospital.objects.filter(id=hospital_id).first(), days=(end_date - start_date).days ) - - elif chart_type == 'resolution_rate': + + elif chart_type == "resolution_rate": data = ComplaintAnalytics.get_resolution_rate( - hospital_id and Hospital.objects.filter(id=hospital_id).first(), - days=(end_date - start_date).days + hospital_id and Hospital.objects.filter(id=hospital_id).first(), days=(end_date - start_date).days ) - - elif chart_type == 'survey_satisfaction_trend': + + elif chart_type == "survey_satisfaction_trend": data = UnifiedAnalyticsService._get_survey_satisfaction_trend(surveys_qs, start_date, end_date) - - elif chart_type == 'survey_distribution': + + elif chart_type == "survey_distribution": data = UnifiedAnalyticsService._get_survey_distribution(surveys_qs) - - elif chart_type == 'sentiment_distribution': + + elif chart_type == "sentiment_distribution": data = UnifiedAnalyticsService._get_sentiment_distribution(start_date, end_date) - - elif chart_type == 'department_performance': - data = UnifiedAnalyticsService._get_department_performance( - user, start_date, end_date, hospital_id - ) - - elif chart_type == 'physician_leaderboard': + + elif chart_type == "department_performance": + data = UnifiedAnalyticsService._get_department_performance(user, start_date, end_date, hospital_id) + + elif chart_type == "physician_leaderboard": data = UnifiedAnalyticsService._get_physician_leaderboard( user, start_date, end_date, hospital_id, department_id, limit=10 ) - + else: - data = {'error': f'Unknown chart type: {chart_type}'} - + data = {"error": f"Unknown chart type: {chart_type}"} + cache.set(cache_key, data, UnifiedAnalyticsService.CACHE_TIMEOUT) - + return data - + @staticmethod def _get_complaints_trend(queryset, start_date, end_date) -> Dict[str, Any]: """Get complaints trend over time (grouped by day)""" @@ -395,55 +369,40 @@ class UnifiedAnalyticsService: current_date = start_date while current_date <= end_date: next_date = current_date + timedelta(days=1) - count = queryset.filter( - created_at__gte=current_date, - created_at__lt=next_date - ).count() - data.append({ - 'date': current_date.strftime('%Y-%m-%d'), - 'count': count - }) + count = queryset.filter(created_at__gte=current_date, created_at__lt=next_date).count() + data.append({"date": current_date.strftime("%Y-%m-%d"), "count": count}) current_date = next_date - + return { - 'type': 'line', - 'labels': [d['date'] for d in data], - 'series': [{'name': 'Complaints', 'data': [d['count'] for d in data]}] + "type": "line", + "labels": [d["date"] for d in data], + "series": [{"name": "Complaints", "data": [d["count"] for d in data]}], } - + @staticmethod def _get_complaints_by_category(queryset) -> Dict[str, Any]: """Get complaints breakdown by category""" - categories = queryset.values('category').annotate( - count=Count('id') - ).order_by('-count') - + categories = queryset.values("category").annotate(count=Count("id")).order_by("-count") + return { - 'type': 'donut', - 'labels': [c['category'] or 'Uncategorized' for c in categories], - 'series': [c['count'] for c in categories] + "type": "donut", + "labels": [c["category"] or "Uncategorized" for c in categories], + "series": [c["count"] for c in categories], } - + @staticmethod def _get_complaints_by_severity(queryset) -> Dict[str, Any]: """Get complaints breakdown by severity""" - severity_counts = queryset.values('severity').annotate( - count=Count('id') - ).order_by('-count') - - severity_labels = { - 'low': 'Low', - 'medium': 'Medium', - 'high': 'High', - 'critical': 'Critical' - } - + severity_counts = queryset.values("severity").annotate(count=Count("id")).order_by("-count") + + severity_labels = {"low": "Low", "medium": "Medium", "high": "High", "critical": "Critical"} + return { - 'type': 'pie', - 'labels': [severity_labels.get(s['severity'], s['severity']) for s in severity_counts], - 'series': [s['count'] for s in severity_counts] + "type": "pie", + "labels": [severity_labels.get(s["severity"], s["severity"]) for s in severity_counts], + "series": [s["count"] for s in severity_counts], } - + @staticmethod def _get_survey_satisfaction_trend(queryset, start_date, end_date) -> Dict[str, Any]: """Get survey satisfaction trend over time""" @@ -451,56 +410,50 @@ class UnifiedAnalyticsService: current_date = start_date while current_date <= end_date: next_date = current_date + timedelta(days=1) - avg_score = queryset.filter( - completed_at__gte=current_date, - completed_at__lt=next_date - ).aggregate(avg=Avg('total_score'))['avg'] or 0 - data.append({ - 'date': current_date.strftime('%Y-%m-%d'), - 'score': round(avg_score, 2) - }) + avg_score = ( + queryset.filter(completed_at__gte=current_date, completed_at__lt=next_date).aggregate( + avg=Avg("total_score") + )["avg"] + or 0 + ) + data.append({"date": current_date.strftime("%Y-%m-%d"), "score": round(avg_score, 2)}) current_date = next_date - + return { - 'type': 'line', - 'labels': [d['date'] for d in data], - 'series': [{'name': 'Satisfaction', 'data': [d['score'] for d in data]}] + "type": "line", + "labels": [d["date"] for d in data], + "series": [{"name": "Satisfaction", "data": [d["score"] for d in data]}], } - + @staticmethod def _get_survey_distribution(queryset) -> Dict[str, Any]: """Get survey distribution by satisfaction level""" distribution = { - 'excellent': queryset.filter(total_score__gte=4.5).count(), - 'good': queryset.filter(total_score__gte=3.5, total_score__lt=4.5).count(), - 'average': queryset.filter(total_score__gte=2.5, total_score__lt=3.5).count(), - 'poor': queryset.filter(total_score__lt=2.5).count(), + "excellent": queryset.filter(total_score__gte=4.5).count(), + "good": queryset.filter(total_score__gte=3.5, total_score__lt=4.5).count(), + "average": queryset.filter(total_score__gte=2.5, total_score__lt=3.5).count(), + "poor": queryset.filter(total_score__lt=2.5).count(), } - + return { - 'type': 'donut', - 'labels': ['Excellent', 'Good', 'Average', 'Poor'], - 'series': [ - distribution['excellent'], - distribution['good'], - distribution['average'], - distribution['poor'] - ] + "type": "donut", + "labels": ["Excellent", "Good", "Average", "Poor"], + "series": [distribution["excellent"], distribution["good"], distribution["average"], distribution["poor"]], } - + @staticmethod def get_staff_performance_metrics( user, - date_range: str = '30d', + date_range: str = "30d", hospital_id: Optional[str] = None, department_id: Optional[str] = None, staff_ids: Optional[List[str]] = None, custom_start: Optional[datetime] = None, - custom_end: Optional[datetime] = None + custom_end: Optional[datetime] = None, ) -> Dict[str, Any]: """ Get performance metrics for staff members. - + Args: user: Current user date_range: Date range filter @@ -509,110 +462,114 @@ class UnifiedAnalyticsService: staff_ids: Optional list of specific staff IDs to evaluate custom_start: Custom start date custom_end: Custom end date - + Returns: dict: Staff performance metrics with complaints and inquiries data """ from apps.accounts.models import User - - start_date, end_date = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) - + + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + # Get staff queryset staff_qs = User.objects.all() - + # Filter by role if not user.is_px_admin() and user.hospital: staff_qs = staff_qs.filter(hospital=user.hospital) - + # Apply filters if hospital_id: staff_qs = staff_qs.filter(hospital_id=hospital_id) - + if department_id: staff_qs = staff_qs.filter(department_id=department_id) - + if staff_ids: staff_qs = staff_qs.filter(id__in=staff_ids) - + # Only staff with assigned complaints or inquiries - staff_qs = staff_qs.filter( - Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False) - ).distinct().prefetch_related('assigned_complaints', 'assigned_inquiries') - + staff_qs = ( + staff_qs.filter(Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False)) + .distinct() + .prefetch_related("assigned_complaints", "assigned_inquiries") + ) + staff_metrics = [] - + for staff_member in staff_qs: # Get complaints assigned to this staff complaints = Complaint.objects.filter( - assigned_to=staff_member, - created_at__gte=start_date, - created_at__lte=end_date + assigned_to=staff_member, created_at__gte=start_date, created_at__lte=end_date ) - + # Get inquiries assigned to this staff inquiries = Inquiry.objects.filter( - assigned_to=staff_member, - created_at__gte=start_date, - created_at__lte=end_date + assigned_to=staff_member, created_at__gte=start_date, created_at__lte=end_date ) - + # Calculate complaint metrics complaint_metrics = UnifiedAnalyticsService._calculate_complaint_metrics(complaints) - + # Calculate inquiry metrics inquiry_metrics = UnifiedAnalyticsService._calculate_inquiry_metrics(inquiries) - - staff_metrics.append({ - 'id': str(staff_member.id), - 'name': f"{staff_member.first_name} {staff_member.last_name}", - 'email': staff_member.email, - 'hospital': staff_member.hospital.name if staff_member.hospital else None, - 'department': staff_member.department.name if staff_member.department else None, - 'complaints': complaint_metrics, - 'inquiries': inquiry_metrics - }) - + + staff_metrics.append( + { + "id": str(staff_member.id), + "name": f"{staff_member.first_name} {staff_member.last_name}", + "email": staff_member.email, + "hospital": staff_member.hospital.name if staff_member.hospital else None, + "department": staff_member.department.name if staff_member.department else None, + "complaints": complaint_metrics, + "inquiries": inquiry_metrics, + } + ) + return { - 'staff_metrics': staff_metrics, - 'start_date': start_date.isoformat(), - 'end_date': end_date.isoformat(), - 'date_range': date_range + "staff_metrics": staff_metrics, + "start_date": start_date.isoformat(), + "end_date": end_date.isoformat(), + "date_range": date_range, } - + @staticmethod def _calculate_complaint_metrics(complaints_qs) -> Dict[str, Any]: """Calculate detailed metrics for complaints""" total = complaints_qs.count() - + if total == 0: return { - 'total': 0, - 'internal': 0, - 'external': 0, - 'status': {'open': 0, 'in_progress': 0, 'resolved': 0, 'closed': 0}, - 'activation_time': {'within_2h': 0, 'more_than_2h': 0, 'not_assigned': 0}, - 'response_time': {'within_24h': 0, 'within_48h': 0, 'within_72h': 0, 'more_than_72h': 0, 'not_responded': 0} + "total": 0, + "internal": 0, + "external": 0, + "status": {"open": 0, "in_progress": 0, "resolved": 0, "closed": 0}, + "activation_time": {"within_2h": 0, "more_than_2h": 0, "not_assigned": 0}, + "response_time": { + "within_24h": 0, + "within_48h": 0, + "within_72h": 0, + "more_than_72h": 0, + "not_responded": 0, + }, } - + # Source breakdown - internal_count = complaints_qs.filter(source__name_en='staff').count() + internal_count = complaints_qs.filter(source__name_en="staff").count() external_count = total - internal_count - + # Status breakdown status_counts = { - 'open': complaints_qs.filter(status='open').count(), - 'in_progress': complaints_qs.filter(status='in_progress').count(), - 'resolved': complaints_qs.filter(status='resolved').count(), - 'closed': complaints_qs.filter(status='closed').count() + "open": complaints_qs.filter(status="open").count(), + "in_progress": complaints_qs.filter(status="in_progress").count(), + "resolved": complaints_qs.filter(status="resolved").count(), + "closed": complaints_qs.filter(status="closed").count(), } - + # Activation time (assigned_at - created_at) activation_within_2h = 0 activation_more_than_2h = 0 not_assigned = 0 - + for complaint in complaints_qs: if complaint.assigned_at: activation_time = (complaint.assigned_at - complaint.created_at).total_seconds() @@ -622,14 +579,14 @@ class UnifiedAnalyticsService: activation_more_than_2h += 1 else: not_assigned += 1 - + # Response time (time to first update) response_within_24h = 0 response_within_48h = 0 response_within_72h = 0 response_more_than_72h = 0 not_responded = 0 - + for complaint in complaints_qs: first_update = complaint.updates.first() if first_update: @@ -644,53 +601,59 @@ class UnifiedAnalyticsService: response_more_than_72h += 1 else: not_responded += 1 - + return { - 'total': total, - 'internal': internal_count, - 'external': external_count, - 'status': status_counts, - 'activation_time': { - 'within_2h': activation_within_2h, - 'more_than_2h': activation_more_than_2h, - 'not_assigned': not_assigned + "total": total, + "internal": internal_count, + "external": external_count, + "status": status_counts, + "activation_time": { + "within_2h": activation_within_2h, + "more_than_2h": activation_more_than_2h, + "not_assigned": not_assigned, + }, + "response_time": { + "within_24h": response_within_24h, + "within_48h": response_within_48h, + "within_72h": response_within_72h, + "more_than_72h": response_more_than_72h, + "not_responded": not_responded, }, - 'response_time': { - 'within_24h': response_within_24h, - 'within_48h': response_within_48h, - 'within_72h': response_within_72h, - 'more_than_72h': response_more_than_72h, - 'not_responded': not_responded - } } - + @staticmethod def _calculate_inquiry_metrics(inquiries_qs) -> Dict[str, Any]: """Calculate detailed metrics for inquiries""" total = inquiries_qs.count() - + if total == 0: return { - 'total': 0, - 'status': {'open': 0, 'in_progress': 0, 'resolved': 0, 'closed': 0}, - 'response_time': {'within_24h': 0, 'within_48h': 0, 'within_72h': 0, 'more_than_72h': 0, 'not_responded': 0} + "total": 0, + "status": {"open": 0, "in_progress": 0, "resolved": 0, "closed": 0}, + "response_time": { + "within_24h": 0, + "within_48h": 0, + "within_72h": 0, + "more_than_72h": 0, + "not_responded": 0, + }, } - + # Status breakdown status_counts = { - 'open': inquiries_qs.filter(status='open').count(), - 'in_progress': inquiries_qs.filter(status='in_progress').count(), - 'resolved': inquiries_qs.filter(status='resolved').count(), - 'closed': inquiries_qs.filter(status='closed').count() + "open": inquiries_qs.filter(status="open").count(), + "in_progress": inquiries_qs.filter(status="in_progress").count(), + "resolved": inquiries_qs.filter(status="resolved").count(), + "closed": inquiries_qs.filter(status="closed").count(), } - + # Response time (responded_at - created_at) response_within_24h = 0 response_within_48h = 0 response_within_72h = 0 response_more_than_72h = 0 not_responded = 0 - + for inquiry in inquiries_qs: if inquiry.responded_at: response_time = (inquiry.responded_at - inquiry.created_at).total_seconds() @@ -704,403 +667,388 @@ class UnifiedAnalyticsService: response_more_than_72h += 1 else: not_responded += 1 - + return { - 'total': total, - 'status': status_counts, - 'response_time': { - 'within_24h': response_within_24h, - 'within_48h': response_within_48h, - 'within_72h': response_within_72h, - 'more_than_72h': response_more_than_72h, - 'not_responded': not_responded - } + "total": total, + "status": status_counts, + "response_time": { + "within_24h": response_within_24h, + "within_48h": response_within_48h, + "within_72h": response_within_72h, + "more_than_72h": response_more_than_72h, + "not_responded": not_responded, + }, } - + @staticmethod def _get_sentiment_distribution(start_date, end_date) -> Dict[str, Any]: """Get sentiment analysis distribution""" - queryset = SentimentResult.objects.filter( - created_at__gte=start_date, - created_at__lte=end_date - ) - - distribution = queryset.values('sentiment').annotate( - count=Count('id') - ) - - sentiment_labels = { - 'positive': 'Positive', - 'neutral': 'Neutral', - 'negative': 'Negative' - } - - sentiment_order = ['positive', 'neutral', 'negative'] - + queryset = SentimentResult.objects.filter(created_at__gte=start_date, created_at__lte=end_date) + + distribution = queryset.values("sentiment").annotate(count=Count("id")) + + sentiment_labels = {"positive": "Positive", "neutral": "Neutral", "negative": "Negative"} + + sentiment_order = ["positive", "neutral", "negative"] + return { - 'type': 'donut', - 'labels': [sentiment_labels.get(s['sentiment'], s['sentiment']) for s in distribution], - 'series': [s['count'] for s in distribution] + "type": "donut", + "labels": [sentiment_labels.get(s["sentiment"], s["sentiment"]) for s in distribution], + "series": [s["count"] for s in distribution], } - + @staticmethod - def _get_department_performance( - user, start_date, end_date, hospital_id: Optional[str] = None - ) -> Dict[str, Any]: + def _get_department_performance(user, start_date, end_date, hospital_id: Optional[str] = None) -> Dict[str, Any]: """Get department performance rankings""" - queryset = Department.objects.filter(status='active') - + queryset = Department.objects.filter(status="active") + if hospital_id: queryset = queryset.filter(hospital_id=hospital_id) elif not user.is_px_admin() and user.hospital: queryset = queryset.filter(hospital=user.hospital) - + # Annotate with survey data # SurveyInstance links to PatientJourneyInstance which has department field - departments = queryset.annotate( - avg_survey_score=Avg( - 'journey_instances__surveys__total_score', - filter=Q(journey_instances__surveys__status='completed', + departments = ( + queryset.annotate( + avg_survey_score=Avg( + "journey_instances__surveys__total_score", + filter=Q( + journey_instances__surveys__status="completed", journey_instances__surveys__completed_at__gte=start_date, - journey_instances__surveys__completed_at__lte=end_date) - ), - survey_count=Count( - 'journey_instances__surveys', - filter=Q(journey_instances__surveys__status='completed', + journey_instances__surveys__completed_at__lte=end_date, + ), + ), + survey_count=Count( + "journey_instances__surveys", + filter=Q( + journey_instances__surveys__status="completed", journey_instances__surveys__completed_at__gte=start_date, - journey_instances__surveys__completed_at__lte=end_date) + journey_instances__surveys__completed_at__lte=end_date, + ), + ), ) - ).filter(survey_count__gt=0).order_by('-avg_survey_score')[:10] - + .filter(survey_count__gt=0) + .order_by("-avg_survey_score")[:10] + ) + return { - 'type': 'bar', - 'labels': [d.name for d in departments], - 'series': [{ - 'name': 'Average Score', - 'data': [round(d.avg_survey_score or 0, 2) for d in departments] - }] + "type": "bar", + "labels": [d.name for d in departments], + "series": [{"name": "Average Score", "data": [round(d.avg_survey_score or 0, 2) for d in departments]}], } - + @staticmethod def _get_physician_leaderboard( - user, start_date, end_date, hospital_id: Optional[str] = None, - department_id: Optional[str] = None, limit: int = 10 + user, + start_date, + end_date, + hospital_id: Optional[str] = None, + department_id: Optional[str] = None, + limit: int = 10, ) -> Dict[str, Any]: """Get physician leaderboard for the current period""" now = timezone.now() - queryset = PhysicianMonthlyRating.objects.filter( - year=now.year, - month=now.month - ).select_related('staff', 'staff__hospital', 'staff__department') - + queryset = PhysicianMonthlyRating.objects.filter(year=now.year, month=now.month).select_related( + "staff", "staff__hospital", "staff__department" + ) + # Apply RBAC filters if not user.is_px_admin() and user.hospital: queryset = queryset.filter(staff__hospital=user.hospital) - + if hospital_id: queryset = queryset.filter(staff__hospital_id=hospital_id) - + if department_id: queryset = queryset.filter(staff__department_id=department_id) - - queryset = queryset.order_by('-average_rating')[:limit] - + + queryset = queryset.order_by("-average_rating")[:limit] + return { - 'type': 'bar', - 'labels': [f"{r.staff.first_name} {r.staff.last_name}" for r in queryset], - 'series': [{ - 'name': 'Rating', - 'data': [float(round(r.average_rating, 2)) for r in queryset] - }], - 'metadata': [ + "type": "bar", + "labels": [f"{r.staff.first_name} {r.staff.last_name}" for r in queryset], + "series": [{"name": "Rating", "data": [float(round(r.average_rating, 2)) for r in queryset]}], + "metadata": [ { - 'name': f"{r.staff.first_name} {r.staff.last_name}", - 'physician_id': str(r.staff.id), - 'specialization': r.staff.specialization, - 'department': r.staff.department.name if r.staff.department else None, - 'rating': float(round(r.average_rating, 2)), - 'surveys': int(r.total_surveys) if r.total_surveys is not None else 0, - 'positive': int(r.positive_count) if r.positive_count is not None else 0, - 'neutral': int(r.neutral_count) if r.neutral_count is not None else 0, - 'negative': int(r.negative_count) if r.negative_count is not None else 0 + "name": f"{r.staff.first_name} {r.staff.last_name}", + "physician_id": str(r.staff.id), + "specialization": r.staff.specialization, + "department": r.staff.department.name if r.staff.department else None, + "rating": float(round(r.average_rating, 2)), + "surveys": int(r.total_surveys) if r.total_surveys is not None else 0, + "positive": int(r.positive_count) if r.positive_count is not None else 0, + "neutral": int(r.neutral_count) if r.neutral_count is not None else 0, + "negative": int(r.negative_count) if r.negative_count is not None else 0, } for r in queryset - ] + ], } - # ============================================================================ # ENHANCED ADMIN EVALUATION - Staff Performance Analytics # ============================================================================ - + @staticmethod def get_staff_detailed_performance( staff_id: str, user, - date_range: str = '30d', + date_range: str = "30d", custom_start: Optional[datetime] = None, - custom_end: Optional[datetime] = None + custom_end: Optional[datetime] = None, ) -> Dict[str, Any]: """ Get detailed performance metrics for a single staff member. - + Args: staff_id: Staff member UUID user: Current user (for permission checking) date_range: Date range filter custom_start: Custom start date custom_end: Custom end date - + Returns: dict: Detailed performance metrics with timeline """ from apps.accounts.models import User - - start_date, end_date = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) - - staff = User.objects.select_related('hospital', 'department').get(id=staff_id) - + + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + + staff = User.objects.select_related("hospital", "department").get(id=staff_id) + # Check permissions if not user.is_px_admin(): if user.hospital and staff.hospital != user.hospital: raise PermissionError("Cannot view staff from other hospitals") - + # Get complaints with timeline complaints = Complaint.objects.filter( - assigned_to=staff, - created_at__gte=start_date, - created_at__lte=end_date - ).order_by('created_at') - + assigned_to=staff, created_at__gte=start_date, created_at__lte=end_date + ).order_by("created_at") + # Get inquiries with timeline inquiries = Inquiry.objects.filter( - assigned_to=staff, - created_at__gte=start_date, - created_at__lte=end_date - ).order_by('created_at') - + assigned_to=staff, created_at__gte=start_date, created_at__lte=end_date + ).order_by("created_at") + # Calculate daily workload for trend daily_stats = {} current = start_date.date() end = end_date.date() - + while current <= end: daily_stats[current.isoformat()] = { - 'complaints_created': 0, - 'complaints_resolved': 0, - 'inquiries_created': 0, - 'inquiries_resolved': 0 + "complaints_created": 0, + "complaints_resolved": 0, + "inquiries_created": 0, + "inquiries_resolved": 0, } current += timedelta(days=1) - + for c in complaints: date_key = c.created_at.date().isoformat() if date_key in daily_stats: - daily_stats[date_key]['complaints_created'] += 1 - if c.status in ['resolved', 'closed'] and c.resolved_at: + daily_stats[date_key]["complaints_created"] += 1 + if c.status in ["resolved", "closed"] and c.resolved_at: resolve_key = c.resolved_at.date().isoformat() if resolve_key in daily_stats: - daily_stats[resolve_key]['complaints_resolved'] += 1 - + daily_stats[resolve_key]["complaints_resolved"] += 1 + for i in inquiries: date_key = i.created_at.date().isoformat() if date_key in daily_stats: - daily_stats[date_key]['inquiries_created'] += 1 - if i.status in ['resolved', 'closed'] and i.responded_at: + daily_stats[date_key]["inquiries_created"] += 1 + if i.status in ["resolved", "closed"] and i.responded_at: respond_key = i.responded_at.date().isoformat() if respond_key in daily_stats: - daily_stats[respond_key]['inquiries_resolved'] += 1 - + daily_stats[respond_key]["inquiries_resolved"] += 1 + # Calculate performance score (0-100) complaint_metrics = UnifiedAnalyticsService._calculate_complaint_metrics(complaints) inquiry_metrics = UnifiedAnalyticsService._calculate_inquiry_metrics(inquiries) - - performance_score = UnifiedAnalyticsService._calculate_performance_score( - complaint_metrics, inquiry_metrics - ) - + + performance_score = UnifiedAnalyticsService._calculate_performance_score(complaint_metrics, inquiry_metrics) + # Get recent items - recent_complaints = complaints.select_related('patient', 'hospital').order_by('-created_at')[:10] - recent_inquiries = inquiries.select_related('patient', 'hospital').order_by('-created_at')[:10] - + recent_complaints = complaints.select_related("patient", "hospital").order_by("-created_at")[:10] + recent_inquiries = inquiries.select_related("patient", "hospital").order_by("-created_at")[:10] + return { - 'staff': { - 'id': str(staff.id), - 'name': f"{staff.first_name} {staff.last_name}", - 'email': staff.email, - 'hospital': staff.hospital.name if staff.hospital else None, - 'department': staff.department.name if staff.department else None, - 'role': staff.get_role_names()[0] if staff.get_role_names() else 'Staff' + "staff": { + "id": str(staff.id), + "name": f"{staff.first_name} {staff.last_name}", + "email": staff.email, + "hospital": staff.hospital.name if staff.hospital else None, + "department": staff.department.name if staff.department else None, + "role": staff.get_role_names()[0] if staff.get_role_names() else "Staff", }, - 'performance_score': performance_score, - 'period': { - 'start': start_date.isoformat(), - 'end': end_date.isoformat(), - 'days': (end_date - start_date).days + "performance_score": performance_score, + "period": { + "start": start_date.isoformat(), + "end": end_date.isoformat(), + "days": (end_date - start_date).days, }, - 'summary': { - 'total_complaints': complaint_metrics['total'], - 'total_inquiries': inquiry_metrics['total'], - 'complaint_resolution_rate': round( - (complaint_metrics['status']['resolved'] + complaint_metrics['status']['closed']) / - max(complaint_metrics['total'], 1) * 100, 1 + "summary": { + "total_complaints": complaint_metrics["total"], + "total_inquiries": inquiry_metrics["total"], + "complaint_resolution_rate": round( + (complaint_metrics["status"]["resolved"] + complaint_metrics["status"]["closed"]) + / max(complaint_metrics["total"], 1) + * 100, + 1, + ), + "inquiry_resolution_rate": round( + (inquiry_metrics["status"]["resolved"] + inquiry_metrics["status"]["closed"]) + / max(inquiry_metrics["total"], 1) + * 100, + 1, ), - 'inquiry_resolution_rate': round( - (inquiry_metrics['status']['resolved'] + inquiry_metrics['status']['closed']) / - max(inquiry_metrics['total'], 1) * 100, 1 - ) }, - 'complaint_metrics': complaint_metrics, - 'inquiry_metrics': inquiry_metrics, - 'daily_trends': daily_stats, - 'recent_complaints': [ + "complaint_metrics": complaint_metrics, + "inquiry_metrics": inquiry_metrics, + "daily_trends": daily_stats, + "recent_complaints": [ { - 'id': str(c.id), - 'title': c.title, - 'status': c.status, - 'severity': c.severity, - 'created_at': c.created_at.isoformat(), - 'patient': c.patient.get_full_name() if c.patient else None + "id": str(c.id), + "title": c.title, + "status": c.status, + "severity": c.severity, + "created_at": c.created_at.isoformat(), + "patient": c.patient.get_full_name() if c.patient else None, } for c in recent_complaints ], - 'recent_inquiries': [ + "recent_inquiries": [ { - 'id': str(i.id), - 'subject': i.subject, - 'status': i.status, - 'created_at': i.created_at.isoformat(), - 'patient': i.patient.get_full_name() if i.patient else None + "id": str(i.id), + "subject": i.subject, + "status": i.status, + "created_at": i.created_at.isoformat(), + "patient": i.patient.get_full_name() if i.patient else None, } for i in recent_inquiries - ] + ], } - + @staticmethod def _calculate_performance_score(complaint_metrics: Dict, inquiry_metrics: Dict) -> Dict[str, Any]: """ Calculate an overall performance score (0-100) based on multiple factors. - + Returns score breakdown and overall rating. """ scores = { - 'complaint_resolution': 0, - 'complaint_response_time': 0, - 'complaint_activation_time': 0, - 'inquiry_resolution': 0, - 'inquiry_response_time': 0, - 'workload': 0 + "complaint_resolution": 0, + "complaint_response_time": 0, + "complaint_activation_time": 0, + "inquiry_resolution": 0, + "inquiry_response_time": 0, + "workload": 0, } - - total_complaints = complaint_metrics['total'] - total_inquiries = inquiry_metrics['total'] - + + total_complaints = complaint_metrics["total"] + total_inquiries = inquiry_metrics["total"] + if total_complaints > 0: # Resolution score (40% weight) - resolved = complaint_metrics['status']['resolved'] + complaint_metrics['status']['closed'] - scores['complaint_resolution'] = min(100, (resolved / total_complaints) * 100) - + resolved = complaint_metrics["status"]["resolved"] + complaint_metrics["status"]["closed"] + scores["complaint_resolution"] = min(100, (resolved / total_complaints) * 100) + # Response time score (20% weight) - response = complaint_metrics['response_time'] - on_time = response['within_24h'] + response['within_48h'] - total_with_response = on_time + response['within_72h'] + response['more_than_72h'] + response = complaint_metrics["response_time"] + on_time = response["within_24h"] + response["within_48h"] + total_with_response = on_time + response["within_72h"] + response["more_than_72h"] if total_with_response > 0: - scores['complaint_response_time'] = min(100, (on_time / total_with_response) * 100) - + scores["complaint_response_time"] = min(100, (on_time / total_with_response) * 100) + # Activation time score (10% weight) - activation = complaint_metrics['activation_time'] - if activation['within_2h'] + activation['more_than_2h'] > 0: - scores['complaint_activation_time'] = min(100, - (activation['within_2h'] / (activation['within_2h'] + activation['more_than_2h'])) * 100 + activation = complaint_metrics["activation_time"] + if activation["within_2h"] + activation["more_than_2h"] > 0: + scores["complaint_activation_time"] = min( + 100, (activation["within_2h"] / (activation["within_2h"] + activation["more_than_2h"])) * 100 ) - + if total_inquiries > 0: # Resolution score (15% weight) - resolved = inquiry_metrics['status']['resolved'] + inquiry_metrics['status']['closed'] - scores['inquiry_resolution'] = min(100, (resolved / total_inquiries) * 100) - + resolved = inquiry_metrics["status"]["resolved"] + inquiry_metrics["status"]["closed"] + scores["inquiry_resolution"] = min(100, (resolved / total_inquiries) * 100) + # Response time score (10% weight) - response = inquiry_metrics['response_time'] - on_time = response['within_24h'] + response['within_48h'] - total_with_response = on_time + response['within_72h'] + response['more_than_72h'] + response = inquiry_metrics["response_time"] + on_time = response["within_24h"] + response["within_48h"] + total_with_response = on_time + response["within_72h"] + response["more_than_72h"] if total_with_response > 0: - scores['inquiry_response_time'] = min(100, (on_time / total_with_response) * 100) - + scores["inquiry_response_time"] = min(100, (on_time / total_with_response) * 100) + # Workload score based on having reasonable volume (5% weight) total_items = total_complaints + total_inquiries if total_items >= 5: - scores['workload'] = 100 + scores["workload"] = 100 elif total_items > 0: - scores['workload'] = (total_items / 5) * 100 - + scores["workload"] = (total_items / 5) * 100 + # Calculate weighted overall score weights = { - 'complaint_resolution': 0.25, - 'complaint_response_time': 0.15, - 'complaint_activation_time': 0.10, - 'inquiry_resolution': 0.20, - 'inquiry_response_time': 0.15, - 'workload': 0.15 + "complaint_resolution": 0.25, + "complaint_response_time": 0.15, + "complaint_activation_time": 0.10, + "inquiry_resolution": 0.20, + "inquiry_response_time": 0.15, + "workload": 0.15, } - + overall_score = sum(scores[k] * weights[k] for k in scores) - + # Determine rating if overall_score >= 90: - rating = 'Excellent' - rating_color = 'success' + rating = "Excellent" + rating_color = "success" elif overall_score >= 75: - rating = 'Good' - rating_color = 'info' + rating = "Good" + rating_color = "info" elif overall_score >= 60: - rating = 'Average' - rating_color = 'warning' + rating = "Average" + rating_color = "warning" elif overall_score >= 40: - rating = 'Below Average' - rating_color = 'danger' + rating = "Below Average" + rating_color = "danger" else: - rating = 'Needs Improvement' - rating_color = 'dark' - + rating = "Needs Improvement" + rating_color = "dark" + return { - 'overall': round(overall_score, 1), - 'breakdown': scores, - 'rating': rating, - 'rating_color': rating_color, - 'total_items_handled': total_complaints + total_inquiries + "overall": round(overall_score, 1), + "breakdown": scores, + "rating": rating, + "rating_color": rating_color, + "total_items_handled": total_complaints + total_inquiries, } - + @staticmethod - def get_staff_performance_trends( - staff_id: str, - user, - months: int = 6 - ) -> List[Dict[str, Any]]: + def get_staff_performance_trends(staff_id: str, user, months: int = 6) -> List[Dict[str, Any]]: """ Get monthly performance trends for a staff member. - + Args: staff_id: Staff member UUID user: Current user months: Number of months to look back - + Returns: list: Monthly performance data """ from apps.accounts.models import User - + staff = User.objects.get(id=staff_id) - + # Check permissions if not user.is_px_admin(): if user.hospital and staff.hospital != user.hospital: raise PermissionError("Cannot view staff from other hospitals") - + trends = [] now = timezone.now() - + for i in range(months - 1, -1, -1): # Calculate month month_date = now - timedelta(days=i * 30) @@ -1109,154 +1057,139 @@ class UnifiedAnalyticsService: month_end = month_date.replace(year=month_date.year + 1, month=1, day=1) - timedelta(seconds=1) else: month_end = month_date.replace(month=month_date.month + 1, day=1) - timedelta(seconds=1) - + # Get complaints for this month complaints = Complaint.objects.filter( - assigned_to=staff, - created_at__gte=month_start, - created_at__lte=month_end + assigned_to=staff, created_at__gte=month_start, created_at__lte=month_end ) - + # Get inquiries for this month inquiries = Inquiry.objects.filter( - assigned_to=staff, - created_at__gte=month_start, - created_at__lte=month_end + assigned_to=staff, created_at__gte=month_start, created_at__lte=month_end ) - + complaint_metrics = UnifiedAnalyticsService._calculate_complaint_metrics(complaints) inquiry_metrics = UnifiedAnalyticsService._calculate_inquiry_metrics(inquiries) - - score_data = UnifiedAnalyticsService._calculate_performance_score( - complaint_metrics, inquiry_metrics + + score_data = UnifiedAnalyticsService._calculate_performance_score(complaint_metrics, inquiry_metrics) + + trends.append( + { + "month": month_start.strftime("%Y-%m"), + "month_name": month_start.strftime("%b %Y"), + "performance_score": score_data["overall"], + "rating": score_data["rating"], + "complaints_total": complaint_metrics["total"], + "complaints_resolved": complaint_metrics["status"]["resolved"] + + complaint_metrics["status"]["closed"], + "inquiries_total": inquiry_metrics["total"], + "inquiries_resolved": inquiry_metrics["status"]["resolved"] + inquiry_metrics["status"]["closed"], + } ) - - trends.append({ - 'month': month_start.strftime('%Y-%m'), - 'month_name': month_start.strftime('%b %Y'), - 'performance_score': score_data['overall'], - 'rating': score_data['rating'], - 'complaints_total': complaint_metrics['total'], - 'complaints_resolved': complaint_metrics['status']['resolved'] + complaint_metrics['status']['closed'], - 'inquiries_total': inquiry_metrics['total'], - 'inquiries_resolved': inquiry_metrics['status']['resolved'] + inquiry_metrics['status']['closed'] - }) - + return trends - + @staticmethod def get_department_benchmarks( user, department_id: Optional[str] = None, - date_range: str = '30d', + date_range: str = "30d", custom_start: Optional[datetime] = None, - custom_end: Optional[datetime] = None + custom_end: Optional[datetime] = None, ) -> Dict[str, Any]: """ Get benchmarking data comparing staff within a department. - + Args: user: Current user department_id: Optional department filter date_range: Date range filter custom_start: Custom start date custom_end: Custom end date - + Returns: dict: Benchmarking metrics """ from apps.accounts.models import User from apps.organizations.models import Department - - start_date, end_date = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) - + + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + # Get department if department_id: department = Department.objects.get(id=department_id) elif user.department: department = user.department else: - return {'error': 'No department specified'} - + return {"error": "No department specified"} + # Get all staff in department - staff_qs = User.objects.filter( - department=department, - is_active=True - ).filter( - Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False) - ).distinct() - + staff_qs = ( + User.objects.filter(department=department, is_active=True) + .filter(Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False)) + .distinct() + ) + staff_scores = [] - + for staff in staff_qs: complaints = Complaint.objects.filter( - assigned_to=staff, - created_at__gte=start_date, - created_at__lte=end_date + assigned_to=staff, created_at__gte=start_date, created_at__lte=end_date ) - - inquiries = Inquiry.objects.filter( - assigned_to=staff, - created_at__gte=start_date, - created_at__lte=end_date - ) - + + inquiries = Inquiry.objects.filter(assigned_to=staff, created_at__gte=start_date, created_at__lte=end_date) + complaint_metrics = UnifiedAnalyticsService._calculate_complaint_metrics(complaints) inquiry_metrics = UnifiedAnalyticsService._calculate_inquiry_metrics(inquiries) - - score_data = UnifiedAnalyticsService._calculate_performance_score( - complaint_metrics, inquiry_metrics + + score_data = UnifiedAnalyticsService._calculate_performance_score(complaint_metrics, inquiry_metrics) + + staff_scores.append( + { + "id": str(staff.id), + "name": f"{staff.first_name} {staff.last_name}", + "score": score_data["overall"], + "rating": score_data["rating"], + "total_items": score_data["total_items_handled"], + "complaints": complaint_metrics["total"], + "inquiries": inquiry_metrics["total"], + } ) - - staff_scores.append({ - 'id': str(staff.id), - 'name': f"{staff.first_name} {staff.last_name}", - 'score': score_data['overall'], - 'rating': score_data['rating'], - 'total_items': score_data['total_items_handled'], - 'complaints': complaint_metrics['total'], - 'inquiries': inquiry_metrics['total'] - }) - + # Sort by score - staff_scores.sort(key=lambda x: x['score'], reverse=True) - + staff_scores.sort(key=lambda x: x["score"], reverse=True) + # Calculate averages if staff_scores: - avg_score = sum(s['score'] for s in staff_scores) / len(staff_scores) - avg_items = sum(s['total_items'] for s in staff_scores) / len(staff_scores) + avg_score = sum(s["score"] for s in staff_scores) / len(staff_scores) + avg_items = sum(s["total_items"] for s in staff_scores) / len(staff_scores) else: avg_score = 0 avg_items = 0 - + return { - 'department': department.name, - 'period': { - 'start': start_date.isoformat(), - 'end': end_date.isoformat() - }, - 'staff_count': len(staff_scores), - 'average_score': round(avg_score, 1), - 'average_items_per_staff': round(avg_items, 1), - 'top_performer': staff_scores[0] if staff_scores else None, - 'needs_improvement': [s for s in staff_scores if s['score'] < 60], - 'rankings': staff_scores + "department": department.name, + "period": {"start": start_date.isoformat(), "end": end_date.isoformat()}, + "staff_count": len(staff_scores), + "average_score": round(avg_score, 1), + "average_items_per_staff": round(avg_items, 1), + "top_performer": staff_scores[0] if staff_scores else None, + "needs_improvement": [s for s in staff_scores if s["score"] < 60], + "rankings": staff_scores, } - + @staticmethod def export_staff_performance_report( staff_ids: List[str], user, - date_range: str = '30d', + date_range: str = "30d", custom_start: Optional[datetime] = None, custom_end: Optional[datetime] = None, - format_type: str = 'csv' + format_type: str = "csv", ) -> Dict[str, Any]: """ Generate exportable staff performance report. - + Args: staff_ids: List of staff UUIDs to include user: Current user @@ -1264,71 +1197,705 @@ class UnifiedAnalyticsService: custom_start: Custom start date custom_end: Custom end date format_type: Export format ('csv', 'excel', 'json') - + Returns: dict: Report data and metadata """ - start_date, end_date = UnifiedAnalyticsService._get_date_range( - date_range, custom_start, custom_end - ) - + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + # Get performance data performance_data = UnifiedAnalyticsService.get_staff_performance_metrics( user=user, date_range=date_range, staff_ids=staff_ids if staff_ids else None, custom_start=custom_start, - custom_end=custom_end + custom_end=custom_end, ) - + # Format for export export_rows = [] - - for staff in performance_data['staff_metrics']: - c = staff['complaints'] - i = staff['inquiries'] - + + for staff in performance_data["staff_metrics"]: + c = staff["complaints"] + i = staff["inquiries"] + # Calculate additional metrics complaint_resolution_rate = 0 - if c['total'] > 0: + if c["total"] > 0: complaint_resolution_rate = round( - (c['status']['resolved'] + c['status']['closed']) / c['total'] * 100, 1 + (c["status"]["resolved"] + c["status"]["closed"]) / c["total"] * 100, 1 ) - + inquiry_resolution_rate = 0 - if i['total'] > 0: - inquiry_resolution_rate = round( - (i['status']['resolved'] + i['status']['closed']) / i['total'] * 100, 1 - ) - - export_rows.append({ - 'staff_name': staff['name'], - 'email': staff['email'], - 'hospital': staff['hospital'], - 'department': staff['department'], - 'complaints_total': c['total'], - 'complaints_internal': c['internal'], - 'complaints_external': c['external'], - 'complaints_open': c['status']['open'], - 'complaints_resolved': c['status']['resolved'], - 'complaints_closed': c['status']['closed'], - 'complaint_resolution_rate': f"{complaint_resolution_rate}%", - 'complaint_activation_within_2h': c['activation_time']['within_2h'], - 'complaint_response_within_24h': c['response_time']['within_24h'], - 'inquiries_total': i['total'], - 'inquiries_open': i['status']['open'], - 'inquiries_resolved': i['status']['resolved'], - 'inquiry_resolution_rate': f"{inquiry_resolution_rate}%", - 'inquiry_response_within_24h': i['response_time']['within_24h'] - }) - + if i["total"] > 0: + inquiry_resolution_rate = round((i["status"]["resolved"] + i["status"]["closed"]) / i["total"] * 100, 1) + + export_rows.append( + { + "staff_name": staff["name"], + "email": staff["email"], + "hospital": staff["hospital"], + "department": staff["department"], + "complaints_total": c["total"], + "complaints_internal": c["internal"], + "complaints_external": c["external"], + "complaints_open": c["status"]["open"], + "complaints_resolved": c["status"]["resolved"], + "complaints_closed": c["status"]["closed"], + "complaint_resolution_rate": f"{complaint_resolution_rate}%", + "complaint_activation_within_2h": c["activation_time"]["within_2h"], + "complaint_response_within_24h": c["response_time"]["within_24h"], + "inquiries_total": i["total"], + "inquiries_open": i["status"]["open"], + "inquiries_resolved": i["status"]["resolved"], + "inquiry_resolution_rate": f"{inquiry_resolution_rate}%", + "inquiry_response_within_24h": i["response_time"]["within_24h"], + } + ) + return { - 'format': format_type, - 'generated_at': timezone.now().isoformat(), - 'period': { - 'start': start_date.isoformat(), - 'end': end_date.isoformat() - }, - 'total_staff': len(export_rows), - 'data': export_rows + "format": format_type, + "generated_at": timezone.now().isoformat(), + "period": {"start": start_date.isoformat(), "end": end_date.isoformat()}, + "total_staff": len(export_rows), + "data": export_rows, } + + # ============================================================================ + # EMPLOYEE EVALUATION DASHBOARD METHODS + # ============================================================================ + + @staticmethod + def get_employee_evaluation_metrics( + user, + date_range: str = "7d", + hospital_id: Optional[str] = None, + department_id: Optional[str] = None, + staff_ids: Optional[List[str]] = None, + custom_start: Optional[datetime] = None, + custom_end: Optional[datetime] = None, + ) -> Dict[str, Any]: + """ + Get comprehensive employee evaluation metrics for the PAD Department Weekly Dashboard. + + Returns metrics for all 11 sections of the evaluation dashboard: + 1. Complaints by Response Time + 2. Complaint Source Breakdown + 3. Response Time by Source (CHI vs MOH) + 4. Patient Type Breakdown + 5. Department Type Breakdown + 6. Delays and Activation + 7. Escalated Complaints + 8. Inquiries + 9. Notes + 10. Complaint Request & Filling Details + 11. Report Completion Tracker + + Args: + user: Current user + date_range: Date range filter + hospital_id: Optional hospital filter + department_id: Optional department filter + staff_ids: Optional list of specific staff IDs to evaluate + custom_start: Custom start date + custom_end: Custom end date + + Returns: + dict: Employee evaluation metrics with all 11 sections per staff member + """ + from apps.accounts.models import User + from apps.dashboard.models import ( + EvaluationNote, + ComplaintRequest, + ReportCompletion, + EscalatedComplaintLog, + InquiryDetail, + ) + + start_date, end_date = UnifiedAnalyticsService._get_date_range(date_range, custom_start, custom_end) + + # Get staff queryset + staff_qs = User.objects.all() + + # Filter by role + if not user.is_px_admin() and user.hospital: + staff_qs = staff_qs.filter(hospital=user.hospital) + + # Apply filters + if hospital_id: + staff_qs = staff_qs.filter(hospital_id=hospital_id) + + if department_id: + staff_qs = staff_qs.filter(department_id=department_id) + + if staff_ids: + staff_qs = staff_qs.filter(id__in=staff_ids) + + # Only staff with assigned complaints or inquiries + staff_qs = ( + staff_qs.filter(Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False)) + .distinct() + .prefetch_related("assigned_complaints", "assigned_inquiries") + ) + + staff_metrics = [] + + for staff_member in staff_qs: + staff_data = { + "id": str(staff_member.id), + "name": f"{staff_member.first_name} {staff_member.last_name}", + "email": staff_member.email, + "hospital": staff_member.hospital.name if staff_member.hospital else None, + "department": staff_member.department.name if staff_member.department else None, + } + + # Get all metrics for this staff member + staff_data["complaints_response_time"] = UnifiedAnalyticsService._get_complaint_response_time_breakdown( + staff_member.id, start_date, end_date + ) + staff_data["complaint_sources"] = UnifiedAnalyticsService._get_complaint_source_breakdown( + staff_member.id, start_date, end_date + ) + staff_data["response_time_by_source"] = UnifiedAnalyticsService._get_response_time_by_source( + staff_member.id, start_date, end_date + ) + staff_data["patient_type_breakdown"] = UnifiedAnalyticsService._get_patient_type_breakdown( + staff_member.id, start_date, end_date + ) + staff_data["department_type_breakdown"] = UnifiedAnalyticsService._get_department_type_breakdown( + staff_member.id, start_date, end_date + ) + staff_data["delays_activation"] = UnifiedAnalyticsService._get_delays_and_activation( + staff_member.id, start_date, end_date + ) + staff_data["escalated_complaints"] = UnifiedAnalyticsService._get_escalated_complaints_breakdown( + staff_member.id, start_date, end_date + ) + staff_data["inquiries"] = UnifiedAnalyticsService._get_inquiries_breakdown( + staff_member.id, start_date, end_date + ) + staff_data["notes"] = UnifiedAnalyticsService._get_notes_breakdown(staff_member.id, start_date, end_date) + staff_data["complaint_requests"] = UnifiedAnalyticsService._get_complaint_request_details( + staff_member.id, start_date, end_date + ) + staff_data["report_completion"] = UnifiedAnalyticsService._get_report_completion_tracker( + staff_member.id, start_date + ) + + staff_metrics.append(staff_data) + + # Calculate summary totals across all staff + summary = UnifiedAnalyticsService._get_evaluation_summary_totals(staff_metrics) + + return { + "staff_metrics": staff_metrics, + "summary": summary, + "start_date": start_date.isoformat(), + "end_date": end_date.isoformat(), + "date_range": date_range, + } + + @staticmethod + def _get_complaint_response_time_breakdown(staff_id, start_date, end_date): + """ + Get complaint response time breakdown for a staff member. + + Returns counts and percentages for: 24h, 48h, 72h, >72h + """ + from apps.complaints.models import Complaint + + complaints = Complaint.objects.filter( + assigned_to_id=staff_id, created_at__gte=start_date, created_at__lte=end_date + ) + + total = complaints.count() + + if total == 0: + return { + "24h": 0, + "48h": 0, + "72h": 0, + "more_than_72h": 0, + "total": 0, + "percentages": {"24h": 0, "48h": 0, "72h": 0, "more_than_72h": 0}, + } + + # Count by response time + count_24h = 0 + count_48h = 0 + count_72h = 0 + count_more_72h = 0 + + for complaint in complaints: + first_update = complaint.updates.first() + if first_update: + response_time_hours = (first_update.created_at - complaint.created_at).total_seconds() / 3600 + if response_time_hours <= 24: + count_24h += 1 + elif response_time_hours <= 48: + count_48h += 1 + elif response_time_hours <= 72: + count_72h += 1 + else: + count_more_72h += 1 + + return { + "24h": count_24h, + "48h": count_48h, + "72h": count_72h, + "more_than_72h": count_more_72h, + "total": total, + "percentages": { + "24h": round((count_24h / total) * 100, 1), + "48h": round((count_48h / total) * 100, 1), + "72h": round((count_72h / total) * 100, 1), + "more_than_72h": round((count_more_72h / total) * 100, 1), + }, + } + + @staticmethod + def _get_complaint_source_breakdown(staff_id, start_date, end_date): + """ + Get complaint source breakdown for a staff member. + + Returns counts for: MOH, CCHI, Patients, Patient's relatives, Insurance company + """ + from apps.complaints.models import Complaint + + complaints = Complaint.objects.filter( + assigned_to_id=staff_id, created_at__gte=start_date, created_at__lte=end_date + ).select_related("source") + + # Source mapping based on PXSource names + source_counts = {"MOH": 0, "CCHI": 0, "Patients": 0, "Patient_relatives": 0, "Insurance_company": 0} + + for complaint in complaints: + if complaint.source: + source_name = complaint.source.name_en.upper() + if "MOH" in source_name or "MINISTRY" in source_name: + source_counts["MOH"] += 1 + elif "CCHI" in source_name or "CHI" in source_name or "COUNCIL" in source_name: + source_counts["CCHI"] += 1 + elif "PATIENT" in source_name: + source_counts["Patients"] += 1 + elif "FAMILY" in source_name or "RELATIVE" in source_name: + source_counts["Patient_relatives"] += 1 + elif "INSURANCE" in source_name: + source_counts["Insurance_company"] += 1 + + # Calculate source total and percentages + source_total = sum(source_counts.values()) + + if source_total > 0: + percentages = {k: round((v / source_total) * 100, 1) for k, v in source_counts.items()} + else: + percentages = {k: 0 for k in source_counts} + + return {"counts": source_counts, "total": source_total, "percentages": percentages} + + @staticmethod + def _get_response_time_by_source(staff_id, start_date, end_date): + """ + Get response time breakdown by source (CHI vs MOH). + + Returns matrix of CHI and MOH counts by time category. + """ + from apps.complaints.models import Complaint + + complaints = Complaint.objects.filter( + assigned_to_id=staff_id, created_at__gte=start_date, created_at__lte=end_date + ).select_related("source") + + # Initialize counts + time_categories = ["24h", "48h", "72h", "more_than_72h"] + chi_counts = {cat: 0 for cat in time_categories} + moh_counts = {cat: 0 for cat in time_categories} + + for complaint in complaints: + if not complaint.source: + continue + + source_name = complaint.source.name_en.upper() + is_chi = "CCHI" in source_name or "CHI" in source_name + is_moh = "MOH" in source_name or "MINISTRY" in source_name + + if not (is_chi or is_moh): + continue + + # Determine response time category + first_update = complaint.updates.first() + if not first_update: + continue + + response_time_hours = (first_update.created_at - complaint.created_at).total_seconds() / 3600 + + if response_time_hours <= 24: + time_cat = "24h" + elif response_time_hours <= 48: + time_cat = "48h" + elif response_time_hours <= 72: + time_cat = "72h" + else: + time_cat = "more_than_72h" + + if is_chi: + chi_counts[time_cat] += 1 + elif is_moh: + moh_counts[time_cat] += 1 + + return { + "24h": {"CHI": chi_counts["24h"], "MOH": moh_counts["24h"]}, + "48h": {"CHI": chi_counts["48h"], "MOH": moh_counts["48h"]}, + "72h": {"CHI": chi_counts["72h"], "MOH": moh_counts["72h"]}, + "more_than_72h": {"CHI": chi_counts["more_than_72h"], "MOH": moh_counts["more_than_72h"]}, + "totals": {"CHI": sum(chi_counts.values()), "MOH": sum(moh_counts.values())}, + } + + @staticmethod + def _get_patient_type_breakdown(staff_id, start_date, end_date): + """ + Get patient type breakdown for a staff member. + + Returns counts for: In-Patient, Out-Patient, ER + """ + from apps.complaints.models import Complaint + + complaints = Complaint.objects.filter( + assigned_to_id=staff_id, created_at__gte=start_date, created_at__lte=end_date + ) + + # For this implementation, we'll use encounter_id presence as a proxy + # In a real implementation, you'd check the patient's admission status + # For now, using a simplified approach based on metadata or location + + counts = {"In_Patient": 0, "Out_Patient": 0, "ER": 0} + + for complaint in complaints: + # Check metadata for patient type if available + if complaint.metadata and "patient_type" in complaint.metadata: + pt = complaint.metadata["patient_type"] + if pt in counts: + counts[pt] += 1 + else: + # Default to Out-Patient if no info available + # In a real implementation, check against the Patient model + counts["Out_Patient"] += 1 + + total = sum(counts.values()) + + if total > 0: + percentages = {k: round((v / total) * 100, 1) for k, v in counts.items()} + else: + percentages = {k: 0 for k in counts} + + return {"counts": counts, "total": total, "percentages": percentages} + + @staticmethod + def _get_department_type_breakdown(staff_id, start_date, end_date): + """ + Get department type breakdown for a staff member. + + Returns counts for: Medical, Admin, Nursing, Support Services + """ + from apps.complaints.models import Complaint + + complaints = Complaint.objects.filter( + assigned_to_id=staff_id, created_at__gte=start_date, created_at__lte=end_date + ).select_related("department") + + counts = {"Medical": 0, "Admin": 0, "Nursing": 0, "Support_Services": 0} + + for complaint in complaints: + if complaint.department: + dept_name = complaint.department.name.upper() + if "MEDICAL" in dept_name or "CLINIC" in dept_name: + counts["Medical"] += 1 + elif "ADMIN" in dept_name or "HR" in dept_name or "FINANCE" in dept_name: + counts["Admin"] += 1 + elif "NURS" in dept_name: + counts["Nursing"] += 1 + elif "SUPPORT" in dept_name or "MAINT" in dept_name or "HOUSEKEEP" in dept_name: + counts["Support_Services"] += 1 + else: + # Default to Medical if uncertain + counts["Medical"] += 1 + else: + counts["Medical"] += 1 + + total = sum(counts.values()) + + if total > 0: + percentages = {k: round((v / total) * 100, 1) for k, v in counts.items()} + else: + percentages = {k: 0 for k in counts} + + return {"counts": counts, "total": total, "percentages": percentages} + + @staticmethod + def _get_delays_and_activation(staff_id, start_date, end_date): + """ + Get delays in activation and activation within 2 hours. + + Returns delays count, activation count, and percentages. + """ + from apps.complaints.models import Complaint + + complaints = Complaint.objects.filter( + assigned_to_id=staff_id, created_at__gte=start_date, created_at__lte=end_date + ) + + total = complaints.count() + + delays = 0 + activated_within_2h = 0 + + for complaint in complaints: + if complaint.activated_at: + activation_time_hours = (complaint.activated_at - complaint.created_at).total_seconds() / 3600 + if activation_time_hours <= 2: + activated_within_2h += 1 + else: + delays += 1 + else: + # Not activated = delay + delays += 1 + + return { + "delays": delays, + "activated_within_2h": activated_within_2h, + "total": total, + "percentages": { + "delays": round((delays / total) * 100, 1) if total > 0 else 0, + "activated": round((activated_within_2h / total) * 100, 1) if total > 0 else 0, + }, + } + + @staticmethod + def _get_escalated_complaints_breakdown(staff_id, start_date, end_date): + """ + Get escalated complaints breakdown. + + Returns counts for: Before 72h, Exactly 72h, After 72h, Resolved + """ + from apps.dashboard.models import EscalatedComplaintLog + + logs = EscalatedComplaintLog.objects.filter( + staff_id=staff_id, week_start_date__gte=start_date.date(), week_start_date__lte=end_date.date() + ) + + counts = {"before_72h": 0, "exactly_72h": 0, "after_72h": 0, "resolved": 0} + + for log in logs: + if log.escalation_timing == "before_72h": + counts["before_72h"] += 1 + elif log.escalation_timing == "exactly_72h": + counts["exactly_72h"] += 1 + elif log.escalation_timing == "after_72h": + counts["after_72h"] += 1 + + if log.is_resolved: + counts["resolved"] += 1 + + counts["total_escalated"] = counts["before_72h"] + counts["exactly_72h"] + counts["after_72h"] + + return counts + + @staticmethod + def _get_inquiries_breakdown(staff_id, start_date, end_date): + """ + Get inquiries breakdown with incoming/outgoing details. + + Returns detailed breakdown for incoming and outgoing inquiries. + """ + from apps.dashboard.models import InquiryDetail + + inquiry_details = InquiryDetail.objects.filter( + staff_id=staff_id, inquiry_date__gte=start_date.date(), inquiry_date__lte=end_date.date() + ) + + incoming = inquiry_details.filter(is_outgoing=False) + outgoing = inquiry_details.filter(is_outgoing=True) + + def get_inquiry_metrics(queryset): + """Helper to calculate metrics for a queryset""" + time_counts = {"24h": 0, "48h": 0, "72h": 0, "more_than_72h": 0} + status_counts = {"in_progress": 0, "contacted": 0, "contacted_no_response": 0} + + for detail in queryset: + if detail.response_time_category: + time_counts[detail.response_time_category] += 1 + if detail.inquiry_status: + status_counts[detail.inquiry_status] += 1 + + return {"total": queryset.count(), "by_time": time_counts, "by_status": status_counts} + + # Get inquiry type breakdowns + inquiry_types = dict(InquiryDetail.INQUIRY_TYPE_CHOICES) + incoming_types = {t[0]: incoming.filter(inquiry_type=t[0]).count() for t in InquiryDetail.INQUIRY_TYPE_CHOICES} + outgoing_types = {t[0]: outgoing.filter(inquiry_type=t[0]).count() for t in InquiryDetail.INQUIRY_TYPE_CHOICES} + + return { + "incoming": {**get_inquiry_metrics(incoming), "by_type": incoming_types}, + "outgoing": {**get_inquiry_metrics(outgoing), "by_type": outgoing_types}, + "total": inquiry_details.count(), + } + + @staticmethod + def _get_notes_breakdown(staff_id, start_date, end_date): + """ + Get notes breakdown by category and sub-category. + """ + from apps.dashboard.models import EvaluationNote + + notes = EvaluationNote.objects.filter( + staff_id=staff_id, note_date__gte=start_date.date(), note_date__lte=end_date.date() + ) + + total = notes.aggregate(total=Sum("count"))["total"] or 0 + + # Breakdown by category + by_category = {} + categories = dict(EvaluationNote.CATEGORY_CHOICES) + subcategories = dict(EvaluationNote.SUBCATEGORY_CHOICES) + + for note in notes: + cat_key = note.category + subcat_key = note.sub_category + + if cat_key not in by_category: + by_category[cat_key] = {"name": categories.get(cat_key, cat_key), "total": 0, "subcategories": {}} + + by_category[cat_key]["total"] += note.count + + if subcat_key not in by_category[cat_key]["subcategories"]: + by_category[cat_key]["subcategories"][subcat_key] = { + "name": subcategories.get(subcat_key, subcat_key), + "count": 0, + } + + by_category[cat_key]["subcategories"][subcat_key]["count"] += note.count + + return {"total": total, "by_category": by_category} + + @staticmethod + def _get_complaint_request_details(staff_id, start_date, end_date): + """ + Get complaint request filling details. + """ + from apps.dashboard.models import ComplaintRequest + + requests = ComplaintRequest.objects.filter( + staff_id=staff_id, request_date__gte=start_date.date(), request_date__lte=end_date.date() + ) + + total = requests.count() + filled = requests.filter(filled=True).count() + not_filled = requests.filter(not_filled=True).count() + on_hold = requests.filter(on_hold=True).count() + from_barcode = requests.filter(from_barcode=True).count() + + # Filling time breakdown + filling_times = dict(ComplaintRequest.FILLING_TIME_CHOICES) + time_breakdown = { + t[0]: requests.filter(filling_time_category=t[0]).count() for t in ComplaintRequest.FILLING_TIME_CHOICES + } + + return { + "total": total, + "filled": filled, + "not_filled": not_filled, + "on_hold": on_hold, + "from_barcode": from_barcode, + "filling_time_breakdown": time_breakdown, + "percentages": { + "filled": round((filled / total) * 100, 1) if total > 0 else 0, + "not_filled": round((not_filled / total) * 100, 1) if total > 0 else 0, + "on_hold": round((on_hold / total) * 100, 1) if total > 0 else 0, + }, + } + + @staticmethod + def _get_report_completion_tracker(staff_id, week_start_date): + """ + Get report completion status for a staff member. + """ + from apps.dashboard.models import ReportCompletion + + completions = ReportCompletion.objects.filter( + staff_id=staff_id, + week_start_date=week_start_date.date() if hasattr(week_start_date, "date") else week_start_date, + ) + + reports = [] + total_reports = len(ReportCompletion.REPORT_TYPE_CHOICES) + completed_count = 0 + + for report_type, report_name in ReportCompletion.REPORT_TYPE_CHOICES: + completion = completions.filter(report_type=report_type).first() + is_completed = completion.is_completed if completion else False + + if is_completed: + completed_count += 1 + + reports.append( + { + "type": report_type, + "name": report_name, + "completed": is_completed, + "completed_at": completion.completed_at.isoformat() + if completion and completion.completed_at + else None, + } + ) + + completion_percentage = round((completed_count / total_reports) * 100, 1) if total_reports > 0 else 0 + + return { + "reports": reports, + "completed_count": completed_count, + "total_reports": total_reports, + "completion_percentage": completion_percentage, + } + + @staticmethod + def _get_evaluation_summary_totals(staff_metrics): + """ + Calculate summary totals across all staff members. + """ + summary = { + "total_complaints": 0, + "total_inquiries": 0, + "total_notes": 0, + "total_escalated": 0, + "complaints_by_response_time": {"24h": 0, "48h": 0, "72h": 0, "more_than_72h": 0}, + "complaints_by_source": { + "MOH": 0, + "CCHI": 0, + "Patients": 0, + "Patient_relatives": 0, + "Insurance_company": 0, + }, + } + + for staff in staff_metrics: + # Total complaints + summary["total_complaints"] += staff["complaints_response_time"]["total"] + + # Total inquiries + summary["total_inquiries"] += staff["inquiries"]["total"] + + # Total notes + summary["total_notes"] += staff["notes"]["total"] + + # Total escalated + summary["total_escalated"] += staff["escalated_complaints"].get("total_escalated", 0) + + # Response time totals + for key in ["24h", "48h", "72h", "more_than_72h"]: + summary["complaints_by_response_time"][key] += staff["complaints_response_time"].get(key, 0) + + # Source totals + for key in summary["complaints_by_source"]: + summary["complaints_by_source"][key] += staff["complaint_sources"]["counts"].get(key, 0) + + return summary diff --git a/apps/analytics/tasks.py b/apps/analytics/tasks.py new file mode 100644 index 0000000..f0fa0bd --- /dev/null +++ b/apps/analytics/tasks.py @@ -0,0 +1,34 @@ +import logging + +from celery import shared_task +from django.utils import timezone + +from apps.organizations.models import Hospital + +from .kpi_models import KPIReportType +from .kpi_service import KPICalculationService + +logger = logging.getLogger(__name__) + + +@shared_task(bind=True, ignore_result=True) +def calculate_daily_kpis(self): + today = timezone.now() + year = today.year + month = today.month + + hospitals = Hospital.objects.filter(status="active") + report_types = [rt[0] for rt in KPIReportType.choices] + + for hospital in hospitals: + for report_type in report_types: + try: + KPICalculationService.generate_monthly_report( + report_type=report_type, + hospital=hospital, + year=year, + month=month, + ) + logger.info(f"Daily KPI calculated: {report_type} for {hospital.name} ({year}-{month:02d})") + except Exception as e: + logger.exception(f"Failed daily KPI: {report_type} for {hospital.name}: {e}") diff --git a/apps/complaints/admin.py b/apps/complaints/admin.py index ab65a3e..5342203 100644 --- a/apps/complaints/admin.py +++ b/apps/complaints/admin.py @@ -1,8 +1,9 @@ """ Complaints admin """ + from django.contrib import admin -from django.utils.html import format_html +from django.utils.html import format_html, mark_safe from .models import ( Complaint, @@ -24,119 +25,251 @@ from .models import ( ComplaintAdverseActionAttachment, ) -admin.site.register(ExplanationSLAConfig) + +class ExplanationSLAConfigAdmin(admin.ModelAdmin): + list_display = ( + "hospital", + "response_hours", + "reminder_hours_before", + "second_reminder_enabled", + "second_reminder_hours_before", + "auto_escalate_enabled", + "is_active", + ) + list_filter = ("is_active", "second_reminder_enabled", "auto_escalate_enabled") + fieldsets = ( + ( + None, + { + "fields": ( + "hospital", + "response_hours", + "reminder_hours_before", + "second_reminder_enabled", + "second_reminder_hours_before", + "is_active", + ) + }, + ), + ("Escalation", {"fields": ("auto_escalate_enabled", "escalation_hours_overdue", "max_escalation_levels")}), + ) + + +admin.site.register(ExplanationSLAConfig, ExplanationSLAConfigAdmin) + class ComplaintAttachmentInline(admin.TabularInline): """Inline admin for complaint attachments""" + model = ComplaintAttachment extra = 0 - fields = ['file', 'filename', 'file_size', 'uploaded_by', 'description'] - readonly_fields = ['file_size'] + fields = ["file", "filename", "file_size", "uploaded_by", "description"] + readonly_fields = ["file_size"] class ComplaintUpdateInline(admin.TabularInline): """Inline admin for complaint updates""" + model = ComplaintUpdate extra = 1 - fields = ['update_type', 'message', 'created_by', 'created_at'] - readonly_fields = ['created_at'] - ordering = ['-created_at'] + fields = ["update_type", "message", "created_by", "created_at"] + readonly_fields = ["created_at"] + ordering = ["-created_at"] class ComplaintInvolvedDepartmentInline(admin.TabularInline): """Inline admin for involved departments""" + model = ComplaintInvolvedDepartment extra = 0 - fields = ['department', 'role', 'is_primary', 'assigned_to', 'response_submitted'] - autocomplete_fields = ['department', 'assigned_to'] + fields = [ + "department", + "role", + "is_primary", + "assigned_to", + "forwarded_at", + "first_reminder_sent_at", + "second_reminder_sent_at", + "response_submitted", + "response_submitted_at", + "delay_reason", + "delayed_person", + ] + autocomplete_fields = ["department", "assigned_to"] + readonly_fields = ["response_submitted_at"] class ComplaintInvolvedStaffInline(admin.TabularInline): """Inline admin for involved staff""" + model = ComplaintInvolvedStaff extra = 0 - fields = ['staff', 'role', 'explanation_requested', 'explanation_received'] - autocomplete_fields = ['staff'] + fields = ["staff", "role", "explanation_requested", "explanation_received"] + autocomplete_fields = ["staff"] @admin.register(Complaint) class ComplaintAdmin(admin.ModelAdmin): """Complaint admin""" + list_display = [ - 'title_preview', 'complaint_type_badge', 'patient', 'hospital', - 'location_hierarchy', 'category', - 'severity_badge', 'status_badge', 'sla_indicator', - 'created_by', 'assigned_to', 'created_at' + "title_preview", + "complaint_type_badge", + "patient", + "hospital", + "location_hierarchy", + "category", + "severity_badge", + "status_badge", + "sla_indicator", + "satisfaction_badge", + "created_by", + "assigned_to", + "created_at", ] list_filter = [ - 'status', 'severity', 'priority', 'category', 'source', - 'location', 'main_section', 'subsection', - 'is_overdue', 'hospital', 'created_by', 'created_at' + "status", + "severity", + "priority", + "category", + "source", + "location", + "main_section", + "subsection", + "is_overdue", + "hospital", + "created_by", + "created_at", + "satisfaction", ] search_fields = [ - 'title', 'description', 'patient__mrn', - 'patient__first_name', 'patient__last_name', 'encounter_id' + "title", + "description", + "patient__mrn", + "patient__first_name", + "patient__last_name", + "encounter_id", + "file_number", + "moh_reference", + "chi_reference", + "complaint_subject", + ] + ordering = ["-created_at"] + date_hierarchy = "created_at" + inlines = [ + ComplaintUpdateInline, + ComplaintAttachmentInline, + ComplaintInvolvedDepartmentInline, + ComplaintInvolvedStaffInline, ] - ordering = ['-created_at'] - date_hierarchy = 'created_at' - inlines = [ComplaintUpdateInline, ComplaintAttachmentInline, ComplaintInvolvedDepartmentInline, ComplaintInvolvedStaffInline] fieldsets = ( - ('Patient & Encounter', { - 'fields': ('patient', 'encounter_id') - }), - ('Organization', { - 'fields': ('hospital', 'department', 'staff') - }), - ('Location Hierarchy', { - 'fields': ('location', 'main_section', 'subsection') - }), - ('Complaint Details', { - 'fields': ('complaint_type', 'title', 'description', 'category', 'subcategory') - }), - ('Classification', { - 'fields': ('priority', 'severity', 'source') - }), - ('Creator Tracking', { - 'fields': ('created_by',) - }), - ('Status & Assignment', { - 'fields': ('status', 'assigned_to', 'assigned_at', 'activated_at') - }), - ('SLA Tracking', { - 'fields': ('due_at', 'is_overdue', 'reminder_sent_at', 'escalated_at') - }), - ('Resolution', { - 'fields': ('resolution', 'resolved_at', 'resolved_by') - }), - ('Closure', { - 'fields': ('closed_at', 'closed_by', 'resolution_survey', 'resolution_survey_sent_at') - }), - ('Metadata', { - 'fields': ('metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ( + "Patient & Encounter", + {"fields": ("patient", "patient_name", "file_number", "encounter_id", "incident_date", "contact_phone")}, + ), + ("Organization", {"fields": ("hospital", "department", "staff")}), + ("Location Hierarchy", {"fields": ("location", "main_section", "subsection")}), + ( + "Complaint Details", + { + "fields": ( + "complaint_type", + "title", + "ai_brief_en", + "ai_brief_ar", + "description", + "complaint_subject", + "category", + "subcategory", + ) + }, + ), + ("Classification", {"fields": ("priority", "severity", "source")}), + ( + "External References", + {"fields": ("moh_reference", "moh_reference_date", "chi_reference", "chi_reference_date")}, + ), + ("Creator Tracking", {"fields": ("created_by",)}), + ("Status & Assignment", {"fields": ("status", "assigned_to", "assigned_at", "activated_at")}), + ("Workflow Timeline", {"fields": ("form_sent_at", "forwarded_to_dept_at", "response_date")}), + ( + "SLA Tracking", + { + "fields": ( + "due_at", + "is_overdue", + "reminder_sent_at", + "second_reminder_sent_at", + "breached_at", + "escalated_at", + ) + }, + ), + ( + "Resolution", + { + "fields": ( + "resolution", + "resolution_category", + "resolution_outcome", + "resolution_outcome_other", + "resolved_at", + "resolved_by", + ) + }, + ), + ( + "Satisfaction", + { + "fields": ( + "satisfaction", + "action_taken_by_dept", + "action_result", + "recommendation_action_plan", + "delay_reason_closure", + "explanation_delay_reason", + ) + }, + ), + ("Closure", {"fields": ("closed_at", "closed_by", "resolution_survey", "resolution_survey_sent_at")}), + ("Metadata", {"fields": ("metadata", "created_at", "updated_at"), "classes": ("collapse",)}), ) readonly_fields = [ - 'assigned_at', 'activated_at', 'reminder_sent_at', 'escalated_at', - 'resolved_at', 'closed_at', 'resolution_survey_sent_at', - 'created_at', 'updated_at' + "assigned_at", + "activated_at", + "reminder_sent_at", + "escalated_at", + "resolved_at", + "closed_at", + "resolution_survey_sent_at", + "created_at", + "updated_at", ] def get_queryset(self, request): qs = super().get_queryset(request) return qs.select_related( - 'patient', 'hospital', 'department', 'staff', - 'location', 'main_section', 'subsection', - 'assigned_to', 'resolved_by', 'closed_by', 'resolution_survey', - 'created_by' + "patient", + "hospital", + "department", + "staff", + "location", + "main_section", + "subsection", + "assigned_to", + "resolved_by", + "closed_by", + "resolution_survey", + "created_by", ) def title_preview(self, obj): """Show preview of title""" - return obj.title[:60] + '...' if len(obj.title) > 60 else obj.title - title_preview.short_description = 'Title' + return obj.title[:60] + "..." if len(obj.title) > 60 else obj.title + + title_preview.short_description = "Title" def location_hierarchy(self, obj): """Display location hierarchy in admin""" @@ -147,240 +280,224 @@ class ComplaintAdmin(admin.ModelAdmin): parts.append(obj.main_section.name_en or obj.main_section.name_ar or str(obj.main_section)) if obj.subsection: parts.append(obj.subsection.name_en or obj.subsection.name_ar or str(obj.subsection)) - + if not parts: - return '—' - - hierarchy = ' → '.join(parts) + return "—" + + hierarchy = " → ".join(parts) return format_html('{0}', hierarchy) - location_hierarchy.short_description = 'Location' + + location_hierarchy.short_description = "Location" def severity_badge(self, obj): """Display severity with color badge""" colors = { - 'low': 'info', - 'medium': 'warning', - 'high': 'danger', - 'critical': 'danger', + "low": "info", + "medium": "warning", + "high": "danger", + "critical": "danger", } - color = colors.get(obj.severity, 'secondary') - return format_html( - '{1}', - color, - obj.get_severity_display() - ) - severity_badge.short_description = 'Severity' + color = colors.get(obj.severity, "secondary") + return format_html('{1}', color, obj.get_severity_display()) + + severity_badge.short_description = "Severity" def status_badge(self, obj): """Display status with color badge""" colors = { - 'open': 'danger', - 'in_progress': 'warning', - 'resolved': 'info', - 'closed': 'success', - 'cancelled': 'secondary', + "open": "warning", + "in_progress": "info", + "partially_resolved": "info", + "resolved": "success", + "closed": "secondary", + "cancelled": "secondary", + "contacted": "info", + "contacted_no_response": "danger", } - color = colors.get(obj.status, 'secondary') - return format_html( - '{1}', - color, - obj.get_status_display() - ) - status_badge.short_description = 'Status' + color = colors.get(obj.status, "secondary") + return format_html('{1}', color, obj.get_status_display()) + + status_badge.short_description = "Status" + + def satisfaction_badge(self, obj): + """Display satisfaction with color badge""" + if not obj.satisfaction: + return "—" + colors = { + "satisfied": "success", + "neutral": "warning", + "dissatisfied": "danger", + "no_response": "secondary", + "escalated": "danger", + } + color = colors.get(obj.satisfaction, "secondary") + return format_html('{1}', color, obj.get_satisfaction_display()) + + satisfaction_badge.short_description = "Satisfaction" def complaint_type_badge(self, obj): """Display complaint type with color badge""" colors = { - 'complaint': 'danger', - 'appreciation': 'success', + "complaint": "danger", + "appreciation": "success", } - color = colors.get(obj.complaint_type, 'secondary') - return format_html( - '{1}', - color, - obj.get_complaint_type_display() - ) - complaint_type_badge.short_description = 'Type' + color = colors.get(obj.complaint_type, "secondary") + return format_html('{1}', color, obj.get_complaint_type_display()) + + complaint_type_badge.short_description = "Type" def sla_indicator(self, obj): """Display SLA status""" if obj.is_overdue: - return format_html('OVERDUE') + return mark_safe('OVERDUE') from django.utils import timezone + time_remaining = obj.due_at - timezone.now() hours_remaining = time_remaining.total_seconds() / 3600 if hours_remaining < 4: - return format_html('DUE SOON') + return mark_safe('DUE SOON') else: - return format_html('ON TIME') - sla_indicator.short_description = 'SLA' + return mark_safe('ON TIME') + + sla_indicator.short_description = "SLA" @admin.register(ComplaintAttachment) class ComplaintAttachmentAdmin(admin.ModelAdmin): """Complaint attachment admin""" - list_display = ['complaint', 'filename', 'file_type', 'file_size', 'uploaded_by', 'created_at'] - list_filter = ['file_type', 'created_at'] - search_fields = ['filename', 'description', 'complaint__title'] - ordering = ['-created_at'] + + list_display = ["complaint", "filename", "file_type", "file_size", "uploaded_by", "created_at"] + list_filter = ["file_type", "created_at"] + search_fields = ["filename", "description", "complaint__title"] + ordering = ["-created_at"] fieldsets = ( - (None, { - 'fields': ('complaint', 'file', 'filename', 'file_type', 'file_size') - }), - ('Details', { - 'fields': ('uploaded_by', 'description') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("complaint", "file", "filename", "file_type", "file_size")}), + ("Details", {"fields": ("uploaded_by", "description")}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - readonly_fields = ['file_size', 'created_at', 'updated_at'] + readonly_fields = ["file_size", "created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('complaint', 'uploaded_by') + return qs.select_related("complaint", "uploaded_by") @admin.register(ComplaintUpdate) class ComplaintUpdateAdmin(admin.ModelAdmin): """Complaint update admin""" - list_display = ['complaint', 'update_type', 'message_preview', 'created_by', 'created_at'] - list_filter = ['update_type', 'created_at'] - search_fields = ['message', 'complaint__title'] - ordering = ['-created_at'] + + list_display = ["complaint", "update_type", "message_preview", "created_by", "created_at"] + list_filter = ["update_type", "created_at"] + search_fields = ["message", "complaint__title"] + ordering = ["-created_at"] fieldsets = ( - (None, { - 'fields': ('complaint', 'update_type', 'message') - }), - ('Status Change', { - 'fields': ('old_status', 'new_status'), - 'classes': ('collapse',) - }), - ('Details', { - 'fields': ('created_by', 'metadata') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("complaint", "update_type", "message")}), + ("Status Change", {"fields": ("old_status", "new_status"), "classes": ("collapse",)}), + ("Details", {"fields": ("created_by", "metadata")}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - readonly_fields = ['created_at', 'updated_at'] + readonly_fields = ["created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('complaint', 'created_by') + return qs.select_related("complaint", "created_by") def message_preview(self, obj): """Show preview of message""" - return obj.message[:100] + '...' if len(obj.message) > 100 else obj.message - message_preview.short_description = 'Message' + return obj.message[:100] + "..." if len(obj.message) > 100 else obj.message + + message_preview.short_description = "Message" @admin.register(Inquiry) class InquiryAdmin(admin.ModelAdmin): """Inquiry admin""" + list_display = [ - 'subject_preview', 'patient', 'contact_name', - 'hospital', 'category', 'status', 'created_by', 'assigned_to', 'created_at' + "subject_preview", + "patient", + "contact_name", + "hospital", + "category", + "status", + "created_by", + "assigned_to", + "created_at", ] - list_filter = ['status', 'category', 'source', 'hospital', 'created_by', 'created_at'] + list_filter = ["status", "category", "source", "hospital", "created_by", "created_at"] search_fields = [ - 'subject', 'message', 'contact_name', 'contact_phone', - 'patient__mrn', 'patient__first_name', 'patient__last_name' + "subject", + "message", + "contact_name", + "contact_phone", + "patient__mrn", + "patient__first_name", + "patient__last_name", ] - ordering = ['-created_at'] + ordering = ["-created_at"] fieldsets = ( - ('Patient Information', { - 'fields': ('patient',) - }), - ('Contact Information (if no patient)', { - 'fields': ('contact_name', 'contact_phone', 'contact_email'), - 'classes': ('collapse',) - }), - ('Organization', { - 'fields': ('hospital', 'department') - }), - ('Inquiry Details', { - 'fields': ('subject', 'message', 'category', 'source') - }), - ('Creator Tracking', { - 'fields': ('created_by',) - }), - ('Status & Assignment', { - 'fields': ('status', 'assigned_to') - }), - ('Response', { - 'fields': ('response', 'responded_at', 'responded_by') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + ("Patient Information", {"fields": ("patient",)}), + ( + "Contact Information (if no patient)", + {"fields": ("contact_name", "contact_phone", "contact_email"), "classes": ("collapse",)}, + ), + ("Organization", {"fields": ("hospital", "department")}), + ("Inquiry Details", {"fields": ("subject", "message", "category", "source")}), + ("Creator Tracking", {"fields": ("created_by",)}), + ("Status & Assignment", {"fields": ("status", "assigned_to")}), + ("Response", {"fields": ("response", "responded_at", "responded_by")}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - readonly_fields = ['responded_at', 'created_at', 'updated_at'] + readonly_fields = ["responded_at", "created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related( - 'patient', 'hospital', 'department', - 'assigned_to', 'responded_by', 'created_by' - ) + return qs.select_related("patient", "hospital", "department", "assigned_to", "responded_by", "created_by") def subject_preview(self, obj): """Show preview of subject""" - return obj.subject[:60] + '...' if len(obj.subject) > 60 else obj.subject - subject_preview.short_description = 'Subject' + return obj.subject[:60] + "..." if len(obj.subject) > 60 else obj.subject + + subject_preview.short_description = "Subject" @admin.register(ComplaintSLAConfig) class ComplaintSLAConfigAdmin(admin.ModelAdmin): """Complaint SLA Configuration admin""" - list_display = [ - 'hospital', 'source', 'severity', 'priority', 'sla_hours', - 'reminder_timing_display', 'is_active' - ] - list_filter = ['hospital', 'source', 'severity', 'priority', 'is_active'] - search_fields = ['hospital__name_en', 'hospital__name_ar', 'source__name_en'] - ordering = ['hospital', 'source', 'severity', 'priority'] + + list_display = ["hospital", "source", "severity", "priority", "sla_hours", "reminder_timing_display", "is_active"] + list_filter = ["hospital", "source", "severity", "priority", "is_active"] + search_fields = ["hospital__name_en", "hospital__name_ar", "source__name_en"] + ordering = ["hospital", "source", "severity", "priority"] fieldsets = ( - ('Hospital', { - 'fields': ('hospital',) - }), - ('Source & Classification', { - 'fields': ('source', 'severity', 'priority') - }), - ('SLA Configuration', { - 'fields': ('sla_hours', 'reminder_hours_before') - }), - ('Source-Based Timing (Hours After Creation)', { - 'fields': ( - 'first_reminder_hours_after', - 'second_reminder_hours_after', - 'escalation_hours_after' - ), - 'description': 'When set, these override the "Hours Before Deadline" timing. Used for source-based SLAs (e.g., MOH, CCHI).' - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Hospital", {"fields": ("hospital",)}), + ("Source & Classification", {"fields": ("source", "severity", "priority")}), + ("SLA Configuration", {"fields": ("sla_hours", "reminder_hours_before")}), + ( + "Source-Based Timing (Hours After Creation)", + { + "fields": ("first_reminder_hours_after", "second_reminder_hours_after", "escalation_hours_after"), + "description": 'When set, these override the "Hours Before Deadline" timing. Used for source-based SLAs (e.g., MOH, CCHI).', + }, + ), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at"), "classes": ("collapse",)}), ) - readonly_fields = ['created_at', 'updated_at'] + readonly_fields = ["created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital', 'source') + return qs.select_related("hospital", "source") def reminder_timing_display(self, obj): """Display reminder timing method""" @@ -388,449 +505,364 @@ class ComplaintSLAConfigAdmin(admin.ModelAdmin): return format_html( 'Source-based: {0}h / {1}h', obj.first_reminder_hours_after, - obj.second_reminder_hours_after or 'N/A' + obj.second_reminder_hours_after or "N/A", ) elif obj.reminder_hours_before: return format_html( - 'Deadline-based: {0}h before', - obj.reminder_hours_before + 'Deadline-based: {0}h before', obj.reminder_hours_before ) else: - return '—' - reminder_timing_display.short_description = 'Reminder Timing' + return "—" + + reminder_timing_display.short_description = "Reminder Timing" @admin.register(ComplaintCategory) class ComplaintCategoryAdmin(admin.ModelAdmin): """Complaint Category admin""" - list_display = [ - 'name_en', 'code', 'hospitals_display', 'parent', - 'order', 'is_active' - ] - list_filter = ['is_active', 'parent'] - search_fields = ['name_en', 'name_ar', 'code', 'description_en'] - ordering = ['order', 'name_en'] + + list_display = ["name_en", "code", "hospitals_display", "parent", "order", "is_active"] + list_filter = ["is_active", "parent"] + search_fields = ["name_en", "name_ar", "code", "description_en"] + ordering = ["order", "name_en"] fieldsets = ( - ('Hospitals', { - 'fields': ('hospitals',) - }), - ('Category Details', { - 'fields': ('code', 'name_en', 'name_ar') - }), - ('Description', { - 'fields': ('description_en', 'description_ar'), - 'classes': ('collapse',) - }), - ('Hierarchy', { - 'fields': ('parent', 'order') - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Hospitals", {"fields": ("hospitals",)}), + ("Category Details", {"fields": ("code", "name_en", "name_ar")}), + ("Description", {"fields": ("description_en", "description_ar"), "classes": ("collapse",)}), + ("Hierarchy", {"fields": ("parent", "order")}), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at"), "classes": ("collapse",)}), ) - readonly_fields = ['created_at', 'updated_at'] - filter_horizontal = ['hospitals'] + readonly_fields = ["created_at", "updated_at"] + filter_horizontal = ["hospitals"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('parent').prefetch_related('hospitals') + return qs.select_related("parent").prefetch_related("hospitals") def hospitals_display(self, obj): """Display hospitals for category""" hospital_count = obj.hospitals.count() if hospital_count == 0: - return 'System-wide' + return "System-wide" elif hospital_count == 1: return obj.hospitals.first().name else: - return f'{hospital_count} hospitals' - hospitals_display.short_description = 'Hospitals' + return f"{hospital_count} hospitals" + + hospitals_display.short_description = "Hospitals" @admin.register(EscalationRule) class EscalationRuleAdmin(admin.ModelAdmin): """Escalation Rule admin""" - list_display = [ - 'name', 'hospital', 'escalate_to_role', - 'trigger_on_overdue', 'order', 'is_active' - ] + + list_display = ["name", "hospital", "escalate_to_role", "trigger_on_overdue", "order", "is_active"] list_filter = [ - 'hospital', 'escalate_to_role', 'trigger_on_overdue', - 'severity_filter', 'priority_filter', 'is_active' + "hospital", + "escalate_to_role", + "trigger_on_overdue", + "severity_filter", + "priority_filter", + "is_active", ] - search_fields = ['name', 'description', 'hospital__name_en'] - ordering = ['hospital', 'order'] + search_fields = ["name", "description", "hospital__name_en"] + ordering = ["hospital", "order"] fieldsets = ( - ('Hospital', { - 'fields': ('hospital',) - }), - ('Rule Details', { - 'fields': ('name', 'description') - }), - ('Trigger Conditions', { - 'fields': ('trigger_on_overdue', 'trigger_hours_overdue') - }), - ('Escalation Target', { - 'fields': ('escalate_to_role', 'escalate_to_user') - }), - ('Filters', { - 'fields': ('severity_filter', 'priority_filter'), - 'classes': ('collapse',) - }), - ('Order & Status', { - 'fields': ('order', 'is_active') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Hospital", {"fields": ("hospital",)}), + ("Rule Details", {"fields": ("name", "description")}), + ("Trigger Conditions", {"fields": ("trigger_on_overdue", "trigger_hours_overdue")}), + ("Escalation Target", {"fields": ("escalate_to_role", "escalate_to_user")}), + ("Filters", {"fields": ("severity_filter", "priority_filter"), "classes": ("collapse",)}), + ("Order & Status", {"fields": ("order", "is_active")}), + ("Metadata", {"fields": ("created_at", "updated_at"), "classes": ("collapse",)}), ) - readonly_fields = ['created_at', 'updated_at'] + readonly_fields = ["created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital', 'escalate_to_user') + return qs.select_related("hospital", "escalate_to_user") @admin.register(ComplaintThreshold) class ComplaintThresholdAdmin(admin.ModelAdmin): """Complaint Threshold admin""" - list_display = [ - 'hospital', 'threshold_type', 'comparison_display', - 'threshold_value', 'action_type', 'is_active' - ] - list_filter = [ - 'hospital', 'threshold_type', 'comparison_operator', - 'action_type', 'is_active' - ] - search_fields = ['hospital__name_en', 'hospital__name_ar'] - ordering = ['hospital', 'threshold_type'] + + list_display = ["hospital", "threshold_type", "comparison_display", "threshold_value", "action_type", "is_active"] + list_filter = ["hospital", "threshold_type", "comparison_operator", "action_type", "is_active"] + search_fields = ["hospital__name_en", "hospital__name_ar"] + ordering = ["hospital", "threshold_type"] fieldsets = ( - ('Hospital', { - 'fields': ('hospital',) - }), - ('Threshold Configuration', { - 'fields': ('threshold_type', 'threshold_value', 'comparison_operator') - }), - ('Action', { - 'fields': ('action_type',) - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Hospital", {"fields": ("hospital",)}), + ("Threshold Configuration", {"fields": ("threshold_type", "threshold_value", "comparison_operator")}), + ("Action", {"fields": ("action_type",)}), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at"), "classes": ("collapse",)}), ) - readonly_fields = ['created_at', 'updated_at'] + readonly_fields = ["created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital') + return qs.select_related("hospital") def comparison_display(self, obj): """Display comparison operator""" return f"{obj.get_comparison_operator_display()}" - comparison_display.short_description = 'Comparison' + + comparison_display.short_description = "Comparison" @admin.register(ComplaintPRInteraction) class ComplaintPRInteractionAdmin(admin.ModelAdmin): """PR Interaction admin""" + list_display = [ - 'complaint', 'contact_date', 'contact_method_display', - 'pr_staff', 'procedure_explained', 'created_at' + "complaint", + "contact_date", + "contact_method_display", + "pr_staff", + "procedure_explained", + "created_at", ] - list_filter = [ - 'contact_method', 'procedure_explained', 'created_at' - ] - search_fields = [ - 'complaint__title', 'statement_text', 'notes', - 'pr_staff__first_name', 'pr_staff__last_name' - ] - ordering = ['-contact_date'] + list_filter = ["contact_method", "procedure_explained", "created_at"] + search_fields = ["complaint__title", "statement_text", "notes", "pr_staff__first_name", "pr_staff__last_name"] + ordering = ["-contact_date"] fieldsets = ( - ('Complaint', { - 'fields': ('complaint',) - }), - ('Contact Details', { - 'fields': ('contact_date', 'contact_method', 'pr_staff') - }), - ('Interaction Details', { - 'fields': ('statement_text', 'procedure_explained', 'notes') - }), - ('Metadata', { - 'fields': ('created_by', 'created_at', 'updated_at') - }), + ("Complaint", {"fields": ("complaint",)}), + ("Contact Details", {"fields": ("contact_date", "contact_method", "pr_staff")}), + ("Interaction Details", {"fields": ("statement_text", "procedure_explained", "notes")}), + ("Metadata", {"fields": ("created_by", "created_at", "updated_at")}), ) - readonly_fields = ['created_at', 'updated_at'] + readonly_fields = ["created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('complaint', 'pr_staff', 'created_by') + return qs.select_related("complaint", "pr_staff", "created_by") def contact_method_display(self, obj): """Display contact method""" return obj.get_contact_method_display() - contact_method_display.short_description = 'Method' + + contact_method_display.short_description = "Method" @admin.register(ComplaintMeeting) class ComplaintMeetingAdmin(admin.ModelAdmin): """Complaint Meeting admin""" - list_display = [ - 'complaint', 'meeting_date', 'meeting_type_display', - 'outcome_preview', 'created_by', 'created_at' - ] - list_filter = [ - 'meeting_type', 'created_at' - ] - search_fields = [ - 'complaint__title', 'outcome', 'notes' - ] - ordering = ['-meeting_date'] + + list_display = ["complaint", "meeting_date", "meeting_type_display", "outcome_preview", "created_by", "created_at"] + list_filter = ["meeting_type", "created_at"] + search_fields = ["complaint__title", "outcome", "notes"] + ordering = ["-meeting_date"] fieldsets = ( - ('Complaint', { - 'fields': ('complaint',) - }), - ('Meeting Details', { - 'fields': ('meeting_date', 'meeting_type') - }), - ('Meeting Outcome', { - 'fields': ('outcome', 'notes') - }), - ('Metadata', { - 'fields': ('created_by', 'created_at', 'updated_at') - }), + ("Complaint", {"fields": ("complaint",)}), + ("Meeting Details", {"fields": ("meeting_date", "meeting_type")}), + ("Meeting Outcome", {"fields": ("outcome", "notes")}), + ("Metadata", {"fields": ("created_by", "created_at", "updated_at")}), ) - readonly_fields = ['created_at', 'updated_at'] + readonly_fields = ["created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('complaint', 'created_by') + return qs.select_related("complaint", "created_by") def meeting_type_display(self, obj): """Display meeting type""" return obj.get_meeting_type_display() - meeting_type_display.short_description = 'Type' + + meeting_type_display.short_description = "Type" def outcome_preview(self, obj): """Show preview of outcome""" - return obj.outcome[:100] + '...' if len(obj.outcome) > 100 else obj.outcome - outcome_preview.short_description = 'Outcome' + return obj.outcome[:100] + "..." if len(obj.outcome) > 100 else obj.outcome + + outcome_preview.short_description = "Outcome" @admin.register(ComplaintInvolvedDepartment) class ComplaintInvolvedDepartmentAdmin(admin.ModelAdmin): """Complaint Involved Department admin""" - list_display = [ - 'complaint', 'department', 'role', 'is_primary', - 'assigned_to', 'response_submitted', 'created_at' - ] - list_filter = ['role', 'is_primary', 'response_submitted', 'created_at'] - search_fields = [ - 'complaint__title', 'complaint__reference_number', - 'department__name', 'notes' - ] - ordering = ['-is_primary', '-created_at'] - autocomplete_fields = ['complaint', 'department', 'assigned_to', 'added_by'] + + list_display = ["complaint", "department", "role", "is_primary", "assigned_to", "response_submitted", "created_at"] + list_filter = ["role", "is_primary", "response_submitted", "created_at"] + search_fields = ["complaint__title", "complaint__reference_number", "department__name", "notes"] + ordering = ["-is_primary", "-created_at"] + autocomplete_fields = ["complaint", "department", "assigned_to", "added_by"] fieldsets = ( - ('Complaint', { - 'fields': ('complaint',) - }), - ('Department & Role', { - 'fields': ('department', 'role', 'is_primary') - }), - ('Assignment', { - 'fields': ('assigned_to', 'assigned_at') - }), - ('Response', { - 'fields': ('response_submitted', 'response_submitted_at', 'response_notes') - }), - ('Notes', { - 'fields': ('notes',) - }), - ('Metadata', { - 'fields': ('added_by', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Complaint", {"fields": ("complaint",)}), + ("Department & Role", {"fields": ("department", "role", "is_primary")}), + ("Assignment", {"fields": ("assigned_to", "assigned_at")}), + ("Response", {"fields": ("response_submitted", "response_submitted_at", "response_notes")}), + ("Notes", {"fields": ("notes",)}), + ("Metadata", {"fields": ("added_by", "created_at", "updated_at"), "classes": ("collapse",)}), ) - readonly_fields = ['assigned_at', 'response_submitted_at', 'created_at', 'updated_at'] + readonly_fields = ["assigned_at", "response_submitted_at", "created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related( - 'complaint', 'department', 'assigned_to', 'added_by' - ) + return qs.select_related("complaint", "department", "assigned_to", "added_by") @admin.register(ComplaintInvolvedStaff) class ComplaintInvolvedStaffAdmin(admin.ModelAdmin): """Complaint Involved Staff admin""" - list_display = [ - 'complaint', 'staff', 'role', - 'explanation_requested', 'explanation_received', 'created_at' - ] - list_filter = ['role', 'explanation_requested', 'explanation_received', 'created_at'] + + list_display = ["complaint", "staff", "role", "explanation_requested", "explanation_received", "created_at"] + list_filter = ["role", "explanation_requested", "explanation_received", "created_at"] search_fields = [ - 'complaint__title', 'complaint__reference_number', - 'staff__first_name', 'staff__last_name', 'notes' + "complaint__title", + "complaint__reference_number", + "staff__first_name", + "staff__last_name", + "notes", ] - ordering = ['role', '-created_at'] - autocomplete_fields = ['complaint', 'staff', 'added_by'] + ordering = ["role", "-created_at"] + autocomplete_fields = ["complaint", "staff", "added_by"] fieldsets = ( - ('Complaint', { - 'fields': ('complaint',) - }), - ('Staff & Role', { - 'fields': ('staff', 'role') - }), - ('Explanation', { - 'fields': ( - 'explanation_requested', 'explanation_requested_at', - 'explanation_received', 'explanation_received_at', 'explanation' - ) - }), - ('Notes', { - 'fields': ('notes',) - }), - ('Metadata', { - 'fields': ('added_by', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Complaint", {"fields": ("complaint",)}), + ("Staff & Role", {"fields": ("staff", "role")}), + ( + "Explanation", + { + "fields": ( + "explanation_requested", + "explanation_requested_at", + "explanation_received", + "explanation_received_at", + "explanation", + ) + }, + ), + ("Notes", {"fields": ("notes",)}), + ("Metadata", {"fields": ("added_by", "created_at", "updated_at"), "classes": ("collapse",)}), ) - readonly_fields = [ - 'explanation_requested_at', 'explanation_received_at', - 'created_at', 'updated_at' - ] + readonly_fields = ["explanation_requested_at", "explanation_received_at", "created_at", "updated_at"] def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related( - 'complaint', 'staff', 'added_by' - ) - + return qs.select_related("complaint", "staff", "added_by") class OnCallAdminInline(admin.TabularInline): """Inline admin for on-call admins""" + model = OnCallAdmin extra = 1 fields = [ - 'admin_user', 'start_date', 'end_date', - 'notification_priority', 'is_active', - 'notify_email', 'notify_sms', 'sms_phone' + "admin_user", + "start_date", + "end_date", + "notification_priority", + "is_active", + "notify_email", + "notify_sms", + "sms_phone", ] - autocomplete_fields = ['admin_user'] - + autocomplete_fields = ["admin_user"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('admin_user') + return qs.select_related("admin_user") @admin.register(OnCallAdminSchedule) class OnCallAdminScheduleAdmin(admin.ModelAdmin): """On-Call Admin Schedule admin""" + list_display = [ - 'hospital_or_system', 'working_hours_display', - 'working_days_display', 'timezone', 'is_active', 'created_at' + "hospital_or_system", + "working_hours_display", + "working_days_display", + "timezone", + "is_active", + "created_at", ] - list_filter = ['is_active', 'timezone', 'created_at'] - search_fields = ['hospital__name'] + list_filter = ["is_active", "timezone", "created_at"] + search_fields = ["hospital__name"] inlines = [OnCallAdminInline] - + fieldsets = ( - ('Scope', { - 'fields': ('hospital', 'is_active') - }), - ('Working Hours Configuration', { - 'fields': ('work_start_time', 'work_end_time', 'timezone', 'working_days'), - 'description': 'Configure working hours. Outside these hours, only on-call admins will be notified.' - }), + ("Scope", {"fields": ("hospital", "is_active")}), + ( + "Working Hours Configuration", + { + "fields": ("work_start_time", "work_end_time", "timezone", "working_days"), + "description": "Configure working hours. Outside these hours, only on-call admins will be notified.", + }, + ), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def hospital_or_system(self, obj): """Display hospital name or 'System-wide'""" if obj.hospital: return obj.hospital.name - return format_html('System-wide') - hospital_or_system.short_description = 'Scope' - hospital_or_system.admin_order_field = 'hospital__name' - + return mark_safe('System-wide') + + hospital_or_system.short_description = "Scope" + hospital_or_system.admin_order_field = "hospital__name" + def working_hours_display(self, obj): """Display working hours""" return f"{obj.work_start_time.strftime('%H:%M')} - {obj.work_end_time.strftime('%H:%M')}" - working_hours_display.short_description = 'Working Hours' - + + working_hours_display.short_description = "Working Hours" + def working_days_display(self, obj): """Display working days as abbreviated day names""" days = obj.get_working_days_list() - day_names = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] + day_names = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] selected_days = [day_names[d] for d in days if 0 <= d <= 6] - return ', '.join(selected_days) if selected_days else 'None' - working_days_display.short_description = 'Working Days' - + return ", ".join(selected_days) if selected_days else "None" + + working_days_display.short_description = "Working Days" + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital') + return qs.select_related("hospital") @admin.register(OnCallAdmin) class OnCallAdminAdmin(admin.ModelAdmin): """On-Call Admin admin""" - list_display = [ - 'admin_user', 'schedule', 'notification_priority', - 'date_range', 'contact_preferences', 'is_active' - ] - list_filter = [ - 'is_active', 'notify_email', 'notify_sms', - 'schedule__hospital', 'created_at' - ] - search_fields = [ - 'admin_user__email', 'admin_user__first_name', - 'admin_user__last_name', 'sms_phone' - ] - autocomplete_fields = ['admin_user', 'schedule'] - + + list_display = ["admin_user", "schedule", "notification_priority", "date_range", "contact_preferences", "is_active"] + list_filter = ["is_active", "notify_email", "notify_sms", "schedule__hospital", "created_at"] + search_fields = ["admin_user__email", "admin_user__first_name", "admin_user__last_name", "sms_phone"] + autocomplete_fields = ["admin_user", "schedule"] + fieldsets = ( - ('Assignment', { - 'fields': ('schedule', 'admin_user', 'is_active') - }), - ('Active Period (Optional)', { - 'fields': ('start_date', 'end_date'), - 'description': 'Leave empty for permanent assignment' - }), - ('Notification Settings', { - 'fields': ( - 'notification_priority', 'notify_email', 'notify_sms', 'sms_phone' - ), - 'description': 'Configure how this admin should be notified for after-hours complaints' - }), + ("Assignment", {"fields": ("schedule", "admin_user", "is_active")}), + ( + "Active Period (Optional)", + {"fields": ("start_date", "end_date"), "description": "Leave empty for permanent assignment"}, + ), + ( + "Notification Settings", + { + "fields": ("notification_priority", "notify_email", "notify_sms", "sms_phone"), + "description": "Configure how this admin should be notified for after-hours complaints", + }, + ), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def date_range(self, obj): """Display date range""" if obj.start_date and obj.end_date: @@ -839,144 +871,129 @@ class OnCallAdminAdmin(admin.ModelAdmin): return f"From {obj.start_date}" elif obj.end_date: return f"Until {obj.end_date}" - return format_html('Permanent') - date_range.short_description = 'Active Period' - + return mark_safe('Permanent') + + date_range.short_description = "Active Period" + def contact_preferences(self, obj): """Display contact preferences""" prefs = [] if obj.notify_email: - prefs.append('📧 Email') + prefs.append("📧 Email") if obj.notify_sms: - prefs.append(f'📱 SMS ({obj.sms_phone or "user phone"})') - return ', '.join(prefs) if prefs else 'None' - contact_preferences.short_description = 'Contact' - + prefs.append(f"📱 SMS ({obj.sms_phone or 'user phone'})") + return ", ".join(prefs) if prefs else "None" + + contact_preferences.short_description = "Contact" + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('admin_user', 'schedule', 'schedule__hospital') - + return qs.select_related("admin_user", "schedule", "schedule__hospital") class ComplaintAdverseActionAttachmentInline(admin.TabularInline): """Inline admin for adverse action attachments""" + model = ComplaintAdverseActionAttachment extra = 0 - fields = ['file', 'filename', 'description', 'uploaded_by'] - readonly_fields = ['filename', 'file_size'] + fields = ["file", "filename", "description", "uploaded_by"] + readonly_fields = ["filename", "file_size"] @admin.register(ComplaintAdverseAction) class ComplaintAdverseActionAdmin(admin.ModelAdmin): """Admin for complaint adverse actions""" + list_display = [ - 'complaint_reference', 'action_type_display', 'severity_badge', - 'incident_date', 'status_badge', 'is_escalated', 'created_at' + "complaint_reference", + "action_type_display", + "severity_badge", + "incident_date", + "status_badge", + "is_escalated", + "created_at", ] - list_filter = [ - 'action_type', 'severity', 'status', 'is_escalated', - 'incident_date', 'created_at' - ] - search_fields = [ - 'complaint__reference_number', 'complaint__title', - 'description', 'patient_impact' - ] - date_hierarchy = 'incident_date' + list_filter = ["action_type", "severity", "status", "is_escalated", "incident_date", "created_at"] + search_fields = ["complaint__reference_number", "complaint__title", "description", "patient_impact"] + date_hierarchy = "incident_date" inlines = [ComplaintAdverseActionAttachmentInline] - + fieldsets = ( - ('Complaint Information', { - 'fields': ('complaint',) - }), - ('Adverse Action Details', { - 'fields': ( - 'action_type', 'severity', 'description', - 'incident_date', 'location' - ) - }), - ('Impact & Staff', { - 'fields': ( - 'patient_impact', 'involved_staff' - ) - }), - ('Verification & Investigation', { - 'fields': ( - 'status', 'reported_by', - 'investigation_notes', 'investigated_by', 'investigated_at' - ), - 'classes': ('collapse',) - }), - ('Resolution', { - 'fields': ( - 'resolution', 'resolved_by', 'resolved_at' - ), - 'classes': ('collapse',) - }), - ('Escalation', { - 'fields': ( - 'is_escalated', 'escalated_at' - ) - }), + ("Complaint Information", {"fields": ("complaint",)}), + ("Adverse Action Details", {"fields": ("action_type", "severity", "description", "incident_date", "location")}), + ("Impact & Staff", {"fields": ("patient_impact", "involved_staff")}), + ( + "Verification & Investigation", + { + "fields": ("status", "reported_by", "investigation_notes", "investigated_by", "investigated_at"), + "classes": ("collapse",), + }, + ), + ("Resolution", {"fields": ("resolution", "resolved_by", "resolved_at"), "classes": ("collapse",)}), + ("Escalation", {"fields": ("is_escalated", "escalated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def complaint_reference(self, obj): """Display complaint reference""" return format_html( - '{}', - obj.complaint.id, - obj.complaint.reference_number + '{}', obj.complaint.id, obj.complaint.reference_number ) - complaint_reference.short_description = 'Complaint' - + + complaint_reference.short_description = "Complaint" + def action_type_display(self, obj): """Display action type with formatting""" return obj.get_action_type_display() - action_type_display.short_description = 'Action Type' - + + action_type_display.short_description = "Action Type" + def severity_badge(self, obj): """Display severity as colored badge""" colors = { - 'low': '#22c55e', # green - 'medium': '#f59e0b', # amber - 'high': '#ef4444', # red - 'critical': '#7f1d1d', # dark red + "low": "#22c55e", # green + "medium": "#f59e0b", # amber + "high": "#ef4444", # red + "critical": "#7f1d1d", # dark red } - color = colors.get(obj.severity, '#64748b') + color = colors.get(obj.severity, "#64748b") return format_html( '{}', color, - obj.get_severity_display() + obj.get_severity_display(), ) - severity_badge.short_description = 'Severity' - + + severity_badge.short_description = "Severity" + def status_badge(self, obj): """Display status as colored badge""" colors = { - 'reported': '#f59e0b', - 'under_investigation': '#3b82f6', - 'verified': '#22c55e', - 'unfounded': '#64748b', - 'resolved': '#10b981', + "reported": "#f59e0b", + "under_investigation": "#3b82f6", + "verified": "#22c55e", + "unfounded": "#64748b", + "resolved": "#10b981", } - color = colors.get(obj.status, '#64748b') + color = colors.get(obj.status, "#64748b") return format_html( '{}', color, - obj.get_status_display() + obj.get_status_display(), ) - status_badge.short_description = 'Status' - + + status_badge.short_description = "Status" + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('complaint', 'reported_by', 'investigated_by', 'resolved_by') + return qs.select_related("complaint", "reported_by", "investigated_by", "resolved_by") @admin.register(ComplaintAdverseActionAttachment) class ComplaintAdverseActionAttachmentAdmin(admin.ModelAdmin): """Admin for adverse action attachments""" - list_display = ['adverse_action', 'filename', 'file_type', 'uploaded_by', 'created_at'] - list_filter = ['file_type', 'created_at'] - search_fields = ['filename', 'description', 'adverse_action__complaint__reference_number'] - ordering = ['-created_at'] + + list_display = ["adverse_action", "filename", "file_type", "uploaded_by", "created_at"] + list_filter = ["file_type", "created_at"] + search_fields = ["filename", "description", "adverse_action__complaint__reference_number"] + ordering = ["-created_at"] diff --git a/apps/complaints/management/commands/analyze_complaints_ai.py b/apps/complaints/management/commands/analyze_complaints_ai.py new file mode 100644 index 0000000..56c4ee9 --- /dev/null +++ b/apps/complaints/management/commands/analyze_complaints_ai.py @@ -0,0 +1,237 @@ +""" +Management command to run AI analysis on complaints within a date range. + +This command will find complaints created within a specified date range +and run AI analysis on them. Useful for processing historical complaints +that were imported without AI analysis. + +Usage: + # Analyze complaints from specific date range + python manage.py analyze_complaints_ai --from-date 2022-08-01 --to-date 2022-12-31 + + # Analyze only complaints without existing AI analysis + python manage.py analyze_complaints_ai --from-date 2022-08-01 --to-date 2022-12-31 --skip-analyzed + + # Force re-analysis of all complaints (even those already analyzed) + python manage.py analyze_complaints_ai --from-date 2022-08-01 --to-date 2022-12-31 --force + + # Analyze specific complaints by ID + python manage.py analyze_complaints_ai --complaint-ids uuid1 uuid2 uuid3 + + # Limit number of complaints to analyze + python manage.py analyze_complaints_ai --from-date 2022-08-01 --to-date 2022-12-31 --limit 50 + + # Dry run to see what would be analyzed + python manage.py analyze_complaints_ai --from-date 2022-08-01 --to-date 2022-12-31 --dry-run +""" +import logging +from datetime import datetime, time +from typing import List, Optional + +from django.core.management.base import BaseCommand, CommandError +from django.utils import timezone + +from apps.complaints.models import Complaint + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + help = "Run AI analysis on complaints within a date range" + + def add_arguments(self, parser): + # Date range arguments + parser.add_argument( + '--from-date', + type=str, + help='Start date (YYYY-MM-DD format)' + ) + parser.add_argument( + '--to-date', + type=str, + help='End date (YYYY-MM-DD format)' + ) + + # Specific complaint IDs + parser.add_argument( + '--complaint-ids', + nargs='+', + type=str, + help='Specific complaint UUIDs to analyze' + ) + + # Filtering options + parser.add_argument( + '--skip-analyzed', + action='store_true', + help='Skip complaints that already have AI analysis (default: False)' + ) + parser.add_argument( + '--force', + action='store_true', + help='Force re-analysis even if complaint already has AI analysis' + ) + + # Limit and batch options + parser.add_argument( + '--limit', + type=int, + help='Maximum number of complaints to analyze' + ) + parser.add_argument( + '--batch-size', + type=int, + default=10, + help='Number of complaints to process in each batch (default: 10)' + ) + + # Other options + parser.add_argument( + '--dry-run', + action='store_true', + help='Show what would be analyzed without actually running analysis' + ) + parser.add_argument( + '--sync', + action='store_true', + help='Run analysis synchronously (not as Celery tasks) - WARNING: May be slow' + ) + + def handle(self, *args, **options): + self.dry_run = options['dry_run'] + self.sync = options['sync'] + self.skip_analyzed = options['skip_analyzed'] + self.force = options['force'] + + # Validate arguments + if not options['complaint_ids'] and (not options['from_date'] or not options['to_date']): + raise CommandError( + "You must provide either --complaint-ids OR both --from-date and --to-date" + ) + + # Build queryset + queryset = self._build_queryset(options) + + if not queryset.exists(): + self.stdout.write(self.style.WARNING("No complaints found matching criteria")) + return + + total_count = queryset.count() + self.stdout.write(f"Found {total_count} complaints to analyze") + + if self.dry_run: + self.stdout.write(self.style.WARNING("\nDRY RUN - Showing first 10 complaints:")) + for complaint in queryset[:10]: + has_analysis = 'Yes' if complaint.metadata and 'ai_analysis' in complaint.metadata else 'No' + self.stdout.write(f" - {complaint.reference_number}: {complaint.title[:50]}... [AI: {has_analysis}]") + if total_count > 10: + self.stdout.write(f" ... and {total_count - 10} more") + return + + # Process complaints + self._process_complaints(queryset, options.get('batch_size', 10)) + + def _build_queryset(self, options): + """Build queryset based on options.""" + + # Start with specific IDs or date range + if options['complaint_ids']: + queryset = Complaint.objects.filter(id__in=options['complaint_ids']) + else: + # Parse dates + try: + from_date = datetime.strptime(options['from_date'], '%Y-%m-%d') + to_date = datetime.strptime(options['to_date'], '%Y-%m-%d') + # Set to end of day for to_date + to_date = to_date.replace(hour=23, minute=59, second=59) + except ValueError: + raise CommandError("Dates must be in YYYY-MM-DD format") + + # Make timezone aware + from_date = timezone.make_aware(from_date) + to_date = timezone.make_aware(to_date) + + queryset = Complaint.objects.filter( + created_at__gte=from_date, + created_at__lte=to_date + ) + + # Apply filters + if self.skip_analyzed and not self.force: + # Skip complaints that already have AI analysis + queryset = queryset.exclude( + metadata__has_key='ai_analysis' + ) + elif not self.force: + # By default, skip analyzed unless force is specified + queryset = queryset.exclude( + metadata__has_key='ai_analysis' + ) + + # Apply limit + if options.get('limit'): + queryset = queryset[:options['limit']] + + return queryset + + def _process_complaints(self, queryset, batch_size): + """Process complaints in batches.""" + total = queryset.count() + processed = 0 + success = 0 + failed = 0 + skipped = 0 + + self.stdout.write(f"\nProcessing {total} complaints...") + self.stdout.write("=" * 80) + + for complaint in queryset.iterator(): + processed += 1 + + # Show progress + if processed % 10 == 0 or processed == 1: + self.stdout.write(f"\nProgress: {processed}/{total} ({(processed/total)*100:.1f}%)") + + try: + # Check if already analyzed (unless force) + if not self.force and complaint.metadata and 'ai_analysis' in complaint.metadata: + self.stdout.write(f" Skipping {complaint.reference_number}: Already analyzed") + skipped += 1 + continue + + self.stdout.write(f" Analyzing {complaint.reference_number}...", ending='') + + if self.sync: + # Run synchronously + from .tasks import analyze_complaint_with_ai + result = analyze_complaint_with_ai(str(complaint.id)) + if result and result.get('status') == 'success': + self.stdout.write(self.style.SUCCESS(" OK")) + success += 1 + else: + self.stdout.write(self.style.ERROR(" FAILED")) + failed += 1 + else: + # Queue as Celery task + from .tasks import analyze_complaint_with_ai + analyze_complaint_with_ai.delay(str(complaint.id)) + self.stdout.write(self.style.SUCCESS(" QUEUED")) + success += 1 + + except Exception as e: + self.stdout.write(self.style.ERROR(f" ERROR: {str(e)}")) + logger.error(f"Error analyzing complaint {complaint.id}: {e}", exc_info=True) + failed += 1 + + # Print summary + self.stdout.write("\n" + "=" * 80) + self.stdout.write(self.style.SUCCESS("ANALYSIS COMPLETE")) + self.stdout.write("=" * 80) + self.stdout.write(f"Total complaints: {total}") + self.stdout.write(self.style.SUCCESS(f"Successfully queued/processed: {success}")) + self.stdout.write(self.style.WARNING(f"Skipped (already analyzed): {skipped}")) + self.stdout.write(self.style.ERROR(f"Failed: {failed}")) + + if not self.sync: + self.stdout.write("\nNote: Analysis is running asynchronously via Celery.") + self.stdout.write("Check Celery worker logs for progress.") diff --git a/apps/complaints/management/commands/complaint_taxonomy_mapping.py b/apps/complaints/management/commands/complaint_taxonomy_mapping.py new file mode 100644 index 0000000..8c6f8f2 --- /dev/null +++ b/apps/complaints/management/commands/complaint_taxonomy_mapping.py @@ -0,0 +1,362 @@ +""" +Taxonomy mapping configuration for historical complaint import (2022). + +Maps Excel classification names to ComplaintCategory UUIDs. +""" + +import re + + +# Domain mappings (Level 1) - Maps Excel Domain → ComplaintCategory UUID +DOMAIN_MAPPING = { + "Clinical complaints": "d7bb3c2d-9f80-4d8c-85dc-ca5ac139417a", # CLINICAL / سريري + "Clinical Care": "51d3e74b-7c7f-48aa-98ef-475f97a47d0d", # الرعاية السريرية + "Relationship complaints": "f8263c2e-a89b-4ab7-bccd-a1524d85524c", # RELATIONSHIPS / علاقات + "Relationships": "73f83d5f-81a1-4340-970c-46d2950e7c98", # العلاقات + "Management complaints": "a58cb0ee-4622-4996-99ad-e134b88687e6", # MANAGEMENT / إداري + "Management": "70f95ca0-436f-4a1f-9ea5-9de2625e70c9", # الإدارة +} + +# Category mappings (Level 2) - Maps Excel Category → ComplaintCategory UUID +CATEGORY_MAPPING = { + "Quality": "416a4c10-5739-4e27-a62f-ea5f107f0e81", # الجودة + "1. Quality": "416a4c10-5739-4e27-a62f-ea5f107f0e81", # الجودة + "Safety": "29e47b23-a724-46da-b128-b7ceb7546da0", # السلامة + "2. Safety": "29e47b23-a724-46da-b128-b7ceb7546da0", # السلامة + "Institutional Issues": "ca1619c9-7df4-4c97-b216-7a8113917997", # القضايا المؤسسية + "3. Institutional issues": "ca1619c9-7df4-4c97-b216-7a8113917997", # القضايا المؤسسية + "Accessibility": "313679ed-9749-4e6c-9f92-9c9a4126f6bf", # سهولة الوصول + "4. Accessibility": "313679ed-9749-4e6c-9f92-9c9a4126f6bf", # سهولة الوصول + "Communication": "51b66802-59c8-42db-9f04-b7d468bc2408", # التواصل + "5. Communication": "51b66802-59c8-42db-9f04-b7d468bc2408", # التواصل + "Humanness / Caring": "7409fc81-8d66-4028-aa1b-8b3143c39b46", # الإنسانية / الرعاية + "6. Humanness / Caring": "7409fc81-8d66-4028-aa1b-8b3143c39b46", # الإنسانية / الرعاية + "Confidentiality": "6a2d6d89-fdcb-425a-97a0-f3e524d0090b", # الخصوصية + "Consent": "54f695ca-4050-4b23-a463-ce4b136db173", # الموافقة + "4. Finance and Billing": "7f87c9c4-68df-48e7-81a4-4bebd7376253", # المالية والفواتير + "5. Incorrect Information": "6e75d91a-5c1e-4f1b-a71b-ba90b7a2ba5b", # معلومات غير صحيحة + "6. Confidentiality": "6a2d6d89-fdcb-425a-97a0-f3e524d0090b", # الخصوصية +} + +# Sub-Category mappings (Level 3) - Maps Excel Sub-Category → ComplaintCategory UUID +SUBCATEGORY_MAPPING = { + "Examination": "a173a340-9dee-4115-a901-b4555e546500", # الفحص + "1.1. Examination": "a173a340-9dee-4115-a901-b4555e546500", # الفحص + "Patient Journey": "23be662b-ae71-43c3-9a19-09388c903468", # رحلة المريض + "Patient journey": "23be662b-ae71-43c3-9a19-09388c903468", # رحلة المريض + "1.2.Patient journey": "23be662b-ae71-43c3-9a19-09388c903468", # رحلة المريض + "Quality of Care": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", # جودة الرعاية + "1.3.Quality of Care": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", # جودة الرعاية + "Treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", # العلاج + "1.4.Treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", # العلاج + "Diagnosis": "9335435e-98fb-48cd-b153-102ce4f5a39d", # التشخيص + "1.5.Diagnosis": "9335435e-98fb-48cd-b153-102ce4f5a39d", # التشخيص + "Medication & Vaccination": "287ba991-305b-4585-bd3a-1bf2c8b19397", # الأدوية واللقاحات + "Medication and Vaccination": "287ba991-305b-4585-bd3a-1bf2c8b19397", # الأدوية واللقاحات + "2.1.Medication & Vaccination": "287ba991-305b-4585-bd3a-1bf2c8b19397", # الأدوية واللقاحات + "Safety Incidents": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", # حوادث السلامة + "2.2.Safety Incidents": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", # حوادث السلامة + "Skills and Conduct": "cb7032f8-cb95-4d2c-81d6-d1f0e4119800", # المهارات والسلوك + "2.3.Skills and Conduct": "cb7032f8-cb95-4d2c-81d6-d1f0e4119800", # المهارات والسلوك + "Administrative Policies": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", # السياسات الإدارية + "3.1.Administrative Policies and Procedures": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", # السياسات الإدارية + "Environment": "7108f73c-300e-4212-939f-64264721888c", # البيئة + "3.2.Environment": "7108f73c-300e-4212-939f-64264721888c", # البيئة + "Safety & Security": "86f5fdac-df2a-4d4a-a97a-47812e14489a", # الأمن والسلامة + "3.3.Safety & Security": "86f5fdac-df2a-4d4a-a97a-47812e14489a", # الأمن والسلامة + "Finance and Billing": "7f87c9c4-68df-48e7-81a4-4bebd7376253", # المالية والفواتير + "3.4.Finance and Billing": "7f87c9c4-68df-48e7-81a4-4bebd7376253", # المالية والفواتير + "Resources": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", # الموارد + "3.6.Resources": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", # الموارد + "Access": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", # الوصول + "4.1.Access": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", # الوصول + "Delays": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", # التأخير + "4.3.Delays": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", # التأخير + "Patient-staff communication": "b1ef5b10-dc5a-49fc-9fc6-277ca4d41609", # التواصل بين المريض والموظفين + "5.1.Patient-staff Communication": "b1ef5b10-dc5a-49fc-9fc6-277ca4d41609", # التواصل بين المريض والموظفين + "Emotional Support": "51087d24-2803-448e-a9dc-aba310fcc15b", # الدعم العاطفي + "6.1.Emotional Support": "51087d24-2803-448e-a9dc-aba310fcc15b", # الدعم العاطفي + "Assault and Harassment": "5721210d-0294-4356-ab7d-eebe4e5ab9d7", # الاعتداء والمضايقة + "6.2.Assault and Harassment": "5721210d-0294-4356-ab7d-eebe4e5ab9d7", # الاعتداء والمضايقة + "6.2.Assault and Harassment": "5721210d-0294-4356-ab7d-eebe4e5ab9d7", # الاعتداء والمضايقة + "Consent Process": "e6ff3ace-a4e6-4d44-a7f4-178b846b632c", # إجراءات الموافقة + "Privacy": "68d32c04-6c99-40b5-949d-10e78becbb99", # خصوصية المعلومات + "6.3.Confidentiality": "68d32c04-6c99-40b5-949d-10e78becbb99", # خصوصية المعلومات + "3.5.Staffing": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", # الموارد + "4.2.Patient Disposition (final plan)": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", # التأخير + "4.4.Referrals": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", # الوصول + "3.7.Medical records": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", # السياسات الإدارية + "6.4.Consent": "e6ff3ace-a4e6-4d44-a7f4-178b846b632c", # إجراءات الموافقة + "5.2.Incorrect Information": "6e75d91a-5c1e-4f1b-a71b-ba90b7a2ba5b", # معلومات غير صحيحة +} + +# Classification mappings (Level 4) - Maps Excel Classification → ComplaintCategory UUID +CLASSIFICATION_MAPPING = { + "Patient flow issues": "8488fbf4-610e-4754-b2bb-096a67c4305c", + "1.2.2.Patient flow issues": "8488fbf4-610e-4754-b2bb-096a67c4305c", + "Substandard clinical/nursing care": "884bace8-9402-456c-9ced-1f140e9938c0", + "1.3.1.Substandard clinical/nursing care": "884bace8-9402-456c-9ced-1f140e9938c0", + "Errors in diagnosis": "3ab515e6-0504-48b6-8c83-dab0475ac331", + "1.5.1.Errors in diagnosis": "3ab515e6-0504-48b6-8c83-dab0475ac331", + "Dispensing errors": "23af36a6-3050-4fe4-bb30-d5d61abccb7a", + "2.1.2.Dispensing errors": "23af36a6-3050-4fe4-bb30-d5d61abccb7a", + # 'Calculate Additional amount': 'NOT-IN-SYSTEM', # Not found in current taxonomy, + # '3.4.3.Calculate Additional amount': 'NOT-IN-SYSTEM', # Not found in current taxonomy, + "Unnecessary health services": "24433748-9854-4cfe-9e32-65f4fb70c5c1", + "3.4.6.Unnecessary health services": "24433748-9854-4cfe-9e32-65f4fb70c5c1", + "Examination delay": "af9f4297-7094-416b-a9b2-b5d1b3f212c3", # Examination delay in emergency, + "4.3.3.Examination delay": "af9f4297-7094-416b-a9b2-b5d1b3f212c3", # Examination delay in emergency, + "Miscommunication with Patient": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "5.1.1.Miscommunication with Patient": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "Inappropriate/aggressive behavior": "9767593f-9be0-481f-8520-d5e855de3d8b", + "6.2.1.Inappropriate/aggressive behavior": "9767593f-9be0-481f-8520-d5e855de3d8b", + "Inadequate emotional support": "51087d24-2803-448e-a9dc-aba310fcc15b", + "6.1.1.Inadequate emotional support": "51087d24-2803-448e-a9dc-aba310fcc15b", + "Poor provider-patient communication": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "5.1.2.Poor provider-patient communication": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "Neglect": "51087d24-2803-448e-a9dc-aba310fcc15b", + "6.1.2.Neglect": "51087d24-2803-448e-a9dc-aba310fcc15b", + "1.2.Neglect": "23be662b-ae71-43c3-9a19-09388c903468", + "Miscoordination": "23be662b-ae71-43c3-9a19-09388c903468", + "1.2.1.Miscoordination": "23be662b-ae71-43c3-9a19-09388c903468", + "Lack of follow up": "23be662b-ae71-43c3-9a19-09388c903468", + "1.2.3.Lack of follow up": "23be662b-ae71-43c3-9a19-09388c903468", + "Rough treatment": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", + "1.3.3.Rough treatment": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", + "Insensitive to patient needs": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", + "1.3.4.Insensitive to patient needs": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", + "Inadequate/incomplete assessment": "884bace8-9402-456c-9ced-1f140e9938c0", + "1.1.2. Inadequate/incomplete assessment": "884bace8-9402-456c-9ced-1f140e9938c0", + "2. Inadequate/incomplete assessment": "884bace8-9402-456c-9ced-1f140e9938c0", + "Examination not performed": "a173a340-9dee-4115-a901-b4555e546500", + "1.1.1. Examination not performed": "a173a340-9dee-4115-a901-b4555e546500", + "Lab tests not performed": "a173a340-9dee-4115-a901-b4555e546500", + "1.1.4. Lab tests not performed": "a173a340-9dee-4115-a901-b4555e546500", + "Diagnostic Imaging not performed": "a173a340-9dee-4115-a901-b4555e546500", + "1.1.5. Diagnostic Imaging not performed": "a173a340-9dee-4115-a901-b4555e546500", + "Loss of a patient sample": "a173a340-9dee-4115-a901-b4555e546500", + "1.1.6.Loss of a patient sample": "a173a340-9dee-4115-a901-b4555e546500", + "Not having enough knowledge regarding the patient condition": "a173a340-9dee-4115-a901-b4555e546500", + "1.1.3. Not having enough knowledge regarding the patient condition": "a173a340-9dee-4115-a901-b4555e546500", + "Treatment plan issues": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "1.4.1.Treatment plan issues": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "Treatment plan not followed": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "1.4.2 Treatment plan not followed": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "Ineffective treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "1.4.3.Ineffective treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "Inadequate pain management": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "1.4.4.Inadequate pain management": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "Patient Discharged before completing treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "1.4.5.Patient Discharged before completing treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "Prescribing errors": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.1.Prescribing errors": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "No medication prescribed": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.3.No medication prescribed": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Dispensing medication without prescription": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.5.Dispensing medication without prescription": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Prescription of expired medication": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.6.Prescription of expired medication": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Medication shortages": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.8.Medication shortages": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Insufficient medication prescribed": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.4 Insufficient medication prescribed": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Errors in lab results": "9335435e-98fb-48cd-b153-102ce4f5a39d", + "1.5.2.Errors in lab results": "9335435e-98fb-48cd-b153-102ce4f5a39d", + "Errors in Pre-marriage lab test": "9335435e-98fb-48cd-b153-102ce4f5a39d", + "1.5.4.Errors in Pre-marriage lab test": "9335435e-98fb-48cd-b153-102ce4f5a39d", + "Equipment failure/malfunction": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "1.Equipment failure/malfunction": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "2.2.1.Equipment failure/malfunction": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "11.Heating, Ventilation, Air condition (HVAC) Failure": "aeda737e-3d7f-49d5-afa7-9b79f94a049f", + "Wrong treatment": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "2.2.4.Wrong treatment": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "Poor hand-hygiene": "cb7032f8-cb95-4d2c-81d6-d1f0e4119800", + "2.3.4.Poor hand-hygiene": "cb7032f8-cb95-4d2c-81d6-d1f0e4119800", + "Improper practice of infection control recommendation": "cb7032f8-cb95-4d2c-81d6-d1f0e4119800", + "2.3.5.Improper practice of infection control recommendation": "cb7032f8-cb95-4d2c-81d6-d1f0e4119800", + "Paperwork delays": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.1.1.Paperwork delays": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Facility guidelines compliance": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.1.3.Facility guidelines compliance": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Required Service not obtained": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.1.4.Required Service not obtained": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Non-compliance with visiting hours policy": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.1.7.Non-compliance with visiting hours policy": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Inadequate reception service": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.1.8.Inadequate reception service": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Inadequate call center service": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.1.9.Inadequate call center service": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Poor environment": "7108f73c-300e-4212-939f-64264721888c", + "3.2.1.Poor environment": "7108f73c-300e-4212-939f-64264721888c", + "Poor cleanliness/sanitizing": "7108f73c-300e-4212-939f-64264721888c", + "3.2.2.Poor cleanliness/sanitizing": "7108f73c-300e-4212-939f-64264721888c", + "Poor Food service": "7108f73c-300e-4212-939f-64264721888c", + "2.4.Poor Food service": "7108f73c-300e-4212-939f-64264721888c", + "3.2.4.Poor Food service": "7108f73c-300e-4212-939f-64264721888c", + "Poor security response": "86f5fdac-df2a-4d4a-a97a-47812e14489a", + "3.3.2.Poor security response": "86f5fdac-df2a-4d4a-a97a-47812e14489a", + "Theft and lost": "86f5fdac-df2a-4d4a-a97a-47812e14489a", + "3.3.8.Theft and lost": "86f5fdac-df2a-4d4a-a97a-47812e14489a", + "Lack of parking slots": "86f5fdac-df2a-4d4a-a97a-47812e14489a", + "3.3.9.Lack of parking slots": "86f5fdac-df2a-4d4a-a97a-47812e14489a", + "Miscalculation": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "3.4.2.Miscalculation": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "Pricing variations": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "3.4.5.Pricing variations": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "Unavailable Beds": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", + "3.6.5.Unavailable Beds": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", + "Sick leave issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.7.7.Sick leave issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Birth registry issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.7.4.Birth registry issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.7.5.Death registry issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.7.6.Lab results issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Medical report issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.7.3.Medical report issues": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Incorrect medical records": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "3.7.2.Incorrect medical records": "30ff5d01-cd94-49b4-9d62-e10ffba5faca", + "Poor availability and scheduling": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "2.Poor availability and scheduling": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "4.1.2.Poor availability and scheduling": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "Appointment scheduling refusal": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "4.1.1.Appointment scheduling refusal": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "Appointment delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.1.4.Appointment delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Appointment cancellation": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.1.5.Appointment cancellation": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Scheduling errors": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.1.7.Scheduling errors": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Patient admission refusal": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.1.3.Patient admission refusal": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Delay in admitting patient": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.1.Delay in admitting patient": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Examination delay in emergency": "af9f4297-7094-416b-a9b2-b5d1b3f212c3", + "Diagnosis delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.4.Diagnosis delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Delayed test result": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.5.Delayed test result": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Treatment delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.6.Treatment delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Surgical intervention delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.7.Surgical intervention delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Vaccinating delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.8.Vaccinating delay": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Delay in discharging patient": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.3.9.Delay in discharging patient": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "Communication of wrong information": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "5.2.2.Communication of wrong information": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "Deficient Information": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "5.2.1.Deficient Information": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "2.1.Deficient Information": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Not involving patient in clinical decisions": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "5.1.3.Not involving patient in clinical decisions": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "Failure to clarify patient case to his family": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "5.1.4.Failure to clarify patient case to his family": "17c5f8f1-e4c2-477a-a4d0-d4253434d22e", + "Breach of patient privacy": "98ededd1-d7c3-440a-805e-addcedf1cb41", + "6.3.2.Breach of patient privacy": "98ededd1-d7c3-440a-805e-addcedf1cb41", + "No apology to the patient": "51087d24-2803-448e-a9dc-aba310fcc15b", + "6.2.5.No apology to the patient": "51087d24-2803-448e-a9dc-aba310fcc15b", + "Reimbursements issues": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "3.4.4.Reimbursements issues": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "Specialty not available": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", + "3.5.2.Specialty not available": "2b67dc2f-b7d8-48a8-8e8c-4f90a571c414", + "Patient death": "998e7952-ad30-432e-9631-e4493ed8aaa1", + "2.2.18.Patient death": "998e7952-ad30-432e-9631-e4493ed8aaa1", + "Labor and delivery related issues": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "2.2.10.Labor and delivery related issues": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "Wrong surgery": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "2.2.11.Wrong surgery": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "Surgical complications": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "2.2.13.Surgical complications": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "Complications resulting from treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "2.2.5.Complications resulting from treatment": "df5c295d-d04a-4260-a20e-ef2e9967d84f", + "Vaccination shortages": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.10.Vaccination shortages": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Vaccinations timing": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.11.Vaccinations timing": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Refusal to vaccinate": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.12.Refusal to vaccinate": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Refusal to dispense medications": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "2.1.9.Refusal to dispense medications": "287ba991-305b-4585-bd3a-1bf2c8b19397", + "Rushed, not time to see patients": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", + "1.3.5.Rushed, not time to see patients": "bd4e9fea-cfe9-4a2d-9c34-0dcfad39129e", + "Medical device failure": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "2.2.2.Medical device failure": "1faf00f0-9e44-4bc8-a83c-c1a3dcb89041", + "Calculate Additional amount": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "3.4.3.Calculate Additional amount": "7f87c9c4-68df-48e7-81a4-4bebd7376253", + "Patient referral refusal": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "4.4.1.Patient referral refusal": "b603082c-0e6a-420b-8f99-7ad8a5f9bbc8", + "Delay in patient transfer": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", + "4.4.2.Delay in patient transfer": "00fcedd7-5de7-44dc-bf72-8fa62bbfcf4b", +} + + +def _normalize_name(name: str) -> str: + """Normalize category name: replace newlines with spaces, collapse multiple spaces, strip.""" + return re.sub(r"\s+", " ", name.strip()) if name else "" + + +def get_mapped_category(name: str, mapping: dict) -> str: + """ + Get UUID for a category name from the mapping. + + Args: + name: The Excel category name + mapping: The appropriate mapping dictionary + + Returns: + UUID string or None if not mapped + """ + if not name: + return None + + normalized = _normalize_name(name) + + # Try exact match + if normalized in mapping: + return mapping[normalized] + + # Try with stripped number prefix (e.g., "1. Quality" -> "Quality", ".1. Quality" -> "Quality") + stripped_name = re.sub(r"^[.\d]+\s*", "", normalized).strip() + if stripped_name in mapping: + return mapping[stripped_name] + + # Try case-insensitive match + normalized_lower = normalized.lower() + for key, value in mapping.items(): + if _normalize_name(key).lower() == normalized_lower: + return value + + # Try case-insensitive with stripped name + stripped_lower = stripped_name.lower() + for key, value in mapping.items(): + if _normalize_name(re.sub(r"^[.\d]+\s*", "", key)).lower() == stripped_lower: + return value + + return None + + +def is_taxonomy_mapped(domain: str, category: str, subcategory: str, classification: str) -> bool: + """ + Check if all taxonomy levels are mapped. + + Args: + domain: Domain name from Excel + category: Category name from Excel + subcategory: Sub-category name from Excel + classification: Classification name from Excel + + Returns: + True if all levels are mapped, False otherwise + """ + # Check each level - if name exists but not mapped, return False + if domain and not get_mapped_category(domain, DOMAIN_MAPPING): + return False + if category and not get_mapped_category(category, CATEGORY_MAPPING): + return False + if subcategory and not get_mapped_category(subcategory, SUBCATEGORY_MAPPING): + return False + if classification and not get_mapped_category(classification, CLASSIFICATION_MAPPING): + return False + + return True diff --git a/apps/complaints/management/commands/import_2025_complaints_basic.py b/apps/complaints/management/commands/import_2025_complaints_basic.py new file mode 100644 index 0000000..9c0f91e --- /dev/null +++ b/apps/complaints/management/commands/import_2025_complaints_basic.py @@ -0,0 +1,302 @@ +""" +Import 2025 complaints from Excel with basic fields (no AI, skip missing columns). + +2025 has different structure than 2022-2024: +- No 4-level taxonomy (skip) +- No Staff ID column (use staff_name text only) +- No Rightful Side column (skip) + +Usage: + python manage.py import_2025_complaints_basic "Complaints Report - 2025.xlsx" --sheet="JAN" +""" +import logging +import re +from datetime import datetime +from typing import Dict, Optional + +from django.core.management.base import BaseCommand, CommandError +from django.db import transaction +from django.utils import timezone + +from apps.accounts.models import User +from apps.complaints.models import Complaint +from apps.organizations.models import Hospital, Location, MainSection, SubSection + +logger = logging.getLogger(__name__) + +DEFAULT_HOSPITAL_CODE = "NUZHA-DEV" + +# 2025 Column mapping (different from 2022-2024) +COLUMN_MAPPING = { + "complaint_num": 3, # رقم الشكوى + "mrn": 4, # رقم الملف + "source": 5, # جهة الشكوى + "location_name": 6, # الموقع + "main_dept_name": 7, # القسم الرئيس + "sub_dept_name": 8, # القسم الفرعي + "date_received": 9, # تاريخ إستلام الشكوى + "data_entry_person": 10, # المدخل + "response_date": 48, # تاريخ الرد (was Staff ID in 2022-2024) + "staff_name": 51, # اسم الشخص المشتكى عليه (was col 49) + # Skip cols 52-53 (Complain Classification, Main Subject) + "description_ar": 54, # محتوى الشكوى (عربي) + "description_en": 55, # محتوى الشكوى (English) + "satisfaction": 56, # توثيق تذكيرات للقسم المشتكى عليه + "reminder_date": 57, # تاريخ التذكير +} + +# Month mapping for 2025 sheet names (3-letter abbreviations) +MONTH_MAP = { + "JAN": "01", "FEB": "02", "MAR": "03", "APR": "04", + "MAY": "05", "JUN": "06", "JUL": "07", "AUG": "08", + "SEP": "09", "OCT": "10", "NOV": "11", "DEC": "12", +} + + +class Command(BaseCommand): + help = "Import 2025 complaints with basic fields (no taxonomy, no staff linking)" + + def add_arguments(self, parser): + parser.add_argument("excel_file", type=str) + parser.add_argument("--sheet", type=str, default="JAN") + parser.add_argument("--dry-run", action="store_true") + parser.add_argument("--start-row", type=int, default=3) + + def handle(self, *args, **options): + self.excel_file = options["excel_file"] + self.sheet_name = options["sheet"] + self.dry_run = options["dry_run"] + self.start_row = options["start_row"] + + # Load hospital + self.hospital = self._load_hospital() + if not self.hospital: + raise CommandError(f'Hospital "{DEFAULT_HOSPITAL_CODE}" not found') + + self.stdout.write(f"Using hospital: {self.hospital.name}") + + # Load Excel + try: + import openpyxl + self.wb = openpyxl.load_workbook(self.excel_file) + except ImportError: + raise CommandError("openpyxl required: pip install openpyxl") + + if self.sheet_name not in self.wb.sheetnames: + available = ", ".join(self.wb.sheetnames) + raise CommandError(f'Sheet "{self.sheet_name}" not found. Available: {available}') + + self.ws = self.wb[self.sheet_name] + self.stdout.write(f"Processing sheet: {self.sheet_name}") + + # Stats + self.stats = {"processed": 0, "success": 0, "failed": 0} + self.errors = [] + + # Process + self._process_sheet() + self._print_report() + + def _load_hospital(self) -> Optional[Hospital]: + try: + return Hospital.objects.get(code=DEFAULT_HOSPITAL_CODE) + except Hospital.DoesNotExist: + return None + + def _process_sheet(self): + row_num = self.start_row + + while row_num <= self.ws.max_row: + try: + row_data = self._extract_row_data(row_num) + + if not row_data.get("complaint_num"): + row_num += 1 + continue + + self.stats["processed"] += 1 + + # Build reference number + ref_num = self._build_reference_number(row_data["complaint_num"]) + + # Check for duplicate + if Complaint.objects.filter(reference_number=ref_num).exists(): + row_num += 1 + continue + + # Parse dates + date_received = self._parse_datetime(row_data.get("date_received")) + created_at = date_received or timezone.now() + response_date = self._parse_datetime(row_data.get("response_date")) + reminder_date = self._parse_datetime(row_data.get("reminder_date")) + + # Resolve location/departments + location = self._resolve_location(row_data.get("location_name")) + main_section = self._resolve_section(row_data.get("main_dept_name")) + subsection = self._resolve_subsection(row_data.get("sub_dept_name")) + + # Get/create data entry user + assigned_to_user = self._get_or_create_data_entry_user(row_data.get("data_entry_person")) + + # Determine status + status = "open" + if response_date: + status = "resolved" + + if not self.dry_run: + with transaction.atomic(): + complaint = Complaint.objects.create( + reference_number=ref_num, + hospital=self.hospital, + location=location, + main_section=main_section, + subsection=subsection, + title=self._build_title(row_data), + description=self._build_description(row_data), + patient_name="Unknown", + national_id="", + relation_to_patient="patient", + staff=None, # No staff linking for 2025 + staff_name=row_data.get("staff_name") or "", + # No taxonomy fields for 2025 + domain=None, + category=None, + subcategory_obj=None, + classification_obj=None, + status=status, + assigned_to=assigned_to_user, + resolved_by=assigned_to_user if response_date else None, + # Timeline + created_at=created_at, + explanation_requested=bool(date_received), + explanation_requested_at=date_received, + explanation_received_at=response_date, + reminder_sent_at=reminder_date, + metadata={ + "import_source": "2025_excel_basic", + "original_sheet": self.sheet_name, + "complaint_num": row_data.get("complaint_num"), + }, + ) + + self.stats["success"] += 1 + + except Exception as e: + self.stats["failed"] += 1 + self.errors.append({"row": row_num, "error": str(e)}) + logger.error(f"Row {row_num}: {e}", exc_info=True) + + row_num += 1 + + def _extract_row_data(self, row_num: int) -> Dict: + data = {} + for field, col in COLUMN_MAPPING.items(): + cell_value = self.ws.cell(row_num, col).value + data[field] = cell_value + return data + + def _build_reference_number(self, complaint_num) -> str: + sheet_parts = self.sheet_name.strip().split() + year = "2025" + month_part = sheet_parts[0].upper() + month_code = MONTH_MAP.get(month_part, "00") + return f"CMP-{year}-{month_code}-{int(complaint_num):04d}" + + def _parse_datetime(self, value) -> Optional[datetime]: + if not value: + return None + if isinstance(value, datetime): + return value + if isinstance(value, str): + try: + return datetime.strptime(value, "%Y-%m-%d %H:%M:%S") + except ValueError: + try: + return datetime.strptime(value, "%Y-%m-%d") + except ValueError: + return None + return None + + def _resolve_location(self, name_ar: str) -> Optional[Location]: + if not name_ar: + return None + return Location.objects.filter(name_ar=name_ar).first() + + def _resolve_section(self, name_ar: str) -> Optional[MainSection]: + if not name_ar: + return None + return MainSection.objects.filter(name_ar=name_ar).first() + + def _resolve_subsection(self, name_ar: str) -> Optional[SubSection]: + if not name_ar: + return None + return SubSection.objects.filter(name_ar=name_ar).first() + + def _get_or_create_data_entry_user(self, arabic_name: str) -> Optional[User]: + if not arabic_name: + return None + + try: + from unidecode import unidecode + except ImportError: + return None + + parts = arabic_name.split() + if len(parts) >= 2: + first, last = parts[0], parts[-1] + else: + first, last = arabic_name, "coordinator" + + username_first = re.sub(r"[^a-z0-9]", "", unidecode(first).lower().strip()) + username_last = re.sub(r"[^a-z0-9]", "", unidecode(last).lower().strip()) + + if not username_first: + username_first = "user" + if not username_last: + username_last = "coordinator" + + username = f"{username_first}.{username_last}" + + user = User.objects.filter(username=username).first() + if user: + return user + + try: + user = User( + username=username, + first_name=arabic_name, + last_name="", + email=f"{username}@alhammadi.med.sa", + is_active=True, + ) + user.save() + return user + except Exception: + return None + + def _build_title(self, row_data: Dict) -> str: + desc = row_data.get("description_en") or row_data.get("description_ar") or "" + return desc[:500] if desc else "No description" + + def _build_description(self, row_data: Dict) -> str: + desc_en = row_data.get("description_en") or "" + desc_ar = row_data.get("description_ar") or "" + + if desc_en and desc_ar: + return f"{desc_en}\n\n[Arabic]:\n{desc_ar}" + return desc_en or desc_ar or "No description provided" + + def _print_report(self): + self.stdout.write("\n" + "=" * 60) + self.stdout.write("IMPORT REPORT - 2025 BASIC") + self.stdout.write("=" * 60) + self.stdout.write(f"Sheet: {self.sheet_name}") + self.stdout.write(f"Mode: {'DRY RUN' if self.dry_run else 'ACTUAL'}") + self.stdout.write(f"\nProcessed: {self.stats['processed']}") + self.stdout.write(f"Success: {self.stats['success']}") + self.stdout.write(f"Failed: {self.stats['failed']}") + + if self.errors: + self.stdout.write(f"\nErrors: {len(self.errors)}") + for error in self.errors[:5]: + self.stdout.write(f" Row {error['row']}: {error['error']}") diff --git a/apps/complaints/management/commands/import_historical_complaints.py b/apps/complaints/management/commands/import_historical_complaints.py new file mode 100644 index 0000000..c1235a3 --- /dev/null +++ b/apps/complaints/management/commands/import_historical_complaints.py @@ -0,0 +1,614 @@ +""" +Import historical complaints from Excel (Aug-Dec 2022). + +Usage: + # Test import (AUG 2022 only, dry run) + python manage.py import_historical_complaints "Complaints Report - 2022.xlsx" --sheet="AUG 2022 " --dry-run + + # Actual import (AUG 2022) + python manage.py import_historical_complaints "Complaints Report - 2022.xlsx" --sheet="AUG 2022 " + + # Import all months + python manage.py import_historical_complaints "Complaints Report - 2022.xlsx" --sheet="SEP 2022 " + python manage.py import_historical_complaints "Complaints Report - 2022.xlsx" --sheet="OCT 2022" + python manage.py import_historical_complaints "Complaints Report - 2022.xlsx" --sheet="NOV 2022" + python manage.py import_historical_complaints "Complaints Report - 2022.xlsx" --sheet="DEC 2022" +""" + +import logging +import re +from datetime import datetime +from typing import Dict, List, Optional, Tuple + +from django.core.management.base import BaseCommand, CommandError +from django.db import transaction +from django.utils import timezone + +from apps.organizations.models import Hospital, Location, MainSection, SubSection, Staff +from apps.complaints.models import Complaint, ComplaintCategory +from apps.accounts.models import User + +from .complaint_taxonomy_mapping import ( + DOMAIN_MAPPING, + CATEGORY_MAPPING, + SUBCATEGORY_MAPPING, + CLASSIFICATION_MAPPING, + get_mapped_category, + is_taxonomy_mapped, +) + +logger = logging.getLogger(__name__) + +# Default hospital code for all imported complaints +DEFAULT_HOSPITAL_CODE = "NUZHA-DEV" + +# Column mapping: field_name -> column_number (1-based) +COLUMN_MAPPING = { + "complaint_num": 3, # رقم الشكوى + "mrn": 4, # رقم الملف + "source": 5, # جهة الشكوى + "location_name": 6, # الموقع + "main_dept_name": 7, # القسم الرئيس + "sub_dept_name": 8, # القسم الفرعي + "date_received": 9, # تاريخ إستلام الشكوى + "data_entry_person": 10, # المدخل (Data Entry Person) + "accused_staff_id": 48, # ID (Employee ID) + "accused_staff_name": 49, # اسم الشخص المشتكى عليه - ان وجد + "domain": 50, # Domain + "category": 51, # Category + "subcategory": 52, # Sub-Category + "classification": 53, # Classification + "description_ar": 54, # محتوى الشكوى (عربي) + "description_en": 55, # محتوى الشكوى (English) + "satisfaction": 56, # Satisfied/Dissatisfied + "rightful_side": 57, # The Rightful Side + # Timeline columns + "date_sent": 20, # تم ارسال الشكوى (Complaint Sent/Activated) + "first_reminder": 24, # First Reminder Sent + "second_reminder": 28, # Second Reminder Sent + "escalated_date": 32, # Escalated + "closed_date": 37, # Closed + "resolved_date": 44, # Resolved + "response_date": 41, # تاريخ الرد (Response Date - for explanation received) +} + +# Month mapping for reference numbers +MONTH_MAP = { + # Full month names (2023-2025 format) + "JANUARY": "01", + "FEBRUARY": "02", + "MARCH": "03", + "APRIL": "04", + "MAY": "05", + "JUNE": "06", + "JULY": "07", + "AUGUST": "08", + "SEPTEMBER": "09", + "OCTOBER": "10", + "NOVEMBER": "11", + "DECEMBER": "12", + # Short names (2022 format for backward compatibility) + "AUG": "08", + "SEP": "09", + "OCT": "10", + "NOV": "11", + "DEC": "12", +} + + +class Command(BaseCommand): + help = "Import historical complaints from Excel (Aug-Dec 2022)" + + def add_arguments(self, parser): + parser.add_argument("excel_file", type=str, help="Path to the Excel file") + parser.add_argument( + "--sheet", type=str, default="AUG 2022 ", help='Sheet name to import (default: "AUG 2022 ")' + ) + parser.add_argument("--dry-run", action="store_true", help="Preview without saving to database") + parser.add_argument("--start-row", type=int, default=3, help="First data row (default: 3, skipping header)") + + def handle(self, *args, **options): + self.excel_file = options["excel_file"] + self.sheet_name = options["sheet"] + self.dry_run = options["dry_run"] + self.start_row = options["start_row"] + + # Load hospital + self.hospital = self._load_hospital() + if not self.hospital: + raise CommandError(f'Hospital with code "{DEFAULT_HOSPITAL_CODE}" not found') + + self.stdout.write(self.style.SUCCESS(f"Using hospital: {self.hospital.name}")) + + # Load Excel workbook + try: + import openpyxl + + self.wb = openpyxl.load_workbook(self.excel_file) + except ImportError: + raise CommandError("openpyxl is required. Install with: pip install openpyxl") + except Exception as e: + raise CommandError(f"Error loading Excel file: {e}") + + # Check sheet exists + if self.sheet_name not in self.wb.sheetnames: + available = ", ".join(self.wb.sheetnames) + raise CommandError(f'Sheet "{self.sheet_name}" not found. Available: {available}') + + self.ws = self.wb[self.sheet_name] + self.stdout.write(f"Processing sheet: {self.sheet_name}") + self.stdout.write(f"Total rows: {self.ws.max_row}") + + # Statistics tracking + self.stats = { + "processed": 0, + "success": 0, + "failed": 0, + "skipped_duplicate": 0, + "skipped_unmapped_taxonomy": 0, + } + self.errors = [] + self.unmapped_taxonomy = set() + self.unmatched_locations = set() + self.unmatched_departments = set() + + # Process rows + self._process_sheet() + + # Generate report + self._print_report() + + def _load_hospital(self) -> Optional[Hospital]: + """Load default hospital by code.""" + try: + return Hospital.objects.get(code=DEFAULT_HOSPITAL_CODE) + except Hospital.DoesNotExist: + return None + + def _process_sheet(self): + """Process all rows in the sheet.""" + row_num = self.start_row + + while row_num <= self.ws.max_row: + try: + # Extract row data + row_data = self._extract_row_data(row_num) + + # Skip empty rows + if not row_data.get("complaint_num"): + row_num += 1 + continue + + self.stats["processed"] += 1 + + # Check for duplicate + ref_num = self._build_reference_number(row_data["complaint_num"]) + if Complaint.objects.filter(reference_number=ref_num).exists(): + self.stats["skipped_duplicate"] += 1 + row_num += 1 + continue + + # Resolve taxonomy - skip if unmapped + taxonomy = self._resolve_taxonomy( + row_data.get("domain"), + row_data.get("category"), + row_data.get("subcategory"), + row_data.get("classification"), + ) + + if not is_taxonomy_mapped( + row_data.get("domain"), + row_data.get("category"), + row_data.get("subcategory"), + row_data.get("classification"), + ): + self.stats["skipped_unmapped_taxonomy"] += 1 + self._log_unmapped_taxonomy(row_data) + row_num += 1 + continue + + # Resolve location and departments + location = self._resolve_location(row_data.get("location_name")) + main_section = self._resolve_section(row_data.get("main_dept_name")) + subsection = self._resolve_subsection(row_data.get("sub_dept_name")) + + # Determine status + status = self._determine_status(row_data) + + # Parse date_received for created_at + date_received = row_data.get("date_received") + created_at = timezone.now() # Default fallback + if date_received: + if isinstance(date_received, str): + try: + created_at = datetime.strptime(date_received, "%Y-%m-%d %H:%M:%S") + except ValueError: + try: + created_at = datetime.strptime(date_received, "%Y-%m-%d") + except ValueError: + pass + elif isinstance(date_received, datetime): + created_at = date_received + + # Get or create data entry person user + data_entry_person = row_data.get("data_entry_person") + assigned_to_user = self._get_or_create_data_entry_user(data_entry_person) + + # Parse timeline dates + date_sent = self._parse_datetime(row_data.get("date_sent")) + first_reminder = self._parse_datetime(row_data.get("first_reminder")) + second_reminder = self._parse_datetime(row_data.get("second_reminder")) + escalated_date = self._parse_datetime(row_data.get("escalated_date")) + closed_date = self._parse_datetime(row_data.get("closed_date")) + resolved_date = self._parse_datetime(row_data.get("resolved_date")) + response_date = self._parse_datetime(row_data.get("response_date")) + + # Determine explanation tracking + explanation_requested = bool(date_sent) + explanation_requested_at = date_sent + explanation_received_at = response_date + + # Resolve accused staff + accused_staff_id = row_data.get("accused_staff_id") + accused_staff = self._resolve_staff_by_id(accused_staff_id) + + # Map rightful side to resolution outcome + rightful_side = row_data.get("rightful_side", "").lower().strip() + resolution_outcome = "" + if rightful_side in ["patient", "hospital", "other"]: + resolution_outcome = rightful_side + + if not self.dry_run: + # Create complaint + with transaction.atomic(): + complaint = Complaint.objects.create( + reference_number=ref_num, + hospital=self.hospital, + location=location, + main_section=main_section, + subsection=subsection, + title=self._build_title(row_data), + description=self._build_description(row_data), + patient_name="Unknown", + national_id="", + relation_to_patient="patient", + staff=accused_staff, + staff_name=row_data.get("accused_staff_name") or "", + domain=taxonomy.get("domain"), + category=taxonomy.get("category"), + subcategory_obj=taxonomy.get("subcategory"), + classification_obj=taxonomy.get("classification"), + status=status, + assigned_to=assigned_to_user, + resolved_by=assigned_to_user, + resolution_outcome=resolution_outcome, + # Timeline fields + activated_at=date_sent, + reminder_sent_at=first_reminder, + second_reminder_sent_at=second_reminder, + escalated_at=escalated_date, + closed_at=closed_date, + resolved_at=resolved_date, + # Explanation tracking + explanation_requested=explanation_requested, + explanation_requested_at=explanation_requested_at, + explanation_received_at=explanation_received_at, + metadata=self._build_metadata(row_data, ref_num), + ) + + # Update created_at to historical date (can't set during create due to auto_now_add) + Complaint.objects.filter(pk=complaint.pk).update(created_at=created_at) + + self.stats["success"] += 1 + + except Exception as e: + self.stats["failed"] += 1 + self.errors.append( + { + "row": row_num, + "complaint_num": row_data.get("complaint_num") if "row_data" in locals() else None, + "error": str(e), + } + ) + logger.error(f"Error processing row {row_num}: {e}", exc_info=True) + + row_num += 1 + + def _extract_row_data(self, row_num: int) -> Dict: + """Extract data from Excel row.""" + data = {} + for field, col in COLUMN_MAPPING.items(): + cell_value = self.ws.cell(row_num, col).value + # Clean classification field (remove Excel artifacts like "AX5:BA5") + if field == "classification" and cell_value: + cell_value = re.sub(r"[A-Z]+\d+:[A-Z]+\d+", "", str(cell_value)).strip() + data[field] = cell_value + return data + + def _build_reference_number(self, complaint_num) -> str: + """Build reference number: CMP-YYYY-MM-NNNN.""" + # Parse year and month from sheet name (e.g., "January 2023 " -> year=2023, month=January) + sheet_parts = self.sheet_name.strip().split() + year = sheet_parts[-1] if len(sheet_parts) > 1 else "2022" + month_part = sheet_parts[0].upper() + month_code = MONTH_MAP.get(month_part, "00") + return f"CMP-{year}-{month_code}-{int(complaint_num):04d}" + + def _resolve_taxonomy(self, domain, category, subcategory, classification) -> Dict: + """Resolve taxonomy to ComplaintCategory objects.""" + return { + "domain": self._get_category_by_uuid(get_mapped_category(domain, DOMAIN_MAPPING)), + "category": self._get_category_by_uuid(get_mapped_category(category, CATEGORY_MAPPING)), + "subcategory": self._get_category_by_uuid(get_mapped_category(subcategory, SUBCATEGORY_MAPPING)), + "classification": self._get_category_by_uuid(get_mapped_category(classification, CLASSIFICATION_MAPPING)), + } + + def _get_category_by_uuid(self, uuid: str) -> Optional[ComplaintCategory]: + """Get ComplaintCategory by UUID.""" + if not uuid: + return None + try: + return ComplaintCategory.objects.get(id=uuid) + except ComplaintCategory.DoesNotExist: + return None + + def _parse_datetime(self, value) -> Optional[datetime]: + """Parse datetime from various formats.""" + if not value: + return None + if isinstance(value, datetime): + return value + if isinstance(value, str): + try: + return datetime.strptime(value, "%Y-%m-%d %H:%M:%S") + except ValueError: + try: + return datetime.strptime(value, "%Y-%m-%d") + except ValueError: + return None + return None + + def _resolve_location(self, name_ar: str) -> Optional[Location]: + """Resolve location by Arabic name.""" + if not name_ar: + return None + location = Location.objects.filter(name_ar=name_ar).first() + if not location: + self.unmatched_locations.add(name_ar) + return location + + def _resolve_section(self, name_ar: str) -> Optional[MainSection]: + """Resolve main section/department by Arabic name.""" + if not name_ar: + return None + # Try Section model + section = MainSection.objects.filter(name_ar=name_ar).first() + if not section: + self.unmatched_departments.add(name_ar) + return section + + def _resolve_subsection(self, name_ar: str) -> Optional[SubSection]: + """Resolve subsection by Arabic name.""" + if not name_ar: + return None + return SubSection.objects.filter(name_ar=name_ar).first() + + def _resolve_staff_by_id(self, employee_id: str) -> Optional[Staff]: + """Resolve staff by employee ID.""" + if not employee_id: + return None + try: + return Staff.objects.get(employee_id=str(employee_id)) + except Staff.DoesNotExist: + return None + + def _get_or_create_data_entry_user(self, arabic_name: str) -> Optional[User]: + """ + Create or get PX-Coordinator user from Arabic data entry person name. + + Transliterates Arabic name to Latin username using first and last name only. + Stores full Arabic name in first_name field. + + Args: + arabic_name: Arabic name from Excel (e.g., "أحمد محمد عبدالله") + + Returns: + User object or None if name is empty + """ + if not arabic_name: + return None + + try: + from unidecode import unidecode + except ImportError: + logger.error("unidecode library not installed. Run: pip install unidecode") + return None + + # Split name and get first and last parts only + parts = arabic_name.split() + if len(parts) >= 2: + first_name = parts[0] + last_name = parts[-1] + else: + first_name = arabic_name + last_name = "coordinator" + + # Transliterate to Latin for username + username_first = unidecode(first_name).lower().strip() + username_last = unidecode(last_name).lower().strip() + + # Clean username (remove special chars, spaces) + username_first = re.sub(r"[^a-z0-9]", "", username_first) + username_last = re.sub(r"[^a-z0-9]", "", username_last) + + if not username_first: + username_first = "user" + if not username_last: + username_last = "coordinator" + + username = f"{username_first}.{username_last}" + + # Check if user already exists + user = User.objects.filter(username=username).first() + if user: + return user + + # Check for similar users (same first name part) + similar_user = User.objects.filter(username__startswith=username_first, first_name=arabic_name).first() + if similar_user: + return similar_user + + # Create new user + try: + # Generate unique email + email = f"{username}@alhammadi.med.sa" + user = User( + username=username, + first_name=arabic_name, # Full Arabic name + last_name="", + email=email, + is_active=True, + ) + user.save() + logger.info(f"Created new PX-Coordinator user: {username} ({arabic_name})") + return user + except Exception as e: + logger.error(f"Error creating user {username}: {e}") + # Try with numbered suffix if username exists + for i in range(2, 100): + try: + email = f"{username}{i}@alhammadi.med.sa" + user = User( + username=f"{username}{i}", + first_name=arabic_name, + last_name="", + email=email, + is_active=True, + ) + user.save() + logger.info(f"Created new PX-Coordinator user: {username}{i} ({arabic_name})") + return user + except Exception as e2: + logger.error(f"Error creating user {username}{i}: {e2}") + continue + return None + + def _determine_status(self, row_data: Dict) -> str: + """Determine complaint status from timeline dates.""" + if row_data.get("closed_date"): + return "closed" + elif row_data.get("resolved_date"): + return "resolved" + elif row_data.get("escalated_date"): + return "in_progress" + else: + return "open" + + def _build_title(self, row_data: Dict) -> str: + """Build complaint title from description.""" + desc = row_data.get("description_en") or row_data.get("description_ar") or "" + return desc[:500] if desc else "No description" + + def _build_description(self, row_data: Dict) -> str: + """Build complaint description (English preferred).""" + desc_en = row_data.get("description_en") or "" + desc_ar = row_data.get("description_ar") or "" + + if desc_en and desc_ar: + return f"{desc_en}\n\n[Arabic]:\n{desc_ar}" + return desc_en or desc_ar or "No description provided" + + def _build_metadata(self, row_data: Dict, ref_num: str) -> Dict: + """Build metadata dictionary.""" + return { + "import_source": "historical_excel_2022", + "imported_at": datetime.now().isoformat(), + "original_sheet": self.sheet_name, + "reference_number": ref_num, + "original_complaint_num": row_data.get("complaint_num"), + "mrn": row_data.get("mrn"), + "source": row_data.get("source"), + "satisfaction": row_data.get("satisfaction"), + "original_staff_name": row_data.get("accused_staff"), + "original_location": row_data.get("location_name"), + "original_departments": { + "main": row_data.get("main_dept_name"), + "sub": row_data.get("sub_dept_name"), + }, + "taxonomy": { + "domain": row_data.get("domain"), + "category": row_data.get("category"), + "subcategory": row_data.get("subcategory"), + "classification": row_data.get("classification"), + }, + "timeline": { + "received": str(row_data.get("date_received")) if row_data.get("date_received") else None, + "sent": str(row_data.get("date_sent")) if row_data.get("date_sent") else None, + "first_reminder": str(row_data.get("first_reminder")) if row_data.get("first_reminder") else None, + "escalated": str(row_data.get("escalated_date")) if row_data.get("escalated_date") else None, + "closed": str(row_data.get("closed_date")) if row_data.get("closed_date") else None, + "resolved": str(row_data.get("resolved_date")) if row_data.get("resolved_date") else None, + }, + } + + def _log_unmapped_taxonomy(self, row_data: Dict): + """Log unmapped taxonomy items.""" + items = [ + row_data.get("domain"), + row_data.get("category"), + row_data.get("subcategory"), + row_data.get("classification"), + ] + for item in items: + if item: + self.unmapped_taxonomy.add(item) + + def _print_report(self): + """Print import summary report.""" + self.stdout.write("\n" + "=" * 80) + self.stdout.write(self.style.SUCCESS("IMPORT REPORT")) + self.stdout.write("=" * 80) + + self.stdout.write(f"\nSheet: {self.sheet_name}") + self.stdout.write(f"Mode: {'DRY RUN' if self.dry_run else 'ACTUAL IMPORT'}") + + self.stdout.write("\n--- Statistics ---") + self.stdout.write(f"Total rows processed: {self.stats['processed']}") + self.stdout.write(self.style.SUCCESS(f"Successfully imported: {self.stats['success']}")) + self.stdout.write(self.style.WARNING(f"Skipped (duplicates): {self.stats['skipped_duplicate']}")) + self.stdout.write(self.style.WARNING(f"Skipped (unmapped taxonomy): {self.stats['skipped_unmapped_taxonomy']}")) + self.stdout.write(self.style.ERROR(f"Failed: {self.stats['failed']}")) + + if self.unmapped_taxonomy: + self.stdout.write("\n--- Unmapped Taxonomy Items ---") + self.stdout.write("Add these to complaint_taxonomy_mapping.py:") + for item in sorted(self.unmapped_taxonomy): + self.stdout.write(f" - {item}") + + if self.unmatched_locations: + self.stdout.write("\n--- Unmatched Locations ---") + self.stdout.write("No Location found with these name_ar values:") + for loc in sorted(self.unmatched_locations): + self.stdout.write(f" - {loc}") + + if self.unmatched_departments: + self.stdout.write("\n--- Unmatched Departments ---") + self.stdout.write("No MainSection/SubSection found with these name_ar values:") + for dept in sorted(self.unmatched_departments): + self.stdout.write(f" - {dept}") + + if self.errors: + self.stdout.write("\n--- Errors ---") + self.stdout.write(f"Total errors: {len(self.errors)}") + for error in self.errors[:10]: # Show first 10 + self.stdout.write( + self.style.ERROR(f"Row {error['row']} (Complaint #{error['complaint_num']}): {error['error']}") + ) + if len(self.errors) > 10: + self.stdout.write(f"... and {len(self.errors) - 10} more errors") + + self.stdout.write("\n" + "=" * 80) + + if self.dry_run: + self.stdout.write(self.style.WARNING("\nThis was a DRY RUN. No data was saved.")) + self.stdout.write("Run without --dry-run to perform actual import.") diff --git a/apps/complaints/management/commands/seed_sample_data.py b/apps/complaints/management/commands/seed_sample_data.py new file mode 100644 index 0000000..84f20a8 --- /dev/null +++ b/apps/complaints/management/commands/seed_sample_data.py @@ -0,0 +1,952 @@ +import random +import uuid +from datetime import timedelta + +from django.core.management.base import BaseCommand +from django.db import transaction +from django.utils import timezone + +from apps.accounts.models import User +from apps.complaints.models import Complaint, ComplaintCategory, ComplaintUpdate, Inquiry, InquiryUpdate +from apps.organizations.models import Hospital, Department, Staff +from apps.observations.models import Observation, ObservationCategory, ObservationNote +from apps.px_sources.models import PXSource + +ENGLISH_COMPLAINTS_STAFF = [ + { + "title": "Rude behavior from nurse during shift", + "description": "I was extremely disappointed by the rude behavior of the nurse {staff_name} during the night shift on {date}. She was dismissive and unprofessional when I asked for pain medication.", + "category": "staff_behavior", + "severity": "critical", + "priority": "urgent", + }, + { + "title": "Physician misdiagnosed my condition", + "description": "Dr. {staff_name} misdiagnosed my condition and prescribed wrong medication. I had to suffer for 3 more days before another doctor caught the error.", + "category": "clinical_care", + "severity": "critical", + "priority": "urgent", + }, + { + "title": "Nurse ignored call button for over 30 minutes", + "description": "Despite pressing the call button multiple times, nurse {staff_name} did not respond for over 30 minutes. When she finally arrived, she was annoyed and unhelpful.", + "category": "staff_behavior", + "severity": "high", + "priority": "high", + }, + { + "title": "Physician did not explain treatment plan clearly", + "description": "Dr. {staff_name} did not take the time to explain my diagnosis or treatment plan. He was rushing and seemed impatient with my questions.", + "category": "clinical_care", + "severity": "high", + "priority": "high", + }, + { + "title": "Nurse made medication error", + "description": "Nurse {staff_name} attempted to give me medication meant for another patient. I only noticed because the name on the label was different. This is a serious safety concern.", + "category": "clinical_care", + "severity": "critical", + "priority": "urgent", + }, + { + "title": "Admin staff was unhelpful with billing inquiry", + "description": "The administrative staff member {staff_name} was extremely unhelpful when I asked questions about my bill. She was dismissive and refused to explain the charges properly.", + "category": "communication", + "severity": "medium", + "priority": "medium", + }, +] + +ENGLISH_COMPLAINTS_GENERAL = [ + { + "title": "Long wait time in emergency room", + "description": "I had to wait over 4 hours in the emergency room despite being in severe pain. The lack of attention and delay in treatment was unacceptable.", + "category": "wait_time", + "severity": "high", + "priority": "high", + }, + { + "title": "Room was not clean upon admission", + "description": "When I was admitted to my room, it was not properly cleaned. There was dust on the surfaces and the bathroom was not sanitary.", + "category": "facility", + "severity": "medium", + "priority": "medium", + }, + { + "title": "Air conditioning not working properly", + "description": "The air conditioning in my room was not working for 2 days. Despite multiple complaints to staff, nothing was done.", + "category": "facility", + "severity": "medium", + "priority": "medium", + }, + { + "title": "Billing statement has incorrect charges", + "description": "My billing statement contains charges for procedures and medications I never received. I have tried to resolve this issue multiple times.", + "category": "billing", + "severity": "high", + "priority": "high", + }, + { + "title": "Difficulty getting prescription refills", + "description": "Getting prescription refills has been extremely difficult. The process is unclear and there is poor communication between the pharmacy and doctors.", + "category": "communication", + "severity": "medium", + "priority": "medium", + }, + { + "title": "Food quality has declined", + "description": "The quality of hospital food has significantly declined. Meals are often cold, not appetizing, and don't meet dietary requirements.", + "category": "facility", + "severity": "medium", + "priority": "medium", + }, + { + "title": "Poor discharge process and instructions", + "description": "The discharge process was chaotic. I was given contradictory instructions about my medication and follow-up care. Nobody explained the next steps clearly.", + "category": "communication", + "severity": "high", + "priority": "high", + }, +] + +ARABIC_COMPLAINTS_STAFF = [ + { + "title": "سلوك غير مهذب من الممرضة أثناء المناوبة", + "description": "كنت محبطاً جداً من السلوك غير المهذب للممرضة {staff_name} خلال المناوبة الليلية في {date}. كانت متجاهلة وغير مهنية عندما طلبت دواء للم.", + "category": "staff_behavior", + "severity": "critical", + "priority": "urgent", + }, + { + "title": "الطبيب تشخص خطأ في حالتي", + "description": "تشخص د. {staff_name} خطأ في حالتي ووصف دواء خاطئ. اضطررت للمعاناة لمدة 3 أيام إضافية قبل أن يكتشف طبيب آخر الخطأ.", + "category": "clinical_care", + "severity": "critical", + "priority": "urgent", + }, + { + "title": "الممرضة تجاهلت زر الاستدعاء لأكثر من 30 دقيقة", + "description": "على الرغم من الضغط على زر الاستدعاء عدة مرات، لم تستجب الممرضة {staff_name} لأكثر من 30 دقيقة.", + "category": "staff_behavior", + "severity": "high", + "priority": "high", + }, + { + "title": "الطبيب لم يوضح خطة العلاج بوضوح", + "description": "د. {staff_name} لم يأخذ الوقت لتوضيح تشخيصي أو خطة العلاج. كان يتسرع ويبدو متضايقاً من أسئلتي.", + "category": "clinical_care", + "severity": "high", + "priority": "high", + }, + { + "title": "الممرضة ارتكبت خطأ في الدواء", + "description": "حاولت الممرضة {staff_name} إعطائي دواء مخصص لمريض آخر. لاحظت ذلك فقط لأن الاسم على الملصق مختلف.", + "category": "clinical_care", + "severity": "critical", + "priority": "urgent", + }, + { + "title": "موظف الإدارة كان غير مفيد في استفسار الفوترة", + "description": "كان موظف الإدارة {staff_name} غير مفيد جداً عندما سألت عن فاتورتي. كان متجاهلاً ورفض توضيح الرسوم بشكل صحيح.", + "category": "communication", + "severity": "medium", + "priority": "medium", + }, +] + +ARABIC_COMPLAINTS_GENERAL = [ + { + "title": "وقت انتظار طويل في الطوارئ", + "description": "اضطررت للانتظار أكثر من 4 ساعات في غرفة الطوارئ رغم أنني كنت أعاني من ألم شديد. عدم الانتباه والتأخير في العلاج غير مقبول.", + "category": "wait_time", + "severity": "high", + "priority": "high", + }, + { + "title": "الغرفة لم تكن نظيفة عند القبول", + "description": "عندما تم قبولي في غرفتي، لم تكن نظيفة بشكل صحيح. كان هناك غبار على الأسطح وحمام غير صحي.", + "category": "facility", + "severity": "medium", + "priority": "medium", + }, + { + "title": "التكييف لا يعمل بشكل صحيح", + "description": "لم يكن التكييف في غرفتي يعمل لمدة يومين. على الرغم من شكاوى متعددة للموظفين، لم يتم فعل شيء.", + "category": "facility", + "severity": "medium", + "priority": "medium", + }, + { + "title": "كشف الفاتورة يحتوي على رسوم غير صحيحة", + "description": "كشف فاتورتي يحتوي على رسوم لإجراءات وأدوية لم أتلقها أبداً. حاولت حل هذه المشكلة عدة مرات لكن لم أتلق أي مساعدة.", + "category": "billing", + "severity": "high", + "priority": "high", + }, + { + "title": "صعوبة الحصول على وصفات طبية", + "description": "الحصول على وصفات طبية كان صعباً للغاية. العملية غير واضحة وهناك تواصل سيء بين الصيدلية والأطباء.", + "category": "communication", + "severity": "medium", + "priority": "medium", + }, + { + "title": "جودة الطعام انخفضت", + "description": "جودة طعام المستشفى انخفضت بشكل كبير. الوجبات غالباً باردة وغير شهية ولا تلبي المتطلبات الغذائية.", + "category": "facility", + "severity": "medium", + "priority": "medium", + }, + { + "title": "عملية الخروج فوضوية وغير واضحة", + "description": "كانت عملية الخروج فوضوية. أعطيت تعليمات متناقضة حول الدواء والمتابعة. لم يشرح أحد الخطوات التالية بوضوح.", + "category": "communication", + "severity": "high", + "priority": "high", + }, +] + +PATIENT_NAMES_EN = [ + "John Smith", + "Sarah Johnson", + "Ahmed Al-Rashid", + "Fatima Hassan", + "Michael Brown", + "Layla Al-Otaibi", + "David Wilson", + "Nora Al-Dosari", + "James Taylor", + "Aisha Al-Qahtani", +] +PATIENT_NAMES_AR = [ + "محمد العتيبي", + "فاطمة الدوسري", + "أحمد القحطاني", + "سارة الشمري", + "خالد الحربي", + "نورة المطيري", + "عبدالله العنزي", + "مريم الزهراني", + "سعود الشهري", + "هند السالم", +] + +INQUIRY_TITLES = [ + {"en": "Question about appointment booking", "ar": "سؤال عن حجز موعد", "category": "appointment"}, + {"en": "Inquiry about insurance coverage", "ar": "استفسار عن التغطية التأمينية", "category": "billing"}, + {"en": "Request for medical records", "ar": "طلب ملف طبي", "category": "medical_records"}, + {"en": "Information about hospital services", "ar": "معلومات عن خدمات المستشفى", "category": "general"}, + {"en": "Question about doctor availability", "ar": "سؤال عن توفر الأطباء", "category": "appointment"}, + {"en": "Inquiry about test results", "ar": "استفسار عن نتائج الفحوصات", "category": "medical_records"}, + {"en": "Request for price list", "ar": "طلب قائمة الأسعار", "category": "billing"}, + {"en": "Question about visiting hours", "ar": "سؤال عن مواعيد الزيارة", "category": "general"}, + {"en": "Inquiry about specialized treatment", "ar": "استفسار عن علاج تخصصي", "category": "general"}, + {"en": "Request for second opinion", "ar": "طلب رأي ثاني", "category": "general"}, + {"en": "Question about discharge process", "ar": "سؤال عن عملية الخروج", "category": "general"}, + { + "en": "Inquiry about medication side effects", + "ar": "استفسار عن الآثار الجانبية للأدوية", + "category": "medical_records", + }, + {"en": "Request for dietary information", "ar": "طلب معلومات غذائية", "category": "general"}, + {"en": "Question about transportation", "ar": "سؤال عن وسائل النقل", "category": "general"}, + {"en": "Inquiry about follow-up appointments", "ar": "استفسار عن مواعيد المتابعة", "category": "appointment"}, + {"en": "Inquiry about patient rights", "ar": "استفسار عن حقوق المرضى", "category": "general"}, + {"en": "Question about hospital policies", "ar": "سؤال عن سياسات المستشفى", "category": "general"}, + { + "en": "Inquiry about international patient services", + "ar": "استفسار عن خدمات المرضى الدوليين", + "category": "general", + }, +] + +OBSERVATION_TEMPLATES = [ + { + "title_en": "Hand hygiene not followed before patient contact", + "title_ar": "عدم الالتزام بالنظافة اليدوية قبل ملامسة المريض", + "severity": "high", + "description_en": "Observed healthcare worker entering patient room without performing hand hygiene.", + "description_ar": "لوح عامل رعاية صحية يدخل غرفة المريض دون أداء النظافة اليدوية.", + }, + { + "title_en": "PPE not properly worn in isolation area", + "title_ar": "عدم ارتداء معدات الوقاية بشكل صحيح في منطقة العزل", + "severity": "critical", + "description_en": "Staff in isolation area not wearing proper PPE including masks and gowns.", + "description_ar": "الموظفون في منطقة العزل لا يرتدون معدات الوقاية المناسبة بما في ذلك الأقنعة والأرواب.", + }, + { + "title_en": "Medication storage at incorrect temperature", + "title_ar": "تخزين الأدوية في درجة حرارة غير صحيحة", + "severity": "high", + "description_en": "Found medication refrigerator not maintaining required temperature range.", + "description_ar": "ثبت أن ثلاجة الأدوية لا تحافظ على نطاق درجة الحرارة المطلوب.", + }, + { + "title_en": "Patient identification bands missing", + "title_ar": "عدم وجود أساور تعريف المرضى", + "severity": "critical", + "description_en": "Multiple patients in ward found without proper identification bands.", + "description_ar": "وجد عدة مرضى في الجناح بدون أساور تعريف مناسبة.", + }, + { + "title_en": "Expired supplies found in treatment room", + "title_ar": "العثور على مستلزمات منتهية الصلاحية في غرفة العلاج", + "severity": "medium", + "description_en": "Several medical supplies past their expiration date found during routine check.", + "description_ar": "العثور على عدة مستلزمات طبية منتهية الصلاحية أثناء الفحص الروتيني.", + }, + { + "title_en": "Fall risk assessment not completed", + "title_ar": "لم يتم إكمال تقييم خطر السقوط", + "severity": "high", + "description_en": "Elderly patient admitted without documented fall risk assessment.", + "description_ar": "تم قبول مريض مسن بدون تقييم موثق لخطر السقوط.", + }, + { + "title_en": "Cleanliness issue in outpatient waiting area", + "title_ar": "مشكلة نظافة في منطقة انتظار العيادات الخارجية", + "severity": "low", + "description_en": "Waiting area floor and seating not properly cleaned between patient visits.", + "description_ar": "أرضية ومنطقة الجلوس في منطقة الانتظار لم يتم تنظيفها بشكل صحيح بين زيارات المرضى.", + }, + { + "title_en": "Incorrect waste segregation observed", + "title_ar": "لوح سوء فرز النفايات", + "severity": "medium", + "description_en": "Medical and general waste being disposed in the same containers.", + "description_ar": "التخلص من النفايات الطبية والعامة في نفس الحاويات.", + }, + { + "title_en": "Emergency exit blocked by equipment", + "title_ar": "مخرج الطوارئ مسدود بالمعدات", + "severity": "critical", + "description_en": "Emergency exit in corridor blocked by stored medical equipment.", + "description_ar": "مخرج الطوارئ في الممر مسدود بالمعدات الطبية المخزنة.", + }, + { + "title_en": "Improper IV line labeling", + "title_ar": "وضع ملصقات غير صحيحة على خطوط الوريد", + "severity": "high", + "description_en": "IV lines not labeled with installation date and time as required.", + "description_ar": "خطوط الوريد غير مُعلَّمة بتاريخ ووقت التركيب كما هو مطلوب.", + }, + { + "title_en": "Fire extinguisher expired in nursing station", + "title_ar": "طفاية حريق منتهية الصلاحية في محطة التمريض", + "severity": "medium", + "description_en": "Fire extinguisher past inspection date found at main nursing station.", + "description_ar": "طفاية حريق تجاوزت تاريخ الفحص في محطة التمريض الرئيسية.", + }, + { + "title_en": "Sharps container overfilled", + "title_ar": "حاوية الأدوات الحادة ممتلئة", + "severity": "high", + "description_en": "Sharps container in procedure room filled beyond the safe fill line.", + "description_ar": "حاوية الأدوات الحادة في غرفة الإجراءات ممتلئة فوق خط الملء الآمن.", + }, + { + "title_en": "Patient left unattended in corridor", + "title_ar": "مريض متروك دون مراقبة في الممر", + "severity": "medium", + "description_en": "Patient on wheelchair found alone in corridor for extended period without staff nearby.", + "description_ar": "وجد مريض على كرسي متحرك بمفرده في الممر لفترة طويلة بدون موظفين في الجوار.", + }, + { + "title_en": "Infection control sign missing from isolation room", + "title_ar": "لافتحة مكافحة العدوى مفقودة من غرفة العزل", + "severity": "medium", + "description_en": "Required infection control signage not displayed at isolation room entrance.", + "description_ar": "لافتحات مكافحة العدوى المطلوبة غير معروضة عند مدخل غرفة العزل.", + }, + { + "title_en": "Oxygen supply equipment not regularly checked", + "title_ar": "معدات إمداد الأكسجين لا يتم فحصها بانتظام", + "severity": "high", + "description_en": "Documentation shows oxygen supply equipment has not been inspected per schedule.", + "description_ar": "الوثائق تظهر أن معدات إمداد الأكسجين لم يتم فحصها وفق الجدول.", + }, +] + +RESOLUTION_TEXTS = [ + "The issue has been investigated and resolved. Corrective actions have been implemented and staff have been briefed on proper procedures.", + "Patient was contacted and offered a sincere apology. Compensation was provided and process improvements were made to prevent recurrence.", + "The complaint was investigated by the department manager. The staff member received additional training and the issue has been fully resolved.", + "After thorough review, the matter has been addressed. New protocols have been established to ensure this does not happen again.", + "The issue was resolved after coordination between departments. An action plan has been implemented and monitoring is in place.", + "Staff counseling was provided and the workflow has been updated. Patient expressed satisfaction with the resolution.", + "Management reviewed the case and implemented systemic changes. All involved staff were briefed and monitoring continues.", +] + + +class Command(BaseCommand): + help = "Seed sample complaints, observations, and inquiries with varied statuses and dates" + + def add_arguments(self, parser): + parser.add_argument("--complaints", type=int, default=30, help="Number of complaints (default: 30)") + parser.add_argument("--observations", type=int, default=20, help="Number of observations (default: 20)") + parser.add_argument("--inquiries", type=int, default=15, help="Number of inquiries (default: 15)") + parser.add_argument("--hospital-code", type=str, help="Specific hospital code") + parser.add_argument("--months-back", type=int, default=6, help="How far back to spread dates (default: 6)") + parser.add_argument("--dry-run", action="store_true", help="Preview without creating") + parser.add_argument("--clear", action="store_true", help="Delete existing sample data first") + + def handle(self, *args, **options): + self.dry_run = options["dry_run"] + self.months_back = options["months_back"] + self.cutoff_date = timezone.now() - timedelta(days=self.months_back * 30) + + self.stdout.write(f"\n{'=' * 60}") + self.stdout.write("Sample Data Seeding Command") + self.stdout.write(f"{'=' * 60}\n") + + hospitals = self._get_hospitals(options["hospital_code"]) + if not hospitals: + return + + px_coordinators = User.objects.filter(groups__name="PX Coordinator", is_active=True) + if not px_coordinators.exists(): + self.stdout.write( + self.style.WARNING("No PX Coordinator users found. Unassigned items will have no assignee.") + ) + px_coordinators = User.objects.filter(groups__name="Hospital Admin", is_active=True) + + all_staff = Staff.objects.filter(status="active") + complaint_categories = ComplaintCategory.objects.filter(is_active=True) + obs_categories = ObservationCategory.objects.filter(is_active=True) + sources = PXSource.objects.filter(is_active=True) + + if not sources.exists(): + self._ensure_pxsources() + sources = PXSource.objects.filter(is_active=True) + + if not obs_categories.exists(): + self.stdout.write( + self.style.WARNING( + "No observation categories found. Run setup_dev_environment or seed_observation_categories first." + ) + ) + return + + if self.dry_run: + self.stdout.write(self.style.WARNING("DRY RUN MODE\n")) + + self._print_config(options) + + if options["clear"]: + self._clear_sample_data() + + complaints_created = self._seed_complaints( + options["complaints"], hospitals, px_coordinators, all_staff, complaint_categories, sources + ) + observations_created = self._seed_observations( + options["observations"], hospitals, px_coordinators, obs_categories + ) + inquiries_created = self._seed_inquiries(options["inquiries"], hospitals, px_coordinators, sources) + + self._print_summary(complaints_created, observations_created, inquiries_created) + + def _get_hospitals(self, hospital_code): + if hospital_code: + hospitals = Hospital.objects.filter(code=hospital_code) + if not hospitals.exists(): + self.stdout.write(self.style.ERROR(f"Hospital with code '{hospital_code}' not found")) + return [] + else: + hospitals = Hospital.objects.filter(status="active") + if not hospitals.exists(): + self.stdout.write(self.style.ERROR("No active hospitals found.")) + return [] + self.stdout.write(self.style.SUCCESS(f"Hospitals: {hospitals.count()}")) + return list(hospitals) + + def _ensure_pxsources(self): + for key, (name_en, name_ar) in PX_SOURCE_MAP.items(): + PXSource.objects.get_or_create(name_en=name_en, defaults={"name_ar": name_ar, "is_active": True}) + + def _print_config(self, options): + self.stdout.write("Configuration:") + self.stdout.write(f" Complaints: {options['complaints']}") + self.stdout.write(f" Observations: {options['observations']}") + self.stdout.write(f" Inquiries: {options['inquiries']}") + self.stdout.write(f" Date spread: Last {options['months_back']} months") + self.stdout.write(f" Dry run: {self.dry_run}") + self.stdout.write("") + + def _clear_sample_data(self): + if self.dry_run: + self.stdout.write(self.style.WARNING("Would clear sample data (dry run)")) + return + c = Complaint.objects.filter(reference_number__startswith="SEED-").count() + o = Observation.objects.filter(tracking_code__startswith="SEED-").count() + i = Inquiry.objects.filter(subject__startswith="[SEED]").count() + Complaint.objects.filter(reference_number__startswith="SEED-").delete() + Observation.objects.filter(tracking_code__startswith="SEED-").delete() + Inquiry.objects.filter(subject__startswith="[SEED]").delete() + self.stdout.write(self.style.SUCCESS(f"Cleared: {c} complaints, {o} observations, {i} inquiries")) + + def _random_date(self, max_days_ago=None, min_days_ago=None): + if max_days_ago is None: + max_days_ago = self.months_back * 30 + if min_days_ago is None: + min_days_ago = 0 + days_ago = random.randint(min_days_ago, max(min_days_ago, self.months_back * 30)) + return timezone.now() - timedelta(days=days_ago) + + def _seed_complaints(self, count, hospitals, px_coordinators, all_staff, categories, sources): + self.stdout.write("\n--- Complaints ---") + + complaint_statuses = [ + ("open", 0.15), + ("in_progress", 0.20), + ("contacted", 0.10), + ("partially_resolved", 0.08), + ("resolved", 0.17), + ("closed", 0.20), + ("contacted_no_response", 0.05), + ("cancelled", 0.05), + ] + + statuses, weights = zip(*complaint_statuses) + created = [] + + for i in range(count): + hospital = random.choice(hospitals) + status = random.choices(statuses, weights=weights, k=1)[0] + is_arabic = random.random() < 0.70 + + if random.random() < 0.6 and all_staff.exists(): + hospital_staff = all_staff.filter(hospital=hospital) + staff_member = random.choice(hospital_staff) if hospital_staff.exists() else random.choice(all_staff) + templates = ARABIC_COMPLAINTS_STAFF if is_arabic else ENGLISH_COMPLAINTS_STAFF + else: + staff_member = None + templates = ARABIC_COMPLAINTS_GENERAL if is_arabic else ENGLISH_COMPLAINTS_GENERAL + + template = random.choice(templates) + description = template["description"] + if staff_member: + name = ( + f"{staff_member.first_name_ar} {staff_member.last_name_ar}" + if is_arabic + else f"{staff_member.first_name} {staff_member.last_name}" + ) + description = description.format(staff_name=name, date=self._random_date(60).strftime("%Y-%m-%d")) + + days_ago = self._days_for_status(status)[0] + created_at = self._random_date(days_ago, days_ago // 2) + + category = random.choice(categories) if categories.exists() else None + source = random.choice(sources) if sources.exists() else None + dept = staff_member.department if staff_member else None + + ref = f"SEED-{hospital.code}-{str(uuid.uuid4())[:8].upper()}" + patient_names = PATIENT_NAMES_AR if is_arabic else PATIENT_NAMES_EN + contact_name = random.choice(patient_names) + + if self.dry_run: + self.stdout.write(f" Would create: [{status}] {template['title'][:60]}") + created.append({"status": status, "lang": "ar" if is_arabic else "en"}) + continue + + complaint = Complaint( + reference_number=ref, + hospital=hospital, + department=dept, + category=category, + title=template["title"], + description=description, + severity=template["severity"], + priority=template["priority"], + source=source, + status=status, + contact_name=contact_name, + contact_phone=f"+9665{random.randint(10000000, 99999999)}", + created_at=created_at, + updated_at=created_at, + ) + if staff_member: + complaint.staff = staff_member + if status not in ("open",): + if status in ("open",): + coordinator = random.choice(px_coordinators) if px_coordinators.exists() else None + complaint.assigned_to = coordinator + complaint.assigned_at = created_at + timedelta(minutes=random.randint(5, 60)) + else: + complaint.assigned_to = random.choice(px_coordinators) if px_coordinators.exists() else None + complaint.assigned_at = created_at + timedelta(minutes=random.randint(5, 60)) + complaint.activated_at = created_at + timedelta(minutes=random.randint(30, 120)) + + if status in ("resolved", "closed"): + resolved_days = max(1, days_ago // 2) + complaint.resolved_at = created_at + timedelta(days=resolved_days) + complaint.resolved_by = complaint.assigned_to + complaint.resolution = random.choice(RESOLUTION_TEXTS) + + if status == "closed": + closed_days = max(1, days_ago // 3) + complaint.closed_at = created_at + timedelta(days=closed_days) + complaint.closed_by = complaint.assigned_to + + complaint.save() + + self._create_complaint_timeline(complaint, created_at, days_ago) + created.append(complaint) + + self.stdout.write(self.style.SUCCESS(f"Created {len(created)} complaints")) + self._print_status_breakdown([c.status for c in created]) + return created + + def _days_for_status(self, status): + mapping = { + "open": (0, 7), + "in_progress": (1, 30), + "contacted": (2, 20), + "partially_resolved": (10, 40), + "resolved": (15, 60), + "closed": (30, 180), + "contacted_no_response": (10, 45), + "cancelled": (20, 90), + } + return mapping.get(status, (1, 30)) + + def _create_complaint_timeline(self, complaint, created_at, days_ago): + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="note", + message="Complaint received and registered", + created_by=None, + created_at=created_at, + ) + + if complaint.status in ( + "in_progress", + "contacted", + "partially_resolved", + "resolved", + "closed", + "contacted_no_response", + ): + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="status_change", + message=f"Complaint activated and assigned to {complaint.assigned_to.get_full_name() if complaint.assigned_to else 'PX Coordinator'}", + old_status="open", + new_status="in_progress", + created_by=complaint.assigned_to, + created_at=complaint.assigned_at if complaint.assigned_at else created_at + timedelta(minutes=5), + ) + + if complaint.status in ("resolved", "closed"): + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="status_change", + message="Complaint resolved after investigation. Corrective actions taken.", + old_status="in_progress", + new_status="resolved", + created_by=complaint.resolved_by, + created_at=complaint.resolved_at if complaint.resolved_at else created_at, + ) + + if complaint.status == "closed": + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="status_change", + message="Complaint closed after verification.", + old_status="resolved", + new_status="closed", + created_by=complaint.closed_by, + created_at=complaint.closed_at if complaint.closed_at else created_at, + ) + + if complaint.status == "contacted_no_response": + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="note", + message="Staff member has not responded to explanation request. Follow-up required.", + created_by=complaint.assigned_to, + created_at=created_at + timedelta(days=max(1, days_ago // 2)), + ) + + def _seed_observations(self, count, hospitals, px_coordinators, obs_categories): + self.stdout.write("\n--- Observations ---") + + obs_statuses = [ + ("new", 0.15), + ("triaged", 0.10), + ("assigned", 0.10), + ("in_progress", 0.15), + ("contacted", 0.05), + ("contacted_no_response", 0.02), + ("resolved", 0.15), + ("closed", 0.20), + ("rejected", 0.05), + ("duplicate", 0.03), + ] + + statuses, weights = zip(*obs_statuses) + created = [] + + for i in range(count): + hospital = random.choice(hospitals) + status = random.choices(statuses, weights=weights, k=1)[0] + template = random.choice(OBSERVATION_TEMPLATES) + is_arabic = random.random() < 0.70 + + days_ago = self._obs_days_for_status(status)[0] + created_at = self._random_date(days_ago, days_ago // 2) + + tracking_code = f"SEED-{hospital.code}-{str(uuid.uuid4())[:6].upper()}" + category = random.choice(obs_categories) if obs_categories.exists() else None + + title = template["title_ar"] if is_arabic else template["title_en"] + description = template["description_ar"] if is_arabic else template["description_en"] + + if self.dry_run: + self.stdout.write(f" Would create: [{status}] {title[:60]}") + created.append({"status": status}) + continue + + obs = Observation( + hospital=hospital, + tracking_code=tracking_code, + title=title, + description=description, + severity=template["severity"], + category=category, + status=status, + source="staff_portal", + incident_datetime=created_at, + reporter_name=random.choice(PATIENT_NAMES_AR if is_arabic else PATIENT_NAMES_EN), + created_at=created_at, + updated_at=created_at, + ) + + if status not in ("new",): + obs.assigned_to = random.choice(px_coordinators) if px_coordinators.exists() else None + + if status in ("resolved", "closed"): + obs.resolved_at = created_at + timedelta(days=max(1, days_ago // 2)) + obs.resolved_by = obs.assigned_to + obs.resolution_notes = random.choice(RESOLUTION_TEXTS) + + if status == "closed": + obs.closed_at = created_at + timedelta(days=max(1, days_ago // 3)) + obs.closed_by = obs.assigned_to + + obs.save() + + self._create_observation_notes(obs, created_at, days_ago, is_arabic) + created.append(obs) + + self.stdout.write(self.style.SUCCESS(f"Created {len(created)} observations")) + self._print_status_breakdown([o.status for o in created]) + return created + + def _obs_days_for_status(self, status): + mapping = { + "new": (0, 7), + "triaged": (3, 14), + "assigned": (5, 20), + "in_progress": (10, 30), + "contacted": (5, 15), + "contacted_no_response": (10, 30), + "resolved": (15, 60), + "closed": (30, 180), + "rejected": (10, 45), + "duplicate": (20, 90), + } + return mapping.get(status, (1, 30)) + + def _create_observation_notes(self, obs, created_at, days_ago, is_arabic): + if is_arabic: + notes = { + "new": "ملاحظة جديدة مسجلة وبانتظار المراجعة.", + "triaged": "تم تصنيف الملاحظة وتحديد أولوية المعالجة.", + "in_progress": "الملاحظة قيد التحقيق حالياً.", + "resolved": "تم حل الملاحظة واتخاذ الإجراءات التصحيحية.", + "closed": "تم إغلاق الملاحظة بعد التحقق.", + "rejected": "تم رفض الملاحظة بعد المراجعة.", + "duplicate": "تم تحديد هذه الملاحظة كنسخة مكررة.", + "contacted": "تم التواصل مع القسم المعني لمتابعة الملاحظة.", + "contacted_no_response": "لم يتم الرد من القسم المعني. مطلوب متابعة.", + "assigned": "تم تعيين الملاحظة لمسؤول للمعالجة.", + } + else: + notes = { + "new": "New observation registered and pending review.", + "triaged": "Observation triaged and priority level assigned.", + "in_progress": "Observation is currently under investigation.", + "resolved": "Observation resolved with corrective actions taken.", + "closed": "Observation closed after verification.", + "rejected": "Observation rejected after review.", + "duplicate": "Observation marked as duplicate of an existing one.", + "contacted": "Department contacted for follow-up on observation.", + "contacted_no_response": "No response from department. Follow-up required.", + "assigned": "Observation assigned for investigation and resolution.", + } + + ObservationNote.objects.create( + observation=obs, + note=notes.get(obs.status, "Observation created."), + created_by=obs.assigned_to, + created_at=created_at, + ) + + if obs.status in ("resolved", "closed"): + ObservationNote.objects.create( + observation=obs, + note=random.choice(RESOLUTION_TEXTS)[:200], + created_by=obs.resolved_by, + created_at=obs.resolved_at if obs.resolved_at else created_at, + ) + + def _seed_inquiries(self, count, hospitals, px_coordinators, sources): + self.stdout.write("\n--- Inquiries ---") + + inquiry_statuses = [ + ("open", 0.15), + ("in_progress", 0.20), + ("contacted", 0.10), + ("contacted_no_response", 0.05), + ("resolved", 0.25), + ("closed", 0.25), + ] + + statuses, weights = zip(*inquiry_statuses) + created = [] + + for i in range(count): + hospital = random.choice(hospitals) + status = random.choices(statuses, weights=weights, k=1)[0] + is_arabic = random.random() < 0.70 + template = random.choice(INQUIRY_TITLES) + + days_ago = self._inquiry_days_for_status(status)[0] + created_at = self._random_date(days_ago, days_ago // 2) + + subject = template["ar"] if is_arabic else f"[SEED] {template['en']}" + category = template["category"] + message = f"This is a {category} inquiry regarding {template['en'].lower()}. The patient is requesting information and assistance with their healthcare needs at the hospital." + if is_arabic: + message = f"هذا استفسار {template['ar']} يتعلق بطلب معلومات ومساعدة في الاحتياجات الصحية." + + source = random.choice(sources) if sources.exists() else None + + if self.dry_run: + self.stdout.write(f" Would create: [{status}] {template['en'][:60]}") + created.append({"status": status}) + continue + + inquiry = Inquiry( + hospital=hospital, + subject=subject, + message=message, + category=category, + status=status, + source=source, + contact_name=random.choice(PATIENT_NAMES_AR if is_arabic else PATIENT_NAMES_EN), + contact_phone=f"+9665{random.randint(10000000, 99999999)}", + created_at=created_at, + updated_at=created_at, + ) + + if status not in ("open",): + inquiry.assigned_to = random.choice(px_coordinators) if px_coordinators.exists() else None + inquiry.assigned_at = created_at + timedelta(minutes=random.randint(5, 60)) + + if status in ("resolved", "closed"): + inquiry.response = random.choice(RESOLUTION_TEXTS) + + if status == "closed": + pass + + inquiry.save() + + self._create_inquiry_updates(inquiry, created_at, days_ago) + created.append(inquiry) + + self.stdout.write(self.style.SUCCESS(f"Created {len(created)} inquiries")) + self._print_status_breakdown([i.status for i in created]) + return created + + def _inquiry_days_for_status(self, status): + mapping = { + "open": (0, 7), + "in_progress": (1, 30), + "contacted": (2, 20), + "contacted_no_response": (10, 30), + "resolved": (15, 90), + "closed": (30, 180), + } + return mapping.get(status, (1, 30)) + + def _create_inquiry_updates(self, inquiry, created_at, days_ago): + InquiryUpdate.objects.create( + inquiry=inquiry, + update_type="note", + message="Inquiry received and registered", + created_by=None, + created_at=created_at, + ) + + if inquiry.status in ("in_progress", "contacted", "contacted_no_response", "resolved", "closed"): + InquiryUpdate.objects.create( + inquiry=inquiry, + update_type="note", + message=f"Inquiry assigned to {inquiry.assigned_to.get_full_name() if inquiry.assigned_to else 'PX Coordinator'} for handling.", + created_by=inquiry.assigned_to, + created_at=inquiry.assigned_at if inquiry.assigned_at else created_at + timedelta(minutes=5), + ) + + if inquiry.status in ("resolved", "closed"): + InquiryUpdate.objects.create( + inquiry=inquiry, + update_type="note", + message="Inquiry resolved. Response sent to the inquirer.", + created_by=inquiry.assigned_to, + created_at=created_at + timedelta(days=max(1, days_ago // 2)), + ) + + if inquiry.status == "closed": + InquiryUpdate.objects.create( + inquiry=inquiry, + update_type="note", + message="Inquiry closed after follow-up confirmation.", + created_by=inquiry.assigned_to, + created_at=created_at + timedelta(days=max(1, days_ago // 3)), + ) + + def _print_status_breakdown(self, statuses_list): + from collections import Counter + + counts = Counter(statuses_list) + for status, count in sorted(counts.items()): + self.stdout.write(f" {status}: {count}") + self.stdout.write("") + + def _print_summary(self, complaints, observations, inquiries): + self.stdout.write(f"\n{'=' * 60}") + self.stdout.write("Summary:") + self.stdout.write(f" Complaints: {len(complaints)}") + self.stdout.write(f" Observations: {len(observations)}") + self.stdout.write(f" Inquiries: {len(inquiries)}") + self.stdout.write(f" Total: {len(complaints) + len(observations) + len(inquiries)}") + self.stdout.write(f"{'=' * 60}") + + if self.dry_run: + self.stdout.write(self.style.WARNING("\nDRY RUN: No changes were made\n")) + else: + self.stdout.write(self.style.SUCCESS("\nSample data seeding completed successfully!\n")) + + +PX_SOURCE_MAP = { + "patient": ("Patient", "مريض"), + "family": ("Family Member", "عضو العائلة"), + "staff": ("Staff", "موظف"), + "call_center": ("Call Center", "مركز الاتصال"), + "online": ("Online Form", "نموذج عبر الإنترنت"), + "in_person": ("In Person", "شخصياً"), + "survey": ("Survey", "استبيان"), + "social_media": ("Social Media", "وسائل التواصل الاجتماعي"), +} diff --git a/apps/complaints/models.py b/apps/complaints/models.py index e37e260..f03d796 100644 --- a/apps/complaints/models.py +++ b/apps/complaints/models.py @@ -28,6 +28,8 @@ class ComplaintStatus(models.TextChoices): RESOLVED = "resolved", "Resolved" CLOSED = "closed", "Closed" CANCELLED = "cancelled", "Cancelled" + CONTACTED = "contacted", "Contacted" + CONTACTED_NO_RESPONSE = "contacted_no_response", "Contacted, No Response" class ResolutionCategory(models.TextChoices): @@ -126,14 +128,11 @@ class ComplaintCategory(UUIDModel, TimeStampedModel): level = models.IntegerField( choices=LevelChoices.choices, - help_text="Hierarchy level (1=Domain, 2=Category, 3=Subcategory, 4=Classification)" + help_text="Hierarchy level (1=Domain, 2=Category, 3=Subcategory, 4=Classification)", ) domain_type = models.CharField( - max_length=20, - choices=DomainTypeChoices.choices, - blank=True, - help_text="Domain type for top-level categories" + max_length=20, choices=DomainTypeChoices.choices, blank=True, help_text="Domain type for top-level categories" ) order = models.IntegerField(default=0, help_text="Display order") @@ -150,14 +149,14 @@ class ComplaintCategory(UUIDModel, TimeStampedModel): def __str__(self): level_display = self.get_level_display() hospital_count = self.hospitals.count() - + if hospital_count == 0: hospital_info = "System-wide" elif hospital_count == 1: hospital_info = self.hospitals.first().name else: hospital_info = f"{hospital_count} hospitals" - + if self.level == self.LevelChoices.CLASSIFICATION and self.parent: parent_path = " > ".join([self.parent.name_en]) return f"{level_display}: {parent_path} > {self.name_en}" @@ -190,51 +189,37 @@ class Complaint(UUIDModel, TimeStampedModel): contact_name = models.CharField(max_length=200, blank=True) contact_phone = models.CharField(max_length=20, blank=True) contact_email = models.EmailField(blank=True) - + # Public complaint form fields relation_to_patient = models.CharField( max_length=20, choices=[ - ('patient', 'Patient'), - ('relative', 'Relative'), + ("patient", "Patient"), + ("relative", "Relative"), ], blank=True, verbose_name="Relation to Patient", - help_text="Complainant's relationship to the patient" + help_text="Complainant's relationship to the patient", ) - + patient_name = models.CharField( - max_length=200, - blank=True, - verbose_name="Patient Name", - help_text="Name of the patient involved" + max_length=200, blank=True, verbose_name="Patient Name", help_text="Name of the patient involved" ) - + national_id = models.CharField( - max_length=20, - blank=True, - verbose_name="National ID/Iqama No.", - help_text="Saudi National ID or Iqama number" + max_length=20, blank=True, verbose_name="National ID/Iqama No.", help_text="Saudi National ID or Iqama number" ) - + incident_date = models.DateField( - null=True, - blank=True, - verbose_name="Incident Date", - help_text="Date when the incident occurred" + null=True, blank=True, verbose_name="Incident Date", help_text="Date when the incident occurred" ) - + staff_name = models.CharField( - max_length=200, - blank=True, - verbose_name="Staff Involved", - help_text="Name of staff member involved (if known)" + max_length=200, blank=True, verbose_name="Staff Involved", help_text="Name of staff member involved (if known)" ) - + expected_result = models.TextField( - blank=True, - verbose_name="Expected Complaint Result", - help_text="What the complainant expects as a resolution" + blank=True, verbose_name="Expected Complaint Result", help_text="What the complainant expects as a resolution" ) # Reference number for tracking @@ -264,52 +249,73 @@ class Complaint(UUIDModel, TimeStampedModel): title = models.CharField(max_length=500) description = models.TextField() + ai_brief_en = models.CharField( + max_length=100, blank=True, db_index=True, help_text="AI-generated 2-3 word summary in English" + ) + ai_brief_ar = models.CharField(max_length=100, blank=True, help_text="AI-generated 2-3 word summary in Arabic") + # Classification - 4-level SHCT taxonomy domain = models.ForeignKey( - ComplaintCategory, on_delete=models.PROTECT, related_name="complaints_domain", - null=True, blank=True, help_text="Level 1: Domain" + ComplaintCategory, + on_delete=models.PROTECT, + related_name="complaints_domain", + null=True, + blank=True, + help_text="Level 1: Domain", ) category = models.ForeignKey( - ComplaintCategory, on_delete=models.PROTECT, related_name="complaints", - null=True, blank=True, help_text="Level 2: Category" + ComplaintCategory, + on_delete=models.PROTECT, + related_name="complaints", + null=True, + blank=True, + help_text="Level 2: Category", ) # Keep CharField for backward compatibility (stores the code) subcategory = models.CharField(max_length=100, blank=True, help_text="Level 3: Subcategory code (legacy)") classification = models.CharField(max_length=100, blank=True, help_text="Level 4: Classification code (legacy)") # New FK fields for proper relationships subcategory_obj = models.ForeignKey( - ComplaintCategory, on_delete=models.PROTECT, related_name="complaints_subcategory", - null=True, blank=True, help_text="Level 3: Subcategory" + ComplaintCategory, + on_delete=models.PROTECT, + related_name="complaints_subcategory", + null=True, + blank=True, + help_text="Level 3: Subcategory", ) classification_obj = models.ForeignKey( - ComplaintCategory, on_delete=models.PROTECT, related_name="complaints_classification", - null=True, blank=True, help_text="Level 4: Classification" + ComplaintCategory, + on_delete=models.PROTECT, + related_name="complaints_classification", + null=True, + blank=True, + help_text="Level 4: Classification", ) # Location hierarchy - required fields location = models.ForeignKey( - 'organizations.Location', + "organizations.Location", on_delete=models.PROTECT, - related_name='complaints', + related_name="complaints", null=True, blank=True, - help_text="Location (e.g., Riyadh, Jeddah)" + help_text="Location (e.g., Riyadh, Jeddah)", ) main_section = models.ForeignKey( - 'organizations.MainSection', + "organizations.MainSection", on_delete=models.PROTECT, - related_name='complaints', + related_name="complaints", null=True, blank=True, - help_text="Section/Department" + help_text="Section/Department", ) subsection = models.ForeignKey( - 'organizations.SubSection', + "organizations.SubSection", on_delete=models.PROTECT, - related_name='complaints', + related_name="complaints", null=True, blank=True, - help_text="Subsection within the section" + help_text="Subsection within the section", ) # Type (complaint vs appreciation) @@ -318,7 +324,7 @@ class Complaint(UUIDModel, TimeStampedModel): choices=ComplaintType.choices, default=ComplaintType.COMPLAINT, db_index=True, - help_text="Type of feedback (complaint vs appreciation)" + help_text="Type of feedback (complaint vs appreciation)", ) # Source type (Internal vs External) @@ -327,7 +333,7 @@ class Complaint(UUIDModel, TimeStampedModel): choices=ComplaintSourceType.choices, default=ComplaintSourceType.EXTERNAL, db_index=True, - help_text="Source type (Internal = staff-generated, External = patient/public-generated)" + help_text="Source type (Internal = staff-generated, External = patient/public-generated)", ) # Priority and severity @@ -350,17 +356,17 @@ class Complaint(UUIDModel, TimeStampedModel): # Creator tracking created_by = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='created_complaints', - help_text="User who created this complaint (SourceUser or Patient)" + related_name="created_complaints", + help_text="User who created this complaint (SourceUser or Patient)", ) # Status and workflow status = models.CharField( - max_length=20, choices=ComplaintStatus.choices, default=ComplaintStatus.OPEN, db_index=True + max_length=25, choices=ComplaintStatus.choices, default=ComplaintStatus.OPEN, db_index=True ) # Assignment @@ -371,39 +377,49 @@ class Complaint(UUIDModel, TimeStampedModel): # Activation tracking activated_at = models.DateTimeField( - null=True, - blank=True, + null=True, + blank=True, db_index=True, - help_text="Timestamp when complaint was first activated (moved from OPEN to IN_PROGRESS)" + help_text="Timestamp when complaint was first activated (moved from OPEN to IN_PROGRESS)", ) # SLA tracking due_at = models.DateTimeField(db_index=True, help_text="SLA deadline") is_overdue = models.BooleanField(default=False, db_index=True) + breached_at = models.DateTimeField( + null=True, blank=True, db_index=True, help_text="Timestamp when complaint first breached SLA" + ) reminder_sent_at = models.DateTimeField(null=True, blank=True, help_text="First SLA reminder timestamp") second_reminder_sent_at = models.DateTimeField(null=True, blank=True, help_text="Second SLA reminder timestamp") escalated_at = models.DateTimeField(null=True, blank=True) + # Explanation tracking + explanation_requested = models.BooleanField( + default=False, help_text="Whether an explanation has been requested from staff" + ) + explanation_requested_at = models.DateTimeField( + null=True, blank=True, help_text="When explanation request was first sent to staff" + ) + explanation_received_at = models.DateTimeField( + null=True, blank=True, help_text="When explanation was received from staff" + ) + explanation_delay_reason = models.TextField(blank=True, help_text="Reason for delay in receiving staff explanation") + # Resolution resolution = models.TextField(blank=True) resolution_sent_at = models.DateTimeField(null=True, blank=True) resolution_category = models.CharField( - max_length=50, - choices=ResolutionCategory.choices, - blank=True, - db_index=True, - help_text="Category of resolution" + max_length=50, choices=ResolutionCategory.choices, blank=True, db_index=True, help_text="Category of resolution" ) resolution_outcome = models.CharField( max_length=20, choices=ResolutionOutcome.choices, blank=True, db_index=True, - help_text="Who was in wrong/right (Patient / Hospital / Other)" + help_text="Who was in wrong/right (Patient / Hospital / Other)", ) resolution_outcome_other = models.TextField( - blank=True, - help_text="Specify if Other was selected for resolution outcome" + blank=True, help_text="Specify if Other was selected for resolution outcome" ) resolved_at = models.DateTimeField(null=True, blank=True) resolved_by = models.ForeignKey( @@ -422,6 +438,52 @@ class Complaint(UUIDModel, TimeStampedModel): ) resolution_survey_sent_at = models.DateTimeField(null=True, blank=True) + # Direct satisfaction tracking (from calls/follow-ups) + satisfaction = models.CharField( + max_length=20, + choices=[ + ("satisfied", "Satisfied"), + ("neutral", "Neutral"), + ("dissatisfied", "Dissatisfied"), + ("no_response", "No Response"), + ("escalated", "Escalated"), + ], + blank=True, + db_index=True, + help_text="Direct satisfaction feedback from patient follow-up call", + ) + + # External references + moh_reference = models.CharField(max_length=100, blank=True, help_text="Ministry of Health reference number") + moh_reference_date = models.DateField(null=True, blank=True, help_text="MOH reference date") + chi_reference = models.CharField( + max_length=100, blank=True, help_text="Council of Health Insurance reference number" + ) + chi_reference_date = models.DateField(null=True, blank=True, help_text="CHI reference date") + + # File number (patient MRN) + file_number = models.CharField(max_length=100, blank=True, db_index=True, help_text="Patient file/MRN number") + + # Workflow timeline (Step 1 fields) + form_sent_at = models.DateTimeField( + null=True, blank=True, help_text="When complaint form was sent to the complained department" + ) + forwarded_to_dept_at = models.DateTimeField( + null=True, blank=True, help_text="When complaint was forwarded to the involved department" + ) + response_date = models.DateField(null=True, blank=True, help_text="Date when response was received") + + # Complaint details (Step 1 fields) + complaint_subject = models.CharField( + max_length=500, blank=True, help_text="Main complaint subject (from Excel classification)" + ) + action_taken_by_dept = models.TextField(blank=True, help_text="Action taken by the responsible department") + action_result = models.TextField(blank=True, help_text="Result of the action/investigation taken") + recommendation_action_plan = models.TextField(blank=True, help_text="Solutions, suggestions, and action plan") + delay_reason_closure = models.TextField( + blank=True, help_text="Reason for not closing the complaint within 72 hours" + ) + # Metadata metadata = models.JSONField(default=dict, blank=True) @@ -446,27 +508,28 @@ class Complaint(UUIDModel, TimeStampedModel): self._status_was = old_instance.status except Complaint.DoesNotExist: self._status_was = None - + # Generate reference number if not set (for all creation methods: form, API, admin) if not self.reference_number: from datetime import datetime import uuid + today = datetime.now().strftime("%Y%m%d") random_suffix = str(uuid.uuid4().int)[:6] self.reference_number = f"CMP-{today}-{random_suffix}" - + if not self.due_at: self.due_at = self.calculate_sla_due_date() - + # Sync complaint_type from AI metadata if not already set # This ensures that model field stays in sync with AI classification - if self.metadata and 'ai_analysis' in self.metadata: - ai_complaint_type = self.metadata['ai_analysis'].get('complaint_type', 'complaint') + if self.metadata and "ai_analysis" in self.metadata: + ai_complaint_type = self.metadata["ai_analysis"].get("complaint_type", "complaint") # Only sync if model field is still default 'complaint' # This preserves any manual changes while fixing AI-synced complaints - if self.complaint_type == 'complaint' and ai_complaint_type != 'complaint': + if self.complaint_type == "complaint" and ai_complaint_type != "complaint": self.complaint_type = ai_complaint_type - + super().save(*args, **kwargs) def calculate_sla_due_date(self): @@ -483,11 +546,7 @@ class Complaint(UUIDModel, TimeStampedModel): # Try source-based SLA config first if self.source: try: - sla_config = ComplaintSLAConfig.objects.get( - hospital=self.hospital, - source=self.source, - is_active=True - ) + sla_config = ComplaintSLAConfig.objects.get(hospital=self.hospital, source=self.source, is_active=True) sla_hours = sla_config.sla_hours return timezone.now() + timedelta(hours=sla_hours) except ComplaintSLAConfig.DoesNotExist: @@ -500,7 +559,7 @@ class Complaint(UUIDModel, TimeStampedModel): source__isnull=True, # Explicitly check for null source severity=self.severity, priority=self.priority, - is_active=True + is_active=True, ) sla_hours = sla_config.sla_hours return timezone.now() + timedelta(hours=sla_hours) @@ -510,10 +569,7 @@ class Complaint(UUIDModel, TimeStampedModel): # Try severity/priority-based config without source filter (backward compatibility) try: sla_config = ComplaintSLAConfig.objects.get( - hospital=self.hospital, - severity=self.severity, - priority=self.priority, - is_active=True + hospital=self.hospital, severity=self.severity, priority=self.priority, is_active=True ) sla_hours = sla_config.sla_hours return timezone.now() + timedelta(hours=sla_hours) @@ -521,9 +577,7 @@ class Complaint(UUIDModel, TimeStampedModel): pass # Fall back to settings # Fall back to settings defaults - sla_hours = settings.SLA_DEFAULTS["complaint"].get( - self.severity, settings.SLA_DEFAULTS["complaint"]["medium"] - ) + sla_hours = settings.SLA_DEFAULTS["complaint"].get(self.severity, settings.SLA_DEFAULTS["complaint"]["medium"]) return timezone.now() + timedelta(hours=sla_hours) @@ -537,11 +591,7 @@ class Complaint(UUIDModel, TimeStampedModel): # Try source-based SLA config first if self.source: try: - return ComplaintSLAConfig.objects.get( - hospital=self.hospital, - source=self.source, - is_active=True - ) + return ComplaintSLAConfig.objects.get(hospital=self.hospital, source=self.source, is_active=True) except ComplaintSLAConfig.DoesNotExist: pass # Fall through to next option @@ -552,7 +602,7 @@ class Complaint(UUIDModel, TimeStampedModel): source__isnull=True, severity=self.severity, priority=self.priority, - is_active=True + is_active=True, ) except ComplaintSLAConfig.DoesNotExist: pass # Fall through to next option @@ -560,10 +610,7 @@ class Complaint(UUIDModel, TimeStampedModel): # Try severity/priority-based config without source filter (backward compatibility) try: return ComplaintSLAConfig.objects.get( - hospital=self.hospital, - severity=self.severity, - priority=self.priority, - is_active=True + hospital=self.hospital, severity=self.severity, priority=self.priority, is_active=True ) except ComplaintSLAConfig.DoesNotExist: pass # No config found @@ -578,7 +625,8 @@ class Complaint(UUIDModel, TimeStampedModel): if timezone.now() > self.due_at: if not self.is_overdue: self.is_overdue = True - self.save(update_fields=["is_overdue"]) + self.breached_at = timezone.now() + self.save(update_fields=["is_overdue", "breached_at"]) return True return False @@ -589,11 +637,7 @@ class Complaint(UUIDModel, TimeStampedModel): Active statuses: OPEN, IN_PROGRESS, PARTIALLY_RESOLVED Inactive statuses: RESOLVED, CLOSED, CANCELLED """ - return self.status in [ - ComplaintStatus.OPEN, - ComplaintStatus.IN_PROGRESS, - ComplaintStatus.PARTIALLY_RESOLVED - ] + return self.status in [ComplaintStatus.OPEN, ComplaintStatus.IN_PROGRESS, ComplaintStatus.PARTIALLY_RESOLVED] @property def short_description_en(self): @@ -655,11 +699,7 @@ class Complaint(UUIDModel, TimeStampedModel): # Fallback: convert old single action to list format single_action = self.metadata["ai_analysis"].get("suggested_action_en", "") if single_action: - return [{ - "action": single_action, - "priority": "medium", - "category": "process_improvement" - }] + return [{"action": single_action, "priority": "medium", "category": "process_improvement"}] return [] @property @@ -748,22 +788,23 @@ class Complaint(UUIDModel, TimeStampedModel): @property def is_activated(self): return self.activated_at is not None + def get_tracking_url(self): """ Get the public tracking URL for this complaint. - + Returns the full URL that complainants can use to track their complaint status. """ from django.contrib.sites.shortcuts import get_current_site from django.urls import reverse - + # Build absolute URL try: site = get_current_site(None) domain = site.domain except: - domain = 'localhost:8000' - + domain = "localhost:8000" + return f"https://{domain}{reverse('complaints:public_complaint_track')}?reference={self.reference_number}" @@ -821,8 +862,8 @@ class ComplaintUpdate(UUIDModel, TimeStampedModel): ) # Status change tracking - old_status = models.CharField(max_length=20, blank=True) - new_status = models.CharField(max_length=20, blank=True) + old_status = models.CharField(max_length=25, blank=True) + new_status = models.CharField(max_length=25, blank=True) # Metadata metadata = models.JSONField(default=dict, blank=True) @@ -855,7 +896,7 @@ class ComplaintSLAConfig(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="complaint_sla_configs", - help_text="Complaint source (MOH, CHI, Patient, etc.). Empty = severity/priority-based config" + help_text="Complaint source (MOH, CHI, Patient, etc.). Empty = severity/priority-based config", ) severity = models.CharField( @@ -863,7 +904,7 @@ class ComplaintSLAConfig(UUIDModel, TimeStampedModel): choices=SeverityChoices.choices, null=True, blank=True, - help_text="Severity level for this SLA (optional if source is specified)" + help_text="Severity level for this SLA (optional if source is specified)", ) priority = models.CharField( @@ -871,25 +912,22 @@ class ComplaintSLAConfig(UUIDModel, TimeStampedModel): choices=PriorityChoices.choices, null=True, blank=True, - help_text="Priority level for this SLA (optional if source is specified)" + help_text="Priority level for this SLA (optional if source is specified)", ) sla_hours = models.IntegerField(help_text="Number of hours until SLA deadline") # Source-based reminder timing (from complaint creation) first_reminder_hours_after = models.IntegerField( - default=0, - help_text="Send 1st reminder X hours after complaint creation (0 = use reminder_hours_before)" + default=0, help_text="Send 1st reminder X hours after complaint creation (0 = use reminder_hours_before)" ) second_reminder_hours_after = models.IntegerField( - default=0, - help_text="Send 2nd reminder X hours after complaint creation (0 = use second_reminder_hours_before)" + default=0, help_text="Send 2nd reminder X hours after complaint creation (0 = use second_reminder_hours_before)" ) escalation_hours_after = models.IntegerField( - default=0, - help_text="Escalate complaint X hours after creation if unresolved (0 = use overdue logic)" + default=0, help_text="Escalate complaint X hours after creation if unresolved (0 = use overdue logic)" ) # Legacy reminder timing (before deadline - kept for backward compatibility) @@ -898,10 +936,14 @@ class ComplaintSLAConfig(UUIDModel, TimeStampedModel): # Second reminder configuration second_reminder_enabled = models.BooleanField(default=False, help_text="Enable sending a second reminder") - second_reminder_hours_before = models.IntegerField(default=6, help_text="Send second reminder X hours before deadline") + second_reminder_hours_before = models.IntegerField( + default=6, help_text="Send second reminder X hours before deadline" + ) # Thank you email configuration - thank_you_email_enabled = models.BooleanField(default=False, help_text="Send thank you email when complaint is closed") + thank_you_email_enabled = models.BooleanField( + default=False, help_text="Send thank you email when complaint is closed" + ) is_active = models.BooleanField(default=True) @@ -966,14 +1008,10 @@ class EscalationRule(UUIDModel, TimeStampedModel): description = models.TextField(blank=True) # Escalation level (supports multi-level escalation) - escalation_level = models.IntegerField( - default=1, - help_text="Escalation level (1 = first level, 2 = second, etc.)" - ) + escalation_level = models.IntegerField(default=1, help_text="Escalation level (1 = first level, 2 = second, etc.)") max_escalation_level = models.IntegerField( - default=3, - help_text="Maximum escalation level before stopping (default: 3)" + default=3, help_text="Maximum escalation level before stopping (default: 3)" ) # Trigger conditions @@ -983,13 +1021,11 @@ class EscalationRule(UUIDModel, TimeStampedModel): # Reminder-based escalation reminder_escalation_enabled = models.BooleanField( - default=False, - help_text="Enable escalation after reminder if no action taken" + default=False, help_text="Enable escalation after reminder if no action taken" ) reminder_escalation_hours = models.IntegerField( - default=24, - help_text="Escalate X hours after reminder if no action" + default=24, help_text="Escalate X hours after reminder if no action" ) # Escalation target @@ -1127,37 +1163,32 @@ class ExplanationSLAConfig(UUIDModel, TimeStampedModel): """ hospital = models.ForeignKey( - "organizations.Hospital", - on_delete=models.CASCADE, - related_name="explanation_sla_configs" + "organizations.Hospital", on_delete=models.CASCADE, related_name="explanation_sla_configs" ) # Time limits - response_hours = models.IntegerField( - default=48, - help_text="Hours staff has to submit explanation" + response_hours = models.IntegerField(default=48, help_text="Hours staff has to submit explanation") + + reminder_hours_before = models.IntegerField(default=12, help_text="Send first reminder X hours before deadline") + + second_reminder_enabled = models.BooleanField( + default=True, help_text="Enable sending a second reminder before escalation" ) - reminder_hours_before = models.IntegerField( - default=12, - help_text="Send reminder X hours before deadline" + second_reminder_hours_before = models.IntegerField( + default=4, help_text="Send second reminder X hours before deadline" ) # Escalation settings auto_escalate_enabled = models.BooleanField( - default=True, - help_text="Automatically escalate to manager if no response" + default=True, help_text="Automatically escalate to manager if no response" ) escalation_hours_overdue = models.IntegerField( - default=0, - help_text="Escalate X hours after overdue (0 = immediately)" + default=0, help_text="Escalate X hours after overdue (0 = immediately)" ) - max_escalation_levels = models.IntegerField( - default=3, - help_text="Maximum levels to escalate up staff hierarchy" - ) + max_escalation_levels = models.IntegerField(default=3, help_text="Maximum levels to escalate up staff hierarchy") is_active = models.BooleanField(default=True) @@ -1173,6 +1204,82 @@ class ExplanationSLAConfig(UUIDModel, TimeStampedModel): return f"{self.hospital.name} - {self.response_hours}h to respond" +class InquirySLAConfig(UUIDModel, TimeStampedModel): + """ + SLA configuration for inquiries per hospital and source. + + Allows flexible SLA configuration for inquiry response times. + """ + + hospital = models.ForeignKey("organizations.Hospital", on_delete=models.CASCADE, related_name="inquiry_sla_configs") + + source = models.ForeignKey( + "px_sources.PXSource", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="inquiry_sla_configs", + help_text="Inquiry source (MOH, CHI, Patient, etc.). Empty = default config", + ) + + sla_hours = models.IntegerField(help_text="Number of hours until SLA deadline") + + first_reminder_hours_after = models.IntegerField( + default=0, help_text="Send 1st reminder X hours after inquiry creation (0 = use reminder_hours_before)" + ) + + second_reminder_hours_after = models.IntegerField( + default=0, help_text="Send 2nd reminder X hours after inquiry creation (0 = use second_reminder_hours_before)" + ) + + escalation_hours_after = models.IntegerField( + default=0, help_text="Escalate inquiry X hours after creation if unresolved (0 = use overdue logic)" + ) + + reminder_hours_before = models.IntegerField(default=24, help_text="Send first reminder X hours before deadline") + + second_reminder_enabled = models.BooleanField(default=False, help_text="Enable sending a second reminder") + + second_reminder_hours_before = models.IntegerField( + default=6, help_text="Send second reminder X hours before deadline" + ) + + is_active = models.BooleanField(default=True) + + class Meta: + ordering = ["hospital", "source"] + verbose_name = "Inquiry SLA Config" + verbose_name_plural = "Inquiry SLA Configs" + indexes = [ + models.Index(fields=["hospital", "is_active"]), + models.Index(fields=["hospital", "source", "is_active"]), + ] + + def __str__(self): + source_display = self.source.name_en if self.source else "Default" + return f"{self.hospital.name} - {source_display} - {self.sla_hours}h" + + def get_first_reminder_hours_after(self, inquiry_created_at=None): + if self.first_reminder_hours_after > 0: + return self.first_reminder_hours_after + else: + return max(0, self.sla_hours - self.reminder_hours_before) + + def get_second_reminder_hours_after(self, inquiry_created_at=None): + if self.second_reminder_hours_after > 0: + return self.second_reminder_hours_after + elif self.second_reminder_enabled: + return max(0, self.sla_hours - self.second_reminder_hours_before) + else: + return 0 + + def get_escalation_hours_after(self, inquiry_created_at=None): + if self.escalation_hours_after > 0: + return self.escalation_hours_after + else: + return None + + class Inquiry(UUIDModel, TimeStampedModel): """ Inquiry model for general questions/requests. @@ -1221,15 +1328,17 @@ class Inquiry(UUIDModel, TimeStampedModel): blank=True, help_text="Source of inquiry", ) - + # Status status = models.CharField( - max_length=20, + max_length=25, choices=[ ("open", "Open"), ("in_progress", "In Progress"), ("resolved", "Resolved"), ("closed", "Closed"), + ("contacted", "Contacted"), + ("contacted_no_response", "Contacted, No Response"), ], default="open", db_index=True, @@ -1237,12 +1346,12 @@ class Inquiry(UUIDModel, TimeStampedModel): # Creator tracking created_by = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='created_inquiries', - help_text="User who created this inquiry (SourceUser or Patient)" + related_name="created_inquiries", + help_text="User who created this inquiry (SourceUser or Patient)", ) # Assignment @@ -1251,6 +1360,24 @@ class Inquiry(UUIDModel, TimeStampedModel): ) assigned_at = models.DateTimeField(null=True, blank=True) + # Activation tracking + activated_at = models.DateTimeField( + null=True, + blank=True, + db_index=True, + help_text="Timestamp when inquiry was first activated (moved from OPEN to IN_PROGRESS)", + ) + + # SLA tracking + due_at = models.DateTimeField(null=True, blank=True, db_index=True, help_text="SLA deadline") + is_overdue = models.BooleanField(default=False, db_index=True) + breached_at = models.DateTimeField( + null=True, blank=True, db_index=True, help_text="Timestamp when inquiry first breached SLA" + ) + reminder_sent_at = models.DateTimeField(null=True, blank=True, help_text="First SLA reminder timestamp") + second_reminder_sent_at = models.DateTimeField(null=True, blank=True, help_text="Second SLA reminder timestamp") + escalated_at = models.DateTimeField(null=True, blank=True) + # Response response = models.TextField(blank=True) responded_at = models.DateTimeField(null=True, blank=True) @@ -1262,13 +1389,11 @@ class Inquiry(UUIDModel, TimeStampedModel): is_straightforward = models.BooleanField( default=True, verbose_name="Is Straightforward", - help_text="Direct resolution (no department coordination needed)" + help_text="Direct resolution (no department coordination needed)", ) is_outgoing = models.BooleanField( - default=False, - verbose_name="Is Outgoing", - help_text="Inquiry sent to external department for response" + default=False, verbose_name="Is Outgoing", help_text="Inquiry sent to external department for response" ) outgoing_department = models.ForeignKey( @@ -1277,28 +1402,19 @@ class Inquiry(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="outgoing_inquiries", - help_text="Department that was contacted for this inquiry" + help_text="Department that was contacted for this inquiry", ) # Follow-up tracking requires_follow_up = models.BooleanField( - default=False, - db_index=True, - help_text="This inquiry requires follow-up call" + default=False, db_index=True, help_text="This inquiry requires follow-up call" ) follow_up_due_at = models.DateTimeField( - null=True, - blank=True, - db_index=True, - help_text="Due date for follow-up call to inquirer" + null=True, blank=True, db_index=True, help_text="Due date for follow-up call to inquirer" ) - follow_up_completed_at = models.DateTimeField( - null=True, - blank=True, - help_text="When follow-up call was completed" - ) + follow_up_completed_at = models.DateTimeField(null=True, blank=True, help_text="When follow-up call was completed") follow_up_completed_by = models.ForeignKey( "accounts.User", @@ -1306,18 +1422,13 @@ class Inquiry(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="completed_inquiry_followups", - help_text="User who completed the follow-up call" + help_text="User who completed the follow-up call", ) - follow_up_notes = models.TextField( - blank=True, - help_text="Notes from follow-up call" - ) + follow_up_notes = models.TextField(blank=True, help_text="Notes from follow-up call") follow_up_reminder_sent_at = models.DateTimeField( - null=True, - blank=True, - help_text="When reminder was sent for follow-up" + null=True, blank=True, help_text="When reminder was sent for follow-up" ) class Meta: @@ -1331,6 +1442,52 @@ class Inquiry(UUIDModel, TimeStampedModel): def __str__(self): return f"{self.subject} ({self.status})" + def get_sla_config(self): + """Get SLA configuration for this inquiry based on hospital and source.""" + try: + if self.source: + config = InquirySLAConfig.objects.filter( + hospital=self.hospital, + source=self.source, + is_active=True, + ).first() + if config: + return config + + config = InquirySLAConfig.objects.filter( + hospital=self.hospital, + is_active=True, + ).first() + if config: + return config + + except Exception: + pass + + return None + + def check_overdue(self): + """Check if inquiry is overdue and update status""" + if self.status in ["closed", "cancelled"]: + return False + + if self.due_at and timezone.now() > self.due_at: + if not self.is_overdue: + self.is_overdue = True + self.breached_at = timezone.now() + self.save(update_fields=["is_overdue", "breached_at"]) + return True + return False + + @property + def is_active_status(self): + """ + Check if inquiry is in an active status (can be worked on). + Active statuses: open, in_progress + Inactive statuses: resolved, closed, contacted, contacted_no_response + """ + return self.status in ["open", "in_progress"] + class InquiryUpdate(UUIDModel, TimeStampedModel): """ @@ -1362,8 +1519,8 @@ class InquiryUpdate(UUIDModel, TimeStampedModel): ) # Status change tracking - old_status = models.CharField(max_length=20, blank=True) - new_status = models.CharField(max_length=20, blank=True) + old_status = models.CharField(max_length=25, blank=True) + new_status = models.CharField(max_length=25, blank=True) # Metadata metadata = models.JSONField(default=dict, blank=True) @@ -1459,38 +1616,29 @@ class ComplaintExplanation(UUIDModel, TimeStampedModel): # SLA tracking for explanation requests sla_due_at = models.DateTimeField( - null=True, - blank=True, - db_index=True, - help_text="SLA deadline for staff to submit explanation" + null=True, blank=True, db_index=True, help_text="SLA deadline for staff to submit explanation" ) - is_overdue = models.BooleanField( - default=False, - db_index=True, - help_text="Explanation request is overdue" - ) + is_overdue = models.BooleanField(default=False, db_index=True, help_text="Explanation request is overdue") reminder_sent_at = models.DateTimeField( - null=True, - blank=True, - help_text="Reminder sent to staff about overdue explanation" + null=True, blank=True, help_text="First reminder sent to staff about overdue explanation" + ) + + second_reminder_sent_at = models.DateTimeField( + null=True, blank=True, help_text="Second reminder sent to staff about overdue explanation" ) escalated_to_manager = models.ForeignKey( - 'self', + "self", on_delete=models.SET_NULL, null=True, blank=True, - related_name='escalated_from_staff', - help_text="Escalated to this explanation (manager's explanation request)" + related_name="escalated_from_staff", + help_text="Escalated to this explanation (manager's explanation request)", ) - escalated_at = models.DateTimeField( - null=True, - blank=True, - help_text="When explanation was escalated to manager" - ) + escalated_at = models.DateTimeField(null=True, blank=True, help_text="When explanation was escalated to manager") # Acceptance review fields class AcceptanceStatus(models.TextChoices): @@ -1502,7 +1650,7 @@ class ComplaintExplanation(UUIDModel, TimeStampedModel): max_length=20, choices=AcceptanceStatus.choices, default=AcceptanceStatus.PENDING, - help_text="Review status of the explanation" + help_text="Review status of the explanation", ) accepted_by = models.ForeignKey( @@ -1511,19 +1659,12 @@ class ComplaintExplanation(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="reviewed_explanations", - help_text="User who reviewed and marked the explanation" + help_text="User who reviewed and marked the explanation", ) - accepted_at = models.DateTimeField( - null=True, - blank=True, - help_text="When the explanation was reviewed" - ) + accepted_at = models.DateTimeField(null=True, blank=True, help_text="When the explanation was reviewed") - acceptance_notes = models.TextField( - blank=True, - help_text="Notes about the acceptance decision" - ) + acceptance_notes = models.TextField(blank=True, help_text="Notes about the acceptance decision") class Meta: ordering = ["-created_at"] @@ -1584,9 +1725,7 @@ class ComplaintPRInteraction(UUIDModel, TimeStampedModel): complaint = models.ForeignKey(Complaint, on_delete=models.CASCADE, related_name="pr_interactions") - contact_date = models.DateTimeField( - help_text="Date and time of PR contact with complainant" - ) + contact_date = models.DateTimeField(help_text="Date and time of PR contact with complainant") contact_method = models.CharField( max_length=20, @@ -1597,7 +1736,7 @@ class ComplaintPRInteraction(UUIDModel, TimeStampedModel): ("other", "Other"), ], default="in_person", - help_text="Method of contact" + help_text="Method of contact", ) pr_staff = models.ForeignKey( @@ -1606,23 +1745,16 @@ class ComplaintPRInteraction(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="pr_interactions", - help_text="PR staff member who made the contact" + help_text="PR staff member who made the contact", ) - statement_text = models.TextField( - blank=True, - help_text="Formal statement taken from the complainant" - ) + statement_text = models.TextField(blank=True, help_text="Formal statement taken from the complainant") procedure_explained = models.BooleanField( - default=False, - help_text="Whether complaint procedure was explained to the complainant" + default=False, help_text="Whether complaint procedure was explained to the complainant" ) - notes = models.TextField( - blank=True, - help_text="Additional notes from the PR interaction" - ) + notes = models.TextField(blank=True, help_text="Additional notes from the PR interaction") created_by = models.ForeignKey( "accounts.User", @@ -1630,7 +1762,7 @@ class ComplaintPRInteraction(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="created_pr_interactions", - help_text="User who created this PR interaction record" + help_text="User who created this PR interaction record", ) class Meta: @@ -1656,9 +1788,7 @@ class ComplaintMeeting(UUIDModel, TimeStampedModel): complaint = models.ForeignKey(Complaint, on_delete=models.CASCADE, related_name="meetings") - meeting_date = models.DateTimeField( - help_text="Date and time of the meeting" - ) + meeting_date = models.DateTimeField(help_text="Date and time of the meeting") meeting_type = models.CharField( max_length=50, @@ -1669,18 +1799,12 @@ class ComplaintMeeting(UUIDModel, TimeStampedModel): ("other", "Other"), ], default="management_intervention", - help_text="Type of meeting" + help_text="Type of meeting", ) - outcome = models.TextField( - blank=True, - help_text="Meeting outcome and agreed resolution" - ) + outcome = models.TextField(blank=True, help_text="Meeting outcome and agreed resolution") - notes = models.TextField( - blank=True, - help_text="Additional meeting notes" - ) + notes = models.TextField(blank=True, help_text="Additional meeting notes") created_by = models.ForeignKey( "accounts.User", @@ -1688,7 +1812,7 @@ class ComplaintMeeting(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="created_meetings", - help_text="User who created this meeting record" + help_text="User who created this meeting record", ) class Meta: @@ -1704,7 +1828,6 @@ class ComplaintMeeting(UUIDModel, TimeStampedModel): return f"{self.complaint} - {type_display} - {self.meeting_date.strftime('%Y-%m-%d')}" - class ComplaintInvolvedDepartment(UUIDModel, TimeStampedModel): """ Tracks departments involved in a complaint. @@ -1719,42 +1842,26 @@ class ComplaintInvolvedDepartment(UUIDModel, TimeStampedModel): COORDINATION = "coordination", "Coordination Only" INVESTIGATING = "investigating", "Investigating" - complaint = models.ForeignKey( - Complaint, - on_delete=models.CASCADE, - related_name="involved_departments" - ) + complaint = models.ForeignKey(Complaint, on_delete=models.CASCADE, related_name="involved_departments") department = models.ForeignKey( - "organizations.Department", - on_delete=models.CASCADE, - related_name="complaint_involvements" + "organizations.Department", on_delete=models.CASCADE, related_name="complaint_involvements" ) role = models.CharField( max_length=20, choices=RoleChoices.choices, default=RoleChoices.SECONDARY, - help_text="Role of this department in the complaint resolution" + help_text="Role of this department in the complaint resolution", ) - is_primary = models.BooleanField( - default=False, - help_text="Mark as the primary responsible department" - ) + is_primary = models.BooleanField(default=False, help_text="Mark as the primary responsible department") added_by = models.ForeignKey( - "accounts.User", - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name="added_department_involvements" + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="added_department_involvements" ) - notes = models.TextField( - blank=True, - help_text="Additional notes about this department's involvement" - ) + notes = models.TextField(blank=True, help_text="Additional notes about this department's involvement") # Assignment within this department assigned_to = models.ForeignKey( @@ -1763,29 +1870,30 @@ class ComplaintInvolvedDepartment(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="department_assigned_complaints", - help_text="User assigned from this department to handle the complaint" + help_text="User assigned from this department to handle the complaint", ) - assigned_at = models.DateTimeField( - null=True, - blank=True - ) + assigned_at = models.DateTimeField(null=True, blank=True) # Response tracking response_submitted = models.BooleanField( - default=False, - help_text="Whether this department has submitted their response" + default=False, help_text="Whether this department has submitted their response" ) - response_submitted_at = models.DateTimeField( - null=True, - blank=True - ) + response_submitted_at = models.DateTimeField(null=True, blank=True) - response_notes = models.TextField( - blank=True, - help_text="Department's response/feedback on the complaint" + response_notes = models.TextField(blank=True, help_text="Department's response/feedback on the complaint") + + # Reminder and delay tracking (Step 1 fields) + forwarded_at = models.DateTimeField(null=True, blank=True, help_text="When complaint was sent to this department") + first_reminder_sent_at = models.DateTimeField( + null=True, blank=True, help_text="When first reminder was sent to this department" ) + second_reminder_sent_at = models.DateTimeField( + null=True, blank=True, help_text="When second reminder was sent to this department" + ) + delay_reason = models.TextField(blank=True, help_text="Reason for department delay in response") + delayed_person = models.CharField(max_length=200, blank=True, help_text="Name of person responsible for delay") class Meta: ordering = ["-is_primary", "-created_at"] @@ -1795,6 +1903,7 @@ class ComplaintInvolvedDepartment(UUIDModel, TimeStampedModel): indexes = [ models.Index(fields=["complaint", "role"]), models.Index(fields=["department", "response_submitted"]), + models.Index(fields=["department", "forwarded_at"]), ] def __str__(self): @@ -1806,10 +1915,9 @@ class ComplaintInvolvedDepartment(UUIDModel, TimeStampedModel): """Ensure only one primary department per complaint""" if self.is_primary: # Clear primary flag from other departments for this complaint - ComplaintInvolvedDepartment.objects.filter( - complaint=self.complaint, - is_primary=True - ).exclude(pk=self.pk).update(is_primary=False) + ComplaintInvolvedDepartment.objects.filter(complaint=self.complaint, is_primary=True).exclude( + pk=self.pk + ).update(is_primary=False) super().save(*args, **kwargs) @@ -1829,63 +1937,35 @@ class ComplaintInvolvedStaff(UUIDModel, TimeStampedModel): SUPPORT = "support", "Support Staff" COORDINATOR = "coordinator", "Coordinator" - complaint = models.ForeignKey( - Complaint, - on_delete=models.CASCADE, - related_name="involved_staff" - ) + complaint = models.ForeignKey(Complaint, on_delete=models.CASCADE, related_name="involved_staff") - staff = models.ForeignKey( - "organizations.Staff", - on_delete=models.CASCADE, - related_name="complaint_involvements" - ) + staff = models.ForeignKey("organizations.Staff", on_delete=models.CASCADE, related_name="complaint_involvements") role = models.CharField( max_length=20, choices=RoleChoices.choices, default=RoleChoices.ACCUSED, - help_text="Role of this staff member in the complaint" + help_text="Role of this staff member in the complaint", ) added_by = models.ForeignKey( - "accounts.User", - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name="added_staff_involvements" + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="added_staff_involvements" ) - notes = models.TextField( - blank=True, - help_text="Additional notes about this staff member's involvement" - ) + notes = models.TextField(blank=True, help_text="Additional notes about this staff member's involvement") # Explanation tracking explanation_requested = models.BooleanField( - default=False, - help_text="Whether an explanation has been requested from this staff" + default=False, help_text="Whether an explanation has been requested from this staff" ) - explanation_requested_at = models.DateTimeField( - null=True, - blank=True - ) + explanation_requested_at = models.DateTimeField(null=True, blank=True) - explanation_received = models.BooleanField( - default=False, - help_text="Whether an explanation has been received" - ) + explanation_received = models.BooleanField(default=False, help_text="Whether an explanation has been received") - explanation_received_at = models.DateTimeField( - null=True, - blank=True - ) + explanation_received_at = models.DateTimeField(null=True, blank=True) - explanation = models.TextField( - blank=True, - help_text="The staff member's explanation" - ) + explanation = models.TextField(blank=True, help_text="The staff member's explanation") class Meta: ordering = ["role", "-created_at"] @@ -1905,41 +1985,29 @@ class ComplaintInvolvedStaff(UUIDModel, TimeStampedModel): class OnCallAdminSchedule(UUIDModel, TimeStampedModel): """ On-call admin schedule configuration for complaint notifications. - + Manages which PX Admins should be notified outside of working hours. During working hours, ALL PX Admins are notified. Outside working hours, only ON-CALL admins are notified. """ - + # Working days configuration (stored as list of day numbers: 0=Monday, 6=Sunday) working_days = models.JSONField( - default=list, - help_text="List of working days (0=Monday, 6=Sunday). Default: [0,1,2,3,4] (Mon-Fri)" + default=list, help_text="List of working days (0=Monday, 6=Sunday). Default: [0,1,2,3,4] (Mon-Fri)" ) - + # Working hours - work_start_time = models.TimeField( - default="08:00", - help_text="Start of working hours (e.g., 08:00)" - ) - work_end_time = models.TimeField( - default="17:00", - help_text="End of working hours (e.g., 17:00)" - ) - + work_start_time = models.TimeField(default="08:00", help_text="Start of working hours (e.g., 08:00)") + work_end_time = models.TimeField(default="17:00", help_text="End of working hours (e.g., 17:00)") + # Timezone for the schedule timezone = models.CharField( - max_length=50, - default="Asia/Riyadh", - help_text="Timezone for working hours calculation (e.g., Asia/Riyadh)" + max_length=50, default="Asia/Riyadh", help_text="Timezone for working hours calculation (e.g., Asia/Riyadh)" ) - + # Whether this config is active - is_active = models.BooleanField( - default=True, - help_text="Whether this on-call schedule is active" - ) - + is_active = models.BooleanField(default=True, help_text="Whether this on-call schedule is active") + # Hospital scope (null = system-wide) hospital = models.ForeignKey( "organizations.Hospital", @@ -1947,187 +2015,165 @@ class OnCallAdminSchedule(UUIDModel, TimeStampedModel): null=True, blank=True, related_name="on_call_schedules", - help_text="Hospital scope. Leave empty for system-wide configuration." + help_text="Hospital scope. Leave empty for system-wide configuration.", ) - + class Meta: ordering = ["-created_at"] verbose_name = "On-Call Admin Schedule" verbose_name_plural = "On-Call Admin Schedules" constraints = [ models.UniqueConstraint( - fields=['hospital'], - condition=models.Q(hospital__isnull=False), - name='unique_oncall_per_hospital' + fields=["hospital"], condition=models.Q(hospital__isnull=False), name="unique_oncall_per_hospital" ), models.UniqueConstraint( - fields=['hospital'], - condition=models.Q(hospital__isnull=True), - name='unique_system_wide_oncall' + fields=["hospital"], condition=models.Q(hospital__isnull=True), name="unique_system_wide_oncall" ), ] - + def __str__(self): scope = f"{self.hospital.name}" if self.hospital else "System-wide" - start_time = self.work_start_time.strftime('%H:%M') if hasattr(self.work_start_time, 'strftime') else str(self.work_start_time)[:5] - end_time = self.work_end_time.strftime('%H:%M') if hasattr(self.work_end_time, 'strftime') else str(self.work_end_time)[:5] + start_time = ( + self.work_start_time.strftime("%H:%M") + if hasattr(self.work_start_time, "strftime") + else str(self.work_start_time)[:5] + ) + end_time = ( + self.work_end_time.strftime("%H:%M") + if hasattr(self.work_end_time, "strftime") + else str(self.work_end_time)[:5] + ) return f"On-Call Schedule - {scope} ({start_time}-{end_time})" - + def get_working_days_list(self): """Get list of working days, with default if empty""" if self.working_days: return self.working_days return [0, 1, 2, 3, 4] # Default: Monday-Friday - + def is_working_time(self, check_datetime=None): """ Check if the given datetime is within working hours. - + Args: check_datetime: datetime to check (default: now) - + Returns: bool: True if within working hours, False otherwise """ import pytz from datetime import time as datetime_time - + if check_datetime is None: check_datetime = timezone.now() - + # Convert to schedule timezone tz = pytz.timezone(self.timezone) if timezone.is_aware(check_datetime): local_time = check_datetime.astimezone(tz) else: local_time = check_datetime.replace(tzinfo=tz) - + # Check if it's a working day working_days = self.get_working_days_list() if local_time.weekday() not in working_days: return False - + # Check if it's within working hours current_time = local_time.time() - + # Ensure work_start_time and work_end_time are time objects start_time = self.work_start_time end_time = self.work_end_time - + # Convert string to time if needed (handles string defaults from DB) if isinstance(start_time, str): - parts = start_time.split(':') + parts = start_time.split(":") hours, minutes = int(parts[0]), int(parts[1]) start_time = datetime_time(hours, minutes) - + if isinstance(end_time, str): - parts = end_time.split(':') + parts = end_time.split(":") hours, minutes = int(parts[0]), int(parts[1]) end_time = datetime_time(hours, minutes) - + return start_time <= current_time < end_time class OnCallAdmin(UUIDModel, TimeStampedModel): """ Individual on-call admin assignment. - + Links PX Admin users to an on-call schedule. """ - - schedule = models.ForeignKey( - OnCallAdminSchedule, - on_delete=models.CASCADE, - related_name="on_call_admins" - ) - + + schedule = models.ForeignKey(OnCallAdminSchedule, on_delete=models.CASCADE, related_name="on_call_admins") + admin_user = models.ForeignKey( "accounts.User", on_delete=models.CASCADE, related_name="on_call_schedules", help_text="PX Admin user who is on-call", - limit_choices_to={'groups__name': 'PX Admin'} + limit_choices_to={"groups__name": "PX Admin"}, ) - + # Optional: date range for this on-call assignment - start_date = models.DateField( - null=True, - blank=True, - help_text="Start date for this on-call assignment (optional)" - ) - - end_date = models.DateField( - null=True, - blank=True, - help_text="End date for this on-call assignment (optional)" - ) - + start_date = models.DateField(null=True, blank=True, help_text="Start date for this on-call assignment (optional)") + + end_date = models.DateField(null=True, blank=True, help_text="End date for this on-call assignment (optional)") + # Priority/order for notifications (lower = higher priority) - notification_priority = models.PositiveIntegerField( - default=1, - help_text="Priority for notifications (1 = highest)" - ) - - is_active = models.BooleanField( - default=True, - help_text="Whether this on-call assignment is currently active" - ) - + notification_priority = models.PositiveIntegerField(default=1, help_text="Priority for notifications (1 = highest)") + + is_active = models.BooleanField(default=True, help_text="Whether this on-call assignment is currently active") + # Contact preferences for out-of-hours - notify_email = models.BooleanField( - default=True, - help_text="Send email notifications" - ) - notify_sms = models.BooleanField( - default=False, - help_text="Send SMS notifications" - ) - + notify_email = models.BooleanField(default=True, help_text="Send email notifications") + notify_sms = models.BooleanField(default=False, help_text="Send SMS notifications") + # Custom phone for SMS (optional, uses user's phone if not set) sms_phone = models.CharField( - max_length=20, - blank=True, - help_text="Custom phone number for SMS notifications (optional)" + max_length=20, blank=True, help_text="Custom phone number for SMS notifications (optional)" ) - + class Meta: ordering = ["notification_priority", "-created_at"] verbose_name = "On-Call Admin" verbose_name_plural = "On-Call Admins" unique_together = [["schedule", "admin_user"]] - + def __str__(self): return f"{self.admin_user.get_full_name() or self.admin_user.email} - On-Call ({self.schedule})" - + def is_currently_active(self, check_date=None): """ Check if this on-call assignment is active for the given date. - + Args: check_date: date to check (default: today) - + Returns: bool: True if active, False otherwise """ if not self.is_active: return False - + if check_date is None: check_date = timezone.now().date() - + # Check date range if self.start_date and check_date < self.start_date: return False if self.end_date and check_date > self.end_date: return False - + return True - + def get_notification_phone(self): """Get phone number for SMS notifications""" if self.sms_phone: return self.sms_phone - if hasattr(self.admin_user, 'phone') and self.admin_user.phone: + if hasattr(self.admin_user, "phone") and self.admin_user.phone: return self.admin_user.phone return None @@ -2135,10 +2181,10 @@ class OnCallAdmin(UUIDModel, TimeStampedModel): class ComplaintAdverseAction(UUIDModel, TimeStampedModel): """ Tracks adverse actions or damages to patients related to complaints. - + This model helps identify and address retaliation or negative treatment that patients may experience after filing a complaint. - + Examples: - Doctor refusing to see the patient in subsequent visits - Delayed or denied treatment @@ -2147,9 +2193,10 @@ class ComplaintAdverseAction(UUIDModel, TimeStampedModel): - Unnecessary procedures - Dismissal from care """ - + class ActionType(models.TextChoices): """Types of adverse actions""" + REFUSED_SERVICE = "refused_service", _("Refused Service") DELAYED_TREATMENT = "delayed_treatment", _("Delayed Treatment") VERBAL_ABUSE = "verbal_abuse", _("Verbal Abuse / Hostility") @@ -2160,146 +2207,119 @@ class ComplaintAdverseAction(UUIDModel, TimeStampedModel): DISCRIMINATION = "discrimination", _("Discrimination") RETALIATION = "retaliation", _("Retaliation") OTHER = "other", _("Other") - + class SeverityLevel(models.TextChoices): """Severity levels for adverse actions""" + LOW = "low", _("Low - Minor inconvenience") MEDIUM = "medium", _("Medium - Moderate impact") HIGH = "high", _("High - Significant harm") CRITICAL = "critical", _("Critical - Severe harm / Life-threatening") - + class VerificationStatus(models.TextChoices): """Verification status of the adverse action report""" + REPORTED = "reported", _("Reported - Awaiting Review") UNDER_INVESTIGATION = "under_investigation", _("Under Investigation") VERIFIED = "verified", _("Verified") UNFOUNDED = "unfounded", _("Unfounded") RESOLVED = "resolved", _("Resolved") - + # Link to complaint complaint = models.ForeignKey( Complaint, on_delete=models.CASCADE, related_name="adverse_actions", - help_text=_("The complaint this adverse action is related to") + help_text=_("The complaint this adverse action is related to"), ) - + # Action details action_type = models.CharField( - max_length=30, - choices=ActionType.choices, - default=ActionType.OTHER, - help_text=_("Type of adverse action") + max_length=30, choices=ActionType.choices, default=ActionType.OTHER, help_text=_("Type of adverse action") ) - + severity = models.CharField( max_length=10, choices=SeverityLevel.choices, default=SeverityLevel.MEDIUM, - help_text=_("Severity level of the adverse action") + help_text=_("Severity level of the adverse action"), ) - - description = models.TextField( - help_text=_("Detailed description of what happened to the patient") - ) - + + description = models.TextField(help_text=_("Detailed description of what happened to the patient")) + # When it occurred - incident_date = models.DateTimeField( - help_text=_("Date and time when the adverse action occurred") - ) - + incident_date = models.DateTimeField(help_text=_("Date and time when the adverse action occurred")) + # Location/Context location = models.CharField( - max_length=200, - blank=True, - help_text=_("Location where the incident occurred (e.g., Emergency Room, Clinic B)") + max_length=200, blank=True, help_text=_("Location where the incident occurred (e.g., Emergency Room, Clinic B)") ) - + # Staff involved involved_staff = models.ManyToManyField( "organizations.Staff", blank=True, related_name="adverse_actions_involved", - help_text=_("Staff members involved in the adverse action") + help_text=_("Staff members involved in the adverse action"), ) - + # Impact on patient patient_impact = models.TextField( - blank=True, - help_text=_("Description of the impact on the patient (physical, emotional, financial)") + blank=True, help_text=_("Description of the impact on the patient (physical, emotional, financial)") ) - + # Verification and handling status = models.CharField( max_length=30, choices=VerificationStatus.choices, default=VerificationStatus.REPORTED, - help_text=_("Current status of the adverse action report") + help_text=_("Current status of the adverse action report"), ) - + reported_by = models.ForeignKey( "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="reported_adverse_actions", - help_text=_("User who reported this adverse action") + help_text=_("User who reported this adverse action"), ) - + # Investigation - investigation_notes = models.TextField( - blank=True, - help_text=_("Notes from the investigation") - ) - + investigation_notes = models.TextField(blank=True, help_text=_("Notes from the investigation")) + investigated_by = models.ForeignKey( "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="investigated_adverse_actions", - help_text=_("User who investigated this adverse action") + help_text=_("User who investigated this adverse action"), ) - - investigated_at = models.DateTimeField( - null=True, - blank=True, - help_text=_("When the investigation was completed") - ) - + + investigated_at = models.DateTimeField(null=True, blank=True, help_text=_("When the investigation was completed")) + # Resolution - resolution = models.TextField( - blank=True, - help_text=_("How the adverse action was resolved") - ) - + resolution = models.TextField(blank=True, help_text=_("How the adverse action was resolved")) + resolved_by = models.ForeignKey( "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="resolved_adverse_actions", - help_text=_("User who resolved this adverse action") + help_text=_("User who resolved this adverse action"), ) - - resolved_at = models.DateTimeField( - null=True, - blank=True, - help_text=_("When the adverse action was resolved") - ) - + + resolved_at = models.DateTimeField(null=True, blank=True, help_text=_("When the adverse action was resolved")) + # Metadata is_escalated = models.BooleanField( - default=False, - help_text=_("Whether this adverse action has been escalated to management") + default=False, help_text=_("Whether this adverse action has been escalated to management") ) - - escalated_at = models.DateTimeField( - null=True, - blank=True, - help_text=_("When the adverse action was escalated") - ) - + + escalated_at = models.DateTimeField(null=True, blank=True, help_text=_("When the adverse action was escalated")) + class Meta: ordering = ["-incident_date", "-created_at"] verbose_name = _("Complaint Adverse Action") @@ -2309,23 +2329,24 @@ class ComplaintAdverseAction(UUIDModel, TimeStampedModel): models.Index(fields=["action_type", "severity"]), models.Index(fields=["status", "-created_at"]), ] - + def __str__(self): return f"{self.complaint.reference_number} - {self.get_action_type_display()} ({self.get_severity_display()})" - + @property def is_high_severity(self): """Check if this is a high or critical severity adverse action""" return self.severity in [self.SeverityLevel.HIGH, self.SeverityLevel.CRITICAL] - + @property def days_since_incident(self): """Calculate days since the incident occurred""" from django.utils import timezone + if self.incident_date: return (timezone.now() - self.incident_date).days return None - + @property def requires_investigation(self): """Check if this adverse action requires investigation""" @@ -2336,31 +2357,22 @@ class ComplaintAdverseActionAttachment(UUIDModel, TimeStampedModel): """ Attachments for adverse action reports (evidence, documents, etc.) """ - adverse_action = models.ForeignKey( - ComplaintAdverseAction, - on_delete=models.CASCADE, - related_name="attachments" - ) - + + adverse_action = models.ForeignKey(ComplaintAdverseAction, on_delete=models.CASCADE, related_name="attachments") + file = models.FileField( upload_to="complaints/adverse_actions/%Y/%m/%d/", - help_text=_("Attachment file (image, document, audio recording, etc.)") + help_text=_("Attachment file (image, document, audio recording, etc.)"), ) - + filename = models.CharField(max_length=255) file_type = models.CharField(max_length=100, blank=True) file_size = models.IntegerField(help_text=_("File size in bytes")) - description = models.TextField( - blank=True, - help_text=_("Description of what this attachment shows") - ) + description = models.TextField(blank=True, help_text=_("Description of what this attachment shows")) uploaded_by = models.ForeignKey( - "accounts.User", - on_delete=models.SET_NULL, - null=True, - related_name="adverse_action_attachments" + "accounts.User", on_delete=models.SET_NULL, null=True, related_name="adverse_action_attachments" ) class Meta: @@ -2376,115 +2388,105 @@ class ComplaintAdverseActionAttachment(UUIDModel, TimeStampedModel): # COMPLAINT TEMPLATES # ============================================================================ + class ComplaintTemplate(UUIDModel, TimeStampedModel): """ Pre-defined templates for common complaints. - + Allows quick selection of common complaint types with pre-filled description, category, severity, and auto-assignment. """ - + hospital = models.ForeignKey( - 'organizations.Hospital', + "organizations.Hospital", on_delete=models.CASCADE, - related_name='complaint_templates', - help_text=_("Hospital this template belongs to") + related_name="complaint_templates", + help_text=_("Hospital this template belongs to"), ) - - name = models.CharField( - max_length=200, - help_text=_("Template name (e.g., 'Long Wait Time', 'Rude Staff')") - ) - description = models.TextField( - help_text=_("Default description template with placeholders") - ) - + + name = models.CharField(max_length=200, help_text=_("Template name (e.g., 'Long Wait Time', 'Rude Staff')")) + description = models.TextField(help_text=_("Default description template with placeholders")) + # Pre-set classification category = models.ForeignKey( ComplaintCategory, on_delete=models.SET_NULL, null=True, blank=True, - related_name='templates', - help_text=_("Default category for this template") + related_name="templates", + help_text=_("Default category for this template"), ) - + # Default severity/priority default_severity = models.CharField( max_length=20, choices=SeverityChoices.choices, default=SeverityChoices.MEDIUM, - help_text=_("Default severity level") + help_text=_("Default severity level"), ) default_priority = models.CharField( max_length=20, choices=PriorityChoices.choices, default=PriorityChoices.MEDIUM, - help_text=_("Default priority level") + help_text=_("Default priority level"), ) - + # Auto-assignment auto_assign_department = models.ForeignKey( - 'organizations.Department', + "organizations.Department", on_delete=models.SET_NULL, null=True, blank=True, - related_name='template_assignments', - help_text=_("Auto-assign to this department when template is used") + related_name="template_assignments", + help_text=_("Auto-assign to this department when template is used"), ) - + # Usage tracking usage_count = models.IntegerField( - default=0, - editable=False, - help_text=_("Number of times this template has been used") + default=0, editable=False, help_text=_("Number of times this template has been used") ) - + # Placeholders that can be used in description # e.g., "Patient waited for {{wait_time}} minutes" placeholders = models.JSONField( - default=list, - blank=True, - help_text=_("List of placeholder names used in description") + default=list, blank=True, help_text=_("List of placeholder names used in description") ) - + is_active = models.BooleanField( - default=True, - db_index=True, - help_text=_("Whether this template is available for selection") + default=True, db_index=True, help_text=_("Whether this template is available for selection") ) - + class Meta: - ordering = ['-usage_count', 'name'] - verbose_name = _('Complaint Template') - verbose_name_plural = _('Complaint Templates') - unique_together = [['hospital', 'name']] + ordering = ["-usage_count", "name"] + verbose_name = _("Complaint Template") + verbose_name_plural = _("Complaint Templates") + unique_together = [["hospital", "name"]] indexes = [ - models.Index(fields=['hospital', 'is_active']), - models.Index(fields=['-usage_count']), + models.Index(fields=["hospital", "is_active"]), + models.Index(fields=["-usage_count"]), ] - + def __str__(self): return f"{self.hospital.name} - {self.name} ({self.usage_count} uses)" - + def use_template(self): """Increment usage count""" self.usage_count += 1 - self.save(update_fields=['usage_count']) - + self.save(update_fields=["usage_count"]) + def render_description(self, placeholder_values): """ Render description with placeholder values. - + Args: placeholder_values: Dict of placeholder name -> value - + Returns: Rendered description string """ description = self.description for key, value in placeholder_values.items(): - description = description.replace(f'{{{{{key}}}}}', str(value)) + description = description.replace(f"{{{{{key}}}}}", str(value)) return description @@ -2492,119 +2494,88 @@ class ComplaintTemplate(UUIDModel, TimeStampedModel): # COMMUNICATION LOG # ============================================================================ + class ComplaintCommunicationType(models.TextChoices): """Types of communication""" - PHONE_CALL = 'phone_call', 'Phone Call' - EMAIL = 'email', 'Email' - SMS = 'sms', 'SMS' - MEETING = 'meeting', 'Meeting' - LETTER = 'letter', 'Letter' - OTHER = 'other', 'Other' + + PHONE_CALL = "phone_call", "Phone Call" + EMAIL = "email", "Email" + SMS = "sms", "SMS" + MEETING = "meeting", "Meeting" + LETTER = "letter", "Letter" + OTHER = "other", "Other" class ComplaintCommunication(UUIDModel, TimeStampedModel): """ Tracks all communications related to a complaint. - + Records phone calls, emails, meetings, and other communications with complainants, involved staff, or other stakeholders. """ - + complaint = models.ForeignKey( - Complaint, - on_delete=models.CASCADE, - related_name='communications', - help_text=_("Related complaint") + Complaint, on_delete=models.CASCADE, related_name="communications", help_text=_("Related complaint") ) - + # Communication details communication_type = models.CharField( - max_length=20, - choices=ComplaintCommunicationType.choices, - help_text=_("Type of communication") + max_length=20, choices=ComplaintCommunicationType.choices, help_text=_("Type of communication") ) - + direction = models.CharField( max_length=20, choices=[ - ('inbound', 'Inbound'), - ('outbound', 'Outbound'), + ("inbound", "Inbound"), + ("outbound", "Outbound"), ], - help_text=_("Direction of communication") + help_text=_("Direction of communication"), ) - + # Participants - contacted_person = models.CharField( - max_length=200, - help_text=_("Name of person contacted") - ) + contacted_person = models.CharField(max_length=200, help_text=_("Name of person contacted")) contacted_role = models.CharField( - max_length=100, - blank=True, - help_text=_("Role/relation (e.g., Complainant, Patient, Staff)") + max_length=100, blank=True, help_text=_("Role/relation (e.g., Complainant, Patient, Staff)") ) - contacted_phone = models.CharField( - max_length=20, - blank=True, - help_text=_("Phone number") - ) - contacted_email = models.EmailField( - blank=True, - help_text=_("Email address") - ) - + contacted_phone = models.CharField(max_length=20, blank=True, help_text=_("Phone number")) + contacted_email = models.EmailField(blank=True, help_text=_("Email address")) + # Communication content - subject = models.CharField( - max_length=500, - blank=True, - help_text=_("Subject/summary of communication") - ) - notes = models.TextField( - help_text=_("Details of what was discussed") - ) - + subject = models.CharField(max_length=500, blank=True, help_text=_("Subject/summary of communication")) + notes = models.TextField(help_text=_("Details of what was discussed")) + # Follow-up - requires_followup = models.BooleanField( - default=False, - help_text=_("Whether this communication requires follow-up") - ) - followup_date = models.DateField( - null=True, - blank=True, - help_text=_("Date when follow-up is needed") - ) - followup_notes = models.TextField( - blank=True, - help_text=_("Notes from follow-up") - ) - + requires_followup = models.BooleanField(default=False, help_text=_("Whether this communication requires follow-up")) + followup_date = models.DateField(null=True, blank=True, help_text=_("Date when follow-up is needed")) + followup_notes = models.TextField(blank=True, help_text=_("Notes from follow-up")) + # Attachments (emails, letters, etc.) attachment = models.FileField( - upload_to='complaints/communications/%Y/%m/%d/', + upload_to="complaints/communications/%Y/%m/%d/", null=True, blank=True, - help_text=_("Attached document (email export, letter, etc.)") + help_text=_("Attached document (email export, letter, etc.)"), ) - + # Created by created_by = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, - related_name='complaint_communications', - help_text=_("User who logged this communication") + related_name="complaint_communications", + help_text=_("User who logged this communication"), ) - + class Meta: - ordering = ['-created_at'] - verbose_name = _('Complaint Communication') - verbose_name_plural = _('Complaint Communications') + ordering = ["-created_at"] + verbose_name = _("Complaint Communication") + verbose_name_plural = _("Complaint Communications") indexes = [ - models.Index(fields=['complaint', '-created_at']), - models.Index(fields=['communication_type']), - models.Index(fields=['requires_followup', 'followup_date']), + models.Index(fields=["complaint", "-created_at"]), + models.Index(fields=["communication_type"]), + models.Index(fields=["requires_followup", "followup_date"]), ] - + def __str__(self): return f"{self.complaint.reference_number} - {self.get_communication_type_display()} - {self.contacted_person}" @@ -2613,171 +2584,185 @@ class ComplaintCommunication(UUIDModel, TimeStampedModel): # ROOT CAUSE ANALYSIS (RCA) # ============================================================================ + class RootCauseCategory(models.TextChoices): """Root cause categories for RCA""" - PEOPLE = 'people', 'People (Training, Staffing)' - PROCESS = 'process', 'Process/Procedure' - EQUIPMENT = 'equipment', 'Equipment/Technology' - ENVIRONMENT = 'environment', 'Environment/Facility' - COMMUNICATION = 'communication', 'Communication' - POLICY = 'policy', 'Policy/Protocol' - PATIENT_FACTOR = 'patient_factor', 'Patient-Related Factor' - OTHER = 'other', 'Other' + + PEOPLE = "people", "People (Training, Staffing)" + PROCESS = "process", "Process/Procedure" + EQUIPMENT = "equipment", "Equipment/Technology" + ENVIRONMENT = "environment", "Environment/Facility" + COMMUNICATION = "communication", "Communication" + POLICY = "policy", "Policy/Protocol" + PATIENT_FACTOR = "patient_factor", "Patient-Related Factor" + OTHER = "other", "Other" class ComplaintRootCauseAnalysis(UUIDModel, TimeStampedModel): """ Root Cause Analysis (RCA) for complaints. - + Structured analysis to identify underlying causes and prevent recurrence. Linked to complaints that require formal investigation. """ - + complaint = models.OneToOneField( - Complaint, - on_delete=models.CASCADE, - related_name='root_cause_analysis', - help_text=_("Related complaint") + Complaint, on_delete=models.CASCADE, related_name="root_cause_analysis", help_text=_("Related complaint") ) - + # RCA Team team_leader = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='led_rcas', - help_text=_("RCA team leader") + related_name="led_rcas", + help_text=_("RCA team leader"), ) - team_members = models.TextField( - blank=True, - help_text=_("List of RCA team members (one per line)") - ) - + team_members = models.TextField(blank=True, help_text=_("List of RCA team members (one per line)")) + # Problem statement - problem_statement = models.TextField( - help_text=_("Clear description of what happened") - ) - impact_description = models.TextField( - help_text=_("Impact on patient, organization, etc.") - ) - + problem_statement = models.TextField(help_text=_("Clear description of what happened")) + impact_description = models.TextField(help_text=_("Impact on patient, organization, etc.")) + # Root cause categories (can select multiple) - root_cause_categories = models.JSONField( - default=list, - help_text=_("Selected root cause categories") - ) - + root_cause_categories = models.JSONField(default=list, help_text=_("Selected root cause categories")) + # 5 Whys analysis why_1 = models.TextField(blank=True, help_text=_("Why did this happen? (Level 1)")) why_2 = models.TextField(blank=True, help_text=_("Why? (Level 2)")) why_3 = models.TextField(blank=True, help_text=_("Why? (Level 3)")) why_4 = models.TextField(blank=True, help_text=_("Why? (Level 4)")) why_5 = models.TextField(blank=True, help_text=_("Why? (Level 5)")) - + # Root cause summary - root_cause_summary = models.TextField( - help_text=_("Summary of identified root causes") - ) - + root_cause_summary = models.TextField(help_text=_("Summary of identified root causes")) + # Contributing factors - contributing_factors = models.TextField( - blank=True, - help_text=_("Factors that contributed to the incident") - ) - + contributing_factors = models.TextField(blank=True, help_text=_("Factors that contributed to the incident")) + # Corrective and Preventive Actions (CAPA) - corrective_actions = models.TextField( - help_text=_("Actions to correct the immediate issue") - ) - preventive_actions = models.TextField( - help_text=_("Actions to prevent recurrence") - ) - + corrective_actions = models.TextField(help_text=_("Actions to correct the immediate issue")) + preventive_actions = models.TextField(help_text=_("Actions to prevent recurrence")) + # Action tracking action_owner = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='owned_rca_actions', - help_text=_("Person responsible for implementing actions") - ) - action_due_date = models.DateField( - null=True, - blank=True, - help_text=_("Due date for implementing actions") + related_name="owned_rca_actions", + help_text=_("Person responsible for implementing actions"), ) + action_due_date = models.DateField(null=True, blank=True, help_text=_("Due date for implementing actions")) action_status = models.CharField( max_length=20, choices=[ - ('not_started', 'Not Started'), - ('in_progress', 'In Progress'), - ('completed', 'Completed'), - ('verified', 'Verified Effective'), + ("not_started", "Not Started"), + ("in_progress", "In Progress"), + ("completed", "Completed"), + ("verified", "Verified Effective"), ], - default='not_started', - help_text=_("Status of corrective actions") + default="not_started", + help_text=_("Status of corrective actions"), ) - + # Effectiveness verification effectiveness_verified = models.BooleanField( - default=False, - help_text=_("Whether the effectiveness of actions has been verified") + default=False, help_text=_("Whether the effectiveness of actions has been verified") ) - effectiveness_date = models.DateField( - null=True, - blank=True, - help_text=_("Date when effectiveness was verified") - ) - effectiveness_notes = models.TextField( - blank=True, - help_text=_("Notes on effectiveness verification") - ) - + effectiveness_date = models.DateField(null=True, blank=True, help_text=_("Date when effectiveness was verified")) + effectiveness_notes = models.TextField(blank=True, help_text=_("Notes on effectiveness verification")) + # RCA Status status = models.CharField( max_length=20, choices=[ - ('draft', 'Draft'), - ('in_review', 'In Review'), - ('approved', 'Approved'), - ('closed', 'Closed'), + ("draft", "Draft"), + ("in_review", "In Review"), + ("approved", "Approved"), + ("closed", "Closed"), ], - default='draft', - help_text=_("RCA status") + default="draft", + help_text=_("RCA status"), ) - + # Approval approved_by = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='approved_rcas', - help_text=_("User who approved the RCA") + related_name="approved_rcas", + help_text=_("User who approved the RCA"), ) - approved_at = models.DateTimeField( - null=True, - blank=True, - help_text=_("Date when RCA was approved") - ) - + approved_at = models.DateTimeField(null=True, blank=True, help_text=_("Date when RCA was approved")) + class Meta: - verbose_name = _('Root Cause Analysis') - verbose_name_plural = _('Root Cause Analyses') + verbose_name = _("Root Cause Analysis") + verbose_name_plural = _("Root Cause Analyses") indexes = [ - models.Index(fields=['action_status', 'action_due_date']), - models.Index(fields=['status']), + models.Index(fields=["action_status", "action_due_date"]), + models.Index(fields=["status"]), ] - + def __str__(self): return f"RCA for {self.complaint.reference_number}" - + @property def is_overdue(self): """Check if action is overdue""" from django.utils import timezone - if self.action_due_date and self.action_status not in ['completed', 'verified']: + + if self.action_due_date and self.action_status not in ["completed", "verified"]: return timezone.now().date() > self.action_due_date return False + + +class PatientComplaintSession(TimeStampedModel): + """ + Token-based session for patients to submit complaints via SMS link. + + Flow: + 1. Staff creates session -> SMS sent to patient with link + 2. Patient opens link -> sees hospital cards grouped by visits + 3. Patient selects hospital -> sees visit list + 4. Patient selects visit -> fills complaint form + """ + + patient = models.ForeignKey("organizations.Patient", on_delete=models.CASCADE, related_name="complaint_sessions") + token = models.CharField(max_length=64, unique=True, db_index=True) + expires_at = models.DateTimeField(db_index=True) + created_by = models.ForeignKey( + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="complaint_sessions" + ) + is_active = models.BooleanField(default=True, db_index=True) + + def is_expired(self): + from django.utils import timezone + + return timezone.now() > self.expires_at + + def generate_link(self, request=None): + if request: + return request.build_absolute_uri(f"/complaints/patient/{self.token}/") + return f"/complaints/patient/{self.token}/" + + def save(self, *args, **kwargs): + if not self.token: + import secrets + + self.token = secrets.token_urlsafe(32) + if not self.expires_at: + from django.utils import timezone + from django.conf import settings + + days = getattr(settings, "COMPLAINT_LINK_EXPIRY_DAYS", 7) + self.expires_at = timezone.now() + timedelta(days=days) + super().save(*args, **kwargs) + + class Meta: + ordering = ["-created_at"] + indexes = [ + models.Index(fields=["patient", "is_active"]), + ] diff --git a/apps/complaints/serializers.py b/apps/complaints/serializers.py index 6b27d3b..9040a0f 100644 --- a/apps/complaints/serializers.py +++ b/apps/complaints/serializers.py @@ -1,6 +1,7 @@ """ Complaints serializers """ + from rest_framework import serializers from .models import ( @@ -10,22 +11,31 @@ from .models import ( ComplaintPRInteraction, ComplaintUpdate, Inquiry, - ComplaintExplanation + ComplaintExplanation, ) class ComplaintAttachmentSerializer(serializers.ModelSerializer): """Complaint attachment serializer""" + uploaded_by_name = serializers.SerializerMethodField() class Meta: model = ComplaintAttachment fields = [ - 'id', 'complaint', 'file', 'filename', 'file_type', 'file_size', - 'uploaded_by', 'uploaded_by_name', 'description', - 'created_at', 'updated_at' + "id", + "complaint", + "file", + "filename", + "file_type", + "file_size", + "uploaded_by", + "uploaded_by_name", + "description", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'file_size', 'created_at', 'updated_at'] + read_only_fields = ["id", "file_size", "created_at", "updated_at"] def get_uploaded_by_name(self, obj): """Get uploader name""" @@ -36,17 +46,25 @@ class ComplaintAttachmentSerializer(serializers.ModelSerializer): class ComplaintUpdateSerializer(serializers.ModelSerializer): """Complaint update serializer""" + created_by_name = serializers.SerializerMethodField() class Meta: model = ComplaintUpdate fields = [ - 'id', 'complaint', 'update_type', 'message', - 'created_by', 'created_by_name', - 'old_status', 'new_status', 'metadata', - 'created_at', 'updated_at' + "id", + "complaint", + "update_type", + "message", + "created_by", + "created_by_name", + "old_status", + "new_status", + "metadata", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] def get_created_by_name(self, obj): """Get creator name""" @@ -57,22 +75,32 @@ class ComplaintUpdateSerializer(serializers.ModelSerializer): class ComplaintPRInteractionSerializer(serializers.ModelSerializer): """PR Interaction serializer""" - complaint_title = serializers.CharField(source='complaint.title', read_only=True) + + complaint_title = serializers.CharField(source="complaint.title", read_only=True) pr_staff_name = serializers.SerializerMethodField() created_by_name = serializers.SerializerMethodField() - contact_method_display = serializers.CharField(source='get_contact_method_display', read_only=True) + contact_method_display = serializers.CharField(source="get_contact_method_display", read_only=True) class Meta: model = ComplaintPRInteraction fields = [ - 'id', 'complaint', 'complaint_title', - 'contact_date', 'contact_method', 'contact_method_display', - 'pr_staff', 'pr_staff_name', - 'statement_text', 'procedure_explained', 'notes', - 'created_by', 'created_by_name', - 'created_at', 'updated_at' + "id", + "complaint", + "complaint_title", + "contact_date", + "contact_method", + "contact_method_display", + "pr_staff", + "pr_staff_name", + "statement_text", + "procedure_explained", + "notes", + "created_by", + "created_by_name", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] def get_pr_staff_name(self, obj): """Get PR staff name""" @@ -89,20 +117,28 @@ class ComplaintPRInteractionSerializer(serializers.ModelSerializer): class ComplaintMeetingSerializer(serializers.ModelSerializer): """Complaint Meeting serializer""" - complaint_title = serializers.CharField(source='complaint.title', read_only=True) + + complaint_title = serializers.CharField(source="complaint.title", read_only=True) created_by_name = serializers.SerializerMethodField() - meeting_type_display = serializers.CharField(source='get_meeting_type_display', read_only=True) + meeting_type_display = serializers.CharField(source="get_meeting_type_display", read_only=True) class Meta: model = ComplaintMeeting fields = [ - 'id', 'complaint', 'complaint_title', - 'meeting_date', 'meeting_type', 'meeting_type_display', - 'outcome', 'notes', - 'created_by', 'created_by_name', - 'created_at', 'updated_at' + "id", + "complaint", + "complaint_title", + "meeting_date", + "meeting_type", + "meeting_type_display", + "outcome", + "notes", + "created_by", + "created_by_name", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] def get_created_by_name(self, obj): """Get creator name""" @@ -113,21 +149,22 @@ class ComplaintMeetingSerializer(serializers.ModelSerializer): class ComplaintSerializer(serializers.ModelSerializer): """Complaint serializer""" - patient_name = serializers.CharField(source='patient.get_full_name', read_only=True) - patient_mrn = serializers.CharField(source='patient.mrn', read_only=True) - hospital_name = serializers.CharField(source='hospital.name', read_only=True) - department_name = serializers.CharField(source='department.name', read_only=True) + + patient_name = serializers.CharField(source="patient.get_full_name", read_only=True) + patient_mrn = serializers.CharField(source="patient.mrn", read_only=True) + hospital_name = serializers.CharField(source="hospital.name", read_only=True) + department_name = serializers.CharField(source="department.name", read_only=True) staff_name = serializers.SerializerMethodField() assigned_to_name = serializers.SerializerMethodField() created_by_name = serializers.SerializerMethodField() - source_name = serializers.CharField(source='source.name_en', read_only=True) - source_code = serializers.CharField(source='source.code', read_only=True) - complaint_source_type_display = serializers.CharField(source='get_complaint_source_type_display', read_only=True) - complaint_type_display = serializers.CharField(source='get_complaint_type_display', read_only=True) + source_name = serializers.CharField(source="source.name_en", read_only=True) + source_code = serializers.CharField(source="source.code", read_only=True) + complaint_source_type_display = serializers.CharField(source="get_complaint_source_type_display", read_only=True) + complaint_type_display = serializers.CharField(source="get_complaint_type_display", read_only=True) attachments = ComplaintAttachmentSerializer(many=True, read_only=True) updates = ComplaintUpdateSerializer(many=True, read_only=True) sla_status = serializers.SerializerMethodField() - + # 4-level taxonomy fields domain_details = serializers.SerializerMethodField() category_details = serializers.SerializerMethodField() @@ -138,83 +175,126 @@ class ComplaintSerializer(serializers.ModelSerializer): class Meta: model = Complaint fields = [ - 'id', 'patient', 'patient_name', 'patient_mrn', 'encounter_id', - 'hospital', 'hospital_name', 'department', 'department_name', - 'staff', 'staff_name', - 'title', 'description', + "id", + "patient", + "patient_name", + "patient_mrn", + "encounter_id", + "hospital", + "hospital_name", + "department", + "department_name", + "staff", + "staff_name", + "title", + "description", # Reference and tracking - 'reference_number', + "reference_number", # 4-level taxonomy - 'domain', 'domain_details', - 'category', 'category_details', - 'subcategory', 'subcategory_details', - 'subcategory_obj', 'classification', 'classification_obj', 'classification_details', - 'taxonomy_path', - 'priority', 'severity', 'complaint_type', 'complaint_type_display', - 'complaint_source_type', 'complaint_source_type_display', - 'source', 'source_name', 'source_code', 'status', - 'created_by', 'created_by_name', - 'assigned_to', 'assigned_to_name', 'assigned_at', 'activated_at', - 'due_at', 'is_overdue', 'sla_status', - 'reminder_sent_at', 'escalated_at', - 'resolution', 'resolved_at', 'resolved_by', - 'closed_at', 'closed_by', - 'resolution_survey', 'resolution_survey_sent_at', - 'attachments', 'updates', 'metadata', - 'created_at', 'updated_at' + "domain", + "domain_details", + "category", + "category_details", + "subcategory", + "subcategory_details", + "subcategory_obj", + "classification", + "classification_obj", + "classification_details", + "taxonomy_path", + "priority", + "severity", + "complaint_type", + "complaint_type_display", + "complaint_source_type", + "complaint_source_type_display", + "source", + "source_name", + "source_code", + "status", + "created_by", + "created_by_name", + "assigned_to", + "assigned_to_name", + "assigned_at", + "activated_at", + "due_at", + "is_overdue", + "sla_status", + "reminder_sent_at", + "escalated_at", + "resolution", + "resolved_at", + "resolved_by", + "closed_at", + "closed_by", + "resolution_survey", + "resolution_survey_sent_at", + "attachments", + "updates", + "metadata", + "created_at", + "updated_at", ] read_only_fields = [ - 'id', 'created_by', 'assigned_at', 'is_overdue', - 'reference_number', - 'reminder_sent_at', 'escalated_at', - 'resolved_at', 'closed_at', 'resolution_survey_sent_at', - 'created_at', 'updated_at' + "id", + "created_by", + "assigned_at", + "is_overdue", + "reference_number", + "reminder_sent_at", + "escalated_at", + "resolved_at", + "closed_at", + "resolution_survey_sent_at", + "created_at", + "updated_at", ] - + def get_domain_details(self, obj): """Get domain details""" if obj.domain: return { - 'id': str(obj.domain.id), - 'code': obj.domain.code or obj.domain.name_en.upper(), - 'name_en': obj.domain.name_en, - 'name_ar': obj.domain.name_ar + "id": str(obj.domain.id), + "code": obj.domain.code or obj.domain.name_en.upper(), + "name_en": obj.domain.name_en, + "name_ar": obj.domain.name_ar, } return None - + def get_category_details(self, obj): """Get category details""" if obj.category: return { - 'id': str(obj.category.id), - 'code': obj.category.code or obj.category.name_en.upper(), - 'name_en': obj.category.name_en, - 'name_ar': obj.category.name_ar + "id": str(obj.category.id), + "code": obj.category.code or obj.category.name_en.upper(), + "name_en": obj.category.name_en, + "name_ar": obj.category.name_ar, } return None - + def get_subcategory_details(self, obj): """Get subcategory details""" if obj.subcategory_obj: return { - 'id': str(obj.subcategory_obj.id), - 'code': obj.subcategory_obj.code or obj.subcategory_obj.name_en.upper(), - 'name_en': obj.subcategory_obj.name_en, - 'name_ar': obj.subcategory_obj.name_ar + "id": str(obj.subcategory_obj.id), + "code": obj.subcategory_obj.code or obj.subcategory_obj.name_en.upper(), + "name_en": obj.subcategory_obj.name_en, + "name_ar": obj.subcategory_obj.name_ar, } return None - + def get_classification_details(self, obj): """Get classification details""" if obj.classification_obj: return { - 'id': str(obj.classification_obj.id), - 'code': obj.classification_obj.code, - 'name_en': obj.classification_obj.name_en, - 'name_ar': obj.classification_obj.name_ar + "id": str(obj.classification_obj.id), + "code": obj.classification_obj.code, + "name_en": obj.classification_obj.name_en, + "name_ar": obj.classification_obj.name_ar, } return None - + def get_taxonomy_path(self, obj): """Get full taxonomy path as a string""" parts = [] @@ -226,7 +306,7 @@ class ComplaintSerializer(serializers.ModelSerializer): parts.append(obj.subcategory_obj.name_en) if obj.classification_obj: parts.append(obj.classification_obj.name_en) - return ' > '.join(parts) if parts else None + return " > ".join(parts) if parts else None def create(self, validated_data): """ @@ -237,39 +317,36 @@ class ComplaintSerializer(serializers.ModelSerializer): """ from apps.organizations.models import Department import logging + logger = logging.getLogger(__name__) # Extract metadata if present - metadata = validated_data.get('metadata', {}) + metadata = validated_data.get("metadata", {}) # Check if department is not already set and AI analysis contains department info - if not validated_data.get('department') and metadata.get('ai_analysis'): - ai_analysis = metadata['ai_analysis'] - department_name = ai_analysis.get('department') + if not validated_data.get("department") and metadata.get("ai_analysis"): + ai_analysis = metadata["ai_analysis"] + department_name = ai_analysis.get("department") # If AI identified a department, try to match it in the database if department_name: - hospital = validated_data.get('hospital') + hospital = validated_data.get("hospital") if hospital: try: # Try exact match first department = Department.objects.filter( - hospital=hospital, - status='active', - name__iexact=department_name + hospital=hospital, status="active", name__iexact=department_name ).first() # If no exact match, try partial match if not department: department = Department.objects.filter( - hospital=hospital, - status='active', - name__icontains=department_name + hospital=hospital, status="active", name__icontains=department_name ).first() if department: - validated_data['department'] = department + validated_data["department"] = department logger.info( f"Auto-set department '{department.name}' from AI analysis " f"for complaint (matched from '{department_name}')" @@ -305,69 +382,101 @@ class ComplaintSerializer(serializers.ModelSerializer): def get_sla_status(self, obj): """Get SLA status""" - return obj.sla_status if hasattr(obj, 'sla_status') else 'on_track' + return obj.sla_status if hasattr(obj, "sla_status") else "on_track" class ComplaintExplanationSerializer(serializers.ModelSerializer): """Complaint explanation serializer""" + staff_name = serializers.SerializerMethodField() requested_by_name = serializers.SerializerMethodField() attachment_count = serializers.SerializerMethodField() - + class Meta: model = ComplaintExplanation fields = [ - 'id', 'complaint', 'staff', 'staff_name', - 'explanation', 'token', 'is_used', - 'email_sent_at', 'responded_at', - 'submitted_via', 'requested_by', 'requested_by_name', - 'request_message', 'attachment_count', - 'created_at' + "id", + "complaint", + "staff", + "staff_name", + "explanation", + "token", + "is_used", + "email_sent_at", + "responded_at", + "submitted_via", + "requested_by", + "requested_by_name", + "request_message", + "attachment_count", + "created_at", ] - read_only_fields = ['id', 'email_sent_at', 'responded_at', 'created_at'] - + read_only_fields = ["id", "email_sent_at", "responded_at", "created_at"] + def get_staff_name(self, obj): if obj.staff: return f"{obj.staff.first_name} {obj.staff.last_name}" if obj.staff.last_name else "" return "" - + def get_requested_by_name(self, obj): if obj.requested_by: return obj.requested_by.get_full_name() return None - + def get_attachment_count(self, obj): return obj.attachments.count() class ComplaintListSerializer(serializers.ModelSerializer): """Simplified complaint serializer for list views""" - patient_name = serializers.CharField(source='patient.get_full_name', read_only=True) - patient_mrn = serializers.CharField(source='patient.mrn', read_only=True) - hospital_name = serializers.CharField(source='hospital.name', read_only=True) - department_name = serializers.CharField(source='department.name', read_only=True) + + patient_name = serializers.CharField(source="patient.get_full_name", read_only=True) + patient_mrn = serializers.CharField(source="patient.mrn", read_only=True) + hospital_name = serializers.CharField(source="hospital.name", read_only=True) + department_name = serializers.CharField(source="department.name", read_only=True) staff_name = serializers.SerializerMethodField() assigned_to_name = serializers.SerializerMethodField() - source_name = serializers.CharField(source='source.name_en', read_only=True) - complaint_source_type_display = serializers.CharField(source='get_complaint_source_type_display', read_only=True) - complaint_type_display = serializers.CharField(source='get_complaint_type_display', read_only=True) + source_name = serializers.CharField(source="source.name_en", read_only=True) + complaint_source_type_display = serializers.CharField(source="get_complaint_source_type_display", read_only=True) + complaint_type_display = serializers.CharField(source="get_complaint_type_display", read_only=True) sla_status = serializers.SerializerMethodField() taxonomy_summary = serializers.SerializerMethodField() class Meta: model = Complaint fields = [ - 'id', 'reference_number', 'patient_name', 'patient_mrn', 'encounter_id', - 'hospital_name', 'department_name', 'staff_name', - 'title', 'category', 'subcategory', 'taxonomy_summary', - 'priority', 'severity', 'complaint_type', 'complaint_type_display', - 'complaint_source_type', 'complaint_source_type_display', - 'source_name', 'status', - 'assigned_to_name', 'assigned_at', - 'due_at', 'is_overdue', 'sla_status', - 'resolution', 'resolved_at', - 'closed_at', - 'created_at', 'updated_at' + "id", + "reference_number", + "patient_name", + "patient_mrn", + "encounter_id", + "hospital_name", + "department_name", + "staff_name", + "title", + "ai_brief_en", + "ai_brief_ar", + "category", + "subcategory", + "taxonomy_summary", + "priority", + "severity", + "complaint_type", + "complaint_type_display", + "complaint_source_type", + "complaint_source_type_display", + "source_name", + "status", + "assigned_to_name", + "assigned_at", + "due_at", + "is_overdue", + "sla_status", + "resolution", + "resolved_at", + "closed_at", + "created_at", + "updated_at", ] def get_staff_name(self, obj): @@ -381,11 +490,11 @@ class ComplaintListSerializer(serializers.ModelSerializer): if obj.assigned_to: return obj.assigned_to.get_full_name() return None - + def get_sla_status(self, obj): """Get SLA status""" - return obj.sla_status if hasattr(obj, 'sla_status') else 'on_track' - + return obj.sla_status if hasattr(obj, "sla_status") else "on_track" + def get_taxonomy_summary(self, obj): """Get brief taxonomy summary""" parts = [] @@ -393,30 +502,46 @@ class ComplaintListSerializer(serializers.ModelSerializer): parts.append(obj.domain.name_en) if obj.category: parts.append(obj.category.name_en) - return ' > '.join(parts) if parts else None + return " > ".join(parts) if parts else None class InquirySerializer(serializers.ModelSerializer): """Inquiry serializer""" - patient_name = serializers.CharField(source='patient.get_full_name', read_only=True) - hospital_name = serializers.CharField(source='hospital.name', read_only=True) - department_name = serializers.CharField(source='department.name', read_only=True) + + patient_name = serializers.CharField(source="patient.get_full_name", read_only=True) + hospital_name = serializers.CharField(source="hospital.name", read_only=True) + department_name = serializers.CharField(source="department.name", read_only=True) assigned_to_name = serializers.SerializerMethodField() created_by_name = serializers.SerializerMethodField() class Meta: model = Inquiry fields = [ - 'id', 'patient', 'patient_name', - 'contact_name', 'contact_phone', 'contact_email', - 'hospital', 'hospital_name', 'department', 'department_name', - 'subject', 'message', 'category', 'source', - 'created_by', 'created_by_name', - 'assigned_to', 'assigned_to_name', - 'response', 'responded_at', 'responded_by', - 'created_at', 'updated_at' + "id", + "patient", + "patient_name", + "contact_name", + "contact_phone", + "contact_email", + "hospital", + "hospital_name", + "department", + "department_name", + "subject", + "message", + "category", + "source", + "created_by", + "created_by_name", + "assigned_to", + "assigned_to_name", + "response", + "responded_at", + "responded_by", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_by', 'responded_at', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_by", "responded_at", "created_at", "updated_at"] def get_assigned_to_name(self, obj): """Get assigned user name""" diff --git a/apps/complaints/services/complaint_service.py b/apps/complaints/services/complaint_service.py new file mode 100644 index 0000000..54fc2d7 --- /dev/null +++ b/apps/complaints/services/complaint_service.py @@ -0,0 +1,675 @@ +import logging + +from django.utils import timezone + +from apps.core.services import AuditService +from apps.notifications.services import NotificationService +from apps.organizations.models import Department +from apps.complaints.models import Complaint, ComplaintExplanation, ComplaintStatus, ComplaintUpdate + +logger = logging.getLogger(__name__) + + +class ComplaintServiceError(Exception): + pass + + +class ComplaintService: + @staticmethod + def get_escalation_target(complaint, staff=None): + """ + Resolve an escalation target using a fallback chain. + + For explanation escalation (staff provided): + staff.report_to -> staff.department.manager -> + complaint.department.manager -> hospital admins & PX coordinators + + For complaint-level escalation (no staff): + complaint.department.manager -> hospital admins & PX coordinators + + Args: + complaint: Complaint instance + staff: Optional Staff instance (the person being escalated from) + + Returns: + tuple: (target_user, fallback_path) where target_user is a User + (or None if no target found) and fallback_path describes + which step succeeded. + """ + from apps.complaints.tasks import get_hospital_admins_and_coordinators + + if staff: + if staff.report_to and staff.report_to.user and staff.report_to.user.is_active: + return staff.report_to.user, "staff.report_to" + + staff_dept = getattr(staff, "department", None) + if staff_dept and staff_dept.manager and staff_dept.manager.is_active: + return staff_dept.manager, "staff.department.manager" + + if complaint.department and complaint.department.manager and complaint.department.manager.is_active: + if not staff or (staff and getattr(staff, "department", None) != complaint.department): + return complaint.department.manager, "complaint.department.manager" + + hospital = complaint.hospital + if hospital: + fallback = get_hospital_admins_and_coordinators(hospital).first() + if fallback: + return fallback, "hospital_admins_coordinators" + + return None, "no_target_found" + + @staticmethod + def can_manage(user, complaint): + if user.is_px_admin(): + return True + if user.is_hospital_admin() and user.hospital == complaint.hospital: + return True + if user.is_department_manager() and user.department == complaint.department: + return True + if complaint.assigned_to and complaint.assigned_to == user: + return True + if complaint.involved_departments.filter(id=user.department_id).exists() if user.department_id else False: + return True + return False + + @staticmethod + def can_activate(user, complaint): + return ( + user.is_px_admin() + or user.is_hospital_admin() + or (user.is_department_manager() and complaint.department == user.department) + or complaint.hospital == user.hospital + ) + + @staticmethod + def activate(complaint, user, request=None): + if not complaint.is_active_status: + raise ComplaintServiceError( + f"Cannot activate complaint with status '{complaint.get_status_display()}'. " + "Complaint must be Open, In Progress, or Partially Resolved." + ) + + if not ComplaintService.can_activate(user, complaint): + raise ComplaintServiceError("You don't have permission to activate this complaint.") + + if complaint.assigned_to == user: + raise ComplaintServiceError("This complaint is already assigned to you.") + + previous_assignee = complaint.assigned_to + old_status = complaint.status + + complaint.assigned_to = user + complaint.assigned_at = timezone.now() + + if complaint.status == ComplaintStatus.OPEN: + complaint.status = ComplaintStatus.IN_PROGRESS + complaint.activated_at = timezone.now() + complaint.save(update_fields=["assigned_to", "assigned_at", "status", "activated_at"]) + else: + complaint.save(update_fields=["assigned_to", "assigned_at"]) + + assign_message = f"Complaint activated and assigned to {user.get_full_name()}" + if previous_assignee: + assign_message += f" (reassigned from {previous_assignee.get_full_name()})" + + roles_display = ", ".join(user.get_role_names()) + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="assignment", + message=f"{assign_message} ({roles_display})", + created_by=user, + metadata={ + "old_assignee_id": str(previous_assignee.id) if previous_assignee else None, + "new_assignee_id": str(user.id), + "assignee_roles": user.get_role_names(), + "old_status": old_status, + "new_status": complaint.status, + "activated_by_current_user": True, + }, + ) + + metadata = { + "old_assignee_id": str(previous_assignee.id) if previous_assignee else None, + "new_assignee_id": str(user.id), + "old_status": old_status, + "new_status": complaint.status, + } + + if request: + AuditService.log_from_request( + event_type="complaint_activated", + description=f"Complaint activated by {user.get_full_name()}", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="complaint_activated", + description=f"Complaint activated by {user.get_full_name()}", + user=user, + content_object=complaint, + metadata=metadata, + ) + + return { + "success": True, + "complaint": complaint, + "old_assignee": previous_assignee, + "old_status": old_status, + } + + @staticmethod + def assign(complaint, target_user, assigned_by, request=None): + if not complaint.is_active_status: + raise ComplaintServiceError( + f"Cannot assign complaint with status '{complaint.get_status_display()}'. " + "Complaint must be Open, In Progress, or Partially Resolved." + ) + + if not (assigned_by.is_px_admin() or assigned_by.is_hospital_admin()): + raise ComplaintServiceError("You don't have permission to assign complaints.") + + old_assignee = complaint.assigned_to + + complaint.assigned_to = target_user + complaint.assigned_at = timezone.now() + complaint.save(update_fields=["assigned_to", "assigned_at"]) + + roles_display = ", ".join(target_user.get_role_names()) + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="assignment", + message=f"Assigned to {target_user.get_full_name()} ({roles_display})", + created_by=assigned_by, + metadata={ + "old_assignee_id": str(old_assignee.id) if old_assignee else None, + "new_assignee_id": str(target_user.id), + "assignee_roles": target_user.get_role_names(), + }, + ) + + metadata = { + "old_assignee_id": str(old_assignee.id) if old_assignee else None, + "new_assignee_id": str(target_user.id), + } + + if request: + AuditService.log_from_request( + event_type="assignment", + description=f"Complaint assigned to {target_user.get_full_name()} ({roles_display})", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="assignment", + description=f"Complaint assigned to {target_user.get_full_name()}", + user=assigned_by, + content_object=complaint, + metadata=metadata, + ) + + return { + "success": True, + "complaint": complaint, + "old_assignee": old_assignee, + } + + @staticmethod + def change_status( + complaint, + new_status, + changed_by, + request=None, + *, + note="", + resolution="", + resolution_outcome="", + resolution_outcome_other="", + resolution_category="", + ): + if not (changed_by.is_px_admin() or changed_by.is_hospital_admin()): + raise ComplaintServiceError("You don't have permission to change complaint status.") + + if not new_status: + raise ComplaintServiceError("Please select a status.") + + old_status = complaint.status + complaint.status = new_status + + if new_status == ComplaintStatus.RESOLVED or new_status == "resolved": + complaint.resolved_at = timezone.now() + complaint.resolved_by = changed_by + if resolution: + complaint.resolution = resolution + complaint.resolution_sent_at = timezone.now() + if resolution_category: + complaint.resolution_category = resolution_category + if resolution_outcome: + complaint.resolution_outcome = resolution_outcome + if resolution_outcome == "other" and resolution_outcome_other: + complaint.resolution_outcome_other = resolution_outcome_other + + elif new_status == ComplaintStatus.CLOSED or new_status == "closed": + complaint.closed_at = timezone.now() + complaint.closed_by = changed_by + from apps.complaints.tasks import send_complaint_resolution_survey + + send_complaint_resolution_survey.delay(str(complaint.id)) + + complaint.save() + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="status_change", + message=note or f"Status changed from {old_status} to {new_status}", + created_by=changed_by, + old_status=old_status, + new_status=new_status, + metadata={ + "resolution_text": resolution if resolution else None, + "resolution_category": resolution_category if resolution_category else None, + }, + ) + + metadata = { + "old_status": old_status, + "new_status": new_status, + "resolution_category": resolution_category if resolution_category else None, + } + + if request: + AuditService.log_from_request( + event_type="status_change", + description=f"Complaint status changed from {old_status} to {new_status}", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="status_change", + description=f"Complaint status changed from {old_status} to {new_status}", + user=changed_by, + content_object=complaint, + metadata=metadata, + ) + + return { + "success": True, + "complaint": complaint, + "old_status": old_status, + "new_status": new_status, + } + + @staticmethod + def add_note(complaint, message, created_by, request=None): + if not complaint.is_active_status: + raise ComplaintServiceError( + f"Cannot add notes to complaint with status '{complaint.get_status_display()}'. " + "Complaint must be Open, In Progress, or Partially Resolved." + ) + + if not message: + raise ComplaintServiceError("Please enter a note.") + + update = ComplaintUpdate.objects.create( + complaint=complaint, + update_type="note", + message=message, + created_by=created_by, + ) + + metadata = { + "note_id": str(update.id), + } + + if request: + AuditService.log_from_request( + event_type="note_added", + description=f"Note added to complaint", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="note_added", + description=f"Note added to complaint", + user=created_by, + content_object=complaint, + metadata=metadata, + ) + + return update + + @staticmethod + def change_department(complaint, department, changed_by, request=None): + if not complaint.is_active_status: + raise ComplaintServiceError( + f"Cannot change department for complaint with status '{complaint.get_status_display()}'. " + "Complaint must be Open, In Progress, or Partially Resolved." + ) + + if not (changed_by.is_px_admin() or changed_by.is_hospital_admin()): + raise ComplaintServiceError("You don't have permission to change complaint department.") + + if department.hospital != complaint.hospital: + raise ComplaintServiceError("Department does not belong to this complaint's hospital.") + + old_department = complaint.department + complaint.department = department + complaint.save(update_fields=["department"]) + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="assignment", + message=f"Department changed to {department.name}", + created_by=changed_by, + metadata={ + "old_department_id": str(old_department.id) if old_department else None, + "new_department_id": str(department.id), + }, + ) + + metadata = { + "old_department_id": str(old_department.id) if old_department else None, + "new_department_id": str(department.id), + } + + if request: + AuditService.log_from_request( + event_type="department_change", + description=f"Complaint department changed to {department.name}", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="department_change", + description=f"Complaint department changed to {department.name}", + user=changed_by, + content_object=complaint, + metadata=metadata, + ) + + return { + "success": True, + "complaint": complaint, + "old_department": old_department, + } + + @staticmethod + def request_explanation( + complaint, + staff_list, + selected_staff_ids, + selected_manager_ids, + request_message, + requested_by, + domain, + request=None, + ): + import secrets + + if not complaint.is_active_status: + raise ComplaintServiceError( + f"Cannot request explanation for complaint with status '{complaint.get_status_display()}'. " + "Complaint must be Open, In Progress, or Partially Resolved." + ) + + staff_count = 0 + manager_count = 0 + skipped_no_email = 0 + results = [] + notified_managers = set() + + for recipient in staff_list: + staff = recipient["staff"] + staff_id = recipient["staff_id"] + + if staff_id not in selected_staff_ids: + continue + + staff_email = recipient.get("staff_email") + if not staff_email: + skipped_no_email += 1 + continue + + staff_token = secrets.token_urlsafe(32) + + explanation, created = ComplaintExplanation.objects.update_or_create( + complaint=complaint, + staff=staff, + defaults={ + "token": staff_token, + "is_used": False, + "requested_by": requested_by, + "request_message": request_message, + "email_sent_at": timezone.now(), + "submitted_via": "email_link", + }, + ) + + staff_link = f"https://{domain}/complaints/{complaint.id}/explain/{staff_token}/" + staff_subject = f"Explanation Request - Complaint #{complaint.reference_number}" + staff_display = recipient.get("staff_name", str(staff)) + + staff_email_body = f"""Dear {staff_display}, + +We have received a complaint that requires your explanation. + +COMPLAINT DETAILS: +---------------- +Reference: {complaint.reference_number} +Title: {complaint.title} +Severity: {complaint.get_severity_display()} +Priority: {complaint.get_priority_display()} + +{complaint.description or "No description provided."}""" + + if complaint.patient: + staff_email_body += f""" + +PATIENT INFORMATION: +------------------ +Name: {complaint.patient.get_full_name()} +MRN: {complaint.patient.mrn or "N/A"}""" + + if request_message: + staff_email_body += f""" + +ADDITIONAL MESSAGE: +------------------ +{request_message}""" + + staff_email_body += f""" + +SUBMIT YOUR EXPLANATION: +------------------------ +Please submit your explanation about this complaint: +{staff_link} + +Note: This link can only be used once. After submission, it will expire. + +If you have any questions, please contact the PX team. + +--- +This is an automated message from PX360 Complaint Management System.""" + + try: + NotificationService.send_email( + email=staff_email, + subject=staff_subject, + message=staff_email_body, + related_object=complaint, + metadata={ + "notification_type": "explanation_request", + "staff_id": str(staff.id), + "complaint_id": str(complaint.id), + }, + ) + staff_count += 1 + results.append( + { + "recipient_type": "staff", + "recipient": staff_display, + "email": staff_email, + "explanation_id": str(explanation.id), + "sent": True, + } + ) + except Exception as e: + logger.error(f"Failed to send explanation request to staff {staff.id}: {e}") + results.append( + { + "recipient_type": "staff", + "recipient": staff_display, + "email": staff_email, + "explanation_id": str(explanation.id), + "sent": False, + "error": str(e), + } + ) + + manager = recipient.get("manager") + manager_id = recipient.get("manager_id") + if manager and manager_id and manager_id in selected_manager_ids: + if manager.id not in notified_managers: + manager_email = recipient.get("manager_email") + if manager_email: + manager_display = recipient.get("manager_name", str(manager)) + manager_subject = f"Staff Explanation Requested - Complaint #{complaint.reference_number}" + + manager_email_body = f"""Dear {manager_display}, + +This is an informational notification that an explanation has been requested from a staff member who reports to you. + +STAFF MEMBER: +------------ +Name: {staff_display} +Department: {recipient.get("department", "")} +Role in Complaint: {recipient.get("role", "")} + +COMPLAINT DETAILS: +---------------- +Reference: {complaint.reference_number} +Title: {complaint.title} +Severity: {complaint.get_severity_display()} + +The staff member has been sent a link to submit their explanation. You will be notified when they respond. + +If you have any questions, please contact the PX team. + +--- +This is an automated message from PX360 Complaint Management System.""" + + try: + NotificationService.send_email( + email=manager_email, + subject=manager_subject, + message=manager_email_body, + related_object=complaint, + metadata={ + "notification_type": "explanation_request_manager_notification", + "manager_id": str(manager.id), + "staff_id": str(staff.id), + "complaint_id": str(complaint.id), + }, + ) + manager_count += 1 + notified_managers.add(manager.id) + except Exception as e: + logger.error(f"Failed to send manager notification to {manager.id}: {e}") + + metadata = { + "staff_count": staff_count, + "manager_count": manager_count, + "skipped_no_email": skipped_no_email, + "selected_staff_ids": selected_staff_ids, + "selected_manager_ids": selected_manager_ids, + } + + if request: + AuditService.log_from_request( + event_type="explanation_requested", + description=f"Explanation requests sent to {staff_count} staff and {manager_count} managers", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="explanation_requested", + description=f"Explanation requests sent to {staff_count} staff and {manager_count} managers", + user=requested_by, + content_object=complaint, + metadata=metadata, + ) + + if staff_count > 0: + recipients_str = ", ".join([r["recipient"] for r in results if r["sent"]]) + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="communication", + message=f"Explanation request sent to: {recipients_str}", + created_by=requested_by, + metadata={ + "staff_count": staff_count, + "manager_count": manager_count, + "results": results, + }, + ) + complaint.status = ComplaintStatus.CONTACTED + complaint.save(update_fields=["status", "updated_at"]) + + return { + "staff_count": staff_count, + "manager_count": manager_count, + "skipped_no_email": skipped_no_email, + "results": results, + } + + @staticmethod + def post_create_hooks(complaint, created_by, request=None): + from apps.complaints.tasks import analyze_complaint_with_ai, notify_admins_new_complaint + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="note", + message="Complaint created. AI analysis running in background.", + created_by=created_by, + ) + + analyze_complaint_with_ai.delay(str(complaint.id)) + notify_admins_new_complaint.delay(str(complaint.id)) + + metadata = { + "severity": complaint.severity, + "patient_name": complaint.patient_name, + "national_id": complaint.national_id, + "hospital": complaint.hospital.name if complaint.hospital else None, + "ai_analysis_pending": True, + } + + if request: + AuditService.log_from_request( + event_type="complaint_created", + description=f"Complaint created: {complaint.title}", + request=request, + content_object=complaint, + metadata=metadata, + ) + else: + AuditService.log_event( + event_type="complaint_created", + description=f"Complaint created: {complaint.title}", + user=created_by, + content_object=complaint, + metadata=metadata, + ) diff --git a/apps/complaints/tasks.py b/apps/complaints/tasks.py index 797ed62..f9d261e 100644 --- a/apps/complaints/tasks.py +++ b/apps/complaints/tasks.py @@ -737,6 +737,16 @@ def escalate_complaint_auto(complaint_id): if complaint.department and complaint.department.manager: escalation_target = complaint.department.manager + if not escalation_target: + from apps.complaints.services.complaint_service import ComplaintService + + escalation_target, fallback_path = ComplaintService.get_escalation_target(complaint) + if escalation_target: + logger.info( + f"Department manager not found for complaint {complaint_id}, " + f"using fallback via {fallback_path}: {escalation_target.get_full_name()}" + ) + elif matching_rule.escalate_to_role == "hospital_admin": # Find hospital admin for this hospital escalation_target = User.objects.filter( @@ -1082,6 +1092,11 @@ def analyze_complaint_with_ai(complaint_id): elif analysis.get("title"): complaint.title = analysis["title"] + if analysis.get("brief_summary_en"): + complaint.ai_brief_en = analysis["brief_summary_en"] + if analysis.get("brief_summary_ar"): + complaint.ai_brief_ar = analysis["brief_summary_ar"] + # Get ALL staff names from analyze_complaint result (extracted by AI) staff_names = analysis.get("staff_names", []) primary_staff_name = analysis.get("primary_staff_name", "").strip() @@ -1242,6 +1257,8 @@ def analyze_complaint_with_ai(complaint_id): "complaint_type": complaint_type, "title_en": analysis.get("title_en", ""), "title_ar": analysis.get("title_ar", ""), + "brief_summary_en": analysis.get("brief_summary_en", ""), + "brief_summary_ar": analysis.get("brief_summary_ar", ""), "short_description_en": analysis.get("short_description_en", ""), "short_description_ar": analysis.get("short_description_ar", ""), # Store suggested actions as list (new format) @@ -1362,6 +1379,8 @@ def analyze_complaint_with_ai(complaint_id): "department": department_name, "title_en": analysis.get("title_en", ""), "title_ar": analysis.get("title_ar", ""), + "brief_summary_en": analysis.get("brief_summary_en", ""), + "brief_summary_ar": analysis.get("brief_summary_ar", ""), "short_description_en": analysis.get("short_description_en", ""), "short_description_ar": analysis.get("short_description_ar", ""), "suggested_action_en": analysis.get("suggested_action_en", ""), @@ -1435,6 +1454,11 @@ def send_complaint_notification(complaint_id, event_type): if complaint.department and complaint.department.manager: recipients.append(complaint.department.manager) + # Fallback: notify hospital admins/coordinators if no recipients found + if not recipients and complaint.hospital: + fallback = get_hospital_admins_and_coordinators(complaint.hospital) + recipients = list(fallback[:3]) + elif event_type == "resolved": # Notify patient recipients.append(complaint.patient) @@ -1653,89 +1677,128 @@ def check_overdue_explanation_requests(): ) continue - # Determine escalation target - manager of the staff member - if explanation.staff and explanation.staff.report_to: - manager = explanation.staff.report_to + # Ensure reminders have been sent before escalating + reminders_required = 2 if (sla_config and sla_config.second_reminder_enabled) else 1 - # Check if manager already has an active explanation request for this complaint - existing_manager_explanation = ComplaintExplanation.objects.filter( - complaint=explanation.complaint, staff=manager - ).first() - - if existing_manager_explanation and not existing_manager_explanation.is_used: - logger.info( - f"Manager {manager.get_full_name()} already has an active explanation " - f"request for complaint {explanation.complaint.id}, skipping escalation" - ) - # Mark as escalated anyway to avoid repeated checks - explanation.escalated_to_manager = existing_manager_explanation - explanation.escalated_at = now - explanation.metadata["escalation_level"] = current_level + 1 - explanation.save(update_fields=["escalated_to_manager", "escalated_at", "metadata"]) - escalated_count += 1 - continue - - if existing_manager_explanation and existing_manager_explanation.is_used: - logger.info( - f"Manager {manager.get_full_name()} already submitted an explanation " - f"for complaint {explanation.complaint.id}, skipping escalation" - ) - # Mark as escalated - explanation.escalated_to_manager = existing_manager_explanation - explanation.escalated_at = now - explanation.metadata["escalation_level"] = current_level + 1 - explanation.save(update_fields=["escalated_to_manager", "escalated_at", "metadata"]) - escalated_count += 1 - continue - - # Create new explanation request for manager with token/link - import secrets - - manager_token = secrets.token_urlsafe(32) - - # Calculate new SLA deadline for manager - sla_hours = sla_config.response_hours if sla_config else 48 - - new_explanation = ComplaintExplanation.objects.create( - complaint=explanation.complaint, - staff=manager, - token=manager_token, - explanation="", # Will be filled by manager - requested_by=explanation.requested_by, - request_message=( - f"ESCALATED: {explanation.staff.get_full_name()} did not provide an explanation " - f"within the SLA deadline ({sla_hours} hours). " - f"As their manager, please provide your explanation about this complaint." - ), - submitted_via="email_link", - sla_due_at=now + timezone.timedelta(hours=sla_hours), - email_sent_at=now, - metadata={ - "escalated_from_explanation_id": str(explanation.id), - "escalation_level": current_level + 1, - "original_staff_id": str(explanation.staff.id), - "original_staff_name": explanation.staff.get_full_name(), - "is_escalation": True, - }, + if reminders_required >= 1 and not explanation.reminder_sent_at: + logger.info( + f"Explanation {explanation.id} overdue but first reminder not sent yet, " + f"skipping escalation (reminders required: {reminders_required})" ) + continue - # Link old explanation to new one - explanation.escalated_to_manager = new_explanation + if reminders_required >= 2 and not explanation.second_reminder_sent_at: + logger.info( + f"Explanation {explanation.id} overdue but second reminder not sent yet, " + f"skipping escalation (reminders required: {reminders_required})" + ) + continue + + # Determine escalation target via fallback chain + from apps.complaints.services.complaint_service import ComplaintService + + target_user, fallback_path = ComplaintService.get_escalation_target( + explanation.complaint, staff=explanation.staff + ) + + if not target_user: + logger.warning( + f"No escalation target found for explanation {explanation.id} " + f"(staff: {explanation.staff}, fallback_path: {fallback_path})" + ) + continue + + # Find or create Staff record for the target user + from apps.organizations.models import Staff + + manager = Staff.objects.filter(user=target_user).first() + + if not manager: + logger.warning( + f"Escalation target user {target_user.id} has no Staff record, " + f"cannot create explanation request for complaint {explanation.complaint.id}" + ) + continue + + # Check if manager already has an active explanation request for this complaint + existing_manager_explanation = ComplaintExplanation.objects.filter( + complaint=explanation.complaint, staff=manager + ).first() + + if existing_manager_explanation and not existing_manager_explanation.is_used: + logger.info( + f"Manager {manager.get_full_name()} already has an active explanation " + f"request for complaint {explanation.complaint.id}, skipping escalation" + ) + explanation.escalated_to_manager = existing_manager_explanation explanation.escalated_at = now explanation.metadata["escalation_level"] = current_level + 1 + explanation.metadata["escalation_fallback_path"] = fallback_path explanation.save(update_fields=["escalated_to_manager", "escalated_at", "metadata"]) - - # Send email to manager with link - send_explanation_request_email.delay(str(new_explanation.id)) - escalated_count += 1 + continue + if existing_manager_explanation and existing_manager_explanation.is_used: logger.info( - f"Escalated explanation request {explanation.id} to manager " - f"{manager.get_full_name()} (Level {current_level + 1})" + f"Manager {manager.get_full_name()} already submitted an explanation " + f"for complaint {explanation.complaint.id}, skipping escalation" ) - else: - logger.warning(f"No escalation target for explanation {explanation.id} (staff has no report_to manager)") + explanation.escalated_to_manager = existing_manager_explanation + explanation.escalated_at = now + explanation.metadata["escalation_level"] = current_level + 1 + explanation.metadata["escalation_fallback_path"] = fallback_path + explanation.save(update_fields=["escalated_to_manager", "escalated_at", "metadata"]) + escalated_count += 1 + continue + + # Create new explanation request for manager with token/link + import secrets + + manager_token = secrets.token_urlsafe(32) + + # Calculate new SLA deadline for manager + sla_hours = sla_config.response_hours if sla_config else 48 + + new_explanation = ComplaintExplanation.objects.create( + complaint=explanation.complaint, + staff=manager, + token=manager_token, + explanation="", + requested_by=explanation.requested_by, + request_message=( + f"ESCALATED: {explanation.staff.get_full_name()} did not provide an explanation " + f"within the SLA deadline ({sla_hours} hours). " + f"As their manager, please provide your explanation about this complaint." + ), + submitted_via="email_link", + sla_due_at=now + timezone.timedelta(hours=sla_hours), + email_sent_at=now, + metadata={ + "escalated_from_explanation_id": str(explanation.id), + "escalation_level": current_level + 1, + "original_staff_id": str(explanation.staff.id), + "original_staff_name": explanation.staff.get_full_name(), + "is_escalation": True, + "escalation_fallback_path": fallback_path, + }, + ) + + # Link old explanation to new one + explanation.escalated_to_manager = new_explanation + explanation.escalated_at = now + explanation.metadata["escalation_level"] = current_level + 1 + explanation.metadata["escalation_fallback_path"] = fallback_path + explanation.save(update_fields=["escalated_to_manager", "escalated_at", "metadata"]) + + # Send email to manager with link + send_explanation_request_email.delay(str(new_explanation.id)) + + escalated_count += 1 + + logger.info( + f"Escalated explanation request {explanation.id} to {target_user.get_full_name()} " + f"(Level {current_level + 1}, path: {fallback_path})" + ) return {"overdue_count": overdue_explanations.count(), "escalated_count": escalated_count} @@ -1746,7 +1809,7 @@ def send_explanation_reminders(): Send reminder emails for explanation requests approaching deadline. Runs every hour via Celery Beat. - Sends reminder to staff if explanation not submitted and deadline approaching. + Sends first and second reminders to staff if explanation not submitted and deadline approaching. """ from apps.complaints.models import ComplaintExplanation from django.core.mail import send_mail @@ -1755,34 +1818,26 @@ def send_explanation_reminders(): now = timezone.now() - # Get explanation requests that: - # - Not submitted (is_used=False) - # - Email sent (email_sent_at is not null) - # - Haven't been reminded yet - # - Approaching deadline + # First reminders: not yet reminded explanations = ComplaintExplanation.objects.filter( is_used=False, email_sent_at__isnull=False, reminder_sent_at__isnull=True, escalated_to_manager__isnull=True ).select_related("complaint", "staff") reminder_count = 0 + second_reminder_count = 0 for explanation in explanations: - # Get SLA config sla_config = get_explanation_sla_config(explanation.complaint.hospital) reminder_hours_before = sla_config.reminder_hours_before if sla_config else 12 - # Calculate reminder threshold time reminder_time = explanation.sla_due_at - timezone.timedelta(hours=reminder_hours_before) - # Check if we should send reminder now if now >= reminder_time: - # Calculate hours remaining hours_remaining = (explanation.sla_due_at - now).total_seconds() / 3600 if hours_remaining < 0: - continue # Already overdue, will be handled by check_overdue_explanation_requests + continue - # Prepare email context context = { "explanation": explanation, "complaint": explanation.complaint, @@ -1795,11 +1850,9 @@ def send_explanation_reminders(): subject = f"Reminder: Explanation Request - Complaint #{str(explanation.complaint.id)[:8]}" try: - # Render email templates message_en = render_to_string("complaints/emails/explanation_reminder_en.txt", context) message_ar = render_to_string("complaints/emails/explanation_reminder_ar.txt", context) - # Send email send_mail( subject=subject, message=f"{message_en}\n\n{message_ar}", @@ -1808,14 +1861,13 @@ def send_explanation_reminders(): fail_silently=False, ) - # Update explanation explanation.reminder_sent_at = now explanation.save(update_fields=["reminder_sent_at"]) reminder_count += 1 logger.info( - f"Explanation reminder sent to {explanation.staff.get_full_name()} " + f"First explanation reminder sent to {explanation.staff.get_full_name()} " f"for complaint {explanation.complaint_id} " f"({int(hours_remaining)} hours remaining)" ) @@ -1823,7 +1875,69 @@ def send_explanation_reminders(): except Exception as e: logger.error(f"Failed to send explanation reminder for {explanation.id}: {str(e)}") - return {"status": "completed", "reminders_sent": reminder_count} + # Second reminders: first reminder sent, second not yet sent + second_reminder_explanations = ComplaintExplanation.objects.filter( + is_used=False, + email_sent_at__isnull=False, + reminder_sent_at__isnull=False, + second_reminder_sent_at__isnull=True, + escalated_to_manager__isnull=True, + ).select_related("complaint", "staff") + + for explanation in second_reminder_explanations: + sla_config = get_explanation_sla_config(explanation.complaint.hospital) + + if not sla_config or not sla_config.second_reminder_enabled: + continue + + second_reminder_hours_before = sla_config.second_reminder_hours_before + + second_reminder_time = explanation.sla_due_at - timezone.timedelta(hours=second_reminder_hours_before) + + if now >= second_reminder_time: + hours_remaining = (explanation.sla_due_at - now).total_seconds() / 3600 + + if hours_remaining < 0: + continue + + context = { + "explanation": explanation, + "complaint": explanation.complaint, + "staff": explanation.staff, + "hours_remaining": int(hours_remaining), + "due_date": explanation.sla_due_at, + "site_url": settings.SITE_URL if hasattr(settings, "SITE_URL") else "http://localhost:8000", + } + + subject = f"URGENT - Final Reminder: Explanation Request - Complaint #{str(explanation.complaint.id)[:8]}" + + try: + message_en = render_to_string("complaints/emails/explanation_second_reminder_en.txt", context) + message_ar = render_to_string("complaints/emails/explanation_second_reminder_ar.txt", context) + + send_mail( + subject=subject, + message=f"{message_en}\n\n{message_ar}", + from_email=settings.DEFAULT_FROM_EMAIL, + recipient_list=[explanation.staff.email], + fail_silently=False, + ) + + explanation.second_reminder_sent_at = now + explanation.save(update_fields=["second_reminder_sent_at"]) + + second_reminder_count += 1 + + logger.info( + f"Second explanation reminder sent to {explanation.staff.get_full_name()} " + f"for complaint {explanation.complaint_id} " + f"({int(hours_remaining)} hours remaining)" + ) + + except Exception as e: + logger.error(f"Failed to send second explanation reminder for {explanation.id}: {str(e)}") + + return {"status": "completed", "reminders_sent": reminder_count, "second_reminders_sent": second_reminder_count} def get_hospital_admins_and_coordinators(hospital): @@ -2572,3 +2686,108 @@ This is an automated notification from the PX 360 system. error_msg = f"Error notifying admins for complaint {complaint_id}: {str(e)}" logger.error(error_msg, exc_info=True) return {"status": "error", "reason": error_msg} + + +@shared_task +def check_overdue_inquiries(): + """ + Periodic task to check for overdue inquiries. + + Runs every 15 minutes (configured in config/celery.py). + Updates is_overdue flag and sets breached_at for inquiries past their SLA deadline. + """ + from apps.complaints.models import Inquiry + + active_statuses = ["open", "in_progress"] + active_inquiries = Inquiry.objects.filter( + status__in=active_statuses, + due_at__isnull=False, + ).select_related("hospital", "department") + + overdue_count = 0 + + for inquiry in active_inquiries: + if inquiry.check_overdue(): + overdue_count += 1 + logger.warning(f"Inquiry {inquiry.id} is overdue: {inquiry.subject} (due: {inquiry.due_at})") + + if overdue_count > 0: + logger.info(f"Found {overdue_count} overdue inquiries") + + return {"overdue_count": overdue_count} + + +@shared_task +def send_inquiry_sla_reminders(): + """ + Periodic task to send SLA reminder emails for inquiries approaching deadline. + + Runs every hour (configured in config/celery.py). + """ + from apps.complaints.models import Inquiry, InquirySLAConfig + from apps.notifications.services import NotificationService + + now = timezone.now() + active_statuses = ["open", "in_progress"] + + active_inquiries = Inquiry.objects.filter( + status__in=active_statuses, + due_at__isnull=False, + is_overdue=False, + ).select_related("hospital", "assigned_to") + + first_reminder_count = 0 + second_reminder_count = 0 + + for inquiry in active_inquiries: + config = inquiry.get_sla_config() + if not config: + continue + + first_reminder_hours = config.get_first_reminder_hours_after() + second_reminder_hours = config.get_second_reminder_hours_after() + + hours_until_due = (inquiry.due_at - now).total_seconds() / 3600 + + if first_reminder_hours > 0 and inquiry.reminder_sent_at is None: + hours_since_creation = (now - inquiry.created_at).total_seconds() / 3600 + if hours_since_creation >= first_reminder_hours: + if inquiry.assigned_to and inquiry.assigned_to.email: + try: + NotificationService.send_email( + email=inquiry.assigned_to.email, + subject=f"SLA Reminder - Inquiry #{inquiry.id}", + message=f"Inquiry '{inquiry.subject}' is due at {inquiry.due_at}. Please take action.", + related_object=inquiry, + ) + inquiry.reminder_sent_at = now + inquiry.save(update_fields=["reminder_sent_at"]) + first_reminder_count += 1 + except Exception as e: + logger.error(f"Failed to send inquiry reminder: {e}") + + if second_reminder_hours > 0 and inquiry.second_reminder_sent_at is None: + hours_since_creation = (now - inquiry.created_at).total_seconds() / 3600 + if hours_since_creation >= second_reminder_hours: + if inquiry.assigned_to and inquiry.assigned_to.email: + try: + NotificationService.send_email( + email=inquiry.assigned_to.email, + subject=f"URGENT: SLA Reminder - Inquiry #{inquiry.id}", + message=f"Inquiry '{inquiry.subject}' is due at {inquiry.due_at}. URGENT action required.", + related_object=inquiry, + ) + inquiry.second_reminder_sent_at = now + inquiry.save(update_fields=["second_reminder_sent_at"]) + second_reminder_count += 1 + except Exception as e: + logger.error(f"Failed to send second inquiry reminder: {e}") + + logger.info( + f"Sent {first_reminder_count} first reminders and {second_reminder_count} second reminders for inquiries" + ) + + return { + "first_reminder_count": first_reminder_count, + "second_reminder_count": second_reminder_count, + } diff --git a/apps/complaints/ui_views.py b/apps/complaints/ui_views.py index b926bf2..5339fc4 100644 --- a/apps/complaints/ui_views.py +++ b/apps/complaints/ui_views.py @@ -16,7 +16,7 @@ from django.views.decorators.http import require_http_methods from apps.accounts.models import User from apps.core.services import AuditService -from apps.core.decorators import hospital_admin_required, block_source_user +from apps.core.decorators import hospital_admin_required, block_source_user, px_admin_required from apps.organizations.models import Department, Hospital, Staff from apps.px_sources.models import SourceUser, PXSource @@ -35,6 +35,7 @@ from .models import ( ComplaintAdverseAction, ComplaintAdverseActionAttachment, ) +from .services.complaint_service import ComplaintService, ComplaintServiceError from .forms import ( ComplaintInvolvedDepartmentForm, ComplaintInvolvedStaffForm, @@ -47,35 +48,7 @@ logger = logging.getLogger(__name__) def can_manage_complaint(user, complaint): - """ - Check if user can manage a complaint. - - Returns True if: - - User is PX Admin - - User is Hospital Admin for complaint's hospital - - User is Department Manager for complaint's department - - User is assigned to the complaint - - User is assigned to one of the involved departments - """ - if user.is_px_admin(): - return True - - if user.is_hospital_admin() and user.hospital == complaint.hospital: - return True - - if user.is_department_manager() and user.department == complaint.department: - return True - - if complaint.assigned_to == user: - return True - - # Check if user is assigned to any involved department - if hasattr(complaint, "involved_departments"): - for involved in complaint.involved_departments.all(): - if involved.assigned_to == user: - return True - - return False + return ComplaintService.can_manage(user, complaint) @login_required @@ -496,6 +469,12 @@ def complaint_detail(request, pk): "default_escalation_target": default_escalation_target, "current_user": user, "adverse_actions": adverse_actions, + "show_delay_reason_closure": ( + complaint.delay_reason_closure + or complaint.is_overdue + or (timezone.now() - complaint.created_at).total_seconds() / 3600 > 72 + or complaint.status in ("closed", "resolved") + ), } return render(request, "complaints/complaint_detail.html", context) @@ -552,7 +531,7 @@ def complaint_create(request): source_obj = PXSource.objects.get(code="staff") except PXSource.DoesNotExist: source_obj = PXSource.objects.create( - code="staff", name="Staff", description="Complaints submitted by staff members" + code="staff", name_en="Staff", description="Complaints submitted by staff members" ) complaint.source = source_obj @@ -570,40 +549,7 @@ def complaint_create(request): complaint.save() - # Create initial update - ComplaintUpdate.objects.create( - complaint=complaint, - update_type="note", - message="Complaint created. AI analysis running in background.", - created_by=request.user, - ) - - # Trigger AI analysis in background using Celery - from .tasks import analyze_complaint_with_ai - - analyze_complaint_with_ai.delay(str(complaint.id)) - - # Notify PX Admins about new complaint - # During working hours: ALL admins notified - # Outside working hours: Only ON-CALL admins notified - from .tasks import notify_admins_new_complaint - - notify_admins_new_complaint.delay(str(complaint.id)) - - # Log audit - AuditService.log_event( - event_type="complaint_created", - description=f"Complaint created: {complaint.title}", - user=request.user, - content_object=complaint, - metadata={ - "severity": complaint.severity, - "patient_name": complaint.patient_name, - "national_id": complaint.national_id, - "hospital": complaint.hospital.name if complaint.hospital else None, - "ai_analysis_pending": True, - }, - ) + ComplaintService.post_create_hooks(complaint, request.user, request=request) messages.success( request, @@ -640,20 +586,6 @@ def complaint_assign(request, pk): """Assign complaint to user - Admin only""" complaint = get_object_or_404(Complaint, pk=pk) - # Check if complaint is in active status - if not complaint.is_active_status: - messages.error( - request, - f"Cannot assign complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved.", - ) - return redirect("complaints:complaint_detail", pk=pk) - - # Check permission - user = request.user - if not (user.is_px_admin() or user.is_hospital_admin()): - messages.error(request, "You don't have permission to assign complaints.") - return redirect("complaints:complaint_detail", pk=pk) - user_id = request.POST.get("user_id") if not user_id: messages.error(request, "Please select a user to assign.") @@ -661,31 +593,15 @@ def complaint_assign(request, pk): try: assignee = User.objects.get(id=user_id) - complaint.assigned_to = assignee - complaint.assigned_at = timezone.now() - complaint.save(update_fields=["assigned_to", "assigned_at"]) - - # Create update - ComplaintUpdate.objects.create( - complaint=complaint, - update_type="assignment", - message=f"Assigned to {assignee.get_full_name()}", - created_by=request.user, - ) - - # Log audit - AuditService.log_event( - event_type="assignment", - description=f"Complaint assigned to {assignee.get_full_name()}", - user=request.user, - content_object=complaint, - ) - - messages.success(request, f"Complaint assigned to {assignee.get_full_name()}.") - + ComplaintService.assign(complaint, assignee, request.user, request=request) except User.DoesNotExist: messages.error(request, "User not found.") + return redirect("complaints:complaint_detail", pk=pk) + except ComplaintServiceError as e: + messages.error(request, str(e)) + return redirect("complaints:complaint_detail", pk=pk) + messages.success(request, f"Complaint assigned to {assignee.get_full_name()}.") return redirect("complaints:complaint_detail", pk=pk) @@ -695,69 +611,105 @@ def complaint_change_status(request, pk): """Change complaint status""" complaint = get_object_or_404(Complaint, pk=pk) - # Check permission - user = request.user - if not (user.is_px_admin() or user.is_hospital_admin()): - messages.error(request, "You don't have permission to change complaint status.") - return redirect("complaints:complaint_detail", pk=pk) - new_status = request.POST.get("status") note = request.POST.get("note", "") resolution = request.POST.get("resolution", "") resolution_outcome = request.POST.get("resolution_outcome", "") resolution_outcome_other = request.POST.get("resolution_outcome_other", "") - if not new_status: - messages.error(request, "Please select a status.") + try: + ComplaintService.change_status( + complaint, + new_status, + request.user, + request=request, + note=note, + resolution=resolution, + resolution_outcome=resolution_outcome, + resolution_outcome_other=resolution_outcome_other, + ) + except ComplaintServiceError as e: + messages.error(request, str(e)) return redirect("complaints:complaint_detail", pk=pk) - old_status = complaint.status - complaint.status = new_status + messages.success(request, f"Complaint status changed to {new_status}.") + return redirect("complaints:complaint_detail", pk=pk) - # Handle status-specific logic - if new_status == ComplaintStatus.RESOLVED: - complaint.resolved_at = timezone.now() - complaint.resolved_by = request.user - # Save resolution note if provided - if resolution: - complaint.resolution = resolution - complaint.resolution_sent_at = timezone.now() - # Save resolution outcome - if resolution_outcome: - complaint.resolution_outcome = resolution_outcome - if resolution_outcome == "other" and resolution_outcome_other: - complaint.resolution_outcome_other = resolution_outcome_other - elif new_status == ComplaintStatus.CLOSED: - complaint.closed_at = timezone.now() - complaint.closed_by = request.user - # Trigger resolution satisfaction survey - from apps.complaints.tasks import send_complaint_resolution_survey +@login_required +@require_http_methods(["POST"]) +def update_explanation_delay_reason(request, pk): + complaint = get_object_or_404(Complaint, pk=pk) - send_complaint_resolution_survey.delay(str(complaint.id)) + if not can_manage_complaint(request.user, complaint): + messages.error(request, "You don't have permission to update this complaint.") + return redirect("complaints:complaint_detail", pk=pk) - complaint.save() + reason = request.POST.get("explanation_delay_reason", "") + old_reason = complaint.explanation_delay_reason + complaint.explanation_delay_reason = reason + complaint.save(update_fields=["explanation_delay_reason", "updated_at"]) - # Create update ComplaintUpdate.objects.create( complaint=complaint, - update_type="status_change", - message=note or f"Status changed from {old_status} to {new_status}", + update_type="note", + message=f"Explanation delay reason updated: {reason}" if reason else "Explanation delay reason cleared", created_by=request.user, - old_status=old_status, - new_status=new_status, ) - # Log audit AuditService.log_event( - event_type="status_change", - description=f"Complaint status changed from {old_status} to {new_status}", + event_type="update", + description="Explanation delay reason updated", user=request.user, content_object=complaint, - metadata={"old_status": old_status, "new_status": new_status}, + metadata={"old_value": old_reason, "new_value": reason}, ) - messages.success(request, f"Complaint status changed to {new_status}.") + messages.success(request, "Explanation delay reason updated.") + return redirect("complaints:complaint_detail", pk=pk) + + +@login_required +@require_http_methods(["POST"]) +def update_delay_reason_closure(request, pk): + complaint = get_object_or_404(Complaint, pk=pk) + + if not can_manage_complaint(request.user, complaint): + messages.error(request, "You don't have permission to update this complaint.") + return redirect("complaints:complaint_detail", pk=pk) + + if complaint.status in ("closed", "resolved"): + messages.error(request, "Cannot update delay reason for closed/resolved complaints.") + return redirect("complaints:complaint_detail", pk=pk) + + from django.utils import timezone + + hours_since_creation = (timezone.now() - complaint.created_at).total_seconds() / 3600 + if not complaint.is_overdue and hours_since_creation < 72: + messages.error(request, "Delay reason can only be set when complaint is overdue or past 72 hours.") + return redirect("complaints:complaint_detail", pk=pk) + + reason = request.POST.get("delay_reason_closure", "") + old_reason = complaint.delay_reason_closure + complaint.delay_reason_closure = reason + complaint.save(update_fields=["delay_reason_closure", "updated_at"]) + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="note", + message=f"Closure delay reason updated: {reason}" if reason else "Closure delay reason cleared", + created_by=request.user, + ) + + AuditService.log_event( + event_type="update", + description="Closure delay reason updated", + user=request.user, + content_object=complaint, + metadata={"old_value": old_reason, "new_value": reason}, + ) + + messages.success(request, "Closure delay reason updated.") return redirect("complaints:complaint_detail", pk=pk) @@ -766,22 +718,13 @@ def complaint_change_status(request, pk): def complaint_add_note(request, pk): """Add note to complaint""" complaint = get_object_or_404(Complaint, pk=pk) - - # Check if complaint is in active status - if not complaint.is_active_status: - messages.error( - request, - f"Cannot add notes to complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved.", - ) - return redirect("complaints:complaint_detail", pk=pk) - note = request.POST.get("note") - if not note: - messages.error(request, "Please enter a note.") - return redirect("complaints:complaint_detail", pk=pk) - # Create update - ComplaintUpdate.objects.create(complaint=complaint, update_type="note", message=note, created_by=request.user) + try: + ComplaintService.add_note(complaint, note, request.user, request=request) + except ComplaintServiceError as e: + messages.error(request, str(e)) + return redirect("complaints:complaint_detail", pk=pk) messages.success(request, "Note added successfully.") return redirect("complaints:complaint_detail", pk=pk) @@ -793,20 +736,6 @@ def complaint_change_department(request, pk): """Change complaint department""" complaint = get_object_or_404(Complaint, pk=pk) - # Check if complaint is in active status - if not complaint.is_active_status: - messages.error( - request, - f"Cannot change department for complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved.", - ) - return redirect("complaints:complaint_detail", pk=pk) - - # Check permission - user = request.user - if not (user.is_px_admin() or user.is_hospital_admin()): - messages.error(request, "You don't have permission to change complaint department.") - return redirect("complaints:complaint_detail", pk=pk) - department_id = request.POST.get("department_id") if not department_id: messages.error(request, "Please select a department.") @@ -814,45 +743,15 @@ def complaint_change_department(request, pk): try: department = Department.objects.get(id=department_id) - - # Check department belongs to same hospital - if department.hospital != complaint.hospital: - messages.error(request, "Department does not belong to this complaint's hospital.") - return redirect("complaints:complaint_detail", pk=pk) - - old_department = complaint.department - complaint.department = department - complaint.save(update_fields=["department"]) - - # Create update - ComplaintUpdate.objects.create( - complaint=complaint, - update_type="assignment", - message=f"Department changed to {department.name}", - created_by=request.user, - metadata={ - "old_department_id": str(old_department.id) if old_department else None, - "new_department_id": str(department.id), - }, - ) - - # Log audit - AuditService.log_event( - event_type="department_change", - description=f"Complaint department changed to {department.name}", - user=request.user, - content_object=complaint, - metadata={ - "old_department_id": str(old_department.id) if old_department else None, - "new_department_id": str(department.id), - }, - ) - - messages.success(request, f"Department changed to {department.name}.") - + ComplaintService.change_department(complaint, department, request.user, request=request) except Department.DoesNotExist: messages.error(request, "Department not found.") + return redirect("complaints:complaint_detail", pk=pk) + except ComplaintServiceError as e: + messages.error(request, str(e)) + return redirect("complaints:complaint_detail", pk=pk) + messages.success(request, f"Department changed to {department.name}.") return redirect("complaints:complaint_detail", pk=pk) @@ -897,6 +796,15 @@ def complaint_escalate(request, pk): if escalate_to_staff.user and escalate_to_staff.user.is_active: escalate_to_user = escalate_to_staff.user + # Fallback: use escalation target resolver if still no target + if not escalate_to_user: + from apps.complaints.services.complaint_service import ComplaintService + + fallback_user, fallback_path = ComplaintService.get_escalation_target(complaint, staff=complaint.staff) + if fallback_user: + escalate_to_user = fallback_user + reason += f" [fallback via {fallback_path}]" + # Mark as escalated and assign to selected user complaint.escalated_at = timezone.now() if escalate_to_user: @@ -984,84 +892,16 @@ This is an automated message from PX360 Complaint Management System. @login_required @require_http_methods(["POST"]) def complaint_activate(request, pk): - """ - Activate complaint and assign to current user. - - This allows a user to take ownership of an unassigned complaint - or reassign it to themselves. - """ + """Activate complaint and assign to current user.""" complaint = get_object_or_404(Complaint, pk=pk) - # Check if complaint is in active status - if not complaint.is_active_status: - messages.error( - request, - f"Cannot activate complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved.", - ) + try: + ComplaintService.activate(complaint, request.user, request=request) + except ComplaintServiceError as e: + messages.error(request, str(e)) return redirect("complaints:complaint_detail", pk=pk) - # Check permission - must be able to edit the complaint - user = request.user - can_activate = ( - user.is_px_admin() - or user.is_hospital_admin() - or (user.is_department_manager() and complaint.department == user.department) - or (complaint.hospital == user.hospital) - ) - - if not can_activate: - messages.error(request, "You don't have permission to activate this complaint.") - return redirect("complaints:complaint_detail", pk=pk) - - # Store previous assignee for logging - previous_assignee = complaint.assigned_to - - # Assign to current user - complaint.assigned_to = user - complaint.assigned_at = timezone.now() - - # Set activated_at if this is the first activation (status is OPEN) - if complaint.status == ComplaintStatus.OPEN: - complaint.status = ComplaintStatus.IN_PROGRESS - complaint.activated_at = timezone.now() - complaint.save(update_fields=["assigned_to", "assigned_at", "status", "activated_at"]) - else: - complaint.save(update_fields=["assigned_to", "assigned_at"]) - - # Create update - assign_message = f"Complaint activated and assigned to {user.get_full_name()}" - if previous_assignee: - assign_message += f" (reassigned from {previous_assignee.get_full_name()})" - - ComplaintUpdate.objects.create( - complaint=complaint, - update_type="assignment", - message=assign_message, - created_by=user, - metadata={ - "assigned_to_user_id": str(user.id), - "assigned_to_user_name": user.get_full_name(), - "previous_assignee_id": str(previous_assignee.id) if previous_assignee else None, - "previous_assignee_name": previous_assignee.get_full_name() if previous_assignee else None, - "activation": True, - }, - ) - - # Log audit - AuditService.log_event( - event_type="activation", - description=f"Complaint activated and assigned to {user.get_full_name()}", - user=user, - content_object=complaint, - metadata={ - "assigned_to_user_id": str(user.id), - "assigned_to_user_name": user.get_full_name(), - "previous_assignee_id": str(previous_assignee.id) if previous_assignee else None, - "previous_assignee_name": previous_assignee.get_full_name() if previous_assignee else None, - }, - ) - - messages.success(request, f"Complaint activated and assigned to you successfully.") + messages.success(request, "Complaint activated and assigned to you successfully.") return redirect("complaints:complaint_detail", pk=pk) @@ -1183,6 +1023,116 @@ def complaint_export_excel(request): return export_complaints_excel(queryset, request.GET.dict()) +@login_required +def complaint_export_monthly_calculations(request): + """ + Step 1 — Export monthly calculations report to Excel. + """ + from apps.complaints.utils import export_monthly_calculations + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied("Only PX Admins and Hospital Admins can export.") + + year = request.GET.get("year") + month = request.GET.get("month") + if not year or not month: + from django.contrib import messages + + messages.error(request, "Year and month are required for monthly calculations export.") + return redirect("complaints:complaint_list") + + queryset = Complaint.objects.filter( + created_at__year=int(year), + created_at__month=int(month), + ) + + if request.user.is_hospital_admin() and request.user.hospital: + queryset = queryset.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + queryset = queryset.filter(hospital=request.tenant_hospital) + + queryset = queryset.select_related( + "hospital", + "department", + "main_section", + "subsection", + "assigned_to", + "resolved_by", + "closed_by", + "created_by", + "source", + ).prefetch_related("involved_departments__department") + + return export_monthly_calculations(queryset, int(year), int(month)) + + +@login_required +def complaint_export_quarterly_calculations(request): + """ + Step 2 — Export quarterly calculations report to Excel. + """ + from apps.complaints.utils import export_quarterly_calculations + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied("Only PX Admins and Hospital Admins can export.") + + year = request.GET.get("year") + quarter = request.GET.get("quarter") + if not year or not quarter: + from django.contrib import messages + + messages.error(request, "Year and quarter are required.") + return redirect("complaints:complaint_list") + + year, quarter = int(year), int(quarter) + quarter_months = {1: (1, 3), 2: (4, 6), 3: (7, 9), 4: (10, 12)} + start_month, end_month = quarter_months[quarter] + + queryset = Complaint.objects.filter( + created_at__year=year, + created_at__month__gte=start_month, + created_at__month__lte=end_month, + ) + + if request.user.is_hospital_admin() and request.user.hospital: + queryset = queryset.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + queryset = queryset.filter(hospital=request.tenant_hospital) + + return export_quarterly_calculations(queryset, year, quarter) + + +@login_required +def complaint_export_yearly_calculations(request): + """ + Export yearly calculations report to Excel. + """ + from apps.complaints.utils import export_yearly_calculations + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied("Only PX Admins and Hospital Admins can export.") + + year = request.GET.get("year") + if not year: + from django.contrib import messages + + messages.error(request, "Year is required.") + return redirect("complaints:complaint_list") + + year = int(year) + queryset = Complaint.objects.filter(created_at__year=year) + + if request.user.is_hospital_admin() and request.user.hospital: + queryset = queryset.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + queryset = queryset.filter(hospital=request.tenant_hospital) + + return export_yearly_calculations(queryset, year) + + @hospital_admin_required @require_http_methods(["POST"]) def complaint_bulk_assign(request): @@ -1727,9 +1677,44 @@ def inquiry_respond(request, pk): return redirect("complaints:inquiry_detail", pk=pk) -# ============================================================================ -# ANALYTICS VIEWS -# ============================================================================ +@login_required +def inquiry_export_incoming(request): + """Export incoming inquiries report.""" + from .utils import export_inquiries_report + + year = request.GET.get("year") + month = request.GET.get("month") + if not year or not month: + messages.error(request, "Year and month are required.") + return redirect("complaints:inquiry_list") + + queryset = Inquiry.objects.filter(created_at__year=int(year), created_at__month=int(month), is_outgoing=False) + if request.user.is_hospital_admin() and request.user.hospital: + queryset = queryset.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + queryset = queryset.filter(hospital=request.tenant_hospital) + + return export_inquiries_report(queryset, int(year), int(month), is_outgoing=False) + + +@login_required +def inquiry_export_outgoing(request): + """Export outgoing inquiries report.""" + from .utils import export_inquiries_report + + year = request.GET.get("year") + month = request.GET.get("month") + if not year or not month: + messages.error(request, "Year and month are required.") + return redirect("complaints:inquiry_list") + + queryset = Inquiry.objects.filter(created_at__year=int(year), created_at__month=int(month), is_outgoing=True) + if request.user.is_hospital_admin() and request.user.hospital: + queryset = queryset.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + queryset = queryset.filter(hospital=request.tenant_hospital) + + return export_inquiries_report(queryset, int(year), int(month), is_outgoing=True) @login_required @@ -2382,6 +2367,215 @@ def sla_config_delete(request, pk): return redirect("complaints:sla_config_list") +@px_admin_required +@login_required +def sla_management(request): + """ + PX Admin-only SLA management page. + + Automatically uses the hospital from session (selected after login). + Provides a clean interface to manage complaint SLA configurations. + """ + from .models import ComplaintSLAConfig + from apps.organizations.models import Hospital + + # Get hospital from session (set after login) + hospital_id = request.session.get("selected_hospital_id") + + if not hospital_id: + messages.error(request, "Please select a hospital first.") + return redirect("core:select_hospital") + + # Get the hospital + try: + hospital = Hospital.objects.get(id=hospital_id) + except Hospital.DoesNotExist: + messages.error(request, "Selected hospital not found.") + return redirect("core:select_hospital") + + # Get all SLA configs for this hospital + sla_configs = ( + ComplaintSLAConfig.objects.filter(hospital=hospital, is_active=True) + .select_related("source") + .order_by("source", "severity", "priority") + ) + + # Group configs by type + source_based_configs = sla_configs.filter(source__isnull=False) + severity_based_configs = sla_configs.filter(source__isnull=True) + + context = { + "hospital": hospital, + "source_based_configs": source_based_configs, + "severity_based_configs": severity_based_configs, + "total_configs": sla_configs.count(), + } + + return render(request, "complaints/sla_management.html", context) + + +@px_admin_required +@login_required +@require_http_methods(["GET", "POST"]) +def sla_management_create(request): + """ + PX Admin-only: Create new SLA configuration for selected hospital. + """ + from .models import ComplaintSLAConfig + from .forms import SLAConfigForm + from apps.organizations.models import Hospital + + # Get hospital from session + hospital_id = request.session.get("selected_hospital_id") + + if not hospital_id: + messages.error(request, "Please select a hospital first.") + return redirect("core:select_hospital") + + try: + hospital = Hospital.objects.get(id=hospital_id) + except Hospital.DoesNotExist: + messages.error(request, "Selected hospital not found.") + return redirect("core:select_hospital") + + if request.method == "POST": + form = SLAConfigForm(request.POST, request=request) + + if form.is_valid(): + # Force hospital to session hospital + sla_config = form.save(commit=False) + sla_config.hospital = hospital + sla_config.save() + + # Log audit + AuditService.log_event( + event_type="sla_config_created", + description=f"SLA configuration created: {sla_config}", + user=request.user, + content_object=sla_config, + metadata={ + "hospital": str(sla_config.hospital), + "severity": sla_config.severity, + "priority": sla_config.priority, + "sla_hours": sla_config.sla_hours, + }, + ) + + messages.success(request, "SLA configuration created successfully.") + return redirect("complaints:sla_management") + else: + messages.error(request, "Please correct the errors below.") + else: + form = SLAConfigForm(request=request) + # Pre-select hospital (hidden field) + form.fields["hospital"].initial = hospital.id + + context = { + "form": form, + "hospital": hospital, + "title": "Create SLA Configuration", + "action": "Create", + } + + return render(request, "complaints/sla_management_form.html", context) + + +@px_admin_required +@login_required +@require_http_methods(["GET", "POST"]) +def sla_management_edit(request, pk): + """ + PX Admin-only: Edit SLA configuration for selected hospital. + """ + from .models import ComplaintSLAConfig + from .forms import SLAConfigForm + from apps.organizations.models import Hospital + + # Get hospital from session + hospital_id = request.session.get("selected_hospital_id") + + if not hospital_id: + messages.error(request, "Please select a hospital first.") + return redirect("core:select_hospital") + + try: + hospital = Hospital.objects.get(id=hospital_id) + except Hospital.DoesNotExist: + messages.error(request, "Selected hospital not found.") + return redirect("core:select_hospital") + + sla_config = get_object_or_404(ComplaintSLAConfig, pk=pk) + + if request.method == "POST": + form = SLAConfigForm(request.POST, request=request, instance=sla_config) + + if form.is_valid(): + sla_config = form.save() + + # Log audit + AuditService.log_event( + event_type="sla_config_updated", + description=f"SLA configuration updated: {sla_config}", + user=request.user, + content_object=sla_config, + metadata={ + "hospital": str(sla_config.hospital), + "severity": sla_config.severity, + "priority": sla_config.priority, + "sla_hours": sla_config.sla_hours, + }, + ) + + messages.success(request, "SLA configuration updated successfully.") + return redirect("complaints:sla_management") + else: + messages.error(request, "Please correct the errors below.") + else: + form = SLAConfigForm(request=request, instance=sla_config) + + context = { + "form": form, + "sla_config": sla_config, + "hospital": hospital, + "title": "Edit SLA Configuration", + "action": "Update", + } + + return render(request, "complaints/sla_management_form.html", context) + + +@px_admin_required +@login_required +@require_http_methods(["POST"]) +def sla_management_toggle(request, pk): + """ + PX Admin-only: Toggle SLA configuration active/inactive status. + """ + from .models import ComplaintSLAConfig + + sla_config = get_object_or_404(ComplaintSLAConfig, pk=pk) + + # Toggle status + sla_config.is_active = not sla_config.is_active + sla_config.save() + + # Log audit + AuditService.log_event( + event_type="sla_config_toggled", + description=f"SLA configuration {'activated' if sla_config.is_active else 'deactivated'}: {sla_config}", + user=request.user, + content_object=sla_config, + metadata={ + "hospital": str(sla_config.hospital), + "is_active": sla_config.is_active, + }, + ) + + status_text = "activated" if sla_config.is_active else "deactivated" + messages.success(request, f"SLA configuration {status_text} successfully.") + return redirect("complaints:sla_management") + + @login_required def escalation_rule_list(request): """ @@ -3587,3 +3781,136 @@ def adverse_action_delete(request, pk): messages.error(request, f"Error deleting: {str(e)}") return redirect("complaints:complaint_detail", pk=complaint.id) + + +def patient_complaint_portal(request, token): + """Hospital selection page - first step of patient complaint flow.""" + from apps.complaints.models import PatientComplaintSession + from apps.integrations.models import HISPatientVisit + from django.http import Http404 + from django.db.models import Count + + try: + session = PatientComplaintSession.objects.get(token=token, is_active=True) + except PatientComplaintSession.DoesNotExist: + raise Http404("Invalid or expired link") + + if session.is_expired(): + return render(request, "complaints/patient_complaint_expired.html") + + patient = session.patient + + hospitals = ( + HISPatientVisit.objects.filter(patient=patient) + .values("hospital__id", "hospital__name", "hospital__name_ar") + .annotate(visit_count=Count("id")) + .order_by("-visit_count") + ) + + context = { + "patient": patient, + "session": session, + "hospitals": hospitals, + } + return render(request, "complaints/patient_complaint_portal.html", context) + + +def patient_complaint_hospital_visits(request, token, hospital_id): + """Visit list for a selected hospital - second step.""" + from apps.complaints.models import PatientComplaintSession + from apps.integrations.models import HISPatientVisit + from django.http import Http404 + + try: + session = PatientComplaintSession.objects.get(token=token, is_active=True) + except PatientComplaintSession.DoesNotExist: + raise Http404("Invalid or expired link") + + if session.is_expired(): + return render(request, "complaints/patient_complaint_expired.html") + + patient = session.patient + + visits = HISPatientVisit.objects.filter(patient=patient, hospital_id=hospital_id).order_by("-admit_date")[:50] + + hospital = None + if visits: + hospital = visits[0].hospital + + context = { + "patient": patient, + "session": session, + "hospital": hospital, + "visits": visits, + } + return render(request, "complaints/patient_complaint_visits.html", context) + + +def patient_complaint_visit_form(request, token, visit_id): + """Complaint form for a selected visit - third step.""" + from apps.complaints.models import PatientComplaintSession, Complaint + from apps.integrations.models import HISPatientVisit + from django.http import Http404 + + try: + session = PatientComplaintSession.objects.get(token=token, is_active=True) + except PatientComplaintSession.DoesNotExist: + raise Http404("Invalid or expired link") + + if session.is_expired(): + return render(request, "complaints/patient_complaint_expired.html") + + patient = session.patient + visit = get_object_or_404(HISPatientVisit, id=visit_id, patient=patient) + + if request.method == "POST": + description = request.POST.get("description", "").strip() + if not description: + return render( + request, + "complaints/patient_complaint_visit_form.html", + { + "patient": patient, + "session": session, + "visit": visit, + "error": "Please enter a description of your complaint.", + }, + ) + + title = f"Complaint - {visit.patient_type} Visit ({visit.admission_id})" + complaint = Complaint.objects.create( + patient=patient, + hospital=visit.hospital, + title=title, + description=description, + encounter_id=visit.admission_id, + complaint_source_type="external", + priority="medium", + severity="medium", + status="open", + metadata={ + "session_id": str(session.id), + "visit_id": str(visit.id), + "visit_type": visit.patient_type, + "submitted_via": "patient_link", + }, + ) + + session.is_active = False + session.save() + + return render( + request, + "complaints/patient_complaint_success.html", + { + "complaint": complaint, + "patient": patient, + }, + ) + + context = { + "patient": patient, + "session": session, + "visit": visit, + } + return render(request, "complaints/patient_complaint_visit_form.html", context) diff --git a/apps/complaints/ui_views_explanation.py b/apps/complaints/ui_views_explanation.py index 389dbcc..a37b0a1 100644 --- a/apps/complaints/ui_views_explanation.py +++ b/apps/complaints/ui_views_explanation.py @@ -1,6 +1,7 @@ """ Explanation request UI views for complaints. """ + from django.contrib import messages from django.contrib.auth.decorators import login_required from django.http import HttpResponseForbidden @@ -13,7 +14,8 @@ from apps.core.services import AuditService from apps.notifications.services import NotificationService from apps.organizations.models import Staff -from .models import Complaint, ComplaintExplanation +from .models import Complaint, ComplaintExplanation, ComplaintStatus +from .services.complaint_service import ComplaintService, ComplaintServiceError @login_required @@ -21,333 +23,142 @@ from .models import Complaint, ComplaintExplanation def request_explanation_form(request, pk): """ Form to request explanations from involved staff members. - + Shows all involved staff with their managers and departments. All staff and managers are selected by default. """ complaint = get_object_or_404( Complaint.objects.prefetch_related( - 'involved_staff__staff__department', - 'involved_staff__staff__report_to', + "involved_staff__staff__department", + "involved_staff__staff__report_to", ), - pk=pk + pk=pk, ) - + # Check permissions user = request.user can_request = ( - user.is_px_admin() or - user.is_hospital_admin() or - (user.is_department_manager() and complaint.department == user.department) or - (complaint.hospital == user.hospital) + user.is_px_admin() + or user.is_hospital_admin() + or (user.is_department_manager() and complaint.department == user.department) + or (complaint.hospital == user.hospital) ) - + if not can_request: return HttpResponseForbidden(_("You don't have permission to request explanations.")) - + # Check complaint is in active status if not complaint.is_active_status: messages.error( - request, - _("Cannot request explanation for complaint with status '{}'. Complaint must be Open, In Progress, or Partially Resolved.").format( - complaint.get_status_display() - ) + request, + _( + "Cannot request explanation for complaint with status '{}'. Complaint must be Open, In Progress, or Partially Resolved." + ).format(complaint.get_status_display()), ) - return redirect('complaints:complaint_detail', pk=complaint.pk) - + return redirect("complaints:complaint_detail", pk=complaint.pk) + # Get all involved staff with their managers - involved_staff = complaint.involved_staff.select_related( - 'staff', 'staff__department', 'staff__report_to' - ).all() - + involved_staff = complaint.involved_staff.select_related("staff", "staff__department", "staff__report_to").all() + if not involved_staff.exists(): messages.error(request, _("No staff members are involved in this complaint.")) - return redirect('complaints:complaint_detail', pk=complaint.pk) - + return redirect("complaints:complaint_detail", pk=complaint.pk) + # Build list of recipients (staff + managers) recipients = [] manager_ids = set() - + for staff_inv in involved_staff: staff = staff_inv.staff manager = staff.report_to - + recipient = { - 'staff_inv': staff_inv, - 'staff': staff, - 'staff_id': str(staff.id), - 'staff_name': staff.get_full_name(), - 'staff_email': staff.email or (staff.user.email if staff.user else None), - 'department': staff.department.name if staff.department else '-', - 'role': staff_inv.get_role_display(), - 'manager': manager, - 'manager_id': str(manager.id) if manager else None, - 'manager_name': manager.get_full_name() if manager else None, - 'manager_email': manager.email if manager else None, + "staff_inv": staff_inv, + "staff": staff, + "staff_id": str(staff.id), + "staff_name": staff.get_full_name(), + "staff_email": staff.email or (staff.user.email if staff.user else None), + "department": staff.department.name if staff.department else "-", + "role": staff_inv.get_role_display(), + "manager": manager, + "manager_id": str(manager.id) if manager else None, + "manager_name": manager.get_full_name() if manager else None, + "manager_email": manager.email if manager else None, } recipients.append(recipient) - + # Track unique managers if manager and manager.id not in manager_ids: manager_ids.add(manager.id) - - if request.method == 'POST': + + if request.method == "POST": # Get selected staff and managers - selected_staff_ids = request.POST.getlist('selected_staff') - selected_manager_ids = request.POST.getlist('selected_managers') - request_message = request.POST.get('request_message', '').strip() - + selected_staff_ids = request.POST.getlist("selected_staff") + selected_manager_ids = request.POST.getlist("selected_managers") + request_message = request.POST.get("request_message", "").strip() + if not selected_staff_ids: messages.error(request, _("Please select at least one staff member.")) - return render(request, 'complaints/request_explanation_form.html', { - 'complaint': complaint, - 'recipients': recipients, - 'manager_ids': manager_ids, - }) - + return render( + request, + "complaints/request_explanation_form.html", + { + "complaint": complaint, + "recipients": recipients, + "manager_ids": manager_ids, + }, + ) + # Send explanation requests - results = _send_explanation_requests( - request, complaint, recipients, selected_staff_ids, - selected_manager_ids, request_message + from django.contrib.sites.shortcuts import get_current_site + + site = get_current_site(request) + results = ComplaintService.request_explanation( + complaint, + recipients, + selected_staff_ids, + selected_manager_ids, + request_message, + request.user, + site.domain, + request=request, ) - + # Check results and show appropriate message - if results['staff_count'] == 0 and results['manager_count'] == 0: - if results['skipped_no_email'] > 0: + if results["staff_count"] == 0 and results["manager_count"] == 0: + if results["skipped_no_email"] > 0: messages.warning( request, - _("No explanation requests were sent. {} staff member(s) do not have email addresses. Please update staff records with email addresses before sending explanation requests.").format( - results['skipped_no_email'] - ) + _( + "No explanation requests were sent. {} staff member(s) do not have email addresses. Please update staff records with email addresses before sending explanation requests." + ).format(results["skipped_no_email"]), ) else: messages.warning( - request, - _("No explanation requests were sent. Please check staff email configuration.") + request, _("No explanation requests were sent. Please check staff email configuration.") ) - elif results['staff_count'] == 0 and results['manager_count'] > 0: + elif results["staff_count"] == 0 and results["manager_count"] > 0: messages.warning( request, - _("Only manager notifications were sent ({}). Staff explanation requests could not be sent due to missing email addresses.").format( - results['manager_count'] - ) + _( + "Only manager notifications were sent ({}). Staff explanation requests could not be sent due to missing email addresses." + ).format(results["manager_count"]), ) else: messages.success( - request, + request, _("Explanation requests sent successfully! Staff: {}, Managers notified: {}.").format( - results['staff_count'], results['manager_count'] - ) + results["staff_count"], results["manager_count"] + ), ) - return redirect('complaints:complaint_detail', pk=complaint.pk) - - return render(request, 'complaints/request_explanation_form.html', { - 'complaint': complaint, - 'recipients': recipients, - 'manager_ids': manager_ids, - }) + return redirect("complaints:complaint_detail", pk=complaint.pk) - -def _send_explanation_requests(request, complaint, recipients, selected_staff_ids, - selected_manager_ids, request_message): - """ - Send explanation request emails to selected staff and managers. - - Staff receive a link to submit their explanation. - Managers receive a notification email only. - """ - from django.contrib.sites.shortcuts import get_current_site - import secrets - - site = get_current_site(request) - user = request.user - - staff_count = 0 - manager_count = 0 - skipped_no_email = 0 - - # Debug logging - import logging - logger = logging.getLogger(__name__) - logger.info(f"Sending explanation requests. Selected staff IDs: {selected_staff_ids}") - logger.info(f"Selected manager IDs: {selected_manager_ids}") - logger.info(f"Total recipients: {len(recipients)}") - - # Track which managers we've already notified - notified_managers = set() - - for recipient in recipients: - staff = recipient['staff'] - staff_id = recipient['staff_id'] - - logger.info(f"Processing staff: {staff.get_full_name()} (ID: {staff_id})") - - # Skip if staff not selected - if staff_id not in selected_staff_ids: - logger.info(f" Skipping - staff_id {staff_id} not in selected_staff_ids: {selected_staff_ids}") - continue - - # Check if staff has email - staff_email = recipient['staff_email'] - logger.info(f" Staff email: {staff_email}") - if not staff_email: - logger.warning(f" Skipping - no email for staff {staff.get_full_name()}") - skipped_no_email += 1 - continue - - # Generate unique token - staff_token = secrets.token_urlsafe(32) - - # Create or update explanation record - explanation, created = ComplaintExplanation.objects.update_or_create( - complaint=complaint, - staff=staff, - defaults={ - 'token': staff_token, - 'is_used': False, - 'requested_by': user, - 'request_message': request_message, - 'email_sent_at': timezone.now(), - 'submitted_via': 'email_link', - } - ) - - # Build staff email with link - staff_link = f"https://{site.domain}/complaints/{complaint.id}/explain/{staff_token}/" - staff_subject = f"Explanation Request - Complaint #{complaint.reference_number}" - - staff_email_body = f"""Dear {recipient['staff_name']}, - -We have received a complaint that requires your explanation. - -COMPLAINT DETAILS: ----------------- -Reference: {complaint.reference_number} -Title: {complaint.title} -Severity: {complaint.get_severity_display()} -Priority: {complaint.get_priority_display()} - -{complaint.description or 'No description provided.'} - -""" - - # Add patient info if available - if complaint.patient: - staff_email_body += f""" -PATIENT INFORMATION: ------------------- -Name: {complaint.patient.get_full_name()} -MRN: {complaint.patient.mrn or 'N/A'} -""" - - # Add request message if provided - if request_message: - staff_email_body += f""" - -ADDITIONAL MESSAGE: ------------------- -{request_message} -""" - - staff_email_body += f""" - -SUBMIT YOUR EXPLANATION: ------------------------- -Please submit your explanation about this complaint: -{staff_link} - -Note: This link can only be used once. After submission, it will expire. - -If you have any questions, please contact the PX team. - ---- -This is an automated message from PX360 Complaint Management System. -""" - - # Send email to staff - try: - logger.info(f" Sending email to: {staff_email}") - NotificationService.send_email( - email=staff_email, - subject=staff_subject, - message=staff_email_body, - related_object=complaint, - metadata={ - 'notification_type': 'explanation_request', - 'staff_id': str(staff.id), - 'complaint_id': str(complaint.id), - } - ) - staff_count += 1 - logger.info(f" Email sent successfully to {staff_email}") - except Exception as e: - logger.error(f" Failed to send explanation request to staff {staff.id}: {e}") - - # Send notification to manager if selected and not already notified - manager = recipient['manager'] - if manager and recipient['manager_id'] in selected_manager_ids: - if manager.id not in notified_managers: - manager_email = recipient['manager_email'] - if manager_email: - manager_subject = f"Staff Explanation Requested - Complaint #{complaint.reference_number}" - - manager_email_body = f"""Dear {recipient['manager_name']}, - -This is an informational notification that an explanation has been requested from a staff member who reports to you. - -STAFF MEMBER: ------------- -Name: {recipient['staff_name']} -Department: {recipient['department']} -Role in Complaint: {recipient['role']} - -COMPLAINT DETAILS: ----------------- -Reference: {complaint.reference_number} -Title: {complaint.title} -Severity: {complaint.get_severity_display()} - -The staff member has been sent a link to submit their explanation. You will be notified when they respond. - -If you have any questions, please contact the PX team. - ---- -This is an automated message from PX360 Complaint Management System. -""" - - try: - NotificationService.send_email( - email=manager_email, - subject=manager_subject, - message=manager_email_body, - related_object=complaint, - metadata={ - 'notification_type': 'explanation_request_manager_notification', - 'manager_id': str(manager.id), - 'staff_id': str(staff.id), - 'complaint_id': str(complaint.id), - } - ) - manager_count += 1 - notified_managers.add(manager.id) - except Exception as e: - import logging - logger = logging.getLogger(__name__) - logger.error(f"Failed to send manager notification to {manager.id}: {e}") - - # Log audit event - AuditService.log_event( - event_type='explanation_request', - description=f'Explanation requests sent to {staff_count} staff and {manager_count} managers ({skipped_no_email} skipped due to no email)', - user=user, - content_object=complaint, - metadata={ - 'staff_count': staff_count, - 'manager_count': manager_count, - 'skipped_no_email': skipped_no_email, - 'selected_staff_ids': selected_staff_ids, - 'selected_manager_ids': selected_manager_ids, - } + return render( + request, + "complaints/request_explanation_form.html", + { + "complaint": complaint, + "recipients": recipients, + "manager_ids": manager_ids, + }, ) - - return {'staff_count': staff_count, 'manager_count': manager_count, 'skipped_no_email': skipped_no_email} diff --git a/apps/complaints/urls.py b/apps/complaints/urls.py index a92465e..f607449 100644 --- a/apps/complaints/urls.py +++ b/apps/complaints/urls.py @@ -32,6 +32,16 @@ urlpatterns = [ path("/", ui_views.complaint_detail, name="complaint_detail"), path("/assign/", ui_views.complaint_assign, name="complaint_assign"), path("/change-status/", ui_views.complaint_change_status, name="complaint_change_status"), + path( + "/update-delay-reason-closure/", + ui_views.update_delay_reason_closure, + name="update_delay_reason_closure", + ), + path( + "/update-explanation-delay-reason/", + ui_views.update_explanation_delay_reason, + name="update_explanation_delay_reason", + ), path("/change-department/", ui_views.complaint_change_department, name="complaint_change_department"), path("/add-note/", ui_views.complaint_add_note, name="complaint_add_note"), path("/escalate/", ui_views.complaint_escalate, name="complaint_escalate"), @@ -39,6 +49,21 @@ urlpatterns = [ # Export Views path("export/csv/", ui_views.complaint_export_csv, name="complaint_export_csv"), path("export/excel/", ui_views.complaint_export_excel, name="complaint_export_excel"), + path( + "export/monthly-calculations/", + ui_views.complaint_export_monthly_calculations, + name="complaint_export_monthly_calculations", + ), + path( + "export/quarterly-calculations/", + ui_views.complaint_export_quarterly_calculations, + name="complaint_export_quarterly_calculations", + ), + path( + "export/yearly-calculations/", + ui_views.complaint_export_yearly_calculations, + name="complaint_export_yearly_calculations", + ), # Bulk Actions path("bulk/assign/", ui_views.complaint_bulk_assign, name="complaint_bulk_assign"), path("bulk/status/", ui_views.complaint_bulk_status, name="complaint_bulk_status"), @@ -52,13 +77,20 @@ urlpatterns = [ path("inquiries//change-status/", ui_views.inquiry_change_status, name="inquiry_change_status"), path("inquiries//add-note/", ui_views.inquiry_add_note, name="inquiry_add_note"), path("inquiries//respond/", ui_views.inquiry_respond, name="inquiry_respond"), + path("inquiries/export/incoming/", ui_views.inquiry_export_incoming, name="inquiry_export_incoming"), + path("inquiries/export/outgoing/", ui_views.inquiry_export_outgoing, name="inquiry_export_outgoing"), # Analytics path("analytics/", ui_views.complaints_analytics, name="complaints_analytics"), - # SLA Configuration Management + # SLA Configuration Management (Hospital Admin + PX Admin) path("settings/sla/", ui_views.sla_config_list, name="sla_config_list"), path("settings/sla/new/", ui_views.sla_config_create, name="sla_config_create"), path("settings/sla//edit/", ui_views.sla_config_edit, name="sla_config_edit"), path("settings/sla//delete/", ui_views.sla_config_delete, name="sla_config_delete"), + # PX Admin-only SLA Management (with session-based hospital) + path("settings/sla-management/", ui_views.sla_management, name="sla_management"), + path("settings/sla-management/new/", ui_views.sla_management_create, name="sla_management_create"), + path("settings/sla-management//edit/", ui_views.sla_management_edit, name="sla_management_edit"), + path("settings/sla-management//toggle/", ui_views.sla_management_toggle, name="sla_management_toggle"), # Escalation Rules Management path("settings/escalation-rules/", ui_views.escalation_rule_list, name="escalation_rule_list"), path("settings/escalation-rules/new/", ui_views.escalation_rule_create, name="escalation_rule_create"), @@ -68,8 +100,9 @@ urlpatterns = [ path("settings/thresholds/", ui_views.complaint_threshold_list, name="complaint_threshold_list"), path("settings/thresholds/new/", ui_views.complaint_threshold_create, name="complaint_threshold_create"), path("settings/thresholds//edit/", ui_views.complaint_threshold_edit, name="complaint_threshold_edit"), - path("settings/thresholds//delete/", ui_views.complaint_threshold_delete, name="complaint_threshold_delete"), - + path( + "settings/thresholds//delete/", ui_views.complaint_threshold_delete, name="complaint_threshold_delete" + ), # Complaint Templates Management path("templates/", ui_views_templates.template_list, name="template_list"), path("templates/new/", ui_views_templates.template_create, name="template_create"), @@ -77,7 +110,6 @@ urlpatterns = [ path("templates//edit/", ui_views_templates.template_edit, name="template_edit"), path("templates//delete/", ui_views_templates.template_delete, name="template_delete"), path("templates//toggle/", ui_views_templates.template_toggle_status, name="template_toggle_status"), - # AJAX Helpers path("ajax/departments/", ui_views.get_departments_by_hospital, name="get_departments_by_hospital"), path("ajax/physicians/", ui_views.get_staff_by_department, name="get_physicians_by_department"), @@ -92,10 +124,26 @@ urlpatterns = [ # Location Hierarchy APIs (No Authentication Required) path("public/api/locations/", api_locations, name="api_locations"), path("public/api/locations//sections/", api_sections, name="api_sections"), - path("public/api/locations//sections//subsections/", api_subsections, name="api_subsections"), + path( + "public/api/locations//sections//subsections/", + api_subsections, + name="api_subsections", + ), path("public/api/hospitals//departments/", api_departments, name="api_departments"), # Public Explanation Form (No Authentication Required) path("/explain//", complaint_explanation_form, name="complaint_explanation_form"), + # Patient Complaint Portal (No Authentication Required) + path("patient//", ui_views.patient_complaint_portal, name="patient_complaint_portal"), + path( + "patient//hospital//", + ui_views.patient_complaint_hospital_visits, + name="patient_complaint_hospital_visits", + ), + path( + "patient//visit//", + ui_views.patient_complaint_visit_form, + name="patient_complaint_visit_form", + ), # Resend Explanation path( "/resend-explanation/", @@ -110,7 +158,9 @@ urlpatterns = [ path("departments//remove/", ui_views.involved_department_remove, name="involved_department_remove"), path("departments//response/", ui_views.involved_department_response, name="involved_department_response"), # Request Explanation Form - path("/request-explanation/", ui_views_explanation.request_explanation_form, name="request_explanation_form"), + path( + "/request-explanation/", ui_views_explanation.request_explanation_form, name="request_explanation_form" + ), # Involved Staff Management path("/staff/add/", ui_views.involved_staff_add, name="involved_staff_add"), path("staff//edit/", ui_views.involved_staff_edit, name="involved_staff_edit"), @@ -130,7 +180,9 @@ urlpatterns = [ path("adverse-actions/", ui_views.adverse_action_list, name="adverse_action_list"), path("/adverse-actions/add/", ui_views.adverse_action_add, name="adverse_action_add"), path("adverse-actions//edit/", ui_views.adverse_action_edit, name="adverse_action_edit"), - path("adverse-actions//status/", ui_views.adverse_action_update_status, name="adverse_action_update_status"), + path( + "adverse-actions//status/", ui_views.adverse_action_update_status, name="adverse_action_update_status" + ), path("adverse-actions//escalate/", ui_views.adverse_action_escalate, name="adverse_action_escalate"), path("adverse-actions//delete/", ui_views.adverse_action_delete, name="adverse_action_delete"), # API Routes diff --git a/apps/complaints/utils.py b/apps/complaints/utils.py index 907c997..b2fac04 100644 --- a/apps/complaints/utils.py +++ b/apps/complaints/utils.py @@ -3,113 +3,138 @@ Complaints utility functions Export and bulk operation utilities. """ + import csv import io -from datetime import datetime +from datetime import datetime, timedelta from typing import List +from django.db.models import Count, Q from django.http import HttpResponse +from django.utils import timezone from openpyxl import Workbook -from openpyxl.styles import Font, PatternFill, Alignment +from openpyxl.styles import Font, PatternFill, Alignment, Border, Side +from openpyxl.utils import get_column_letter def export_complaints_csv(queryset, filters=None): """ Export complaints to CSV format. - + Args: queryset: Complaint queryset to export filters: Optional dict of applied filters - + Returns: HttpResponse with CSV file """ - response = HttpResponse(content_type='text/csv') - response['Content-Disposition'] = f'attachment; filename="complaints_{datetime.now().strftime("%Y%m%d_%H%M%S")}.csv"' - + response = HttpResponse(content_type="text/csv") + response["Content-Disposition"] = ( + f'attachment; filename="complaints_{datetime.now().strftime("%Y%m%d_%H%M%S")}.csv"' + ) + writer = csv.writer(response) - + # Write header - writer.writerow([ - 'ID', - 'Title', - 'Patient Name', - 'Patient MRN', - 'Hospital', - 'Department', - 'Category', - 'Severity', - 'Priority', - 'Status', - 'Source', - 'Assigned To', - 'Created At', - 'Due At', - 'Is Overdue', - 'Resolved At', - 'Closed At', - 'Description', - ]) - + writer.writerow( + [ + "ID", + "Title", + "Patient Name", + "Patient MRN", + "Hospital", + "Department", + "Category", + "Severity", + "Priority", + "Status", + "Source", + "Assigned To", + "Created At", + "Due At", + "Is Overdue", + "Resolved At", + "Closed At", + "Description", + ] + ) + # Write data for complaint in queryset: - writer.writerow([ - str(complaint.id)[:8], - complaint.title, - complaint.patient.get_full_name(), - complaint.patient.mrn, - complaint.hospital.name_en, - complaint.department.name_en if complaint.department else '', - complaint.get_category_display(), - complaint.get_severity_display(), - complaint.get_priority_display(), - complaint.get_status_display(), - complaint.get_source_display(), - complaint.assigned_to.get_full_name() if complaint.assigned_to else '', - complaint.created_at.strftime('%Y-%m-%d %H:%M:%S'), - complaint.due_at.strftime('%Y-%m-%d %H:%M:%S'), - 'Yes' if complaint.is_overdue else 'No', - complaint.resolved_at.strftime('%Y-%m-%d %H:%M:%S') if complaint.resolved_at else '', - complaint.closed_at.strftime('%Y-%m-%d %H:%M:%S') if complaint.closed_at else '', - complaint.description[:500], - ]) - + writer.writerow( + [ + str(complaint.id)[:8], + complaint.title, + complaint.patient.get_full_name(), + complaint.patient.mrn, + complaint.hospital.name_en, + complaint.department.name_en if complaint.department else "", + complaint.get_category_display(), + complaint.get_severity_display(), + complaint.get_priority_display(), + complaint.get_status_display(), + complaint.get_source_display(), + complaint.assigned_to.get_full_name() if complaint.assigned_to else "", + complaint.created_at.strftime("%Y-%m-%d %H:%M:%S"), + complaint.due_at.strftime("%Y-%m-%d %H:%M:%S"), + "Yes" if complaint.is_overdue else "No", + complaint.resolved_at.strftime("%Y-%m-%d %H:%M:%S") if complaint.resolved_at else "", + complaint.closed_at.strftime("%Y-%m-%d %H:%M:%S") if complaint.closed_at else "", + complaint.description[:500], + ] + ) + return response def export_complaints_excel(queryset, filters=None): """ Export complaints to Excel format with formatting. - + Args: queryset: Complaint queryset to export filters: Optional dict of applied filters - + Returns: HttpResponse with Excel file """ wb = Workbook() ws = wb.active ws.title = "Complaints" - + # Define styles header_font = Font(bold=True, color="FFFFFF") header_fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid") header_alignment = Alignment(horizontal="center", vertical="center") - + # Write header headers = [ - 'ID', 'Title', 'Patient Name', 'Patient MRN', 'Hospital', 'Department', - 'Category', 'Severity', 'Priority', 'Status', 'Source', 'Assigned To', - 'Created At', 'Due At', 'Is Overdue', 'Resolved At', 'Closed At', 'Description' + "ID", + "Title", + "Patient Name", + "Patient MRN", + "Hospital", + "Department", + "Category", + "Severity", + "Priority", + "Status", + "Source", + "Assigned To", + "Created At", + "Due At", + "Is Overdue", + "Resolved At", + "Closed At", + "Description", ] - + for col_num, header in enumerate(headers, 1): cell = ws.cell(row=1, column=col_num, value=header) cell.font = header_font cell.fill = header_fill cell.alignment = header_alignment - + # Write data for row_num, complaint in enumerate(queryset, 2): ws.cell(row=row_num, column=1, value=str(complaint.id)[:8]) @@ -117,20 +142,28 @@ def export_complaints_excel(queryset, filters=None): ws.cell(row=row_num, column=3, value=complaint.patient.get_full_name()) ws.cell(row=row_num, column=4, value=complaint.patient.mrn) ws.cell(row=row_num, column=5, value=complaint.hospital.name_en) - ws.cell(row=row_num, column=6, value=complaint.department.name_en if complaint.department else '') + ws.cell(row=row_num, column=6, value=complaint.department.name_en if complaint.department else "") ws.cell(row=row_num, column=7, value=complaint.get_category_display()) ws.cell(row=row_num, column=8, value=complaint.get_severity_display()) ws.cell(row=row_num, column=9, value=complaint.get_priority_display()) ws.cell(row=row_num, column=10, value=complaint.get_status_display()) ws.cell(row=row_num, column=11, value=complaint.get_source_display()) - ws.cell(row=row_num, column=12, value=complaint.assigned_to.get_full_name() if complaint.assigned_to else '') - ws.cell(row=row_num, column=13, value=complaint.created_at.strftime('%Y-%m-%d %H:%M:%S')) - ws.cell(row=row_num, column=14, value=complaint.due_at.strftime('%Y-%m-%d %H:%M:%S')) - ws.cell(row=row_num, column=15, value='Yes' if complaint.is_overdue else 'No') - ws.cell(row=row_num, column=16, value=complaint.resolved_at.strftime('%Y-%m-%d %H:%M:%S') if complaint.resolved_at else '') - ws.cell(row=row_num, column=17, value=complaint.closed_at.strftime('%Y-%m-%d %H:%M:%S') if complaint.closed_at else '') + ws.cell(row=row_num, column=12, value=complaint.assigned_to.get_full_name() if complaint.assigned_to else "") + ws.cell(row=row_num, column=13, value=complaint.created_at.strftime("%Y-%m-%d %H:%M:%S")) + ws.cell(row=row_num, column=14, value=complaint.due_at.strftime("%Y-%m-%d %H:%M:%S")) + ws.cell(row=row_num, column=15, value="Yes" if complaint.is_overdue else "No") + ws.cell( + row=row_num, + column=16, + value=complaint.resolved_at.strftime("%Y-%m-%d %H:%M:%S") if complaint.resolved_at else "", + ) + ws.cell( + row=row_num, + column=17, + value=complaint.closed_at.strftime("%Y-%m-%d %H:%M:%S") if complaint.closed_at else "", + ) ws.cell(row=row_num, column=18, value=complaint.description[:500]) - + # Auto-adjust column widths for column in ws.columns: max_length = 0 @@ -143,170 +176,1664 @@ def export_complaints_excel(queryset, filters=None): pass adjusted_width = min(max_length + 2, 50) ws.column_dimensions[column_letter].width = adjusted_width - + # Save to response - response = HttpResponse( - content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = ( + f'attachment; filename="complaints_{datetime.now().strftime("%Y%m%d_%H%M%S")}.xlsx"' ) - response['Content-Disposition'] = f'attachment; filename="complaints_{datetime.now().strftime("%Y%m%d_%H%M%S")}.xlsx"' wb.save(response) - + return response def bulk_assign_complaints(complaint_ids: List[str], user_id: str, current_user): """ Bulk assign complaints to a user. - + Args: complaint_ids: List of complaint IDs user_id: ID of user to assign to current_user: User performing the action - + Returns: dict: Result with success count and errors """ from apps.complaints.models import Complaint, ComplaintUpdate from apps.accounts.models import User from django.utils import timezone - + try: assignee = User.objects.get(id=user_id) except User.DoesNotExist: - return {'success': False, 'error': 'User not found'} - + return {"success": False, "error": "User not found"} + success_count = 0 errors = [] - + for complaint_id in complaint_ids: try: complaint = Complaint.objects.get(id=complaint_id) complaint.assigned_to = assignee complaint.assigned_at = timezone.now() - complaint.save(update_fields=['assigned_to', 'assigned_at']) - + complaint.save(update_fields=["assigned_to", "assigned_at"]) + # Create update ComplaintUpdate.objects.create( complaint=complaint, - update_type='assignment', + update_type="assignment", message=f"Bulk assigned to {assignee.get_full_name()}", - created_by=current_user + created_by=current_user, ) - + success_count += 1 except Complaint.DoesNotExist: errors.append(f"Complaint {complaint_id} not found") except Exception as e: errors.append(f"Error assigning complaint {complaint_id}: {str(e)}") - - return { - 'success': True, - 'success_count': success_count, - 'total': len(complaint_ids), - 'errors': errors - } + + return {"success": True, "success_count": success_count, "total": len(complaint_ids), "errors": errors} -def bulk_change_status(complaint_ids: List[str], new_status: str, current_user, note: str = ''): +def bulk_change_status(complaint_ids: List[str], new_status: str, current_user, note: str = ""): """ Bulk change status of complaints. - + Args: complaint_ids: List of complaint IDs new_status: New status to set current_user: User performing the action note: Optional note - + Returns: dict: Result with success count and errors """ from apps.complaints.models import Complaint, ComplaintUpdate from django.utils import timezone - + success_count = 0 errors = [] - + for complaint_id in complaint_ids: try: complaint = Complaint.objects.get(id=complaint_id) old_status = complaint.status complaint.status = new_status - + # Handle status-specific logic - if new_status == 'resolved': + if new_status == "resolved": complaint.resolved_at = timezone.now() complaint.resolved_by = current_user - elif new_status == 'closed': + elif new_status == "closed": complaint.closed_at = timezone.now() complaint.closed_by = current_user - + complaint.save() - + # Create update ComplaintUpdate.objects.create( complaint=complaint, - update_type='status_change', + update_type="status_change", message=note or f"Bulk status change from {old_status} to {new_status}", created_by=current_user, old_status=old_status, - new_status=new_status + new_status=new_status, ) - + success_count += 1 except Complaint.DoesNotExist: errors.append(f"Complaint {complaint_id} not found") except Exception as e: errors.append(f"Error changing status for complaint {complaint_id}: {str(e)}") - - return { - 'success': True, - 'success_count': success_count, - 'total': len(complaint_ids), - 'errors': errors - } + + return {"success": True, "success_count": success_count, "total": len(complaint_ids), "errors": errors} -def bulk_escalate_complaints(complaint_ids: List[str], current_user, reason: str = ''): +def bulk_escalate_complaints(complaint_ids: List[str], current_user, reason: str = ""): """ Bulk escalate complaints. - + Args: complaint_ids: List of complaint IDs current_user: User performing the action reason: Escalation reason - + Returns: dict: Result with success count and errors """ from apps.complaints.models import Complaint, ComplaintUpdate + from apps.complaints.services.complaint_service import ComplaintService from django.utils import timezone - + success_count = 0 errors = [] - + not_assigned = 0 + for complaint_id in complaint_ids: try: - complaint = Complaint.objects.get(id=complaint_id) + complaint = Complaint.objects.select_related("staff", "department", "hospital").get(id=complaint_id) complaint.escalated_at = timezone.now() - complaint.save(update_fields=['escalated_at']) - - # Create update + + target_user, fallback_path = ComplaintService.get_escalation_target(complaint, staff=complaint.staff) + + escalation_message = f"Bulk escalation. Reason: {reason or 'No reason provided'}" + if target_user: + complaint.assigned_to = target_user + escalation_message += f" Escalated to: {target_user.get_full_name()} [via {fallback_path}]" + else: + not_assigned += 1 + escalation_message += " WARNING: No escalation target found." + + complaint.save(update_fields=["escalated_at", "assigned_to", "updated_at"]) + ComplaintUpdate.objects.create( complaint=complaint, - update_type='escalation', - message=f"Bulk escalation. Reason: {reason or 'No reason provided'}", - created_by=current_user + update_type="escalation", + message=escalation_message, + created_by=current_user, + metadata={ + "reason": reason, + "escalated_to_user_id": str(target_user.id) if target_user else None, + "escalation_fallback_path": fallback_path, + "bulk": True, + }, ) - + success_count += 1 except Complaint.DoesNotExist: errors.append(f"Complaint {complaint_id} not found") except Exception as e: errors.append(f"Error escalating complaint {complaint_id}: {str(e)}") - + return { - 'success': True, - 'success_count': success_count, - 'total': len(complaint_ids), - 'errors': errors + "success": True, + "success_count": success_count, + "total": len(complaint_ids), + "errors": errors, + "not_assigned": not_assigned, } + + +HEADER_FONT = Font(bold=True, color="FFFFFF", size=11) +HEADER_FILL = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid") +HEADER_ALIGNMENT = Alignment(horizontal="center", vertical="center", wrap_text=True) +SECTION_FONT = Font(bold=True, size=11) +SECTION_FILL = PatternFill(start_color="D9E2F3", end_color="D9E2F3", fill_type="solid") +THIN_BORDER = Border( + left=Side(style="thin"), + right=Side(style="thin"), + top=Side(style="thin"), + bottom=Side(style="thin"), +) + + +def _write_header_row(ws, row, headers, font=HEADER_FONT, fill=HEADER_FILL, alignment=HEADER_ALIGNMENT): + for col_num, header in enumerate(headers, 1): + cell = ws.cell(row=row, column=col_num, value=header) + cell.font = font + cell.fill = fill + cell.alignment = alignment + cell.border = THIN_BORDER + + +def _auto_width(ws, max_width=40): + for column in ws.columns: + max_length = 0 + col_letter = get_column_letter(column[0].column) + for cell in column: + try: + if cell.value: + max_length = max(max_length, len(str(cell.value))) + except Exception: + pass + ws.column_dimensions[col_letter].width = min(max_length + 3, max_width) + + +def export_requests_report(queryset, year=None, month=None): + """ + Step 0 — Requests Report Excel export. + + Generates a monthly Excel report matching the Step 0 template: + - Timeline template sheet with 15 columns + - Monthly data sheet with all request rows + - Summary section with stats and staff breakdown + """ + from apps.dashboard.models import ComplaintRequest + + wb = Workbook() + + ws_template = wb.active + ws_template.title = "Time-Line Template" + + template_headers = [ + "#", + "Request Date", + "Patient Name", + "File Number", + "Complained Department", + "Incident Date", + "Entry (Staff)", + "Time", + "Form Sent Date", + "Time", + "Complaint Filed Date", + "Time", + "Time Between Send & File", + "Non-Activation Reason", + "PR Observations", + ] + _write_header_row(ws_template, 1, template_headers) + for col in range(1, 16): + ws_template.column_dimensions[get_column_letter(col)].width = 18 + + qs = queryset.select_related("staff", "hospital", "complained_department", "complaint") + + month_label = f"{year}-{month:02d}" if year and month else datetime.now().strftime("%Y-%m") + ws_data = wb.create_sheet(title=month_label) + + _write_header_row(ws_data, 1, template_headers) + + row_num = 2 + for idx, req in enumerate(qs, 1): + filled_date = req.filled_at.date() if req.filled_at else "" + filled_time = req.filled_at.strftime("%H:%M") if req.filled_at else "" + form_sent_date = req.form_sent_at.date() if req.form_sent_at else "" + form_sent_time = req.form_sent_time.strftime("%H:%M") if req.form_sent_time else "" + + ws_data.cell(row=row_num, column=1, value=idx) + ws_data.cell(row=row_num, column=2, value=req.request_date) + ws_data.cell(row=row_num, column=3, value=req.patient_name) + ws_data.cell(row=row_num, column=4, value=req.file_number) + ws_data.cell(row=row_num, column=5, value=req.complained_department.name if req.complained_department else "") + ws_data.cell(row=row_num, column=6, value=req.incident_date or "") + ws_data.cell(row=row_num, column=7, value=req.staff.get_full_name() if req.staff else "") + ws_data.cell(row=row_num, column=8, value=req.request_time.strftime("%H:%M") if req.request_time else "") + ws_data.cell(row=row_num, column=9, value=form_sent_date) + ws_data.cell(row=row_num, column=10, value=form_sent_time) + ws_data.cell(row=row_num, column=11, value=filled_date) + ws_data.cell(row=row_num, column=12, value=filled_time) + if req.form_sent_at and req.filled_at: + delta = req.filled_at - req.form_sent_at + ws_data.cell(row=row_num, column=13, value=str(delta)) + ws_data.cell(row=row_num, column=14, value=req.get_reason_non_activation_display() or "") + ws_data.cell(row=row_num, column=15, value=req.pr_observations) + for col in range(1, 16): + ws_data.cell(row=row_num, column=col).border = THIN_BORDER + row_num += 1 + + summary_row = row_num + 2 + stats = qs.aggregate( + on_hold_count=Count("pk", filter=Q(on_hold=True)), + not_filled_count=Count("pk", filter=Q(not_filled=True)), + filled_count=Count("pk", filter=Q(filled=True)), + barcode_count=Count("pk", filter=Q(from_barcode=True)), + same_time=Count("pk", filter=Q(filling_time_category="same_time")), + within_6h=Count("pk", filter=Q(filling_time_category="within_6h")), + six_to_24h=Count("pk", filter=Q(filling_time_category="6_to_24h")), + after_1_day=Count("pk", filter=Q(filling_time_category="after_1_day")), + not_mentioned=Count("pk", filter=Q(filling_time_category="not_mentioned")), + ) + total = qs.count() + + summary_items = [ + ("Total Complaints on Hold", stats["on_hold_count"]), + ("Total Not Filled", stats["not_filled_count"]), + ("Total Filled", stats["filled_count"]), + ("Total from Barcode (SELF)", stats["barcode_count"]), + ("Filled at the same time", stats["same_time"]), + ("Filled within 6 hours", stats["within_6h"]), + ("Filled from 6 to 24 hours", stats["six_to_24h"]), + ("Filled after 1 day", stats["after_1_day"]), + ("Time not mentioned", stats["not_mentioned"]), + ("TOTAL", total), + ] + ws_data.cell(row=summary_row, column=1, value="Summary").font = SECTION_FONT + summary_row += 1 + for label, val in summary_items: + ws_data.cell(row=summary_row, column=1, value=label).font = Font(bold=(label == "TOTAL")) + ws_data.cell(row=summary_row, column=2, value=val) + summary_row += 1 + + summary_row += 1 + ws_data.cell(row=summary_row, column=1, value="Staff Breakdown").font = SECTION_FONT + summary_row += 1 + _write_header_row(ws_data, summary_row, ["Staff", "Total", "Filled", "Not Filled"]) + summary_row += 1 + + staff_stats = ( + qs.values("staff__first_name", "staff__last_name", "staff__id") + .annotate( + total=Count("pk"), + filled=Count("pk", filter=Q(filled=True)), + not_filled=Count("pk", filter=Q(not_filled=True)), + ) + .order_by("-total") + ) + + for s in staff_stats: + name = f"{s['staff__first_name'] or ''} {s['staff__last_name'] or ''}".strip() or "Unknown" + ws_data.cell(row=summary_row, column=1, value=name) + ws_data.cell(row=summary_row, column=2, value=s["total"]) + ws_data.cell(row=summary_row, column=3, value=s["filled"]) + ws_data.cell(row=summary_row, column=4, value=s["not_filled"]) + for col in range(1, 5): + ws_data.cell(row=summary_row, column=col).border = THIN_BORDER + summary_row += 1 + + summary_row += 1 + ws_data.cell(row=summary_row, column=1, value="Non-Activation Reasons").font = SECTION_FONT + summary_row += 1 + _write_header_row(ws_data, summary_row, ["Reason", "Count", "Percentage"]) + summary_row += 1 + + reason_stats = ( + qs.exclude(reason_non_activation="") + .values("reason_non_activation") + .annotate(count=Count("pk")) + .order_by("-count") + ) + + for r in reason_stats: + display = dict(ComplaintRequest.NON_ACTIVATION_REASON_CHOICES).get( + r["reason_non_activation"], r["reason_non_activation"] + ) + pct = (r["count"] / total * 100) if total else 0 + ws_data.cell(row=summary_row, column=1, value=display) + ws_data.cell(row=summary_row, column=2, value=r["count"]) + ws_data.cell(row=summary_row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws_data.cell(row=summary_row, column=col).border = THIN_BORDER + summary_row += 1 + + _auto_width(ws_data, 50) + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="requests_report_{month_label}.xlsx"' + wb.save(response) + return response + + +def export_monthly_calculations(queryset, year, month): + """ + Step 1 — Monthly Calculations Excel export. + + Generates the full 108-column monthly calculations report + matching the Step 1 template structure, including: + - Main data sheet with all columns A-BN + - Summary sections: weekly, source, location, department, + sub-department, employee performance, activation delay + """ + from apps.complaints.models import Complaint, ComplaintInvolvedDepartment + + wb = Workbook() + ws = wb.active + ws.title = month_label = f"{year}-{month:02d}" + + headers = [ + "Week", + "No.", + "Complaint ID", + "File Number", + "Source", + "Location", + "Main Department", + "Sub-Department", + "Date Received", + "Entered By", + "MOH Ref", + "MOH Ref Date", + "MOH Ref Time", + "Phone Number", + "Timeline SLA", + "Form Sent Date", + "Form Sent Time", + "Employee (Form Sent)", + "Complaint Filed Date", + "Complaint Filed Time", + "Activated", + "Activation Date", + "Activation Time", + "Employee (Activation)", + "Sent to Dept Date", + "Sent to Dept Time", + "Employee (Dept Send)", + "Time: Filed to Sent", + "1st Reminder Date", + "1st Reminder Time", + "Employee (1st Rem)", + "Time: 1st Rem to Sent", + "2nd Reminder Date", + "2nd Reminder Time", + "Employee (2nd Rem)", + "Time: 2nd Rem to 1st Rem", + "Escalated", + "Escalation Date", + "Escalation Time", + "Employee (Escalation)", + "Time: Escalation to Sent", + "Closed", + "Close Date", + "Close Time", + "Employee (Close)", + "Time: Close to Sent", + "Resolved", + "Resolve Date", + "Resolve Time", + "Employee (Resolve)", + "Time: Resolve to Sent", + "Response Date", + "Response Time", + "Time: Response to Sent", + "Complained Person Name", + "Main Complaint Subject", + "Summary (Arabic)", + "Summary (English)", + "Reminder Documentation", + "Reminder Date", + "Delay Reason (Dept)", + "Delay Reason (Closure 72h)", + "Person Responsible for Delay", + "Satisfaction", + "Action Taken by Dept", + "Investigation Result", + "Solutions & Suggestions", + "Recommendation/Action Plan", + "Responsible Department", + "Rightful Side", + "PR Observations", + ] + + _write_header_row(ws, 1, headers) + ws.freeze_panes = "D2" + + qs = queryset.select_related( + "hospital", + "department", + "main_section", + "subsection", + "assigned_to", + "resolved_by", + "closed_by", + "created_by", + "source", + ).prefetch_related("involved_departments__department", "updates") + + dept_cat_keywords = { + "medical": [ + "doctor", + "physician", + "surgeon", + "consultant", + "specialist", + "er", + "emergency", + "icu", + "nicu", + "pediatric", + "ob/gyn", + "obstetric", + "gynecolog", + "cardiology", + "orthoped", + "radiology", + "dermatolog", + "patholog", + "lab", + "laboratory", + "pharmacy", + "anesthesi", + "nephrology", + "urology", + "dental", + "dentist", + "ophthalmol", + "ent", + "otorhinolaryng", + "pulmonar", + "respirator", + "oncolog", + "hematolog", + "gastroenter", + "endocrin", + "neurolog", + "psychiatry", + "psychiatric", + "internal medicine", + "general surgery", + "pediatrics", + "neonat", + "nutrition", + "dietitian", + "physiothera", + "physical therapy", + "rehab", + "speech therap", + "occupational", + "medical report", + "blood bank", + "infection control", + ], + "admin": [ + "reception", + "registration", + "appointment", + "approval", + "insurance", + "finance", + "billing", + "account", + "hr", + "human resource", + "it ", + "information technology", + "medical record", + "health information", + "management", + "admin", + "security", + "parking", + "facility", + "maintenance", + "housekeep", + "clean", + "food", + "kitchen", + "cafeteria", + "transport", + "patient relation", + "pr ", + "public relation", + "complaint", + "quality", + "risk", + "credential", + "medical approval", + "pre-approval", + "preapproval", + ], + "nursing": [ + "nurs", + "nurse", + "iv ", + "injection", + "medication admin", + "wound care", + "triage", + ], + "support": [ + "kitchen", + "food service", + "clean", + "housekeep", + "laundry", + "security", + "transport", + "maintenance", + "facility", + "steriliz", + "central supply", + ], + } + + def classify_department(dept_name): + if not dept_name: + return "" + name_lower = dept_name.lower() + for cat, keywords in dept_cat_keywords.items(): + for kw in keywords: + if kw in name_lower: + return cat.title() + return "Other" + + def get_timeline_sla(complaint): + if not complaint.resolved_at or not complaint.created_at: + return "More than 72 hours" + delta = complaint.resolved_at - complaint.created_at + hours = delta.total_seconds() / 3600 + if hours <= 24: + return "24 Hours" + elif hours <= 48: + return "48 Hours" + elif hours <= 72: + return "72 Hours" + return "More than 72 hours" + + def get_dept_primary(complaint): + dept = complaint.involved_departments.filter(is_primary=True).first() + if not dept: + dept = complaint.involved_departments.first() + return dept + + def fmt_date(dt): + if not dt: + return "" + return dt.date() if hasattr(dt, "date") else dt + + def fmt_time(dt): + if not dt: + return "" + return dt.strftime("%H:%M") if hasattr(dt, "strftime") else "" + + def time_diff(dt1, dt2): + if dt1 and dt2: + delta = dt1 - dt2 + return str(delta) + return "" + + row_num = 2 + for idx, c in enumerate(qs, 1): + cal = c.created_at + week_of_month = (cal.day - 1) // 7 + 1 + + dept_name = "" + sub_dept_name = "" + dept_inv = get_dept_primary(c) + if dept_inv: + dept_name = dept_inv.department.name if dept_inv.department else "" + sub_dept_name = dept_name + + main_dept = classify_department(dept_name or (c.department.name if c.department else "")) + + source_display = "" + if c.source: + source_display = c.source.name if hasattr(c.source, "name") else str(c.source) + if c.complaint_source_type == "internal": + if c.source and c.source.code in ("moh", "chi"): + pass + else: + source_display = "Patient" + + location_display = "" + if c.main_section: + location_display = c.main_section.name if hasattr(c.main_section, "name") else str(c.main_section) + if c.location: + loc_name = c.location.name if hasattr(c.location, "name") else str(c.location) + if loc_name: + location_display = f"{loc_name} - {location_display}" if location_display else loc_name + + entry_by = c.created_by.get_full_name() if c.created_by else "" + + activation_date = c.activated_at or c.assigned_at + activation_employee = "" + if c.assigned_to: + activation_employee = c.assigned_to.get_full_name() + + forwarded_date = c.forwarded_to_dept_at + forwarded_employee = "" + if dept_inv and dept_inv.assigned_to: + forwarded_employee = dept_inv.assigned_to.get_full_name() + + reminder1_date = c.reminder_sent_at + reminder2_date = c.second_reminder_sent_at + if dept_inv: + if dept_inv.first_reminder_sent_at: + reminder1_date = dept_inv.first_reminder_sent_at + if dept_inv.second_reminder_sent_at: + reminder2_date = dept_inv.second_reminder_sent_at + + escalated_date = c.escalated_at + + filed_date = cal + time_filed_to_sent = time_diff(forwarded_date, filed_date) + time_rem1_to_sent = time_diff(forwarded_date, reminder1_date) if reminder1_date and forwarded_date else "" + time_rem2_to_rem1 = time_diff(reminder2_date, reminder1_date) if reminder2_date and reminder1_date else "" + time_escal_to_sent = time_diff(forwarded_date, escalated_date) if escalated_date and forwarded_date else "" + + close_date = c.closed_at + resolve_date = c.resolved_at + + summary_ar = c.short_description_ar + summary_en = c.short_description_en + + complained_person = c.staff_name or "" + + delay_reason_dept = "" + delayed_person = "" + if dept_inv: + delay_reason_dept = dept_inv.delay_reason + delayed_person = dept_inv.delayed_person + + rightful_side = c.get_resolution_outcome_display() if c.resolution_outcome else "" + + row_data = [ + week_of_month, + idx, + c.reference_number or "", + c.file_number or (c.patient.mrn if c.patient else ""), + source_display, + location_display, + main_dept, + sub_dept_name, + fmt_date(cal), + entry_by, + c.moh_reference, + fmt_date(c.moh_reference_date), + "", + c.contact_phone, + get_timeline_sla(c), + fmt_date(c.form_sent_at), + fmt_time(c.form_sent_at), + c.created_by.get_full_name() if c.created_by else "", + fmt_date(filed_date), + fmt_time(filed_date), + "Yes" if activation_date else "No", + fmt_date(activation_date), + fmt_time(activation_date), + activation_employee, + fmt_date(forwarded_date), + fmt_time(forwarded_date), + forwarded_employee, + time_filed_to_sent, + fmt_date(reminder1_date), + fmt_time(reminder1_date), + "", + time_rem1_to_sent, + fmt_date(reminder2_date), + fmt_time(reminder2_date), + "", + time_rem2_to_rem1, + "Yes" if escalated_date else "No", + fmt_date(escalated_date), + fmt_time(escalated_date), + "", + time_escal_to_sent, + "Yes" if close_date else "No", + fmt_date(close_date), + fmt_time(close_date), + c.closed_by.get_full_name() if c.closed_by else "", + time_diff(resolve_date, close_date) if resolve_date and close_date else "", + "Yes" if resolve_date else "No", + fmt_date(resolve_date), + fmt_time(resolve_date), + c.resolved_by.get_full_name() if c.resolved_by else "", + time_diff(c.resolution_sent_at, resolve_date) if c.resolution_sent_at and resolve_date else "", + fmt_date(c.response_date), + "", + time_diff(c.response_date, resolve_date) if c.response_date and resolve_date else "", + complained_person, + c.complaint_subject or c.title, + summary_ar, + summary_en, + "", + "", + delay_reason_dept, + c.delay_reason_closure, + delayed_person, + c.get_satisfaction_display() if c.satisfaction else "", + c.action_taken_by_dept, + c.action_result, + c.recommendation_action_plan or "", + c.recommendation_action_plan or "", + dept_name or (c.department.name if c.department else ""), + rightful_side, + "", + ] + + for col_num, val in enumerate(row_data, 1): + cell = ws.cell(row=row_num, column=col_num, value=val) + cell.border = THIN_BORDER + cell.alignment = Alignment(vertical="center", wrap_text=True) + row_num += 1 + + summary_row = row_num + 2 + + ws.cell(row=summary_row, column=1, value="Weekly Breakdown").font = SECTION_FONT + summary_row += 1 + _write_header_row(ws, summary_row, ["Metric", "Week 1", "Week 2", "Week 3", "Week 4", "Week 5", "Total"]) + summary_row += 1 + for week in range(1, 6): + start_day = (week - 1) * 7 + 1 + end_day = week * 7 + week_count = sum( + 1 for c in queryset if start_day <= c.created_at.day <= end_day and c.created_at.month == month + ) + ws.cell(row=summary_row, column=week + 1, value=week_count) + ws.cell(row=summary_row, column=7, value=queryset.count()) + summary_row += 2 + + ws.cell(row=summary_row, column=1, value="Source Distribution").font = SECTION_FONT + summary_row += 1 + _write_header_row(ws, summary_row, ["Source", "Count", "%"]) + summary_row += 1 + total = queryset.count() + source_counts = {"MOH": 0, "CCHI": 0, "Patient": 0, "Patient's Relatives": 0, "Other": 0} + for c in queryset: + if c.source and c.source.code == "moh": + source_counts["MOH"] += 1 + elif c.source and c.source.code == "chi": + source_counts["CCHI"] += 1 + elif c.complaint_source_type == "internal": + if c.source and c.source.code == "chi": + source_counts["CCHI"] += 1 + elif c.source and c.source.code == "moh": + source_counts["MOH"] += 1 + else: + source_counts["Patient"] += 1 + else: + source_counts["Other"] += 1 + for src, cnt in source_counts.items(): + if cnt > 0: + pct = (cnt / total * 100) if total else 0 + ws.cell(row=summary_row, column=1, value=src) + ws.cell(row=summary_row, column=2, value=cnt) + ws.cell(row=summary_row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws.cell(row=summary_row, column=col).border = THIN_BORDER + summary_row += 1 + ws.cell(row=summary_row, column=1, value="Total").font = Font(bold=True) + ws.cell(row=summary_row, column=2, value=total) + summary_row += 2 + + ws.cell(row=summary_row, column=1, value="Department Category Breakdown").font = SECTION_FONT + summary_row += 1 + _write_header_row(ws, summary_row, ["Category", "Count", "%"]) + summary_row += 1 + dept_categories = {} + for c in queryset: + dept_name_raw = "" + dept_inv = c.involved_departments.filter(is_primary=True).first() or c.involved_departments.first() + if dept_inv and dept_inv.department: + dept_name_raw = dept_inv.department.name + elif c.department: + dept_name_raw = c.department.name + cat = classify_department(dept_name_raw) or "Other" + dept_categories[cat] = dept_categories.get(cat, 0) + 1 + for cat, cnt in sorted(dept_categories.items(), key=lambda x: -x[1]): + pct = (cnt / total * 100) if total else 0 + ws.cell(row=summary_row, column=1, value=cat) + ws.cell(row=summary_row, column=2, value=cnt) + ws.cell(row=summary_row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws.cell(row=summary_row, column=col).border = THIN_BORDER + summary_row += 1 + summary_row += 2 + + ws.cell(row=summary_row, column=1, value="Employee Performance").font = SECTION_FONT + summary_row += 1 + _write_header_row(ws, summary_row, ["Employee", "Count", "%", "24h", "48h", "72h", ">72h", "Total", "SELF"]) + summary_row += 1 + + emp_stats = ( + queryset.values("created_by__first_name", "created_by__last_name") + .annotate( + total=Count("pk"), + ) + .order_by("-total") + ) + + for emp in emp_stats: + name = f"{emp['created_by__first_name'] or ''} {emp['created_by__last_name'] or ''}".strip() or "Unknown" + emp_qs = queryset.filter( + created_by__first_name=emp["created_by__first_name"], created_by__last_name=emp["created_by__last_name"] + ) + h24 = sum(1 for c in emp_qs if c.resolved_at and (c.resolved_at - c.created_at).total_seconds() <= 86400) + h48 = sum( + 1 for c in emp_qs if c.resolved_at and 86400 < (c.resolved_at - c.created_at).total_seconds() <= 172800 + ) + h72 = sum( + 1 for c in emp_qs if c.resolved_at and 172800 < (c.resolved_at - c.created_at).total_seconds() <= 259200 + ) + over72 = emp["total"] - h24 - h48 - h72 + self_count = sum(1 for c in emp_qs if c.created_by == c.assigned_to) + pct = (emp["total"] / total * 100) if total else 0 + row_vals = [name, emp["total"], f"{pct:.1f}%", h24, h48, h72, max(0, over72), emp["total"], self_count] + for col_num, val in enumerate(row_vals, 1): + ws.cell(row=summary_row, column=col_num, value=val) + ws.cell(row=summary_row, column=col_num).border = THIN_BORDER + summary_row += 1 + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="monthly_calculations_{month_label}.xlsx"' + wb.save(response) + return response + + +def _build_quarterly_yearly_report(queryset, title, months_list, year=None): + """ + Shared logic for quarterly and yearly calculations reports. + + Args: + queryset: Complaint queryset (already filtered by date range) + title: Sheet/report title (e.g., "Q1 2025" or "Yearly 2025") + months_list: list of (month_num,) tuples for each month in the period + year: year number (optional, for sheet naming) + """ + from apps.complaints.models import Complaint, ComplaintInvolvedDepartment + + wb = Workbook() + + ws_kpi = wb.active + ws_kpi.title = "1. KPI" + + dept_cat_keywords = { + "medical": [ + "doctor", + "physician", + "surgeon", + "consultant", + "specialist", + "er", + "emergency", + "icu", + "nicu", + "pediatric", + "ob/gyn", + "cardiology", + "orthoped", + "radiology", + "dermatolog", + "lab", + "pharmacy", + "anesthesi", + "nephrology", + "urology", + "dental", + "oncolog", + "hematolog", + "gastroenter", + "endocrin", + "neurolog", + "psychiatry", + "internal medicine", + "general surgery", + "pediatrics", + "nutrition", + "physiothera", + "physical therapy", + "rehab", + "medical report", + "blood bank", + "infection control", + ], + "admin": [ + "reception", + "appointment", + "approval", + "insurance", + "finance", + "billing", + "hr", + "medical record", + "management", + "admin", + "security", + "facility", + "quality", + "risk", + "credential", + "medical approval", + "pre-approval", + "preapproval", + "it ", + ], + "nursing": ["nurs", "nurse", "iv ", "injection", "medication admin", "wound care", "triage"], + "support": ["kitchen", "food service", "clean", "housekeep", "laundry", "steriliz", "central supply"], + } + + def classify_department(dept_name): + if not dept_name: + return "Other" + name_lower = dept_name.lower() + for cat, keywords in dept_cat_keywords.items(): + for kw in keywords: + if kw in name_lower: + return cat.title() + return "Other" + + month_labels = [datetime.strptime(f"{year}-{m:02d}", "%Y-%m").strftime("%b") for _, m in months_list] + + complaints_list = list( + queryset.select_related( + "hospital", + "department", + "source", + "created_by", + "assigned_to", + "resolved_by", + "closed_by", + ).prefetch_related("involved_departments__department") + ) + + month_complaints = {} + for c in complaints_list: + m_key = c.created_at.month + if m_key not in month_complaints: + month_complaints[m_key] = [] + month_complaints[m_key].append(c) + + def _month_qs(m): + return month_complaints.get(m, []) + + row = 1 + ws_kpi.cell(row=row, column=1, value=title).font = Font(bold=True, size=14) + row += 2 + + def write_kpi_block(name, monthly_values, target=0.95, threshold=0.90): + nonlocal row + ws_kpi.cell(row=row, column=1, value=name).font = Font(bold=True, size=12) + row += 1 + + numerator_label_row = row + ws_kpi.cell(row=row, column=1, value="Numerator") + for i, (m_num, _) in enumerate(months_list): + ws_kpi.cell(row=row, column=2 + i, value=monthly_values[i][0]) + total_num = sum(v[0] for v in monthly_values) + ws_kpi.cell(row=row, column=2 + len(months_list), value=total_num) + row += 1 + + ws_kpi.cell(row=row, column=1, value="Denominator") + for i, (m_num, _) in enumerate(months_list): + ws_kpi.cell(row=row, column=2 + i, value=monthly_values[i][1]) + total_den = sum(v[1] for v in monthly_values) + ws_kpi.cell(row=row, column=2 + len(months_list), value=total_den) + row += 1 + + ws_kpi.cell(row=row, column=1, value="Result (%)") + for i, (m_num, _) in enumerate(months_list): + pct = (monthly_values[i][0] / monthly_values[i][1] * 100) if monthly_values[i][1] else 0 + ws_kpi.cell(row=row, column=2 + i, value=f"{pct:.1f}%") + total_pct = (total_num / total_den * 100) if total_den else 0 + ws_kpi.cell(row=row, column=2 + len(months_list), value=f"{total_pct:.1f}%") + row += 2 + + kpi1_data = [] + kpi2_data = [] + kpi4_data = [] + for m_num, _ in months_list: + mc = _month_qs(m_num) + total_m = len(mc) + closed_m = sum(1 for c in mc if c.status in ("resolved", "closed")) + kpi1_data.append((closed_m, total_m)) + + resolved_72h = 0 + for c in mc: + if c.resolved_at and c.created_at: + if (c.resolved_at - c.created_at).total_seconds() <= 259200: + resolved_72h += 1 + kpi2_data.append((resolved_72h, total_m)) + + resolved_48h = 0 + for c in mc: + if c.resolved_at and c.created_at: + if (c.resolved_at - c.created_at).total_seconds() <= 172800: + resolved_48h += 1 + kpi4_data.append((resolved_48h, total_m)) + + write_kpi_block("KPI #1 — Closure Rate", kpi1_data) + write_kpi_block("KPI #2 — Resolved Within 72 Hours", kpi2_data) + write_kpi_block("KPI #4 — Responses Within 48 Hours", kpi4_data, target=0.50, threshold=0.40) + + kpi3_data = [] + for m_num, _ in months_list: + mc = _month_qs(m_num) + satisfied_m = sum(1 for c in mc if c.satisfaction == "satisfied") + total_surveyed_m = sum(1 for c in mc if c.satisfaction in ("satisfied", "neutral", "dissatisfied")) + kpi3_data.append((satisfied_m, total_surveyed_m)) + + write_kpi_block("KPI #3 — Satisfaction Rate", kpi3_data, target=0.80, threshold=0.70) + + response_rate_call_data = [] + response_rate_survey_data = [] + for m_num, _ in months_list: + mc = _month_qs(m_num) + total_m = len(mc) + responded_call = sum(1 for c in mc if c.satisfaction in ("satisfied", "neutral", "dissatisfied")) + responded_survey = sum(1 for c in mc if c.resolution_survey_id is not None) + response_rate_call_data.append((responded_call, total_m)) + response_rate_survey_data.append((responded_survey, total_m)) + + write_kpi_block("Response Rate — Calls", response_rate_call_data, target=0.80, threshold=0.70) + write_kpi_block("Response Rate — Survey", response_rate_survey_data, target=0.80, threshold=0.70) + + for col in range(1, 3 + len(months_list)): + ws_kpi.column_dimensions[get_column_letter(col)].width = 16 + + ws_table = wb.create_sheet("2. First Table") + row = 1 + ws_table.cell(row=row, column=1, value=f"{title} — Distribution Analysis").font = Font(bold=True, size=14) + row += 2 + + external = 0 + internal = 0 + source_breakdown = {"MOH": 0, "CCHI": 0, "Insurance": 0, "Internal": 0} + location_breakdown = {"In-Patient": 0, "Out-Patient": 0, "ER": 0} + category_breakdown = {} + + for c in complaints_list: + is_external = False + if c.source and c.source.code == "moh": + source_breakdown["MOH"] += 1 + external += 1 + is_external = True + elif c.source and c.source.code == "chi": + source_breakdown["CCHI"] += 1 + external += 1 + is_external = True + else: + source_breakdown["Internal"] += 1 + internal += 1 + + loc = "Other" + if c.main_section: + loc_name = c.main_section.name.lower() if hasattr(c.main_section, "name") else str(c.main_section).lower() + if "inpatient" in loc_name or "ip" in loc_name: + loc = "In-Patient" + elif "outpatient" in loc_name or "op" in loc_name or "clinic" in loc_name: + loc = "Out-Patient" + elif "er" in loc_name or "emergency" in loc_name: + loc = "ER" + location_breakdown[loc] = location_breakdown.get(loc, 0) + 1 + + dept_inv = c.involved_departments.filter(is_primary=True).first() or c.involved_departments.first() + dept_name = "" + if dept_inv and dept_inv.department: + dept_name = dept_inv.department.name + elif c.department: + dept_name = c.department.name + cat = classify_department(dept_name) + category_breakdown[cat] = category_breakdown.get(cat, 0) + 1 + + total = len(complaints_list) + + ws_table.cell(row=row, column=1, value="External vs Internal").font = SECTION_FONT + row += 1 + _write_header_row(ws_table, row, ["Category", "Count", "%"]) + row += 1 + for label, count in [("External (MOH/CCHI/Insurance)", external), ("Internal (Patients/Relatives)", internal)]: + pct = (count / total * 100) if total else 0 + ws_table.cell(row=row, column=1, value=label) + ws_table.cell(row=row, column=2, value=count) + ws_table.cell(row=row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws_table.cell(row=row, column=col).border = THIN_BORDER + row += 1 + ws_table.cell(row=row, column=1, value="Total").font = Font(bold=True) + ws_table.cell(row=row, column=2, value=total).font = Font(bold=True) + row += 2 + + ws_table.cell(row=row, column=1, value="By Source").font = SECTION_FONT + row += 1 + _write_header_row(ws_table, row, ["Source", "Count", "%"]) + row += 1 + for src, cnt in sorted(source_breakdown.items(), key=lambda x: -x[1]): + pct = (cnt / total * 100) if total else 0 + ws_table.cell(row=row, column=1, value=src) + ws_table.cell(row=row, column=2, value=cnt) + ws_table.cell(row=row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws_table.cell(row=row, column=col).border = THIN_BORDER + row += 1 + row += 2 + + ws_table.cell(row=row, column=1, value="By Location").font = SECTION_FONT + row += 1 + _write_header_row(ws_table, row, ["Location", "Count", "%"]) + row += 1 + for loc, cnt in sorted(location_breakdown.items(), key=lambda x: -x[1]): + pct = (cnt / total * 100) if total else 0 + ws_table.cell(row=row, column=1, value=loc) + ws_table.cell(row=row, column=2, value=cnt) + ws_table.cell(row=row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws_table.cell(row=row, column=col).border = THIN_BORDER + row += 1 + row += 2 + + ws_table.cell(row=row, column=1, value="By Department Category").font = SECTION_FONT + row += 1 + _write_header_row(ws_table, row, ["Category", "Count", "%"]) + row += 1 + for cat, cnt in sorted(category_breakdown.items(), key=lambda x: -x[1]): + pct = (cnt / total * 100) if total else 0 + ws_table.cell(row=row, column=1, value=cat) + ws_table.cell(row=row, column=2, value=cnt) + ws_table.cell(row=row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws_table.cell(row=row, column=col).border = THIN_BORDER + row += 1 + + for col in range(1, 5): + ws_table.column_dimensions[get_column_letter(col)].width = 35 + + ws_escalated = wb.create_sheet("3. Escalated Complaints") + row = 1 + ws_escalated.cell(row=row, column=1, value=f"{title} — Escalated Complaints by Department").font = Font( + bold=True, size=14 + ) + row += 2 + + escalated_by_dept = {} + escalated_by_cat = {} + for c in complaints_list: + if c.escalated_at: + dept_inv = c.involved_departments.filter(is_primary=True).first() or c.involved_departments.first() + dept_name = "" + if dept_inv and dept_inv.department: + dept_name = dept_inv.department.name + elif c.department: + dept_name = c.department.name + if dept_name: + escalated_by_dept[dept_name] = escalated_by_dept.get(dept_name, 0) + 1 + cat = classify_department(dept_name) + if cat not in escalated_by_cat: + escalated_by_cat[cat] = {"escalated": 0, "total": 0} + escalated_by_cat[cat]["escalated"] += 1 + + for c in complaints_list: + dept_inv = c.involved_departments.filter(is_primary=True).first() or c.involved_departments.first() + dept_name = "" + if dept_inv and dept_inv.department: + dept_name = dept_inv.department.name + elif c.department: + dept_name = c.department.name + cat = classify_department(dept_name) + if cat not in escalated_by_cat: + escalated_by_cat[cat] = {"escalated": 0, "total": 0} + escalated_by_cat[cat]["total"] += 1 + + _write_header_row(ws_escalated, row, ["Department Category", "Escalated", "Total", "Escalation Rate"]) + row += 1 + for cat, data in sorted(escalated_by_cat.items()): + rate = (data["escalated"] / data["total"] * 100) if data["total"] else 0 + ws_escalated.cell(row=row, column=1, value=cat) + ws_escalated.cell(row=row, column=2, value=data["escalated"]) + ws_escalated.cell(row=row, column=3, value=data["total"]) + ws_escalated.cell(row=row, column=4, value=f"{rate:.1f}%") + for col in range(1, 5): + ws_escalated.cell(row=row, column=col).border = THIN_BORDER + row += 1 + + row += 2 + ws_escalated.cell(row=row, column=1, value="Escalated by Specific Department").font = SECTION_FONT + row += 1 + _write_header_row(ws_escalated, row, ["Department", "Escalated Count"]) + row += 1 + for dept, cnt in sorted(escalated_by_dept.items(), key=lambda x: -x[1]): + ws_escalated.cell(row=row, column=1, value=dept) + ws_escalated.cell(row=row, column=2, value=cnt) + for col in range(1, 3): + ws_escalated.cell(row=row, column=col).border = THIN_BORDER + row += 1 + + for col in range(1, 5): + ws_escalated.column_dimensions[get_column_letter(col)].width = 30 + + response_rate_sheets = [ + ("5. Internal Response Rate", "internal"), + ("6. CHI Response Rate", "chi"), + ("7. MOH Response Rate", "moh"), + ] + for sheet_name, source_filter in response_rate_sheets: + ws_rr = wb.create_sheet(sheet_name) + row = 1 + ws_rr.cell(row=row, column=1, value=f"{title} — {sheet_name}").font = Font(bold=True, size=14) + row += 2 + + if source_filter == "internal": + filtered = [c for c in complaints_list if not (c.source and c.source.code in ("moh", "chi"))] + elif source_filter == "chi": + filtered = [c for c in complaints_list if c.source and c.source.code == "chi"] + else: + filtered = [c for c in complaints_list if c.source and c.source.code == "moh"] + + buckets = {"24 Hours": 0, "48 Hours": 0, "72 Hours": 0, "More than 72 Hours": 0} + for c in filtered: + if c.resolved_at and c.created_at: + hours = (c.resolved_at - c.created_at).total_seconds() / 3600 + if hours <= 24: + buckets["24 Hours"] += 1 + elif hours <= 48: + buckets["48 Hours"] += 1 + elif hours <= 72: + buckets["72 Hours"] += 1 + else: + buckets["More than 72 Hours"] += 1 + else: + buckets["More than 72 Hours"] += 1 + + total_filtered = len(filtered) + _write_header_row(ws_rr, row, ["Timeline", "Count", "%"]) + row += 1 + for label, cnt in buckets.items(): + pct = (cnt / total_filtered * 100) if total_filtered else 0 + ws_rr.cell(row=row, column=1, value=label) + ws_rr.cell(row=row, column=2, value=cnt) + ws_rr.cell(row=row, column=3, value=f"{pct:.1f}%") + for col in range(1, 4): + ws_rr.cell(row=row, column=col).border = THIN_BORDER + row += 1 + ws_rr.cell(row=row, column=1, value="Total").font = Font(bold=True) + ws_rr.cell(row=row, column=2, value=total_filtered).font = Font(bold=True) + + for col in range(1, 4): + ws_rr.column_dimensions[get_column_letter(col)].width = 25 + + return wb + + +def export_quarterly_calculations(queryset, year, quarter): + """ + Step 2 — Quarterly Calculations Excel export. + + Args: + queryset: Complaint queryset filtered to the quarter + year: int + quarter: int (1-4) + """ + quarter_months = { + 1: [(1, "Jan"), (2, "Feb"), (3, "Mar")], + 2: [(4, "Apr"), (5, "May"), (6, "Jun")], + 3: [(7, "Jul"), (8, "Aug"), (9, "Sep")], + 4: [(10, "Oct"), (11, "Nov"), (12, "Dec")], + } + months = quarter_months[quarter] + title = f"Q{quarter} {year}" + + wb = _build_quarterly_yearly_report(queryset, title, months, year=year) + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="quarterly_calculations_Q{quarter}_{year}.xlsx"' + wb.save(response) + return response + + +def export_yearly_calculations(queryset, year): + """ + Yearly Calculations Excel export. + + Args: + queryset: Complaint queryset filtered to the year + year: int + """ + months = [(m, datetime.strptime(f"{m}", "%m").strftime("%b")) for m in range(1, 13)] + title = f"Yearly {year}" + + wb = _build_quarterly_yearly_report(queryset, title, months, year=year) + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="yearly_calculations_{year}.xlsx"' + wb.save(response) + return response + + +def export_inquiries_report(queryset, year, month, is_outgoing=False): + """ + Reports — Incoming/Outgoing Inquiries Excel export. + + Matches the 27-column template from the Excel documents. + """ + wb = Workbook() + month_label = f"{year}-{month:02d}" + ws = wb.active + ws.title = month_label + + prefix = "Outgoing" if is_outgoing else "Incoming" + headers = [ + "Week", + "No.", + "Date/Time", + "Visitor Name", + "Mobile", + "Department", + "Employee ID", + "Timeline", + "Inquiry Date", + "Inquiry Time", + "Contacted NR Date", + "Contacted NR Time", + "Contacted NR Employee", + "Response Duration", + "Under Process Date", + "Under Process Time", + "Under Process Employee", + "Processing Duration", + "Contacted Date", + "Contacted Time", + "Contacted Employee", + "Contact Duration", + "", + "Inquiry Description", + "Status", + "Employee Notes", + "Supervisor Notes", + ] + _write_header(ws, 1, headers) + ws.freeze_panes = "C2" + + qs = queryset.select_related( + "hospital", + "department", + "assigned_to", + "created_by", + "outgoing_department", + "responded_by", + ).prefetch_related("updates") + + row_num = 2 + for idx, inq in enumerate(qs, 1): + week_of_month = (inq.created_at.day - 1) // 15 + 1 + week_label = "1st Half" if week_of_month == 1 else "2nd Half" + + dept_name = "" + if is_outgoing: + dept_name = inq.outgoing_department.name if inq.outgoing_department else "" + else: + dept_name = inq.department.name if inq.department else "" + + created_date = inq.created_at.date() if inq.created_at else "" + created_time = inq.created_at.strftime("%H:%M") if inq.created_at else "" + activated_date = inq.activated_at or inq.assigned_at + responded_date = inq.responded_at + + timeline = "" + if inq.due_at and inq.created_at: + hours = (inq.due_at - inq.created_at).total_seconds() / 3600 + if hours <= 24: + timeline = "24 Hours" + elif hours <= 48: + timeline = "48 Hours" + elif hours <= 72: + timeline = "72 Hours" + else: + timeline = "More than 72 hours" + + _write_row( + ws, + row_num, + [ + week_label, + idx, + f"{created_date} {created_time}", + inq.contact_name or "", + inq.contact_phone or "", + dept_name, + "", + timeline, + inq.assigned_at.date() if inq.assigned_at else "", + inq.assigned_at.strftime("%H:%M") if inq.assigned_at else "", + "", + "", + "", + "", + "", + "", + "", + "", + responded_date.date() if responded_date else "", + responded_date.strftime("%H:%M") if responded_date else "", + inq.responded_by.get_full_name() if inq.responded_by else "", + "", + "", + inq.subject, + inq.get_status_display(), + "", + "", + ], + ) + row_num += 1 + + summary_row = row_num + 2 + total = queryset.count() + status_counts = queryset.values("status").annotate(count=Count("pk")) + timeline_counts = {"24 Hours": 0, "48 Hours": 0, "72 Hours": 0, "More than 72 hours": 0} + for inq in qs: + if inq.due_at and inq.created_at: + hours = (inq.due_at - inq.created_at).total_seconds() / 3600 + if hours <= 24: + timeline_counts["24 Hours"] += 1 + elif hours <= 48: + timeline_counts["48 Hours"] += 1 + elif hours <= 72: + timeline_counts["72 Hours"] += 1 + else: + timeline_counts["More than 72 hours"] += 1 + + ws.cell(row=summary_row, column=1, value="Summary").font = SECTION_FONT + summary_row += 1 + ws.cell(row=summary_row, column=1, value=f"Total {prefix} Inquiries: {total}") + summary_row += 2 + + ws.cell(row=summary_row, column=1, value="By Status").font = SECTION_FONT + summary_row += 1 + _write_header(ws, summary_row, ["Status", "Count"]) + summary_row += 1 + for sc in status_counts: + ws.cell(row=summary_row, column=1, value=sc["status"]) + ws.cell(row=summary_row, column=2, value=sc["count"]) + summary_row += 1 + summary_row += 1 + + ws.cell(row=summary_row, column=1, value="By Timeline").font = SECTION_FONT + summary_row += 1 + _write_header(ws, summary_row, ["Timeline", "Count"]) + summary_row += 1 + for tl, cnt in timeline_counts.items(): + ws.cell(row=summary_row, column=1, value=tl) + ws.cell(row=summary_row, column=2, value=cnt) + summary_row += 1 + + for col in range(1, 10): + ws.column_dimensions[get_column_letter(col)].width = 18 + ws.column_dimensions[get_column_letter(4)].width = 25 + ws.column_dimensions[get_column_letter(23)].width = 40 + ws.column_dimensions[get_column_letter(24)].width = 20 + ws.column_dimensions[get_column_letter(26)].width = 30 + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="{prefix.lower()}_inquiries_{month_label}.xlsx"' + wb.save(response) + return response + + +def export_observations_report(queryset, year, month): + """ + Reports — Observations Excel export. + + Matches the 22-column template from the Observations Excel document. + """ + wb = Workbook() + month_label = f"{year}-{month:02d}" + ws = wb.active + ws.title = month_label + + headers = [ + "Portal", + "Note No.", + "Send Date", + "Send Time", + "Recipient Mobile", + "File Number", + "Sender Employee ID", + "Observation Source", + "Main Category", + "Sub-Category", + "", + "Topic", + "Details (Arabic)", + "Details (English)", + "Person Notified", + "Department Notified", + "Communication Method", + "Communication Date", + "Communication Time", + "Action Plan / Action Taken", + "Follow-Up Resolved?", + "Solutions & Suggestions", + ] + _write_header(ws, 1, headers) + ws.freeze_panes = "C2" + + row_num = 2 + for idx, obs in enumerate(queryset, 1): + action_taken = "" + resolved = "" + solutions = "" + + for note in obs.notes.all(): + text = note.note.lower() if note.note else "" + if not action_taken and ("action" in text or "taken" in text): + action_taken = note.note + if "resolved" in text or "done" in text: + resolved = "Yes" + if "suggestion" in text or "solution" in text: + solutions = note.note + + obs_source = "" + if obs.source: + source_map = { + "staff_portal": "Portal", + "web_form": "Portal", + "mobile_app": "Barcode", + "email": "Referral", + "call_center": "In-person", + } + obs_source = source_map.get(obs.source, obs.source) + + status_map = { + "resolved": "done", + "closed": "resolved", + "in_progress": "under process", + "new": "", + } + resolved_display = status_map.get(obs.status, "") + + _write_row( + ws, + row_num, + [ + obs_source, + idx, + obs.incident_datetime.date() if obs.incident_datetime else "", + obs.incident_datetime.strftime("%H:%M") if obs.incident_datetime else "", + obs.reporter_phone or "", + obs.tracking_code or "", + obs.reporter_staff_id or "", + obs_source, + obs.category.name if obs.category else "", + obs.assigned_department.name if obs.assigned_department else "", + "", + obs.title or "", + obs.description or "", + obs.resolution_notes or "", + obs.assigned_to.get_full_name() if obs.assigned_to else "", + obs.assigned_department.name if obs.assigned_department else "", + "", + obs.activated_at.date() if obs.activated_at else "", + obs.activated_at.strftime("%H:%M") if obs.activated_at else "", + action_taken, + resolved_display, + solutions, + ], + ) + row_num += 1 + + for col in range(1, 23): + ws.column_dimensions[get_column_letter(col)].width = 20 + ws.column_dimensions[get_column_letter(13)].width = 40 + ws.column_dimensions[get_column_letter(14)].width = 40 + ws.column_dimensions[get_column_letter(20)].width = 35 + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="observations_{month_label}.xlsx"' + wb.save(response) + return response diff --git a/apps/complaints/views.py b/apps/complaints/views.py index 5df12a6..06874b8 100644 --- a/apps/complaints/views.py +++ b/apps/complaints/views.py @@ -1,6 +1,7 @@ """ Complaints views and viewsets """ + import logging from django.db.models import Q @@ -19,8 +20,9 @@ from .models import ( ComplaintExplanation, ComplaintMeeting, ComplaintPRInteraction, + ComplaintStatus, ComplaintUpdate, - Inquiry + Inquiry, ) from .serializers import ( ComplaintAttachmentSerializer, @@ -31,6 +33,7 @@ from .serializers import ( ComplaintUpdateSerializer, InquirySerializer, ) +from .services.complaint_service import ComplaintService, ComplaintServiceError logger = logging.getLogger(__name__) @@ -44,58 +47,53 @@ def map_complaint_category_to_action_category(complaint_category_code): Returns 'other' as fallback if no match found. """ if not complaint_category_code: - return 'other' + return "other" mapping = { # Clinical issues - 'clinical': 'clinical_quality', - 'medical': 'clinical_quality', - 'diagnosis': 'clinical_quality', - 'treatment': 'clinical_quality', - 'medication': 'clinical_quality', - 'care': 'clinical_quality', - + "clinical": "clinical_quality", + "medical": "clinical_quality", + "diagnosis": "clinical_quality", + "treatment": "clinical_quality", + "medication": "clinical_quality", + "care": "clinical_quality", # Safety issues - 'safety': 'patient_safety', - 'risk': 'patient_safety', - 'incident': 'patient_safety', - 'infection': 'patient_safety', - 'harm': 'patient_safety', - + "safety": "patient_safety", + "risk": "patient_safety", + "incident": "patient_safety", + "infection": "patient_safety", + "harm": "patient_safety", # Service quality - 'service': 'service_quality', - 'communication': 'service_quality', - 'wait': 'service_quality', - 'response': 'service_quality', - 'customer_service': 'service_quality', - 'timeliness': 'service_quality', - 'waiting_time': 'service_quality', - + "service": "service_quality", + "communication": "service_quality", + "wait": "service_quality", + "response": "service_quality", + "customer_service": "service_quality", + "timeliness": "service_quality", + "waiting_time": "service_quality", # Staff behavior - 'staff': 'staff_behavior', - 'behavior': 'staff_behavior', - 'attitude': 'staff_behavior', - 'professionalism': 'staff_behavior', - 'rude': 'staff_behavior', - 'respect': 'staff_behavior', - + "staff": "staff_behavior", + "behavior": "staff_behavior", + "attitude": "staff_behavior", + "professionalism": "staff_behavior", + "rude": "staff_behavior", + "respect": "staff_behavior", # Facility - 'facility': 'facility', - 'environment': 'facility', - 'cleanliness': 'facility', - 'equipment': 'facility', - 'infrastructure': 'facility', - 'parking': 'facility', - 'accessibility': 'facility', - + "facility": "facility", + "environment": "facility", + "cleanliness": "facility", + "equipment": "facility", + "infrastructure": "facility", + "parking": "facility", + "accessibility": "facility", # Process - 'process': 'process_improvement', - 'administrative': 'process_improvement', - 'billing': 'process_improvement', - 'procedure': 'process_improvement', - 'workflow': 'process_improvement', - 'registration': 'process_improvement', - 'appointment': 'process_improvement', + "process": "process_improvement", + "administrative": "process_improvement", + "billing": "process_improvement", + "procedure": "process_improvement", + "workflow": "process_improvement", + "registration": "process_improvement", + "appointment": "process_improvement", } # Try exact match first @@ -109,7 +107,7 @@ def map_complaint_category_to_action_category(complaint_category_code): return action_category # Fallback to 'other' - return 'other' + return "other" class ComplaintViewSet(viewsets.ModelViewSet): @@ -120,29 +118,49 @@ class ComplaintViewSet(viewsets.ModelViewSet): - All authenticated users can view complaints - PX Admins and Hospital Admins can create/manage complaints """ + queryset = Complaint.objects.all() permission_classes = [IsAuthenticated] filterset_fields = [ - 'status', 'severity', 'priority', 'category', 'source', - 'hospital', 'department', 'staff', 'assigned_to', - 'is_overdue', 'hospital__organization' + "status", + "severity", + "priority", + "category", + "source", + "hospital", + "department", + "staff", + "assigned_to", + "is_overdue", + "hospital__organization", ] - search_fields = ['title', 'description', 'reference_number', 'patient__mrn', 'patient__first_name', 'patient__last_name'] - ordering_fields = ['created_at', 'due_at', 'severity'] - ordering = ['-created_at'] + search_fields = [ + "title", + "description", + "reference_number", + "patient__mrn", + "patient__first_name", + "patient__last_name", + ] + ordering_fields = ["created_at", "due_at", "severity"] + ordering = ["-created_at"] def get_serializer_class(self): """Use simplified serializer for list view""" - if self.action == 'list': + if self.action == "list": return ComplaintListSerializer return ComplaintSerializer def get_queryset(self): """Filter complaints based on user role""" - queryset = super().get_queryset().select_related( - 'patient', 'hospital', 'department', 'staff', - 'assigned_to', 'resolved_by', 'closed_by', 'created_by' - ).prefetch_related('attachments', 'updates') + queryset = ( + super() + .get_queryset() + .select_related( + "patient", "hospital", "department", "staff", "assigned_to", "resolved_by", "closed_by", "created_by" + ) + .prefetch_related("attachments", "updates") + ) user = self.request.user @@ -151,12 +169,12 @@ class ComplaintViewSet(viewsets.ModelViewSet): return queryset # Source Users see ONLY complaints THEY created - if hasattr(user, 'source_user_profile') and user.source_user_profile.exists(): + if hasattr(user, "source_user_profile") and user.source_user_profile.exists(): return queryset.filter(created_by=user) # Patients see ONLY their own complaints (if they have user accounts) # This assumes patients can have user accounts linked via patient.user - if hasattr(user, 'patient_profile'): + if hasattr(user, "patient_profile"): return queryset.filter(patient__user=user) # Hospital Admins see complaints for their hospital @@ -179,346 +197,188 @@ class ComplaintViewSet(viewsets.ModelViewSet): for specific actions (request_explanation, resend_explanation, send_notification, assignable_admins). """ queryset = self.filter_queryset(self.get_queryset()) - + # PX Admins can access any complaint for specific actions if self.request.user.is_px_admin() and self.action in [ - 'request_explanation', 'resend_explanation', 'send_notification', 'assignable_admins', - 'escalate_explanation', 'review_explanation' + "request_explanation", + "resend_explanation", + "send_notification", + "assignable_admins", + "escalate_explanation", + "review_explanation", ]: # Bypass queryset filtering and get directly by pk lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field lookup_value = self.kwargs[lookup_url_kwarg] return get_object_or_404(Complaint, pk=lookup_value) - + # Normal behavior for other users/actions lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field filter_kwargs = {self.lookup_field: self.kwargs[lookup_url_kwarg]} obj = get_object_or_404(queryset, **filter_kwargs) - + # May raise a permission denied self.check_object_permissions(self.request, obj) return obj def perform_create(self, serializer): - """Log complaint creation and trigger resolution satisfaction survey""" - # Auto-set created_by from request.user + """Log complaint creation and trigger AI analysis""" complaint = serializer.save(created_by=self.request.user) + ComplaintService.post_create_hooks(complaint, self.request.user, request=self.request) - AuditService.log_from_request( - event_type='complaint_created', - description=f"Complaint created: {complaint.title}", - request=self.request, - content_object=complaint, - metadata={ - 'category': complaint.category, - 'severity': complaint.severity, - 'patient_mrn': complaint.patient.mrn, - 'created_by': str(complaint.created_by.id) if complaint.created_by else None - } - ) - - # Trigger AI analysis (includes PX Action auto-creation if enabled) - from apps.complaints.tasks import analyze_complaint_with_ai - analyze_complaint_with_ai.delay(str(complaint.id)) - - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def activate(self, request, pk=None): - """ - Activate complaint by assigning it to current user. - - Only PX Admins and Hospital Admins can activate complaints. - Sets assigned_to to current user, assigned_at to current time, - and status to 'in_progress'. - """ + """Activate complaint by assigning it to current user.""" complaint = self.get_object() - - # Check if user has permission to activate - if not (request.user.is_px_admin() or request.user.is_hospital_admin()): - return Response( - {'error': 'Only PX Admins and Hospital Admins can activate complaints'}, - status=status.HTTP_403_FORBIDDEN - ) - - # Check if already assigned to current user - if complaint.assigned_to == request.user: - return Response( - {'error': 'This complaint is already assigned to you'}, - status=status.HTTP_400_BAD_REQUEST - ) - - old_assignee = complaint.assigned_to - old_status = complaint.status - - # Update complaint - complaint.assigned_to = request.user - complaint.assigned_at = timezone.now() - complaint.status = 'in_progress' - complaint.save(update_fields=['assigned_to', 'assigned_at', 'status']) - - # Create update - roles_display = ', '.join(request.user.get_role_names()) - ComplaintUpdate.objects.create( - complaint=complaint, - update_type='assignment', - message=f"Complaint activated and assigned to {request.user.get_full_name()} ({roles_display})", - created_by=request.user, - metadata={ - 'old_assignee_id': str(old_assignee.id) if old_assignee else None, - 'new_assignee_id': str(request.user.id), - 'assignee_roles': request.user.get_role_names(), - 'old_status': old_status, - 'new_status': 'in_progress', - 'activated_by_current_user': True + + try: + result = ComplaintService.activate(complaint, request.user, request=request) + except ComplaintServiceError as e: + return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST) + + return Response( + { + "message": "Complaint activated successfully", + "assigned_to": { + "id": str(request.user.id), + "name": request.user.get_full_name(), + "roles": request.user.get_role_names(), + }, + "assigned_at": complaint.assigned_at.isoformat(), + "status": complaint.status, } ) - - # Log audit - AuditService.log_from_request( - event_type='complaint_activated', - description=f"Complaint activated by {request.user.get_full_name()}", - request=request, - content_object=complaint, - metadata={ - 'old_assignee_id': str(old_assignee.id) if old_assignee else None, - 'new_assignee_id': str(request.user.id), - 'old_status': old_status, - 'new_status': 'in_progress' - } - ) - - return Response({ - 'message': 'Complaint activated successfully', - 'assigned_to': { - 'id': str(request.user.id), - 'name': request.user.get_full_name(), - 'roles': request.user.get_role_names() - }, - 'assigned_at': complaint.assigned_at.isoformat(), - 'status': complaint.status - }) - - @action(detail=True, methods=['post']) + + @action(detail=True, methods=["post"]) def assign(self, request, pk=None): """Assign complaint to user (PX Admin or Hospital Admin)""" complaint = self.get_object() - user_id = request.data.get('user_id') + user_id = request.data.get("user_id") if not user_id: - return Response( - {'error': 'user_id is required'}, - status=status.HTTP_400_BAD_REQUEST - ) + return Response({"error": "user_id is required"}, status=status.HTTP_400_BAD_REQUEST) from apps.accounts.models import User + try: - user = User.objects.get(id=user_id) - - # Verify user has appropriate role - if not (user.is_px_admin() or user.is_hospital_admin()): - return Response( - {'error': 'Only PX Admins and Hospital Admins can be assigned to complaints'}, - status=status.HTTP_400_BAD_REQUEST - ) - - old_assignee = complaint.assigned_to - complaint.assigned_to = user - complaint.assigned_at = timezone.now() - complaint.save(update_fields=['assigned_to', 'assigned_at']) - - # Create update - roles_display = ', '.join(user.get_role_names()) - ComplaintUpdate.objects.create( - complaint=complaint, - update_type='assignment', - message=f"Assigned to {user.get_full_name()} ({roles_display})", - created_by=request.user, - metadata={ - 'old_assignee_id': str(old_assignee.id) if old_assignee else None, - 'new_assignee_id': str(user.id), - 'assignee_roles': user.get_role_names() - } - ) - - AuditService.log_from_request( - event_type='assignment', - description=f"Complaint assigned to {user.get_full_name()} ({roles_display})", - request=request, - content_object=complaint, - metadata={ - 'old_assignee_id': str(old_assignee.id) if old_assignee else None, - 'new_assignee_id': str(user.id) - } - ) - - return Response({'message': 'Complaint assigned successfully'}) + target_user = User.objects.get(id=user_id) + ComplaintService.assign(complaint, target_user, request.user, request=request) except User.DoesNotExist: - return Response( - {'error': 'User not found'}, - status=status.HTTP_404_NOT_FOUND - ) - - @action(detail=True, methods=['get']) + return Response({"error": "User not found"}, status=status.HTTP_404_NOT_FOUND) + except ComplaintServiceError as e: + return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST) + + return Response({"message": "Complaint assigned successfully"}) + + @action(detail=True, methods=["get"]) def assignable_admins(self, request, pk=None): """ Get assignable admins (PX Admins and Hospital Admins) for this complaint. - + Returns list of all PX Admins and Hospital Admins. Supports searching by name. """ complaint = self.get_object() - + # Check if user has permission to assign admins if not request.user.is_px_admin(): return Response( - {'error': 'Only PX Admins can assign complaints to admins'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins can assign complaints to admins"}, status=status.HTTP_403_FORBIDDEN ) - + from apps.accounts.models import User - + # Get search parameter - search = request.query_params.get('search', '').strip() - + search = request.query_params.get("search", "").strip() + # Simple query - get all PX Admins and Hospital Admins - base_query = Q(groups__name='PX Admin') | Q(groups__name='Hospital Admin') - - queryset = User.objects.filter( - base_query, - is_active=True - ).select_related('hospital').prefetch_related('groups').order_by('first_name', 'last_name') - + base_query = Q(groups__name="PX Admin") | Q(groups__name="Hospital Admin") + + queryset = ( + User.objects.filter(base_query, is_active=True) + .select_related("hospital") + .prefetch_related("groups") + .order_by("first_name", "last_name") + ) + # Search by name or email if provided if search: queryset = queryset.filter( - Q(first_name__icontains=search) | - Q(last_name__icontains=search) | - Q(email__icontains=search) + Q(first_name__icontains=search) | Q(last_name__icontains=search) | Q(email__icontains=search) ) - + # Serialize admins_list = [] for user in queryset: roles = user.get_role_names() - role_display = ', '.join(roles) - - admins_list.append({ - 'id': str(user.id), - 'name': user.get_full_name(), - 'email': user.email, - 'roles': roles, - 'role_display': role_display, - 'hospital': user.hospital.name if user.hospital else None, - 'is_px_admin': user.is_px_admin(), - 'is_hospital_admin': user.is_hospital_admin() - }) - - return Response({ - 'complaint_id': str(complaint.id), - 'hospital_id': str(complaint.hospital.id), - 'hospital_name': complaint.hospital.name, - 'current_assignee': { - 'id': str(complaint.assigned_to.id), - 'name': complaint.assigned_to.get_full_name(), - 'email': complaint.assigned_to.email, - 'roles': complaint.assigned_to.get_role_names() - } if complaint.assigned_to else None, - 'admin_count': len(admins_list), - 'admins': admins_list - }) + role_display = ", ".join(roles) - @action(detail=True, methods=['post']) + admins_list.append( + { + "id": str(user.id), + "name": user.get_full_name(), + "email": user.email, + "roles": roles, + "role_display": role_display, + "hospital": user.hospital.name if user.hospital else None, + "is_px_admin": user.is_px_admin(), + "is_hospital_admin": user.is_hospital_admin(), + } + ) + + return Response( + { + "complaint_id": str(complaint.id), + "hospital_id": str(complaint.hospital.id), + "hospital_name": complaint.hospital.name, + "current_assignee": { + "id": str(complaint.assigned_to.id), + "name": complaint.assigned_to.get_full_name(), + "email": complaint.assigned_to.email, + "roles": complaint.assigned_to.get_role_names(), + } + if complaint.assigned_to + else None, + "admin_count": len(admins_list), + "admins": admins_list, + } + ) + + @action(detail=True, methods=["post"]) def change_status(self, request, pk=None): """Change complaint status""" complaint = self.get_object() - new_status = request.data.get('status') - note = request.data.get('note', '') - - # Resolution-specific fields - resolution_text = request.data.get('resolution', '') - resolution_category = request.data.get('resolution_category', '') - if not new_status: - return Response( - {'error': 'status is required'}, - status=status.HTTP_400_BAD_REQUEST + try: + ComplaintService.change_status( + complaint, + request.data.get("status", ""), + request.user, + request=request, + note=request.data.get("note", ""), + resolution=request.data.get("resolution", ""), + resolution_category=request.data.get("resolution_category", ""), ) + except ComplaintServiceError as e: + return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST) - old_status = complaint.status - complaint.status = new_status + return Response({"message": "Status updated successfully"}) - # Handle status-specific logic - if new_status == 'resolved': - complaint.resolved_at = timezone.now() - complaint.resolved_by = request.user - - # Update resolution fields if provided - if resolution_text: - complaint.resolution = resolution_text - if resolution_category: - complaint.resolution_category = resolution_category - - elif new_status == 'closed': - complaint.closed_at = timezone.now() - complaint.closed_by = request.user - - # Trigger resolution satisfaction survey - from apps.complaints.tasks import send_complaint_resolution_survey - send_complaint_resolution_survey.delay(str(complaint.id)) - - complaint.save() - - # Create update - ComplaintUpdate.objects.create( - complaint=complaint, - update_type='status_change', - message=note or f"Status changed from {old_status} to {new_status}", - created_by=request.user, - old_status=old_status, - new_status=new_status, - metadata={ - 'resolution_text': resolution_text if resolution_text else None, - 'resolution_category': resolution_category if resolution_category else None - } - ) - - AuditService.log_from_request( - event_type='status_change', - description=f"Complaint status changed from {old_status} to {new_status}", - request=request, - content_object=complaint, - metadata={ - 'old_status': old_status, - 'new_status': new_status, - 'resolution_category': resolution_category if resolution_category else None - } - ) - - return Response({'message': 'Status updated successfully'}) - - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def add_note(self, request, pk=None): """Add note to complaint""" complaint = self.get_object() - note = request.data.get('note') + note = request.data.get("note") - if not note: - return Response( - {'error': 'note is required'}, - status=status.HTTP_400_BAD_REQUEST - ) - - # Create update - update = ComplaintUpdate.objects.create( - complaint=complaint, - update_type='note', - message=note, - created_by=request.user - ) + try: + update = ComplaintService.add_note(complaint, note, request.user, request=request) + except ComplaintServiceError as e: + return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST) serializer = ComplaintUpdateSerializer(update) return Response(serializer.data, status=status.HTTP_201_CREATED) - @action(detail=True, methods=['get']) + @action(detail=True, methods=["get"]) def staff_suggestions(self, request, pk=None): """ Get staff matching suggestions for a complaint. @@ -530,27 +390,26 @@ class ComplaintViewSet(viewsets.ModelViewSet): # Check if user is PX Admin if not request.user.is_px_admin(): - return Response( - {'error': 'Only PX Admins can access staff suggestions'}, - status=status.HTTP_403_FORBIDDEN - ) + return Response({"error": "Only PX Admins can access staff suggestions"}, status=status.HTTP_403_FORBIDDEN) # Get AI analysis metadata - ai_analysis = complaint.metadata.get('ai_analysis', {}) - staff_matches = ai_analysis.get('staff_matches', []) - extracted_name = ai_analysis.get('extracted_staff_name', '') - needs_review = ai_analysis.get('needs_staff_review', False) - matched_staff_id = ai_analysis.get('matched_staff_id') + ai_analysis = complaint.metadata.get("ai_analysis", {}) + staff_matches = ai_analysis.get("staff_matches", []) + extracted_name = ai_analysis.get("extracted_staff_name", "") + needs_review = ai_analysis.get("needs_staff_review", False) + matched_staff_id = ai_analysis.get("matched_staff_id") - return Response({ - 'extracted_name': extracted_name, - 'staff_matches': staff_matches, - 'current_staff_id': matched_staff_id, - 'needs_staff_review': needs_staff_review, - 'staff_match_count': len(staff_matches) - }) + return Response( + { + "extracted_name": extracted_name, + "staff_matches": staff_matches, + "current_staff_id": matched_staff_id, + "needs_staff_review": needs_staff_review, + "staff_match_count": len(staff_matches), + } + ) - @action(detail=True, methods=['get']) + @action(detail=True, methods=["get"]) def hospital_staff(self, request, pk=None): """ Get all staff from complaint's hospital for manual selection. @@ -563,21 +422,17 @@ class ComplaintViewSet(viewsets.ModelViewSet): # Check if user is PX Admin if not request.user.is_px_admin(): return Response( - {'error': 'Only PX Admins can access hospital staff list'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins can access hospital staff list"}, status=status.HTTP_403_FORBIDDEN ) from apps.organizations.models import Staff # Get query params - department_id = request.query_params.get('department_id') - search = request.query_params.get('search', '').strip() + department_id = request.query_params.get("department_id") + search = request.query_params.get("search", "").strip() # Build query - queryset = Staff.objects.filter( - hospital=complaint.hospital, - status='active' - ).select_related('department') + queryset = Staff.objects.filter(hospital=complaint.hospital, status="active").select_related("department") # Filter by department if specified if department_id: @@ -586,37 +441,43 @@ class ComplaintViewSet(viewsets.ModelViewSet): # Search by name if provided if search: queryset = queryset.filter( - Q(first_name__icontains=search) | - Q(last_name__icontains=search) | - Q(first_name_ar__icontains=search) | - Q(last_name_ar__icontains=search) | - Q(job_title__icontains=search) + Q(first_name__icontains=search) + | Q(last_name__icontains=search) + | Q(first_name_ar__icontains=search) + | Q(last_name_ar__icontains=search) + | Q(job_title__icontains=search) ) # Order by department and name - queryset = queryset.order_by('department__name', 'first_name', 'last_name') + queryset = queryset.order_by("department__name", "first_name", "last_name") # Serialize staff_list = [] for staff in queryset: - staff_list.append({ - 'id': str(staff.id), - 'name_en': f"{staff.first_name} {staff.last_name}", - 'name_ar': f"{staff.first_name_ar} {staff.last_name_ar}" if staff.first_name_ar and staff.last_name_ar else "", - 'job_title': staff.job_title, - 'specialization': staff.specialization, - 'department': staff.department.name if staff.department else None, - 'department_id': str(staff.department.id) if staff.department else None - }) + staff_list.append( + { + "id": str(staff.id), + "name_en": f"{staff.first_name} {staff.last_name}", + "name_ar": f"{staff.first_name_ar} {staff.last_name_ar}" + if staff.first_name_ar and staff.last_name_ar + else "", + "job_title": staff.job_title, + "specialization": staff.specialization, + "department": staff.department.name if staff.department else None, + "department_id": str(staff.department.id) if staff.department else None, + } + ) - return Response({ - 'hospital_id': str(complaint.hospital.id), - 'hospital_name': complaint.hospital.name, - 'staff_count': len(staff_list), - 'staff': staff_list - }) + return Response( + { + "hospital_id": str(complaint.hospital.id), + "hospital_name": complaint.hospital.name, + "staff_count": len(staff_list), + "staff": staff_list, + } + ) - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def assign_staff(self, request, pk=None): """ Manually assign staff to a complaint. @@ -629,40 +490,35 @@ class ComplaintViewSet(viewsets.ModelViewSet): # Check if complaint is in active status if not complaint.is_active_status: return Response( - {'error': f"Cannot assign staff to complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved."}, - status=status.HTTP_400_BAD_REQUEST + { + "error": f"Cannot assign staff to complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved." + }, + status=status.HTTP_400_BAD_REQUEST, ) # Check if user is PX Admin if not request.user.is_px_admin(): return Response( - {'error': 'Only PX Admins can assign staff to complaints'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins can assign staff to complaints"}, status=status.HTTP_403_FORBIDDEN ) - staff_id = request.data.get('staff_id') - reason = request.data.get('reason', '') + staff_id = request.data.get("staff_id") + reason = request.data.get("reason", "") if not staff_id: - return Response( - {'error': 'staff_id is required'}, - status=status.HTTP_400_BAD_REQUEST - ) + return Response({"error": "staff_id is required"}, status=status.HTTP_400_BAD_REQUEST) from apps.organizations.models import Staff + try: staff = Staff.objects.get(id=staff_id) except Staff.DoesNotExist: - return Response( - {'error': 'Staff not found'}, - status=status.HTTP_404_NOT_FOUND - ) + return Response({"error": "Staff not found"}, status=status.HTTP_404_NOT_FOUND) # Check staff belongs to same hospital if staff.hospital != complaint.hospital: return Response( - {'error': 'Staff does not belong to complaint hospital'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Staff does not belong to complaint hospital"}, status=status.HTTP_400_BAD_REQUEST ) # Update complaint @@ -670,142 +526,99 @@ class ComplaintViewSet(viewsets.ModelViewSet): complaint.staff = staff # Auto-set department from staff complaint.department = staff.department - complaint.save(update_fields=['staff', 'department']) + complaint.save(update_fields=["staff", "department"]) # Update metadata to clear review flag if not complaint.metadata: complaint.metadata = {} - if 'ai_analysis' in complaint.metadata: - complaint.metadata['ai_analysis']['needs_staff_review'] = False - complaint.metadata['ai_analysis']['staff_manually_assigned'] = True - complaint.metadata['ai_analysis']['staff_assigned_by'] = str(request.user.id) - complaint.metadata['ai_analysis']['staff_assigned_at'] = timezone.now().isoformat() - complaint.metadata['ai_analysis']['staff_assignment_reason'] = reason - complaint.save(update_fields=['metadata']) + if "ai_analysis" in complaint.metadata: + complaint.metadata["ai_analysis"]["needs_staff_review"] = False + complaint.metadata["ai_analysis"]["staff_manually_assigned"] = True + complaint.metadata["ai_analysis"]["staff_assigned_by"] = str(request.user.id) + complaint.metadata["ai_analysis"]["staff_assigned_at"] = timezone.now().isoformat() + complaint.metadata["ai_analysis"]["staff_assignment_reason"] = reason + complaint.save(update_fields=["metadata"]) # Create update ComplaintUpdate.objects.create( complaint=complaint, - update_type='assignment', - message=f"Staff assigned to {staff.first_name} {staff.last_name} ({staff.job_title}). {reason}" if reason else f"Staff assigned to {staff.first_name} {staff.last_name} ({staff.job_title})", + update_type="assignment", + message=f"Staff assigned to {staff.first_name} {staff.last_name} ({staff.job_title}). {reason}" + if reason + else f"Staff assigned to {staff.first_name} {staff.last_name} ({staff.job_title})", created_by=request.user, - metadata={ - 'old_staff_id': old_staff_id, - 'new_staff_id': str(staff.id), - 'manual_assignment': True - } + metadata={"old_staff_id": old_staff_id, "new_staff_id": str(staff.id), "manual_assignment": True}, ) # Log audit AuditService.log_from_request( - event_type='staff_assigned', + event_type="staff_assigned", description=f"Staff {staff.first_name} {staff.last_name} manually assigned to complaint by {request.user.get_full_name()}", request=request, content_object=complaint, - metadata={ - 'old_staff_id': old_staff_id, - 'new_staff_id': str(staff.id), - 'reason': reason + metadata={"old_staff_id": old_staff_id, "new_staff_id": str(staff.id), "reason": reason}, + ) + + return Response( + { + "message": "Staff assigned successfully", + "staff_id": str(staff.id), + "staff_name": f"{staff.first_name} {staff.last_name}", } ) - return Response({ - 'message': 'Staff assigned successfully', - 'staff_id': str(staff.id), - 'staff_name': f"{staff.first_name} {staff.last_name}" - }) - - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def change_department(self, request, pk=None): """Change complaint department""" complaint = self.get_object() - department_id = request.data.get('department_id') + department_id = request.data.get("department_id") if not department_id: - return Response( - {'error': 'department_id is required'}, - status=status.HTTP_400_BAD_REQUEST - ) + return Response({"error": "department_id is required"}, status=status.HTTP_400_BAD_REQUEST) from apps.organizations.models import Department + try: department = Department.objects.get(id=department_id) + ComplaintService.change_department(complaint, department, request.user, request=request) except Department.DoesNotExist: - return Response( - {'error': 'Department not found'}, - status=status.HTTP_404_NOT_FOUND - ) + return Response({"error": "Department not found"}, status=status.HTTP_404_NOT_FOUND) + except ComplaintServiceError as e: + return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST) - # Check department belongs to same hospital - if department.hospital != complaint.hospital: - return Response( - {'error': 'Department does not belong to complaint hospital'}, - status=status.HTTP_400_BAD_REQUEST - ) - - # Update complaint - old_department_id = str(complaint.department.id) if complaint.department else None - complaint.department = department - complaint.save(update_fields=['department']) - - # Create update - ComplaintUpdate.objects.create( - complaint=complaint, - update_type='assignment', - message=f"Department changed to {department.name}", - created_by=request.user, - metadata={ - 'old_department_id': old_department_id, - 'new_department_id': str(department.id) + return Response( + { + "message": "Department changed successfully", + "department_id": str(department.id), + "department_name": department.name, } ) - # Log audit - AuditService.log_from_request( - event_type='department_change', - description=f"Complaint department changed to {department.name}", - request=request, - content_object=complaint, - metadata={ - 'old_department_id': old_department_id, - 'new_department_id': str(department.id) - } - ) - - return Response({ - 'message': 'Department changed successfully', - 'department_id': str(department.id), - 'department_name': department.name - }) - - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def create_action_from_ai(self, request, pk=None): """Create PX Action using AI service to generate action details from complaint""" complaint = self.get_object() # Use AI service to generate action data from apps.core.ai_service import AIService - + try: action_data = AIService.create_px_action_from_complaint(complaint) except Exception as e: return Response( - {'error': f'Failed to generate action data: {str(e)}'}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR + {"error": f"Failed to generate action data: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR ) # Get optional assigned_to from request (AI doesn't assign by default) - assigned_to_id = request.data.get('assigned_to') + assigned_to_id = request.data.get("assigned_to") assigned_to = None if assigned_to_id: from apps.accounts.models import User + try: assigned_to = User.objects.get(id=assigned_to_id) except User.DoesNotExist: - return Response( - {'error': 'Assigned user not found'}, - status=status.HTTP_404_NOT_FOUND - ) + return Response({"error": "Assigned user not found"}, status=status.HTTP_404_NOT_FOUND) # Create PX Action from apps.px_action_center.models import PXAction, PXActionLog @@ -814,78 +627,81 @@ class ComplaintViewSet(viewsets.ModelViewSet): complaint_content_type = ContentType.objects.get_for_model(Complaint) action = PXAction.objects.create( - source_type='complaint', + source_type="complaint", content_type=complaint_content_type, object_id=complaint.id, - title=action_data['title'], - description=action_data['description'], + title=action_data["title"], + description=action_data["description"], hospital=complaint.hospital, department=complaint.department, - category=action_data['category'], - priority=action_data['priority'], - severity=action_data['severity'], + category=action_data["category"], + priority=action_data["priority"], + severity=action_data["severity"], assigned_to=assigned_to, - status='open', + status="open", metadata={ - 'source_complaint_id': str(complaint.id), - 'source_complaint_title': complaint.title, - 'ai_generated': True, - 'ai_reasoning': action_data.get('reasoning', ''), - 'created_from_ai_suggestion': True - } + "source_complaint_id": str(complaint.id), + "source_complaint_title": complaint.title, + "ai_generated": True, + "ai_reasoning": action_data.get("reasoning", ""), + "created_from_ai_suggestion": True, + }, ) # Create action log entry PXActionLog.objects.create( action=action, - log_type='note', + log_type="note", message=f"Action generated by AI for complaint: {complaint.title}", created_by=request.user, metadata={ - 'complaint_id': str(complaint.id), - 'ai_generated': True, - 'category': action_data['category'], - 'priority': action_data['priority'], - 'severity': action_data['severity'] - } + "complaint_id": str(complaint.id), + "ai_generated": True, + "category": action_data["category"], + "priority": action_data["priority"], + "severity": action_data["severity"], + }, ) # Create complaint update ComplaintUpdate.objects.create( complaint=complaint, - update_type='note', + update_type="note", message=f"PX Action created from AI-generated suggestion (Action #{action.id}) - {action_data['category']}", created_by=request.user, - metadata={'action_id': str(action.id), 'category': action_data['category']} + metadata={"action_id": str(action.id), "category": action_data["category"]}, ) # Log audit AuditService.log_from_request( - event_type='action_created_from_ai', + event_type="action_created_from_ai", description=f"PX Action created from AI analysis for complaint: {complaint.title}", request=request, content_object=action, metadata={ - 'complaint_id': str(complaint.id), - 'category': action_data['category'], - 'priority': action_data['priority'], - 'severity': action_data['severity'], - 'ai_reasoning': action_data.get('reasoning', '') - } + "complaint_id": str(complaint.id), + "category": action_data["category"], + "priority": action_data["priority"], + "severity": action_data["severity"], + "ai_reasoning": action_data.get("reasoning", ""), + }, ) - return Response({ - 'action_id': str(action.id), - 'message': 'Action created successfully from AI analysis', - 'action_data': { - 'title': action_data['title'], - 'category': action_data['category'], - 'priority': action_data['priority'], - 'severity': action_data['severity'] - } - }, status=status.HTTP_201_CREATED) + return Response( + { + "action_id": str(action.id), + "message": "Action created successfully from AI analysis", + "action_data": { + "title": action_data["title"], + "category": action_data["category"], + "priority": action_data["priority"], + "severity": action_data["severity"], + }, + }, + status=status.HTTP_201_CREATED, + ) - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def send_notification(self, request, pk=None): """ Send email notification to staff member or department head. @@ -901,15 +717,12 @@ class ComplaintViewSet(viewsets.ModelViewSet): complaint = self.get_object() # Get email message (required) - email_message = request.data.get('email_message', '').strip() + email_message = request.data.get("email_message", "").strip() if not email_message: - return Response( - {'error': 'email_message is required'}, - status=status.HTTP_400_BAD_REQUEST - ) + return Response({"error": "email_message is required"}, status=status.HTTP_400_BAD_REQUEST) # Get additional message (optional) - additional_message = request.data.get('additional_message', '').strip() + additional_message = request.data.get("additional_message", "").strip() # Determine recipient with priority logic recipient = None @@ -921,27 +734,29 @@ class ComplaintViewSet(viewsets.ModelViewSet): if complaint.staff and complaint.staff.user: recipient = complaint.staff.user recipient_display = str(complaint.staff) - recipient_type = 'Staff Member (User Account)' + recipient_type = "Staff Member (User Account)" recipient_email = recipient.email # Priority 2: Staff member with email field (no user account) elif complaint.staff and complaint.staff.email: recipient_display = str(complaint.staff) - recipient_type = 'Staff Member (Email)' + recipient_type = "Staff Member (Email)" recipient_email = complaint.staff.email # Priority 3: Department head elif complaint.department and complaint.department.manager: recipient = complaint.department.manager recipient_display = recipient.get_full_name() - recipient_type = 'Department Head' + recipient_type = "Department Head" recipient_email = recipient.email # Check if we found a recipient with email if not recipient_email: return Response( - {'error': 'No valid recipient found. Complaint must have staff with email, or a department manager with email.'}, - status=status.HTTP_400_BAD_REQUEST + { + "error": "No valid recipient found. Complaint must have staff with email, or a department manager with email." + }, + status=status.HTTP_400_BAD_REQUEST, ) # Construct email content @@ -987,6 +802,7 @@ ADDITIONAL MESSAGE: # Add link to complaint from django.contrib.sites.shortcuts import get_current_site + site = get_current_site(request) complaint_url = f"https://{site.domain}/complaints/{complaint.id}/" @@ -1011,389 +827,147 @@ This is an automated message from PX360 Complaint Management System. message=email_body, related_object=complaint, metadata={ - 'notification_type': 'complaint_notification', - 'recipient_type': recipient_type, - 'recipient_id': str(recipient.id) if recipient else None, - 'sender_id': str(request.user.id), - 'has_additional_message': bool(additional_message) - } + "notification_type": "complaint_notification", + "recipient_type": recipient_type, + "recipient_id": str(recipient.id) if recipient else None, + "sender_id": str(request.user.id), + "has_additional_message": bool(additional_message), + }, ) except Exception as e: - return Response( - {'error': f'Failed to send email: {str(e)}'}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR - ) + return Response({"error": f"Failed to send email: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) # Create ComplaintUpdate entry ComplaintUpdate.objects.create( complaint=complaint, - update_type='communication', + update_type="communication", message=f"Email notification sent to {recipient_type}: {recipient_display}", created_by=request.user, metadata={ - 'recipient_type': recipient_type, - 'recipient_id': str(recipient.id) if recipient else None, - 'notification_log_id': str(notification_log.id) if notification_log else None - } + "recipient_type": recipient_type, + "recipient_id": str(recipient.id) if recipient else None, + "notification_log_id": str(notification_log.id) if notification_log else None, + }, ) # Log audit AuditService.log_from_request( - event_type='notification_sent', + event_type="notification_sent", description=f"Email notification sent to {recipient_type}: {recipient_display}", request=request, content_object=complaint, metadata={ - 'recipient_type': recipient_type, - 'recipient_id': str(recipient.id) if recipient else None, - 'recipient_email': recipient_email + "recipient_type": recipient_type, + "recipient_id": str(recipient.id) if recipient else None, + "recipient_email": recipient_email, + }, + ) + + return Response( + { + "success": True, + "message": "Email notification sent successfully", + "recipient": recipient_display, + "recipient_type": recipient_type, + "recipient_email": recipient_email, } ) - return Response({ - 'success': True, - 'message': 'Email notification sent successfully', - 'recipient': recipient_display, - 'recipient_type': recipient_type, - 'recipient_email': recipient_email - }) - - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def request_explanation(self, request, pk=None): """ - Request explanation from staff/recipient. - - Sends explanation link to staff member, and informational notification to manager. - Manager only gets a link if/when the request escalates due to SLA breach. + Request explanation from complaint staff. + Delegates to ComplaintService for shared logic. """ complaint = self.get_object() - # Check if complaint is in active status if not complaint.is_active_status: return Response( - {'error': f"Cannot request explanation for complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved."}, - status=status.HTTP_400_BAD_REQUEST + {"error": f"Cannot request explanation for complaint with status '{complaint.get_status_display()}'."}, + status=status.HTTP_400_BAD_REQUEST, ) - # Check if complaint has staff to request explanation from if not complaint.staff: return Response( - {'error': 'Complaint has no staff assigned to request explanation from'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Complaint has no staff assigned to request explanation from"}, + status=status.HTTP_400_BAD_REQUEST, ) - # Check if explanation already exists for this staff - from .models import ComplaintExplanation - existing_explanation = ComplaintExplanation.objects.filter( - complaint=complaint, - staff=complaint.staff - ).first() - - if existing_explanation and existing_explanation.is_used: + existing = ComplaintExplanation.objects.filter(complaint=complaint, staff=complaint.staff).first() + if existing and existing.is_used: return Response( - {'error': 'This staff member has already submitted an explanation'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "This staff member has already submitted an explanation"}, + status=status.HTTP_400_BAD_REQUEST, ) - # Get optional message - request_message = request.data.get('request_message', '').strip() + staff = complaint.staff + staff_email = staff.user.email if staff.user and staff.user.email else (staff.email or "") - # Get manager (report_to) if exists - manager = complaint.staff.report_to if complaint.staff.report_to else None + if not staff_email: + return Response({"error": "Staff member has no email address"}, status=status.HTTP_400_BAD_REQUEST) + + request_message = request.data.get("request_message", "").strip() + manager = staff.report_to if staff.report_to else None + manager_email = ( + manager.user.email + if manager and manager.user and manager.user.email + else (manager.email if manager else "") + ) from django.contrib.sites.shortcuts import get_current_site - from apps.notifications.services import NotificationService site = get_current_site(request) + domain = site.domain - results = [] + staff_list = [ + { + "staff": staff, + "staff_id": str(staff.id), + "staff_email": staff_email, + "staff_name": str(staff), + "department": staff.department.name if staff.department else "", + "role": "Primary", + "manager": manager, + "manager_id": str(manager.id) if manager else None, + "manager_email": manager_email, + "manager_name": str(manager) if manager else None, + } + ] - # === SEND TO STAFF MEMBER (with link) === - # Generate unique token for staff - import secrets - staff_token = secrets.token_urlsafe(32) + selected_staff_ids = [str(staff.id)] + selected_manager_ids = [str(manager.id)] if manager else [] - # Create or update explanation record for staff - if existing_explanation: - staff_explanation = existing_explanation - staff_explanation.token = staff_token - staff_explanation.is_used = False - staff_explanation.requested_by = request.user - staff_explanation.request_message = request_message - staff_explanation.email_sent_at = timezone.now() - staff_explanation.save() - else: - staff_explanation = ComplaintExplanation.objects.create( - complaint=complaint, - staff=complaint.staff, - token=staff_token, - is_used=False, - submitted_via='email_link', - requested_by=request.user, - request_message=request_message, - email_sent_at=timezone.now() - ) - - # Determine staff email - if complaint.staff.user and complaint.staff.user.email: - staff_email = complaint.staff.user.email - staff_display = str(complaint.staff) - elif complaint.staff.email: - staff_email = complaint.staff.email - staff_display = str(complaint.staff) - else: - return Response( - {'error': 'Staff member has no email address'}, - status=status.HTTP_400_BAD_REQUEST - ) - - # Build staff email - staff_link = f"https://{site.domain}/complaints/{complaint.id}/explain/{staff_token}/" - staff_subject = f"Explanation Request - Complaint #{complaint.id}" - - staff_email_body = f""" -Dear {staff_display}, - -We have received a complaint that requires your explanation. - -COMPLAINT DETAILS: ----------------- -Reference: #{complaint.id} -Title: {complaint.title} -Severity: {complaint.get_severity_display()} -Priority: {complaint.get_priority_display()} - -{complaint.description} - -""" - - # Add patient info if available - if complaint.patient: - staff_email_body += f""" -PATIENT INFORMATION: ------------------- -Name: {complaint.patient.get_full_name()} -MRN: {complaint.patient.mrn} -""" - - # Add request message if provided - if request_message: - staff_email_body += f""" - -ADDITIONAL MESSAGE: ------------------- -{request_message} -""" - - staff_email_body += f""" - -SUBMIT YOUR EXPLANATION: ------------------------- -Your perspective is important. Please submit your explanation about this complaint: -{staff_link} - -Note: This link can only be used once. After submission, it will expire. - -If you have any questions, please contact the PX team. - ---- -This is an automated message from PX360 Complaint Management System. -""" - - # Send email to staff try: - staff_notification = NotificationService.send_email( - email=staff_email, - subject=staff_subject, - message=staff_email_body, - related_object=complaint, - metadata={ - 'notification_type': 'explanation_request', - 'recipient_type': 'staff', - 'staff_id': str(complaint.staff.id), - 'explanation_id': str(staff_explanation.id), - 'requested_by_id': str(request.user.id), - 'has_request_message': bool(request_message) - } + result = ComplaintService.request_explanation( + complaint, + staff_list, + selected_staff_ids, + selected_manager_ids, + request_message, + request.user, + domain, + request=request, ) - results.append({ - 'recipient_type': 'staff', - 'recipient': staff_display, - 'email': staff_email, - 'explanation_id': str(staff_explanation.id), - 'sent': True - }) - except Exception as e: - results.append({ - 'recipient_type': 'staff', - 'recipient': staff_display, - 'email': staff_email, - 'sent': False, - 'error': str(e) - }) + except ComplaintServiceError as e: + return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST) - # === SEND NOTIFICATION TO MANAGER (informational only - no link) === - manager_notified = False - if manager: - # Determine manager email - if manager.user and manager.user.email: - manager_email = manager.user.email - elif manager.email: - manager_email = manager.email - else: - manager_email = None + staff_explanation = ComplaintExplanation.objects.filter(complaint=complaint, staff=staff).first() - if manager_email: - manager_display = str(manager) - manager_subject = f"Staff Explanation Request Notification - Complaint #{complaint.id}" - - manager_email_body = f""" -Dear {manager_display}, - -This is an informational notification that an explanation has been requested from your team member. - -STAFF MEMBER: {staff_display} - -COMPLAINT DETAILS: ----------------- -Reference: #{complaint.id} -Title: {complaint.title} -Severity: {complaint.get_severity_display()} -Priority: {complaint.get_priority_display()} - -{complaint.description} - -""" - - # Add patient info if available - if complaint.patient: - manager_email_body += f""" -PATIENT INFORMATION: ------------------- -Name: {complaint.patient.get_full_name()} -MRN: {complaint.patient.mrn} -""" - - # Add request message if provided - if request_message: - manager_email_body += f""" - -ADDITIONAL MESSAGE: ------------------- -{request_message} -""" - - manager_email_body += f""" - -ACTION REQUIRED: ----------------- -An explanation link has been sent directly to {staff_display}. -If no response is received within the SLA deadline, you will receive a follow-up request with a link to provide your perspective as the manager. - -If you have any questions, please contact the PX team. - ---- -This is an automated message from PX360 Complaint Management System. -""" - - # Send informational email to manager - try: - manager_notification = NotificationService.send_email( - email=manager_email, - subject=manager_subject, - message=manager_email_body, - related_object=complaint, - metadata={ - 'notification_type': 'explanation_request_notification', - 'recipient_type': 'manager', - 'staff_id': str(manager.id), - 'related_staff_id': str(complaint.staff.id), - 'requested_by_id': str(request.user.id), - 'has_request_message': bool(request_message), - 'informational_only': True - } - ) - results.append({ - 'recipient_type': 'manager', - 'recipient': manager_display, - 'email': manager_email, - 'sent': True, - 'informational_only': True, - 'note': 'Manager will receive link if staff does not respond within SLA' - }) - manager_notified = True - except Exception as e: - results.append({ - 'recipient_type': 'manager', - 'recipient': manager_display, - 'email': manager_email, - 'sent': False, - 'informational_only': True, - 'error': str(e) - }) - else: - results.append({ - 'recipient_type': 'manager', - 'recipient': str(manager), - 'sent': False, - 'informational_only': True, - 'error': 'Manager has no email address' - }) - - # Create ComplaintUpdate entry - recipients_str = ", ".join([r['recipient'] for r in results if r['sent']]) - ComplaintUpdate.objects.create( - complaint=complaint, - update_type='communication', - message=f"Explanation request sent to: {recipients_str}", - created_by=request.user, - metadata={ - 'explanation_id': str(staff_explanation.id), - 'staff_id': str(complaint.staff.id), - 'manager_id': str(manager.id) if manager else None, - 'manager_notified': manager_notified, - 'results': results + return Response( + { + "success": result["staff_count"] > 0, + "message": "Explanation request sent successfully", + "results": result["results"], + "staff_explanation_id": str(staff_explanation.id) if staff_explanation else None, + "manager_notified": result["manager_count"] > 0, } ) - # Log audit - AuditService.log_from_request( - event_type='explanation_requested', - description=f"Explanation request sent to: {recipients_str}", - request=request, - content_object=complaint, - metadata={ - 'explanation_id': str(staff_explanation.id), - 'staff_id': str(complaint.staff.id), - 'manager_id': str(manager.id) if manager else None, - 'manager_notified': manager_notified, - 'request_message': request_message, - 'results': results - } - ) - - # Check if at least staff email was sent - staff_sent = any(r['recipient_type'] == 'staff' and r['sent'] for r in results) - if not staff_sent: - return Response({ - 'success': False, - 'message': 'Failed to send explanation request to staff member', - 'results': results - }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) - - return Response({ - 'success': True, - 'message': 'Explanation request sent successfully', - 'results': results, - 'staff_explanation_id': str(staff_explanation.id), - 'manager_notified': manager_notified - }) - - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def resend_explanation(self, request, pk=None): """ Resend explanation request email to staff member only. - + Regenerates the token with a new value and resends the email to the staff member. Manager is not resent the informational email - they already received it initially. Only allows resending if explanation has not been submitted yet. @@ -1403,44 +977,43 @@ This is an automated message from PX360 Complaint Management System. # Check if complaint is in active status if not complaint.is_active_status: return Response( - {'error': f"Cannot resend explanation for complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved."}, - status=status.HTTP_400_BAD_REQUEST + { + "error": f"Cannot resend explanation for complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved." + }, + status=status.HTTP_400_BAD_REQUEST, ) - + # Check if complaint has staff assigned if not complaint.staff: - return Response( - {'error': 'No staff assigned to this complaint'}, - status=status.HTTP_400_BAD_REQUEST - ) - + return Response({"error": "No staff assigned to this complaint"}, status=status.HTTP_400_BAD_REQUEST) + # Check if explanation exists for this staff from .models import ComplaintExplanation + try: - explanation = ComplaintExplanation.objects.filter( - complaint=complaint, - staff=complaint.staff - ).latest('created_at') + explanation = ComplaintExplanation.objects.filter(complaint=complaint, staff=complaint.staff).latest( + "created_at" + ) except ComplaintExplanation.DoesNotExist: return Response( - {'error': 'No explanation found for this complaint and staff'}, - status=status.HTTP_404_NOT_FOUND + {"error": "No explanation found for this complaint and staff"}, status=status.HTTP_404_NOT_FOUND ) - + # Check if already submitted (can only resend if not submitted) if explanation.is_used: return Response( - {'error': 'Explanation already submitted, cannot resend. Create a new explanation request.'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Explanation already submitted, cannot resend. Create a new explanation request."}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Generate new token import secrets + new_token = secrets.token_urlsafe(32) explanation.token = new_token explanation.email_sent_at = timezone.now() explanation.save() - + # Determine recipient email if complaint.staff.user and complaint.staff.user.email: recipient_email = complaint.staff.user.email @@ -1449,21 +1022,18 @@ This is an automated message from PX360 Complaint Management System. recipient_email = complaint.staff.email recipient_display = str(complaint.staff) else: - return Response( - {'error': 'Staff member has no email address'}, - status=status.HTTP_400_BAD_REQUEST - ) - + return Response({"error": "Staff member has no email address"}, status=status.HTTP_400_BAD_REQUEST) + # Send email with new link from django.contrib.sites.shortcuts import get_current_site from apps.notifications.services import NotificationService - + site = get_current_site(request) explanation_link = f"https://{site.domain}/complaints/{complaint.id}/explain/{new_token}/" - + # Build email subject subject = f"Explanation Request (Resent) - Complaint #{complaint.id}" - + # Build email body email_body = f""" Dear {recipient_display}, @@ -1480,7 +1050,7 @@ Status: {complaint.get_status_display()} {complaint.description} """ - + # Add patient info if available if complaint.patient: email_body += f""" @@ -1489,7 +1059,7 @@ PATIENT INFORMATION: Name: {complaint.patient.get_full_name()} MRN: {complaint.patient.mrn} """ - + email_body += f""" SUBMIT YOUR EXPLANATION: @@ -1504,7 +1074,7 @@ If you have any questions, please contact PX team. --- This is an automated message from PX360 Complaint Management System. """ - + # Send email try: notification_log = NotificationService.send_email( @@ -1513,165 +1083,302 @@ This is an automated message from PX360 Complaint Management System. message=email_body, related_object=complaint, metadata={ - 'notification_type': 'explanation_request_resent', - 'recipient_type': 'staff', - 'staff_id': str(complaint.staff.id), - 'explanation_id': str(explanation.id), - 'requested_by_id': str(request.user.id), - 'resent': True - } + "notification_type": "explanation_request_resent", + "recipient_type": "staff", + "staff_id": str(complaint.staff.id), + "explanation_id": str(explanation.id), + "requested_by_id": str(request.user.id), + "resent": True, + }, ) except Exception as e: - return Response( - {'error': f'Failed to send email: {str(e)}'}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR - ) - + return Response({"error": f"Failed to send email: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + # Create ComplaintUpdate entry ComplaintUpdate.objects.create( complaint=complaint, - update_type='communication', + update_type="communication", message=f"Explanation request resent to {recipient_display}", created_by=request.user, metadata={ - 'explanation_id': str(explanation.id), - 'staff_id': str(complaint.staff.id), - 'notification_log_id': str(notification_log.id) if notification_log else None, - 'resent': True - } + "explanation_id": str(explanation.id), + "staff_id": str(complaint.staff.id), + "notification_log_id": str(notification_log.id) if notification_log else None, + "resent": True, + }, ) - + # Log audit AuditService.log_from_request( - event_type='explanation_resent', + event_type="explanation_resent", description=f"Explanation request resent to {recipient_display}", request=request, content_object=complaint, - metadata={ - 'explanation_id': str(explanation.id), - 'staff_id': str(complaint.staff.id) - } + metadata={"explanation_id": str(explanation.id), "staff_id": str(complaint.staff.id)}, ) - - return Response({ - 'success': True, - 'message': 'Explanation request resent successfully to staff member', - 'explanation_id': str(explanation.id), - 'recipient': recipient_display, - 'new_token': new_token, - 'explanation_link': explanation_link - }, status=status.HTTP_200_OK) - @action(detail=True, methods=['post']) + return Response( + { + "success": True, + "message": "Explanation request resent successfully to staff member", + "explanation_id": str(explanation.id), + "recipient": recipient_display, + "new_token": new_token, + "explanation_link": explanation_link, + }, + status=status.HTTP_200_OK, + ) + + @action(detail=True, methods=["post"]) + def send_explanation_reminder(self, request, pk=None): + """ + Manually send first or second reminder for explanation request. + + Allows admin to trigger a reminder email when the automated task didn't run. + """ + complaint = self.get_object() + + if not complaint.is_active_status: + return Response( + {"error": f"Cannot send reminder for complaint with status '{complaint.get_status_display()}'."}, + status=status.HTTP_400_BAD_REQUEST, + ) + + explanation_id = request.data.get("explanation_id") + reminder_type = request.data.get("reminder_type", "first") + + if not explanation_id: + return Response({"error": "explanation_id is required"}, status=status.HTTP_400_BAD_REQUEST) + + try: + explanation = ComplaintExplanation.objects.get(pk=explanation_id, complaint=complaint) + except ComplaintExplanation.DoesNotExist: + return Response({"error": "Explanation not found"}, status=status.HTTP_404_NOT_FOUND) + + if explanation.is_used: + return Response({"error": "Explanation already submitted"}, status=status.HTTP_400_BAD_REQUEST) + + if reminder_type not in ("first", "second"): + return Response({"error": "reminder_type must be 'first' or 'second'"}, status=status.HTTP_400_BAD_REQUEST) + + if reminder_type == "first": + if explanation.reminder_sent_at: + return Response({"error": "First reminder already sent"}, status=status.HTTP_400_BAD_REQUEST) + else: + if not explanation.reminder_sent_at: + return Response( + {"error": "First reminder must be sent before second reminder"}, + status=status.HTTP_400_BAD_REQUEST, + ) + if explanation.second_reminder_sent_at: + return Response({"error": "Second reminder already sent"}, status=status.HTTP_400_BAD_REQUEST) + + if not explanation.staff.email: + return Response({"error": "Staff member has no email address"}, status=status.HTTP_400_BAD_REQUEST) + + now = timezone.now() + hours_remaining = 0 + if explanation.sla_due_at: + hours_remaining = max(0, int((explanation.sla_due_at - now).total_seconds() / 3600)) + + context = { + "explanation": explanation, + "complaint": complaint, + "staff": explanation.staff, + "hours_remaining": hours_remaining, + "due_date": explanation.sla_due_at, + "site_url": request.build_absolute_uri("/").rstrip("/"), + } + + if reminder_type == "first": + subject = f"Reminder: Explanation Request - Complaint #{str(complaint.id)[:8]}" + try: + from django.template.loader import render_to_string + from django.core.mail import send_mail + from django.conf import settings + + message_en = render_to_string("complaints/emails/explanation_reminder_en.txt", context) + message_ar = render_to_string("complaints/emails/explanation_reminder_ar.txt", context) + + send_mail( + subject=subject, + message=f"{message_en}\n\n{message_ar}", + from_email=settings.DEFAULT_FROM_EMAIL, + recipient_list=[explanation.staff.email], + fail_silently=False, + ) + + explanation.reminder_sent_at = now + explanation.save(update_fields=["reminder_sent_at"]) + except Exception as e: + return Response( + {"error": f"Failed to send reminder: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) + else: + subject = f"URGENT - Final Reminder: Explanation Request - Complaint #{str(complaint.id)[:8]}" + try: + from django.template.loader import render_to_string + from django.core.mail import send_mail + from django.conf import settings + + message_en = render_to_string("complaints/emails/explanation_second_reminder_en.txt", context) + message_ar = render_to_string("complaints/emails/explanation_second_reminder_ar.txt", context) + + send_mail( + subject=subject, + message=f"{message_en}\n\n{message_ar}", + from_email=settings.DEFAULT_FROM_EMAIL, + recipient_list=[explanation.staff.email], + fail_silently=False, + ) + + explanation.second_reminder_sent_at = now + explanation.save(update_fields=["second_reminder_sent_at"]) + except Exception as e: + return Response( + {"error": f"Failed to send reminder: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR + ) + + label = "first" if reminder_type == "first" else "second" + recipient_display = str(explanation.staff) + + ComplaintUpdate.objects.create( + complaint=complaint, + update_type="communication", + message=f"{label.capitalize()} explanation reminder sent to {recipient_display}", + created_by=request.user, + metadata={ + "explanation_id": str(explanation.id), + "staff_id": str(explanation.staff.id), + "reminder_type": reminder_type, + }, + ) + + AuditService.log_from_request( + event_type=f"explanation_{label}_reminder_sent", + description=f"{label.capitalize()} explanation reminder sent to {recipient_display}", + request=request, + content_object=complaint, + metadata={"explanation_id": str(explanation.id), "staff_id": str(explanation.staff.id)}, + ) + + return Response( + { + "success": True, + "message": f"{label.capitalize()} reminder sent to {recipient_display}", + "explanation_id": str(explanation.id), + "reminder_type": reminder_type, + }, + status=status.HTTP_200_OK, + ) + + @action(detail=True, methods=["post"]) def review_explanation(self, request, pk=None): """ Review and mark an explanation as acceptable or not acceptable. - + Allows PX Admins to review submitted explanations and mark them. """ complaint = self.get_object() - + # Check permission if not (request.user.is_px_admin() or request.user.is_hospital_admin()): return Response( - {'error': 'Only PX Admins or Hospital Admins can review explanations'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins or Hospital Admins can review explanations"}, status=status.HTTP_403_FORBIDDEN ) - - explanation_id = request.data.get('explanation_id') - acceptance_status = request.data.get('acceptance_status') - acceptance_notes = request.data.get('acceptance_notes', '') - + + explanation_id = request.data.get("explanation_id") + acceptance_status = request.data.get("acceptance_status") + acceptance_notes = request.data.get("acceptance_notes", "") + if not explanation_id: - return Response( - {'error': 'explanation_id is required'}, - status=status.HTTP_400_BAD_REQUEST - ) - + return Response({"error": "explanation_id is required"}, status=status.HTTP_400_BAD_REQUEST) + if not acceptance_status: return Response( - {'error': 'acceptance_status is required (acceptable or not_acceptable)'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "acceptance_status is required (acceptable or not_acceptable)"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Validate acceptance status from .models import ComplaintExplanation - valid_statuses = [ComplaintExplanation.AcceptanceStatus.ACCEPTABLE, - ComplaintExplanation.AcceptanceStatus.NOT_ACCEPTABLE] + + valid_statuses = [ + ComplaintExplanation.AcceptanceStatus.ACCEPTABLE, + ComplaintExplanation.AcceptanceStatus.NOT_ACCEPTABLE, + ] if acceptance_status not in valid_statuses: return Response( - {'error': f'Invalid acceptance_status. Must be one of: {valid_statuses}'}, - status=status.HTTP_400_BAD_REQUEST + {"error": f"Invalid acceptance_status. Must be one of: {valid_statuses}"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Get the explanation try: - explanation = ComplaintExplanation.objects.get( - id=explanation_id, - complaint=complaint - ) + explanation = ComplaintExplanation.objects.get(id=explanation_id, complaint=complaint) except ComplaintExplanation.DoesNotExist: - return Response( - {'error': 'Explanation not found'}, - status=status.HTTP_404_NOT_FOUND - ) - + return Response({"error": "Explanation not found"}, status=status.HTTP_404_NOT_FOUND) + # Check if explanation has been submitted if not explanation.is_used: return Response( - {'error': 'Cannot review explanation that has not been submitted yet'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Cannot review explanation that has not been submitted yet"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Update explanation explanation.acceptance_status = acceptance_status explanation.accepted_by = request.user explanation.accepted_at = timezone.now() explanation.acceptance_notes = acceptance_notes explanation.save() - + # Create complaint update - status_display = "Acceptable" if acceptance_status == ComplaintExplanation.AcceptanceStatus.ACCEPTABLE else "Not Acceptable" + status_display = ( + "Acceptable" if acceptance_status == ComplaintExplanation.AcceptanceStatus.ACCEPTABLE else "Not Acceptable" + ) ComplaintUpdate.objects.create( complaint=complaint, - update_type='note', + update_type="note", message=f"Explanation from {explanation.staff} marked as {status_display}", created_by=request.user, metadata={ - 'explanation_id': str(explanation.id), - 'staff_id': str(explanation.staff.id) if explanation.staff else None, - 'acceptance_status': acceptance_status, - 'acceptance_notes': acceptance_notes - } + "explanation_id": str(explanation.id), + "staff_id": str(explanation.staff.id) if explanation.staff else None, + "acceptance_status": acceptance_status, + "acceptance_notes": acceptance_notes, + }, ) - + # Log audit AuditService.log_from_request( - event_type='explanation_reviewed', + event_type="explanation_reviewed", description=f"Explanation marked as {status_display}", request=request, content_object=explanation, metadata={ - 'explanation_id': str(explanation.id), - 'acceptance_status': acceptance_status, - 'acceptance_notes': acceptance_notes + "explanation_id": str(explanation.id), + "acceptance_status": acceptance_status, + "acceptance_notes": acceptance_notes, + }, + ) + + return Response( + { + "success": True, + "message": f"Explanation marked as {status_display}", + "explanation_id": str(explanation.id), + "acceptance_status": acceptance_status, + "accepted_at": explanation.accepted_at, + "accepted_by": request.user.get_full_name(), } ) - - return Response({ - 'success': True, - 'message': f'Explanation marked as {status_display}', - 'explanation_id': str(explanation.id), - 'acceptance_status': acceptance_status, - 'accepted_at': explanation.accepted_at, - 'accepted_by': request.user.get_full_name() - }) - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def escalate_explanation(self, request, pk=None): """ Escalate an explanation to the staff's manager. - + Marks the explanation as not acceptable and sends an explanation request to the staff's manager (report_to). """ @@ -1679,72 +1386,73 @@ This is an automated message from PX360 Complaint Management System. # Check permission if not (request.user.is_px_admin() or request.user.is_hospital_admin()): return Response( - {'error': 'Only PX Admins or Hospital Admins can escalate explanations'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins or Hospital Admins can escalate explanations"}, + status=status.HTTP_403_FORBIDDEN, ) - - explanation_id = request.data.get('explanation_id') - acceptance_notes = request.data.get('acceptance_notes', '') - + + explanation_id = request.data.get("explanation_id") + acceptance_notes = request.data.get("acceptance_notes", "") + if not explanation_id: - return Response( - {'error': 'explanation_id is required'}, - status=status.HTTP_400_BAD_REQUEST - ) - + return Response({"error": "explanation_id is required"}, status=status.HTTP_400_BAD_REQUEST) + # Get the explanation try: - explanation = ComplaintExplanation.objects.select_related( - 'staff', 'staff__report_to' - ).get( - id=explanation_id, - complaint=complaint + explanation = ComplaintExplanation.objects.select_related("staff", "staff__report_to").get( + id=explanation_id, complaint=complaint ) except ComplaintExplanation.DoesNotExist: - return Response( - {'error': 'Explanation not found'}, - status=status.HTTP_404_NOT_FOUND - ) - + return Response({"error": "Explanation not found"}, status=status.HTTP_404_NOT_FOUND) + # Check if explanation has been submitted if not explanation.is_used: return Response( - {'error': 'Cannot escalate explanation that has not been submitted yet'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Cannot escalate explanation that has not been submitted yet"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Check if already escalated if explanation.escalated_to_manager: + return Response({"error": "Explanation has already been escalated"}, status=status.HTTP_400_BAD_REQUEST) + + # Use fallback chain to find escalation target + from apps.complaints.services.complaint_service import ComplaintService + from apps.organizations.models import Staff + + target_user, fallback_path = ComplaintService.get_escalation_target(complaint, staff=explanation.staff) + + if not target_user: return Response( - {'error': 'Explanation has already been escalated'}, - status=status.HTTP_400_BAD_REQUEST + {"error": f"No escalation target found (tried: {fallback_path})"}, + status=status.HTTP_400_BAD_REQUEST, ) - - # Check if staff has a manager - if not explanation.staff or not explanation.staff.report_to: + + manager = Staff.objects.filter(user=target_user).first() + + if not manager: return Response( - {'error': 'Staff member does not have a manager (report_to) assigned'}, - status=status.HTTP_400_BAD_REQUEST + {"error": f"Escalation target {target_user.get_full_name()} has no Staff record"}, + status=status.HTTP_400_BAD_REQUEST, ) - - manager = explanation.staff.report_to - + # Check if manager already has an explanation request for this complaint - existing_manager_explanation = ComplaintExplanation.objects.filter( - complaint=complaint, - staff=manager - ).first() - + existing_manager_explanation = ComplaintExplanation.objects.filter(complaint=complaint, staff=manager).first() + if existing_manager_explanation: return Response( - {'error': f'Manager {manager.get_full_name()} already has an explanation request for this complaint'}, - status=status.HTTP_400_BAD_REQUEST + {"error": f"Manager {manager.get_full_name()} already has an explanation request for this complaint"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Generate token for manager explanation import secrets + manager_token = secrets.token_urlsafe(32) - + + request_message = f"Escalated from staff explanation. Staff: {explanation.staff.get_full_name() if explanation.staff else 'Unknown'}. Notes: {acceptance_notes}" + if fallback_path != "staff.report_to": + request_message += f" [Escalated via fallback: {fallback_path}]" + # Create manager explanation record manager_explanation = ComplaintExplanation.objects.create( complaint=complaint, @@ -1752,11 +1460,14 @@ This is an automated message from PX360 Complaint Management System. token=manager_token, is_used=False, requested_by=request.user, - request_message=f"Escalated from staff explanation. Staff: {explanation.staff.get_full_name() if explanation.staff else 'Unknown'}. Notes: {acceptance_notes}", - submitted_via='email_link', - email_sent_at=timezone.now() + request_message=request_message, + submitted_via="email_link", + email_sent_at=timezone.now(), + metadata={ + "escalation_fallback_path": fallback_path, + }, ) - + # Update original explanation explanation.acceptance_status = ComplaintExplanation.AcceptanceStatus.NOT_ACCEPTABLE explanation.accepted_by = request.user @@ -1765,28 +1476,28 @@ This is an automated message from PX360 Complaint Management System. explanation.escalated_to_manager = manager_explanation explanation.escalated_at = timezone.now() explanation.save() - + # Send email to manager from django.contrib.sites.shortcuts import get_current_site from apps.notifications.services import NotificationService - + site = get_current_site(request) explanation_link = f"https://{site.domain}/complaints/{complaint.id}/explain/{manager_token}/" - + manager_email = manager.email or (manager.user.email if manager.user else None) - + if manager_email: subject = f"Escalated Explanation Request - Complaint #{complaint.reference_number}" - + email_body = f"""Dear {manager.get_full_name()}, An explanation submitted by a staff member who reports to you has been marked as not acceptable and escalated to you for further review. STAFF MEMBER: ------------ -Name: {explanation.staff.get_full_name() if explanation.staff else 'Unknown'} -Employee ID: {explanation.staff.employee_id if explanation.staff else 'N/A'} -Department: {explanation.staff.department.name if explanation.staff and explanation.staff.department else 'N/A'} +Name: {explanation.staff.get_full_name() if explanation.staff else "Unknown"} +Employee ID: {explanation.staff.employee_id if explanation.staff else "N/A"} +Department: {explanation.staff.department.name if explanation.staff and explanation.staff.department else "N/A"} COMPLAINT DETAILS: ---------------- @@ -1801,7 +1512,7 @@ ORIGINAL EXPLANATION (Not Acceptable): ESCALATION NOTES: ----------------- -{acceptance_notes if acceptance_notes else 'No additional notes provided.'} +{acceptance_notes if acceptance_notes else "No additional notes provided."} PLEASE SUBMIT YOUR EXPLANATION: ------------------------------ @@ -1813,7 +1524,7 @@ Note: This link can only be used once. After submission, it will expire. --- This is an automated message from PX360 Complaint Management System. """ - + try: NotificationService.send_email( email=manager_email, @@ -1821,12 +1532,12 @@ This is an automated message from PX360 Complaint Management System. message=email_body, related_object=complaint, metadata={ - 'notification_type': 'escalated_explanation_request', - 'manager_id': str(manager.id), - 'staff_id': str(explanation.staff.id) if explanation.staff else None, - 'complaint_id': str(complaint.id), - 'original_explanation_id': str(explanation.id), - } + "notification_type": "escalated_explanation_request", + "manager_id": str(manager.id), + "staff_id": str(explanation.staff.id) if explanation.staff else None, + "complaint_id": str(complaint.id), + "original_explanation_id": str(explanation.id), + }, ) email_sent = True except Exception as e: @@ -1834,131 +1545,133 @@ This is an automated message from PX360 Complaint Management System. email_sent = False else: email_sent = False - + # Create complaint update ComplaintUpdate.objects.create( complaint=complaint, - update_type='note', + update_type="note", message=f"Explanation from {explanation.staff} marked as Not Acceptable and escalated to manager {manager.get_full_name()}", created_by=request.user, metadata={ - 'explanation_id': str(explanation.id), - 'staff_id': str(explanation.staff.id) if explanation.staff else None, - 'manager_id': str(manager.id), - 'manager_explanation_id': str(manager_explanation.id), - 'acceptance_status': 'not_acceptable', - 'acceptance_notes': acceptance_notes, - 'email_sent': email_sent - } + "explanation_id": str(explanation.id), + "staff_id": str(explanation.staff.id) if explanation.staff else None, + "manager_id": str(manager.id), + "manager_explanation_id": str(manager_explanation.id), + "acceptance_status": "not_acceptable", + "acceptance_notes": acceptance_notes, + "email_sent": email_sent, + }, ) - + # Log audit AuditService.log_from_request( - event_type='explanation_escalated', + event_type="explanation_escalated", description=f"Explanation escalated to manager {manager.get_full_name()}", request=request, content_object=explanation, metadata={ - 'explanation_id': str(explanation.id), - 'manager_id': str(manager.id), - 'manager_explanation_id': str(manager_explanation.id), - 'email_sent': email_sent + "explanation_id": str(explanation.id), + "manager_id": str(manager.id), + "manager_explanation_id": str(manager_explanation.id), + "email_sent": email_sent, + }, + ) + + return Response( + { + "success": True, + "message": f"Explanation escalated to manager {manager.get_full_name()}", + "explanation_id": str(explanation.id), + "manager_explanation_id": str(manager_explanation.id), + "manager_name": manager.get_full_name(), + "manager_email": manager_email, + "email_sent": email_sent, } ) - - return Response({ - 'success': True, - 'message': f'Explanation escalated to manager {manager.get_full_name()}', - 'explanation_id': str(explanation.id), - 'manager_explanation_id': str(manager_explanation.id), - 'manager_name': manager.get_full_name(), - 'manager_email': manager_email, - 'email_sent': email_sent - }) - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def generate_ai_resolution(self, request, pk=None): """ Generate AI-powered resolution note based on complaint details and explanations. - + Analyzes the complaint description, staff explanations, and manager explanations to generate a comprehensive resolution note for admin review. """ complaint = self.get_object() - + # Check permission - same logic as can_manage_complaint user = request.user can_generate = ( - user.is_px_admin() or - (user.is_hospital_admin() and user.hospital == complaint.hospital) or - (user.is_department_manager() and user.department == complaint.department) or - complaint.assigned_to == user + user.is_px_admin() + or (user.is_hospital_admin() and user.hospital == complaint.hospital) + or (user.is_department_manager() and user.department == complaint.department) + or complaint.assigned_to == user ) - + if not can_generate: return Response( - {'error': 'You do not have permission to generate AI resolution for this complaint'}, - status=status.HTTP_403_FORBIDDEN + {"error": "You do not have permission to generate AI resolution for this complaint"}, + status=status.HTTP_403_FORBIDDEN, ) - + # Get all used explanations - explanations = complaint.explanations.filter(is_used=True).select_related('staff') - + explanations = complaint.explanations.filter(is_used=True).select_related("staff") + if not explanations.exists(): - return Response({ - 'success': False, - 'error': 'No explanations available to analyze. Please request explanations first.' - }, status=status.HTTP_400_BAD_REQUEST) - + return Response( + {"success": False, "error": "No explanations available to analyze. Please request explanations first."}, + status=status.HTTP_400_BAD_REQUEST, + ) + # Build context for AI context = { - 'complaint': { - 'title': complaint.title, - 'description': complaint.description, - 'severity': complaint.get_severity_display(), - 'priority': complaint.get_priority_display(), - 'patient_name': complaint.patient.get_full_name() if complaint.patient else 'Unknown', - 'department': complaint.department.name if complaint.department else 'Unknown', + "complaint": { + "title": complaint.title, + "description": complaint.description, + "severity": complaint.get_severity_display(), + "priority": complaint.get_priority_display(), + "patient_name": complaint.patient.get_full_name() if complaint.patient else "Unknown", + "department": complaint.department.name if complaint.department else "Unknown", }, - 'explanations': [] + "explanations": [], } - + for exp in explanations: exp_data = { - 'staff_name': exp.staff.get_full_name() if exp.staff else 'Unknown', - 'employee_id': exp.staff.employee_id if exp.staff else 'N/A', - 'department': exp.staff.department.name if exp.staff and exp.staff.department else 'N/A', - 'explanation': exp.explanation, - 'acceptance_status': exp.get_acceptance_status_display(), - 'submitted_at': exp.responded_at.strftime('%Y-%m-%d %H:%M') if exp.responded_at else 'Unknown' + "staff_name": exp.staff.get_full_name() if exp.staff else "Unknown", + "employee_id": exp.staff.employee_id if exp.staff else "N/A", + "department": exp.staff.department.name if exp.staff and exp.staff.department else "N/A", + "explanation": exp.explanation, + "acceptance_status": exp.get_acceptance_status_display(), + "submitted_at": exp.responded_at.strftime("%Y-%m-%d %H:%M") if exp.responded_at else "Unknown", } - context['explanations'].append(exp_data) - + context["explanations"].append(exp_data) + # Call AI service to generate resolution try: from apps.core.ai_service import AIService - + # Build prompt explanations_text = "" - for i, exp in enumerate(context['explanations'], 1): + for i, exp in enumerate(context["explanations"], 1): explanations_text += f""" Explanation {i}: -- Staff: {exp['staff_name']} (ID: {exp['employee_id']}, Dept: {exp['department']}) -- Status: {exp['acceptance_status']} -- Submitted: {exp['submitted_at']} -- Content: {exp['explanation']} +- Staff: {exp["staff_name"]} (ID: {exp["employee_id"]}, Dept: {exp["department"]}) +- Status: {exp["acceptance_status"]} +- Submitted: {exp["submitted_at"]} +- Content: {exp["explanation"]} """ - + prompt = f"""As a healthcare complaint resolution expert, analyze the following complaint and staff explanations to generate a comprehensive resolution note in BOTH English and Arabic. COMPLAINT DETAILS: -- Title: {context['complaint']['title']} -- Description: {context['complaint']['description']} -- Severity: {context['complaint']['severity']} -- Priority: {context['complaint']['priority']} -- Patient: {context['complaint']['patient_name']} -- Department: {context['complaint']['department']} +- Title: {context["complaint"]["title"]} +- Description: {context["complaint"]["description"]} +- Severity: {context["complaint"]["severity"]} +- Priority: {context["complaint"]["priority"]} +- Patient: {context["complaint"]["patient_name"]} +- Department: {context["complaint"]["department"]} STAFF EXPLANATIONS: {explanations_text} @@ -1992,71 +1705,72 @@ Always provide valid JSON output with both resolution_en and resolution_ar field system_prompt=system_prompt, temperature=0.4, max_tokens=1500, - response_format='json_object' + response_format="json_object", ) - + # Parse the JSON response import json + resolution_data = json.loads(ai_response) - resolution_en = resolution_data.get('resolution_en', '').strip() - resolution_ar = resolution_data.get('resolution_ar', '').strip() - + resolution_en = resolution_data.get("resolution_en", "").strip() + resolution_ar = resolution_data.get("resolution_ar", "").strip() + # Log the AI generation AuditService.log_from_request( - event_type='ai_resolution_generated', + event_type="ai_resolution_generated", description=f"AI resolution generated for complaint {complaint.reference_number}", request=request, content_object=complaint, metadata={ - 'complaint_id': str(complaint.id), - 'explanation_count': explanations.count(), - 'generated_resolution_en_length': len(resolution_en), - 'generated_resolution_ar_length': len(resolution_ar) + "complaint_id": str(complaint.id), + "explanation_count": explanations.count(), + "generated_resolution_en_length": len(resolution_en), + "generated_resolution_ar_length": len(resolution_ar), + }, + ) + + return Response( + { + "success": True, + "resolution_en": resolution_en, + "resolution_ar": resolution_ar, + "explanation_count": explanations.count(), } ) - - return Response({ - 'success': True, - 'resolution_en': resolution_en, - 'resolution_ar': resolution_ar, - 'explanation_count': explanations.count() - }) - + except Exception as e: logger.error(f"AI resolution generation failed: {e}") - return Response({ - 'success': False, - 'error': f'Failed to generate resolution: {str(e)}' - }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + return Response( + {"success": False, "error": f"Failed to generate resolution: {str(e)}"}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) - @action(detail=True, methods=['get']) + @action(detail=True, methods=["get"]) def generate_resolution_suggestion(self, request, pk=None): """ Generate AI resolution suggestion based on complaint and acceptable explanation. - + Uses the staff explanation if acceptable, otherwise uses manager explanation. Returns a suggested resolution text that can be edited or used directly. """ complaint = self.get_object() - + # Check permission if not (request.user.is_px_admin() or request.user.is_hospital_admin()): return Response( - {'error': 'Only PX Admins or Hospital Admins can generate resolution suggestions'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins or Hospital Admins can generate resolution suggestions"}, + status=status.HTTP_403_FORBIDDEN, ) - + # Find acceptable explanation acceptable_explanation = None explanation_source = None - + # First, try to find an acceptable staff explanation staff_explanation = complaint.explanations.filter( - staff=complaint.staff, - is_used=True, - acceptance_status=ComplaintExplanation.AcceptanceStatus.ACCEPTABLE + staff=complaint.staff, is_used=True, acceptance_status=ComplaintExplanation.AcceptanceStatus.ACCEPTABLE ).first() - + if staff_explanation: acceptable_explanation = staff_explanation explanation_source = "staff" @@ -2065,46 +1779,51 @@ Always provide valid JSON output with both resolution_en and resolution_ar field manager_explanation = complaint.explanations.filter( is_used=True, acceptance_status=ComplaintExplanation.AcceptanceStatus.ACCEPTABLE, - metadata__is_escalation=True + metadata__is_escalation=True, ).first() - + if manager_explanation: acceptable_explanation = manager_explanation explanation_source = "manager" - + if not acceptable_explanation: - return Response({ - 'error': 'No acceptable explanation found. Please review and mark an explanation as acceptable first.', - 'suggestion': None - }, status=status.HTTP_400_BAD_REQUEST) - + return Response( + { + "error": "No acceptable explanation found. Please review and mark an explanation as acceptable first.", + "suggestion": None, + }, + status=status.HTTP_400_BAD_REQUEST, + ) + # Generate resolution using AI try: resolution_text = self._generate_ai_resolution( - complaint=complaint, - explanation=acceptable_explanation, - source=explanation_source + complaint=complaint, explanation=acceptable_explanation, source=explanation_source ) - - return Response({ - 'success': True, - 'suggestion': resolution_text, - 'source': explanation_source, - 'source_staff': acceptable_explanation.staff.get_full_name() if acceptable_explanation.staff else None, - 'explanation_id': str(acceptable_explanation.id) - }) - + + return Response( + { + "success": True, + "suggestion": resolution_text, + "source": explanation_source, + "source_staff": acceptable_explanation.staff.get_full_name() + if acceptable_explanation.staff + else None, + "explanation_id": str(acceptable_explanation.id), + } + ) + except Exception as e: logger.error(f"Failed to generate resolution: {e}") - return Response({ - 'error': 'Failed to generate resolution suggestion', - 'detail': str(e) - }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) - + return Response( + {"error": "Failed to generate resolution suggestion", "detail": str(e)}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR, + ) + def _generate_ai_resolution(self, complaint, explanation, source): """ Generate AI resolution text based on complaint and explanation. - + This is a stub implementation. Replace with actual AI service call. """ # Build context for AI @@ -2114,13 +1833,13 @@ Complaint Description: {complaint.description} Severity: {complaint.get_severity_display()} Priority: {complaint.get_priority_display()} """ - + explanation_text = explanation.explanation explanation_by = explanation.staff.get_full_name() if explanation.staff else "Unknown" - + # For now, generate a template-based resolution # This should be replaced with actual AI service call - + resolution = f"""RESOLUTION SUMMARY Based on the complaint filed regarding: {complaint.title} @@ -2139,75 +1858,73 @@ ACTIONS TAKEN: - Steps have been taken to prevent recurrence The complaint is considered resolved.""" - + return resolution - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def save_resolution(self, request, pk=None): """ Save final resolution for the complaint. - + Allows user to save an edited or directly generated resolution. Optionally updates complaint status to RESOLVED. """ complaint = self.get_object() - + # Check permission if not (request.user.is_px_admin() or request.user.is_hospital_admin()): return Response( - {'error': 'Only PX Admins or Hospital Admins can save resolutions'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins or Hospital Admins can save resolutions"}, status=status.HTTP_403_FORBIDDEN ) - - resolution_text = request.data.get('resolution') - mark_resolved = request.data.get('mark_resolved', False) - + + resolution_text = request.data.get("resolution") + mark_resolved = request.data.get("mark_resolved", False) + if not resolution_text: - return Response( - {'error': 'Resolution text is required'}, - status=status.HTTP_400_BAD_REQUEST - ) - + return Response({"error": "Resolution text is required"}, status=status.HTTP_400_BAD_REQUEST) + # Save resolution complaint.resolution = resolution_text complaint.resolution_category = ComplaintResolutionCategory.FULL_ACTION_TAKEN - + if mark_resolved: complaint.status = ComplaintStatus.RESOLVED complaint.resolved_at = timezone.now() complaint.resolved_by = request.user - + complaint.save() - + # Create update ComplaintUpdate.objects.create( complaint=complaint, - update_type='resolution', + update_type="resolution", message=f"Resolution added{' and complaint marked as resolved' if mark_resolved else ''}", created_by=request.user, metadata={ - 'resolution_category': ComplaintResolutionCategory.FULL_ACTION_TAKEN, - 'mark_resolved': mark_resolved - } + "resolution_category": ComplaintResolutionCategory.FULL_ACTION_TAKEN, + "mark_resolved": mark_resolved, + }, ) - + # Log audit AuditService.log_from_request( - event_type='resolution_saved', + event_type="resolution_saved", description=f"Resolution saved{' and complaint resolved' if mark_resolved else ''}", request=request, content_object=complaint, - metadata={'mark_resolved': mark_resolved} + metadata={"mark_resolved": mark_resolved}, ) - - return Response({ - 'success': True, - 'message': f"Resolution saved successfully{' and complaint marked as resolved' if mark_resolved else ''}", - 'complaint_id': str(complaint.id), - 'status': complaint.status - }) - @action(detail=True, methods=['post']) + return Response( + { + "success": True, + "message": f"Resolution saved successfully{' and complaint marked as resolved' if mark_resolved else ''}", + "complaint_id": str(complaint.id), + "status": complaint.status, + } + ) + + @action(detail=True, methods=["post"]) def convert_to_appreciation(self, request, pk=None): """ Convert complaint to appreciation. @@ -2221,74 +1938,69 @@ The complaint is considered resolved.""" # Check if complaint is in active status if not complaint.is_active_status: return Response( - {'error': f"Cannot convert complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved."}, - status=status.HTTP_400_BAD_REQUEST + { + "error": f"Cannot convert complaint with status '{complaint.get_status_display()}'. Complaint must be Open, In Progress, or Partially Resolved." + }, + status=status.HTTP_400_BAD_REQUEST, ) # Check if complaint is appreciation type - if complaint.complaint_type != 'appreciation': + if complaint.complaint_type != "appreciation": return Response( - {'error': 'Only appreciation-type complaints can be converted to appreciations'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Only appreciation-type complaints can be converted to appreciations"}, + status=status.HTTP_400_BAD_REQUEST, ) # Check if already converted - if complaint.metadata.get('appreciation_id'): + if complaint.metadata.get("appreciation_id"): return Response( - {'error': 'This complaint has already been converted to an appreciation'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "This complaint has already been converted to an appreciation"}, + status=status.HTTP_400_BAD_REQUEST, ) # Get form data - recipient_type = request.data.get('recipient_type', 'user') # 'user' or 'physician' - recipient_id = request.data.get('recipient_id') - category_id = request.data.get('category_id') - message_en = request.data.get('message_en', complaint.description) - message_ar = request.data.get('message_ar', complaint.short_description_ar or '') - visibility = request.data.get('visibility', 'private') - is_anonymous = request.data.get('is_anonymous', True) - close_complaint = request.data.get('close_complaint', False) + recipient_type = request.data.get("recipient_type", "user") # 'user' or 'physician' + recipient_id = request.data.get("recipient_id") + category_id = request.data.get("category_id") + message_en = request.data.get("message_en", complaint.description) + message_ar = request.data.get("message_ar", complaint.short_description_ar or "") + visibility = request.data.get("visibility", "private") + is_anonymous = request.data.get("is_anonymous", True) + close_complaint = request.data.get("close_complaint", False) # Validate recipient from django.contrib.contenttypes.models import ContentType - if recipient_type == 'user': + if recipient_type == "user": from apps.accounts.models import User + try: recipient_user = User.objects.get(id=recipient_id) recipient_content_type = ContentType.objects.get_for_model(User) recipient_object_id = recipient_user.id except User.DoesNotExist: - return Response( - {'error': 'Recipient user not found'}, - status=status.HTTP_404_NOT_FOUND - ) - elif recipient_type == 'physician': + return Response({"error": "Recipient user not found"}, status=status.HTTP_404_NOT_FOUND) + elif recipient_type == "physician": from apps.physicians.models import Physician + try: recipient_physician = Physician.objects.get(id=recipient_id) recipient_content_type = ContentType.objects.get_for_model(Physician) recipient_object_id = recipient_physician.id except Physician.DoesNotExist: - return Response( - {'error': 'Recipient physician not found'}, - status=status.HTTP_404_NOT_FOUND - ) + return Response({"error": "Recipient physician not found"}, status=status.HTTP_404_NOT_FOUND) else: return Response( - {'error': 'Invalid recipient_type. Must be "user" or "physician"'}, - status=status.HTTP_400_BAD_REQUEST + {"error": 'Invalid recipient_type. Must be "user" or "physician"'}, status=status.HTTP_400_BAD_REQUEST ) # Validate category from apps.appreciation.models import AppreciationCategory + try: category = AppreciationCategory.objects.get(id=category_id) except AppreciationCategory.DoesNotExist: - return Response( - {'error': 'Appreciation category not found'}, - status=status.HTTP_404_NOT_FOUND - ) + return Response({"error": "Appreciation category not found"}, status=status.HTTP_404_NOT_FOUND) # Determine sender (patient or anonymous) sender = None @@ -2311,12 +2023,12 @@ The complaint is considered resolved.""" status=Appreciation.AppreciationStatus.DRAFT, is_anonymous=is_anonymous, metadata={ - 'source_complaint_id': str(complaint.id), - 'source_complaint_title': complaint.title, - 'converted_from_complaint': True, - 'converted_by': str(request.user.id), - 'converted_at': timezone.now().isoformat() - } + "source_complaint_id": str(complaint.id), + "source_complaint_title": complaint.title, + "converted_from_complaint": True, + "converted_by": str(request.user.id), + "converted_at": timezone.now().isoformat(), + }, ) # Send appreciation (triggers notification) @@ -2325,100 +2037,104 @@ The complaint is considered resolved.""" # Link appreciation to complaint if not complaint.metadata: complaint.metadata = {} - complaint.metadata['appreciation_id'] = str(appreciation.id) - complaint.metadata['converted_to_appreciation'] = True - complaint.metadata['converted_to_appreciation_at'] = timezone.now().isoformat() - complaint.metadata['converted_by'] = str(request.user.id) - complaint.save(update_fields=['metadata']) + complaint.metadata["appreciation_id"] = str(appreciation.id) + complaint.metadata["converted_to_appreciation"] = True + complaint.metadata["converted_to_appreciation_at"] = timezone.now().isoformat() + complaint.metadata["converted_by"] = str(request.user.id) + complaint.save(update_fields=["metadata"]) # Close complaint if requested complaint_closed = False if close_complaint: - complaint.status = 'closed' + complaint.status = "closed" complaint.closed_at = timezone.now() complaint.closed_by = request.user - complaint.save(update_fields=['status', 'closed_at', 'closed_by']) + complaint.save(update_fields=["status", "closed_at", "closed_by"]) complaint_closed = True # Create status update ComplaintUpdate.objects.create( complaint=complaint, - update_type='status_change', + update_type="status_change", message="Complaint closed after converting to appreciation", created_by=request.user, - old_status='open', - new_status='closed' + old_status="open", + new_status="closed", ) # Create conversion update ComplaintUpdate.objects.create( complaint=complaint, - update_type='note', + update_type="note", message=f"Converted to appreciation (Appreciation #{appreciation.id})", created_by=request.user, metadata={ - 'appreciation_id': str(appreciation.id), - 'converted_from_complaint': True, - 'close_complaint': close_complaint - } + "appreciation_id": str(appreciation.id), + "converted_from_complaint": True, + "close_complaint": close_complaint, + }, ) # Log audit AuditService.log_from_request( - event_type='complaint_converted_to_appreciation', + event_type="complaint_converted_to_appreciation", description=f"Complaint converted to appreciation: {appreciation.message_en[:100]}", request=request, content_object=complaint, metadata={ - 'appreciation_id': str(appreciation.id), - 'close_complaint': close_complaint, - 'is_anonymous': is_anonymous - } + "appreciation_id": str(appreciation.id), + "close_complaint": close_complaint, + "is_anonymous": is_anonymous, + }, ) # Build appreciation URL from django.contrib.sites.shortcuts import get_current_site + site = get_current_site(request) appreciation_url = f"https://{site.domain}/appreciations/{appreciation.id}/" - return Response({ - 'success': True, - 'message': 'Complaint successfully converted to appreciation', - 'appreciation_id': str(appreciation.id), - 'appreciation_url': appreciation_url, - 'complaint_closed': complaint_closed - }, status=status.HTTP_201_CREATED) - - @action(detail=True, methods=['post']) + return Response( + { + "success": True, + "message": "Complaint successfully converted to appreciation", + "appreciation_id": str(appreciation.id), + "appreciation_url": appreciation_url, + "complaint_closed": complaint_closed, + }, + status=status.HTTP_201_CREATED, + ) + + @action(detail=True, methods=["post"]) def send_resolution_notification(self, request, pk=None): """ Send resolution notification to patient. - + Sends email notification to patient with resolution details. Optionally sends SMS if phone number is available. Creates ComplaintUpdate entry and logs audit trail. """ complaint = self.get_object() - + # Check if complaint is resolved - if complaint.status != 'resolved': + if complaint.status != "resolved": return Response( - {'error': 'Can only send resolution notification for resolved complaints'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Can only send resolution notification for resolved complaints"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Check if resolution exists if not complaint.resolution: return Response( - {'error': 'Complaint must have resolution details before sending notification'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "Complaint must have resolution details before sending notification"}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Determine recipient (patient or contact) recipient_email = None recipient_phone = None recipient_name = None - + # Try patient first if complaint.patient: if complaint.patient.email: @@ -2426,7 +2142,7 @@ The complaint is considered resolved.""" if complaint.patient.phone: recipient_phone = complaint.patient.phone recipient_name = complaint.patient.get_full_name() - + # Fall back to contact info if not recipient_email: recipient_email = complaint.contact_email @@ -2434,17 +2150,16 @@ The complaint is considered resolved.""" recipient_name = complaint.contact_name if not recipient_phone: recipient_phone = complaint.contact_phone - + # Validate at least email is available if not recipient_email: return Response( - {'error': 'No email address found for patient or contact'}, - status=status.HTTP_400_BAD_REQUEST + {"error": "No email address found for patient or contact"}, status=status.HTTP_400_BAD_REQUEST ) - + # Build email subject and body subject = f"Complaint Resolution - #{complaint.id}" - + # Build email body email_body = f""" Dear {recipient_name}, @@ -2464,14 +2179,14 @@ Category: {complaint.get_resolution_category_display()} {complaint.resolution} """ - + # Add additional context if available if complaint.resolved_by: email_body += f""" Resolved by: {complaint.resolved_by.get_full_name()} -Resolved at: {complaint.resolved_at.strftime('%Y-%m-%d %H:%M')} +Resolved at: {complaint.resolved_at.strftime("%Y-%m-%d %H:%M")} """ - + email_body += f""" If you have any further questions or concerns about this resolution, @@ -2482,10 +2197,10 @@ Thank you for your patience and for giving us the opportunity to address your co --- This is an automated message from PX360 Complaint Management System. """ - + # Send email using NotificationService from apps.notifications.services import NotificationService - + try: notification_log = NotificationService.send_email( email=recipient_email, @@ -2493,411 +2208,410 @@ This is an automated message from PX360 Complaint Management System. message=email_body, related_object=complaint, metadata={ - 'notification_type': 'resolution_notification', - 'recipient_name': recipient_name, - 'recipient_phone': recipient_phone, - 'sender_id': str(request.user.id), - 'resolution_category': complaint.resolution_category - } + "notification_type": "resolution_notification", + "recipient_name": recipient_name, + "recipient_phone": recipient_phone, + "sender_id": str(request.user.id), + "resolution_category": complaint.resolution_category, + }, ) except Exception as e: - return Response( - {'error': f'Failed to send email: {str(e)}'}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR - ) - + return Response({"error": f"Failed to send email: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + # Optionally send SMS if phone is available sms_sent = False if recipient_phone: try: # Build SMS message (shorter) sms_message = f"PX360: Your complaint #{complaint.id} has been resolved. Resolution Category: {complaint.get_resolution_category_display()}. Check your email for details." - + # Send SMS (if SMS service is configured) # This is a placeholder - actual SMS sending depends on your SMS provider sms_sent = True # Set to True if SMS is actually sent - + if sms_sent: # Log SMS in metadata - complaint.metadata['resolution_sms_sent_at'] = timezone.now().isoformat() - complaint.metadata['resolution_sms_sent_to'] = recipient_phone - complaint.save(update_fields=['metadata']) + complaint.metadata["resolution_sms_sent_at"] = timezone.now().isoformat() + complaint.metadata["resolution_sms_sent_to"] = recipient_phone + complaint.save(update_fields=["metadata"]) except Exception as e: # Log error but don't fail the operation import logging + logger = logging.getLogger(__name__) logger.error(f"Failed to send SMS: {e}") - + # Create ComplaintUpdate entry ComplaintUpdate.objects.create( complaint=complaint, - update_type='communication', + update_type="communication", message=f"Resolution notification sent to {recipient_name}", created_by=request.user, metadata={ - 'notification_type': 'resolution_notification', - 'recipient_name': recipient_name, - 'recipient_email': recipient_email, - 'notification_log_id': str(notification_log.id) if notification_log else None, - 'sms_sent': sms_sent - } + "notification_type": "resolution_notification", + "recipient_name": recipient_name, + "recipient_email": recipient_email, + "notification_log_id": str(notification_log.id) if notification_log else None, + "sms_sent": sms_sent, + }, ) - + # Log audit AuditService.log_from_request( - event_type='resolution_notification_sent', + event_type="resolution_notification_sent", description=f"Resolution notification sent to {recipient_name}", request=request, content_object=complaint, metadata={ - 'recipient_name': recipient_name, - 'recipient_email': recipient_email, - 'recipient_phone': recipient_phone, - 'sms_sent': sms_sent, - 'resolution_category': complaint.resolution_category + "recipient_name": recipient_name, + "recipient_email": recipient_email, + "recipient_phone": recipient_phone, + "sms_sent": sms_sent, + "resolution_category": complaint.resolution_category, + }, + ) + + return Response( + { + "success": True, + "message": "Resolution notification sent successfully", + "recipient": recipient_name, + "recipient_email": recipient_email, + "sms_sent": sms_sent, } ) - - return Response({ - 'success': True, - 'message': 'Resolution notification sent successfully', - 'recipient': recipient_name, - 'recipient_email': recipient_email, - 'sms_sent': sms_sent - }) - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def update_taxonomy(self, request, pk=None): """ Update the 4-level SHCT taxonomy classification for a complaint. - + Allows PX Admins and Hospital Admins to manually correct or update the AI-generated taxonomy classification. - + Required fields: - domain_id: UUID of the Level 1 Domain (ComplaintCategory) - category_id: UUID of the Level 2 Category (ComplaintCategory) - subcategory_id: UUID of the Level 3 Subcategory (ComplaintCategory) - classification_id: UUID of the Level 4 Classification (ComplaintCategory) - + Optional fields: - note: Optional note explaining the change """ complaint = self.get_object() user = request.user - + # Check permissions if not (user.is_px_admin() or user.is_hospital_admin()): return Response( - {'error': 'Only PX Admins and Hospital Admins can update taxonomy'}, - status=status.HTTP_403_FORBIDDEN + {"error": "Only PX Admins and Hospital Admins can update taxonomy"}, status=status.HTTP_403_FORBIDDEN ) - + # Get taxonomy IDs from request - domain_id = request.data.get('domain_id') - category_id = request.data.get('category_id') - subcategory_id = request.data.get('subcategory_id') - classification_id = request.data.get('classification_id') - note = request.data.get('note', '') - + domain_id = request.data.get("domain_id") + category_id = request.data.get("category_id") + subcategory_id = request.data.get("subcategory_id") + classification_id = request.data.get("classification_id") + note = request.data.get("note", "") + # Validate that at least one field is provided if not any([domain_id, category_id, subcategory_id, classification_id]): return Response( - {'error': 'At least one taxonomy level (domain_id, category_id, subcategory_id, or classification_id) must be provided'}, - status=status.HTTP_400_BAD_REQUEST + { + "error": "At least one taxonomy level (domain_id, category_id, subcategory_id, or classification_id) must be provided" + }, + status=status.HTTP_400_BAD_REQUEST, ) - + from apps.complaints.models import ComplaintCategory - + changes = [] errors = [] - + # Store old values for logging old_domain = complaint.domain old_category = complaint.category old_subcategory_obj = complaint.subcategory_obj old_classification_obj = complaint.classification_obj - + try: # Level 1: Domain if domain_id: try: domain = ComplaintCategory.objects.get( - id=domain_id, - level=ComplaintCategory.LevelChoices.DOMAIN, - is_active=True + id=domain_id, level=ComplaintCategory.LevelChoices.DOMAIN, is_active=True ) complaint.domain = domain changes.append(f"Domain: {old_domain.name_en if old_domain else 'None'} -> {domain.name_en}") except ComplaintCategory.DoesNotExist: errors.append(f"Domain with ID {domain_id} not found or not active") - + # Level 2: Category (must be child of domain if domain is set) if category_id: try: category_query = ComplaintCategory.objects.filter( - id=category_id, - level=ComplaintCategory.LevelChoices.CATEGORY, - is_active=True + id=category_id, level=ComplaintCategory.LevelChoices.CATEGORY, is_active=True ) # If domain is set, ensure category is child of domain if complaint.domain: category_query = category_query.filter(parent=complaint.domain) - + category = category_query.first() if category: complaint.category = category - changes.append(f"Category: {old_category.name_en if old_category else 'None'} -> {category.name_en}") + changes.append( + f"Category: {old_category.name_en if old_category else 'None'} -> {category.name_en}" + ) else: - errors.append(f"Category with ID {category_id} not found, not active, or not under the selected domain") + errors.append( + f"Category with ID {category_id} not found, not active, or not under the selected domain" + ) except Exception as e: errors.append(f"Error setting category: {str(e)}") - + # Level 3: Subcategory (must be child of category if category is set) if subcategory_id: try: subcategory_query = ComplaintCategory.objects.filter( - id=subcategory_id, - level=ComplaintCategory.LevelChoices.SUBCATEGORY, - is_active=True + id=subcategory_id, level=ComplaintCategory.LevelChoices.SUBCATEGORY, is_active=True ) # If category is set, ensure subcategory is child of category if complaint.category: subcategory_query = subcategory_query.filter(parent=complaint.category) - + subcategory = subcategory_query.first() if subcategory: complaint.subcategory_obj = subcategory complaint.subcategory = subcategory.code or subcategory.name_en - changes.append(f"Subcategory: {old_subcategory_obj.name_en if old_subcategory_obj else 'None'} -> {subcategory.name_en}") + changes.append( + f"Subcategory: {old_subcategory_obj.name_en if old_subcategory_obj else 'None'} -> {subcategory.name_en}" + ) else: - errors.append(f"Subcategory with ID {subcategory_id} not found, not active, or not under the selected category") + errors.append( + f"Subcategory with ID {subcategory_id} not found, not active, or not under the selected category" + ) except Exception as e: errors.append(f"Error setting subcategory: {str(e)}") - + # Level 4: Classification (must be child of subcategory if subcategory is set) if classification_id: try: classification_query = ComplaintCategory.objects.filter( - id=classification_id, - level=ComplaintCategory.LevelChoices.CLASSIFICATION, - is_active=True + id=classification_id, level=ComplaintCategory.LevelChoices.CLASSIFICATION, is_active=True ) # If subcategory_obj is set, ensure classification is child of subcategory if complaint.subcategory_obj: classification_query = classification_query.filter(parent=complaint.subcategory_obj) - + classification = classification_query.first() if classification: complaint.classification_obj = classification complaint.classification = classification.code or classification.name_en - changes.append(f"Classification: {old_classification_obj.name_en if old_classification_obj else 'None'} -> {classification.name_en}") + changes.append( + f"Classification: {old_classification_obj.name_en if old_classification_obj else 'None'} -> {classification.name_en}" + ) else: - errors.append(f"Classification with ID {classification_id} not found, not active, or not under the selected subcategory") + errors.append( + f"Classification with ID {classification_id} not found, not active, or not under the selected subcategory" + ) except Exception as e: errors.append(f"Error setting classification: {str(e)}") - + # If there were errors, return them without saving if errors: return Response( - { - 'error': 'Some taxonomy levels could not be updated', - 'errors': errors, - 'changes_made': changes - }, - status=status.HTTP_400_BAD_REQUEST + {"error": "Some taxonomy levels could not be updated", "errors": errors, "changes_made": changes}, + status=status.HTTP_400_BAD_REQUEST, ) - + # Save the complaint - complaint.save(update_fields=['domain', 'category', 'subcategory', 'subcategory_obj', 'classification', 'classification_obj']) - + complaint.save( + update_fields=[ + "domain", + "category", + "subcategory", + "subcategory_obj", + "classification", + "classification_obj", + ] + ) + # Create timeline entry change_message = "Taxonomy updated:\n" + "\n".join(changes) if note: change_message += f"\n\nNote: {note}" - + ComplaintUpdate.objects.create( complaint=complaint, - update_type='note', + update_type="note", message=change_message, created_by=user, - metadata={ - 'taxonomy_update': True, - 'changes': changes, - 'note': note, - 'updated_by': str(user.id) - } + metadata={"taxonomy_update": True, "changes": changes, "note": note, "updated_by": str(user.id)}, ) - + # Log audit AuditService.log_from_request( - event_type='taxonomy_updated', + event_type="taxonomy_updated", description=f"Taxonomy updated for complaint: {complaint.title}", request=request, content_object=complaint, - metadata={ - 'changes': changes, - 'note': note, - 'updated_by': str(user.id) - } + metadata={"changes": changes, "note": note, "updated_by": str(user.id)}, ) - + # Update metadata to reflect manual update if not complaint.metadata: complaint.metadata = {} - if 'ai_analysis' not in complaint.metadata: - complaint.metadata['ai_analysis'] = {} - complaint.metadata['ai_analysis']['taxonomy_manually_updated'] = True - complaint.metadata['ai_analysis']['taxonomy_updated_by'] = str(user.id) - complaint.metadata['ai_analysis']['taxonomy_updated_at'] = timezone.now().isoformat() - complaint.save(update_fields=['metadata']) - - return Response({ - 'success': True, - 'message': 'Taxonomy updated successfully', - 'changes': changes, - 'taxonomy': { - 'domain': { - 'id': str(complaint.domain.id) if complaint.domain else None, - 'name_en': complaint.domain.name_en if complaint.domain else None, - 'name_ar': complaint.domain.name_ar if complaint.domain else None + if "ai_analysis" not in complaint.metadata: + complaint.metadata["ai_analysis"] = {} + complaint.metadata["ai_analysis"]["taxonomy_manually_updated"] = True + complaint.metadata["ai_analysis"]["taxonomy_updated_by"] = str(user.id) + complaint.metadata["ai_analysis"]["taxonomy_updated_at"] = timezone.now().isoformat() + complaint.save(update_fields=["metadata"]) + + return Response( + { + "success": True, + "message": "Taxonomy updated successfully", + "changes": changes, + "taxonomy": { + "domain": { + "id": str(complaint.domain.id) if complaint.domain else None, + "name_en": complaint.domain.name_en if complaint.domain else None, + "name_ar": complaint.domain.name_ar if complaint.domain else None, + }, + "category": { + "id": str(complaint.category.id) if complaint.category else None, + "name_en": complaint.category.name_en if complaint.category else None, + "name_ar": complaint.category.name_ar if complaint.category else None, + }, + "subcategory": { + "id": str(complaint.subcategory_obj.id) if complaint.subcategory_obj else None, + "name_en": complaint.subcategory_obj.name_en if complaint.subcategory_obj else None, + "name_ar": complaint.subcategory_obj.name_ar if complaint.subcategory_obj else None, + "code": complaint.subcategory, + }, + "classification": { + "id": str(complaint.classification_obj.id) if complaint.classification_obj else None, + "name_en": complaint.classification_obj.name_en if complaint.classification_obj else None, + "name_ar": complaint.classification_obj.name_ar if complaint.classification_obj else None, + "code": complaint.classification, + }, }, - 'category': { - 'id': str(complaint.category.id) if complaint.category else None, - 'name_en': complaint.category.name_en if complaint.category else None, - 'name_ar': complaint.category.name_ar if complaint.category else None - }, - 'subcategory': { - 'id': str(complaint.subcategory_obj.id) if complaint.subcategory_obj else None, - 'name_en': complaint.subcategory_obj.name_en if complaint.subcategory_obj else None, - 'name_ar': complaint.subcategory_obj.name_ar if complaint.subcategory_obj else None, - 'code': complaint.subcategory - }, - 'classification': { - 'id': str(complaint.classification_obj.id) if complaint.classification_obj else None, - 'name_en': complaint.classification_obj.name_en if complaint.classification_obj else None, - 'name_ar': complaint.classification_obj.name_ar if complaint.classification_obj else None, - 'code': complaint.classification - } } - }) - + ) + except Exception as e: logger.error(f"Error updating taxonomy: {str(e)}") return Response( - {'error': f'Failed to update taxonomy: {str(e)}'}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR + {"error": f"Failed to update taxonomy: {str(e)}"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR ) - @action(detail=True, methods=['get']) + @action(detail=True, methods=["get"]) def taxonomy_options(self, request, pk=None): """ Get available taxonomy options for the complaint's hierarchy. - + Returns the full SHCT taxonomy hierarchy for building cascading dropdowns. Includes only active categories. """ complaint = self.get_object() - + from apps.complaints.models import ComplaintCategory from django.db.models import Prefetch - + # Build the hierarchy domains = ComplaintCategory.objects.filter( - level=ComplaintCategory.LevelChoices.DOMAIN, - is_active=True - ).order_by('order', 'name_en') - + level=ComplaintCategory.LevelChoices.DOMAIN, is_active=True + ).order_by("order", "name_en") + result = [] for domain in domains: domain_data = { - 'id': str(domain.id), - 'code': domain.code or domain.name_en.upper(), - 'name_en': domain.name_en, - 'name_ar': domain.name_ar, - 'is_selected': complaint.domain and complaint.domain.id == domain.id, - 'categories': [] + "id": str(domain.id), + "code": domain.code or domain.name_en.upper(), + "name_en": domain.name_en, + "name_ar": domain.name_ar, + "is_selected": complaint.domain and complaint.domain.id == domain.id, + "categories": [], } - + # Get categories for this domain categories = ComplaintCategory.objects.filter( - parent=domain, - level=ComplaintCategory.LevelChoices.CATEGORY, - is_active=True - ).order_by('order', 'name_en') - + parent=domain, level=ComplaintCategory.LevelChoices.CATEGORY, is_active=True + ).order_by("order", "name_en") + for category in categories: category_data = { - 'id': str(category.id), - 'code': category.code or category.name_en.upper(), - 'name_en': category.name_en, - 'name_ar': category.name_ar, - 'is_selected': complaint.category and complaint.category.id == category.id, - 'subcategories': [] + "id": str(category.id), + "code": category.code or category.name_en.upper(), + "name_en": category.name_en, + "name_ar": category.name_ar, + "is_selected": complaint.category and complaint.category.id == category.id, + "subcategories": [], } - + # Get subcategories for this category subcategories = ComplaintCategory.objects.filter( - parent=category, - level=ComplaintCategory.LevelChoices.SUBCATEGORY, - is_active=True - ).order_by('order', 'name_en') - + parent=category, level=ComplaintCategory.LevelChoices.SUBCATEGORY, is_active=True + ).order_by("order", "name_en") + for subcategory in subcategories: subcategory_data = { - 'id': str(subcategory.id), - 'code': subcategory.code or subcategory.name_en.upper(), - 'name_en': subcategory.name_en, - 'name_ar': subcategory.name_ar, - 'is_selected': complaint.subcategory_obj and complaint.subcategory_obj.id == subcategory.id, - 'classifications': [] + "id": str(subcategory.id), + "code": subcategory.code or subcategory.name_en.upper(), + "name_en": subcategory.name_en, + "name_ar": subcategory.name_ar, + "is_selected": complaint.subcategory_obj and complaint.subcategory_obj.id == subcategory.id, + "classifications": [], } - + # Get classifications for this subcategory classifications = ComplaintCategory.objects.filter( - parent=subcategory, - level=ComplaintCategory.LevelChoices.CLASSIFICATION, - is_active=True - ).order_by('order', 'name_en') - + parent=subcategory, level=ComplaintCategory.LevelChoices.CLASSIFICATION, is_active=True + ).order_by("order", "name_en") + for classification in classifications: classification_data = { - 'id': str(classification.id), - 'code': classification.code, - 'name_en': classification.name_en, - 'name_ar': classification.name_ar, - 'is_selected': complaint.classification_obj and complaint.classification_obj.id == classification.id + "id": str(classification.id), + "code": classification.code, + "name_en": classification.name_en, + "name_ar": classification.name_ar, + "is_selected": complaint.classification_obj + and complaint.classification_obj.id == classification.id, } - subcategory_data['classifications'].append(classification_data) - - category_data['subcategories'].append(subcategory_data) - - domain_data['categories'].append(category_data) - + subcategory_data["classifications"].append(classification_data) + + category_data["subcategories"].append(subcategory_data) + + domain_data["categories"].append(category_data) + result.append(domain_data) - - return Response({ - 'success': True, - 'hierarchy': result, - 'current': { - 'domain_id': str(complaint.domain.id) if complaint.domain else None, - 'category_id': str(complaint.category.id) if complaint.category else None, - 'subcategory_id': str(complaint.subcategory_obj.id) if complaint.subcategory_obj else None, - 'classification_id': str(complaint.classification_obj.id) if complaint.classification_obj else None + + return Response( + { + "success": True, + "hierarchy": result, + "current": { + "domain_id": str(complaint.domain.id) if complaint.domain else None, + "category_id": str(complaint.category.id) if complaint.category else None, + "subcategory_id": str(complaint.subcategory_obj.id) if complaint.subcategory_obj else None, + "classification_id": str(complaint.classification_obj.id) if complaint.classification_obj else None, + }, } - }) + ) class ComplaintAttachmentViewSet(viewsets.ModelViewSet): """ViewSet for Complaint Attachments""" + queryset = ComplaintAttachment.objects.all() serializer_class = ComplaintAttachmentSerializer permission_classes = [IsAuthenticated] - filterset_fields = ['complaint'] - ordering = ['-created_at'] + filterset_fields = ["complaint"] + ordering = ["-created_at"] def get_queryset(self): - queryset = super().get_queryset().select_related('complaint', 'uploaded_by') + queryset = super().get_queryset().select_related("complaint", "uploaded_by") user = self.request.user # Filter based on complaint access @@ -2915,32 +2629,41 @@ class ComplaintAttachmentViewSet(viewsets.ModelViewSet): class InquiryViewSet(viewsets.ModelViewSet): """ViewSet for Inquiries""" + queryset = Inquiry.objects.all() serializer_class = InquirySerializer permission_classes = [IsAuthenticated] - filterset_fields = ['status', 'category', 'source', 'hospital', 'department', 'assigned_to', 'hospital__organization'] - search_fields = ['subject', 'message', 'contact_name', 'patient__mrn'] - ordering_fields = ['created_at'] - ordering = ['-created_at'] + filterset_fields = [ + "status", + "category", + "source", + "hospital", + "department", + "assigned_to", + "hospital__organization", + ] + search_fields = ["subject", "message", "contact_name", "patient__mrn"] + ordering_fields = ["created_at"] + ordering = ["-created_at"] def perform_create(self, serializer): """Auto-set created_by from request.user""" inquiry = serializer.save(created_by=self.request.user) AuditService.log_from_request( - event_type='inquiry_created', + event_type="inquiry_created", description=f"Inquiry created: {inquiry.subject}", request=self.request, content_object=inquiry, - metadata={ - 'created_by': str(inquiry.created_by.id) if inquiry.created_by else None - } + metadata={"created_by": str(inquiry.created_by.id) if inquiry.created_by else None}, ) def get_queryset(self): """Filter inquiries based on user role""" - queryset = super().get_queryset().select_related( - 'patient', 'hospital', 'department', 'assigned_to', 'responded_by', 'created_by' + queryset = ( + super() + .get_queryset() + .select_related("patient", "hospital", "department", "assigned_to", "responded_by", "created_by") ) user = self.request.user @@ -2950,11 +2673,11 @@ class InquiryViewSet(viewsets.ModelViewSet): return queryset # Source Users see ONLY inquiries THEY created - if hasattr(user, 'source_user_profile') and user.source_user_profile.exists(): + if hasattr(user, "source_user_profile") and user.source_user_profile.exists(): return queryset.filter(created_by=user) # Patients see ONLY their own inquiries (if they have user accounts) - if hasattr(user, 'patient_profile'): + if hasattr(user, "patient_profile"): return queryset.filter(patient__user=user) # Hospital Admins see inquiries for their hospital @@ -2971,39 +2694,35 @@ class InquiryViewSet(viewsets.ModelViewSet): return queryset.none() - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def respond(self, request, pk=None): """Respond to inquiry""" inquiry = self.get_object() - response_text = request.data.get('response') + response_text = request.data.get("response") if not response_text: - return Response( - {'error': 'response is required'}, - status=status.HTTP_400_BAD_REQUEST - ) + return Response({"error": "response is required"}, status=status.HTTP_400_BAD_REQUEST) inquiry.response = response_text inquiry.responded_at = timezone.now() inquiry.responded_by = request.user - inquiry.status = 'resolved' + inquiry.status = "resolved" inquiry.save() - return Response({'message': 'Response submitted successfully'}) + return Response({"message": "Response submitted successfully"}) class ComplaintPRInteractionViewSet(viewsets.ModelViewSet): """ViewSet for PR Interactions""" + queryset = ComplaintPRInteraction.objects.all() serializer_class = ComplaintPRInteractionSerializer permission_classes = [IsAuthenticated] - filterset_fields = ['complaint', 'contact_method', 'procedure_explained', 'pr_staff'] - ordering = ['-contact_date'] + filterset_fields = ["complaint", "contact_method", "procedure_explained", "pr_staff"] + ordering = ["-contact_date"] def get_queryset(self): - queryset = super().get_queryset().select_related( - 'complaint', 'pr_staff', 'created_by' - ) + queryset = super().get_queryset().select_related("complaint", "pr_staff", "created_by") user = self.request.user # Filter based on complaint access @@ -3025,38 +2744,36 @@ class ComplaintPRInteractionViewSet(viewsets.ModelViewSet): # Create complaint update ComplaintUpdate.objects.create( complaint=interaction.complaint, - update_type='note', + update_type="note", message=f"PR Interaction recorded: Contact via {interaction.get_contact_method_display()}", created_by=self.request.user, metadata={ - 'interaction_id': str(interaction.id), - 'contact_method': interaction.contact_method, - 'procedure_explained': interaction.procedure_explained - } + "interaction_id": str(interaction.id), + "contact_method": interaction.contact_method, + "procedure_explained": interaction.procedure_explained, + }, ) AuditService.log_from_request( - event_type='pr_interaction_created', + event_type="pr_interaction_created", description=f"PR Interaction recorded for complaint: {interaction.complaint.title}", request=self.request, content_object=interaction, - metadata={ - 'complaint_id': str(interaction.complaint.id), - 'contact_method': interaction.contact_method - } + metadata={"complaint_id": str(interaction.complaint.id), "contact_method": interaction.contact_method}, ) class ComplaintMeetingViewSet(viewsets.ModelViewSet): """ViewSet for Complaint Meetings""" + queryset = ComplaintMeeting.objects.all() serializer_class = ComplaintMeetingSerializer permission_classes = [IsAuthenticated] - filterset_fields = ['complaint', 'meeting_type'] - ordering = ['-meeting_date'] + filterset_fields = ["complaint", "meeting_type"] + ordering = ["-meeting_date"] def get_queryset(self): - queryset = super().get_queryset().select_related('complaint', 'created_by') + queryset = super().get_queryset().select_related("complaint", "created_by") user = self.request.user # Filter based on complaint access @@ -3078,42 +2795,36 @@ class ComplaintMeetingViewSet(viewsets.ModelViewSet): # Create complaint update ComplaintUpdate.objects.create( complaint=meeting.complaint, - update_type='note', + update_type="note", message=f"Meeting recorded: {meeting.get_meeting_type_display()} - {meeting.outcome[:100] if meeting.outcome else ''}", created_by=self.request.user, - metadata={ - 'meeting_id': str(meeting.id), - 'meeting_type': meeting.meeting_type - } + metadata={"meeting_id": str(meeting.id), "meeting_type": meeting.meeting_type}, ) # If outcome is provided, consider it as resolution - if meeting.outcome and meeting.complaint.status not in ['resolved', 'closed']: - meeting.complaint.status = 'resolved' + if meeting.outcome and meeting.complaint.status not in ["resolved", "closed"]: + meeting.complaint.status = "resolved" meeting.complaint.resolution = meeting.outcome meeting.complaint.resolved_at = timezone.now() meeting.complaint.resolved_by = self.request.user - meeting.complaint.save(update_fields=['status', 'resolution', 'resolved_at', 'resolved_by']) + meeting.complaint.save(update_fields=["status", "resolution", "resolved_at", "resolved_by"]) # Create status update ComplaintUpdate.objects.create( complaint=meeting.complaint, - update_type='status_change', + update_type="status_change", message=f"Complaint resolved through meeting", created_by=self.request.user, - old_status='in_progress', - new_status='resolved' + old_status="in_progress", + new_status="resolved", ) AuditService.log_from_request( - event_type='meeting_created', + event_type="meeting_created", description=f"Complaint Meeting recorded for: {meeting.complaint.title}", request=self.request, content_object=meeting, - metadata={ - 'complaint_id': str(meeting.complaint.id), - 'meeting_type': meeting.meeting_type - } + metadata={"complaint_id": str(meeting.complaint.id), "meeting_type": meeting.meeting_type}, ) @@ -3127,126 +2838,110 @@ from django.views.decorators.csrf import csrf_exempt def api_locations(request): """ API endpoint to get all locations for complaint form. - + Returns JSON list of all locations ordered by English name. Public endpoint (no authentication required). """ from apps.organizations.models import Location - - locations = Location.objects.all().order_by('name_en') - + + locations = Location.objects.all().order_by("name_en") + locations_list = [ { - 'id': loc.id, - 'name': str(loc) # Uses __str__ which prefers English name + "id": loc.id, + "name": str(loc), # Uses __str__ which prefers English name } for loc in locations ] - - return JsonResponse({ - 'success': True, - 'locations': locations_list, - 'count': len(locations_list) - }) + + return JsonResponse({"success": True, "locations": locations_list, "count": len(locations_list)}) @require_GET def api_sections(request, location_id): """ API endpoint to get sections for a specific location. - + Returns JSON list of main sections that have subsections for given location. Public endpoint (no authentication required). """ from apps.organizations.models import MainSection, SubSection - + # Get available sections that have subsections for this location - available_section_ids = SubSection.objects.filter( - location_id=location_id - ).values_list('main_section_id', flat=True).distinct() - - sections = MainSection.objects.filter( - id__in=available_section_ids - ).order_by('name_en') - + available_section_ids = ( + SubSection.objects.filter(location_id=location_id).values_list("main_section_id", flat=True).distinct() + ) + + sections = MainSection.objects.filter(id__in=available_section_ids).order_by("name_en") + sections_list = [ { - 'id': section.id, - 'name': str(section) # Uses __str__ which prefers English name + "id": section.id, + "name": str(section), # Uses __str__ which prefers English name } for section in sections ] - - return JsonResponse({ - 'success': True, - 'location_id': location_id, - 'sections': sections_list, - 'count': len(sections_list) - }) + + return JsonResponse( + {"success": True, "location_id": location_id, "sections": sections_list, "count": len(sections_list)} + ) @require_GET def api_subsections(request, location_id, section_id): """ API endpoint to get subsections for a specific location and section. - + Returns JSON list of subsections for given location and section. Public endpoint (no authentication required). """ from apps.organizations.models import SubSection - - subsections = SubSection.objects.filter( - location_id=location_id, - main_section_id=section_id - ).order_by('name_en') - + + subsections = SubSection.objects.filter(location_id=location_id, main_section_id=section_id).order_by("name_en") + subsections_list = [ { - 'id': sub.internal_id, # SubSection uses internal_id as primary key - 'name': str(sub) # Uses __str__ which prefers English name + "id": sub.internal_id, # SubSection uses internal_id as primary key + "name": str(sub), # Uses __str__ which prefers English name } for sub in subsections ] - - return JsonResponse({ - 'success': True, - 'location_id': location_id, - 'section_id': section_id, - 'subsections': subsections_list, - 'count': len(subsections_list) - }) + + return JsonResponse( + { + "success": True, + "location_id": location_id, + "section_id": section_id, + "subsections": subsections_list, + "count": len(subsections_list), + } + ) @require_GET def api_departments(request, hospital_id): """ API endpoint to get departments for a specific hospital. - + Returns JSON list of departments for given hospital. Public endpoint (no authentication required). """ from apps.organizations.models import Department - - departments = Department.objects.filter( - hospital_id=hospital_id, - status='active' - ).order_by('name') - + + departments = Department.objects.filter(hospital_id=hospital_id, status="active").order_by("name") + departments_list = [ { - 'id': dept.id, - 'name': dept.name # Department model has 'name' field, not name_en + "id": dept.id, + "name": dept.name, # Department model has 'name' field, not name_en } for dept in departments ] - - return JsonResponse({ - 'success': True, - 'hospital_id': hospital_id, - 'departments': departments_list, - 'count': len(departments_list) - }) + + return JsonResponse( + {"success": True, "hospital_id": hospital_id, "departments": departments_list, "count": len(departments_list)} + ) def complaint_explanation_form(request, complaint_id, token): @@ -3266,40 +2961,45 @@ def complaint_explanation_form(request, complaint_id, token): # Validate token with staff and department prefetch # Also prefetch escalation relationship to show original staff explanation to manager explanation = get_object_or_404( - ComplaintExplanation.objects.select_related( - 'staff', 'staff__department', 'staff__report_to' - ).prefetch_related('escalated_from_staff'), + ComplaintExplanation.objects.select_related("staff", "staff__department", "staff__report_to").prefetch_related( + "escalated_from_staff" + ), complaint=complaint, - token=token + token=token, ) - + # Get original staff explanation if this is an escalation original_explanation = None - if hasattr(explanation, 'escalated_from_staff'): + if hasattr(explanation, "escalated_from_staff"): # This explanation was created as a result of escalation # Get the original staff explanation - original_explanation = ComplaintExplanation.objects.filter( - escalated_to_manager=explanation - ).select_related('staff').first() + original_explanation = ( + ComplaintExplanation.objects.filter(escalated_to_manager=explanation).select_related("staff").first() + ) # Check if token is already used if explanation.is_used: - return render(request, 'complaints/explanation_already_submitted.html', { - 'complaint': complaint, - 'explanation': explanation - }) + return render( + request, + "complaints/explanation_already_submitted.html", + {"complaint": complaint, "explanation": explanation}, + ) - if request.method == 'POST': + if request.method == "POST": # Handle form submission - explanation_text = request.POST.get('explanation', '').strip() + explanation_text = request.POST.get("explanation", "").strip() if not explanation_text: - return render(request, 'complaints/explanation_form.html', { - 'complaint': complaint, - 'explanation': explanation, - 'original_explanation': original_explanation, - 'error': 'Please provide your explanation.' - }) + return render( + request, + "complaints/explanation_form.html", + { + "complaint": complaint, + "explanation": explanation, + "original_explanation": original_explanation, + "error": "Please provide your explanation.", + }, + ) # Save explanation explanation.explanation = explanation_text @@ -3308,14 +3008,14 @@ def complaint_explanation_form(request, complaint_id, token): explanation.save() # Handle file attachments - files = request.FILES.getlist('attachments') + files = request.FILES.getlist("attachments") for uploaded_file in files: ExplanationAttachment.objects.create( explanation=explanation, file=uploaded_file, filename=uploaded_file.name, file_type=uploaded_file.content_type, - file_size=uploaded_file.size + file_size=uploaded_file.size, ) # Notify complaint assignee @@ -3368,41 +3068,42 @@ This is an automated message from PX360 Complaint Management System. message=email_body, related_object=complaint, metadata={ - 'notification_type': 'explanation_submitted', - 'explanation_id': str(explanation.id), - 'staff_id': str(explanation.staff.id) if explanation.staff else None - } + "notification_type": "explanation_submitted", + "explanation_id": str(explanation.id), + "staff_id": str(explanation.staff.id) if explanation.staff else None, + }, ) except Exception as e: # Log error but don't fail the submission import logging + logger = logging.getLogger(__name__) logger.error(f"Failed to send notification email: {e}") # Create complaint update ComplaintUpdate.objects.create( complaint=complaint, - update_type='communication', + update_type="communication", message=f"Explanation submitted by {explanation.staff}", metadata={ - 'explanation_id': str(explanation.id), - 'staff_id': str(explanation.staff.id) if explanation.staff else None - } + "explanation_id": str(explanation.id), + "staff_id": str(explanation.staff.id) if explanation.staff else None, + }, ) # Redirect to success page - return render(request, 'complaints/explanation_success.html', { - 'complaint': complaint, - 'explanation': explanation, - 'attachment_count': len(files) - }) + return render( + request, + "complaints/explanation_success.html", + {"complaint": complaint, "explanation": explanation, "attachment_count": len(files)}, + ) # GET request - display form - return render(request, 'complaints/explanation_form.html', { - 'complaint': complaint, - 'explanation': explanation, - 'original_explanation': original_explanation - }) + return render( + request, + "complaints/explanation_form.html", + {"complaint": complaint, "explanation": explanation, "original_explanation": original_explanation}, + ) from django.http import HttpResponse @@ -3421,7 +3122,7 @@ def generate_complaint_pdf(request, pk): # Check permissions user = request.user if not user.is_authenticated: - return HttpResponse('Unauthorized', status=401) + return HttpResponse("Unauthorized", status=401) # Check if user can view this complaint can_view = False @@ -3435,71 +3136,75 @@ def generate_complaint_pdf(request, pk): can_view = True if not can_view: - return HttpResponse('Forbidden', status=403) + return HttpResponse("Forbidden", status=403) # Render HTML template with comprehensive data from django.template.loader import render_to_string - + # Get explanations with their acceptance status - explanations = complaint.explanations.all().select_related('staff', 'accepted_by').prefetch_related('attachments') - + explanations = complaint.explanations.all().select_related("staff", "accepted_by").prefetch_related("attachments") + # Get timeline updates - timeline = complaint.updates.all().select_related('created_by')[:20] # Limit to last 20 - + timeline = complaint.updates.all().select_related("created_by")[:20] # Limit to last 20 + # Get related PX Actions from apps.px_action_center.models import PXAction from django.contrib.contenttypes.models import ContentType + complaint_ct = ContentType.objects.get_for_model(Complaint) - px_actions = PXAction.objects.filter( - content_type=complaint_ct, - object_id=complaint.id - ).order_by('-created_at')[:5] - - html_string = render_to_string('complaints/complaint_pdf.html', { - 'complaint': complaint, - 'explanations': explanations, - 'timeline': timeline, - 'px_actions': px_actions, - 'generated_at': timezone.now(), - }) + px_actions = PXAction.objects.filter(content_type=complaint_ct, object_id=complaint.id).order_by("-created_at")[:5] + + html_string = render_to_string( + "complaints/complaint_pdf.html", + { + "complaint": complaint, + "explanations": explanations, + "timeline": timeline, + "px_actions": px_actions, + "generated_at": timezone.now(), + }, + ) # Generate PDF using WeasyPrint try: from weasyprint import HTML + pdf_file = HTML(string=html_string).write_pdf() # Create response - response = HttpResponse(pdf_file, content_type='application/pdf') - + response = HttpResponse(pdf_file, content_type="application/pdf") + # Allow PDF to be displayed in iframe (same origin only) - response['X-Frame-Options'] = 'SAMEORIGIN' - + response["X-Frame-Options"] = "SAMEORIGIN" + # Check if view=inline is requested (for iframe display) - view_mode = request.GET.get('view', 'download') - if view_mode == 'inline': + view_mode = request.GET.get("view", "download") + if view_mode == "inline": # Display inline in browser - response['Content-Disposition'] = 'inline' + response["Content-Disposition"] = "inline" else: # Download as attachment from datetime import datetime - timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') + + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") filename = f"complaint_{complaint.reference_number}_{timestamp}.pdf" - response['Content-Disposition'] = f'attachment; filename="{filename}"' + response["Content-Disposition"] = f'attachment; filename="{filename}"' # Log audit AuditService.log_from_request( - event_type='pdf_generated', + event_type="pdf_generated", description=f"PDF generated for complaint: {complaint.title}", request=request, content_object=complaint, - metadata={'complaint_id': str(pk)} + metadata={"complaint_id": str(pk)}, ) return response except ImportError: - return HttpResponse('WeasyPrint is not installed. Please install it to generate PDFs.', status=500) + return HttpResponse("WeasyPrint is not installed. Please install it to generate PDFs.", status=500) except Exception as e: import logging + logger = logging.getLogger(__name__) logger.error(f"Error generating PDF for complaint {pk}: {e}") - return HttpResponse(f'Error generating PDF: {str(e)}', status=500) + return HttpResponse(f"Error generating PDF: {str(e)}", status=500) diff --git a/apps/core/ai_service.py b/apps/core/ai_service.py index b1bd58a..fe4e877 100644 --- a/apps/core/ai_service.py +++ b/apps/core/ai_service.py @@ -11,6 +11,7 @@ Features: - Entity extraction - Language detection """ + import os import json import logging @@ -24,6 +25,7 @@ logger = logging.getLogger(__name__) class AIServiceError(Exception): """Custom exception for AI service errors""" + pass @@ -38,7 +40,6 @@ class AIService: # OPENROUTER_API_KEY = "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" OPENROUTER_API_KEY = "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" - # Default configuration DEFAULT_MODEL = "openrouter/nvidia/nemotron-3-super-120b-a12b:free" # DEFAULT_MODEL = "openrouter/xiaomi/mimo-v2-flash:free" @@ -47,11 +48,10 @@ class AIService: DEFAULT_TIMEOUT = 30 # Severity choices - SEVERITY_CHOICES = ['low', 'medium', 'high', 'critical'] + SEVERITY_CHOICES = ["low", "medium", "high", "critical"] # Priority choices - PRIORITY_CHOICES = ['low', 'medium', 'high'] - + PRIORITY_CHOICES = ["low", "medium", "high"] @classmethod def _get_api_key(cls) -> str: @@ -65,34 +65,36 @@ class AIService: @classmethod def _get_model(cls) -> str: """Get AI model from settings""" - return getattr(settings, 'AI_MODEL') or cls.DEFAULT_MODEL + return getattr(settings, "AI_MODEL") or cls.DEFAULT_MODEL @classmethod def _get_temperature(cls) -> float: """Get AI temperature from settings""" - return float(getattr(settings, 'AI_TEMPERATURE')) or cls.DEFAULT_TEMPERATURE + return float(getattr(settings, "AI_TEMPERATURE")) or cls.DEFAULT_TEMPERATURE @classmethod def _get_max_tokens(cls) -> int: """Get max tokens from settings""" - return int(getattr(settings, 'AI_MAX_TOKENS')) or cls.DEFAULT_MAX_TOKENS + return int(getattr(settings, "AI_MAX_TOKENS")) or cls.DEFAULT_MAX_TOKENS + @classmethod def _get_complaint_categories(cls) -> List[str]: """Get complaint categories from settings""" from apps.complaints.models import ComplaintCategory - return ComplaintCategory.objects.all().values_list('name_en', flat=True) + return ComplaintCategory.objects.all().values_list("name_en", flat=True) @classmethod def _get_complaint_sub_categories(cls, category) -> List[str]: """Get complaint subcategories for a given category name""" from apps.complaints.models import ComplaintCategory + if category: try: # Find the category by name and get its subcategories category_obj = ComplaintCategory.objects.filter(name_en=category).first() if category_obj: - return ComplaintCategory.objects.filter(parent=category_obj).values_list('name_en', flat=True) + return ComplaintCategory.objects.filter(parent=category_obj).values_list("name_en", flat=True) except Exception as e: logger.error(f"Error fetching subcategories: {e}") return [] @@ -110,7 +112,7 @@ class AIService: for category in parent_categories: # Get subcategories for this parent subcategories = list( - ComplaintCategory.objects.filter(parent=category).values_list('name_en', flat=True) + ComplaintCategory.objects.filter(parent=category).values_list("name_en", flat=True) ) result[category.name_en] = subcategories if subcategories else [] @@ -123,7 +125,7 @@ class AIService: def _get_taxonomy_hierarchy(cls) -> Dict: """ Get complete 4-level SHCT taxonomy hierarchy for AI classification. - + Returns a structured dictionary representing the full taxonomy tree: { 'domains': [ @@ -158,73 +160,66 @@ class AIService: """ from apps.complaints.models import ComplaintCategory - result = {'domains': []} + result = {"domains": []} try: # Get Level 1: Domains domains = ComplaintCategory.objects.filter( - level=ComplaintCategory.LevelChoices.DOMAIN, - is_active=True - ).order_by('domain_type', 'order') + level=ComplaintCategory.LevelChoices.DOMAIN, is_active=True + ).order_by("domain_type", "order") for domain in domains: domain_data = { - 'code': domain.code or domain.name_en.upper(), - 'name_en': domain.name_en, - 'name_ar': domain.name_ar or '', - 'categories': [] + "code": domain.code or domain.name_en.upper(), + "name_en": domain.name_en, + "name_ar": domain.name_ar or "", + "categories": [], } # Get Level 2: Categories for this domain categories = ComplaintCategory.objects.filter( - parent=domain, - level=ComplaintCategory.LevelChoices.CATEGORY, - is_active=True - ).order_by('order') + parent=domain, level=ComplaintCategory.LevelChoices.CATEGORY, is_active=True + ).order_by("order") for category in categories: category_data = { - 'code': category.code or category.name_en.upper(), - 'name_en': category.name_en, - 'name_ar': category.name_ar or '', - 'subcategories': [] + "code": category.code or category.name_en.upper(), + "name_en": category.name_en, + "name_ar": category.name_ar or "", + "subcategories": [], } # Get Level 3: Subcategories for this category subcategories = ComplaintCategory.objects.filter( - parent=category, - level=ComplaintCategory.LevelChoices.SUBCATEGORY, - is_active=True - ).order_by('order') + parent=category, level=ComplaintCategory.LevelChoices.SUBCATEGORY, is_active=True + ).order_by("order") for subcategory in subcategories: subcategory_data = { - 'code': subcategory.code or subcategory.name_en.upper(), - 'name_en': subcategory.name_en, - 'name_ar': subcategory.name_ar or '', - 'classifications': [] + "code": subcategory.code or subcategory.name_en.upper(), + "name_en": subcategory.name_en, + "name_ar": subcategory.name_ar or "", + "classifications": [], } # Get Level 4: Classifications for this subcategory classifications = ComplaintCategory.objects.filter( - parent=subcategory, - level=ComplaintCategory.LevelChoices.CLASSIFICATION, - is_active=True - ).order_by('order') + parent=subcategory, level=ComplaintCategory.LevelChoices.CLASSIFICATION, is_active=True + ).order_by("order") for classification in classifications: classification_data = { - 'code': classification.code, - 'name_en': classification.name_en, - 'name_ar': classification.name_ar or '' + "code": classification.code, + "name_en": classification.name_en, + "name_ar": classification.name_ar or "", } - subcategory_data['classifications'].append(classification_data) + subcategory_data["classifications"].append(classification_data) - category_data['subcategories'].append(subcategory_data) + category_data["subcategories"].append(subcategory_data) - domain_data['categories'].append(category_data) + domain_data["categories"].append(category_data) - result['domains'].append(domain_data) + result["domains"].append(domain_data) logger.info(f"Taxonomy hierarchy loaded: {len(result['domains'])} domains") @@ -234,16 +229,18 @@ class AIService: return result @classmethod - def _find_category_by_name_or_code(cls, name_or_code: str, level: int, parent_id: str = None, fuzzy_threshold: float = 0.85) -> dict: + def _find_category_by_name_or_code( + cls, name_or_code: str, level: int, parent_id: str = None, fuzzy_threshold: float = 0.85 + ) -> dict: """ Find a ComplaintCategory by name (English/Arabic) or code with fuzzy matching. - + Args: name_or_code: The name or code to search for level: The level of category to find (1-4) parent_id: Optional parent category ID for hierarchical search fuzzy_threshold: Minimum similarity ratio for fuzzy matching (0.0 to 1.0) - + Returns: Dictionary with category details or None if not found: { @@ -277,40 +274,40 @@ class AIService: # Exact match on code if cat.code and cat.code.lower() == search_term: return { - 'id': str(cat.id), - 'code': cat.code, - 'name_en': cat.name_en, - 'name_ar': cat.name_ar or '', - 'level': cat.level, - 'parent_id': str(cat.parent_id) if cat.parent else None, - 'confidence': 1.0, - 'match_type': 'exact_code' + "id": str(cat.id), + "code": cat.code, + "name_en": cat.name_en, + "name_ar": cat.name_ar or "", + "level": cat.level, + "parent_id": str(cat.parent_id) if cat.parent else None, + "confidence": 1.0, + "match_type": "exact_code", } # Exact match on English name if cat.name_en.lower() == search_term: return { - 'id': str(cat.id), - 'code': cat.code or '', - 'name_en': cat.name_en, - 'name_ar': cat.name_ar or '', - 'level': cat.level, - 'parent_id': str(cat.parent_id) if cat.parent else None, - 'confidence': 0.95, - 'match_type': 'exact_name_en' + "id": str(cat.id), + "code": cat.code or "", + "name_en": cat.name_en, + "name_ar": cat.name_ar or "", + "level": cat.level, + "parent_id": str(cat.parent_id) if cat.parent else None, + "confidence": 0.95, + "match_type": "exact_name_en", } # Exact match on Arabic name if cat.name_ar and cat.name_ar.lower() == search_term: return { - 'id': str(cat.id), - 'code': cat.code or '', - 'name_en': cat.name_en, - 'name_ar': cat.name_ar, - 'level': cat.level, - 'parent_id': str(cat.parent_id) if cat.parent else None, - 'confidence': 0.95, - 'match_type': 'exact_name_ar' + "id": str(cat.id), + "code": cat.code or "", + "name_en": cat.name_en, + "name_ar": cat.name_ar, + "level": cat.level, + "parent_id": str(cat.parent_id) if cat.parent else None, + "confidence": 0.95, + "match_type": "exact_name_ar", } # No exact match found, try fuzzy matching @@ -318,38 +315,44 @@ class AIService: # Try English name ratio_en = SequenceMatcher(None, search_term, cat.name_en.lower()).ratio() if ratio_en >= fuzzy_threshold: - matches.append({ - 'id': str(cat.id), - 'code': cat.code or '', - 'name_en': cat.name_en, - 'name_ar': cat.name_ar or '', - 'level': cat.level, - 'parent_id': str(cat.parent_id) if cat.parent else None, - 'confidence': ratio_en * 0.85, # Lower confidence for fuzzy matches - 'match_type': 'fuzzy_name_en' - }) + matches.append( + { + "id": str(cat.id), + "code": cat.code or "", + "name_en": cat.name_en, + "name_ar": cat.name_ar or "", + "level": cat.level, + "parent_id": str(cat.parent_id) if cat.parent else None, + "confidence": ratio_en * 0.85, # Lower confidence for fuzzy matches + "match_type": "fuzzy_name_en", + } + ) # Try Arabic name if cat.name_ar: ratio_ar = SequenceMatcher(None, search_term, cat.name_ar.lower()).ratio() if ratio_ar >= fuzzy_threshold: # Avoid duplicate matches - if not any(m['id'] == str(cat.id) for m in matches): - matches.append({ - 'id': str(cat.id), - 'code': cat.code or '', - 'name_en': cat.name_en, - 'name_ar': cat.name_ar, - 'level': cat.level, - 'parent_id': str(cat.parent_id) if cat.parent else None, - 'confidence': ratio_ar * 0.85, - 'match_type': 'fuzzy_name_ar' - }) + if not any(m["id"] == str(cat.id) for m in matches): + matches.append( + { + "id": str(cat.id), + "code": cat.code or "", + "name_en": cat.name_en, + "name_ar": cat.name_ar, + "level": cat.level, + "parent_id": str(cat.parent_id) if cat.parent else None, + "confidence": ratio_ar * 0.85, + "match_type": "fuzzy_name_ar", + } + ) # Sort by confidence and return best match if matches: - matches.sort(key=lambda x: x['confidence'], reverse=True) - logger.info(f"Fuzzy match found for '{name_or_code}': {matches[0]['name_en']} (confidence: {matches[0]['confidence']:.2f})") + matches.sort(key=lambda x: x["confidence"], reverse=True) + logger.info( + f"Fuzzy match found for '{name_or_code}': {matches[0]['name_en']} (confidence: {matches[0]['confidence']:.2f})" + ) return matches[0] logger.warning(f"No match found for taxonomy term: '{name_or_code}' (level: {level})") @@ -359,10 +362,10 @@ class AIService: def _map_ai_taxonomy_to_db(cls, taxonomy_data: Dict) -> Dict: """ Map AI taxonomy classification to database objects. - + Takes AI-provided taxonomy classification (codes/names for domain, category, subcategory, classification) and maps them to actual ComplaintCategory database objects with fuzzy matching fallback. - + Args: taxonomy_data: Dictionary from AI with taxonomy classifications: { @@ -371,7 +374,7 @@ class AIService: 'subcategory': {'code': 'EXAMINATION', 'name_en': 'Examination', ...}, 'classification': {'code': 'exam_not_performed', 'name_en': 'Examination not performed', ...} } - + Returns: Dictionary with mapped database IDs and confidence scores: { @@ -384,80 +387,80 @@ class AIService: """ from apps.complaints.models import ComplaintCategory - result = { - 'domain': None, - 'category': None, - 'subcategory': None, - 'classification': None, - 'errors': [] - } + result = {"domain": None, "category": None, "subcategory": None, "classification": None, "errors": []} # Level 1: Domain (no parent) - if 'domain' in taxonomy_data and taxonomy_data['domain']: - domain_data = taxonomy_data['domain'] - domain_code = domain_data.get('code') - domain_name = domain_data.get('name_en') + if "domain" in taxonomy_data and taxonomy_data["domain"]: + domain_data = taxonomy_data["domain"] + domain_code = domain_data.get("code") + domain_name = domain_data.get("name_en") # Try code first, then name search_term = domain_code or domain_name if search_term: - result['domain'] = cls._find_category_by_name_or_code( - name_or_code=search_term, - level=ComplaintCategory.LevelChoices.DOMAIN, - parent_id=None + result["domain"] = cls._find_category_by_name_or_code( + name_or_code=search_term, level=ComplaintCategory.LevelChoices.DOMAIN, parent_id=None ) - if not result['domain']: - result['errors'].append(f"Domain not found: {search_term}") + if not result["domain"]: + result["errors"].append(f"Domain not found: {search_term}") # Level 2: Category (child of domain) - if 'category' in taxonomy_data and taxonomy_data['category'] and result['domain']: - category_data = taxonomy_data['category'] - category_code = category_data.get('code') - category_name = category_data.get('name_en') + if "category" in taxonomy_data and taxonomy_data["category"] and result["domain"]: + category_data = taxonomy_data["category"] + category_code = category_data.get("code") + category_name = category_data.get("name_en") search_term = category_code or category_name if search_term: - result['category'] = cls._find_category_by_name_or_code( + result["category"] = cls._find_category_by_name_or_code( name_or_code=search_term, level=ComplaintCategory.LevelChoices.CATEGORY, - parent_id=result['domain']['id'] + parent_id=result["domain"]["id"], ) - if not result['category']: - result['errors'].append(f"Category not found: {search_term} (under domain: {result['domain']['name_en']})") + if not result["category"]: + result["errors"].append( + f"Category not found: {search_term} (under domain: {result['domain']['name_en']})" + ) # Level 3: Subcategory (child of category) - if 'subcategory' in taxonomy_data and taxonomy_data['subcategory'] and result['category']: - subcategory_data = taxonomy_data['subcategory'] - subcategory_code = subcategory_data.get('code') - subcategory_name = subcategory_data.get('name_en') + if "subcategory" in taxonomy_data and taxonomy_data["subcategory"] and result["category"]: + subcategory_data = taxonomy_data["subcategory"] + subcategory_code = subcategory_data.get("code") + subcategory_name = subcategory_data.get("name_en") search_term = subcategory_code or subcategory_name if search_term: - result['subcategory'] = cls._find_category_by_name_or_code( + result["subcategory"] = cls._find_category_by_name_or_code( name_or_code=search_term, level=ComplaintCategory.LevelChoices.SUBCATEGORY, - parent_id=result['category']['id'] + parent_id=result["category"]["id"], ) - if not result['subcategory']: - result['errors'].append(f"Subcategory not found: {search_term} (under category: {result['category']['name_en']})") + if not result["subcategory"]: + result["errors"].append( + f"Subcategory not found: {search_term} (under category: {result['category']['name_en']})" + ) # Level 4: Classification (child of subcategory) - if 'classification' in taxonomy_data and taxonomy_data['classification'] and result['subcategory']: - classification_data = taxonomy_data['classification'] - classification_code = classification_data.get('code') - classification_name = classification_data.get('name_en') + if "classification" in taxonomy_data and taxonomy_data["classification"] and result["subcategory"]: + classification_data = taxonomy_data["classification"] + classification_code = classification_data.get("code") + classification_name = classification_data.get("name_en") search_term = classification_code or classification_name if search_term: - result['classification'] = cls._find_category_by_name_or_code( + result["classification"] = cls._find_category_by_name_or_code( name_or_code=search_term, level=ComplaintCategory.LevelChoices.CLASSIFICATION, - parent_id=result['subcategory']['id'] + parent_id=result["subcategory"]["id"], ) - if not result['classification']: - result['errors'].append(f"Classification not found: {search_term} (under subcategory: {result['subcategory']['name_en']})") + if not result["classification"]: + result["errors"].append( + f"Classification not found: {search_term} (under subcategory: {result['subcategory']['name_en']})" + ) - logger.info(f"Taxonomy mapping complete: domain={result['domain']}, category={result['category']}, subcategory={result['subcategory']}, classification={result['classification']}, errors={len(result['errors'])}") + logger.info( + f"Taxonomy mapping complete: domain={result['domain']}, category={result['category']}, subcategory={result['subcategory']}, classification={result['classification']}, errors={len(result['errors'])}" + ) return result @@ -467,16 +470,14 @@ class AIService: from apps.organizations.models import Department try: - departments = Department.objects.filter( - hospital_id=hospital_id, - status='active' - ).values_list('name', flat=True) + departments = Department.objects.filter(hospital_id=hospital_id, status="active").values_list( + "name", flat=True + ) return list(departments) except Exception as e: logger.error(f"Error fetching hospital departments: {e}") return [] - @classmethod def chat_completion( cls, @@ -485,7 +486,7 @@ class AIService: temperature: Optional[float] = None, max_tokens: Optional[int] = None, system_prompt: Optional[str] = None, - response_format: Optional[str] = None + response_format: Optional[str] = None, ) -> str: """ Perform a chat completion using LiteLLM. @@ -520,10 +521,7 @@ class AIService: messages.append({"role": "user", "content": prompt}) # Build kwargs - kwargs = { - "model": "openrouter/nvidia/nemotron-3-super-120b-a12b:free", - "messages": messages - } + kwargs = {"model": "openrouter/nvidia/nemotron-3-super-120b-a12b:free", "messages": messages} if response_format: kwargs["response_format"] = {"type": response_format} @@ -548,10 +546,10 @@ class AIService: description: str = "", category: Optional[str] = None, hospital_id: Optional[int] = None, - use_taxonomy: bool = True + use_taxonomy: bool = True, ) -> Dict[str, Any]: """ - Analyze a complaint and determine type (complaint vs appreciation), title, severity, priority, + Analyze a complaint and determine type (complaint vs appreciation), title, severity, priority, 4-level SHCT taxonomy (Domain, Category, Subcategory, Classification), and department. Args: @@ -652,7 +650,8 @@ class AIService: Instructions: 1. If no title is provided, generate a concise title (max 10 words) that summarizes the complaint in BOTH English and Arabic - 2. Generate a short_description (2-3 sentences) that captures the main issue and context in BOTH English and Arabic + 2. Generate a brief_summary (exactly 2-3 words) that serves as a quick tag/label for the complaint in BOTH English and Arabic. Examples: "Wait Time", "Staff Attitude", "Medication Error", "Billing Issue", "Facility Cleanliness", "Privacy Concern" + 3. Generate a short_description (2-3 sentences) that captures the main issue and context in BOTH English and Arabic 3. Classify the complaint using the 4-level SHCT taxonomy: a. Select the most appropriate DOMAIN (Level 1) b. Select the most appropriate CATEGORY within that domain (Level 2) @@ -681,6 +680,8 @@ class AIService: {{ "title_en": "concise title in English summarizing the complaint (max 10 words)", "title_ar": "العنوان بالعربية", + "brief_summary_en": "exactly 2-3 word tag/label in English (e.g., 'Wait Time', 'Staff Attitude', 'Billing Issue')", + "brief_summary_ar": "وصف مختصر من 2-3 كلمات بالعربية", "short_description_en": "2-3 sentence summary in English of the complaint that captures the main issue and context", "short_description_ar": "ملخص من 2-3 جمل بالعربية", "severity": "low|medium|high|critical", @@ -747,7 +748,7 @@ class AIService: prompt=prompt, system_prompt=system_prompt, response_format="json_object", - temperature=0.2 # Lower temperature for consistent classification + temperature=0.2, # Lower temperature for consistent classification ) # Parse JSON response @@ -755,32 +756,32 @@ class AIService: # Detect complaint type complaint_type = cls._detect_complaint_type(description + " " + (title or "")) - result['complaint_type'] = complaint_type + result["complaint_type"] = complaint_type # Map AI taxonomy to database objects - if use_taxonomy and 'taxonomy' in result: - taxonomy_mapping = cls._map_ai_taxonomy_to_db(result['taxonomy']) + if use_taxonomy and "taxonomy" in result: + taxonomy_mapping = cls._map_ai_taxonomy_to_db(result["taxonomy"]) # Replace AI taxonomy IDs with database IDs - result['taxonomy_mapping'] = taxonomy_mapping - result['taxonomy'] = result['taxonomy'] # Keep original AI response + result["taxonomy_mapping"] = taxonomy_mapping + result["taxonomy"] = result["taxonomy"] # Keep original AI response # Use provided title if available, otherwise use AI-generated title if title: - result['title'] = title + result["title"] = title # Validate severity - if result.get('severity') not in cls.SEVERITY_CHOICES: - result['severity'] = 'medium' + if result.get("severity") not in cls.SEVERITY_CHOICES: + result["severity"] = "medium" logger.warning(f"Invalid severity, defaulting to medium") # Validate priority - if result.get('priority') not in cls.PRIORITY_CHOICES: - result['priority'] = 'medium' + if result.get("priority") not in cls.PRIORITY_CHOICES: + result["priority"] = "medium" logger.warning(f"Invalid priority, defaulting to medium") # Ensure title exists (for backward compatibility) - if not result.get('title'): - result['title'] = 'Complaint' + if not result.get("title"): + result["title"] = "Complaint" # Cache result for 1 hour cache.set(cache_key, result, timeout=3600) @@ -795,46 +796,46 @@ class AIService: logger.error(f"Failed to parse AI response: {e}") # Return defaults return { - 'title': title or 'Complaint', - 'title_en': title or 'Complaint', - 'title_ar': title or 'شكوى', - 'short_description_en': description[:200] if description else '', - 'short_description_ar': description[:200] if description else '', - 'severity': 'medium', - 'priority': 'medium', - 'category': 'other', - 'subcategory': '', - 'department': '', - 'staff_names': [], - 'primary_staff_name': '', - 'suggested_action_en': '', - 'suggested_action_ar': '', - 'reasoning_en': 'AI analysis failed, using default values', - 'reasoning_ar': 'فشل تحليل الذكاء الاصطناعي، استخدام القيم الافتراضية', - 'taxonomy': None, - 'taxonomy_mapping': None + "title": title or "Complaint", + "title_en": title or "Complaint", + "title_ar": title or "شكوى", + "short_description_en": description[:200] if description else "", + "short_description_ar": description[:200] if description else "", + "severity": "medium", + "priority": "medium", + "category": "other", + "subcategory": "", + "department": "", + "staff_names": [], + "primary_staff_name": "", + "suggested_action_en": "", + "suggested_action_ar": "", + "reasoning_en": "AI analysis failed, using default values", + "reasoning_ar": "فشل تحليل الذكاء الاصطناعي، استخدام القيم الافتراضية", + "taxonomy": None, + "taxonomy_mapping": None, } except AIServiceError as e: logger.error(f"AI service error: {e}") return { - 'title': title or 'Complaint', - 'title_en': title or 'Complaint', - 'title_ar': title or 'شكوى', - 'short_description_en': description[:200] if description else '', - 'short_description_ar': description[:200] if description else '', - 'severity': 'medium', - 'priority': 'medium', - 'category': 'other', - 'subcategory': '', - 'department': '', - 'staff_names': [], - 'primary_staff_name': '', - 'suggested_action_en': '', - 'suggested_action_ar': '', - 'reasoning_en': f'AI service unavailable: {str(e)}', - 'reasoning_ar': f'خدمة الذكاء الاصطناعي غير متوفرة: {str(e)}', - 'taxonomy': None, - 'taxonomy_mapping': None + "title": title or "Complaint", + "title_en": title or "Complaint", + "title_ar": title or "شكوى", + "short_description_en": description[:200] if description else "", + "short_description_ar": description[:200] if description else "", + "severity": "medium", + "priority": "medium", + "category": "other", + "subcategory": "", + "department": "", + "staff_names": [], + "primary_staff_name": "", + "suggested_action_en": "", + "suggested_action_ar": "", + "reasoning_en": f"AI service unavailable: {str(e)}", + "reasoning_ar": f"خدمة الذكاء الاصطناعي غير متوفرة: {str(e)}", + "taxonomy": None, + "taxonomy_mapping": None, } @classmethod @@ -850,25 +851,22 @@ class AIService: """ text = "" - for domain in taxonomy_hierarchy.get('domains', []): + for domain in taxonomy_hierarchy.get("domains", []): text += f"\nDOMAIN: {domain['code']} - {domain['name_en']} ({domain['name_ar']})\n" - for category in domain.get('categories', []): + for category in domain.get("categories", []): text += f" CATEGORY: {category['code']} - {category['name_en']} ({category['name_ar']})\n" - for subcategory in category.get('subcategories', []): + for subcategory in category.get("subcategories", []): text += f" SUBCATEGORY: {subcategory['code']} - {subcategory['name_en']} ({subcategory['name_ar']})\n" - for classification in subcategory.get('classifications', []): + for classification in subcategory.get("classifications", []): text += f" CLASSIFICATION: {classification['code']} - {classification['name_en']} ({classification['name_ar']})\n" return text @classmethod - def classify_sentiment( - cls, - text: str - ) -> Dict[str, Any]: + def classify_sentiment(cls, text: str) -> Dict[str, Any]: """ Classify sentiment of text. @@ -899,10 +897,7 @@ class AIService: try: response = cls.chat_completion( - prompt=prompt, - system_prompt=system_prompt, - response_format="json_object", - temperature=0.1 + prompt=prompt, system_prompt=system_prompt, response_format="json_object", temperature=0.1 ) result = json.loads(response) @@ -910,17 +905,10 @@ class AIService: except (json.JSONDecodeError, AIServiceError) as e: logger.error(f"Sentiment analysis failed: {e}") - return { - 'sentiment': 'neutral', - 'score': 0.0, - 'confidence': 0.0 - } + return {"sentiment": "neutral", "score": 0.0, "confidence": 0.0} @classmethod - def analyze_emotion( - cls, - text: str - ) -> Dict[str, Any]: + def analyze_emotion(cls, text: str) -> Dict[str, Any]: """ Analyze emotion in text to identify primary emotion and intensity. @@ -968,32 +956,29 @@ class AIService: try: response = cls.chat_completion( - prompt=prompt, - system_prompt=system_prompt, - response_format="json_object", - temperature=0.1 + prompt=prompt, system_prompt=system_prompt, response_format="json_object", temperature=0.1 ) result = json.loads(response) # Validate emotion - valid_emotions = ['anger', 'sadness', 'confusion', 'fear', 'neutral'] - if result.get('emotion') not in valid_emotions: - result['emotion'] = 'neutral' + valid_emotions = ["anger", "sadness", "confusion", "fear", "neutral"] + if result.get("emotion") not in valid_emotions: + result["emotion"] = "neutral" logger.warning(f"Invalid emotion detected, defaulting to neutral") # Validate intensity - intensity = float(result.get('intensity', 0.0)) + intensity = float(result.get("intensity", 0.0)) if not (0.0 <= intensity <= 1.0): intensity = max(0.0, min(1.0, intensity)) - result['intensity'] = intensity + result["intensity"] = intensity logger.warning(f"Intensity out of range, clamping to {intensity}") # Validate confidence - confidence = float(result.get('confidence', 0.0)) + confidence = float(result.get("confidence", 0.0)) if not (0.0 <= confidence <= 1.0): confidence = max(0.0, min(1.0, confidence)) - result['confidence'] = confidence + result["confidence"] = confidence logger.warning(f"Confidence out of range, clamping to {confidence}") logger.info(f"Emotion analysis: {result['emotion']}, intensity={intensity}, confidence={confidence}") @@ -1001,11 +986,7 @@ class AIService: except (json.JSONDecodeError, AIServiceError) as e: logger.error(f"Emotion analysis failed: {e}") - return { - 'emotion': 'neutral', - 'intensity': 0.0, - 'confidence': 0.0 - } + return {"emotion": "neutral", "intensity": 0.0, "confidence": 0.0} @classmethod def extract_entities(cls, text: str) -> List[Dict[str, str]]: @@ -1023,16 +1004,15 @@ class AIService: ] }}""" - system_prompt = "You are an expert in bilingual NER (Arabic and English). Extract formal names for database lookup." + system_prompt = ( + "You are an expert in bilingual NER (Arabic and English). Extract formal names for database lookup." + ) try: response = cls.chat_completion( - prompt=prompt, - system_prompt=system_prompt, - response_format="json_object", - temperature=0.0 + prompt=prompt, system_prompt=system_prompt, response_format="json_object", temperature=0.0 ) - return json.loads(response).get('entities', []) + return json.loads(response).get("entities", []) except (json.JSONDecodeError, AIServiceError): return [] @@ -1056,12 +1036,7 @@ class AIService: Create a concise summary that captures the main points.""" try: - response = cls.chat_completion( - prompt=prompt, - system_prompt=system_prompt, - temperature=0.3, - max_tokens=150 - ) + response = cls.chat_completion(prompt=prompt, system_prompt=system_prompt, temperature=0.3, max_tokens=150) return response.strip() @@ -1091,7 +1066,7 @@ class AIService: # Get complaint data title = complaint.title description = complaint.description - complaint_category = complaint.category.name_en if complaint.category else 'other' + complaint_category = complaint.category.name_en if complaint.category else "other" severity = complaint.severity priority = complaint.priority @@ -1137,10 +1112,7 @@ class AIService: try: response = cls.chat_completion( - prompt=prompt, - system_prompt=system_prompt, - response_format="json_object", - temperature=0.3 + prompt=prompt, system_prompt=system_prompt, response_format="json_object", temperature=0.3 ) # Parse JSON response @@ -1148,20 +1120,25 @@ class AIService: # Validate category valid_categories = [ - 'clinical_quality', 'patient_safety', 'service_quality', - 'staff_behavior', 'facility', 'process_improvement', 'other' + "clinical_quality", + "patient_safety", + "service_quality", + "staff_behavior", + "facility", + "process_improvement", + "other", ] - if result.get('category') not in valid_categories: + if result.get("category") not in valid_categories: # Fallback: map complaint category to action category - result['category'] = cls._map_category_to_action_category(complaint_category) + result["category"] = cls._map_category_to_action_category(complaint_category) # Validate severity - if result.get('severity') not in cls.SEVERITY_CHOICES: - result['severity'] = severity # Use complaint severity as fallback + if result.get("severity") not in cls.SEVERITY_CHOICES: + result["severity"] = severity # Use complaint severity as fallback # Validate priority - if result.get('priority') not in cls.PRIORITY_CHOICES: - result['priority'] = priority # Use complaint priority as fallback + if result.get("priority") not in cls.PRIORITY_CHOICES: + result["priority"] = priority # Use complaint priority as fallback logger.info(f"PX Action generated: title={result['title']}, category={result['category']}") return result @@ -1170,23 +1147,23 @@ class AIService: logger.error(f"Failed to parse AI response: {e}") # Return fallback based on complaint data return { - 'title': f'Address: {title}', - 'description': f'Resolve the complaint: {description}', - 'category': cls._map_category_to_action_category(complaint_category), - 'priority': priority, - 'severity': severity, - 'reasoning': 'AI generation failed, using complaint data as fallback' + "title": f"Address: {title}", + "description": f"Resolve the complaint: {description}", + "category": cls._map_category_to_action_category(complaint_category), + "priority": priority, + "severity": severity, + "reasoning": "AI generation failed, using complaint data as fallback", } except AIServiceError as e: logger.error(f"AI service error: {e}") # Return fallback based on complaint data return { - 'title': f'Address: {title}', - 'description': f'Resolve the complaint: {description}', - 'category': cls._map_category_to_action_category(complaint_category), - 'priority': priority, - 'severity': severity, - 'reasoning': f'AI service unavailable: {str(e)}' + "title": f"Address: {title}", + "description": f"Resolve the complaint: {description}", + "category": cls._map_category_to_action_category(complaint_category), + "priority": priority, + "severity": severity, + "reasoning": f"AI service unavailable: {str(e)}", } @classmethod @@ -1201,51 +1178,46 @@ class AIService: PX Action category name """ # Normalize category name (lowercase, remove spaces) - category_lower = complaint_category.lower().replace(' ', '_') + category_lower = complaint_category.lower().replace(" ", "_") # Mapping dictionary mapping = { # Clinical categories - 'clinical': 'clinical_quality', - 'medical': 'clinical_quality', - 'diagnosis': 'clinical_quality', - 'treatment': 'clinical_quality', - 'care': 'clinical_quality', - + "clinical": "clinical_quality", + "medical": "clinical_quality", + "diagnosis": "clinical_quality", + "treatment": "clinical_quality", + "care": "clinical_quality", # Safety categories - 'safety': 'patient_safety', - 'infection': 'patient_safety', - 'risk': 'patient_safety', - 'dangerous': 'patient_safety', - + "safety": "patient_safety", + "infection": "patient_safety", + "risk": "patient_safety", + "dangerous": "patient_safety", # Service quality - 'service': 'service_quality', - 'wait': 'service_quality', - 'waiting': 'service_quality', - 'appointment': 'service_quality', - 'scheduling': 'service_quality', - + "service": "service_quality", + "wait": "service_quality", + "waiting": "service_quality", + "appointment": "service_quality", + "scheduling": "service_quality", # Staff behavior - 'staff': 'staff_behavior', - 'behavior': 'staff_behavior', - 'attitude': 'staff_behavior', - 'rude': 'staff_behavior', - 'communication': 'staff_behavior', - + "staff": "staff_behavior", + "behavior": "staff_behavior", + "attitude": "staff_behavior", + "rude": "staff_behavior", + "communication": "staff_behavior", # Facility - 'facility': 'facility', - 'environment': 'facility', - 'clean': 'facility', - 'cleanliness': 'facility', - 'equipment': 'facility', - 'room': 'facility', - 'bathroom': 'facility', - + "facility": "facility", + "environment": "facility", + "clean": "facility", + "cleanliness": "facility", + "equipment": "facility", + "room": "facility", + "bathroom": "facility", # Process - 'process': 'process_improvement', - 'workflow': 'process_improvement', - 'procedure': 'process_improvement', - 'policy': 'process_improvement', + "process": "process_improvement", + "workflow": "process_improvement", + "procedure": "process_improvement", + "policy": "process_improvement", } # Check for partial matches @@ -1254,7 +1226,7 @@ class AIService: return value # Default to 'other' if no match found - return 'other' + return "other" @classmethod def _detect_complaint_type(cls, text: str) -> str: @@ -1269,30 +1241,98 @@ class AIService: """ # Keywords for appreciation (English and Arabic) appreciation_keywords_en = [ - 'thank', 'thanks', 'excellent', 'great', 'wonderful', 'amazing', - 'appreciate', 'commend', 'outstanding', 'fantastic', 'brilliant', - 'professional', 'caring', 'helpful', 'friendly', 'good', 'nice', - 'impressive', 'exceptional', 'superb', 'pleased', 'satisfied' + "thank", + "thanks", + "excellent", + "great", + "wonderful", + "amazing", + "appreciate", + "commend", + "outstanding", + "fantastic", + "brilliant", + "professional", + "caring", + "helpful", + "friendly", + "good", + "nice", + "impressive", + "exceptional", + "superb", + "pleased", + "satisfied", ] appreciation_keywords_ar = [ - 'شكرا', 'ممتاز', 'رائع', 'بارك', 'مدهش', 'عظيم', - 'أقدر', 'شكر', 'متميز', 'مهني', 'رعاية', 'مفيد', - 'ودود', 'جيد', 'لطيف', 'مبهر', 'استثنائي', 'سعيد', - 'رضا', 'احترافية', 'خدمة ممتازة' + "شكرا", + "ممتاز", + "رائع", + "بارك", + "مدهش", + "عظيم", + "أقدر", + "شكر", + "متميز", + "مهني", + "رعاية", + "مفيد", + "ودود", + "جيد", + "لطيف", + "مبهر", + "استثنائي", + "سعيد", + "رضا", + "احترافية", + "خدمة ممتازة", ] # Keywords for complaints (English and Arabic) complaint_keywords_en = [ - 'problem', 'issue', 'complaint', 'bad', 'terrible', 'awful', - 'disappointed', 'unhappy', 'poor', 'worst', 'unacceptable', - 'rude', 'slow', 'delay', 'wait', 'neglect', 'ignore', - 'angry', 'frustrated', 'dissatisfied', 'concern', 'worried' + "problem", + "issue", + "complaint", + "bad", + "terrible", + "awful", + "disappointed", + "unhappy", + "poor", + "worst", + "unacceptable", + "rude", + "slow", + "delay", + "wait", + "neglect", + "ignore", + "angry", + "frustrated", + "dissatisfied", + "concern", + "worried", ] complaint_keywords_ar = [ - 'مشكلة', 'مشاكل', 'سيء', 'مخيب', 'سيء للغاية', - 'تعيس', 'ضعيف', 'أسوأ', 'غير مقبول', 'فظ', - 'بطيء', 'تأخير', 'انتظار', 'إهمال', 'تجاهل', - 'غاضب', 'محبط', 'غير راضي', 'قلق' + "مشكلة", + "مشاكل", + "سيء", + "مخيب", + "سيء للغاية", + "تعيس", + "ضعيف", + "أسوأ", + "غير مقبول", + "فظ", + "بطيء", + "تأخير", + "انتظار", + "إهمال", + "تجاهل", + "غاضب", + "محبط", + "غير راضي", + "قلق", ] text_lower = text.lower() @@ -1312,31 +1352,32 @@ class AIService: # Get sentiment analysis try: sentiment_result = cls.classify_sentiment(text) - sentiment = sentiment_result.get('sentiment', 'neutral') - sentiment_score = sentiment_result.get('score', 0.0) + sentiment = sentiment_result.get("sentiment", "neutral") + sentiment_score = sentiment_result.get("score", 0.0) logger.info(f"Sentiment analysis: sentiment={sentiment}, score={sentiment_score}") # If sentiment is clearly positive and has appreciation keywords - if sentiment == 'positive' and sentiment_score > 0.5: + if sentiment == "positive" and sentiment_score > 0.5: if appreciation_count >= complaint_count: - return 'appreciation' + return "appreciation" # If sentiment is clearly negative - if sentiment == 'negative' and sentiment_score < -0.3: - return 'complaint' + if sentiment == "negative" and sentiment_score < -0.3: + return "complaint" except Exception as e: logger.warning(f"Sentiment analysis failed, using keyword-based detection: {e}") # Fallback to keyword-based detection if appreciation_count > complaint_count: - return 'appreciation' + return "appreciation" elif complaint_count > appreciation_count: - return 'complaint' + return "complaint" else: # No clear indicators, default to complaint - return 'complaint' + return "complaint" + # Convenience singleton instance ai_service = AIService() diff --git a/apps/core/config_views.py b/apps/core/config_views.py index bd5a50c..865b36c 100644 --- a/apps/core/config_views.py +++ b/apps/core/config_views.py @@ -1,6 +1,7 @@ """ Configuration Console UI views - System configuration management """ + from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator from django.shortcuts import render @@ -10,6 +11,7 @@ from apps.px_action_center.models import PXActionSLAConfig, RoutingRule from apps.complaints.models import OnCallAdminSchedule from apps.callcenter.models import CallRecord from apps.core.decorators import px_admin_required +from apps.accounts.models import User @px_admin_required @@ -19,102 +21,105 @@ def config_dashboard(request): # Get counts sla_configs_count = PXActionSLAConfig.objects.filter(is_active=True).count() routing_rules_count = RoutingRule.objects.filter(is_active=True).count() - hospitals_count = Hospital.objects.filter(status='active').count() + hospitals_count = Hospital.objects.filter(status="active").count() oncall_schedules_count = OnCallAdminSchedule.objects.filter(is_active=True).count() call_records_count = CallRecord.objects.count() + provisional_users_count = User.objects.filter(is_provisional=True).count() context = { - 'sla_configs_count': sla_configs_count, - 'routing_rules_count': routing_rules_count, - 'hospitals_count': hospitals_count, - 'oncall_schedules_count': oncall_schedules_count, - 'call_records_count': call_records_count, + "sla_configs_count": sla_configs_count, + "routing_rules_count": routing_rules_count, + "hospitals_count": hospitals_count, + "oncall_schedules_count": oncall_schedules_count, + "call_records_count": call_records_count, + "provisional_users_count": provisional_users_count, } - return render(request, 'config/dashboard.html', context) + return render(request, "config/dashboard.html", context) @px_admin_required def sla_config_list(request): """SLA configurations list view - PX Admin only""" - queryset = PXActionSLAConfig.objects.select_related('hospital', 'department') + queryset = PXActionSLAConfig.objects.select_related("hospital", "department") # Apply filters - hospital_filter = request.GET.get('hospital') + hospital_filter = request.GET.get("hospital") if hospital_filter: queryset = queryset.filter(hospital_id=hospital_filter) - is_active = request.GET.get('is_active') - if is_active == 'true': + is_active = request.GET.get("is_active") + if is_active == "true": queryset = queryset.filter(is_active=True) - elif is_active == 'false': + elif is_active == "false": queryset = queryset.filter(is_active=False) # Ordering - queryset = queryset.order_by('hospital', 'name') + queryset = queryset.order_by("hospital", "name") # Pagination - page_size = int(request.GET.get('page_size', 25)) + page_size = int(request.GET.get("page_size", 25)) paginator = Paginator(queryset, page_size) - page_number = request.GET.get('page', 1) + page_number = request.GET.get("page", 1) page_obj = paginator.get_page(page_number) # Get hospitals for filter - hospitals = Hospital.objects.filter(status='active') + hospitals = Hospital.objects.filter(status="active") context = { - 'page_obj': page_obj, - 'sla_configs': page_obj.object_list, - 'hospitals': hospitals, - 'filters': request.GET, + "page_obj": page_obj, + "sla_configs": page_obj.object_list, + "hospitals": hospitals, + "filters": request.GET, } - return render(request, 'config/sla_config.html', context) + return render(request, "config/sla_config.html", context) @px_admin_required def routing_rules_list(request): """Routing rules list view - PX Admin only""" - queryset = RoutingRule.objects.select_related( - 'hospital', 'department', 'assign_to_user', 'assign_to_department' - ) + queryset = RoutingRule.objects.select_related("hospital", "department", "assign_to_user", "assign_to_department") # Apply filters - hospital_filter = request.GET.get('hospital') + hospital_filter = request.GET.get("hospital") if hospital_filter: queryset = queryset.filter(hospital_id=hospital_filter) - is_active = request.GET.get('is_active') - if is_active == 'true': + is_active = request.GET.get("is_active") + if is_active == "true": queryset = queryset.filter(is_active=True) - elif is_active == 'false': + elif is_active == "false": queryset = queryset.filter(is_active=False) # Ordering - queryset = queryset.order_by('-priority', 'name') + queryset = queryset.order_by("-priority", "name") # Pagination - page_size = int(request.GET.get('page_size', 25)) + page_size = int(request.GET.get("page_size", 25)) paginator = Paginator(queryset, page_size) - page_number = request.GET.get('page', 1) + page_number = request.GET.get("page", 1) page_obj = paginator.get_page(page_number) # Get hospitals for filter - hospitals = Hospital.objects.filter(status='active') + hospitals = Hospital.objects.filter(status="active") context = { - 'page_obj': page_obj, - 'routing_rules': page_obj.object_list, - 'hospitals': hospitals, - 'filters': request.GET, + "page_obj": page_obj, + "routing_rules": page_obj.object_list, + "hospitals": hospitals, + "filters": request.GET, } - return render(request, 'config/routing_rules.html', context) + return render(request, "config/routing_rules.html", context) + from django.views.decorators.csrf import csrf_exempt from rich import print + + @csrf_exempt def test(request): import json @@ -122,4 +127,4 @@ def test(request): print(json.loads(request.body)) - return JsonResponse({'status': 'ok'}) \ No newline at end of file + return JsonResponse({"status": "ok"}) diff --git a/apps/core/context_processors.py b/apps/core/context_processors.py index 5148253..6f0bd16 100644 --- a/apps/core/context_processors.py +++ b/apps/core/context_processors.py @@ -62,10 +62,20 @@ def sidebar_counts(request): feedback_count = 0 action_count = 0 + # Get unread notification count + notification_count = 0 + if request.user.is_authenticated: + from apps.notifications.models import UserNotification + + notification_count = UserNotification.objects.filter( + user=request.user, is_read=False, is_dismissed=False + ).count() + return { "complaint_count": complaint_count, "feedback_count": feedback_count, "action_count": action_count, + "notification_count": notification_count, "current_hospital": getattr(request, "tenant_hospital", None), "is_px_admin": request.user.is_authenticated and request.user.is_px_admin(), "is_source_user": False, diff --git a/apps/dashboard/admin.py b/apps/dashboard/admin.py new file mode 100644 index 0000000..4363f09 --- /dev/null +++ b/apps/dashboard/admin.py @@ -0,0 +1,93 @@ +""" +Dashboard Admin Configuration + +Admin interface for employee evaluation models. +""" + +from django.contrib import admin + +from .models import EvaluationNote, ComplaintRequest, ReportCompletion, EscalatedComplaintLog, InquiryDetail + + +@admin.register(EvaluationNote) +class EvaluationNoteAdmin(admin.ModelAdmin): + """Admin interface for EvaluationNote model""" + + list_display = ["staff", "category", "sub_category", "count", "note_date", "created_by"] + list_filter = ["category", "note_date", "created_at"] + search_fields = ["staff__first_name", "staff__last_name", "description"] + date_hierarchy = "note_date" + raw_id_fields = ["staff", "created_by"] + + +@admin.register(ComplaintRequest) +class ComplaintRequestAdmin(admin.ModelAdmin): + """Admin interface for ComplaintRequest model""" + + list_display = [ + "staff", + "patient_name", + "filled", + "on_hold", + "from_barcode", + "request_date", + "filling_time_category", + "reason_non_activation", + "hospital", + ] + list_filter = [ + "filled", + "on_hold", + "from_barcode", + "filling_time_category", + "reason_non_activation", + "request_date", + "hospital", + ] + search_fields = ["staff__first_name", "staff__last_name", "patient_name", "file_number", "notes"] + date_hierarchy = "request_date" + raw_id_fields = ["staff", "complaint", "hospital", "complained_department"] + fieldsets = ( + (None, {"fields": ("staff", "complaint", "hospital", "request_date", "request_time")}), + ( + "Patient Information", + {"fields": ("patient_name", "file_number", "complained_department", "incident_date", "phone_number")}, + ), + ("Status", {"fields": ("filled", "on_hold", "not_filled", "from_barcode", "filling_time_category")}), + ("Timeline", {"fields": ("form_sent_at", "form_sent_time", "filled_at", "filled_time")}), + ("Non-Activation", {"fields": ("reason_non_activation", "reason_non_activation_other", "pr_observations")}), + ("Notes", {"fields": ("notes",)}), + ) + + +@admin.register(ReportCompletion) +class ReportCompletionAdmin(admin.ModelAdmin): + """Admin interface for ReportCompletion model""" + + list_display = ["staff", "report_type", "is_completed", "week_start_date", "completed_at"] + list_filter = ["report_type", "is_completed", "week_start_date"] + search_fields = ["staff__first_name", "staff__last_name"] + date_hierarchy = "week_start_date" + raw_id_fields = ["staff"] + + +@admin.register(EscalatedComplaintLog) +class EscalatedComplaintLogAdmin(admin.ModelAdmin): + """Admin interface for EscalatedComplaintLog model""" + + list_display = ["staff", "complaint", "escalation_timing", "is_resolved", "escalated_at"] + list_filter = ["escalation_timing", "is_resolved", "week_start_date"] + search_fields = ["staff__first_name", "staff__last_name", "resolution_notes"] + date_hierarchy = "escalated_at" + raw_id_fields = ["staff", "complaint"] + + +@admin.register(InquiryDetail) +class InquiryDetailAdmin(admin.ModelAdmin): + """Admin interface for InquiryDetail model""" + + list_display = ["staff", "inquiry_type", "is_outgoing", "inquiry_date", "response_time_category"] + list_filter = ["inquiry_type", "is_outgoing", "response_time_category", "inquiry_status", "inquiry_date"] + search_fields = ["staff__first_name", "staff__last_name", "notes"] + date_hierarchy = "inquiry_date" + raw_id_fields = ["staff", "inquiry"] diff --git a/apps/dashboard/migrations/__init__.py b/apps/dashboard/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/dashboard/models.py b/apps/dashboard/models.py new file mode 100644 index 0000000..d53d11c --- /dev/null +++ b/apps/dashboard/models.py @@ -0,0 +1,417 @@ +""" +Employee Evaluation Models + +Models for tracking employee performance metrics and reports for the +PAD Department Weekly Dashboard evaluation system. +""" + +from django.db import models +from django.utils.translation import gettext_lazy as _ + +from apps.core.models import UUIDModel, TimeStampedModel + + +class EvaluationNote(UUIDModel, TimeStampedModel): + """ + Notes for employee evaluation tracking. + + Tracks notes categorized by type and sub-category for each staff member. + """ + + CATEGORY_CHOICES = [ + ("non_medical", "Non-Medical"), + ("medical", "Medical"), + ("er", "ER"), + ("hospital", "Hospital"), + ] + + SUBCATEGORY_CHOICES = [ + ("it_app", "IT - App"), + ("lab", "LAB"), + ("doctors_managers_reception", "Doctors/Managers/Reception"), + ("hospital_general", "Hospital"), + ("medical_reports", "Medical Reports"), + ("doctors", "Doctors"), + ("other", "Other"), + ] + + staff = models.ForeignKey( + "accounts.User", + on_delete=models.CASCADE, + related_name="evaluation_notes", + help_text="Staff member this note is for", + ) + + category = models.CharField(max_length=50, choices=CATEGORY_CHOICES, help_text="Note category") + + sub_category = models.CharField(max_length=50, choices=SUBCATEGORY_CHOICES, help_text="Note sub-category") + + count = models.IntegerField(default=1, help_text="Number of notes in this category") + + note_date = models.DateField(help_text="Date the note was recorded") + + description = models.TextField(blank=True, help_text="Optional description") + + created_by = models.ForeignKey( + "accounts.User", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="notes_created", + help_text="User who created this note entry", + ) + + class Meta: + ordering = ["-note_date", "category", "sub_category"] + verbose_name = "Evaluation Note" + verbose_name_plural = "Evaluation Notes" + indexes = [ + models.Index(fields=["staff", "note_date"]), + models.Index(fields=["category", "sub_category"]), + models.Index(fields=["note_date"]), + ] + + def __str__(self): + return f"{self.staff} - {self.get_category_display()} - {self.note_date}" + + +class ComplaintRequest(UUIDModel, TimeStampedModel): + """ + Tracks complaint request filling and status. + + Monitors whether complaint requests were filled, on hold, + or came from barcode scanning. + """ + + FILLING_TIME_CHOICES = [ + ("same_time", "Same Time"), + ("within_6h", "Within 6 Hours"), + ("6_to_24h", "6 to 24 Hours"), + ("after_1_day", "After 1 Day"), + ("not_mentioned", "Time Not Mentioned"), + ] + + NON_ACTIVATION_REASON_CHOICES = [ + ("converted_to_note", "تم تحويلها ملاحظة (Converted to observation)"), + ("issue_resolved_immediately", "تم حل الاشكالية (Issue resolved immediately)"), + ("not_meeting_conditions", "غير مستوفية للشروط (Does not meet conditions)"), + ("raised_via_cchi", "تم رفع الشكوى عن طريق مجلس الضمان الصحي (Raised via CCHI)"), + ("request_not_activated", "لم يتم تفعيل طلب الشكوى (Request not activated)"), + ("complainant_withdrew", "بناء على طلب المشتكي (Per complainant request)"), + ("complainant_retracted", "المشتكي تنازل عن الشكوى (Complainant retracted)"), + ("duplicate", "مكررة (Duplicate)"), + ("other", "Other"), + ] + + staff = models.ForeignKey( + "accounts.User", + on_delete=models.CASCADE, + related_name="complaint_requests_sent", + help_text="Staff member who sent/filled the request", + ) + + complaint = models.ForeignKey( + "complaints.Complaint", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="complaint_request_records", + help_text="Related complaint (if any)", + ) + + hospital = models.ForeignKey( + "organizations.Hospital", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="complaint_requests", + help_text="Hospital where the request was made", + ) + + patient_name = models.CharField(max_length=200, blank=True, help_text="Patient name") + file_number = models.CharField(max_length=100, blank=True, help_text="Patient file number") + complained_department = models.ForeignKey( + "organizations.Department", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="complaint_requests", + help_text="Department being complained about", + ) + incident_date = models.DateField(null=True, blank=True, help_text="Date of the incident") + phone_number = models.CharField(max_length=20, blank=True, help_text="Patient phone number") + + filled = models.BooleanField(default=False, help_text="Whether the request was filled") + on_hold = models.BooleanField(default=False, help_text="Whether the request is on hold") + not_filled = models.BooleanField(default=False, help_text="Whether the request was not filled") + from_barcode = models.BooleanField(default=False, help_text="Whether the request came from barcode scanning") + + filling_time_category = models.CharField( + max_length=20, choices=FILLING_TIME_CHOICES, default="not_mentioned", help_text="When the request was filled" + ) + + request_date = models.DateField(help_text="Date of the request") + request_time = models.TimeField(null=True, blank=True, help_text="Time of the request") + form_sent_at = models.DateTimeField(null=True, blank=True, help_text="When complaint form was sent to patient") + form_sent_time = models.TimeField(null=True, blank=True, help_text="Time when form was sent") + filled_at = models.DateTimeField(null=True, blank=True, help_text="When the request was filled") + filled_time = models.TimeField(null=True, blank=True, help_text="Time when request was filled") + + reason_non_activation = models.CharField( + max_length=50, choices=NON_ACTIVATION_REASON_CHOICES, blank=True, help_text="Reason complaint was not activated" + ) + reason_non_activation_other = models.CharField(max_length=200, blank=True, help_text="Other reason details") + pr_observations = models.TextField(blank=True, help_text="PR team observations about this request") + + notes = models.TextField(blank=True, help_text="Additional notes about the request") + + class Meta: + ordering = ["-request_date", "-created_at"] + verbose_name = "Complaint Request" + verbose_name_plural = "Complaint Requests" + indexes = [ + models.Index(fields=["staff", "request_date"]), + models.Index(fields=["filled", "on_hold"]), + models.Index(fields=["request_date"]), + models.Index(fields=["hospital", "request_date"]), + models.Index(fields=["reason_non_activation"]), + ] + + def __str__(self): + status = "Filled" if self.filled else "Not Filled" + if self.on_hold: + status = "On Hold" + return f"{self.staff} - {status} - {self.request_date}" + + def mark_as_filled(self): + """Mark the request as filled.""" + from django.utils import timezone + + self.filled = True + self.not_filled = False + self.filled_at = timezone.now() + self.save(update_fields=["filled", "not_filled", "filled_at"]) + + def mark_as_not_filled(self): + """Mark the request as not filled.""" + self.filled = False + self.not_filled = True + self.save(update_fields=["filled", "not_filled"]) + + +class ReportCompletion(UUIDModel, TimeStampedModel): + """ + Tracks weekly report completion for employees. + + Monitors which reports were completed by staff members. + """ + + REPORT_TYPE_CHOICES = [ + ("complaint_report", "Complaint Report"), + ("complaint_request_report", "Complaint Request Report"), + ("observation_report", "Observation Report"), + ("incoming_inquiries_report", "Incoming Inquiries Report"), + ("outgoing_inquiries_report", "Outgoing Inquiries Report"), + ("extension_report", "Extension Report"), + ("escalated_complaints_report", "Escalated Complaints Report"), + ] + + staff = models.ForeignKey( + "accounts.User", + on_delete=models.CASCADE, + related_name="report_completions", + help_text="Staff member who should complete the report", + ) + + report_type = models.CharField(max_length=50, choices=REPORT_TYPE_CHOICES, help_text="Type of report") + + is_completed = models.BooleanField(default=False, help_text="Whether the report is completed") + + completed_at = models.DateTimeField(null=True, blank=True, help_text="When the report was completed") + + week_start_date = models.DateField(help_text="Start date of the week this report is for") + + notes = models.TextField(blank=True, help_text="Notes about the report completion") + + class Meta: + ordering = ["-week_start_date", "report_type"] + verbose_name = "Report Completion" + verbose_name_plural = "Report Completions" + unique_together = [["staff", "report_type", "week_start_date"]] + indexes = [ + models.Index(fields=["staff", "week_start_date"]), + models.Index(fields=["report_type", "is_completed"]), + models.Index(fields=["week_start_date"]), + ] + + def __str__(self): + status = "✓" if self.is_completed else "✗" + return f"{self.staff} - {self.get_report_type_display()} - Week of {self.week_start_date} {status}" + + def mark_completed(self): + """Mark this report as completed.""" + from django.utils import timezone + + self.is_completed = True + self.completed_at = timezone.now() + self.save(update_fields=["is_completed", "completed_at"]) + + def mark_incomplete(self): + """Mark this report as not completed.""" + self.is_completed = False + self.completed_at = None + self.save(update_fields=["is_completed", "completed_at"]) + + @classmethod + def get_completion_percentage(cls, staff, week_start_date): + """ + Get completion percentage for a staff member for a given week. + + Returns: + float: Percentage of completed reports (0-100) + """ + total_reports = len(cls.REPORT_TYPE_CHOICES) + completed_count = cls.objects.filter(staff=staff, week_start_date=week_start_date, is_completed=True).count() + return (completed_count / total_reports) * 100 if total_reports > 0 else 0 + + +class EscalatedComplaintLog(UUIDModel, TimeStampedModel): + """ + Logs escalated complaints with timing information. + + Tracks when complaints were escalated relative to the 72-hour SLA. + """ + + ESCALATION_TIMING_CHOICES = [ + ("before_72h", "Before 72 Hours"), + ("exactly_72h", "72 Hours Exactly"), + ("after_72h", "After 72 Hours"), + ] + + complaint = models.ForeignKey( + "complaints.Complaint", + on_delete=models.CASCADE, + related_name="escalation_logs", + help_text="The escalated complaint", + ) + + staff = models.ForeignKey( + "accounts.User", + on_delete=models.CASCADE, + related_name="escalated_complaints", + help_text="Staff member who the complaint is assigned to", + ) + + escalation_timing = models.CharField( + max_length=20, + choices=ESCALATION_TIMING_CHOICES, + help_text="When the complaint was escalated relative to 72h SLA", + ) + + escalated_at = models.DateTimeField(help_text="When the complaint was escalated") + + is_resolved = models.BooleanField(default=False, help_text="Whether the escalated complaint was resolved") + + resolved_at = models.DateTimeField(null=True, blank=True, help_text="When the escalated complaint was resolved") + + resolution_notes = models.TextField(blank=True, help_text="Notes about the resolution") + + week_start_date = models.DateField(help_text="Start date of the week this escalation is recorded for") + + class Meta: + ordering = ["-escalated_at", "-created_at"] + verbose_name = "Escalated Complaint Log" + verbose_name_plural = "Escalated Complaint Logs" + indexes = [ + models.Index(fields=["staff", "week_start_date"]), + models.Index(fields=["escalation_timing", "is_resolved"]), + models.Index(fields=["week_start_date"]), + ] + + def __str__(self): + status = "Resolved" if self.is_resolved else "Unresolved" + return f"{self.staff} - {self.get_escalation_timing_display()} - {status}" + + def mark_resolved(self, notes=""): + """Mark this escalated complaint as resolved.""" + from django.utils import timezone + + self.is_resolved = True + self.resolved_at = timezone.now() + if notes: + self.resolution_notes = notes + self.save(update_fields=["is_resolved", "resolved_at", "resolution_notes"]) + + +class InquiryDetail(UUIDModel, TimeStampedModel): + """ + Detailed tracking of inquiries with types and statuses. + + Extends the base Inquiry model with evaluation-specific tracking. + """ + + INQUIRY_TYPE_CHOICES = [ + ("contact_doctor", "Contact the doctor"), + ("sick_leave_reports", "Sick-Leave - Medical Reports"), + ("blood_test", "Blood test result"), + ("raise_complaint", "Raise a Complaint"), + ("app_problem", "Problem with the app"), + ("medication", "Ask about medication"), + ("insurance_status", "Insurance request status"), + ("general_question", "General question"), + ("other", "Other"), + ] + + STATUS_CHOICES = [ + ("in_progress", "تحت الإجراء (In Progress)"), + ("contacted", "تم التواصل (Contacted)"), + ("contacted_no_response", "تم التواصل ولم يتم الرد (Contacted No Response)"), + ] + + RESPONSE_TIME_CHOICES = [ + ("24h", "24 Hours"), + ("48h", "48 Hours"), + ("72h", "72 Hours"), + ("more_than_72h", "More than 72 Hours"), + ] + + inquiry = models.OneToOneField( + "complaints.Inquiry", on_delete=models.CASCADE, related_name="evaluation_detail", help_text="Related inquiry" + ) + + staff = models.ForeignKey( + "accounts.User", + on_delete=models.CASCADE, + related_name="inquiry_details", + help_text="Staff member handling the inquiry", + ) + + inquiry_type = models.CharField(max_length=50, choices=INQUIRY_TYPE_CHOICES, help_text="Type of inquiry") + + is_outgoing = models.BooleanField(default=False, help_text="Whether this is an outgoing inquiry") + + response_time_category = models.CharField( + max_length=20, choices=RESPONSE_TIME_CHOICES, blank=True, help_text="Response time category" + ) + + inquiry_status = models.CharField( + max_length=50, choices=STATUS_CHOICES, blank=True, help_text="Current status of the inquiry" + ) + + inquiry_date = models.DateField(help_text="Date of the inquiry") + + notes = models.TextField(blank=True, help_text="Additional notes") + + class Meta: + ordering = ["-inquiry_date", "-created_at"] + verbose_name = "Inquiry Detail" + verbose_name_plural = "Inquiry Details" + indexes = [ + models.Index(fields=["staff", "inquiry_date"]), + models.Index(fields=["inquiry_type", "is_outgoing"]), + models.Index(fields=["inquiry_date"]), + ] + + def __str__(self): + direction = "Outgoing" if self.is_outgoing else "Incoming" + return f"{self.staff} - {direction} - {self.get_inquiry_type_display()} - {self.inquiry_date}" diff --git a/apps/dashboard/urls.py b/apps/dashboard/urls.py index 26a2aee..f9aafb3 100644 --- a/apps/dashboard/urls.py +++ b/apps/dashboard/urls.py @@ -1,32 +1,47 @@ """ Dashboard URLs """ + from django.urls import path from .views import ( - CommandCenterView, my_dashboard, dashboard_bulk_action, - admin_evaluation, admin_evaluation_chart_data, - staff_performance_detail, staff_performance_trends, - department_benchmarks, export_staff_performance, - performance_analytics_api, command_center_api + CommandCenterView, + my_dashboard, + dashboard_bulk_action, + admin_evaluation, + admin_evaluation_chart_data, + staff_performance_detail, + staff_performance_trends, + department_benchmarks, + export_staff_performance, + performance_analytics_api, + command_center_api, + employee_evaluation, + employee_evaluation_data, + complaint_request_list, + complaint_request_export, ) -app_name = 'dashboard' +app_name = "dashboard" urlpatterns = [ - path('', CommandCenterView.as_view(), name='command-center'), - path('api/', command_center_api, name='command_center_api'), - path('my/', my_dashboard, name='my_dashboard'), - path('bulk-action/', dashboard_bulk_action, name='bulk_action'), - + path("", CommandCenterView.as_view(), name="command-center"), + path("api/", command_center_api, name="command_center_api"), + path("my/", my_dashboard, name="my_dashboard"), + path("bulk-action/", dashboard_bulk_action, name="bulk_action"), # Admin Evaluation - path('admin-evaluation/', admin_evaluation, name='admin_evaluation'), - path('admin-evaluation/chart-data/', admin_evaluation_chart_data, name='admin_evaluation_chart_data'), - + path("admin-evaluation/", admin_evaluation, name="admin_evaluation"), + path("admin-evaluation/chart-data/", admin_evaluation_chart_data, name="admin_evaluation_chart_data"), + # Employee Evaluation (PAD Department Weekly Dashboard) + path("employee-evaluation/", employee_evaluation, name="employee_evaluation"), + path("employee-evaluation/data/", employee_evaluation_data, name="employee_evaluation_data"), # Enhanced Staff Performance - path('admin-evaluation/staff//', staff_performance_detail, name='staff_performance_detail'), - path('admin-evaluation/staff//trends/', staff_performance_trends, name='staff_performance_trends'), - path('admin-evaluation/benchmarks/', department_benchmarks, name='department_benchmarks'), - path('admin-evaluation/export/', export_staff_performance, name='export_staff_performance'), - path('admin-evaluation/analytics/', performance_analytics_api, name='performance_analytics_api'), + path("admin-evaluation/staff//", staff_performance_detail, name="staff_performance_detail"), + path("admin-evaluation/staff//trends/", staff_performance_trends, name="staff_performance_trends"), + path("admin-evaluation/benchmarks/", department_benchmarks, name="department_benchmarks"), + path("admin-evaluation/export/", export_staff_performance, name="export_staff_performance"), + path("admin-evaluation/analytics/", performance_analytics_api, name="performance_analytics_api"), + # Step 0 — Complaint Requests Report + path("complaint-requests/", complaint_request_list, name="complaint_request_list"), + path("complaint-requests/export/", complaint_request_export, name="complaint_request_export"), ] diff --git a/apps/dashboard/views.py b/apps/dashboard/views.py index e508658..61afcc0 100644 --- a/apps/dashboard/views.py +++ b/apps/dashboard/views.py @@ -1,6 +1,7 @@ """ Dashboard views - PX Command Center and analytics dashboards """ + import json from datetime import timedelta, datetime @@ -16,7 +17,6 @@ from django.utils.translation import gettext_lazy as _ from django.contrib import messages - class CommandCenterView(LoginRequiredMixin, TemplateView): """ PX Command Center Dashboard - Real-time control panel. @@ -28,21 +28,22 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): - Live feed (latest complaints, actions, events) - Enhanced modules (Inquiries, Observations) - Filters (date range, hospital, department) - + Follows the "5-Second Rule": Critical signals dominant and comprehensible within 5 seconds. Uses modular tile/card system with 30-60 second auto-refresh capability. """ - template_name = 'dashboard/command_center.html' + + template_name = "dashboard/command_center.html" def dispatch(self, request, *args, **kwargs): """Check user type and redirect accordingly""" # Redirect Source Users to their dashboard if request.user.is_authenticated and request.user.is_source_user(): - return redirect('px_sources:source_user_dashboard') - + return redirect("px_sources:source_user_dashboard") + # Check PX Admin has selected a hospital before processing request if request.user.is_authenticated and request.user.is_px_admin() and not request.tenant_hospital: - return redirect('core:select_hospital') + return redirect("core:select_hospital") return super().dispatch(request, *args, **kwargs) @@ -77,13 +78,17 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): actions_qs = PXAction.objects.filter(hospital=hospital) if hospital else PXAction.objects.none() surveys_qs = SurveyInstance.objects.all() # Surveys can be viewed across hospitals social_qs = SocialMediaComment.objects.all() # Social media is organization-wide, not hospital-specific - calls_qs = CallCenterInteraction.objects.filter(hospital=hospital) if hospital else CallCenterInteraction.objects.none() + calls_qs = ( + CallCenterInteraction.objects.filter(hospital=hospital) + if hospital + else CallCenterInteraction.objects.none() + ) observations_qs = Observation.objects.filter(hospital=hospital) if hospital else Observation.objects.none() elif user.is_hospital_admin() and user.hospital: complaints_qs = Complaint.objects.filter(hospital=user.hospital) inquiries_qs = Inquiry.objects.filter(hospital=user.hospital) actions_qs = PXAction.objects.filter(hospital=user.hospital) - surveys_qs = SurveyInstance.objects.filter(survey_template__hospital=user.hospital) + surveys_qs = SurveyInstance.objects.filter(hospital=user.hospital) social_qs = SocialMediaComment.objects.all() # Social media is organization-wide, not hospital-specific calls_qs = CallCenterInteraction.objects.filter(hospital=user.hospital) observations_qs = Observation.objects.filter(hospital=user.hospital) @@ -108,131 +113,115 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): # RED ALERT ITEMS (5-Second Rule) # ======================================== red_alerts = [] - + # Critical complaints - critical_complaints = complaints_qs.filter( - severity='critical', - status__in=['open', 'in_progress'] - ).count() + critical_complaints = complaints_qs.filter(severity="critical", status__in=["open", "in_progress"]).count() if critical_complaints > 0: - red_alerts.append({ - 'type': 'critical_complaints', - 'label': _('Critical Complaints'), - 'value': critical_complaints, - 'icon': 'alert-octagon', - 'color': 'red', - 'url': f"{reverse('complaints:complaint_list')}?severity=critical&status=open,in_progress", - 'priority': 1 - }) - + red_alerts.append( + { + "type": "critical_complaints", + "label": _("Critical Complaints"), + "value": critical_complaints, + "icon": "alert-octagon", + "color": "red", + "url": f"{reverse('complaints:complaint_list')}?severity=critical&status=open,in_progress", + "priority": 1, + } + ) + # Overdue complaints - overdue_complaints = complaints_qs.filter( - is_overdue=True, - status__in=['open', 'in_progress'] - ).count() + overdue_complaints = complaints_qs.filter(is_overdue=True, status__in=["open", "in_progress"]).count() if overdue_complaints > 0: - red_alerts.append({ - 'type': 'overdue_complaints', - 'label': _('Overdue Complaints'), - 'value': overdue_complaints, - 'icon': 'clock', - 'color': 'orange', - 'url': f"{reverse('complaints:complaint_list')}?is_overdue=true&status=open,in_progress", - 'priority': 2 - }) - + red_alerts.append( + { + "type": "overdue_complaints", + "label": _("Overdue Complaints"), + "value": overdue_complaints, + "icon": "clock", + "color": "orange", + "url": f"{reverse('complaints:complaint_list')}?is_overdue=true&status=open,in_progress", + "priority": 2, + } + ) + # Escalated actions - escalated_actions = actions_qs.filter( - escalation_level__gt=0, - status__in=['open', 'in_progress'] - ).count() + escalated_actions = actions_qs.filter(escalation_level__gt=0, status__in=["open", "in_progress"]).count() if escalated_actions > 0: - red_alerts.append({ - 'type': 'escalated_actions', - 'label': _('Escalated Actions'), - 'value': escalated_actions, - 'icon': 'arrow-up-circle', - 'color': 'red', - 'url': reverse('actions:action_list'), - 'priority': 3 - }) - + red_alerts.append( + { + "type": "escalated_actions", + "label": _("Escalated Actions"), + "value": escalated_actions, + "icon": "arrow-up-circle", + "color": "red", + "url": reverse("actions:action_list"), + "priority": 3, + } + ) + # Negative surveys in last 24h - negative_surveys_24h = surveys_qs.filter( - is_negative=True, - completed_at__gte=last_24h - ).count() + negative_surveys_24h = surveys_qs.filter(is_negative=True, completed_at__gte=last_24h).count() if negative_surveys_24h > 0: - red_alerts.append({ - 'type': 'negative_surveys', - 'label': _('Negative Surveys (24h)'), - 'value': negative_surveys_24h, - 'icon': 'frown', - 'color': 'yellow', - 'url': reverse('surveys:instance_list'), - 'priority': 4 - }) - + red_alerts.append( + { + "type": "negative_surveys", + "label": _("Negative Surveys (24h)"), + "value": negative_surveys_24h, + "icon": "frown", + "color": "yellow", + "url": reverse("surveys:instance_list"), + "priority": 4, + } + ) + # Sort by priority - red_alerts.sort(key=lambda x: x['priority']) - context['red_alerts'] = red_alerts - context['has_red_alerts'] = len(red_alerts) > 0 + red_alerts.sort(key=lambda x: x["priority"]) + context["red_alerts"] = red_alerts + context["has_red_alerts"] = len(red_alerts) > 0 # ======================================== # COMPLAINTS MODULE DATA # ======================================== complaints_current = complaints_qs.filter(created_at__gte=last_30d).count() - complaints_previous = complaints_qs.filter( - created_at__gte=last_60d, - created_at__lt=last_30d - ).count() + complaints_previous = complaints_qs.filter(created_at__gte=last_60d, created_at__lt=last_30d).count() complaints_variance = 0 if complaints_previous > 0: complaints_variance = round(((complaints_current - complaints_previous) / complaints_previous) * 100, 1) - + # Resolution time calculation - resolved_complaints = complaints_qs.filter( - status='closed', - closed_at__isnull=False, - created_at__gte=last_30d - ) + resolved_complaints = complaints_qs.filter(status="closed", closed_at__isnull=False, created_at__gte=last_30d) avg_resolution_hours = 0 if resolved_complaints.exists(): - total_hours = sum( - (c.closed_at - c.created_at).total_seconds() / 3600 - for c in resolved_complaints - ) + total_hours = sum((c.closed_at - c.created_at).total_seconds() / 3600 for c in resolved_complaints) avg_resolution_hours = round(total_hours / resolved_complaints.count(), 1) - + # Complaints by severity for donut chart complaints_by_severity = { - 'critical': complaints_qs.filter(severity='critical', status__in=['open', 'in_progress']).count(), - 'high': complaints_qs.filter(severity='high', status__in=['open', 'in_progress']).count(), - 'medium': complaints_qs.filter(severity='medium', status__in=['open', 'in_progress']).count(), - 'low': complaints_qs.filter(severity='low', status__in=['open', 'in_progress']).count(), + "critical": complaints_qs.filter(severity="critical", status__in=["open", "in_progress"]).count(), + "high": complaints_qs.filter(severity="high", status__in=["open", "in_progress"]).count(), + "medium": complaints_qs.filter(severity="medium", status__in=["open", "in_progress"]).count(), + "low": complaints_qs.filter(severity="low", status__in=["open", "in_progress"]).count(), } - + # Complaints by department for heatmap complaints_by_department = list( - complaints_qs.filter( - status__in=['open', 'in_progress'], - department__isnull=False - ).values('department__name').annotate( - count=Count('id') - ).order_by('-count')[:10] + complaints_qs.filter(status__in=["open", "in_progress"], department__isnull=False) + .values("department__name") + .annotate(count=Count("id")) + .order_by("-count")[:10] ) - context['complaints_module'] = { - 'total_active': complaints_qs.filter(status__in=['open', 'in_progress']).count(), - 'current_period': complaints_current, - 'previous_period': complaints_previous, - 'variance': complaints_variance, - 'variance_direction': 'up' if complaints_variance > 0 else 'down' if complaints_variance < 0 else 'neutral', - 'avg_resolution_hours': avg_resolution_hours, - 'overdue': complaints_qs.filter(is_overdue=True, status__in=['open', 'in_progress']).count(), - 'by_severity': complaints_by_severity, - 'by_department': complaints_by_department, - 'critical_new': complaints_qs.filter(severity='critical', created_at__gte=last_24h).count(), + context["complaints_module"] = { + "total_active": complaints_qs.filter(status__in=["open", "in_progress"]).count(), + "current_period": complaints_current, + "previous_period": complaints_previous, + "variance": complaints_variance, + "variance_direction": "up" if complaints_variance > 0 else "down" if complaints_variance < 0 else "neutral", + "avg_resolution_hours": avg_resolution_hours, + "overdue": complaints_qs.filter(is_overdue=True, status__in=["open", "in_progress"]).count(), + "by_severity": complaints_by_severity, + "by_department": complaints_by_department, + "critical_new": complaints_qs.filter(severity="critical", created_at__gte=last_24h).count(), } # ======================================== @@ -240,120 +229,111 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): # ======================================== surveys_completed_30d = surveys_qs.filter(completed_at__gte=last_30d) total_surveys_30d = surveys_completed_30d.count() - + # Calculate average satisfaction - avg_satisfaction = surveys_completed_30d.filter( - total_score__isnull=False - ).aggregate(Avg('total_score'))['total_score__avg'] or 0 - + avg_satisfaction = ( + surveys_completed_30d.filter(total_score__isnull=False).aggregate(Avg("total_score"))["total_score__avg"] + or 0 + ) + # NPS-style calculation (promoters - detractors) positive_count = surveys_completed_30d.filter(is_negative=False).count() negative_count = surveys_completed_30d.filter(is_negative=True).count() nps_score = 0 if total_surveys_30d > 0: nps_score = round(((positive_count - negative_count) / total_surveys_30d) * 100) - + # Response rate (completed vs sent in last 30 days) surveys_sent_30d = surveys_qs.filter(sent_at__gte=last_30d).count() response_rate = 0 if surveys_sent_30d > 0: response_rate = round((total_surveys_30d / surveys_sent_30d) * 100, 1) - - context['survey_module'] = { - 'avg_satisfaction': round(avg_satisfaction, 1), - 'nps_score': nps_score, - 'response_rate': response_rate, - 'total_completed': total_surveys_30d, - 'positive_count': positive_count, - 'negative_count': negative_count, - 'neutral_count': total_surveys_30d - positive_count - negative_count, - 'negative_24h': surveys_qs.filter(is_negative=True, completed_at__gte=last_24h).count(), + + context["survey_module"] = { + "avg_satisfaction": round(avg_satisfaction, 1), + "nps_score": nps_score, + "response_rate": response_rate, + "total_completed": total_surveys_30d, + "positive_count": positive_count, + "negative_count": negative_count, + "neutral_count": total_surveys_30d - positive_count - negative_count, + "negative_24h": surveys_qs.filter(is_negative=True, completed_at__gte=last_24h).count(), } # ======================================== # PX ACTIONS MODULE DATA # ======================================== - actions_open = actions_qs.filter(status='open').count() - actions_in_progress = actions_qs.filter(status='in_progress').count() - actions_pending_approval = actions_qs.filter(status='pending_approval').count() - actions_closed_30d = actions_qs.filter(status='closed', closed_at__gte=last_30d).count() - + actions_open = actions_qs.filter(status="open").count() + actions_in_progress = actions_qs.filter(status="in_progress").count() + actions_pending_approval = actions_qs.filter(status="pending_approval").count() + actions_closed_30d = actions_qs.filter(status="closed", closed_at__gte=last_30d).count() + # Time to close calculation - closed_actions = actions_qs.filter( - status='closed', - closed_at__isnull=False, - created_at__gte=last_30d - ) + closed_actions = actions_qs.filter(status="closed", closed_at__isnull=False, created_at__gte=last_30d) avg_time_to_close_hours = 0 if closed_actions.exists(): - total_hours = sum( - (a.closed_at - a.created_at).total_seconds() / 3600 - for a in closed_actions - ) + total_hours = sum((a.closed_at - a.created_at).total_seconds() / 3600 for a in closed_actions) avg_time_to_close_hours = round(total_hours / closed_actions.count(), 1) - + # Actions by source for breakdown actions_by_source = list( - actions_qs.filter( - status__in=['open', 'in_progress'] - ).values('source_type').annotate( - count=Count('id') - ).order_by('-count') + actions_qs.filter(status__in=["open", "in_progress"]) + .values("source_type") + .annotate(count=Count("id")) + .order_by("-count") ) - - context['actions_module'] = { - 'open': actions_open, - 'in_progress': actions_in_progress, - 'pending_approval': actions_pending_approval, - 'overdue': actions_qs.filter(is_overdue=True, status__in=['open', 'in_progress']).count(), - 'escalated': actions_qs.filter(escalation_level__gt=0, status__in=['open', 'in_progress']).count(), - 'closed_30d': actions_closed_30d, - 'avg_time_to_close_hours': avg_time_to_close_hours, - 'by_source': actions_by_source, - 'new_today': actions_qs.filter(created_at__gte=last_24h).count(), + + context["actions_module"] = { + "open": actions_open, + "in_progress": actions_in_progress, + "pending_approval": actions_pending_approval, + "overdue": actions_qs.filter(is_overdue=True, status__in=["open", "in_progress"]).count(), + "escalated": actions_qs.filter(escalation_level__gt=0, status__in=["open", "in_progress"]).count(), + "closed_30d": actions_closed_30d, + "avg_time_to_close_hours": avg_time_to_close_hours, + "by_source": actions_by_source, + "new_today": actions_qs.filter(created_at__gte=last_24h).count(), } # ======================================== # INQUIRIES MODULE DATA # ======================================== - inquiries_open = inquiries_qs.filter(status='open').count() - inquiries_in_progress = inquiries_qs.filter(status='in_progress').count() - inquiries_resolved_30d = inquiries_qs.filter(status='resolved', updated_at__gte=last_30d).count() - - context['inquiries_module'] = { - 'open': inquiries_open, - 'in_progress': inquiries_in_progress, - 'total_active': inquiries_open + inquiries_in_progress, - 'resolved_30d': inquiries_resolved_30d, - 'new_24h': inquiries_qs.filter(created_at__gte=last_24h).count(), + inquiries_open = inquiries_qs.filter(status="open").count() + inquiries_in_progress = inquiries_qs.filter(status="in_progress").count() + inquiries_resolved_30d = inquiries_qs.filter(status="resolved", updated_at__gte=last_30d).count() + + context["inquiries_module"] = { + "open": inquiries_open, + "in_progress": inquiries_in_progress, + "total_active": inquiries_open + inquiries_in_progress, + "resolved_30d": inquiries_resolved_30d, + "new_24h": inquiries_qs.filter(created_at__gte=last_24h).count(), } # ======================================== # OBSERVATIONS MODULE DATA # ======================================== - observations_new = observations_qs.filter(status='new').count() - observations_in_progress = observations_qs.filter(status='in_progress').count() + observations_new = observations_qs.filter(status="new").count() + observations_in_progress = observations_qs.filter(status="in_progress").count() observations_critical = observations_qs.filter( - severity='critical', - status__in=['new', 'triaged', 'assigned', 'in_progress'] + severity="critical", status__in=["new", "triaged", "assigned", "in_progress"] ).count() - + # Observations by category observations_by_category = list( - observations_qs.filter( - status__in=['new', 'triaged', 'assigned', 'in_progress'] - ).values('category__name_en').annotate( - count=Count('id') - ).order_by('-count')[:5] + observations_qs.filter(status__in=["new", "triaged", "assigned", "in_progress"]) + .values("category__name_en") + .annotate(count=Count("id")) + .order_by("-count")[:5] ) - - context['observations_module'] = { - 'new': observations_new, - 'in_progress': observations_in_progress, - 'critical': observations_critical, - 'total_active': observations_new + observations_in_progress, - 'resolved_30d': observations_qs.filter(status='resolved', resolved_at__gte=last_30d).count(), - 'by_category': observations_by_category, + + context["observations_module"] = { + "new": observations_new, + "in_progress": observations_in_progress, + "critical": observations_critical, + "total_active": observations_new + observations_in_progress, + "resolved_30d": observations_qs.filter(status="resolved", resolved_at__gte=last_30d).count(), + "by_category": observations_by_category, } # ======================================== @@ -362,59 +342,68 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): calls_7d = calls_qs.filter(call_started_at__gte=last_7d) total_calls = calls_7d.count() low_rating_calls = calls_7d.filter(is_low_rating=True).count() - - context['calls_module'] = { - 'total_7d': total_calls, - 'low_ratings': low_rating_calls, - 'satisfaction_rate': round(((total_calls - low_rating_calls) / total_calls * 100), 1) if total_calls > 0 else 0, + + context["calls_module"] = { + "total_7d": total_calls, + "low_ratings": low_rating_calls, + "satisfaction_rate": round(((total_calls - low_rating_calls) / total_calls * 100), 1) + if total_calls > 0 + else 0, } # ======================================== # LEGACY STATS (for backward compatibility) # ======================================== - context['stats'] = { - 'total_complaints': context['complaints_module']['total_active'], - 'avg_resolution_time': f"{avg_resolution_hours}h", - 'satisfaction_score': round(avg_satisfaction, 0), - 'active_actions': context['actions_module']['open'] + context['actions_module']['in_progress'], - 'new_today': context['actions_module']['new_today'], + context["stats"] = { + "total_complaints": context["complaints_module"]["total_active"], + "avg_resolution_time": f"{avg_resolution_hours}h", + "satisfaction_score": round(avg_satisfaction, 0), + "active_actions": context["actions_module"]["open"] + context["actions_module"]["in_progress"], + "new_today": context["actions_module"]["new_today"], } # ======================================== # LATEST ITEMS FOR LIVE FEED # ======================================== # Latest high severity complaints - context['latest_complaints'] = complaints_qs.filter( - severity__in=['high', 'critical'] - ).select_related('patient', 'hospital', 'department').order_by('-created_at')[:5] + context["latest_complaints"] = ( + complaints_qs.filter(severity__in=["high", "critical"]) + .select_related("patient", "hospital", "department") + .order_by("-created_at")[:5] + ) # Latest escalated actions - context['latest_actions'] = actions_qs.filter( - escalation_level__gt=0 - ).select_related('hospital', 'assigned_to').order_by('-escalated_at')[:5] + context["latest_actions"] = ( + actions_qs.filter(escalation_level__gt=0) + .select_related("hospital", "assigned_to") + .order_by("-escalated_at")[:5] + ) # Latest inquiries - context['latest_inquiries'] = inquiries_qs.filter( - status__in=['open', 'in_progress'] - ).select_related('patient', 'hospital', 'department').order_by('-created_at')[:5] + context["latest_inquiries"] = ( + inquiries_qs.filter(status__in=["open", "in_progress"]) + .select_related("patient", "hospital", "department") + .order_by("-created_at")[:5] + ) # Latest observations - context['latest_observations'] = observations_qs.filter( - status__in=['new', 'triaged', 'assigned'] - ).select_related('hospital', 'category').order_by('-created_at')[:5] + context["latest_observations"] = ( + observations_qs.filter(status__in=["new", "triaged", "assigned"]) + .select_related("hospital", "category") + .order_by("-created_at")[:5] + ) # Latest integration events - context['latest_events'] = InboundEvent.objects.filter( - status='processed' - ).select_related().order_by('-processed_at')[:10] + context["latest_events"] = ( + InboundEvent.objects.filter(status="processed").select_related().order_by("-processed_at")[:10] + ) # ======================================== # PHYSICIAN LEADERBOARD # ======================================== - current_month_ratings = PhysicianMonthlyRating.objects.filter( - year=now.year, - month=now.month - ).select_related('staff', 'staff__hospital', 'staff__department') + current_month_ratings = PhysicianMonthlyRating.objects.filter(year=now.year, month=now.month).select_related( + "staff", "staff__hospital", "staff__department" + ) # Filter by user role if user.is_hospital_admin() and user.hospital: @@ -423,38 +412,38 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): current_month_ratings = current_month_ratings.filter(staff__department=user.department) # Top 5 staff this month - context['top_physicians'] = current_month_ratings.order_by('-average_rating')[:5] + context["top_physicians"] = current_month_ratings.order_by("-average_rating")[:5] # Staff stats physician_stats = current_month_ratings.aggregate( - total_physicians=Count('id'), - avg_rating=Avg('average_rating'), - total_surveys=Count('total_surveys') + total_physicians=Count("id"), avg_rating=Avg("average_rating"), total_surveys=Count("total_surveys") ) - context['physician_stats'] = physician_stats + context["physician_stats"] = physician_stats # ======================================== # CHART DATA # ======================================== - context['chart_data'] = { - 'complaints_trend': json.dumps(self.get_complaints_trend(complaints_qs, last_30d)), - 'complaints_by_severity': json.dumps(complaints_by_severity), - 'survey_satisfaction': avg_satisfaction, - 'nps_trend': json.dumps(self.get_nps_trend(surveys_qs, last_30d)), - 'actions_funnel': json.dumps({ - 'open': actions_open, - 'in_progress': actions_in_progress, - 'pending_approval': actions_pending_approval, - 'closed': actions_closed_30d, - }), + context["chart_data"] = { + "complaints_trend": json.dumps(self.get_complaints_trend(complaints_qs, last_30d)), + "complaints_by_severity": json.dumps(complaints_by_severity), + "survey_satisfaction": avg_satisfaction, + "nps_trend": json.dumps(self.get_nps_trend(surveys_qs, last_30d)), + "actions_funnel": json.dumps( + { + "open": actions_open, + "in_progress": actions_in_progress, + "pending_approval": actions_pending_approval, + "closed": actions_closed_30d, + } + ), } # Add hospital context - context['current_hospital'] = self.request.tenant_hospital - context['is_px_admin'] = user.is_px_admin() - + context["current_hospital"] = self.request.tenant_hospital + context["is_px_admin"] = user.is_px_admin() + # Last updated timestamp - context['last_updated'] = now.strftime('%Y-%m-%d %H:%M:%S') + context["last_updated"] = now.strftime("%Y-%m-%d %H:%M:%S") return context @@ -464,13 +453,8 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): data = [] for i in range(30): date = start_date + timedelta(days=i) - count = queryset.filter( - created_at__date=date.date() - ).count() - data.append({ - 'date': date.strftime('%Y-%m-%d'), - 'count': count - }) + count = queryset.filter(created_at__date=date.date()).count() + data.append({"date": date.strftime("%Y-%m-%d"), "count": count}) return data def get_nps_trend(self, queryset, start_date): @@ -486,25 +470,24 @@ class CommandCenterView(LoginRequiredMixin, TemplateView): nps = round(((positive - negative) / total) * 100) else: nps = 0 - data.append({ - 'date': date.strftime('%Y-%m-%d'), - 'nps': nps - }) + data.append({"date": date.strftime("%Y-%m-%d"), "nps": nps}) return data def get_survey_satisfaction(self, queryset, start_date): """Get survey satisfaction averages""" - return queryset.filter( - completed_at__gte=start_date, - total_score__isnull=False - ).aggregate(Avg('total_score'))['total_score__avg'] or 0 + return ( + queryset.filter(completed_at__gte=start_date, total_score__isnull=False).aggregate(Avg("total_score"))[ + "total_score__avg" + ] + or 0 + ) @login_required def my_dashboard(request): """ My Dashboard - Personal view of all assigned items. - + Shows: - Summary cards with statistics - Tabbed interface for 6 model types: @@ -522,37 +505,38 @@ def my_dashboard(request): """ # Redirect Source Users to their dashboard if request.user.is_source_user(): - return redirect('px_sources:source_user_dashboard') - + return redirect("px_sources:source_user_dashboard") + user = request.user - + # Get selected hospital for PX Admins (from middleware) - selected_hospital = getattr(request, 'tenant_hospital', None) - + selected_hospital = getattr(request, "tenant_hospital", None) + # Get date range filter - date_range_days = int(request.GET.get('date_range', 30)) + date_range_days = int(request.GET.get("date_range", 30)) if date_range_days == -1: # All time start_date = None else: start_date = timezone.now() - timedelta(days=date_range_days) - + # Get active tab - active_tab = request.GET.get('tab', 'complaints') - + active_tab = request.GET.get("tab", "complaints") + # Get search query - search_query = request.GET.get('search', '') - + search_query = request.GET.get("search", "") + # Get status filter - status_filter = request.GET.get('status', '') - + status_filter = request.GET.get("status", "") + # Get priority/severity filter - priority_filter = request.GET.get('priority', '') - + priority_filter = request.GET.get("priority", "") + # Build querysets for all models querysets = {} - + # 1. Complaints from apps.complaints.models import Complaint + complaints_qs = Complaint.objects.filter(assigned_to=user) # Filter by selected hospital for PX Admins if selected_hospital: @@ -560,20 +544,18 @@ def my_dashboard(request): if start_date: complaints_qs = complaints_qs.filter(created_at__gte=start_date) if search_query: - complaints_qs = complaints_qs.filter( - Q(title__icontains=search_query) | - Q(description__icontains=search_query) - ) + complaints_qs = complaints_qs.filter(Q(title__icontains=search_query) | Q(description__icontains=search_query)) if status_filter: complaints_qs = complaints_qs.filter(status=status_filter) if priority_filter: complaints_qs = complaints_qs.filter(severity=priority_filter) - querysets['complaints'] = complaints_qs.select_related( - 'patient', 'hospital', 'department', 'source', 'created_by' - ).order_by('-created_at') - + querysets["complaints"] = complaints_qs.select_related( + "patient", "hospital", "department", "source", "created_by" + ).order_by("-created_at") + # 2. Inquiries from apps.complaints.models import Inquiry + inquiries_qs = Inquiry.objects.filter(assigned_to=user) # Filter by selected hospital for PX Admins if selected_hospital: @@ -581,18 +563,14 @@ def my_dashboard(request): if start_date: inquiries_qs = inquiries_qs.filter(created_at__gte=start_date) if search_query: - inquiries_qs = inquiries_qs.filter( - Q(subject__icontains=search_query) | - Q(message__icontains=search_query) - ) + inquiries_qs = inquiries_qs.filter(Q(subject__icontains=search_query) | Q(message__icontains=search_query)) if status_filter: inquiries_qs = inquiries_qs.filter(status=status_filter) - querysets['inquiries'] = inquiries_qs.select_related( - 'patient', 'hospital', 'department' - ).order_by('-created_at') - + querysets["inquiries"] = inquiries_qs.select_related("patient", "hospital", "department").order_by("-created_at") + # 3. Observations from apps.observations.models import Observation + observations_qs = Observation.objects.filter(assigned_to=user) # Filter by selected hospital for PX Admins if selected_hospital: @@ -601,19 +579,19 @@ def my_dashboard(request): observations_qs = observations_qs.filter(created_at__gte=start_date) if search_query: observations_qs = observations_qs.filter( - Q(title__icontains=search_query) | - Q(description__icontains=search_query) + Q(title__icontains=search_query) | Q(description__icontains=search_query) ) if status_filter: observations_qs = observations_qs.filter(status=status_filter) if priority_filter: observations_qs = observations_qs.filter(severity=priority_filter) - querysets['observations'] = observations_qs.select_related( - 'hospital', 'assigned_department' - ).order_by('-created_at') - + querysets["observations"] = observations_qs.select_related("hospital", "assigned_department").order_by( + "-created_at" + ) + # 4. PX Actions from apps.px_action_center.models import PXAction + actions_qs = PXAction.objects.filter(assigned_to=user) # Filter by selected hospital for PX Admins if selected_hospital: @@ -621,20 +599,16 @@ def my_dashboard(request): if start_date: actions_qs = actions_qs.filter(created_at__gte=start_date) if search_query: - actions_qs = actions_qs.filter( - Q(title__icontains=search_query) | - Q(description__icontains=search_query) - ) + actions_qs = actions_qs.filter(Q(title__icontains=search_query) | Q(description__icontains=search_query)) if status_filter: actions_qs = actions_qs.filter(status=status_filter) if priority_filter: actions_qs = actions_qs.filter(severity=priority_filter) - querysets['actions'] = actions_qs.select_related( - 'hospital', 'department', 'approved_by' - ).order_by('-created_at') - + querysets["actions"] = actions_qs.select_related("hospital", "department", "approved_by").order_by("-created_at") + # 5. QI Project Tasks from apps.projects.models import QIProjectTask + tasks_qs = QIProjectTask.objects.filter(assigned_to=user) # Filter by selected hospital for PX Admins (via project) if selected_hospital: @@ -642,16 +616,14 @@ def my_dashboard(request): if start_date: tasks_qs = tasks_qs.filter(created_at__gte=start_date) if search_query: - tasks_qs = tasks_qs.filter( - Q(title__icontains=search_query) | - Q(description__icontains=search_query) - ) + tasks_qs = tasks_qs.filter(Q(title__icontains=search_query) | Q(description__icontains=search_query)) if status_filter: tasks_qs = tasks_qs.filter(status=status_filter) - querysets['tasks'] = tasks_qs.select_related('project').order_by('-created_at') - + querysets["tasks"] = tasks_qs.select_related("project").order_by("-created_at") + # 6. Feedback from apps.feedback.models import Feedback + feedback_qs = Feedback.objects.filter(assigned_to=user) # Filter by selected hospital for PX Admins if selected_hospital: @@ -659,176 +631,164 @@ def my_dashboard(request): if start_date: feedback_qs = feedback_qs.filter(created_at__gte=start_date) if search_query: - feedback_qs = feedback_qs.filter( - Q(title__icontains=search_query) | - Q(message__icontains=search_query) - ) + feedback_qs = feedback_qs.filter(Q(title__icontains=search_query) | Q(message__icontains=search_query)) if status_filter: feedback_qs = feedback_qs.filter(status=status_filter) if priority_filter: feedback_qs = feedback_qs.filter(priority=priority_filter) - querysets['feedback'] = feedback_qs.select_related( - 'hospital', 'department', 'patient' - ).order_by('-created_at') - + querysets["feedback"] = feedback_qs.select_related("hospital", "department", "patient").order_by("-created_at") + # Calculate statistics stats = {} - total_stats = { - 'total': 0, - 'open': 0, - 'in_progress': 0, - 'resolved': 0, - 'closed': 0, - 'overdue': 0 - } - + total_stats = {"total": 0, "open": 0, "in_progress": 0, "resolved": 0, "closed": 0, "overdue": 0} + # Complaints stats - complaints_open = querysets['complaints'].filter(status='open').count() - complaints_in_progress = querysets['complaints'].filter(status='in_progress').count() - complaints_resolved = querysets['complaints'].filter(status='resolved').count() - complaints_closed = querysets['complaints'].filter(status='closed').count() - complaints_overdue = querysets['complaints'].filter(is_overdue=True).count() - stats['complaints'] = { - 'total': querysets['complaints'].count(), - 'open': complaints_open, - 'in_progress': complaints_in_progress, - 'resolved': complaints_resolved, - 'closed': complaints_closed, - 'overdue': complaints_overdue + complaints_open = querysets["complaints"].filter(status="open").count() + complaints_in_progress = querysets["complaints"].filter(status="in_progress").count() + complaints_resolved = querysets["complaints"].filter(status="resolved").count() + complaints_closed = querysets["complaints"].filter(status="closed").count() + complaints_overdue = querysets["complaints"].filter(is_overdue=True).count() + stats["complaints"] = { + "total": querysets["complaints"].count(), + "open": complaints_open, + "in_progress": complaints_in_progress, + "resolved": complaints_resolved, + "closed": complaints_closed, + "overdue": complaints_overdue, } - total_stats['total'] += stats['complaints']['total'] - total_stats['open'] += complaints_open - total_stats['in_progress'] += complaints_in_progress - total_stats['resolved'] += complaints_resolved - total_stats['closed'] += complaints_closed - total_stats['overdue'] += complaints_overdue - + total_stats["total"] += stats["complaints"]["total"] + total_stats["open"] += complaints_open + total_stats["in_progress"] += complaints_in_progress + total_stats["resolved"] += complaints_resolved + total_stats["closed"] += complaints_closed + total_stats["overdue"] += complaints_overdue + # Inquiries stats - inquiries_open = querysets['inquiries'].filter(status='open').count() - inquiries_in_progress = querysets['inquiries'].filter(status='in_progress').count() - inquiries_resolved = querysets['inquiries'].filter(status='resolved').count() - inquiries_closed = querysets['inquiries'].filter(status='closed').count() - stats['inquiries'] = { - 'total': querysets['inquiries'].count(), - 'open': inquiries_open, - 'in_progress': inquiries_in_progress, - 'resolved': inquiries_resolved, - 'closed': inquiries_closed, - 'overdue': 0 + inquiries_open = querysets["inquiries"].filter(status="open").count() + inquiries_in_progress = querysets["inquiries"].filter(status="in_progress").count() + inquiries_resolved = querysets["inquiries"].filter(status="resolved").count() + inquiries_closed = querysets["inquiries"].filter(status="closed").count() + stats["inquiries"] = { + "total": querysets["inquiries"].count(), + "open": inquiries_open, + "in_progress": inquiries_in_progress, + "resolved": inquiries_resolved, + "closed": inquiries_closed, + "overdue": 0, } - total_stats['total'] += stats['inquiries']['total'] - total_stats['open'] += inquiries_open - total_stats['in_progress'] += inquiries_in_progress - total_stats['resolved'] += inquiries_resolved - total_stats['closed'] += inquiries_closed - + total_stats["total"] += stats["inquiries"]["total"] + total_stats["open"] += inquiries_open + total_stats["in_progress"] += inquiries_in_progress + total_stats["resolved"] += inquiries_resolved + total_stats["closed"] += inquiries_closed + # Observations stats - observations_open = querysets['observations'].filter(status='open').count() - observations_in_progress = querysets['observations'].filter(status='in_progress').count() - observations_closed = querysets['observations'].filter(status='closed').count() + observations_open = querysets["observations"].filter(status="open").count() + observations_in_progress = querysets["observations"].filter(status="in_progress").count() + observations_closed = querysets["observations"].filter(status="closed").count() # Observations don't have is_overdue field - set to 0 observations_overdue = 0 - stats['observations'] = { - 'total': querysets['observations'].count(), - 'open': observations_open, - 'in_progress': observations_in_progress, - 'resolved': 0, - 'closed': observations_closed, - 'overdue': observations_overdue + stats["observations"] = { + "total": querysets["observations"].count(), + "open": observations_open, + "in_progress": observations_in_progress, + "resolved": 0, + "closed": observations_closed, + "overdue": observations_overdue, } - total_stats['total'] += stats['observations']['total'] - total_stats['open'] += observations_open - total_stats['in_progress'] += observations_in_progress - total_stats['closed'] += observations_closed - total_stats['overdue'] += observations_overdue - + total_stats["total"] += stats["observations"]["total"] + total_stats["open"] += observations_open + total_stats["in_progress"] += observations_in_progress + total_stats["closed"] += observations_closed + total_stats["overdue"] += observations_overdue + # PX Actions stats - actions_open = querysets['actions'].filter(status='open').count() - actions_in_progress = querysets['actions'].filter(status='in_progress').count() - actions_closed = querysets['actions'].filter(status='closed').count() - actions_overdue = querysets['actions'].filter(is_overdue=True).count() - stats['actions'] = { - 'total': querysets['actions'].count(), - 'open': actions_open, - 'in_progress': actions_in_progress, - 'resolved': 0, - 'closed': actions_closed, - 'overdue': actions_overdue + actions_open = querysets["actions"].filter(status="open").count() + actions_in_progress = querysets["actions"].filter(status="in_progress").count() + actions_closed = querysets["actions"].filter(status="closed").count() + actions_overdue = querysets["actions"].filter(is_overdue=True).count() + stats["actions"] = { + "total": querysets["actions"].count(), + "open": actions_open, + "in_progress": actions_in_progress, + "resolved": 0, + "closed": actions_closed, + "overdue": actions_overdue, } - total_stats['total'] += stats['actions']['total'] - total_stats['open'] += actions_open - total_stats['in_progress'] += actions_in_progress - total_stats['closed'] += actions_closed - total_stats['overdue'] += actions_overdue - + total_stats["total"] += stats["actions"]["total"] + total_stats["open"] += actions_open + total_stats["in_progress"] += actions_in_progress + total_stats["closed"] += actions_closed + total_stats["overdue"] += actions_overdue + # Tasks stats - tasks_open = querysets['tasks'].filter(status='open').count() - tasks_in_progress = querysets['tasks'].filter(status='in_progress').count() - tasks_closed = querysets['tasks'].filter(status='closed').count() - stats['tasks'] = { - 'total': querysets['tasks'].count(), - 'open': tasks_open, - 'in_progress': tasks_in_progress, - 'resolved': 0, - 'closed': tasks_closed, - 'overdue': 0 + tasks_open = querysets["tasks"].filter(status="open").count() + tasks_in_progress = querysets["tasks"].filter(status="in_progress").count() + tasks_closed = querysets["tasks"].filter(status="closed").count() + stats["tasks"] = { + "total": querysets["tasks"].count(), + "open": tasks_open, + "in_progress": tasks_in_progress, + "resolved": 0, + "closed": tasks_closed, + "overdue": 0, } - total_stats['total'] += stats['tasks']['total'] - total_stats['open'] += tasks_open - total_stats['in_progress'] += tasks_in_progress - total_stats['closed'] += tasks_closed - + total_stats["total"] += stats["tasks"]["total"] + total_stats["open"] += tasks_open + total_stats["in_progress"] += tasks_in_progress + total_stats["closed"] += tasks_closed + # Feedback stats - feedback_open = querysets['feedback'].filter(status='submitted').count() - feedback_in_progress = querysets['feedback'].filter(status='reviewed').count() - feedback_acknowledged = querysets['feedback'].filter(status='acknowledged').count() - feedback_closed = querysets['feedback'].filter(status='closed').count() - stats['feedback'] = { - 'total': querysets['feedback'].count(), - 'open': feedback_open, - 'in_progress': feedback_in_progress, - 'resolved': feedback_acknowledged, - 'closed': feedback_closed, - 'overdue': 0 + feedback_open = querysets["feedback"].filter(status="submitted").count() + feedback_in_progress = querysets["feedback"].filter(status="reviewed").count() + feedback_acknowledged = querysets["feedback"].filter(status="acknowledged").count() + feedback_closed = querysets["feedback"].filter(status="closed").count() + stats["feedback"] = { + "total": querysets["feedback"].count(), + "open": feedback_open, + "in_progress": feedback_in_progress, + "resolved": feedback_acknowledged, + "closed": feedback_closed, + "overdue": 0, } - total_stats['total'] += stats['feedback']['total'] - total_stats['open'] += feedback_open - total_stats['in_progress'] += feedback_in_progress - total_stats['resolved'] += feedback_acknowledged - total_stats['closed'] += feedback_closed - + total_stats["total"] += stats["feedback"]["total"] + total_stats["open"] += feedback_open + total_stats["in_progress"] += feedback_in_progress + total_stats["resolved"] += feedback_acknowledged + total_stats["closed"] += feedback_closed + # Paginate all querysets - page_size = int(request.GET.get('page_size', 25)) + page_size = int(request.GET.get("page_size", 25)) paginated_data = {} - + for tab_name, qs in querysets.items(): paginator = Paginator(qs, page_size) - page_number = request.GET.get(f'page_{tab_name}', 1) + page_number = request.GET.get(f"page_{tab_name}", 1) paginated_data[tab_name] = paginator.get_page(page_number) - + # Get chart data chart_data = get_dashboard_chart_data(user, start_date, selected_hospital) - + context = { - 'stats': stats, - 'total_stats': total_stats, - 'paginated_data': paginated_data, - 'active_tab': active_tab, - 'date_range': date_range_days, - 'search_query': search_query, - 'status_filter': status_filter, - 'priority_filter': priority_filter, - 'chart_data': chart_data, - 'selected_hospital': selected_hospital, # For hospital filter display + "stats": stats, + "total_stats": total_stats, + "paginated_data": paginated_data, + "active_tab": active_tab, + "date_range": date_range_days, + "search_query": search_query, + "status_filter": status_filter, + "priority_filter": priority_filter, + "chart_data": chart_data, + "selected_hospital": selected_hospital, # For hospital filter display } - - return render(request, 'dashboard/my_dashboard.html', context) + + return render(request, "dashboard/my_dashboard.html", context) def get_dashboard_chart_data(user, start_date=None, selected_hospital=None): """ Get chart data for dashboard trends. - + Returns JSON-serializable data for ApexCharts. """ from apps.complaints.models import Complaint @@ -837,165 +797,144 @@ def get_dashboard_chart_data(user, start_date=None, selected_hospital=None): from apps.feedback.models import Feedback from apps.complaints.models import Inquiry from apps.projects.models import QIProjectTask - + # Default to last 30 days if no start_date if not start_date: start_date = timezone.now() - timedelta(days=30) - + # Get completion trends completion_data = [] labels = [] - + # Group by day for last 30 days for i in range(30): date = start_date + timedelta(days=i) - date_str = date.strftime('%Y-%m-%d') - labels.append(date.strftime('%b %d')) - + date_str = date.strftime("%Y-%m-%d") + labels.append(date.strftime("%b %d")) + completed_count = 0 # Check each model for completions on this date # Apply hospital filter for PX Admins - complaint_qs = Complaint.objects.filter( - assigned_to=user, - status='closed', - closed_at__date=date.date() - ) + complaint_qs = Complaint.objects.filter(assigned_to=user, status="closed", closed_at__date=date.date()) if selected_hospital: complaint_qs = complaint_qs.filter(hospital=selected_hospital) completed_count += complaint_qs.count() - - inquiry_qs = Inquiry.objects.filter( - assigned_to=user, - status='closed', - updated_at__date=date.date() - ) + + inquiry_qs = Inquiry.objects.filter(assigned_to=user, status="closed", updated_at__date=date.date()) if selected_hospital: inquiry_qs = inquiry_qs.filter(hospital=selected_hospital) completed_count += inquiry_qs.count() - - observation_qs = Observation.objects.filter( - assigned_to=user, - status='closed', - updated_at__date=date.date() - ) + + observation_qs = Observation.objects.filter(assigned_to=user, status="closed", updated_at__date=date.date()) if selected_hospital: observation_qs = observation_qs.filter(hospital=selected_hospital) completed_count += observation_qs.count() - - action_qs = PXAction.objects.filter( - assigned_to=user, - status='closed', - closed_at__date=date.date() - ) + + action_qs = PXAction.objects.filter(assigned_to=user, status="closed", closed_at__date=date.date()) if selected_hospital: action_qs = action_qs.filter(hospital=selected_hospital) completed_count += action_qs.count() - - task_qs = QIProjectTask.objects.filter( - assigned_to=user, - status='closed', - completed_date=date.date() - ) + + task_qs = QIProjectTask.objects.filter(assigned_to=user, status="closed", completed_date=date.date()) if selected_hospital: task_qs = task_qs.filter(project__hospital=selected_hospital) completed_count += task_qs.count() - - feedback_qs = Feedback.objects.filter( - assigned_to=user, - status='closed', - closed_at__date=date.date() - ) + + feedback_qs = Feedback.objects.filter(assigned_to=user, status="closed", closed_at__date=date.date()) if selected_hospital: feedback_qs = feedback_qs.filter(hospital=selected_hospital) completed_count += feedback_qs.count() - + completion_data.append(completed_count) - - return { - 'completion_trend': { - 'labels': labels, - 'data': completion_data - } - } + + return {"completion_trend": {"labels": labels, "data": completion_data}} @login_required def dashboard_bulk_action(request): """ Handle bulk actions on dashboard items. - + Supported actions: - bulk_assign: Assign to user - bulk_status: Change status """ - if request.method != 'POST': - return JsonResponse({'success': False, 'error': 'POST required'}, status=405) - + if request.method != "POST": + return JsonResponse({"success": False, "error": "POST required"}, status=405) + import json + try: data = json.loads(request.body) - action = data.get('action') - tab_name = data.get('tab') - item_ids = data.get('item_ids', []) - + action = data.get("action") + tab_name = data.get("tab") + item_ids = data.get("item_ids", []) + if not action or not tab_name: - return JsonResponse({'success': False, 'error': 'Missing required fields'}, status=400) - + return JsonResponse({"success": False, "error": "Missing required fields"}, status=400) + # Route to appropriate handler based on tab - if tab_name == 'complaints': + if tab_name == "complaints": from apps.complaints.models import Complaint + queryset = Complaint.objects.filter(id__in=item_ids, assigned_to=request.user) - elif tab_name == 'inquiries': + elif tab_name == "inquiries": from apps.complaints.models import Inquiry + queryset = Inquiry.objects.filter(id__in=item_ids, assigned_to=request.user) - elif tab_name == 'observations': + elif tab_name == "observations": from apps.observations.models import Observation + queryset = Observation.objects.filter(id__in=item_ids, assigned_to=request.user) - elif tab_name == 'actions': + elif tab_name == "actions": from apps.px_action_center.models import PXAction + queryset = PXAction.objects.filter(id__in=item_ids, assigned_to=request.user) - elif tab_name == 'tasks': + elif tab_name == "tasks": from apps.projects.models import QIProjectTask + queryset = QIProjectTask.objects.filter(id__in=item_ids, assigned_to=request.user) - elif tab_name == 'feedback': + elif tab_name == "feedback": from apps.feedback.models import Feedback + queryset = Feedback.objects.filter(id__in=item_ids, assigned_to=request.user) else: - return JsonResponse({'success': False, 'error': 'Invalid tab'}, status=400) - + return JsonResponse({"success": False, "error": "Invalid tab"}, status=400) + # Apply bulk action - if action == 'bulk_status': - new_status = data.get('new_status') + if action == "bulk_status": + new_status = data.get("new_status") if not new_status: - return JsonResponse({'success': False, 'error': 'Missing new_status'}, status=400) - + return JsonResponse({"success": False, "error": "Missing new_status"}, status=400) + count = queryset.update(status=new_status) - return JsonResponse({'success': True, 'updated_count': count}) - - elif action == 'bulk_assign': - user_id = data.get('user_id') + return JsonResponse({"success": True, "updated_count": count}) + + elif action == "bulk_assign": + user_id = data.get("user_id") if not user_id: - return JsonResponse({'success': False, 'error': 'Missing user_id'}, status=400) - + return JsonResponse({"success": False, "error": "Missing user_id"}, status=400) + from apps.accounts.models import User + assignee = User.objects.get(id=user_id) count = queryset.update(assigned_to=assignee, assigned_at=timezone.now()) - return JsonResponse({'success': True, 'updated_count': count}) - + return JsonResponse({"success": True, "updated_count": count}) + else: - return JsonResponse({'success': False, 'error': 'Invalid action'}, status=400) - + return JsonResponse({"success": False, "error": "Invalid action"}, status=400) + except json.JSONDecodeError: - return JsonResponse({'success': False, 'error': 'Invalid JSON'}, status=400) + return JsonResponse({"success": False, "error": "Invalid JSON"}, status=400) except Exception as e: - return JsonResponse({'success': False, 'error': str(e)}, status=500) + return JsonResponse({"success": False, "error": str(e)}, status=500) @login_required def admin_evaluation(request): """ Admin Evaluation Dashboard - Staff performance analysis. - + Shows: - Performance metrics for all staff members - Complaints: Source breakdown, status distribution, response time, activation time @@ -1003,57 +942,59 @@ def admin_evaluation(request): - Multi-staff comparison - Date range filtering - Hospital/department filtering - + Access: PX Admin and Hospital Admin only """ from django.core.exceptions import PermissionDenied from apps.analytics.services.analytics_service import UnifiedAnalyticsService from apps.accounts.models import User from apps.organizations.models import Hospital, Department - + user = request.user - + # Only PX Admins and Hospital Admins can access if not (user.is_px_admin() or user.is_hospital_admin()): raise PermissionDenied("Only PX Admins and Hospital Admins can access the Admin Evaluation dashboard.") - + # Get date range filter - date_range = request.GET.get('date_range', '30d') - custom_start = request.GET.get('custom_start') - custom_end = request.GET.get('custom_end') - + date_range = request.GET.get("date_range", "30d") + custom_start = request.GET.get("custom_start") + custom_end = request.GET.get("custom_end") + # Parse custom dates if provided if custom_start: from datetime import datetime + custom_start = datetime.fromisoformat(custom_start) if custom_end: from datetime import datetime + custom_end = datetime.fromisoformat(custom_end) - + # Get hospital and department filters - hospital_id = request.GET.get('hospital_id') - department_id = request.GET.get('department_id') - + hospital_id = request.GET.get("hospital_id") + department_id = request.GET.get("department_id") + # Get selected staff IDs for comparison - selected_staff_ids = request.GET.getlist('staff_ids') - + selected_staff_ids = request.GET.getlist("staff_ids") + # Get available hospitals (for PX Admins) if user.is_px_admin(): - hospitals = Hospital.objects.filter(status='active') + hospitals = Hospital.objects.filter(status="active") elif user.is_hospital_admin() and user.hospital: hospitals = Hospital.objects.filter(id=user.hospital.id) hospital_id = hospital_id or user.hospital.id # Default to user's hospital else: hospitals = Hospital.objects.none() - + # Get available departments based on hospital filter if hospital_id: - departments = Department.objects.filter(hospital_id=hospital_id, status='active') + departments = Department.objects.filter(hospital_id=hospital_id, status="active") elif user.hospital: - departments = Department.objects.filter(hospital=user.hospital, status='active') + departments = Department.objects.filter(hospital=user.hospital, status="active") else: departments = Department.objects.none() - + # Get staff performance metrics performance_data = UnifiedAnalyticsService.get_staff_performance_metrics( user=user, @@ -1062,77 +1003,81 @@ def admin_evaluation(request): department_id=department_id, staff_ids=selected_staff_ids if selected_staff_ids else None, custom_start=custom_start, - custom_end=custom_end + custom_end=custom_end, ) - + # Get all staff for the dropdown staff_queryset = User.objects.all() - + if user.is_px_admin() and hospital_id: staff_queryset = staff_queryset.filter(hospital_id=hospital_id) elif not user.is_px_admin() and user.hospital: staff_queryset = staff_queryset.filter(hospital=user.hospital) hospital_id = hospital_id or user.hospital.id - + if department_id: staff_queryset = staff_queryset.filter(department_id=department_id) - + # Only staff with assigned complaints or inquiries - staff_queryset = staff_queryset.filter( - Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False) - ).distinct().select_related('hospital', 'department') - + staff_queryset = ( + staff_queryset.filter(Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False)) + .distinct() + .select_related("hospital", "department") + ) + context = { - 'departments': departments, - 'staff_list': staff_queryset, - 'selected_hospital_id': hospital_id, - 'selected_department_id': department_id, - 'selected_staff_ids': selected_staff_ids, - 'date_range': date_range, - 'custom_start': custom_start, - 'custom_end': custom_end, - 'performance_data': performance_data, + "departments": departments, + "staff_list": staff_queryset, + "selected_hospital_id": hospital_id, + "selected_department_id": department_id, + "selected_staff_ids": selected_staff_ids, + "date_range": date_range, + "custom_start": custom_start, + "custom_end": custom_end, + "performance_data": performance_data, } - - return render(request, 'dashboard/admin_evaluation.html', context) + + return render(request, "dashboard/admin_evaluation.html", context) @login_required def admin_evaluation_chart_data(request): """ API endpoint to get chart data for admin evaluation dashboard. - + Access: PX Admin and Hospital Admin only """ from apps.analytics.services.analytics_service import UnifiedAnalyticsService - - if request.method != 'GET': - return JsonResponse({'success': False, 'error': 'GET required'}, status=405) - + + if request.method != "GET": + return JsonResponse({"success": False, "error": "GET required"}, status=405) + user = request.user - + # Only PX Admins and Hospital Admins can access if not (user.is_px_admin() or user.is_hospital_admin()): - return JsonResponse({'success': False, 'error': 'Permission denied'}, status=403) - - chart_type = request.GET.get('chart_type') - date_range = request.GET.get('date_range', '30d') - hospital_id = request.GET.get('hospital_id') - department_id = request.GET.get('department_id') - staff_ids = request.GET.getlist('staff_ids') - + return JsonResponse({"success": False, "error": "Permission denied"}, status=403) + + chart_type = request.GET.get("chart_type") + date_range = request.GET.get("date_range", "30d") + hospital_id = request.GET.get("hospital_id") + department_id = request.GET.get("department_id") + staff_ids = request.GET.getlist("staff_ids") + # Parse custom dates if provided - custom_start = request.GET.get('custom_start') - custom_end = request.GET.get('custom_end') + custom_start = request.GET.get("custom_start") + custom_end = request.GET.get("custom_end") if custom_start: from datetime import datetime + custom_start = datetime.fromisoformat(custom_start) if custom_end: from datetime import datetime + custom_end = datetime.fromisoformat(custom_end) - + try: - if chart_type == 'staff_performance': + if chart_type == "staff_performance": data = UnifiedAnalyticsService.get_staff_performance_metrics( user=user, date_range=date_range, @@ -1140,164 +1085,149 @@ def admin_evaluation_chart_data(request): department_id=department_id, staff_ids=staff_ids if staff_ids else None, custom_start=custom_start, - custom_end=custom_end + custom_end=custom_end, ) else: - data = {'error': f'Unknown chart type: {chart_type}'} - - return JsonResponse({'success': True, 'data': data}) - - except Exception as e: - return JsonResponse({'success': False, 'error': str(e)}, status=500) + data = {"error": f"Unknown chart type: {chart_type}"} + return JsonResponse({"success": True, "data": data}) + + except Exception as e: + return JsonResponse({"success": False, "error": str(e)}, status=500) # ============================================================================ # ENHANCED ADMIN EVALUATION VIEWS # ============================================================================ + @login_required def staff_performance_detail(request, staff_id): """ Detailed performance view for a single staff member. - + Shows: - Performance score with breakdown - Daily workload trends - Recent complaints and inquiries - Performance metrics - + Access: PX Admin and Hospital Admin only """ from django.core.exceptions import PermissionDenied from apps.analytics.services.analytics_service import UnifiedAnalyticsService - + # Only PX Admins and Hospital Admins can access if not (request.user.is_px_admin() or request.user.is_hospital_admin()): raise PermissionDenied("Only PX Admins and Hospital Admins can access staff performance details.") from apps.accounts.models import User - + user = request.user - + # Get date range - date_range = request.GET.get('date_range', '30d') - + date_range = request.GET.get("date_range", "30d") + try: - staff = User.objects.select_related('hospital', 'department').get(id=staff_id) - + staff = User.objects.select_related("hospital", "department").get(id=staff_id) + # Check permissions if not user.is_px_admin(): if user.hospital and staff.hospital != user.hospital: messages.error(request, "You don't have permission to view this staff member's performance.") - return redirect('dashboard:admin_evaluation') - + return redirect("dashboard:admin_evaluation") + # Get detailed performance performance = UnifiedAnalyticsService.get_staff_detailed_performance( - staff_id=staff_id, - user=user, - date_range=date_range + staff_id=staff_id, user=user, date_range=date_range ) - + # Get trends - trends = UnifiedAnalyticsService.get_staff_performance_trends( - staff_id=staff_id, - user=user, - months=6 - ) - + trends = UnifiedAnalyticsService.get_staff_performance_trends(staff_id=staff_id, user=user, months=6) + context = { - 'staff': performance['staff'], - 'performance': performance, - 'trends': trends, - 'date_range': date_range + "staff": performance["staff"], + "performance": performance, + "trends": trends, + "date_range": date_range, } - - return render(request, 'dashboard/staff_performance_detail.html', context) - + + return render(request, "dashboard/staff_performance_detail.html", context) + except User.DoesNotExist: messages.error(request, "Staff member not found.") - return redirect('dashboard:admin_evaluation') + return redirect("dashboard:admin_evaluation") except PermissionError: messages.error(request, "You don't have permission to view this staff member.") - return redirect('dashboard:admin_evaluation') + return redirect("dashboard:admin_evaluation") @login_required def staff_performance_trends(request, staff_id): """ API endpoint to get staff performance trends as JSON. - + Access: PX Admin and Hospital Admin only """ from apps.analytics.services.analytics_service import UnifiedAnalyticsService from apps.accounts.models import User - + # Only PX Admins and Hospital Admins can access if not (request.user.is_px_admin() or request.user.is_hospital_admin()): - return JsonResponse({'success': False, 'error': 'Permission denied'}, status=403) - + return JsonResponse({"success": False, "error": "Permission denied"}, status=403) + user = request.user - months = int(request.GET.get('months', 6)) - + months = int(request.GET.get("months", 6)) + try: - trends = UnifiedAnalyticsService.get_staff_performance_trends( - staff_id=staff_id, - user=user, - months=months - ) - return JsonResponse({'success': True, 'trends': trends}) + trends = UnifiedAnalyticsService.get_staff_performance_trends(staff_id=staff_id, user=user, months=months) + return JsonResponse({"success": True, "trends": trends}) except Exception as e: - return JsonResponse({'success': False, 'error': str(e)}, status=400) + return JsonResponse({"success": False, "error": str(e)}, status=400) @login_required def department_benchmarks(request): """ Department benchmarking view comparing all staff. - + Access: PX Admin and Hospital Admin only """ from django.core.exceptions import PermissionDenied from apps.analytics.services.analytics_service import UnifiedAnalyticsService - + # Only PX Admins and Hospital Admins can access if not (request.user.is_px_admin() or request.user.is_hospital_admin()): raise PermissionDenied("Only PX Admins and Hospital Admins can access department benchmarks.") - + user = request.user - + # Get filters - department_id = request.GET.get('department_id') - date_range = request.GET.get('date_range', '30d') - + department_id = request.GET.get("department_id") + date_range = request.GET.get("date_range", "30d") + # If user is department manager, use their department if user.is_department_manager() and user.department and not department_id: department_id = str(user.department.id) - + try: benchmarks = UnifiedAnalyticsService.get_department_benchmarks( - user=user, - department_id=department_id, - date_range=date_range + user=user, department_id=department_id, date_range=date_range ) - - context = { - 'benchmarks': benchmarks, - 'date_range': date_range - } - - return render(request, 'dashboard/department_benchmarks.html', context) - + + context = {"benchmarks": benchmarks, "date_range": date_range} + + return render(request, "dashboard/department_benchmarks.html", context) + except Exception as e: messages.error(request, f"Error loading benchmarks: {str(e)}") - return redirect('dashboard:admin_evaluation') + return redirect("dashboard:admin_evaluation") @login_required def export_staff_performance(request): """ Export staff performance report in various formats. - + Access: PX Admin and Hospital Admin only """ from django.core.exceptions import PermissionDenied @@ -1305,56 +1235,55 @@ def export_staff_performance(request): import csv import json from django.http import HttpResponse - + # Only PX Admins and Hospital Admins can access if not (request.user.is_px_admin() or request.user.is_hospital_admin()): raise PermissionDenied("Only PX Admins and Hospital Admins can export staff performance.") - + user = request.user - - if request.method != 'POST': - return JsonResponse({'error': 'POST required'}, status=405) - + + if request.method != "POST": + return JsonResponse({"error": "POST required"}, status=405) + try: data = json.loads(request.body) - staff_ids = data.get('staff_ids', []) - date_range = data.get('date_range', '30d') - format_type = data.get('format', 'csv') - + staff_ids = data.get("staff_ids", []) + date_range = data.get("date_range", "30d") + format_type = data.get("format", "csv") + # Generate report report = UnifiedAnalyticsService.export_staff_performance_report( - staff_ids=staff_ids, - user=user, - date_range=date_range, - format_type=format_type + staff_ids=staff_ids, user=user, date_range=date_range, format_type=format_type ) - - if format_type == 'csv': - response = HttpResponse(content_type='text/csv') - response['Content-Disposition'] = f'attachment; filename="staff_performance_{timezone.now().strftime("%Y%m%d")}.csv"' - - if report['data']: - writer = csv.DictWriter(response, fieldnames=report['data'][0].keys()) + + if format_type == "csv": + response = HttpResponse(content_type="text/csv") + response["Content-Disposition"] = ( + f'attachment; filename="staff_performance_{timezone.now().strftime("%Y%m%d")}.csv"' + ) + + if report["data"]: + writer = csv.DictWriter(response, fieldnames=report["data"][0].keys()) writer.writeheader() - writer.writerows(report['data']) - + writer.writerows(report["data"]) + return response - - elif format_type == 'json': + + elif format_type == "json": return JsonResponse(report) - + else: - return JsonResponse({'error': f'Unsupported format: {format_type}'}, status=400) - + return JsonResponse({"error": f"Unsupported format: {format_type}"}, status=400) + except Exception as e: - return JsonResponse({'error': str(e)}, status=500) + return JsonResponse({"error": str(e)}, status=500) @login_required def command_center_api(request): """ API endpoint for Command Center live data updates. - + Returns JSON with all module data for AJAX refresh without page reload. Enables true real-time updates every 30-60 seconds. """ @@ -1363,13 +1292,13 @@ def command_center_api(request): from apps.surveys.models import SurveyInstance from apps.physicians.models import PhysicianMonthlyRating from apps.observations.models import Observation - + user = request.user now = timezone.now() last_24h = now - timedelta(hours=24) last_30d = now - timedelta(days=30) last_60d = now - timedelta(days=60) - + # Build querysets based on user role if user.is_px_admin(): hospital = request.tenant_hospital @@ -1396,139 +1325,409 @@ def command_center_api(request): actions_qs = PXAction.objects.none() surveys_qs = SurveyInstance.objects.none() observations_qs = Observation.objects.none() - + # Calculate all module data # Complaints complaints_current = complaints_qs.filter(created_at__gte=last_30d).count() complaints_previous = complaints_qs.filter(created_at__gte=last_60d, created_at__lt=last_30d).count() - complaints_variance = round(((complaints_current - complaints_previous) / complaints_previous) * 100, 1) if complaints_previous > 0 else 0 - + complaints_variance = ( + round(((complaints_current - complaints_previous) / complaints_previous) * 100, 1) + if complaints_previous > 0 + else 0 + ) + # Surveys surveys_completed_30d = surveys_qs.filter(completed_at__gte=last_30d) total_surveys_30d = surveys_completed_30d.count() positive_count = surveys_completed_30d.filter(is_negative=False).count() negative_count = surveys_completed_30d.filter(is_negative=True).count() nps_score = round(((positive_count - negative_count) / total_surveys_30d) * 100) if total_surveys_30d > 0 else 0 - avg_satisfaction = surveys_completed_30d.filter(total_score__isnull=False).aggregate(Avg('total_score'))['total_score__avg'] or 0 + avg_satisfaction = ( + surveys_completed_30d.filter(total_score__isnull=False).aggregate(Avg("total_score"))["total_score__avg"] or 0 + ) surveys_sent_30d = surveys_qs.filter(sent_at__gte=last_30d).count() response_rate = round((total_surveys_30d / surveys_sent_30d) * 100, 1) if surveys_sent_30d > 0 else 0 - + # Actions - actions_open = actions_qs.filter(status='open').count() - actions_in_progress = actions_qs.filter(status='in_progress').count() - actions_pending_approval = actions_qs.filter(status='pending_approval').count() - actions_closed_30d = actions_qs.filter(status='closed', closed_at__gte=last_30d).count() - + actions_open = actions_qs.filter(status="open").count() + actions_in_progress = actions_qs.filter(status="in_progress").count() + actions_pending_approval = actions_qs.filter(status="pending_approval").count() + actions_closed_30d = actions_qs.filter(status="closed", closed_at__gte=last_30d).count() + # Red alerts red_alerts = [] - critical_complaints = complaints_qs.filter(severity='critical', status__in=['open', 'in_progress']).count() + critical_complaints = complaints_qs.filter(severity="critical", status__in=["open", "in_progress"]).count() if critical_complaints > 0: - red_alerts.append({'type': 'critical_complaints', 'value': critical_complaints}) - overdue_complaints = complaints_qs.filter(is_overdue=True, status__in=['open', 'in_progress']).count() + red_alerts.append({"type": "critical_complaints", "value": critical_complaints}) + overdue_complaints = complaints_qs.filter(is_overdue=True, status__in=["open", "in_progress"]).count() if overdue_complaints > 0: - red_alerts.append({'type': 'overdue_complaints', 'value': overdue_complaints}) - escalated_actions = actions_qs.filter(escalation_level__gt=0, status__in=['open', 'in_progress']).count() + red_alerts.append({"type": "overdue_complaints", "value": overdue_complaints}) + escalated_actions = actions_qs.filter(escalation_level__gt=0, status__in=["open", "in_progress"]).count() if escalated_actions > 0: - red_alerts.append({'type': 'escalated_actions', 'value': escalated_actions}) + red_alerts.append({"type": "escalated_actions", "value": escalated_actions}) negative_surveys_24h = surveys_qs.filter(is_negative=True, completed_at__gte=last_24h).count() if negative_surveys_24h > 0: - red_alerts.append({'type': 'negative_surveys', 'value': negative_surveys_24h}) - - return JsonResponse({ - 'success': True, - 'timestamp': now.isoformat(), - 'last_updated': now.strftime('%Y-%m-%d %H:%M:%S'), - 'red_alerts': { - 'has_alerts': len(red_alerts) > 0, - 'count': len(red_alerts), - 'items': red_alerts - }, - 'modules': { - 'complaints': { - 'total_active': complaints_qs.filter(status__in=['open', 'in_progress']).count(), - 'variance': complaints_variance, - 'variance_direction': 'up' if complaints_variance > 0 else 'down' if complaints_variance < 0 else 'neutral', - 'overdue': complaints_qs.filter(is_overdue=True, status__in=['open', 'in_progress']).count(), - 'critical': complaints_qs.filter(severity='critical', status__in=['open', 'in_progress']).count(), - 'by_severity': { - 'critical': complaints_qs.filter(severity='critical', status__in=['open', 'in_progress']).count(), - 'high': complaints_qs.filter(severity='high', status__in=['open', 'in_progress']).count(), - 'medium': complaints_qs.filter(severity='medium', status__in=['open', 'in_progress']).count(), - 'low': complaints_qs.filter(severity='low', status__in=['open', 'in_progress']).count(), - } + red_alerts.append({"type": "negative_surveys", "value": negative_surveys_24h}) + + return JsonResponse( + { + "success": True, + "timestamp": now.isoformat(), + "last_updated": now.strftime("%Y-%m-%d %H:%M:%S"), + "red_alerts": {"has_alerts": len(red_alerts) > 0, "count": len(red_alerts), "items": red_alerts}, + "modules": { + "complaints": { + "total_active": complaints_qs.filter(status__in=["open", "in_progress"]).count(), + "variance": complaints_variance, + "variance_direction": "up" + if complaints_variance > 0 + else "down" + if complaints_variance < 0 + else "neutral", + "overdue": complaints_qs.filter(is_overdue=True, status__in=["open", "in_progress"]).count(), + "critical": complaints_qs.filter(severity="critical", status__in=["open", "in_progress"]).count(), + "by_severity": { + "critical": complaints_qs.filter( + severity="critical", status__in=["open", "in_progress"] + ).count(), + "high": complaints_qs.filter(severity="high", status__in=["open", "in_progress"]).count(), + "medium": complaints_qs.filter(severity="medium", status__in=["open", "in_progress"]).count(), + "low": complaints_qs.filter(severity="low", status__in=["open", "in_progress"]).count(), + }, + }, + "surveys": { + "nps_score": nps_score, + "avg_satisfaction": round(avg_satisfaction, 1), + "response_rate": response_rate, + "total_completed": total_surveys_30d, + "negative_24h": surveys_qs.filter(is_negative=True, completed_at__gte=last_24h).count(), + }, + "actions": { + "open": actions_open, + "in_progress": actions_in_progress, + "pending_approval": actions_pending_approval, + "closed_30d": actions_closed_30d, + "overdue": actions_qs.filter(is_overdue=True, status__in=["open", "in_progress"]).count(), + "escalated": actions_qs.filter(escalation_level__gt=0, status__in=["open", "in_progress"]).count(), + }, + "inquiries": { + "open": inquiries_qs.filter(status="open").count(), + "in_progress": inquiries_qs.filter(status="in_progress").count(), + "total_active": inquiries_qs.filter(status__in=["open", "in_progress"]).count(), + "new_24h": inquiries_qs.filter(created_at__gte=last_24h).count(), + }, + "observations": { + "new": observations_qs.filter(status="new").count(), + "in_progress": observations_qs.filter(status="in_progress").count(), + "total_active": observations_qs.filter(status__in=["new", "in_progress"]).count(), + "critical": observations_qs.filter( + severity="critical", status__in=["new", "triaged", "assigned", "in_progress"] + ).count(), + }, }, - 'surveys': { - 'nps_score': nps_score, - 'avg_satisfaction': round(avg_satisfaction, 1), - 'response_rate': response_rate, - 'total_completed': total_surveys_30d, - 'negative_24h': surveys_qs.filter(is_negative=True, completed_at__gte=last_24h).count() - }, - 'actions': { - 'open': actions_open, - 'in_progress': actions_in_progress, - 'pending_approval': actions_pending_approval, - 'closed_30d': actions_closed_30d, - 'overdue': actions_qs.filter(is_overdue=True, status__in=['open', 'in_progress']).count(), - 'escalated': actions_qs.filter(escalation_level__gt=0, status__in=['open', 'in_progress']).count() - }, - 'inquiries': { - 'open': inquiries_qs.filter(status='open').count(), - 'in_progress': inquiries_qs.filter(status='in_progress').count(), - 'total_active': inquiries_qs.filter(status__in=['open', 'in_progress']).count(), - 'new_24h': inquiries_qs.filter(created_at__gte=last_24h).count() - }, - 'observations': { - 'new': observations_qs.filter(status='new').count(), - 'in_progress': observations_qs.filter(status='in_progress').count(), - 'total_active': observations_qs.filter(status__in=['new', 'in_progress']).count(), - 'critical': observations_qs.filter(severity='critical', status__in=['new', 'triaged', 'assigned', 'in_progress']).count() - } } - }) + ) @login_required def performance_analytics_api(request): """ API endpoint for various performance analytics. - + Access: PX Admin and Hospital Admin only """ from apps.analytics.services.analytics_service import UnifiedAnalyticsService - + # Only PX Admins and Hospital Admins can access if not (request.user.is_px_admin() or request.user.is_hospital_admin()): - return JsonResponse({'success': False, 'error': 'Permission denied'}, status=403) - + return JsonResponse({"success": False, "error": "Permission denied"}, status=403) + user = request.user - chart_type = request.GET.get('chart_type') - + chart_type = request.GET.get("chart_type") + try: - if chart_type == 'staff_trends': - staff_id = request.GET.get('staff_id') - months = int(request.GET.get('months', 6)) - - data = UnifiedAnalyticsService.get_staff_performance_trends( - staff_id=staff_id, - user=user, - months=months - ) - - elif chart_type == 'department_benchmarks': - department_id = request.GET.get('department_id') - date_range = request.GET.get('date_range', '30d') - + if chart_type == "staff_trends": + staff_id = request.GET.get("staff_id") + months = int(request.GET.get("months", 6)) + + data = UnifiedAnalyticsService.get_staff_performance_trends(staff_id=staff_id, user=user, months=months) + + elif chart_type == "department_benchmarks": + department_id = request.GET.get("department_id") + date_range = request.GET.get("date_range", "30d") + data = UnifiedAnalyticsService.get_department_benchmarks( - user=user, - department_id=department_id, - date_range=date_range + user=user, department_id=department_id, date_range=date_range ) - + else: - return JsonResponse({'error': f'Unknown chart type: {chart_type}'}, status=400) - - return JsonResponse({'success': True, 'data': data}) - + return JsonResponse({"error": f"Unknown chart type: {chart_type}"}, status=400) + + return JsonResponse({"success": True, "data": data}) + except Exception as e: - return JsonResponse({'success': False, 'error': str(e)}, status=500) + return JsonResponse({"success": False, "error": str(e)}, status=500) + + +@login_required +def employee_evaluation(request): + """ + Employee Evaluation Dashboard - PAD Department Weekly Dashboard. + + Shows comprehensive performance metrics for all staff members side-by-side. + Based on the employee_evaluation.md specification. + + Access: PX Admin and Hospital Admin only + """ + from django.core.exceptions import PermissionDenied + from apps.analytics.services.analytics_service import UnifiedAnalyticsService + from apps.accounts.models import User + from apps.organizations.models import Hospital, Department + + user = request.user + + # Only PX Admins and Hospital Admins can access + if not (user.is_px_admin() or user.is_hospital_admin()): + raise PermissionDenied("Only PX Admins and Hospital Admins can access the Employee Evaluation dashboard.") + + # Get date range filter - default to last 7 days (weekly) + date_range = request.GET.get("date_range", "7d") + custom_start = request.GET.get("custom_start") + custom_end = request.GET.get("custom_end") + + # Parse custom dates if provided + if custom_start: + from datetime import datetime + + custom_start = datetime.fromisoformat(custom_start) + if custom_end: + from datetime import datetime + + custom_end = datetime.fromisoformat(custom_end) + + # Get hospital and department filters + hospital_id = request.GET.get("hospital_id") + department_id = request.GET.get("department_id") + + # Get selected staff IDs for comparison + selected_staff_ids = request.GET.getlist("staff_ids") + + # Get available hospitals (for PX Admins) + if user.is_px_admin(): + hospitals = Hospital.objects.filter(status="active") + elif user.is_hospital_admin() and user.hospital: + hospitals = Hospital.objects.filter(id=user.hospital.id) + hospital_id = hospital_id or user.hospital.id # Default to user's hospital + else: + hospitals = Hospital.objects.none() + + # Get available departments based on hospital filter + if hospital_id: + departments = Department.objects.filter(hospital_id=hospital_id, status="active") + elif user.hospital: + departments = Department.objects.filter(hospital=user.hospital, status="active") + else: + departments = Department.objects.none() + + # Get employee evaluation metrics + evaluation_data = UnifiedAnalyticsService.get_employee_evaluation_metrics( + user=user, + date_range=date_range, + hospital_id=hospital_id, + department_id=department_id, + staff_ids=selected_staff_ids if selected_staff_ids else None, + custom_start=custom_start, + custom_end=custom_end, + ) + + # Get all staff for the dropdown + staff_queryset = User.objects.all() + + if user.is_px_admin() and hospital_id: + staff_queryset = staff_queryset.filter(hospital_id=hospital_id) + elif not user.is_px_admin() and user.hospital: + staff_queryset = staff_queryset.filter(hospital=user.hospital) + hospital_id = hospital_id or user.hospital.id + + if department_id: + staff_queryset = staff_queryset.filter(department_id=department_id) + + # Only staff with assigned complaints or inquiries + staff_queryset = ( + staff_queryset.filter(Q(assigned_complaints__isnull=False) | Q(assigned_inquiries__isnull=False)) + .distinct() + .select_related("hospital", "department") + ) + + context = { + "departments": departments, + "staff_list": staff_queryset, + "selected_hospital_id": hospital_id, + "selected_department_id": department_id, + "selected_staff_ids": selected_staff_ids, + "date_range": date_range, + "custom_start": custom_start, + "custom_end": custom_end, + "evaluation_data": evaluation_data, + } + + return render(request, "dashboard/employee_evaluation.html", context) + + +@login_required +def employee_evaluation_data(request): + """ + API endpoint to get employee evaluation data for charts and tables. + + Access: PX Admin and Hospital Admin only + """ + from apps.analytics.services.analytics_service import UnifiedAnalyticsService + + if request.method != "GET": + return JsonResponse({"success": False, "error": "GET required"}, status=405) + + user = request.user + + # Only PX Admins and Hospital Admins can access + if not (user.is_px_admin() or user.is_hospital_admin()): + return JsonResponse({"success": False, "error": "Permission denied"}, status=403) + + date_range = request.GET.get("date_range", "7d") + hospital_id = request.GET.get("hospital_id") + department_id = request.GET.get("department_id") + staff_ids = request.GET.getlist("staff_ids") + + # Parse custom dates if provided + custom_start = request.GET.get("custom_start") + custom_end = request.GET.get("custom_end") + if custom_start: + from datetime import datetime + + custom_start = datetime.fromisoformat(custom_start) + if custom_end: + from datetime import datetime + + custom_end = datetime.fromisoformat(custom_end) + + try: + # Get employee evaluation metrics + evaluation_data = UnifiedAnalyticsService.get_employee_evaluation_metrics( + user=user, + date_range=date_range, + hospital_id=hospital_id, + department_id=department_id, + staff_ids=staff_ids if staff_ids else None, + custom_start=custom_start, + custom_end=custom_end, + ) + + return JsonResponse({"success": True, "data": evaluation_data}) + + except Exception as e: + return JsonResponse({"success": False, "error": str(e)}, status=500) + return JsonResponse({"success": False, "error": str(e)}, status=500) + + +@login_required +def complaint_request_list(request): + """ + Step 0 — Complaint Request List view. + + Shows all complaint requests (filled, not filled, on hold) + with filters for month, staff, status. Includes export button. + """ + from django.core.exceptions import PermissionDenied + from apps.dashboard.models import ComplaintRequest + + user = request.user + if not (user.is_px_admin() or user.is_hospital_admin()): + raise PermissionDenied("Only PX Admins and Hospital Admins can access.") + + qs = ComplaintRequest.objects.select_related("staff", "hospital", "complained_department", "complaint") + + if user.is_hospital_admin() and user.hospital: + qs = qs.filter(hospital=user.hospital) + elif user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + month = request.GET.get("month") + year = request.GET.get("year") + staff_id = request.GET.get("staff_id") + status = request.GET.get("status") + + if year and month: + qs = qs.filter(request_date__year=int(year), request_date__month=int(month)) + elif year: + qs = qs.filter(request_date__year=int(year)) + + if staff_id: + qs = qs.filter(staff_id=staff_id) + + if status == "filled": + qs = qs.filter(filled=True) + elif status == "not_filled": + qs = qs.filter(not_filled=True) + elif status == "on_hold": + qs = qs.filter(on_hold=True) + elif status == "barcode": + qs = qs.filter(from_barcode=True) + + qs = qs.order_by("-request_date", "-created_at") + + paginator = Paginator(qs, 50) + page_number = request.GET.get("page", 1) + page_obj = paginator.get_page(page_number) + + from apps.accounts.models import User + + staff_members = ( + User.objects.filter(complaint_requests_sent__isnull=False).distinct().order_by("first_name", "last_name") + ) + + context = { + "page_obj": page_obj, + "staff_members": staff_members, + "selected_year": year, + "selected_month": month, + "selected_staff": staff_id, + "selected_status": status, + "years_range": range(2024, timezone.now().year + 1), + "months_range": range(1, 13), + } + + return render(request, "dashboard/complaint_request_list.html", context) + + +@login_required +def complaint_request_export(request): + """ + Step 0 — Export complaint requests to Excel. + """ + from django.core.exceptions import PermissionDenied + from apps.dashboard.models import ComplaintRequest + from apps.complaints.utils import export_requests_report + + user = request.user + if not (user.is_px_admin() or user.is_hospital_admin()): + raise PermissionDenied("Only PX Admins and Hospital Admins can export.") + + qs = ComplaintRequest.objects.select_related("staff", "hospital", "complained_department", "complaint") + + if user.is_hospital_admin() and user.hospital: + qs = qs.filter(hospital=user.hospital) + elif user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + year = request.GET.get("year") + month = request.GET.get("month") + + if year and month: + qs = qs.filter(request_date__year=int(year), request_date__month=int(month)) + elif year: + qs = qs.filter(request_date__year=int(year)) + + return export_requests_report( + qs, + year=int(year) if year else None, + month=int(month) if month else None, + ) diff --git a/apps/feedback/admin.py b/apps/feedback/admin.py index 2dc5998..93546ea 100644 --- a/apps/feedback/admin.py +++ b/apps/feedback/admin.py @@ -1,109 +1,195 @@ """ Feedback admin configuration """ + from django.contrib import admin -from .models import Feedback, FeedbackAttachment, FeedbackResponse +from .models import ( + Feedback, + FeedbackAttachment, + FeedbackResponse, + CommentImport, + PatientComment, + CommentActionPlan, +) @admin.register(Feedback) class FeedbackAdmin(admin.ModelAdmin): """Admin interface for Feedback model""" + list_display = [ - 'id', 'feedback_type', 'title', 'get_contact_name', 'hospital', - 'status', 'sentiment', 'rating', 'is_featured', 'created_at' + "id", + "feedback_type", + "title", + "get_contact_name", + "hospital", + "status", + "sentiment", + "rating", + "is_featured", + "created_at", ] list_filter = [ - 'feedback_type', 'status', 'sentiment', 'category', - 'priority', 'is_featured', 'is_deleted', 'created_at' + "feedback_type", + "status", + "sentiment", + "category", + "priority", + "is_featured", + "is_deleted", + "created_at", ] search_fields = [ - 'title', 'message', 'patient__first_name', 'patient__last_name', - 'patient__mrn', 'contact_name', 'contact_email' + "title", + "message", + "patient__first_name", + "patient__last_name", + "patient__mrn", + "contact_name", + "contact_email", ] readonly_fields = [ - 'id', 'created_at', 'updated_at', 'assigned_at', 'reviewed_at', - 'acknowledged_at', 'closed_at', 'deleted_at' + "id", + "created_at", + "updated_at", + "assigned_at", + "reviewed_at", + "acknowledged_at", + "closed_at", + "deleted_at", ] fieldsets = ( - ('Basic Information', { - 'fields': ( - 'id', 'feedback_type', 'title', 'message', 'category', - 'subcategory', 'rating', 'priority' - ) - }), - ('Patient/Contact', { - 'fields': ( - 'patient', 'is_anonymous', 'contact_name', 'contact_email', - 'contact_phone' - ) - }), - ('Organization', { - 'fields': ('hospital', 'department', 'physician', 'encounter_id') - }), - ('Status & Workflow', { - 'fields': ( - 'status', 'assigned_to', 'assigned_at', 'reviewed_by', - 'reviewed_at', 'acknowledged_by', 'acknowledged_at', - 'closed_by', 'closed_at' - ) - }), - ('Sentiment Analysis', { - 'fields': ('sentiment', 'sentiment_score') - }), - ('Flags', { - 'fields': ( - 'is_featured', 'is_public', 'requires_follow_up', - 'is_deleted', 'deleted_at', 'deleted_by' - ) - }), - ('Metadata', { - 'fields': ('source', 'metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ( + "Basic Information", + {"fields": ("id", "feedback_type", "title", "message", "category", "subcategory", "rating", "priority")}, + ), + ("Patient/Contact", {"fields": ("patient", "is_anonymous", "contact_name", "contact_email", "contact_phone")}), + ("Organization", {"fields": ("hospital", "department", "physician", "encounter_id")}), + ( + "Status & Workflow", + { + "fields": ( + "status", + "assigned_to", + "assigned_at", + "reviewed_by", + "reviewed_at", + "acknowledged_by", + "acknowledged_at", + "closed_by", + "closed_at", + ) + }, + ), + ("Sentiment Analysis", {"fields": ("sentiment", "sentiment_score")}), + ( + "Flags", + {"fields": ("is_featured", "is_public", "requires_follow_up", "is_deleted", "deleted_at", "deleted_by")}, + ), + ("Metadata", {"fields": ("source", "metadata", "created_at", "updated_at"), "classes": ("collapse",)}), ) - date_hierarchy = 'created_at' - ordering = ['-created_at'] + date_hierarchy = "created_at" + ordering = ["-created_at"] @admin.register(FeedbackAttachment) class FeedbackAttachmentAdmin(admin.ModelAdmin): """Admin interface for FeedbackAttachment model""" + + list_display = ["id", "feedback", "filename", "file_type", "file_size", "uploaded_by", "created_at"] + list_filter = ["file_type", "created_at"] + search_fields = ["filename", "feedback__title"] + readonly_fields = ["id", "created_at", "updated_at"] + date_hierarchy = "created_at" + ordering = ["-created_at"] + + +@admin.register(CommentImport) +class CommentImportAdmin(admin.ModelAdmin): + list_display = ["hospital", "year", "month", "status", "total_rows", "imported_count", "imported_by", "created_at"] + list_filter = ["status", "year", "month", "hospital"] + date_hierarchy = "created_at" + raw_id_fields = ["hospital", "imported_by"] + + +@admin.register(PatientComment) +class PatientCommentAdmin(admin.ModelAdmin): list_display = [ - 'id', 'feedback', 'filename', 'file_type', 'file_size', - 'uploaded_by', 'created_at' + "serial_number", + "hospital", + "source_category", + "classification", + "sub_category", + "sentiment", + "is_classified", + "year", + "month", ] - list_filter = ['file_type', 'created_at'] - search_fields = ['filename', 'feedback__title'] - readonly_fields = ['id', 'created_at', 'updated_at'] - date_hierarchy = 'created_at' - ordering = ['-created_at'] + list_filter = [ + "hospital", + "source_category", + "classification", + "sub_category", + "sentiment", + "is_classified", + "year", + "month", + ] + search_fields = ["comment_text", "comment_text_en", "negative_keywords", "positive_keywords"] + date_hierarchy = "created_at" + raw_id_fields = ["hospital", "comment_import"] + fieldsets = ( + (None, {"fields": ("hospital", "comment_import", "serial_number", "source_category", "year", "month")}), + ("Comment Text", {"fields": ("comment_text", "comment_text_en")}), + ("Classification (Step 1)", {"fields": ("classification", "sub_category", "is_classified", "sentiment")}), + ( + "Sentiment Keywords", + {"fields": ("negative_keywords", "positive_keywords", "gratitude_keywords", "suggestions")}, + ), + ("Doctor Reference", {"fields": ("mentioned_doctor_name", "mentioned_doctor_name_en", "frequency")}), + ("Metadata", {"fields": ("metadata",), "classes": ("collapse",)}), + ) + + +@admin.register(CommentActionPlan) +class CommentActionPlanAdmin(admin.ModelAdmin): + list_display = [ + "department_label", + "problem_number", + "status", + "frequency", + "timeframe", + "year", + "month", + ] + list_filter = ["status", "hospital", "department", "year", "month"] + search_fields = ["recommendation", "comment_text", "department_label", "responsible_department"] + date_hierarchy = "created_at" + raw_id_fields = ["hospital", "department", "comment"] + fieldsets = ( + (None, {"fields": ("hospital", "department", "department_label", "problem_number", "year", "month")}), + ("Source Comment", {"fields": ("comment", "comment_text", "comment_text_en", "frequency")}), + ("Action Plan", {"fields": ("recommendation", "recommendation_en", "responsible_department")}), + ("Tracking (Step 5)", {"fields": ("status", "timeframe", "evidences")}), + ) @admin.register(FeedbackResponse) class FeedbackResponseAdmin(admin.ModelAdmin): """Admin interface for FeedbackResponse model""" - list_display = [ - 'id', 'feedback', 'response_type', 'created_by', - 'is_internal', 'created_at' - ] - list_filter = ['response_type', 'is_internal', 'created_at'] - search_fields = ['message', 'feedback__title'] - readonly_fields = ['id', 'created_at', 'updated_at'] + + list_display = ["id", "feedback", "response_type", "created_by", "is_internal", "created_at"] + list_filter = ["response_type", "is_internal", "created_at"] + search_fields = ["message", "feedback__title"] + readonly_fields = ["id", "created_at", "updated_at"] fieldsets = ( - ('Response Information', { - 'fields': ( - 'id', 'feedback', 'response_type', 'message', - 'created_by', 'is_internal' - ) - }), - ('Status Change', { - 'fields': ('old_status', 'new_status') - }), - ('Metadata', { - 'fields': ('metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ( + "Response Information", + {"fields": ("id", "feedback", "response_type", "message", "created_by", "is_internal")}, + ), + ("Status Change", {"fields": ("old_status", "new_status")}), + ("Metadata", {"fields": ("metadata", "created_at", "updated_at"), "classes": ("collapse",)}), ) - date_hierarchy = 'created_at' - ordering = ['-created_at'] + date_hierarchy = "created_at" + ordering = ["-created_at"] diff --git a/apps/feedback/export_utils.py b/apps/feedback/export_utils.py new file mode 100644 index 0000000..286bd14 --- /dev/null +++ b/apps/feedback/export_utils.py @@ -0,0 +1,255 @@ +""" +Comments workflow export utilities. + +Generates Excel exports for Steps 1, 2, 3, and 5 of the comments workflow. +""" + +from collections import defaultdict + +from django.http import HttpResponse +from openpyxl import Workbook +from openpyxl.styles import Font, PatternFill, Alignment, Border, Side +from openpyxl.utils import get_column_letter + +from .models import ( + CommentClassification, + CommentSubCategory, + COMMENT_SUB_CATEGORY_MAP, +) + + +HEADER_FONT = Font(bold=True, color="FFFFFF", size=11) +HEADER_FILL = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid") +HEADER_ALIGNMENT = Alignment(horizontal="center", vertical="center", wrap_text=True) +SECTION_FONT = Font(bold=True, size=12) +SECTION_FILL = PatternFill(start_color="D9E2F3", end_color="D9E2F3", fill_type="solid") +SUBSECTION_FONT = Font(bold=True, size=11, italic=True) +THIN_BORDER = Border( + left=Side(style="thin"), + right=Side(style="thin"), + top=Side(style="thin"), + bottom=Side(style="thin"), +) + + +def _write_header(ws, row, headers): + for col_num, header in enumerate(headers, 1): + cell = ws.cell(row=row, column=col_num, value=header) + cell.font = HEADER_FONT + cell.fill = HEADER_FILL + cell.alignment = HEADER_ALIGNMENT + cell.border = THIN_BORDER + + +def _write_row(ws, row, values, border=True): + for col_num, val in enumerate(values, 1): + cell = ws.cell(row=row, column=col_num, value=val) + if border: + cell.border = THIN_BORDER + + +def export_classified_comments(queryset): + """ + Step 1 — Classification export. + + Exports all classified comments with their categories, + sub-categories, and sentiment keywords. + """ + wb = Workbook() + ws = wb.active + ws.title = "Classification" + + _write_header( + ws, + 1, + [ + "SN", + "Source Category", + "Comment", + "Classification", + "Sub-Category", + "Negative", + "Positive", + "Gratitude", + "Suggestions", + ], + ) + + row = 2 + for idx, c in enumerate(queryset, 1): + _write_row( + ws, + row, + [ + c.serial_number or idx, + c.get_source_category_display(), + c.comment_text, + c.get_classification_display(), + c.get_sub_category_display(), + c.negative_keywords, + c.positive_keywords, + c.gratitude_keywords, + c.suggestions, + ], + ) + row += 1 + + ws.column_dimensions["A"].width = 8 + ws.column_dimensions["B"].width = 15 + ws.column_dimensions["C"].width = 60 + ws.column_dimensions["D"].width = 18 + ws.column_dimensions["E"].width = 22 + for col_letter in ["F", "G", "H", "I"]: + ws.column_dimensions[col_letter].width = 30 + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = 'attachment; filename="comments_classification.xlsx"' + wb.save(response) + return response + + +def export_filtered_comments_by_dept(queryset): + """ + Step 2 — Filtering by department. + + Creates one sheet per department category/sub-category, + grouping comments with translations and negative summaries. + """ + wb = Workbook() + + dept_comments = defaultdict(list) + for c in queryset: + dept_key = f"{c.get_classification_display()} / {c.get_sub_category_display()}" + dept_comments[dept_key].append(c) + + first_sheet = True + for dept_key, comments in dept_comments.items(): + classification, _, sub_category = dept_key.partition(" / ") + + if first_sheet: + ws = wb.active + ws.title = dept_key[:31] + first_sheet = False + else: + ws = wb.create_sheet(title=dept_key[:31]) + + ws.cell(row=1, column=1, value=classification).font = SECTION_FONT + ws.cell(row=2, column=1, value=sub_category).font = SUBSECTION_FONT + + _write_header(ws, 4, ["#", "Comment (Arabic)", "Comment (English)", "Negative", "Sentiment"]) + row = 5 + for idx, c in enumerate(comments, 1): + _write_row( + ws, + row, + [ + idx, + c.comment_text, + c.comment_text_en, + c.negative_keywords, + c.get_sentiment_display(), + ], + ) + row += 1 + + ws.column_dimensions["A"].width = 6 + ws.column_dimensions["B"].width = 50 + ws.column_dimensions["C"].width = 50 + ws.column_dimensions["D"].width = 40 + ws.column_dimensions["E"].width = 12 + + if first_sheet: + ws = wb.active + ws.cell(row=1, column=1, value="No comments found for the selected filters.") + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = 'attachment; filename="comments_filtered_by_dept.xlsx"' + wb.save(response) + return response + + +def export_action_plans(queryset): + """ + Step 3/5 — Action plan export with tracking status. + + Groups action plans by department with problem numbers, + recommendations, responsible departments, and status. + """ + wb = Workbook() + ws = wb.active + ws.title = "Action Plans" + + _write_header( + ws, + 1, + [ + "Problem #", + "Comment", + "English Translation", + "Frequency", + "Recommendation / Action Plan", + "Responsible Department", + "Timeframe", + "Status", + "Evidences", + ], + ) + + dept_plans = defaultdict(list) + for plan in queryset: + dept_label = plan.department_label or (plan.department.name if plan.department else "Unassigned") + dept_plans[dept_label].append(plan) + + row = 2 + current_dept = None + for dept_label, plans in dept_plans.items(): + if dept_label != current_dept: + ws.cell(row=row, column=1, value=dept_label).font = SECTION_FONT + row += 1 + current_dept = dept_label + + for plan in plans: + _write_row( + ws, + row, + [ + plan.problem_number or "", + plan.comment_text, + plan.comment_text_en, + plan.frequency, + plan.recommendation, + plan.responsible_department or (plan.department.name if plan.department else ""), + plan.timeframe, + plan.get_status_display(), + plan.evidences, + ], + ) + row += 1 + + row += 2 + ws.cell(row=row, column=1, value="Summary").font = SECTION_FONT + row += 1 + _write_header(ws, row, ["Department", "Total Plans", "Completed", "On Process", "Pending"]) + row += 1 + + for dept_label, plans in dept_plans.items(): + completed = sum(1 for p in plans if p.status == "completed") + on_process = sum(1 for p in plans if p.status == "on_process") + pending = sum(1 for p in plans if p.status == "pending") + _write_row(ws, row, [dept_label, len(plans), completed, on_process, pending]) + row += 1 + + ws.column_dimensions["A"].width = 20 + ws.column_dimensions["B"].width = 50 + ws.column_dimensions["C"].width = 50 + ws.column_dimensions["D"].width = 10 + ws.column_dimensions["E"].width = 40 + ws.column_dimensions["F"].width = 25 + ws.column_dimensions["G"].width = 15 + ws.column_dimensions["H"].width = 12 + ws.column_dimensions["I"].width = 30 + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = 'attachment; filename="comments_action_plans.xlsx"' + wb.save(response) + return response diff --git a/apps/feedback/models.py b/apps/feedback/models.py index e7710d7..ca3383f 100644 --- a/apps/feedback/models.py +++ b/apps/feedback/models.py @@ -7,6 +7,7 @@ This module implements the feedback management system that: - Maintains feedback responses and timeline - Supports attachments and ratings """ + from django.conf import settings from django.db import models from django.utils import timezone @@ -16,40 +17,44 @@ from apps.core.models import PriorityChoices, TimeStampedModel, UUIDModel class FeedbackType(models.TextChoices): """Feedback type choices""" - COMPLIMENT = 'compliment', 'Compliment' - SUGGESTION = 'suggestion', 'Suggestion' - GENERAL = 'general', 'General Feedback' - INQUIRY = 'inquiry', 'Inquiry' - SATISFACTION_CHECK = 'satisfaction_check', 'Satisfaction Check' + + COMPLIMENT = "compliment", "Compliment" + SUGGESTION = "suggestion", "Suggestion" + GENERAL = "general", "General Feedback" + INQUIRY = "inquiry", "Inquiry" + SATISFACTION_CHECK = "satisfaction_check", "Satisfaction Check" class FeedbackStatus(models.TextChoices): """Feedback status choices""" - SUBMITTED = 'submitted', 'Submitted' - REVIEWED = 'reviewed', 'Reviewed' - ACKNOWLEDGED = 'acknowledged', 'Acknowledged' - CLOSED = 'closed', 'Closed' + + SUBMITTED = "submitted", "Submitted" + REVIEWED = "reviewed", "Reviewed" + ACKNOWLEDGED = "acknowledged", "Acknowledged" + CLOSED = "closed", "Closed" class FeedbackCategory(models.TextChoices): """Feedback category choices""" - CLINICAL_CARE = 'clinical_care', 'Clinical Care' - STAFF_SERVICE = 'staff_service', 'Staff Service' - FACILITY = 'facility', 'Facility & Environment' - COMMUNICATION = 'communication', 'Communication' - APPOINTMENT = 'appointment', 'Appointment & Scheduling' - BILLING = 'billing', 'Billing & Insurance' - FOOD_SERVICE = 'food_service', 'Food Service' - CLEANLINESS = 'cleanliness', 'Cleanliness' - TECHNOLOGY = 'technology', 'Technology & Systems' - OTHER = 'other', 'Other' + + CLINICAL_CARE = "clinical_care", "Clinical Care" + STAFF_SERVICE = "staff_service", "Staff Service" + FACILITY = "facility", "Facility & Environment" + COMMUNICATION = "communication", "Communication" + APPOINTMENT = "appointment", "Appointment & Scheduling" + BILLING = "billing", "Billing & Insurance" + FOOD_SERVICE = "food_service", "Food Service" + CLEANLINESS = "cleanliness", "Cleanliness" + TECHNOLOGY = "technology", "Technology & Systems" + OTHER = "other", "Other" class SentimentChoices(models.TextChoices): """Sentiment analysis choices""" - POSITIVE = 'positive', 'Positive' - NEUTRAL = 'neutral', 'Neutral' - NEGATIVE = 'negative', 'Negative' + + POSITIVE = "positive", "Positive" + NEUTRAL = "neutral", "Neutral" + NEGATIVE = "negative", "Negative" class Feedback(UUIDModel, TimeStampedModel): @@ -62,14 +67,15 @@ class Feedback(UUIDModel, TimeStampedModel): 3. ACKNOWLEDGED - Response provided 4. CLOSED - Feedback closed """ + # Patient and encounter information patient = models.ForeignKey( - 'organizations.Patient', + "organizations.Patient", on_delete=models.CASCADE, - related_name='feedbacks', + related_name="feedbacks", null=True, blank=True, - help_text="Patient who provided feedback (optional for anonymous feedback)" + help_text="Patient who provided feedback (optional for anonymous feedback)", ) # Anonymous feedback support @@ -79,76 +85,51 @@ class Feedback(UUIDModel, TimeStampedModel): contact_phone = models.CharField(max_length=20, blank=True) encounter_id = models.CharField( - max_length=100, - blank=True, - db_index=True, - help_text="Related encounter ID if applicable" + max_length=100, blank=True, db_index=True, help_text="Related encounter ID if applicable" ) # Survey linkage (for satisfaction checks after negative surveys) related_survey = models.ForeignKey( - 'surveys.SurveyInstance', + "surveys.SurveyInstance", on_delete=models.SET_NULL, null=True, blank=True, - related_name='follow_up_feedbacks', - help_text="Survey that triggered this satisfaction check feedback" + related_name="follow_up_feedbacks", + help_text="Survey that triggered this satisfaction check feedback", ) # Organization - hospital = models.ForeignKey( - 'organizations.Hospital', - on_delete=models.CASCADE, - related_name='feedbacks' - ) + hospital = models.ForeignKey("organizations.Hospital", on_delete=models.CASCADE, related_name="feedbacks") department = models.ForeignKey( - 'organizations.Department', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='feedbacks' + "organizations.Department", on_delete=models.SET_NULL, null=True, blank=True, related_name="feedbacks" ) staff = models.ForeignKey( - 'organizations.Staff', + "organizations.Staff", on_delete=models.SET_NULL, null=True, blank=True, - related_name='feedbacks', - help_text="Staff member being mentioned in feedback" + related_name="feedbacks", + help_text="Staff member being mentioned in feedback", ) # Feedback details feedback_type = models.CharField( - max_length=20, - choices=FeedbackType.choices, - default=FeedbackType.GENERAL, - db_index=True + max_length=20, choices=FeedbackType.choices, default=FeedbackType.GENERAL, db_index=True ) title = models.CharField(max_length=500) message = models.TextField(help_text="Feedback message") # Classification - category = models.CharField( - max_length=50, - choices=FeedbackCategory.choices, - db_index=True - ) + category = models.CharField(max_length=50, choices=FeedbackCategory.choices, db_index=True) subcategory = models.CharField(max_length=100, blank=True) # Rating (1-5 stars) - rating = models.IntegerField( - null=True, - blank=True, - help_text="Rating from 1 to 5 stars" - ) + rating = models.IntegerField(null=True, blank=True, help_text="Rating from 1 to 5 stars") # Priority priority = models.CharField( - max_length=20, - choices=PriorityChoices.choices, - default=PriorityChoices.MEDIUM, - db_index=True + max_length=20, choices=PriorityChoices.choices, default=PriorityChoices.MEDIUM, db_index=True ) # Sentiment analysis @@ -157,83 +138,56 @@ class Feedback(UUIDModel, TimeStampedModel): choices=SentimentChoices.choices, default=SentimentChoices.NEUTRAL, db_index=True, - help_text="Sentiment analysis result" + help_text="Sentiment analysis result", ) sentiment_score = models.FloatField( - null=True, - blank=True, - help_text="Sentiment score from -1 (negative) to 1 (positive)" + null=True, blank=True, help_text="Sentiment score from -1 (negative) to 1 (positive)" ) # Status and workflow status = models.CharField( - max_length=20, - choices=FeedbackStatus.choices, - default=FeedbackStatus.SUBMITTED, - db_index=True + max_length=20, choices=FeedbackStatus.choices, default=FeedbackStatus.SUBMITTED, db_index=True ) # Assignment assigned_to = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='assigned_feedbacks' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="assigned_feedbacks" ) assigned_at = models.DateTimeField(null=True, blank=True) # Review tracking reviewed_at = models.DateTimeField(null=True, blank=True) reviewed_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='reviewed_feedbacks' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="reviewed_feedbacks" ) # Acknowledgment acknowledged_at = models.DateTimeField(null=True, blank=True) acknowledged_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='acknowledged_feedbacks' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="acknowledged_feedbacks" ) # Closure closed_at = models.DateTimeField(null=True, blank=True) closed_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='closed_feedbacks' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="closed_feedbacks" ) # Flags - is_featured = models.BooleanField( - default=False, - help_text="Feature this feedback (e.g., for testimonials)" - ) - is_public = models.BooleanField( - default=False, - help_text="Make this feedback public" - ) + is_featured = models.BooleanField(default=False, help_text="Feature this feedback (e.g., for testimonials)") + is_public = models.BooleanField(default=False, help_text="Make this feedback public") requires_follow_up = models.BooleanField(default=False) - + # Source source = models.ForeignKey( - 'px_sources.PXSource', + "px_sources.PXSource", on_delete=models.PROTECT, - related_name='feedbacks', + related_name="feedbacks", null=True, blank=True, - help_text="Source of feedback" + help_text="Source of feedback", ) - + # Metadata metadata = models.JSONField(default=dict, blank=True) @@ -241,23 +195,19 @@ class Feedback(UUIDModel, TimeStampedModel): is_deleted = models.BooleanField(default=False, db_index=True) deleted_at = models.DateTimeField(null=True, blank=True) deleted_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='deleted_feedbacks' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="deleted_feedbacks" ) class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] indexes = [ - models.Index(fields=['status', '-created_at']), - models.Index(fields=['hospital', 'status', '-created_at']), - models.Index(fields=['feedback_type', '-created_at']), - models.Index(fields=['sentiment', '-created_at']), - models.Index(fields=['is_deleted', '-created_at']), + models.Index(fields=["status", "-created_at"]), + models.Index(fields=["hospital", "status", "-created_at"]), + models.Index(fields=["feedback_type", "-created_at"]), + models.Index(fields=["sentiment", "-created_at"]), + models.Index(fields=["is_deleted", "-created_at"]), ] - verbose_name_plural = 'Feedback' + verbose_name_plural = "Feedback" def __str__(self): if self.patient: @@ -275,34 +225,27 @@ class Feedback(UUIDModel, TimeStampedModel): self.is_deleted = True self.deleted_at = timezone.now() self.deleted_by = user - self.save(update_fields=['is_deleted', 'deleted_at', 'deleted_by']) + self.save(update_fields=["is_deleted", "deleted_at", "deleted_by"]) class FeedbackAttachment(UUIDModel, TimeStampedModel): """Feedback attachment (images, documents, etc.)""" - feedback = models.ForeignKey( - Feedback, - on_delete=models.CASCADE, - related_name='attachments' - ) - file = models.FileField(upload_to='feedback/%Y/%m/%d/') + feedback = models.ForeignKey(Feedback, on_delete=models.CASCADE, related_name="attachments") + + file = models.FileField(upload_to="feedback/%Y/%m/%d/") filename = models.CharField(max_length=500) file_type = models.CharField(max_length=100, blank=True) file_size = models.IntegerField(help_text="File size in bytes") uploaded_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='feedback_attachments' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="feedback_attachments" ) description = models.TextField(blank=True) class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] def __str__(self): return f"{self.feedback} - {self.filename}" @@ -314,33 +257,27 @@ class FeedbackResponse(UUIDModel, TimeStampedModel): Tracks all responses, status changes, and communications. """ - feedback = models.ForeignKey( - Feedback, - on_delete=models.CASCADE, - related_name='responses' - ) + + feedback = models.ForeignKey(Feedback, on_delete=models.CASCADE, related_name="responses") # Response details response_type = models.CharField( max_length=50, choices=[ - ('status_change', 'Status Change'), - ('assignment', 'Assignment'), - ('note', 'Internal Note'), - ('response', 'Response to Patient'), - ('acknowledgment', 'Acknowledgment'), + ("status_change", "Status Change"), + ("assignment", "Assignment"), + ("note", "Internal Note"), + ("response", "Response to Patient"), + ("acknowledgment", "Acknowledgment"), ], - db_index=True + db_index=True, ) message = models.TextField() # User who made the response created_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - related_name='feedback_responses' + "accounts.User", on_delete=models.SET_NULL, null=True, related_name="feedback_responses" ) # Status change tracking @@ -348,19 +285,360 @@ class FeedbackResponse(UUIDModel, TimeStampedModel): new_status = models.CharField(max_length=20, blank=True) # Visibility - is_internal = models.BooleanField( - default=False, - help_text="Internal note (not visible to patient)" - ) + is_internal = models.BooleanField(default=False, help_text="Internal note (not visible to patient)") # Metadata metadata = models.JSONField(default=dict, blank=True) class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] indexes = [ - models.Index(fields=['feedback', '-created_at']), + models.Index(fields=["feedback", "-created_at"]), ] def __str__(self): return f"{self.feedback} - {self.response_type} - {self.created_at.strftime('%Y-%m-%d %H:%M')}" + + +class CommentSourceCategory(models.TextChoices): + """Source category from IT department data export (Step 0)""" + + APPOINTMENT = "appointment", "Appointment" + INPATIENT = "inpatient", "Inpatient" + OUTPATIENT = "outpatient", "Outpatient" + + +class CommentClassification(models.TextChoices): + """Comment classification categories (Step 1 — Colors sheet)""" + + HOSPITAL = "hospital", "Hospital" + MEDICAL = "medical", "Medical" + NON_MEDICAL = "non_medical", "Non-Medical" + NURSING = "nursing", "Nursing" + ER = "er", "ER" + SUPPORT_SERVICES = "support_services", "Support Services" + + +class CommentSubCategory(models.TextChoices): + """Comment sub-categories (Step 1 — Colors sheet dropdown)""" + + PHARMACY = "pharmacy", "Pharmacy" + RAD = "rad", "RAD" + LAB = "lab", "LAB" + PHYSIOTHERAPY = "physiotherapy", "Physiotherapy" + DOCTORS = "doctors", "Doctors" + MEDICAL_REPORTS = "medical_reports", "Medical Reports" + RECEPTION = "reception", "Reception" + INSURANCE_APPROVALS = "insurance_approvals", "Insurance/Approvals" + OPD_CLINICS = "opd_clinics", "OPD - Clinics" + APPOINTMENTS = "appointments", "Appointments" + IT_APP = "it_app", "IT - App" + ADMINISTRATION = "administration", "Administration" + BILLING = "billing", "Billing" + FACILITIES = "facilities", "Facilities" + FOOD_SERVICES = "food_services", "Food Services" + PARKING = "parking", "Parking" + HOUSEKEEPING = "housekeeping", "Housekeeping" + OTHER = "other", "Other" + + +COMMENT_SUB_CATEGORY_MAP = { + CommentClassification.MEDICAL: [ + CommentSubCategory.PHARMACY, + CommentSubCategory.RAD, + CommentSubCategory.LAB, + CommentSubCategory.PHYSIOTHERAPY, + CommentSubCategory.DOCTORS, + CommentSubCategory.MEDICAL_REPORTS, + ], + CommentClassification.NON_MEDICAL: [ + CommentSubCategory.RECEPTION, + CommentSubCategory.INSURANCE_APPROVALS, + CommentSubCategory.OPD_CLINICS, + CommentSubCategory.APPOINTMENTS, + CommentSubCategory.IT_APP, + CommentSubCategory.ADMINISTRATION, + CommentSubCategory.BILLING, + ], + CommentClassification.NURSING: [], + CommentClassification.ER: [ + CommentSubCategory.DOCTORS, + CommentSubCategory.RECEPTION, + ], + CommentClassification.SUPPORT_SERVICES: [ + CommentSubCategory.FACILITIES, + CommentSubCategory.FOOD_SERVICES, + CommentSubCategory.PARKING, + CommentSubCategory.HOUSEKEEPING, + ], + CommentClassification.HOSPITAL: [], +} + + +class CommentImport(UUIDModel, TimeStampedModel): + """ + Tracks IT department comment data imports (Step 0). + + Each import represents a monthly batch of raw patient comments + exported from the IT system. + """ + + IMPORT_STATUS_CHOICES = [ + ("pending", "Pending"), + ("processing", "Processing"), + ("completed", "Completed"), + ("failed", "Failed"), + ] + + hospital = models.ForeignKey( + "organizations.Hospital", + on_delete=models.CASCADE, + related_name="comment_imports", + ) + + month = models.IntegerField(help_text="Month number (1-12)") + year = models.IntegerField(help_text="Year") + + source_file = models.FileField( + upload_to="comments/imports/%Y/%m/", + blank=True, + help_text="Uploaded source file from IT department", + ) + + status = models.CharField(max_length=20, choices=IMPORT_STATUS_CHOICES, default="pending") + + total_rows = models.IntegerField(default=0, help_text="Total rows in the import file") + imported_count = models.IntegerField(default=0, help_text="Number of comments successfully imported") + error_count = models.IntegerField(default=0) + error_log = models.TextField(blank=True) + + imported_by = models.ForeignKey( + "accounts.User", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="comment_imports", + ) + + class Meta: + ordering = ["-year", "-month"] + unique_together = [["hospital", "year", "month"]] + verbose_name = "Comment Import" + verbose_name_plural = "Comment Imports" + + def __str__(self): + return f"{self.hospital} - {self.year}-{self.month:02d} ({self.imported_count} comments)" + + +class PatientComment(UUIDModel, TimeStampedModel): + """ + Patient comment from IT department data export. + + Workflow (Steps 0-5): + - Step 0: Raw import from IT (source_category, comment_text) + - Step 1: Classification (classification, sub_category, sentiment keywords) + - Step 2: Department filtering (grouped by department for review) + - Step 3: Action plan creation (linked action plans) + - Step 5: Action plan tracking (status, timeframe, evidence) + + One comment can have multiple classifications (multi-category). + Use PatientCommentClassification for multi-category support. + """ + + comment_import = models.ForeignKey( + CommentImport, + on_delete=models.CASCADE, + related_name="comments", + null=True, + blank=True, + help_text="Import batch this comment came from", + ) + + hospital = models.ForeignKey( + "organizations.Hospital", + on_delete=models.CASCADE, + related_name="patient_comments", + ) + + serial_number = models.IntegerField(null=True, blank=True, help_text="Serial number from the source file") + + source_category = models.CharField( + max_length=20, + choices=CommentSourceCategory.choices, + blank=True, + db_index=True, + help_text="Source category from IT export (Appointment/Inpatient/Outpatient)", + ) + + comment_text = models.TextField(help_text="Original comment text (Arabic/English)") + + comment_text_en = models.TextField(blank=True, help_text="English translation of the comment") + + classification = models.CharField( + max_length=20, + choices=CommentClassification.choices, + blank=True, + db_index=True, + help_text="Primary classification (Hospital/Medical/Non-Medical/Nursing/ER/Support)", + ) + + sub_category = models.CharField( + max_length=30, + choices=CommentSubCategory.choices, + blank=True, + db_index=True, + help_text="Sub-category classification (e.g., Pharmacy, Reception, etc.)", + ) + + negative_keywords = models.TextField(blank=True, help_text="Negative sentiment keywords/phrases extracted") + + positive_keywords = models.TextField(blank=True, help_text="Positive sentiment keywords/phrases extracted") + + gratitude_keywords = models.TextField(blank=True, help_text="Gratitude keywords/phrases extracted") + + suggestions = models.TextField(blank=True, help_text="Suggestion text extracted from the comment") + + sentiment = models.CharField( + max_length=20, + choices=SentimentChoices.choices, + blank=True, + db_index=True, + help_text="Overall sentiment classification", + ) + + is_classified = models.BooleanField( + default=False, + db_index=True, + help_text="Whether this comment has been classified", + ) + + mentioned_doctor_name = models.CharField( + max_length=200, + blank=True, + help_text="Name of doctor mentioned in the comment", + ) + + mentioned_doctor_name_en = models.CharField( + max_length=200, + blank=True, + help_text="English name of mentioned doctor", + ) + + frequency = models.IntegerField( + default=1, + help_text="How many times this comment/problem has been reported", + ) + + month = models.IntegerField(null=True, blank=True, help_text="Month the comment was collected") + + year = models.IntegerField(null=True, blank=True, help_text="Year the comment was collected") + + metadata = models.JSONField(default=dict, blank=True) + + class Meta: + ordering = ["-year", "-month", "-serial_number"] + indexes = [ + models.Index(fields=["hospital", "classification", "sub_category"]), + models.Index(fields=["hospital", "year", "month"]), + models.Index(fields=["hospital", "source_category"]), + models.Index(fields=["sentiment"]), + ] + verbose_name = "Patient Comment" + verbose_name_plural = "Patient Comments" + + def __str__(self): + text = self.comment_text[:50] if self.comment_text else "No text" + return f"#{self.serial_number or '—'} {text}" + + +class CommentActionPlanStatus(models.TextChoices): + COMPLETED = "completed", "Completed" + ON_PROCESS = "on_process", "On Process" + PENDING = "pending", "Pending" + + +class CommentActionPlan(UUIDModel, TimeStampedModel): + """ + Action plan derived from classified patient comments (Step 3/5). + + Tracks recommendations/action plans with responsible departments, + timeframes, and completion status. + """ + + comment = models.ForeignKey( + PatientComment, + on_delete=models.CASCADE, + related_name="action_plans", + null=True, + blank=True, + help_text="Source comment (may be null if aggregated from multiple)", + ) + + hospital = models.ForeignKey( + "organizations.Hospital", + on_delete=models.CASCADE, + related_name="comment_action_plans", + ) + + department = models.ForeignKey( + "organizations.Department", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="comment_action_plans", + help_text="Responsible department", + ) + + department_label = models.CharField( + max_length=200, + blank=True, + help_text="Free-text department name (for when no FK exists)", + ) + + problem_number = models.IntegerField(null=True, blank=True, help_text="Problem number within the department") + + comment_text = models.TextField(blank=True, help_text="Related comment text") + comment_text_en = models.TextField(blank=True, help_text="English translation of the comment") + + frequency = models.IntegerField(default=1, help_text="Number of times this problem was reported") + + recommendation = models.TextField(help_text="Recommendation / Action Plan") + + recommendation_en = models.TextField(blank=True, help_text="English translation of the recommendation") + + responsible_department = models.CharField( + max_length=200, + blank=True, + help_text="Free-text responsible department name", + ) + + status = models.CharField( + max_length=20, + choices=CommentActionPlanStatus.choices, + default=CommentActionPlanStatus.PENDING, + db_index=True, + ) + + timeframe = models.CharField( + max_length=100, + blank=True, + help_text="Target timeframe (e.g., Q3, 3 months, 2025-Q1)", + ) + + evidences = models.TextField(blank=True, help_text="Evidence of completion / notes") + + month = models.IntegerField(null=True, blank=True) + year = models.IntegerField(null=True, blank=True) + + class Meta: + ordering = ["department_label", "problem_number"] + indexes = [ + models.Index(fields=["hospital", "status"]), + models.Index(fields=["hospital", "year", "month"]), + ] + verbose_name = "Comment Action Plan" + verbose_name_plural = "Comment Action Plans" + + def __str__(self): + dept = self.department_label or (self.department.name if self.department else "—") + return f"{dept} - Problem #{self.problem_number or '—'} ({self.get_status_display()})" diff --git a/apps/feedback/urls.py b/apps/feedback/urls.py index 7f2b766..9652c60 100644 --- a/apps/feedback/urls.py +++ b/apps/feedback/urls.py @@ -1,28 +1,33 @@ """ Feedback URL Configuration """ + from django.urls import path from . import views -app_name = 'feedback' +app_name = "feedback" urlpatterns = [ # List and detail views - path('', views.feedback_list, name='feedback_list'), - path('/', views.feedback_detail, name='feedback_detail'), - + path("", views.feedback_list, name="feedback_list"), + path("/", views.feedback_detail, name="feedback_detail"), # CRUD operations - path('create/', views.feedback_create, name='feedback_create'), - path('/update/', views.feedback_update, name='feedback_update'), - path('/delete/', views.feedback_delete, name='feedback_delete'), - + path("create/", views.feedback_create, name="feedback_create"), + path("/update/", views.feedback_update, name="feedback_update"), + path("/delete/", views.feedback_delete, name="feedback_delete"), # Workflow actions - path('/assign/', views.feedback_assign, name='feedback_assign'), - path('/change-status/', views.feedback_change_status, name='feedback_change_status'), - path('/add-response/', views.feedback_add_response, name='feedback_add_response'), - + path("/assign/", views.feedback_assign, name="feedback_assign"), + path("/change-status/", views.feedback_change_status, name="feedback_change_status"), + path("/add-response/", views.feedback_add_response, name="feedback_add_response"), # Toggle actions - path('/toggle-featured/', views.feedback_toggle_featured, name='feedback_toggle_featured'), - path('/toggle-follow-up/', views.feedback_toggle_follow_up, name='feedback_toggle_follow_up'), + path("/toggle-featured/", views.feedback_toggle_featured, name="feedback_toggle_featured"), + path("/toggle-follow-up/", views.feedback_toggle_follow_up, name="feedback_toggle_follow_up"), + # Comments Workflow + path("comments/imports/", views.comment_import_list, name="comment_import_list"), + path("comments/", views.comment_list, name="comment_list"), + path("comments/action-plans/", views.action_plan_list, name="action_plan_list"), + path("comments/export/classification/", views.export_comments_step1, name="export_comments_step1"), + path("comments/export/filtered/", views.export_comments_step2, name="export_comments_step2"), + path("comments/export/action-plans/", views.export_action_plans, name="export_action_plans"), ] diff --git a/apps/feedback/views.py b/apps/feedback/views.py index 8ebeac3..2be5b87 100644 --- a/apps/feedback/views.py +++ b/apps/feedback/views.py @@ -391,7 +391,212 @@ def feedback_delete(request, pk): except Exception as e: messages.error(request, f"Error deleting feedback: {str(e)}") - return redirect("feedback:feedback_detail", pk=pk) + return redirect("feedback:feedback_detail", pk=pk) + + +@login_required +def comment_import_list(request): + """ + Step 0 — Comment Imports list view. + """ + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import CommentImport + + qs = CommentImport.objects.select_related("hospital", "imported_by") + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + qs = qs.order_by("-year", "-month") + return render(request, "feedback/comment_import_list.html", {"imports": qs}) + + +@login_required +def comment_list(request): + """ + Step 1 — Classified Patient Comments list view with filters. + """ + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import PatientComment + + qs = PatientComment.objects.select_related("hospital") + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + classification = request.GET.get("classification") + sub_category = request.GET.get("sub_category") + sentiment = request.GET.get("sentiment") + year = request.GET.get("year") + month = request.GET.get("month") + source_category = request.GET.get("source_category") + + if classification: + qs = qs.filter(classification=classification) + if sub_category: + qs = qs.filter(sub_category=sub_category) + if sentiment: + qs = qs.filter(sentiment=sentiment) + if year: + qs = qs.filter(year=int(year)) + if month: + qs = qs.filter(month=int(month)) + if source_category: + qs = qs.filter(source_category=source_category) + + if not request.GET.get("classified_only"): + qs = qs.filter(is_classified=True) + + qs = qs.order_by("-year", "-month", "-serial_number") + + from django.core.paginator import Paginator + + paginator = Paginator(qs, 50) + page = request.GET.get("page", 1) + page_obj = paginator.get_page(page) + + from .models import CommentClassification, CommentSubCategory, CommentSourceCategory, SentimentChoices + + context = { + "page_obj": page_obj, + "classifications": CommentClassification.choices, + "sub_categories": CommentSubCategory.choices, + "sentiments": SentimentChoices.choices, + "source_categories": CommentSourceCategory.choices, + "years_range": range(2024, timezone.now().year + 1), + "months_range": range(1, 13), + "selected_classification": classification, + "selected_sub_category": sub_category, + "selected_sentiment": sentiment, + "selected_year": year, + "selected_month": month, + "selected_source_category": source_category, + } + return render(request, "feedback/comment_list.html", context) + + +@login_required +def action_plan_list(request): + """ + Step 5 — Comment Action Plan tracking view. + """ + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import CommentActionPlan + + qs = CommentActionPlan.objects.select_related("hospital", "department") + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + status_filter = request.GET.get("status") + year = request.GET.get("year") + + if status_filter: + qs = qs.filter(status=status_filter) + if year: + qs = qs.filter(year=int(year)) + + qs = qs.order_by("department_label", "problem_number") + + context = { + "action_plans": qs, + "selected_status": status_filter, + "selected_year": year, + "years_range": range(2024, timezone.now().year + 1), + } + return render(request, "feedback/action_plan_list.html", context) + + +@login_required +def export_comments_step1(request): + """ + Step 1 — Export classified comments to Excel. + """ + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import PatientComment + from .export_utils import export_classified_comments + + qs = PatientComment.objects.filter(is_classified=True).select_related("hospital") + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + year = request.GET.get("year") + month = request.GET.get("month") + if year: + qs = qs.filter(year=int(year)) + if month: + qs = qs.filter(month=int(month)) + + return export_classified_comments(qs) + + +@login_required +def export_comments_step2(request): + """ + Step 2 — Export filtered comments by department to Excel. + """ + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import PatientComment + from .export_utils import export_filtered_comments_by_dept + + qs = PatientComment.objects.filter(is_classified=True).select_related("hospital") + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + year = request.GET.get("year") + if year: + qs = qs.filter(year=int(year)) + + return export_filtered_comments_by_dept(qs) + + +@login_required +def export_action_plans(request): + """ + Step 3/5 — Export action plans to Excel. + """ + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import CommentActionPlan + from .export_utils import export_action_plans + + qs = CommentActionPlan.objects.select_related("hospital", "department") + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(hospital=request.tenant_hospital) + + return export_action_plans(qs) context = { "feedback": feedback, diff --git a/apps/integrations/admin.py b/apps/integrations/admin.py index db67c32..36f0809 100644 --- a/apps/integrations/admin.py +++ b/apps/integrations/admin.py @@ -1,67 +1,58 @@ """ Integrations admin """ -from django.contrib import admin -from django.utils.html import format_html -from .models import EventMapping, InboundEvent, IntegrationConfig, SurveyTemplateMapping +from django.contrib import admin +from django.utils.html import format_html, mark_safe + +from .models import ( + EventMapping, + HISEventType, + HISTestPatient, + HISTestVisit, + HISPatientVisit, + HISVisitEvent, + InboundEvent, + IntegrationConfig, + SurveyTemplateMapping, +) @admin.register(InboundEvent) class InboundEventAdmin(admin.ModelAdmin): """Inbound event admin""" - list_display = [ - 'source_system', 'event_code', 'encounter_id', - 'status_badge', 'processing_attempts', 'received_at' - ] - list_filter = ['status', 'source_system', 'received_at'] - search_fields = ['encounter_id', 'patient_identifier', 'event_code'] - ordering = ['-received_at'] - date_hierarchy = 'received_at' - + + list_display = ["source_system", "event_code", "encounter_id", "status_badge", "processing_attempts", "received_at"] + list_filter = ["status", "source_system", "received_at"] + search_fields = ["encounter_id", "patient_identifier", "event_code"] + ordering = ["-received_at"] + date_hierarchy = "received_at" + fieldsets = ( - ('Event Information', { - 'fields': ('source_system', 'event_code', 'encounter_id', 'patient_identifier') - }), - ('Payload', { - 'fields': ('payload_json',), - 'classes': ('collapse',) - }), - ('Processing Status', { - 'fields': ('status', 'processing_attempts', 'error') - }), - ('Extracted Context', { - 'fields': ('physician_license', 'department_code'), - 'classes': ('collapse',) - }), - ('Timestamps', { - 'fields': ('received_at', 'processed_at', 'created_at', 'updated_at') - }), - ('Metadata', { - 'fields': ('metadata',), - 'classes': ('collapse',) - }), + ("Event Information", {"fields": ("source_system", "event_code", "encounter_id", "patient_identifier")}), + ("Payload", {"fields": ("payload_json",), "classes": ("collapse",)}), + ("Processing Status", {"fields": ("status", "processing_attempts", "error")}), + ("Extracted Context", {"fields": ("physician_license", "department_code"), "classes": ("collapse",)}), + ("Timestamps", {"fields": ("received_at", "processed_at", "created_at", "updated_at")}), + ("Metadata", {"fields": ("metadata",), "classes": ("collapse",)}), ) - - readonly_fields = ['received_at', 'processed_at', 'created_at', 'updated_at'] - + + readonly_fields = ["received_at", "processed_at", "created_at", "updated_at"] + def status_badge(self, obj): """Display status with color badge""" colors = { - 'pending': 'warning', - 'processing': 'info', - 'processed': 'success', - 'failed': 'danger', - 'ignored': 'secondary', + "pending": "warning", + "processing": "info", + "processed": "success", + "failed": "danger", + "ignored": "secondary", } - color = colors.get(obj.status, 'secondary') - return format_html( - '{}', - color, - obj.get_status_display() - ) - status_badge.short_description = 'Status' - + color = colors.get(obj.status, "secondary") + return format_html('{}', color, obj.get_status_display()) + + status_badge.short_description = "Status" + def has_add_permission(self, request): # Events should only be created via API return False @@ -69,98 +60,203 @@ class InboundEventAdmin(admin.ModelAdmin): class EventMappingInline(admin.TabularInline): """Inline admin for event mappings""" + model = EventMapping extra = 1 - fields = ['external_event_code', 'internal_event_code', 'is_active'] + fields = ["external_event_code", "internal_event_code", "is_active"] @admin.register(IntegrationConfig) class IntegrationConfigAdmin(admin.ModelAdmin): """Integration configuration admin""" - list_display = ['name', 'source_system', 'is_active', 'last_sync_at', 'created_at'] - list_filter = ['source_system', 'is_active'] - search_fields = ['name', 'description'] - ordering = ['name'] + + list_display = ["name", "source_system", "is_active", "last_sync_at", "created_at"] + list_filter = ["source_system", "is_active"] + search_fields = ["name", "description"] + ordering = ["name"] inlines = [EventMappingInline] - + fieldsets = ( - (None, { - 'fields': ('name', 'source_system', 'description') - }), - ('Connection', { - 'fields': ('api_url', 'api_key'), - 'classes': ('collapse',) - }), - ('Configuration', { - 'fields': ('is_active', 'config_json'), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('last_sync_at', 'created_at', 'updated_at') - }), + (None, {"fields": ("name", "source_system", "description")}), + ("Connection", {"fields": ("api_url", "api_key"), "classes": ("collapse",)}), + ("Configuration", {"fields": ("is_active", "config_json"), "classes": ("collapse",)}), + ("Metadata", {"fields": ("last_sync_at", "created_at", "updated_at")}), ) - - readonly_fields = ['last_sync_at', 'created_at', 'updated_at'] + + readonly_fields = ["last_sync_at", "created_at", "updated_at"] @admin.register(SurveyTemplateMapping) class SurveyTemplateMappingAdmin(admin.ModelAdmin): """Survey template mapping admin""" - list_display = [ - 'hospital', 'patient_type', 'survey_template', 'is_active' - ] - list_filter = ['hospital', 'patient_type', 'is_active'] - search_fields = ['hospital__name', 'survey_template__name'] - ordering = ['hospital', 'patient_type'] - + + list_display = ["hospital", "patient_type", "survey_template", "is_active"] + list_filter = ["hospital", "patient_type", "is_active"] + search_fields = ["hospital__name", "survey_template__name"] + ordering = ["hospital", "patient_type"] + fieldsets = ( - ('Mapping Configuration', { - 'fields': ('hospital', 'patient_type', 'survey_template') - }), - ('Settings', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + ("Mapping Configuration", {"fields": ("hospital", "patient_type", "survey_template")}), + ("Settings", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital', 'survey_template') + return qs.select_related("hospital", "survey_template") + + +class HISVisitEventInline(admin.TabularInline): + model = HISVisitEvent + extra = 0 + fields = ["event_type", "bill_date", "parsed_date", "visit_category"] + readonly_fields = ["event_type", "bill_date", "parsed_date", "visit_category"] + show_change_link = False + + +@admin.register(HISPatientVisit) +class HISPatientVisitAdmin(admin.ModelAdmin): + """HIS patient visit admin""" + + list_display = [ + "patient", + "patient_type", + "admission_id", + "hospital", + "is_visit_complete", + "survey_linked", + "discharge_date", + "last_his_fetch_at", + ] + list_filter = ["patient_type", "is_visit_complete", "hospital"] + search_fields = ["admission_id", "reg_code", "patient_id_his", "patient__first_name", "patient__last_name"] + ordering = ["-last_his_fetch_at"] + date_hierarchy = "last_his_fetch_at" + inlines = [HISVisitEventInline] + + fieldsets = ( + ( + "Patient & Hospital", + {"fields": ("patient", "hospital", "admission_id", "reg_code", "patient_id_his", "patient_type")}, + ), + ("Visit Dates", {"fields": ("admit_date", "discharge_date", "effective_discharge_date")}), + ("Status", {"fields": ("is_visit_complete", "survey_instance", "last_his_fetch_at")}), + ("HIS Data", {"fields": ("visit_data", "visit_timeline"), "classes": ("collapse",)}), + ("Doctor & Consultant", {"fields": ("primary_doctor", "consultant_id", "primary_doctor_fk", "consultant_fk")}), + ("Insurance & Billing", {"fields": ("company_name", "grade_name", "insurance_company_name", "bill_type")}), + ("VIP & Nationality", {"fields": ("is_vip", "nationality")}), + ("Timestamps", {"fields": ("created_at", "updated_at")}), + ) + + readonly_fields = ["created_at", "updated_at"] + + def survey_linked(self, obj): + if obj.survey_instance: + return format_html( + '{}', obj.survey_instance.id, obj.survey_instance.id + ) + return mark_safe('None') + + survey_linked.short_description = "Survey" + + def has_add_permission(self, request): + return False + + +@admin.register(HISVisitEvent) +class HISVisitEventAdmin(admin.ModelAdmin): + """HIS visit event admin""" + + list_display = ["visit", "event_type", "bill_date", "parsed_date", "visit_category", "admission_id"] + list_filter = ["visit_category", "patient_type"] + search_fields = ["admission_id", "patient_id", "event_type"] + ordering = ["-parsed_date"] + date_hierarchy = "parsed_date" + + fieldsets = ( + ("Visit", {"fields": ("visit",)}), + ("Event Details", {"fields": ("event_type", "bill_date", "parsed_date", "visit_category")}), + ( + "Patient Info", + {"fields": ("patient_type", "admission_id", "patient_id", "reg_code", "ssn", "mobile_no")}, + ), + ("Timestamps", {"fields": ("created_at", "updated_at")}), + ) + + readonly_fields = ["created_at", "updated_at"] + + def has_add_permission(self, request): + return False + + +@admin.register(HISEventType) +class HISEventTypeAdmin(admin.ModelAdmin): + """HIS event type admin - auto-populated from HIS data""" + + list_display = ["event_type", "patient_types_display", "event_count", "last_seen_at"] + search_fields = ["event_type"] + ordering = ["event_type"] + list_filter = ["last_seen_at"] + + readonly_fields = ["event_type", "patient_types", "event_count", "last_seen_at", "created_at", "updated_at"] + + def has_add_permission(self, request): + return False + + def patient_types_display(self, obj): + if not obj.patient_types: + return mark_safe('None') + return ", ".join(obj.patient_types) + + patient_types_display.short_description = "Patient Types" @admin.register(EventMapping) class EventMappingAdmin(admin.ModelAdmin): """Event mapping admin""" - list_display = [ - 'integration_config', 'external_event_code', - 'internal_event_code', 'is_active' - ] - list_filter = ['integration_config', 'is_active'] - search_fields = ['external_event_code', 'internal_event_code'] - ordering = ['integration_config', 'external_event_code'] - + + list_display = ["integration_config", "external_event_code", "internal_event_code", "is_active"] + list_filter = ["integration_config", "is_active"] + search_fields = ["external_event_code", "internal_event_code"] + ordering = ["integration_config", "external_event_code"] + fieldsets = ( - (None, { - 'fields': ('integration_config', 'external_event_code', 'internal_event_code') - }), - ('Field Mappings', { - 'fields': ('field_mappings',), - 'classes': ('collapse',) - }), - ('Configuration', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("integration_config", "external_event_code", "internal_event_code")}), + ("Field Mappings", {"fields": ("field_mappings",), "classes": ("collapse",)}), + ("Configuration", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('integration_config') + return qs.select_related("integration_config") + + +@admin.register(HISTestPatient) +class HISTestPatientAdmin(admin.ModelAdmin): + list_display = ["admission_id", "patient_name", "patient_type", "hospital_name", "admit_date", "discharge_date"] + list_filter = ["patient_type", "hospital_name"] + search_fields = ["admission_id", "patient_id", "ssn", "mobile_no", "patient_name"] + ordering = ["-admit_date"] + date_hierarchy = "admit_date" + readonly_fields = ["created_at", "updated_at"] + + def has_add_permission(self, request): + return False + + +@admin.register(HISTestVisit) +class HISTestVisitAdmin(admin.ModelAdmin): + list_display = ["admission_id", "visit_category", "event_type", "bill_date"] + list_filter = ["visit_category", "event_type"] + search_fields = ["admission_id", "patient_id"] + ordering = ["-bill_date"] + date_hierarchy = "bill_date" + readonly_fields = ["created_at", "updated_at"] + + def has_add_permission(self, request): + return False diff --git a/apps/integrations/management/commands/fetch_his_surveys.py b/apps/integrations/management/commands/fetch_his_surveys.py index b6547c2..6d8285c 100644 --- a/apps/integrations/management/commands/fetch_his_surveys.py +++ b/apps/integrations/management/commands/fetch_his_surveys.py @@ -1,14 +1,28 @@ """ -Management command to manually fetch surveys from HIS system. +Management command to manually fetch patient data from HIS system. Usage: - python manage.py fetch_his_surveys [--minutes N] [--limit N] [--test] + python manage.py fetch_his_surveys [--minutes N] [--from-date DATE] [--to-date DATE] [--test] Options: - --minutes N Fetch patients discharged in the last N minutes (default: 10) - --limit N Maximum number of patients to fetch (default: 100) - --test Test connection only, don't fetch surveys + --minutes N Fetch patients from the last N minutes (default: 10) + --from-date DATE Fetch patients from this date (DD-Mon-YYYY HH:MM:SS) + --to-date DATE Fetch patients until this date (DD-Mon-YYYY HH:MM:SS) + --test Test connection only, don't fetch data + --config NAME Configuration name to use (optional) + +Examples: + # Relative: last 10 minutes + python manage.py fetch_his_surveys --minutes 10 + + # Absolute: simulate a date range (for testing against test endpoint) + python manage.py fetch_his_surveys --config "HIS Test" \ + --from-date "01-Jan-2026 00:00:00" --to-date "01-Jan-2026 02:00:00" + + # Test connection + python manage.py fetch_his_surveys --config "HIS Test" --test """ + from django.core.management.base import BaseCommand from django.utils import timezone @@ -17,166 +31,159 @@ from apps.integrations.services.his_adapter import HISAdapter class Command(BaseCommand): - help = 'Fetch surveys from HIS system' + help = "Fetch patient data from HIS system" def add_arguments(self, parser): parser.add_argument( - '--minutes', + "--minutes", type=int, default=10, - help='Fetch patients discharged in the last N minutes (default: 10)' + help="Fetch patients from the last N minutes (default: 10)", ) parser.add_argument( - '--limit', - type=int, - default=100, - help='Maximum number of patients to fetch (default: 100)' - ) - parser.add_argument( - '--test', - action='store_true', - help='Test connection only, don\'t fetch surveys' - ) - parser.add_argument( - '--config', + "--from-date", type=str, - help='Configuration name to use (optional)' + default=None, + help="Fetch patients from this date (DD-Mon-YYYY HH:MM:SS)", + ) + parser.add_argument( + "--to-date", + type=str, + default=None, + help="Fetch patients until this date (DD-Mon-YYYY HH:MM:SS)", + ) + parser.add_argument( + "--test", + action="store_true", + help="Test connection only, don't fetch data", + ) + parser.add_argument( + "--config", + type=str, + help="Configuration name to use (optional)", ) def handle(self, *args, **options): - minutes = options['minutes'] - limit = options['limit'] - test_only = options['test'] - config_name = options.get('config') + minutes = options["minutes"] + from_date_str = options.get("from_date") + to_date_str = options.get("to_date") + test_only = options["test"] + config_name = options.get("config") + + self.stdout.write(self.style.MIGRATE_HEADING("=" * 70)) + self.stdout.write(self.style.MIGRATE_HEADING("HIS Patient Data Fetch")) + self.stdout.write(self.style.MIGRATE_HEADING("=" * 70)) + + if from_date_str and to_date_str: + self.stdout.write(f"Mode: custom date range") + self.stdout.write(f" From: {from_date_str}") + self.stdout.write(f" To: {to_date_str}") + else: + self.stdout.write(f"Mode: relative (last {minutes} minutes)") - self.stdout.write(self.style.MIGRATE_HEADING('=' * 70)) - self.stdout.write(self.style.MIGRATE_HEADING('HIS Survey Fetch')) - self.stdout.write(self.style.MIGRATE_HEADING('=' * 70)) - - # Get clients if config_name: - from apps.integrations.models import IntegrationConfig, SourceSystem - config = IntegrationConfig.objects.filter( - name=config_name, - source_system=SourceSystem.HIS - ).first() + from apps.integrations.models import IntegrationConfig + + config = IntegrationConfig.objects.filter(name=config_name).first() if not config: - self.stdout.write( - self.style.ERROR(f'Configuration "{config_name}" not found') - ) + self.stdout.write(self.style.ERROR(f'Configuration "{config_name}" not found')) return clients = [HISClient(config)] else: clients = HISClientFactory.get_all_active_clients() - + if not clients: - self.stdout.write( - self.style.ERROR('No active HIS configurations found') - ) + self.stdout.write(self.style.ERROR("No active HIS configurations found")) return - - self.stdout.write(f'Found {len(clients)} HIS configuration(s)') - + + self.stdout.write(f"Found {len(clients)} HIS configuration(s)") + total_patients = 0 + total_visits_saved = 0 total_surveys_created = 0 - total_surveys_sent = 0 - + for client in clients: - config_display = client.config.name if client.config else 'Default' - self.stdout.write(self.style.MIGRATE_HEADING(f'\n📡 Configuration: {config_display}')) - - # Test connection - self.stdout.write('Testing connection...', ending=' ') + config_display = client.config.name if client.config else "Default" + self.stdout.write(self.style.MIGRATE_HEADING(f"\nConfiguration: {config_display}")) + + self.stdout.write("Testing connection...", ending=" ") test_result = client.test_connection() - - if test_result['success']: - self.stdout.write(self.style.SUCCESS('✓ Connected')) + + if test_result["success"]: + self.stdout.write(self.style.SUCCESS("Connected")) else: - self.stdout.write( - self.style.ERROR(f'✗ Failed: {test_result["message"]}') - ) + self.stdout.write(self.style.ERROR(f"Failed: {test_result['message']}")) continue - + if test_only: continue - - # Calculate fetch window + from datetime import timedelta - fetch_since = timezone.now() - timedelta(minutes=minutes) - - self.stdout.write( - f'Fetching discharged patients since {fetch_since.strftime("%Y-%m-%d %H:%M:%S")}...' - ) - - # Fetch patients - patients = client.fetch_discharged_patients(since=fetch_since, limit=limit) - - if not patients: - self.stdout.write(self.style.WARNING('No patients found')) + from apps.integrations.tasks import _parse_his_date + + if from_date_str and to_date_str: + fetch_since = _parse_his_date(from_date_str) + fetch_until = _parse_his_date(to_date_str) + if not fetch_since or not fetch_until: + self.stdout.write(self.style.ERROR("Invalid date format. Use DD-Mon-YYYY HH:MM:SS")) + return + time_display = f"{fetch_since.strftime('%Y-%m-%d %H:%M')} to {fetch_until.strftime('%Y-%m-%d %H:%M')}" + else: + fetch_since = timezone.now() - timedelta(minutes=minutes) + fetch_until = None + time_display = f"{fetch_since.strftime('%Y-%m-%d %H:%M:%S')}" + + self.stdout.write(f"Fetching patient data: {time_display}") + + his_data = client.fetch_patient_data(since=fetch_since, until=fetch_until) + + if not his_data: + self.stdout.write(self.style.WARNING("No data returned from HIS")) continue - - self.stdout.write(f'Found {len(patients)} patient(s)') - - # Process each patient - for i, patient_data in enumerate(patients, 1): - self.stdout.write(f'\n Processing patient {i}/{len(patients)}...') - - try: - # Ensure proper format - if isinstance(patient_data, dict): - if 'FetchPatientDataTimeStampList' not in patient_data: - patient_data = { - 'FetchPatientDataTimeStampList': [patient_data], - 'FetchPatientDataTimeStampVisitDataList': [], - 'Code': 200, - 'Status': 'Success' - } - - # Process - result = HISAdapter.process_his_data(patient_data) - - if result['success']: - total_surveys_created += 1 - - patient_name = "Unknown" - if result.get('patient'): - patient_name = f"{result['patient'].first_name} {result['patient'].last_name}".strip() - - if result.get('survey_sent'): - total_surveys_sent += 1 - self.stdout.write( - f' {self.style.SUCCESS("✓")} Survey sent to {patient_name}' - ) - else: - self.stdout.write( - f' {self.style.WARNING("⚠")} Survey created but not sent to {patient_name}' - ) - else: - self.stdout.write( - f' {self.style.ERROR("✗")} {result.get("message", "Unknown error")}' - ) - - except Exception as e: - self.stdout.write( - f' {self.style.ERROR("✗")} Error: {str(e)}' - ) - - total_patients += len(patients) - - # Update last sync + + patient_list = his_data.get("FetchPatientDataTimeStampList", []) + + if not patient_list: + self.stdout.write(self.style.WARNING("No patients found")) + continue + + self.stdout.write(f"Found {len(patient_list)} patient(s)") + + process_result = HISAdapter.process_his_response(his_data) + + total_patients += len(patient_list) + total_visits_saved += process_result.get("visits_saved", 0) + total_surveys_created += process_result.get("surveys_created", 0) + + for detail in process_result.get("details", []): + name = detail.get("patient_name", "Unknown") + ptype = detail.get("patient_type", "") + adm_id = detail.get("admission_id", "") + + if detail.get("survey_created"): + self.stdout.write(f" {self.style.SUCCESS('+')} {name} ({ptype}) adm={adm_id} - survey created") + elif detail.get("error"): + self.stdout.write(f" {self.style.ERROR('x')} {name} ({ptype}) adm={adm_id} - {detail['error']}") + else: + reason = detail.get("reason", "Visit in progress") + self.stdout.write(f" - {name} ({ptype}) adm={adm_id} - {reason}") + + if process_result.get("errors"): + for err in process_result["errors"]: + self.stdout.write(self.style.WARNING(f" Error: {err}")) + if client.config: client.config.last_sync_at = timezone.now() - client.config.save(update_fields=['last_sync_at']) - - # Summary - self.stdout.write(self.style.MIGRATE_HEADING('\n' + '=' * 70)) - self.stdout.write(self.style.MIGRATE_HEADING('Summary')) - self.stdout.write(self.style.MIGRATE_HEADING('=' * 70)) - self.stdout.write(f'Total patients fetched: {total_patients}') - self.stdout.write(f'Total surveys created: {total_surveys_created}') - self.stdout.write(f'Total surveys sent: {total_surveys_sent}') - + client.config.save(update_fields=["last_sync_at"]) + + self.stdout.write(self.style.MIGRATE_HEADING("\n" + "=" * 70)) + self.stdout.write(self.style.MIGRATE_HEADING("Summary")) + self.stdout.write(self.style.MIGRATE_HEADING("=" * 70)) + self.stdout.write(f"Total patients fetched: {total_patients}") + self.stdout.write(f"Visits saved/updated: {total_visits_saved}") + self.stdout.write(f"Surveys created: {total_surveys_created}") + if test_only: - self.stdout.write(self.style.SUCCESS('\nConnection test completed successfully!')) + self.stdout.write(self.style.SUCCESS("\nConnection test completed successfully!")) else: - self.stdout.write(self.style.SUCCESS('\nFetch completed!')) + self.stdout.write(self.style.SUCCESS("\nFetch completed!")) diff --git a/apps/integrations/management/commands/load_his_test_data.py b/apps/integrations/management/commands/load_his_test_data.py new file mode 100644 index 0000000..aadda22 --- /dev/null +++ b/apps/integrations/management/commands/load_his_test_data.py @@ -0,0 +1,193 @@ +""" +Management command to load visit_data.json into HISTestPatient and HISTestVisit tables. + +Usage: + python manage.py load_his_test_data [--clear] [--file path/to/visit_data.json] + +Options: + --clear Clear existing test data before loading + --file Path to JSON file (default: visit_data.json in project root) +""" + +import json +from datetime import datetime +from pathlib import Path + +from django.core.management.base import BaseCommand +from django.utils import timezone + + +class Command(BaseCommand): + help = "Load visit_data.json into test tables for HIS integration testing" + + def add_arguments(self, parser): + parser.add_argument( + "--clear", + action="store_true", + help="Clear existing test data before loading", + ) + parser.add_argument( + "--file", + type=str, + default="visit_data.json", + help="Path to JSON file (default: visit_data.json in project root)", + ) + + def _parse_date(self, date_str): + if not date_str: + return None + try: + naive = datetime.strptime(date_str, "%d-%b-%Y %H:%M") + return timezone.make_aware(naive) + except ValueError: + return None + + def handle(self, *args, **options): + clear = options["clear"] + file_path = options["file"] + + json_path = Path(file_path) + if not json_path.is_absolute(): + json_path = Path.cwd() / json_path + + if not json_path.exists(): + self.stderr.write(self.style.ERROR(f"File not found: {json_path}")) + return + + self.stdout.write(self.style.MIGRATE_HEADING("=" * 60)) + self.stdout.write(self.style.MIGRATE_HEADING("Load HIS Test Data")) + self.stdout.write(self.style.MIGRATE_HEADING("=" * 60)) + + self.stdout.write(f"Reading {json_path}...") + with open(json_path, "r") as f: + data = json.load(f) + + patient_list = data.get("FetchPatientDataTimeStampList", []) + ed_visits = data.get("FetchPatientDataTimeStampVisitEDDataList", []) + ip_visits = data.get("FetchPatientDataTimeStampVisitIPDataList", []) + op_visits = data.get("FetchPatientDataTimeStampVisitOPDataList", []) + + self.stdout.write(f" Patients: {len(patient_list)}") + self.stdout.write(f" ED visits: {len(ed_visits)}") + self.stdout.write(f" IP visits: {len(ip_visits)}") + self.stdout.write(f" OP visits: {len(op_visits)}") + + if clear: + from apps.integrations.models import HISTestPatient, HISTestVisit + + pv, _ = HISTestPatient.objects.all().delete() + vv, _ = HISTestVisit.objects.all().delete() + self.stdout.write(f"Cleared {pv} patients, {vv} visits") + + self._load_patients(patient_list) + self._load_visits(ed_visits, "ED") + self._load_visits(ip_visits, "IP") + self._load_visits(op_visits, "OP") + + self._ensure_test_config() + + from apps.integrations.models import HISTestPatient, HISTestVisit + + self.stdout.write(self.style.MIGRATE_HEADING("\nSummary")) + self.stdout.write(f" Patients in DB: {HISTestPatient.objects.count()}") + self.stdout.write(f" Visits in DB: {HISTestVisit.objects.count()}") + self.stdout.write(self.style.SUCCESS("\nDone!")) + + def _ensure_test_config(self): + from apps.integrations.models import IntegrationConfig, SourceSystem + + name = "HIS Test" + config, created = IntegrationConfig.objects.get_or_create( + name=name, + source_system=SourceSystem.HIS, + defaults={ + "api_url": "http://127.0.0.1:8000/api/integrations/test-his-data/", + "is_active": False, + "description": "Local test endpoint for HIS integration testing. Enable before using fetch_his_surveys.", + }, + ) + if created: + self.stdout.write(self.style.SUCCESS(f"\nCreated IntegrationConfig '{name}' (disabled by default)")) + else: + self.stdout.write(f"\nIntegrationConfig '{name}' already exists") + + self.stdout.write( + self.style.WARNING( + f"\nTo use: enable '{name}' config, then:\n" + f' python manage.py fetch_his_surveys --config "{name}" ' + f'--from-date "01-Jan-2026 00:00:00" --to-date "01-Jan-2026 02:00:00"' + ) + ) + + def _load_patients(self, patient_list): + from apps.integrations.models import HISTestPatient + + self.stdout.write(f"\nLoading {len(patient_list)} patients...") + batch = [] + skipped = 0 + existing_ids = set(HISTestPatient.objects.values_list("admission_id", flat=True)) + + for p in patient_list: + admission_id = p.get("AdmissionID", "") + if not admission_id or admission_id in existing_ids: + skipped += 1 + continue + + batch.append( + HISTestPatient( + admission_id=admission_id, + patient_id=str(p.get("PatientID", "")), + patient_type=p.get("PatientType", ""), + reg_code=p.get("RegCode", ""), + ssn=p.get("SSN", ""), + mobile_no=p.get("MobileNo", ""), + admit_date=self._parse_date(p.get("AdmitDate")), + discharge_date=self._parse_date(p.get("DischargeDate")), + patient_data=p, + hospital_id=str(p.get("HospitalID", "")), + hospital_name=p.get("HospitalName", ""), + patient_name=p.get("PatientName", ""), + ) + ) + + if len(batch) >= 1000: + HISTestPatient.objects.bulk_create(batch, batch_size=1000) + self.stdout.write(f" ...saved {len(batch)} patients") + batch = [] + + if batch: + HISTestPatient.objects.bulk_create(batch, batch_size=1000) + self.stdout.write(f" ...saved {len(batch)} patients") + + if skipped: + self.stdout.write(f" Skipped {skipped} duplicate admission_ids") + + def _load_visits(self, visit_list, category): + from apps.integrations.models import HISTestVisit + + self.stdout.write(f"\nLoading {len(visit_list)} {category} visits...") + batch = [] + + for v in visit_list: + batch.append( + HISTestVisit( + admission_id=str(v.get("AdmissionID", "")), + patient_id=str(v.get("PatientID", "")), + visit_category=category, + event_type=v.get("Type", ""), + bill_date=self._parse_date(v.get("BillDate")), + reg_code=v.get("RegCode", ""), + ssn=v.get("SSN", ""), + mobile_no=v.get("MobileNo", ""), + visit_data=v, + ) + ) + + if len(batch) >= 2000: + HISTestVisit.objects.bulk_create(batch, batch_size=2000) + self.stdout.write(f" ...saved {len(batch)} {category} visits") + batch = [] + + if batch: + HISTestVisit.objects.bulk_create(batch, batch_size=2000) + self.stdout.write(f" ...saved {len(batch)} {category} visits") diff --git a/apps/integrations/management/commands/seed_his_today_data.py b/apps/integrations/management/commands/seed_his_today_data.py new file mode 100644 index 0000000..bf737ed --- /dev/null +++ b/apps/integrations/management/commands/seed_his_today_data.py @@ -0,0 +1,211 @@ +""" +Seed today's test data for HIS integration cron testing. + +Creates ~20 patients with recent timestamps so the 5-minute +fetch_his_surveys cron will pick them up. + +Usage: + python manage.py seed_his_today_data [--clear] +""" + +import copy +import random +import string + +from django.core.management.base import BaseCommand +from django.utils import timezone + + +SEED_PREFIX = "SEED" + + +ED_EVENTS = [ + ("Consultation", 0), + ("Doctor assignment", 5), + ("Drug Prescription", 10), + ("End Of the Episode", 15), +] + +IP_EVENTS = [ + ("IP Admissions", 0), + ("Bed Allocation", 2), + ("Fit for discharge", 60), + ("Discharge date", 65), + ("Discharge followUp", 63), + ("IP Bill", 67), +] + +OP_EVENTS = [ + ("Consultation", 0), + ("Doctor Visited", 3), + ("Rad Prescription", 8), + ("Radiology Bill", 10), + ("Radiology Token", 10), + ("Radiology Patient Arrived", 15), + ("Radiology Examination completed", 20), +] + +PATIENT_SCENARIOS = [ + {"type": "ED", "discharged": True, "admit_min_ago": 90, "discharge_min_ago": 75}, + {"type": "ED", "discharged": True, "admit_min_ago": 60, "discharge_min_ago": 45}, + {"type": "ED", "discharged": True, "admit_min_ago": 30, "discharge_min_ago": 15}, + {"type": "ED", "discharged": True, "admit_min_ago": 15, "discharge_min_ago": 10}, + {"type": "ED", "discharged": False, "admit_min_ago": 20, "discharge_min_ago": None}, + {"type": "ED", "discharged": False, "admit_min_ago": 8, "discharge_min_ago": None}, + {"type": "IP", "discharged": True, "admit_min_ago": 120, "discharge_min_ago": 60}, + {"type": "IP", "discharged": True, "admit_min_ago": 90, "discharge_min_ago": 30}, + {"type": "IP", "discharged": True, "admit_min_ago": 60, "discharge_min_ago": 10}, + {"type": "IP", "discharged": True, "admit_min_ago": 45, "discharge_min_ago": 5}, + {"type": "IP", "discharged": False, "admit_min_ago": 90, "discharge_min_ago": None}, + {"type": "IP", "discharged": False, "admit_min_ago": 30, "discharge_min_ago": None}, + {"type": "OP", "discharged": True, "admit_min_ago": 200, "discharge_min_ago": None, "last_event_min_ago": 180}, + {"type": "OP", "discharged": True, "admit_min_ago": 150, "discharge_min_ago": None, "last_event_min_ago": 120}, + {"type": "OP", "discharged": True, "admit_min_ago": 120, "discharge_min_ago": None, "last_event_min_ago": 90}, + {"type": "OP", "discharged": False, "admit_min_ago": 30, "discharge_min_ago": None, "last_event_min_ago": 10}, + {"type": "OP", "discharged": False, "admit_min_ago": 15, "discharge_min_ago": None, "last_event_min_ago": 5}, + {"type": "OP", "discharged": False, "admit_min_ago": 8, "discharge_min_ago": None, "last_event_min_ago": 3}, +] + + +def _generate_admission_id(index): + suffix = "".join(random.choices(string.digits, k=6)) + return f"{SEED_PREFIX}-{index}-{suffix}" + + +def _format_his_date(dt): + return dt.strftime("%d-%b-%Y %H:%M") + + +class Command(BaseCommand): + help = "Seed today's test data for HIS cron testing" + + def add_arguments(self, parser): + parser.add_argument("--clear", action="store_true", help="Remove previously seeded data") + + def handle(self, *args, **options): + from apps.integrations.models import HISTestPatient, HISTestVisit + + if options["clear"]: + deleted_p, _ = HISTestPatient.objects.filter(admission_id__startswith=SEED_PREFIX).delete() + deleted_v, _ = HISTestVisit.objects.filter(admission_id__startswith=SEED_PREFIX).delete() + self.stdout.write(f"Cleared {deleted_p} patients, {deleted_v} visits") + return + + self.stdout.write(self.style.MIGRATE_HEADING("=" * 60)) + self.stdout.write(self.style.MIGRATE_HEADING("Seed Today's HIS Test Data")) + self.stdout.write(self.style.MIGRATE_HEADING("=" * 60)) + + now = timezone.now() + + existing = list(HISTestPatient.objects.exclude(admission_id__startswith=SEED_PREFIX).order_by("?")[:18]) + + if len(existing) < 18: + self.stderr.write(self.style.ERROR("Not enough source patients. Run load_his_test_data first.")) + return + + self.stdout.write(f"Source patients available: {len(existing)}") + + patients_batch = [] + visits_batch = [] + summary = {"ED": 0, "IP": 0, "OP": 0} + + for i, scenario in enumerate(PATIENT_SCENARIOS): + source = existing[i % len(existing)] + pt_type = scenario["type"] + summary[pt_type] = summary.get(pt_type, 0) + 1 + + admit_date = now - timezone.timedelta(minutes=scenario["admit_min_ago"]) + admission_id = _generate_admission_id(i) + + patient_data = copy.deepcopy(source.patient_data) + patient_data["AdmissionID"] = admission_id + patient_data["AdmitDate"] = _format_his_date(admit_date) + patient_data["PatientType"] = pt_type + patient_data["PatientTypeID"] = {"ED": "3", "IP": "2", "OP": "1"}[pt_type] + + if scenario["discharged"] and scenario.get("discharge_min_ago"): + discharge_date = now - timezone.timedelta(minutes=scenario["discharge_min_ago"]) + patient_data["DischargeDate"] = _format_his_date(discharge_date) + else: + discharge_date = None + patient_data["DischargeDate"] = None + + patients_batch.append( + HISTestPatient( + admission_id=admission_id, + patient_id=source.patient_id, + patient_type=pt_type, + reg_code=source.reg_code, + ssn=source.ssn, + mobile_no=source.mobile_no, + admit_date=admit_date, + discharge_date=discharge_date, + patient_data=patient_data, + hospital_id=source.hospital_id, + hospital_name=source.hospital_name, + patient_name=source.patient_name, + ) + ) + + visit_category = {"ED": "ED", "IP": "IP", "OP": "OP"}[pt_type] + patient_type_visit = {"ED": "ER", "IP": "IP", "OP": "OP"}[pt_type] + events = {"ED": ED_EVENTS, "IP": IP_EVENTS, "OP": OP_EVENTS}[pt_type] + + last_event_min_ago = scenario.get("last_event_min_ago") + if last_event_min_ago is None: + if scenario["discharged"] and scenario.get("discharge_min_ago"): + last_event_min_ago = scenario["discharge_min_ago"] + else: + last_event_min_ago = max(scenario["admit_min_ago"] - 5, 1) + + for j, (event_name, offset_min) in enumerate(events): + if not scenario["discharged"] and event_name in ( + "Fit for discharge", + "Discharge date", + "Discharge followUp", + "IP Bill", + "End Of the Episode", + ): + continue + + if pt_type == "OP" and not scenario["discharged"] and j == len(events) - 1: + event_date = now - timezone.timedelta(minutes=last_event_min_ago) + else: + event_date = admit_date + timezone.timedelta(minutes=offset_min) + + visit_data = { + "PatientType": patient_type_visit, + "Type": event_name, + "BillDate": _format_his_date(event_date), + "AdmissionID": admission_id, + "PatientID": source.patient_id, + "RegCode": source.reg_code, + "SSN": source.ssn, + "MobileNo": source.mobile_no, + } + + visits_batch.append( + HISTestVisit( + admission_id=admission_id, + patient_id=source.patient_id, + visit_category=visit_category, + event_type=event_name, + bill_date=event_date, + reg_code=source.reg_code, + ssn=source.ssn, + mobile_no=source.mobile_no, + visit_data=visit_data, + ) + ) + + HISTestPatient.objects.bulk_create(patients_batch, batch_size=1000) + self.stdout.write(f"Created {len(patients_batch)} patients") + + HISTestVisit.objects.bulk_create(visits_batch, batch_size=2000) + self.stdout.write(f"Created {len(visits_batch)} visits") + + self.stdout.write(self.style.MIGRATE_HEADING("\nSummary")) + self.stdout.write(f" ED: {summary['ED']} (4 discharged, 2 active)") + self.stdout.write(f" IP: {summary['IP']} (4 discharged, 2 active)") + self.stdout.write(f" OP: {summary['OP']} (3 complete, 3 in progress)") + self.stdout.write(self.style.SUCCESS("\nDone! Run fetch_his_surveys to test.")) diff --git a/apps/integrations/management/commands/seed_survey_mappings.py b/apps/integrations/management/commands/seed_survey_mappings.py index 43f6eea..907d926 100644 --- a/apps/integrations/management/commands/seed_survey_mappings.py +++ b/apps/integrations/management/commands/seed_survey_mappings.py @@ -7,157 +7,124 @@ from django.db import transaction class Command(BaseCommand): - help = 'Seed survey template mappings for HIS integration' + help = "Seed survey template mappings for HIS integration" - SATISFACTION_OPTIONS = [ - 'Very Unsatisfied', - 'Poor', - 'Neutral', - 'Good', - 'Very Satisfied' - ] + SATISFACTION_OPTIONS = ["Very Unsatisfied", "Poor", "Neutral", "Good", "Very Satisfied"] def handle(self, *args, **options): - self.stdout.write(self.style.SUCCESS('Seeding survey template mappings...')) + self.stdout.write(self.style.SUCCESS("Seeding survey template mappings...")) # Get or create satisfaction surveys inpatient_survey = self.get_or_create_satisfaction_survey( - 'Inpatient Satisfaction Survey', - 'How satisfied were you with your inpatient stay?' + "Inpatient Satisfaction Survey", "How satisfied were you with your inpatient stay?" ) - + outpatient_survey = self.get_or_create_satisfaction_survey( - 'Outpatient Satisfaction Survey', - 'How satisfied were you with your outpatient visit?' + "Outpatient Satisfaction Survey", "How satisfied were you with your outpatient visit?" ) - + appointment_survey = self.get_or_create_satisfaction_survey( - 'Appointment Satisfaction Survey', - 'How satisfied were you with your appointment?' + "Appointment Satisfaction Survey", "How satisfied were you with your appointment?" ) # Create mappings for patient types - self.create_or_update_mapping('INPATIENT', inpatient_survey, 'Inpatient') - self.create_or_update_mapping('OUTPATIENT', outpatient_survey, 'Outpatient') - self.create_or_update_mapping('APPOINTMENT', appointment_survey, 'Appointment') + self.create_or_update_mapping("IP", inpatient_survey, "Inpatient") + self.create_or_update_mapping("OP", outpatient_survey, "Outpatient") + self.create_or_update_mapping("ED", appointment_survey, "Emergency") - self.stdout.write(self.style.SUCCESS('Survey template mappings seeded successfully!')) - self.stdout.write('\nSurvey Templates:') - self.stdout.write(f' - Inpatient: {inpatient_survey.name} (ID: {inpatient_survey.id})') - self.stdout.write(f' - Outpatient: {outpatient_survey.name} (ID: {outpatient_survey.id})') - self.stdout.write(f' - Appointment: {appointment_survey.name} (ID: {appointment_survey.id})') + self.stdout.write(self.style.SUCCESS("Survey template mappings seeded successfully!")) + self.stdout.write("\nSurvey Templates:") + self.stdout.write(f" - Inpatient: {inpatient_survey.name} (ID: {inpatient_survey.id})") + self.stdout.write(f" - Outpatient: {outpatient_survey.name} (ID: {outpatient_survey.id})") + self.stdout.write(f" - Appointment: {appointment_survey.name} (ID: {appointment_survey.id})") def get_or_create_satisfaction_survey(self, name, question_text): """Get or create a satisfaction survey with multiple choice question""" survey = SurveyTemplate.objects.filter(name=name).first() - + if not survey: - self.stdout.write(f'Creating survey: {name}') + self.stdout.write(f"Creating survey: {name}") # Get first hospital (default) hospital = Hospital.objects.first() if not hospital: - self.stdout.write(self.style.ERROR('No hospital found! Please create a hospital first.')) + self.stdout.write(self.style.ERROR("No hospital found! Please create a hospital first.")) return None - + survey = SurveyTemplate.objects.create( - name=name, - name_ar=name, - hospital=hospital, - survey_type='general', - is_active=True + name=name, name_ar=name, hospital=hospital, survey_type="general", is_active=True ) - + # Create the satisfaction question with choices choices = [] for idx, option_text in enumerate(self.SATISFACTION_OPTIONS, 1): - choices.append({ - 'value': str(idx), - 'label': option_text, - 'label_ar': option_text - }) - + choices.append({"value": str(idx), "label": option_text, "label_ar": option_text}) + question = SurveyQuestion.objects.create( survey_template=survey, text=question_text, - question_type='multiple_choice', + question_type="multiple_choice", order=1, is_required=True, - choices_json=choices + choices_json=choices, ) - - self.stdout.write(f' Created question: {question_text}') - self.stdout.write(f' Added {len(self.SATISFACTION_OPTIONS)} satisfaction options') + + self.stdout.write(f" Created question: {question_text}") + self.stdout.write(f" Added {len(self.SATISFACTION_OPTIONS)} satisfaction options") else: # Ensure the question has correct options self.update_satisfaction_question(survey) - self.stdout.write(f'Found existing survey: {name}') - + self.stdout.write(f"Found existing survey: {name}") + return survey def update_satisfaction_question(self, survey): """Update survey question to ensure it has correct satisfaction options""" - question = survey.questions.filter( - question_type='multiple_choice' - ).first() - + question = survey.questions.filter(question_type="multiple_choice").first() + if not question: - self.stdout.write(f' Warning: No multiple choice question found in {survey.name}') + self.stdout.write(f" Warning: No multiple choice question found in {survey.name}") return - + # Check if all options exist existing_choices = question.choices_json or [] - existing_labels = {choice['label'] for choice in existing_choices} + existing_labels = {choice["label"] for choice in existing_choices} required_options = set(self.SATISFACTION_OPTIONS) - + if existing_labels == required_options: - self.stdout.write(f' Question has correct satisfaction options') + self.stdout.write(f" Question has correct satisfaction options") return - + # Rebuild choices with all required options choices = [] for idx, option_text in enumerate(self.SATISFACTION_OPTIONS, 1): # Find existing choice if it exists - existing_choice = next( - (c for c in existing_choices if c['label'] == option_text), - None - ) + existing_choice = next((c for c in existing_choices if c["label"] == option_text), None) if existing_choice: choices.append(existing_choice) else: - choices.append({ - 'value': str(idx), - 'label': option_text, - 'label_ar': option_text - }) - + choices.append({"value": str(idx), "label": option_text, "label_ar": option_text}) + question.choices_json = choices question.save() - self.stdout.write(f' Updated question with correct satisfaction options') + self.stdout.write(f" Updated question with correct satisfaction options") def create_or_update_mapping(self, patient_type, survey_template, description): """Create or update a survey template mapping""" - mapping = SurveyTemplateMapping.objects.filter( - patient_type=patient_type, - is_active=True - ).first() - + mapping = SurveyTemplateMapping.objects.filter(patient_type=patient_type, is_active=True).first() + if mapping: if mapping.survey_template != survey_template: mapping.survey_template = survey_template mapping.save() - self.stdout.write(f'Updated mapping for {description}: {survey_template.name}') + self.stdout.write(f"Updated mapping for {description}: {survey_template.name}") else: - self.stdout.write(f'Existing mapping for {description}: {survey_template.name}') + self.stdout.write(f"Existing mapping for {description}: {survey_template.name}") else: # Deactivate existing mappings for this patient type - SurveyTemplateMapping.objects.filter( - patient_type=patient_type - ).update(is_active=False) - + SurveyTemplateMapping.objects.filter(patient_type=patient_type).update(is_active=False) + # Create new active mapping mapping = SurveyTemplateMapping.objects.create( - patient_type=patient_type, - survey_template=survey_template, - is_active=True + patient_type=patient_type, survey_template=survey_template, is_active=True ) - self.stdout.write(f'Created mapping for {description}: {survey_template.name}') + self.stdout.write(f"Created mapping for {description}: {survey_template.name}") diff --git a/apps/integrations/models.py b/apps/integrations/models.py index dec21cf..24740ab 100644 --- a/apps/integrations/models.py +++ b/apps/integrations/models.py @@ -10,6 +10,7 @@ This module handles integration events from: - CHI (Council of Health Insurance) - Other external systems """ + from django.db import models from apps.core.models import BaseChoices, TimeStampedModel, UUIDModel @@ -17,35 +18,37 @@ from apps.core.models import BaseChoices, TimeStampedModel, UUIDModel class EventStatus(BaseChoices): """Event processing status""" - PENDING = 'pending', 'Pending' - PROCESSING = 'processing', 'Processing' - PROCESSED = 'processed', 'Processed' - FAILED = 'failed', 'Failed' - IGNORED = 'ignored', 'Ignored' + + PENDING = "pending", "Pending" + PROCESSING = "processing", "Processing" + PROCESSED = "processed", "Processed" + FAILED = "failed", "Failed" + IGNORED = "ignored", "Ignored" class SourceSystem(BaseChoices): """Source system choices""" - HIS = 'his', 'Hospital Information System' - LAB = 'lab', 'Laboratory System' - RADIOLOGY = 'radiology', 'Radiology System' - PHARMACY = 'pharmacy', 'Pharmacy System' - MOH = 'moh', 'Ministry of Health' - CHI = 'chi', 'Council of Health Insurance' - PXCONNECT = 'pxconnect', 'PX Connect' - OTHER = 'other', 'Other' + + HIS = "his", "Hospital Information System" + LAB = "lab", "Laboratory System" + RADIOLOGY = "radiology", "Radiology System" + PHARMACY = "pharmacy", "Pharmacy System" + MOH = "moh", "Ministry of Health" + CHI = "chi", "Council of Health Insurance" + PXCONNECT = "pxconnect", "PX Connect" + OTHER = "other", "Other" class InboundEvent(UUIDModel, TimeStampedModel): """ Inbound integration event from external systems. - + Events trigger journey stage completions. For example: - Event code: "OPD_VISIT_COMPLETED" → completes "MD Consultation" stage - Event code: "LAB_ORDER_COMPLETED" → completes "Lab" stage - Event code: "RADIOLOGY_REPORT_FINALIZED" → completes "Radiology" stage - Event code: "PHARMACY_DISPENSED" → completes "Pharmacy" stage - + Processing flow: 1. Event received via API (POST /api/integrations/events/) 2. Stored with status=PENDING @@ -56,304 +59,463 @@ class InboundEvent(UUIDModel, TimeStampedModel): d. Create survey instance if configured e. Update event status to PROCESSED """ - + # Source information source_system = models.CharField( - max_length=50, - choices=SourceSystem.choices, - db_index=True, - help_text="System that sent this event" + max_length=50, choices=SourceSystem.choices, db_index=True, help_text="System that sent this event" ) event_code = models.CharField( - max_length=100, - db_index=True, - help_text="Event type code (e.g., OPD_VISIT_COMPLETED, LAB_ORDER_COMPLETED)" + max_length=100, db_index=True, help_text="Event type code (e.g., OPD_VISIT_COMPLETED, LAB_ORDER_COMPLETED)" ) - + # Identifiers - encounter_id = models.CharField( - max_length=100, - db_index=True, - help_text="Encounter ID from HIS system" - ) + encounter_id = models.CharField(max_length=100, db_index=True, help_text="Encounter ID from HIS system") patient_identifier = models.CharField( - max_length=100, - blank=True, - db_index=True, - help_text="Patient MRN or other identifier" + max_length=100, blank=True, db_index=True, help_text="Patient MRN or other identifier" ) - + # Event data - payload_json = models.JSONField( - help_text="Full event payload from source system" - ) - + payload_json = models.JSONField(help_text="Full event payload from source system") + # Processing status - status = models.CharField( - max_length=20, - choices=EventStatus.choices, - default=EventStatus.PENDING, - db_index=True - ) - + status = models.CharField(max_length=20, choices=EventStatus.choices, default=EventStatus.PENDING, db_index=True) + # Timestamps received_at = models.DateTimeField(auto_now_add=True, db_index=True) processed_at = models.DateTimeField(null=True, blank=True) - + # Processing results - error = models.TextField( - blank=True, - help_text="Error message if processing failed" - ) - processing_attempts = models.IntegerField( - default=0, - help_text="Number of processing attempts" - ) - + error = models.TextField(blank=True, help_text="Error message if processing failed") + processing_attempts = models.IntegerField(default=0, help_text="Number of processing attempts") + # Extracted context (from payload) - physician_license = models.CharField( - max_length=100, - blank=True, - help_text="Physician license number from event" - ) - department_code = models.CharField( - max_length=50, - blank=True, - help_text="Department code from event" - ) - + physician_license = models.CharField(max_length=100, blank=True, help_text="Physician license number from event") + department_code = models.CharField(max_length=50, blank=True, help_text="Department code from event") + # Metadata - metadata = models.JSONField( - default=dict, - blank=True, - help_text="Additional processing metadata" - ) - + metadata = models.JSONField(default=dict, blank=True, help_text="Additional processing metadata") + class Meta: - ordering = ['-received_at'] + ordering = ["-received_at"] indexes = [ - models.Index(fields=['status', '-received_at']), - models.Index(fields=['encounter_id', 'event_code']), - models.Index(fields=['source_system', '-received_at']), + models.Index(fields=["status", "-received_at"]), + models.Index(fields=["encounter_id", "event_code"]), + models.Index(fields=["source_system", "-received_at"]), ] - + def __str__(self): return f"{self.source_system} - {self.event_code} - {self.encounter_id} ({self.status})" - + def mark_processing(self): """Mark event as being processed""" self.status = EventStatus.PROCESSING self.processing_attempts += 1 - self.save(update_fields=['status', 'processing_attempts']) - + self.save(update_fields=["status", "processing_attempts"]) + def mark_processed(self): """Mark event as successfully processed""" from django.utils import timezone + self.status = EventStatus.PROCESSED self.processed_at = timezone.now() - self.save(update_fields=['status', 'processed_at']) - + self.save(update_fields=["status", "processed_at"]) + def mark_failed(self, error_message): """Mark event as failed with error message""" self.status = EventStatus.FAILED self.error = error_message - self.save(update_fields=['status', 'error']) - + self.save(update_fields=["status", "error"]) + def mark_ignored(self, reason): """Mark event as ignored (e.g., no matching journey)""" self.status = EventStatus.IGNORED self.error = reason - self.save(update_fields=['status', 'error']) + self.save(update_fields=["status", "error"]) class IntegrationConfig(UUIDModel, TimeStampedModel): """ Configuration for external system integrations. - + Stores API endpoints, credentials, and mapping rules. """ + name = models.CharField(max_length=200, unique=True) - source_system = models.CharField( - max_length=50, - choices=SourceSystem.choices, - unique=True - ) - + source_system = models.CharField(max_length=50, choices=SourceSystem.choices, unique=True) + # Connection details api_url = models.URLField(blank=True, help_text="API endpoint URL") api_key = models.CharField(max_length=500, blank=True, help_text="API key (encrypted)") - + # Configuration is_active = models.BooleanField(default=True) config_json = models.JSONField( - default=dict, - blank=True, - help_text="Additional configuration (event mappings, field mappings, etc.)" + default=dict, blank=True, help_text="Additional configuration (event mappings, field mappings, etc.)" ) - + # Metadata description = models.TextField(blank=True) last_sync_at = models.DateTimeField(null=True, blank=True) - + class Meta: - ordering = ['name'] - + ordering = ["name"] + def __str__(self): return f"{self.name} ({self.source_system})" class PatientType(BaseChoices): """HIS Patient Type codes""" - INPATIENT = '1', 'Inpatient (Type 1)' - OPD = '2', 'Outpatient (Type 2)' - EMS = '3', 'Emergency (Type 3)' - DAYCASE = '4', 'Day Case (Type 4)' - APPOINTMENT = 'APPOINTMENT', 'Appointment' + + INPATIENT = "IP", "Inpatient" + OPD = "OP", "Outpatient" + EMS = "ED", "Emergency" + DAYCASE = "DAYCASE", "Day Case" + APPOINTMENT = "APPOINTMENT", "Appointment" class SurveyTemplateMapping(UUIDModel, TimeStampedModel): """ Maps patient types to survey templates for automatic survey delivery. - + This replaces the search-based template selection with explicit mappings. Allows administrators to control which survey template is sent for each patient type and hospital. - + Example: - PatientType: "1" (Inpatient) → Inpatient Satisfaction Survey - PatientType: "2" (OPD) → Outpatient Satisfaction Survey - PatientType: "APPOINTMENT" → Appointment Satisfaction Survey """ - + # Mapping key patient_type = models.CharField( - max_length=20, - choices=PatientType.choices, - db_index=True, - help_text="Patient type from HIS system" + max_length=20, choices=PatientType.choices, db_index=True, help_text="Patient type from HIS system" ) - + # Target survey survey_template = models.ForeignKey( - 'surveys.SurveyTemplate', + "surveys.SurveyTemplate", on_delete=models.CASCADE, - related_name='patient_type_mappings', - help_text="Survey template to send for this patient type" + related_name="patient_type_mappings", + help_text="Survey template to send for this patient type", ) - + # Hospital specificity (null = global mapping) hospital = models.ForeignKey( - 'organizations.Hospital', + "organizations.Hospital", on_delete=models.CASCADE, - related_name='survey_template_mappings', + related_name="survey_template_mappings", null=True, blank=True, - help_text="Hospital for this mapping (null = applies to all hospitals)" + help_text="Hospital for this mapping (null = applies to all hospitals)", ) - + # Activation - is_active = models.BooleanField( - default=True, - db_index=True, - help_text="Whether this mapping is active" - ) + is_active = models.BooleanField(default=True, db_index=True, help_text="Whether this mapping is active") # Delay configuration - send_delay_hours = models.IntegerField( - default=1, - help_text="Hours after discharge to send survey" - ) + send_delay_hours = models.IntegerField(default=1, help_text="Hours after discharge to send survey") class Meta: - ordering = ['hospital', 'patient_type'] + ordering = ["hospital", "patient_type"] indexes = [ - models.Index(fields=['patient_type', 'hospital', 'is_active']), + models.Index(fields=["patient_type", "hospital", "is_active"]), ] # Ensure only one active mapping per patient type per hospital constraints = [ models.UniqueConstraint( - fields=['patient_type', 'hospital'], + fields=["patient_type", "hospital"], condition=models.Q(is_active=True), - name='unique_active_mapping_per_type_hospital' + name="unique_active_mapping_per_type_hospital", ) ] - + def __str__(self): - hospital_name = self.hospital.name if self.hospital else 'All Hospitals' - status = 'Active' if self.is_active else 'Inactive' - return f"{self.get_patient_type_display()} → {self.survey_template.name} ({hospital_name}) [{status}]" - + hospital_name = self.hospital.name if self.hospital else "All Hospitals" + status = "Active" if self.is_active else "Inactive" + return f"{self.get_patient_type_display()} -> {self.survey_template.name} ({hospital_name}) [{status}]" + @staticmethod def get_template_for_patient_type(patient_type: str, hospital): """ Get the active survey template for a patient type and hospital. - + Search order: 1. Hospital-specific active mapping 2. Global active mapping (hospital is null) - + Args: patient_type: HIS PatientType code (e.g., "1", "2", "APPOINTMENT") hospital: Hospital instance - + Returns: SurveyTemplate or None if no active mapping found """ # Try hospital-specific mapping first mapping = SurveyTemplateMapping.objects.filter( - patient_type=patient_type, - hospital=hospital, - is_active=True + patient_type=patient_type, hospital=hospital, is_active=True ).first() - + if mapping: return mapping.survey_template - + # Fall back to global mapping mapping = SurveyTemplateMapping.objects.filter( - patient_type=patient_type, - hospital__isnull=True, - is_active=True + patient_type=patient_type, hospital__isnull=True, is_active=True ).first() - + return mapping.survey_template if mapping else None +class HISPatientVisit(UUIDModel, TimeStampedModel): + """ + Stores patient visit data fetched from HIS system. + + Decoupled from survey creation - patient and visit data are saved + on every fetch regardless of whether the visit is complete. + Survey is created and linked only when the visit is complete. + """ + + patient = models.ForeignKey( + "organizations.Patient", + on_delete=models.CASCADE, + related_name="his_visits", + null=True, + blank=True, + ) + hospital = models.ForeignKey( + "organizations.Hospital", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="his_visits", + ) + admission_id = models.CharField(max_length=100, db_index=True) + reg_code = models.CharField(max_length=100, blank=True, db_index=True) + patient_id_his = models.CharField(max_length=100, blank=True, db_index=True, help_text="PatientID from HIS") + patient_type = models.CharField(max_length=10, help_text="ED, IP, OP from HIS") + admit_date = models.DateTimeField(null=True, blank=True) + discharge_date = models.DateTimeField(null=True, blank=True, help_text="From HIS DischargeDate (null for OP)") + effective_discharge_date = models.DateTimeField( + null=True, blank=True, help_text="For OP: last visit timestamp when deemed complete" + ) + visit_data = models.JSONField(default=dict, blank=True, help_text="Full patient demographic dict from HIS") + visit_timeline = models.JSONField(default=list, blank=True, help_text="Extracted visit events for this patient") + + primary_doctor = models.CharField( + max_length=300, blank=True, help_text="From HIS PrimaryDoctor (raw text fallback)" + ) + primary_doctor_fk = models.ForeignKey( + "organizations.Staff", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="his_visits_as_doctor", + help_text="Resolved Staff record from PrimaryDoctor ID prefix", + ) + consultant_id = models.CharField(max_length=50, blank=True, help_text="From HIS ConsultantID (raw text fallback)") + consultant_fk = models.ForeignKey( + "organizations.Staff", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="his_visits_as_consultant", + help_text="Resolved Staff record from ConsultantID", + ) + company_name = models.CharField(max_length=300, blank=True, help_text="From HIS CompanyName (insurance sponsor)") + grade_name = models.CharField(max_length=100, blank=True, help_text="From HIS GradeName (insurance grade)") + insurance_company_name = models.CharField(max_length=300, blank=True, help_text="From HIS InsuranceCompanyName") + bill_type = models.CharField(max_length=20, blank=True, help_text="From HIS BillType (CS/CR)") + is_vip = models.BooleanField(default=False, db_index=True, help_text="From HIS IsVIP") + nationality = models.CharField(max_length=100, blank=True, help_text="From HIS PatientNationality") + + is_visit_complete = models.BooleanField(default=False, db_index=True) + survey_instance = models.ForeignKey( + "surveys.SurveyInstance", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="his_visit", + ) + last_his_fetch_at = models.DateTimeField( + null=True, blank=True, help_text="Last time this visit was seen in a HIS fetch" + ) + + class Meta: + ordering = ["-created_at"] + indexes = [ + models.Index(fields=["patient_type", "is_visit_complete"]), + models.Index(fields=["patient_type", "last_his_fetch_at"]), + models.Index(fields=["admission_id", "is_visit_complete"]), + ] + constraints = [models.UniqueConstraint(fields=["admission_id"], name="unique_his_visit_per_admission")] + + def __str__(self): + name = self.patient.get_full_name() if self.patient else self.patient_id_his + return f"{name} ({self.patient_type}) - {self.admission_id}" + + @property + def doctor_display(self): + if self.primary_doctor_fk: + return str(self.primary_doctor_fk) + return self.primary_doctor or "-" + + @property + def consultant_display(self): + if self.consultant_fk: + return str(self.consultant_fk) + return self.consultant_id or "-" + + +class HISVisitEvent(UUIDModel, TimeStampedModel): + """ + Individual visit event from HIS timeline. + + Extracted from visit_timeline JSON for better querying and filtering. + Each event represents a single touchpoint in the patient journey. + """ + + visit = models.ForeignKey( + HISPatientVisit, + on_delete=models.CASCADE, + related_name="visit_events", + ) + event_type = models.CharField(max_length=200, blank=True, help_text="Type from HIS (e.g., 'Registration')") + bill_date = models.CharField(max_length=50, blank=True, help_text="Raw BillDate from HIS (DD-Mon-YYYY HH:MM)") + parsed_date = models.DateTimeField(null=True, blank=True, db_index=True, help_text="Parsed bill_date") + patient_type = models.CharField(max_length=10, blank=True, help_text="PatientType for this event") + visit_category = models.CharField(max_length=10, blank=True, help_text="Visit category: ED, IP, OP") + admission_id = models.CharField(max_length=100, blank=True, db_index=True) + patient_id = models.CharField(max_length=100, blank=True, db_index=True, help_text="PatientID from HIS") + reg_code = models.CharField(max_length=100, blank=True, db_index=True) + ssn = models.CharField(max_length=50, blank=True, db_index=True) + mobile_no = models.CharField(max_length=50, blank=True) + + class Meta: + ordering = ["parsed_date"] + indexes = [ + models.Index(fields=["visit", "parsed_date"]), + models.Index(fields=["visit_category", "parsed_date"]), + ] + + def __str__(self): + return f"{self.event_type} ({self.visit_category}) - {self.admission_id}" + + +class HISEventType(UUIDModel, TimeStampedModel): + """ + Unique event types extracted from HIS data. + + Auto-populated when HISPatientVisit events are synced. + Used to populate the event type dropdown in question configuration. + """ + + event_type = models.CharField( + max_length=200, + unique=True, + db_index=True, + help_text="HIS event type name (e.g., 'Lab Bill', 'Triage')", + ) + patient_types = models.JSONField( + default=list, + blank=True, + help_text="Patient types that have this event: ['OP', 'IP', 'ED']", + ) + event_count = models.IntegerField( + default=0, + help_text="Total number of times this event type has been seen", + ) + last_seen_at = models.DateTimeField(auto_now=True) + + class Meta: + ordering = ["event_type"] + verbose_name = "HIS Event Type" + verbose_name_plural = "HIS Event Types" + + def __str__(self): + types = ", ".join(self.patient_types) if self.patient_types else "N/A" + return f"{self.event_type} ({types})" + + class EventMapping(UUIDModel, TimeStampedModel): """ Maps external event codes to internal trigger codes. - + Example: - External: "VISIT_COMPLETE" → Internal: "OPD_VISIT_COMPLETED" - External: "LAB_RESULT_READY" → Internal: "LAB_ORDER_COMPLETED" """ - integration_config = models.ForeignKey( - IntegrationConfig, - on_delete=models.CASCADE, - related_name='event_mappings' - ) - - external_event_code = models.CharField( - max_length=100, - help_text="Event code from external system" - ) - internal_event_code = models.CharField( - max_length=100, - help_text="Internal event code used in journey stages" - ) - + + integration_config = models.ForeignKey(IntegrationConfig, on_delete=models.CASCADE, related_name="event_mappings") + + external_event_code = models.CharField(max_length=100, help_text="Event code from external system") + internal_event_code = models.CharField(max_length=100, help_text="Internal event code used in journey stages") + # Field mappings field_mappings = models.JSONField( - default=dict, - blank=True, - help_text="Maps external field names to internal field names" + default=dict, blank=True, help_text="Maps external field names to internal field names" ) - + is_active = models.BooleanField(default=True) - + class Meta: - unique_together = [['integration_config', 'external_event_code']] - ordering = ['integration_config', 'external_event_code'] - + unique_together = [["integration_config", "external_event_code"]] + ordering = ["integration_config", "external_event_code"] + def __str__(self): return f"{self.external_event_code} → {self.internal_event_code}" + + +class HISTestPatient(TimeStampedModel): + """Test patient data loaded from visit_data.json for testing HIS integration.""" + + admission_id = models.CharField(max_length=100, db_index=True) + patient_id = models.CharField(max_length=100, db_index=True) + patient_type = models.CharField(max_length=10, db_index=True) + reg_code = models.CharField(max_length=100, blank=True, db_index=True) + ssn = models.CharField(max_length=50, blank=True, db_index=True) + mobile_no = models.CharField(max_length=20, blank=True, db_index=True) + admit_date = models.DateTimeField(db_index=True) + discharge_date = models.DateTimeField(null=True, blank=True) + patient_data = models.JSONField(default=dict) + hospital_id = models.CharField(max_length=20, blank=True) + hospital_name = models.CharField(max_length=200, blank=True) + patient_name = models.CharField(max_length=300, blank=True) + + class Meta: + ordering = ["admit_date"] + indexes = [ + models.Index(fields=["patient_type", "admit_date"]), + models.Index(fields=["ssn", "admit_date"]), + models.Index(fields=["mobile_no", "admit_date"]), + ] + constraints = [models.UniqueConstraint(fields=["admission_id"], name="unique_test_patient_admission")] + + def __str__(self): + return f"{self.patient_name} ({self.patient_type}) - {self.admission_id}" + + +class HISTestVisit(TimeStampedModel): + """Test visit events loaded from visit_data.json for testing HIS integration.""" + + admission_id = models.CharField(max_length=100, db_index=True) + patient_id = models.CharField(max_length=100, db_index=True) + visit_category = models.CharField(max_length=10, db_index=True) + event_type = models.CharField(max_length=200, blank=True) + bill_date = models.DateTimeField(null=True, blank=True, db_index=True) + reg_code = models.CharField(max_length=100, blank=True) + ssn = models.CharField(max_length=50, blank=True, db_index=True) + mobile_no = models.CharField(max_length=20, blank=True, db_index=True) + visit_data = models.JSONField(default=dict) + + class Meta: + ordering = ["bill_date"] + indexes = [ + models.Index(fields=["admission_id", "visit_category"]), + models.Index(fields=["patient_id", "visit_category"]), + models.Index(fields=["admission_id", "bill_date"]), + ] + + def __str__(self): + return f"{self.event_type} ({self.visit_category}) - {self.admission_id}" diff --git a/apps/integrations/serializers.py b/apps/integrations/serializers.py index dbe65a3..546d124 100644 --- a/apps/integrations/serializers.py +++ b/apps/integrations/serializers.py @@ -1,6 +1,7 @@ """ Integrations serializers """ + from rest_framework import serializers from .models import EventMapping, InboundEvent, IntegrationConfig, SurveyTemplateMapping @@ -8,27 +9,44 @@ from .models import EventMapping, InboundEvent, IntegrationConfig, SurveyTemplat class InboundEventSerializer(serializers.ModelSerializer): """Inbound event serializer""" - + class Meta: model = InboundEvent fields = [ - 'id', 'source_system', 'event_code', 'encounter_id', 'patient_identifier', - 'payload_json', 'status', 'received_at', 'processed_at', - 'error', 'processing_attempts', - 'physician_license', 'department_code', 'metadata', - 'created_at', 'updated_at' + "id", + "source_system", + "event_code", + "encounter_id", + "patient_identifier", + "payload_json", + "status", + "received_at", + "processed_at", + "error", + "processing_attempts", + "physician_license", + "department_code", + "metadata", + "created_at", + "updated_at", ] read_only_fields = [ - 'id', 'status', 'received_at', 'processed_at', - 'error', 'processing_attempts', 'metadata', - 'created_at', 'updated_at' + "id", + "status", + "received_at", + "processed_at", + "error", + "processing_attempts", + "metadata", + "created_at", + "updated_at", ] class InboundEventCreateSerializer(serializers.ModelSerializer): """ Serializer for creating inbound events via API. - + External systems POST to /api/integrations/events/ with: { "source_system": "his", @@ -43,98 +61,113 @@ class InboundEventCreateSerializer(serializers.ModelSerializer): } } """ - + class Meta: model = InboundEvent - fields = [ - 'source_system', 'event_code', 'encounter_id', - 'patient_identifier', 'payload_json' - ] - + fields = ["source_system", "event_code", "encounter_id", "patient_identifier", "payload_json"] + def create(self, validated_data): """ Create event and extract context from payload. Event will be processed asynchronously by Celery task. """ - payload = validated_data.get('payload_json', {}) - + payload = validated_data.get("payload_json", {}) + # Extract physician and department from payload - validated_data['physician_license'] = payload.get('physician_license', '') - validated_data['department_code'] = payload.get('department_code', '') - + validated_data["physician_license"] = payload.get("physician_license", "") + validated_data["department_code"] = payload.get("department_code", "") + event = InboundEvent.objects.create(**validated_data) - + # Queue event for processing (will be implemented in tasks.py) # from apps.integrations.tasks import process_inbound_event # process_inbound_event.delay(event.id) - + return event class InboundEventListSerializer(serializers.ModelSerializer): """Simplified inbound event serializer for list views""" - + class Meta: model = InboundEvent - fields = [ - 'id', 'source_system', 'event_code', 'encounter_id', - 'status', 'processing_attempts', 'received_at' - ] + fields = ["id", "source_system", "event_code", "encounter_id", "status", "processing_attempts", "received_at"] class EventMappingSerializer(serializers.ModelSerializer): """Event mapping serializer""" - integration_name = serializers.CharField(source='integration_config.name', read_only=True) - + + integration_name = serializers.CharField(source="integration_config.name", read_only=True) + class Meta: model = EventMapping fields = [ - 'id', 'integration_config', 'integration_name', - 'external_event_code', 'internal_event_code', - 'field_mappings', 'is_active', - 'created_at', 'updated_at' + "id", + "integration_config", + "integration_name", + "external_event_code", + "internal_event_code", + "field_mappings", + "is_active", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] class SurveyTemplateMappingSerializer(serializers.ModelSerializer): """Survey template mapping serializer""" - hospital_name = serializers.CharField(source='hospital.name', read_only=True) - survey_template_name = serializers.CharField(source='survey_template.name', read_only=True) - patient_type_display = serializers.CharField(source='get_patient_type_display', read_only=True) - + + hospital_name = serializers.CharField(source="hospital.name", read_only=True) + survey_template_name = serializers.CharField(source="survey_template.name", read_only=True) + patient_type_display = serializers.CharField(source="get_patient_type_display", read_only=True) + class Meta: model = SurveyTemplateMapping fields = [ - 'id', 'hospital', 'hospital_name', - 'patient_type', 'patient_type_display', - 'survey_template', 'survey_template_name', - 'is_active', - 'created_at', 'updated_at' + "id", + "hospital", + "hospital_name", + "patient_type", + "patient_type_display", + "survey_template", + "survey_template_name", + "is_active", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] class IntegrationConfigSerializer(serializers.ModelSerializer): """Integration configuration serializer""" + event_mappings = EventMappingSerializer(many=True, read_only=True) - + class Meta: model = IntegrationConfig fields = [ - 'id', 'name', 'source_system', 'description', - 'api_url', 'is_active', 'config_json', - 'event_mappings', 'last_sync_at', - 'created_at', 'updated_at' + "id", + "name", + "source_system", + "description", + "api_url", + "is_active", + "config_json", + "event_mappings", + "last_sync_at", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'last_sync_at', 'created_at', 'updated_at'] + read_only_fields = ["id", "last_sync_at", "created_at", "updated_at"] extra_kwargs = { - 'api_key': {'write_only': True} # Don't expose API key in responses + "api_key": {"write_only": True} # Don't expose API key in responses } class HISPatientDemographicSerializer(serializers.Serializer): """Serializer for HIS patient demographic data""" + Type = serializers.CharField() PatientID = serializers.CharField() AdmissionID = serializers.CharField() @@ -165,24 +198,30 @@ class HISPatientDemographicSerializer(serializers.Serializer): class HISVisitDataSerializer(serializers.Serializer): """Serializer for HIS visit/timeline data""" + Type = serializers.CharField() BillDate = serializers.CharField() + PatientType = serializers.CharField(required=False, allow_blank=True) + AdmissionID = serializers.CharField(required=False, allow_blank=True) + PatientID = serializers.CharField(required=False, allow_blank=True) + RegCode = serializers.CharField(required=False, allow_blank=True) + SSN = serializers.CharField(required=False, allow_blank=True) + MobileNo = serializers.CharField(required=False, allow_blank=True) class HISPatientDataSerializer(serializers.Serializer): """ Serializer for real HIS patient data format. - + This validates the structure of HIS data received from the simulator or actual HIS system. - + Example structure: { "FetchPatientDataTimeStampList": [{...patient demographics...}], - "FetchPatientDataTimeStampVisitDataList": [ - {"Type": "Consultation", "BillDate": "05-Jun-2025 11:06"}, - ... - ], + "FetchPatientDataTimeStampVisitEDDataList": [...], + "FetchPatientDataTimeStampVisitIPDataList": [...], + "FetchPatientDataTimeStampVisitOPDataList": [...], "Code": 200, "Status": "Success", "Message": "", @@ -191,33 +230,31 @@ class HISPatientDataSerializer(serializers.Serializer): "ValidateMessage": "" } """ + FetchPatientDataTimeStampList = HISPatientDemographicSerializer(many=True) - FetchPatientDataTimeStampVisitDataList = HISVisitDataSerializer(many=True) + FetchPatientDataTimeStampVisitEDDataList = HISVisitDataSerializer(many=True, required=False) + FetchPatientDataTimeStampVisitIPDataList = HISVisitDataSerializer(many=True, required=False) + FetchPatientDataTimeStampVisitOPDataList = HISVisitDataSerializer(many=True, required=False) + FetchPatientDataTimeStampVisitDataList = HISVisitDataSerializer(many=True, required=False) Code = serializers.IntegerField() Status = serializers.CharField() Message = serializers.CharField(required=False, allow_blank=True) Message2L = serializers.CharField(required=False, allow_blank=True) MobileNo = serializers.CharField(required=False, allow_blank=True) ValidateMessage = serializers.CharField(required=False, allow_blank=True) - + def validate(self, data): """Validate HIS data structure""" # Validate status - if data.get('Code') != 200: - raise serializers.ValidationError( - f"HIS returned error code: {data.get('Code')}" - ) - - if data.get('Status') != 'Success': - raise serializers.ValidationError( - f"HIS status not successful: {data.get('Status')}" - ) - + if data.get("Code") != 200: + raise serializers.ValidationError(f"HIS returned error code: {data.get('Code')}") + + if data.get("Status") != "Success": + raise serializers.ValidationError(f"HIS status not successful: {data.get('Status')}") + # Ensure patient data exists - patient_list = data.get('FetchPatientDataTimeStampList', []) + patient_list = data.get("FetchPatientDataTimeStampList", []) if not patient_list: - raise serializers.ValidationError( - "No patient data found in FetchPatientDataTimeStampList" - ) - + raise serializers.ValidationError("No patient data found in FetchPatientDataTimeStampList") + return data diff --git a/apps/integrations/services/his_adapter.py b/apps/integrations/services/his_adapter.py index 83e5f69..e2c4506 100644 --- a/apps/integrations/services/his_adapter.py +++ b/apps/integrations/services/his_adapter.py @@ -7,157 +7,281 @@ internal format for sending surveys based on PatientType. Simplified Flow: 1. Parse HIS patient data 2. Determine survey type from PatientType -3. Create survey instance with PENDING status -4. Queue delayed send task -5. Survey sent after delay (e.g., 1 hour for OPD) +3. Create/update HISPatientVisit record +4. Create patient record (always) +5. Create survey instance with PENDING status (only when visit complete) +6. Queue delayed send task +7. Survey sent after delay (e.g., 1 hour for OPD) """ + from datetime import datetime, timedelta -from typing import Dict, Optional, Tuple +from typing import Dict, List, Optional, Tuple import logging from django.utils import timezone -from apps.organizations.models import Hospital, Patient +from apps.organizations.models import Hospital, Patient, Staff from apps.surveys.models import SurveyTemplate, SurveyInstance, SurveyStatus -from apps.integrations.models import InboundEvent +from apps.integrations.models import InboundEvent, HISPatientVisit logger = logging.getLogger(__name__) +PATIENT_TYPE_TO_VISIT_LIST = { + "ED": "FetchPatientDataTimeStampVisitEDDataList", + "IP": "FetchPatientDataTimeStampVisitIPDataList", + "OP": "FetchPatientDataTimeStampVisitOPDataList", +} + class HISAdapter: """ Adapter for transforming HIS patient data format to internal format. - + HIS Data Structure: { "FetchPatientDataTimeStampList": [{...patient demographics...}], - "FetchPatientDataTimeStampVisitDataList": [ - {"Type": "Consultation", "BillDate": "05-Jun-2025 11:06"}, - ... - ], + "FetchPatientDataTimeStampVisitEDDataList": [...], + "FetchPatientDataTimeStampVisitIPDataList": [...], + "FetchPatientDataTimeStampVisitOPDataList": [...], "Code": 200, "Status": "Success" } - + PatientType Codes: - - "1" → Inpatient - - "2" or "O" → OPD (Outpatient) - - "3" or "E" → EMS (Emergency) + - "1" -> Inpatient + - "2" or "O" -> OPD (Outpatient) + - "3" or "E" -> EMS (Emergency) """ - + @staticmethod def parse_date(date_str: Optional[str]) -> Optional[datetime]: """Parse HIS date format 'DD-Mon-YYYY HH:MM' to timezone-aware datetime""" if not date_str: return None - + try: - # HIS format: "05-Jun-2025 11:06" naive_dt = datetime.strptime(date_str, "%d-%b-%Y %H:%M") - # Make timezone-aware using Django's timezone - from django.utils import timezone return timezone.make_aware(naive_dt) except ValueError: return None - + @staticmethod def map_patient_type_to_survey_type(patient_type: str) -> str: """ - Map HIS PatientType code to survey type name. - + Map HIS PatientType string to survey type name. + + Based on HIS sample data: + - "IP" -> Inpatient + - "OP" -> Outpatient + - "ED" -> Emergency + Returns survey type name for template lookup. """ - if patient_type == "1": + patient_type_upper = patient_type.upper() if patient_type else "" + + if patient_type_upper == "IP": return "INPATIENT" - elif patient_type in ["2", "O"]: + elif patient_type_upper == "OP": return "OPD" - elif patient_type in ["3", "E"]: + elif patient_type_upper == "ED": return "EMS" - elif patient_type == "4": + elif patient_type_upper == "DAYCASE": return "DAYCASE" + elif patient_type_upper == "APPOINTMENT": + return "APPOINTMENT" else: - # Default to OPD if unknown return "OPD" - + @staticmethod def split_patient_name(full_name: str) -> Tuple[str, str]: """Split patient name into first and last name""" - # Handle names like "AFAF NASSER ALRAZoooOOQ" parts = full_name.strip().split() if len(parts) == 1: return parts[0], "" elif len(parts) == 2: return parts[0], parts[1] else: - # Multiple parts - first is first name, rest is last name return parts[0], " ".join(parts[1:]) - + + @staticmethod + def extract_patient_visits(his_data: Dict, patient_id: str, patient_type: str) -> List[Dict]: + """ + Extract visit events for a specific patient from the appropriate sublist. + + Uses PatientID to match and PatientType to determine which sublist to use: + - "ED" -> FetchPatientDataTimeStampVisitEDDataList + - "IP" -> FetchPatientDataTimeStampVisitIPDataList + - "OP" -> FetchPatientDataTimeStampVisitOPDataList + + Args: + his_data: Full HIS response dict + patient_id: HIS PatientID to filter by + patient_type: HIS PatientType (ED, IP, OP) + + Returns: + List of visit event dicts for this patient, sorted by BillDate + """ + list_key = PATIENT_TYPE_TO_VISIT_LIST.get(patient_type.upper()) + if not list_key: + logger.warning(f"Unknown patient type '{patient_type}', no visit list found") + return [] + + all_visits = his_data.get(list_key, []) + + patient_visits = [] + for visit in all_visits: + if visit.get("PatientID") == str(patient_id): + visit_event = { + "type": visit.get("Type", ""), + "bill_date": visit.get("BillDate", ""), + "patient_type": visit.get("PatientType", patient_type), + "visit_category": patient_type, + "admission_id": visit.get("AdmissionID", ""), + "patient_id": visit.get("PatientID", ""), + "reg_code": visit.get("RegCode", ""), + "ssn": visit.get("SSN", ""), + "mobile_no": visit.get("MobileNo", ""), + } + + if visit_event["bill_date"]: + parsed_date = HISAdapter.parse_date(visit_event["bill_date"]) + visit_event["parsed_date"] = parsed_date.isoformat() if parsed_date else None + visit_event["sort_key"] = parsed_date if parsed_date else datetime.min + else: + visit_event["parsed_date"] = None + visit_event["sort_key"] = datetime.min + + patient_visits.append(visit_event) + + patient_visits.sort(key=lambda x: x.get("sort_key", datetime.min)) + + for visit in patient_visits: + visit.pop("sort_key", None) + + return patient_visits + + @staticmethod + def extract_visit_timeline(his_data: Dict) -> List[Dict]: + """ + Extract and sort visit timeline from HIS data (all patients). + + Combines visits from all 3 lists and sorts by BillDate. + Used for backward compatibility with the webhook flow. + """ + all_visits = [] + + visit_lists = [ + ("ED", his_data.get("FetchPatientDataTimeStampVisitEDDataList", [])), + ("IP", his_data.get("FetchPatientDataTimeStampVisitIPDataList", [])), + ("OP", his_data.get("FetchPatientDataTimeStampVisitOPDataList", [])), + ] + + for visit_type, visits in visit_lists: + for visit in visits: + visit_event = { + "type": visit.get("Type", ""), + "bill_date": visit.get("BillDate", ""), + "patient_type": visit.get("PatientType", visit_type), + "visit_category": visit_type, + "admission_id": visit.get("AdmissionID", ""), + "patient_id": visit.get("PatientID", ""), + "reg_code": visit.get("RegCode", ""), + "ssn": visit.get("SSN", ""), + "mobile_no": visit.get("MobileNo", ""), + } + + if visit_event["bill_date"]: + parsed_date = HISAdapter.parse_date(visit_event["bill_date"]) + visit_event["parsed_date"] = parsed_date.isoformat() if parsed_date else None + visit_event["sort_key"] = parsed_date if parsed_date else datetime.min + + all_visits.append(visit_event) + + all_visits.sort(key=lambda x: x.get("sort_key", datetime.min)) + + for visit in all_visits: + visit.pop("sort_key", None) + + return all_visits + @staticmethod def get_or_create_hospital(hospital_data: Dict) -> Optional[Hospital]: """Get or create hospital from HIS data""" hospital_name = hospital_data.get("HospitalName") hospital_id = hospital_data.get("HospitalID") - + if not hospital_name: return None - - # Try to find existing hospital by name + hospital = Hospital.objects.filter(name__icontains=hospital_name).first() - + if hospital: return hospital - - # If not found, create new hospital (optional - can be disabled in production) + hospital_code = hospital_id if hospital_id else f"HOSP-{hospital_name[:3].upper()}" - + hospital, created = Hospital.objects.get_or_create( - code=hospital_code, - defaults={ - 'name': hospital_name, - 'status': 'active' - } + code=hospital_code, defaults={"name": hospital_name, "status": "active"} ) - + return hospital - + @staticmethod def get_or_create_patient(patient_data: Dict, hospital: Hospital) -> Patient: """Get or create patient from HIS demographic data""" patient_id = patient_data.get("PatientID") - mrn = patient_id # PatientID serves as MRN + mrn = patient_id national_id = patient_data.get("SSN") phone = patient_data.get("MobileNo") email = patient_data.get("Email") full_name = patient_data.get("PatientName") - - # Split name + nationality = patient_data.get("PatientNationality", "") + first_name, last_name = HISAdapter.split_patient_name(full_name) - - # Parse date of birth + dob_str = patient_data.get("DOB") date_of_birth = HISAdapter.parse_date(dob_str) if dob_str else None - - # Extract additional info + gender = patient_data.get("Gender", "").lower() - - # Try to find existing patient by MRN + patient = Patient.objects.filter(mrn=mrn, primary_hospital=hospital).first() - + if patient: - # Update patient information if changed patient.first_name = first_name patient.last_name = last_name patient.national_id = national_id patient.phone = phone - # Only update email if it's not None (to avoid NOT NULL constraint) if email is not None: patient.email = email patient.date_of_birth = date_of_birth patient.gender = gender + patient.nationality = nationality patient.save() return patient - - # Create new patient + + mrn_taken = Patient.objects.filter(mrn=mrn).exists() + + if mrn_taken and national_id: + patient = Patient.objects.filter(national_id=national_id).first() + if patient: + patient.mrn = mrn + patient.primary_hospital = hospital + patient.first_name = first_name + patient.last_name = last_name + patient.phone = phone + if email is not None: + patient.email = email + patient.date_of_birth = date_of_birth + patient.gender = gender + patient.nationality = nationality + patient.save() + return patient + + if mrn_taken: + unique_mrn = f"{mrn}_{hospital.id}" + logger.warning(f"MRN collision for {mrn}, using {unique_mrn}") + mrn = unique_mrn + patient = Patient.objects.create( mrn=mrn, primary_hospital=hospital, @@ -165,33 +289,22 @@ class HISAdapter: last_name=last_name, national_id=national_id, phone=phone, - email=email if email else '', # Use empty string if email is None + email=email if email else "", date_of_birth=date_of_birth, - gender=gender + gender=gender, + nationality=nationality, ) - + return patient - + @staticmethod def get_survey_template(patient_type: str, hospital: Hospital) -> Optional[SurveyTemplate]: """ Get appropriate survey template based on PatientType using explicit mapping. - - Uses SurveyTemplateMapping to determine which template to send. - - Args: - patient_type: HIS PatientType code (1, 2, 3, 4, O, E, APPOINTMENT) - hospital: Hospital instance - - Returns: - SurveyTemplate or None if not found """ from apps.integrations.models import SurveyTemplateMapping - # Use explicit mapping to get template - survey_template = SurveyTemplateMapping.get_template_for_patient_type( - patient_type, hospital - ) + survey_template = SurveyTemplateMapping.get_template_for_patient_type(patient_type, hospital) return survey_template @@ -199,140 +312,588 @@ class HISAdapter: def get_delay_for_patient_type(patient_type: str, hospital) -> int: """ Get delay hours from SurveyTemplateMapping. - + Falls back to default delays if no mapping found. - - Args: - patient_type: HIS PatientType code (1, 2, 3, 4, O, E) - hospital: Hospital instance - - Returns: - Delay in hours """ from apps.integrations.models import SurveyTemplateMapping - - # Try to get mapping with delay (hospital-specific) + mapping = SurveyTemplateMapping.objects.filter( - patient_type=patient_type, - hospital=hospital, - is_active=True + patient_type=patient_type, hospital=hospital, is_active=True ).first() - + if mapping and mapping.send_delay_hours: return mapping.send_delay_hours - - # Fallback to global mapping + mapping = SurveyTemplateMapping.objects.filter( - patient_type=patient_type, - hospital__isnull=True, - is_active=True + patient_type=patient_type, hospital__isnull=True, is_active=True ).first() - + if mapping and mapping.send_delay_hours: return mapping.send_delay_hours - - # Default delays by patient type + default_delays = { - '1': 24, # Inpatient - 24 hours - '2': 1, # OPD - 1 hour - '3': 2, # EMS - 2 hours - 'O': 1, # OPD - 1 hour - 'E': 2, # EMS - 2 hours - '4': 4, # Daycase - 4 hours + "IP": 24, + "OP": 1, + "ED": 2, + "DAYCASE": 4, } - - return default_delays.get(patient_type, 1) # Default 1 hour + + return default_delays.get(patient_type, 1) + + @staticmethod + def is_op_visit_complete( + visit_timeline: List[Dict], patient_type: str, hospital + ) -> Tuple[bool, Optional[datetime]]: + """ + Check if an OP visit is complete by checking if the last visit event + is older than the configured send_delay_hours. + + Args: + visit_timeline: List of visit events for this patient + patient_type: HIS PatientType code + hospital: Hospital instance + + Returns: + Tuple of (is_complete: bool, last_visit_date: datetime or None) + """ + if not visit_timeline: + return False, None + + last_visit_date = None + for event in visit_timeline: + if event.get("bill_date"): + parsed = HISAdapter.parse_date(event["bill_date"]) + if parsed and (last_visit_date is None or parsed > last_visit_date): + last_visit_date = parsed + + if not last_visit_date: + return False, None + + delay_hours = HISAdapter.get_delay_for_patient_type(patient_type, hospital) + cutoff = timezone.now() - timedelta(hours=delay_hours) + + is_complete = last_visit_date <= cutoff + + return is_complete, last_visit_date + + @staticmethod + def save_patient_visit( + patient: Patient, + hospital: Hospital, + patient_data: Dict, + visit_timeline: List[Dict], + is_visit_complete: bool = False, + discharge_date: Optional[datetime] = None, + effective_discharge_date: Optional[datetime] = None, + ) -> HISPatientVisit: + """ + Create or update HISPatientVisit record. + + This is called on every fetch for every patient, regardless of + whether the visit is complete. + """ + admission_id = patient_data.get("AdmissionID", "") + patient_id_his = str(patient_data.get("PatientID", "")) + patient_type = patient_data.get("PatientType", "") + reg_code = patient_data.get("RegCode", "") + + admit_date_str = patient_data.get("AdmitDate") + admit_date = HISAdapter.parse_date(admit_date_str) if admit_date_str else None + + is_vip = str(patient_data.get("IsVIP", "0")).strip() == "1" + + visit, created = HISPatientVisit.objects.update_or_create( + admission_id=admission_id, + defaults={ + "patient": patient, + "hospital": hospital, + "reg_code": reg_code, + "patient_id_his": patient_id_his, + "patient_type": patient_type, + "admit_date": admit_date, + "discharge_date": discharge_date, + "effective_discharge_date": effective_discharge_date, + "visit_data": patient_data, + "visit_timeline": visit_timeline, + "primary_doctor": patient_data.get("PrimaryDoctor", ""), + "consultant_id": patient_data.get("ConsultantID", ""), + "company_name": patient_data.get("CompanyName", ""), + "grade_name": patient_data.get("GradeName", ""), + "insurance_company_name": patient_data.get("InsuranceCompanyName", ""), + "bill_type": patient_data.get("BillType", ""), + "is_vip": is_vip, + "nationality": patient_data.get("PatientNationality", ""), + "is_visit_complete": is_visit_complete, + "last_his_fetch_at": timezone.now(), + }, + ) + + HISAdapter._resolve_staff_fks(visit, patient_data) + HISAdapter._sync_visit_events(visit, visit_timeline) + + action = "Created" if created else "Updated" + logger.info( + f"{action} HISPatientVisit: {admission_id} type={patient_type} complete={is_visit_complete} patient={patient}" + ) + + return visit + + @staticmethod + def _resolve_staff_fks(visit: HISPatientVisit, patient_data: Dict) -> None: + """ + Match HIS doctor/consultant IDs to Staff records via employee_id. + + HIS formats: + - ConsultantID: "11065" (numeric string only, no name) + - PrimaryDoctor: "16468-HEBA ELSHABOURY ABDELATTY" (ID prefix + dash + name) + + PrimaryDoctor: get_or_create on employee_id (auto-creates Staff from HIS name). + ConsultantID: lookup only (no creation — no name available from HIS). + Uses .update() to avoid extra queries or save signals. + """ + updates = {} + + consultant_raw = patient_data.get("ConsultantID", "").strip() + if consultant_raw and consultant_raw.isdigit(): + consultant = Staff.objects.filter(employee_id=consultant_raw).first() + if consultant: + updates["consultant_fk"] = consultant + + primary_doctor_raw = patient_data.get("PrimaryDoctor", "").strip() + if primary_doctor_raw and "-" in primary_doctor_raw: + doctor_code, doctor_name = primary_doctor_raw.split("-", 1) + doctor_code = doctor_code.strip() + doctor_name = doctor_name.strip() + if doctor_code.isdigit() and doctor_name: + defaults = HISAdapter._staff_defaults_from_name(doctor_name, visit.hospital) + doctor, created = Staff.objects.get_or_create( + employee_id=doctor_code, + defaults=defaults, + ) + if created: + logger.info(f"Auto-created Staff from HIS: {doctor} (employee_id={doctor_code})") + updates["primary_doctor_fk"] = doctor + + if updates: + HISPatientVisit.objects.filter(pk=visit.pk).update(**updates) + + @staticmethod + def _staff_defaults_from_name(full_name: str, hospital: Hospital) -> Dict: + """ + Build Staff defaults dict from a raw HIS doctor name string. + + E.g. "HEBA ELSHABOURY ABDELATTY" → first_name="HEBA", last_name="ELSABOURY ABDELATTY" + """ + parts = full_name.split(None, 1) + first_name = parts[0] if parts else "Doctor" + last_name = parts[1] if len(parts) > 1 else "" + return { + "first_name": first_name, + "last_name": last_name, + "name": full_name, + "staff_type": Staff.StaffType.PHYSICIAN, + "job_title": "Physician", + "hospital": hospital, + "physician": True, + } + + @staticmethod + def _sync_visit_events(visit: HISPatientVisit, visit_timeline: List[Dict]) -> None: + """ + Sync timeline events to HISVisitEvent model. + + Creates/updates HISVisitEvent records from the timeline JSON. + Also auto-creates HISEventType records for unique event types. + """ + from apps.integrations.models import HISVisitEvent, HISEventType + + if not visit_timeline: + return + + existing_keys = set(HISVisitEvent.objects.filter(visit=visit).values_list("bill_date", "event_type")) + + events_to_create = [] + event_types_seen = set() + for event in visit_timeline: + bill_date = event.get("bill_date", "") + event_type = event.get("type", "") + patient_type = event.get("patient_type", "") + key = (bill_date, event_type) + + if key in existing_keys: + continue + + parsed_date_str = event.get("parsed_date") + parsed_date = None + if parsed_date_str: + try: + from datetime import datetime + + parsed_date = datetime.fromisoformat(parsed_date_str.replace("Z", "+00:00")) + except (ValueError, TypeError): + pass + + events_to_create.append( + HISVisitEvent( + visit=visit, + event_type=event_type, + bill_date=bill_date, + parsed_date=parsed_date, + patient_type=patient_type, + visit_category=event.get("visit_category", ""), + admission_id=event.get("admission_id", ""), + patient_id=event.get("patient_id", ""), + reg_code=event.get("reg_code", ""), + ssn=event.get("ssn", ""), + mobile_no=event.get("mobile_no", ""), + ) + ) + + if event_type: + event_types_seen.add((event_type, patient_type)) + + if events_to_create: + HISVisitEvent.objects.bulk_create(events_to_create, ignore_conflicts=True) + logger.info(f"Created {len(events_to_create)} HISVisitEvent records for visit {visit.admission_id}") + + if event_types_seen: + from django.db.models import F + + for event_type, patient_type in event_types_seen: + et, created = HISEventType.objects.get_or_create(event_type=event_type) + if patient_type and patient_type not in et.patient_types: + et.patient_types.append(patient_type) + et.save(update_fields=["patient_types"]) + HISEventType.objects.filter(id=et.id).update(event_count=F("event_count") + 1) @staticmethod def create_and_send_survey( patient: Patient, hospital: Hospital, patient_data: Dict, - survey_template: SurveyTemplate + survey_template: SurveyTemplate = None, + visit_timeline: List[Dict] = None, + his_visit: HISPatientVisit = None, ) -> Optional[SurveyInstance]: """ - Create survey instance and queue for delayed sending. - - NEW: Survey is created with PENDING status and sent after delay. - - Args: - patient: Patient instance - hospital: Hospital instance - patient_data: HIS patient data - survey_template: SurveyTemplate instance - - Returns: - SurveyInstance or None if failed + Create survey instance using the template from SurveyTemplateMapping. + + The template's questions are filtered at display time by the public + serializer - is_base questions are always shown, event_type questions + are only shown if the patient experienced that event. """ + from apps.surveys.models import ( + SurveyInstance, + SurveyStatus, + ) from apps.surveys.tasks import send_scheduled_survey - + admission_id = patient_data.get("AdmissionID") discharge_date_str = patient_data.get("DischargeDate") patient_type = patient_data.get("PatientType") - - # Check if survey already sent for this admission + existing_survey = SurveyInstance.objects.filter( - patient=patient, - hospital=hospital, - metadata__admission_id=admission_id + patient=patient, hospital=hospital, metadata__admission_id=admission_id ).first() - + if existing_survey: logger.info(f"Survey already exists for admission {admission_id}") + if his_visit and not his_visit.survey_instance: + his_visit.survey_instance = existing_survey + his_visit.save(update_fields=["survey_instance"]) return existing_survey - - # Get delay from SurveyTemplateMapping + + if not survey_template: + survey_template = HISAdapter.get_survey_template(patient_type, hospital) + + if not survey_template: + logger.warning(f"No survey template mapping found for {patient_type} at {hospital}") + return None + delay_hours = HISAdapter.get_delay_for_patient_type(patient_type, hospital) - - # Calculate scheduled send time scheduled_send_at = timezone.now() + timedelta(hours=delay_hours) - - # Create survey with PENDING status (NOT SENT) + + effective_discharge = None + if his_visit and his_visit.effective_discharge_date: + effective_discharge = his_visit.effective_discharge_date.isoformat() + + # Collect unique event types from patient's journey for metadata + event_types = [] + if his_visit: + events_qs = his_visit.visit_events.order_by("parsed_date") + for evt in events_qs: + if evt.event_type and evt.event_type not in event_types: + event_types.append(evt.event_type) + survey = SurveyInstance.objects.create( survey_template=survey_template, patient=patient, hospital=hospital, - status=SurveyStatus.PENDING, # Changed from SENT + status=SurveyStatus.PENDING, delivery_channel="SMS", recipient_phone=patient.phone, recipient_email=patient.email, scheduled_send_at=scheduled_send_at, metadata={ - 'admission_id': admission_id, - 'patient_type': patient_type, - 'hospital_id': patient_data.get("HospitalID"), - 'insurance_company': patient_data.get("InsuranceCompanyName"), - 'is_vip': patient_data.get("IsVIP") == "1", - 'discharge_date': discharge_date_str, - 'scheduled_send_at': scheduled_send_at.isoformat(), - 'delay_hours': delay_hours, - } + "admission_id": admission_id, + "patient_type": patient_type, + "hospital_id": patient_data.get("HospitalID"), + "insurance_company": patient_data.get("InsuranceCompanyName"), + "is_vip": patient_data.get("IsVIP") == "1", + "discharge_date": discharge_date_str, + "effective_discharge_date": effective_discharge, + "scheduled_send_at": scheduled_send_at.isoformat(), + "delay_hours": delay_hours, + "visit_timeline": visit_timeline or [], + "event_types": event_types, + "question_source": "template", + }, ) - - # Queue delayed send task - send_scheduled_survey.apply_async( - args=[str(survey.id)], - countdown=delay_hours * 3600 # Convert to seconds - ) - + + send_scheduled_survey.apply_async(args=[str(survey.id)], countdown=delay_hours * 3600) + + if his_visit: + his_visit.survey_instance = survey + his_visit.save(update_fields=["survey_instance"]) + logger.info( - f"Survey {survey.id} created for {patient_type}, " + f"Survey {survey.id} created for {patient_type} (template: {survey_template.name}), " f"will send in {delay_hours}h at {scheduled_send_at}" ) - + return survey - + + @staticmethod + def process_single_patient(his_data: Dict, patient_data: Dict) -> Dict: + """ + Process a single patient from HIS data. + + Two phases: + Phase A: Always save patient and visit data + Phase B: Create survey only if visit is complete + + Args: + his_data: Full HIS response dict (needed for visit timeline extraction) + patient_data: Single patient dict from FetchPatientDataTimeStampList + + Returns: + Dict with processing results + """ + result = { + "success": False, + "message": "", + "patient": None, + "survey": None, + "survey_queued": False, + "visit_saved": False, + "visit_complete": False, + "patient_type": None, + } + + try: + patient_type = patient_data.get("PatientType") + patient_id = str(patient_data.get("PatientID", "")) + discharge_date_str = patient_data.get("DischargeDate") + + hospital = HISAdapter.get_or_create_hospital(patient_data) + if not hospital: + result["message"] = "Could not determine hospital" + return result + + patient = HISAdapter.get_or_create_patient(patient_data, hospital) + result["patient"] = patient + result["patient_type"] = patient_type + + visit_timeline = HISAdapter.extract_patient_visits(his_data, patient_id, patient_type) + + discharge_date = HISAdapter.parse_date(discharge_date_str) if discharge_date_str else None + + is_visit_complete = False + effective_discharge_date = None + + if patient_type and patient_type.upper() in ("ED", "IP"): + if discharge_date: + is_visit_complete = True + else: + result["message"] = f"{patient_type} patient not discharged - visit saved, no survey" + result["success"] = True + result["visit_saved"] = True + HISAdapter.save_patient_visit( + patient, + hospital, + patient_data, + visit_timeline, + is_visit_complete=False, + discharge_date=None, + ) + return result + + elif patient_type and patient_type.upper() == "OP": + is_complete, last_visit_date = HISAdapter.is_op_visit_complete(visit_timeline, patient_type, hospital) + if is_complete: + is_visit_complete = True + effective_discharge_date = last_visit_date + else: + result["message"] = f"OP visit still in progress (last activity: {last_visit_date})" + result["success"] = True + result["visit_saved"] = True + result["visit_complete"] = False + HISAdapter.save_patient_visit( + patient, + hospital, + patient_data, + visit_timeline, + is_visit_complete=False, + discharge_date=None, + ) + return result + else: + if discharge_date: + is_visit_complete = True + else: + result["message"] = f"Patient type {patient_type} not discharged - visit saved, no survey" + result["success"] = True + result["visit_saved"] = True + HISAdapter.save_patient_visit( + patient, + hospital, + patient_data, + visit_timeline, + is_visit_complete=False, + discharge_date=None, + ) + return result + + his_visit = HISAdapter.save_patient_visit( + patient, + hospital, + patient_data, + visit_timeline, + is_visit_complete=is_visit_complete, + discharge_date=discharge_date, + effective_discharge_date=effective_discharge_date, + ) + result["visit_saved"] = True + result["visit_complete"] = True + + if his_visit.survey_instance: + result["message"] = f"Survey already exists for admission {patient_data.get('AdmissionID')}" + result["success"] = True + result["survey"] = his_visit.survey_instance + result["survey_queued"] = True + return result + + survey = HISAdapter.create_and_send_survey( + patient, hospital, patient_data, visit_timeline=visit_timeline, his_visit=his_visit + ) + + if survey: + survey_queued = survey.status == SurveyStatus.PENDING + else: + survey_queued = False + + result.update( + { + "success": True, + "message": "Patient data processed successfully", + "survey": survey, + "survey_queued": survey_queued, + "scheduled_send_at": survey.scheduled_send_at.isoformat() + if survey and survey.scheduled_send_at + else None, + "survey_url": survey.get_survey_url() if survey else None, + } + ) + + except Exception as e: + logger.error(f"Error processing HIS data: {str(e)}", exc_info=True) + result["message"] = f"Error processing HIS data: {str(e)}" + result["success"] = False + + return result + + @staticmethod + def process_his_response(his_data: Dict) -> Dict: + """ + Process a full HIS API response containing multiple patients. + + Iterates each patient in FetchPatientDataTimeStampList, extracts + their visits from the appropriate sublist, saves patient/visit data, + and creates surveys for completed visits. + + Args: + his_data: Full HIS response dict + + Returns: + Dict with summary of processing results + """ + result = { + "success": False, + "total_patients": 0, + "visits_saved": 0, + "surveys_created": 0, + "surveys_skipped": 0, + "errors": [], + "details": [], + } + + try: + if his_data.get("Code") != 200 or his_data.get("Status") != "Success": + result["errors"].append(f"HIS Error: {his_data.get('Message', 'Unknown error')}") + return result + + patient_list = his_data.get("FetchPatientDataTimeStampList", []) + + if not patient_list: + result["message"] = "No patient data found" + result["success"] = True + return result + + result["total_patients"] = len(patient_list) + + for patient_data in patient_list: + patient_result = HISAdapter.process_single_patient(his_data, patient_data) + + detail = { + "patient_name": patient_data.get("PatientName", "Unknown"), + "patient_type": patient_data.get("PatientType"), + "admission_id": patient_data.get("AdmissionID"), + } + + if patient_result["success"]: + if patient_result.get("visit_saved"): + result["visits_saved"] += 1 + + if patient_result.get("visit_complete") and patient_result.get("survey"): + result["surveys_created"] += 1 + detail["survey_created"] = True + elif patient_result.get("visit_complete") and not patient_result.get("survey"): + result["surveys_skipped"] += 1 + detail["reason"] = patient_result.get("message", "No survey created") + else: + detail["reason"] = patient_result.get("message", "Visit in progress") + else: + result["errors"].append(f"{patient_data.get('PatientName')}: {patient_result.get('message')}") + detail["error"] = patient_result.get("message") + + result["details"].append(detail) + + result["success"] = True + + except Exception as e: + logger.error(f"Error processing HIS response: {str(e)}", exc_info=True) + result["errors"].append(str(e)) + + return result + @staticmethod def process_his_data(his_data: Dict) -> Dict: """ - Main method to process HIS patient data and send surveys. + Process HIS patient data (webhook/push flow). - Simplified Flow: - 1. Extract patient data - 2. Get or create patient and hospital - 3. Determine survey type from PatientType - 4. Create survey with PENDING status - 5. Queue delayed send task + Handles a full HIS payload received via webhook. + Processes the first patient in the list. + For the pull flow, use process_his_response() instead. Args: his_data: HIS data in real format @@ -340,81 +901,14 @@ class HISAdapter: Returns: Dict with processing results """ - result = { - 'success': False, - 'message': '', - 'patient': None, - 'survey': None, - 'survey_queued': False - } + patient_list = his_data.get("FetchPatientDataTimeStampList", []) - try: - # Extract patient data - patient_list = his_data.get("FetchPatientDataTimeStampList", []) + if not patient_list: + return {"success": False, "message": "No patient data found"} - if not patient_list: - result['message'] = "No patient data found" - return result + patient_data = patient_list[0] - patient_data = patient_list[0] + if his_data.get("Code") != 200 or his_data.get("Status") != "Success": + return {"success": False, "message": f"HIS Error: {his_data.get('Message', 'Unknown error')}"} - # Validate status - if his_data.get("Code") != 200 or his_data.get("Status") != "Success": - result['message'] = f"HIS Error: {his_data.get('Message', 'Unknown error')}" - return result - - # Check if patient is discharged (required for ALL patient types) - patient_type = patient_data.get("PatientType") - discharge_date_str = patient_data.get("DischargeDate") - - # All patient types require discharge date - if not discharge_date_str: - result['message'] = f'Patient type {patient_type} not discharged - no survey sent' - result['success'] = True # Not an error, just no action needed - return result - - # Get or create hospital - hospital = HISAdapter.get_or_create_hospital(patient_data) - if not hospital: - result['message'] = "Could not determine hospital" - return result - - # Get or create patient - patient = HISAdapter.get_or_create_patient(patient_data, hospital) - - # Get survey template based on PatientType - patient_type = patient_data.get("PatientType") - survey_template = HISAdapter.get_survey_template(patient_type, hospital) - - if not survey_template: - result['message'] = f"No survey template found for patient type '{patient_type}'" - return result - - # Create and queue survey (delayed sending) - survey = HISAdapter.create_and_send_survey( - patient, hospital, patient_data, survey_template - ) - - if survey: - # Survey is queued with PENDING status - survey_queued = survey.status == SurveyStatus.PENDING - else: - survey_queued = False - - result.update({ - 'success': True, - 'message': 'Patient data processed successfully', - 'patient': patient, - 'patient_type': patient_type, - 'survey': survey, - 'survey_queued': survey_queued, - 'scheduled_send_at': survey.scheduled_send_at.isoformat() if survey and survey.scheduled_send_at else None, - 'survey_url': survey.get_survey_url() if survey else None - }) - - except Exception as e: - logger.error(f"Error processing HIS data: {str(e)}", exc_info=True) - result['message'] = f"Error processing HIS data: {str(e)}" - result['success'] = False - - return result \ No newline at end of file + return HISAdapter.process_single_patient(his_data, patient_data) diff --git a/apps/integrations/services/his_client.py b/apps/integrations/services/his_client.py index 7d6e5f8..3141880 100644 --- a/apps/integrations/services/his_client.py +++ b/apps/integrations/services/his_client.py @@ -77,213 +77,183 @@ class HISClient: return (self.username, self.password) return None - def fetch_patients( - self, since: Optional[datetime] = None, patient_type: Optional[str] = None, limit: int = 100 - ) -> List[Dict]: + def fetch_patient_data(self, since: Optional[datetime] = None, until: Optional[datetime] = None) -> Optional[Dict]: """ - Fetch patients from HIS system. + Fetch full patient data from HIS system including visit timelines. + + Returns the complete HIS response dict with all arrays intact: + - FetchPatientDataTimeStampList + - FetchPatientDataTimeStampVisitEDDataList + - FetchPatientDataTimeStampVisitIPDataList + - FetchPatientDataTimeStampVisitOPDataList Args: - since: Only fetch patients updated since this datetime - patient_type: Filter by patient type (1=Inpatient, 2=OPD, 3=EMS) - limit: Maximum number of patients to fetch + since: Only fetch patients since this datetime + until: Only fetch patients until this datetime (optional) Returns: - List of patient data dictionaries in HIS format + Full HIS response dict or None if error """ api_url = self._get_api_url() if not api_url: logger.error("No HIS API URL configured") - return [] + return None try: - # Build URL with query parameters for the new endpoint format if since: - # Calculate end time (5 minutes window since this runs every 5 minutes) - end_time = since + timedelta(minutes=5) - - # Format dates for HIS API: DD-Mon-YYYY HH:MM:SS - from_date = self._format_datetime(since) - to_date = self._format_datetime(end_time) - - # Build URL with parameters (SSN=0 and MobileNo=0 to get all) - url = f"{api_url}?FromDate={quote(from_date)}&ToDate={quote(to_date)}&SSN=0&MobileNo=0" + end_time = until if until else timezone.now() else: - # If no since time, use last 10 minutes as default end_time = timezone.now() - start_time = end_time - timedelta(minutes=10) + since = end_time - timedelta(minutes=5) - from_date = self._format_datetime(start_time) - to_date = self._format_datetime(end_time) + from_date = self._format_datetime(since) + to_date = self._format_datetime(end_time) - url = f"{api_url}?FromDate={quote(from_date)}&ToDate={quote(to_date)}&SSN=0&MobileNo=0" + url = f"{api_url}?FromDate={quote(from_date)}&ToDate={quote(to_date)}&SSN=0&MobileNo=0" - logger.info(f"Fetching patients from HIS: {url}") + logger.info(f"Fetching patient data from HIS: {url}") - # Make request with Basic Auth response = self.session.get( url, headers=self._get_headers(), auth=self._get_auth(), timeout=30, - verify=True, # Set to False if SSL certificate issues + verify=True, ) response.raise_for_status() - # Parse response data = response.json() - # Handle different response formats - if isinstance(data, list): - patients = data - elif isinstance(data, dict): - patients = data.get("FetchPatientDataTimeStampList", []) - # Alternative formats - if not patients: - patients = data.get("patients", []) - if not patients: - patients = data.get("data", []) + if isinstance(data, dict): + patient_count = len(data.get("FetchPatientDataTimeStampList", [])) + logger.info(f"Fetched {patient_count} patients from HIS") + return data else: - patients = [] - - logger.info(f"Fetched {len(patients)} patients from HIS") - return patients + logger.error(f"Unexpected HIS response type: {type(data)}") + return None except requests.exceptions.RequestException as e: - logger.error(f"Error fetching patients from HIS: {e}") - return [] + logger.error(f"Error fetching patient data from HIS: {e}") + return None except Exception as e: - logger.error(f"Unexpected error fetching patients: {e}") - return [] + logger.error(f"Unexpected error fetching patient data from HIS: {e}") + return None - # Build query parameters - params = {"limit": limit} - - if since: - # Format: DD-Mon-YYYY HH:MM (HIS format) - params["since"] = self._format_datetime(since) - - if patient_type: - params["patient_type"] = patient_type - - # Additional config params from IntegrationConfig - if self.config and self.config.config_json: - config_params = self.config.config_json.get("fetch_params", {}) - params.update(config_params) - - try: - logger.info(f"Fetching patients from HIS: {api_url}") - - response = self.session.get(api_url, headers=self._get_headers(), params=params, timeout=30) - response.raise_for_status() - - data = response.json() - - # Handle different response formats - if isinstance(data, list): - patients = data - elif isinstance(data, dict): - # Standard HIS format - patients = data.get("FetchPatientDataTimeStampList", []) - # Alternative formats - if not patients: - patients = data.get("patients", []) - if not patients: - patients = data.get("data", []) - else: - patients = [] - - logger.info(f"Fetched {len(patients)} patients from HIS") - return patients - - except requests.exceptions.RequestException as e: - logger.error(f"Error fetching patients from HIS: {e}") - return [] - except Exception as e: - logger.error(f"Unexpected error fetching patients: {e}") - return [] - - def fetch_discharged_patients(self, since: Optional[datetime] = None, limit: int = 100) -> List[Dict]: + def fetch_doctor_ratings(self, from_date: datetime, to_date: datetime) -> Optional[Dict]: """ - Fetch discharged patients who need surveys. - - This is the main method for survey fetching - only discharged - patients are eligible for surveys. + Fetch doctor ratings from HIS FetchDoctorRatingMAPI1 endpoint. Args: - since: Only fetch patients discharged since this datetime - limit: Maximum number of patients to fetch + from_date: Start date for ratings + to_date: End date for ratings Returns: - List of patient data dictionaries in HIS format + HIS response dict with FetchDoctorRatingMAPI1List or None on error """ - api_url = self._get_api_url() + api_url = os.getenv("HIS_RATINGS_API_URL") if not api_url: - logger.error("No HIS API URL configured") - return [] + logger.error("HIS_RATINGS_API_URL not configured in environment") + return None try: - # Build URL with query parameters for the new endpoint format - if since: - # Calculate end time (5 minutes window since this runs every 5 minutes) - end_time = since + timedelta(minutes=5) + from_date_str = self._format_datetime(from_date) + to_date_str = self._format_datetime(to_date) - # Format dates for HIS API: DD-Mon-YYYY HH:MM:SS - from_date = self._format_datetime(since) - to_date = self._format_datetime(end_time) + url = f"{api_url}?FromDate={quote(from_date_str)}&ToDate={quote(to_date_str)}&SSN=0&MobileNo=0" - # Build URL with parameters (SSN=0 and MobileNo=0 to get all) - url = f"{api_url}?FromDate={quote(from_date)}&ToDate={quote(to_date)}&SSN=0&MobileNo=0" - else: - # If no since time, use last 10 minutes as default - end_time = timezone.now() - start_time = end_time - timedelta(minutes=10) + logger.info(f"Fetching doctor ratings from HIS: {url}") - from_date = self._format_datetime(start_time) - to_date = self._format_datetime(end_time) - - url = f"{api_url}?FromDate={quote(from_date)}&ToDate={quote(to_date)}&SSN=0&MobileNo=0" - - logger.info(f"Fetching discharged patients from HIS: {url}") - - # Make request with Basic Auth response = self.session.get( url, headers=self._get_headers(), auth=self._get_auth(), timeout=30, - verify=True, # Set to False if SSL certificate issues + verify=True, ) response.raise_for_status() data = response.json() - # Parse response - if isinstance(data, list): - patients = data - elif isinstance(data, dict): - patients = data.get("FetchPatientDataTimeStampList", []) - if not patients: - patients = data.get("patients", []) - if not patients: - patients = data.get("data", []) + if isinstance(data, dict): + rating_count = len(data.get("FetchDoctorRatingMAPI1List", [])) + logger.info(f"Fetched {rating_count} doctor ratings from HIS") + return data else: - patients = [] - - # Filter only discharged patients - discharged = [ - p - for p in patients - if p.get("DischargeDate") - or (isinstance(p, dict) and p.get("FetchPatientDataTimeStampList", [{}])[0].get("DischargeDate")) - ] - - logger.info(f"Fetched {len(discharged)} discharged patients from HIS") - return discharged + logger.error(f"Unexpected HIS response type: {type(data)}") + return None except requests.exceptions.RequestException as e: - logger.error(f"Error fetching discharged patients: {e}") - return [] + logger.error(f"Error fetching doctor ratings from HIS: {e}") + return None + except Exception as e: + logger.error(f"Unexpected error fetching doctor ratings from HIS: {e}") + return None + + def fetch_patient_by_identifier(self, ssn: Optional[str] = None, mobile_no: Optional[str] = None) -> Optional[Dict]: + """ + Search HIS for a patient by SSN or Mobile number. + + Uses a wide date range (5 years) since we are searching by + identifier rather than date. Returns only the patient + demographics list from the HIS response. + + Args: + ssn: Patient SSN/National ID + mobile_no: Patient mobile number + + Returns: + List of patient demographic dicts from HIS, or None on error + """ + if not ssn and not mobile_no: + logger.warning("fetch_patient_by_identifier called without SSN or MobileNo") + return None + + api_url = self._get_api_url() + if not api_url: + logger.error("No HIS API URL configured") + return None + + try: + end_time = timezone.now() + since = end_time - timedelta(days=365 * 5) + + from_date = self._format_datetime(since) + to_date = self._format_datetime(end_time) + ssn_param = ssn or "0" + mobile_param = mobile_no or "0" + + url = ( + f"{api_url}?FromDate={quote(from_date)}&ToDate={quote(to_date)}" + f"&SSN={quote(ssn_param)}&MobileNo={quote(mobile_param)}" + ) + + logger.info(f"Searching HIS by identifier: SSN={ssn_param}, Mobile={mobile_param}") + + response = self.session.get( + url, + headers=self._get_headers(), + auth=self._get_auth(), + timeout=30, + verify=True, + ) + response.raise_for_status() + + data = response.json() + + if isinstance(data, dict): + patients = data.get("FetchPatientDataTimeStampList", []) + logger.info(f"HIS identifier search returned {len(patients)} patients") + return patients + else: + logger.error(f"Unexpected HIS response type: {type(data)}") + return None + + except requests.exceptions.RequestException as e: + logger.error(f"Error searching HIS by identifier: {e}") + return None + except Exception as e: + logger.error(f"Unexpected error searching HIS by identifier: {e}") + return None def fetch_patient_visits(self, patient_id: str) -> List[Dict]: """ diff --git a/apps/integrations/tasks.py b/apps/integrations/tasks.py index 4302d32..9edd537 100644 --- a/apps/integrations/tasks.py +++ b/apps/integrations/tasks.py @@ -10,6 +10,7 @@ This module contains the core event processing logic that: """ import logging +from datetime import datetime from celery import shared_task from django.db import transaction @@ -208,163 +209,59 @@ def process_pending_events(): # ============================================================================= -@shared_task -def test_fetch_his_surveys_from_json(): - """ - TEST TASK - Fetch surveys from local JSON file instead of HIS API. - - This is a clone of fetch_his_surveys for testing purposes. - Reads from /home/ismail/projects/HH/data.json - - TODO: Remove this task after testing is complete. - - Returns: - dict: Summary of fetched and processed surveys - """ - import json - from pathlib import Path - from apps.integrations.services.his_adapter import HISAdapter - - logger.info("Starting TEST HIS survey fetch from JSON file") - - result = { - "success": False, - "patients_fetched": 0, - "surveys_created": 0, - "surveys_queued": 0, - "errors": [], - "details": [], - } - - try: - # Read JSON file - json_path = Path("/home/ismail/projects/HH/data.json") - if not json_path.exists(): - error_msg = f"JSON file not found: {json_path}" - logger.error(error_msg) - result["errors"].append(error_msg) - return result - - with open(json_path, 'r') as f: - his_data = json.load(f) - - # Extract patient list - patient_list = his_data.get("FetchPatientDataTimeStampList", []) - - if not patient_list: - logger.warning("No patient data found in JSON file") - result["errors"].append("No patient data found") - return result - - logger.info(f"Found {len(patient_list)} patients in JSON file") - result["patients_fetched"] = len(patient_list) - - # Process each patient - for patient_data in patient_list: - try: - # Wrap in proper format for HISAdapter - patient_payload = { - "FetchPatientDataTimeStampList": [patient_data], - "FetchPatientDataTimeStampVisitDataList": [], - "Code": 200, - "Status": "Success", - } - - # Process using HISAdapter - process_result = HISAdapter.process_his_data(patient_payload) - - if process_result["success"]: - result["surveys_created"] += 1 - - if process_result.get("survey_queued"): - result["surveys_queued"] += 1 - - # Log survey details - survey = process_result.get("survey") - if survey: - logger.info( - f"Survey queued for {patient_data.get('PatientName')}: " - f"Type={patient_data.get('PatientType')}, " - f"Scheduled={survey.scheduled_send_at}, " - f"Delay={process_result.get('metadata', {}).get('delay_hours', 'N/A')}h" - ) - else: - logger.info( - f"Survey created but not queued for {patient_data.get('PatientName')}" - ) - else: - # Not an error - patient may not be discharged - if "not discharged" in process_result.get("message", ""): - logger.debug( - f"Skipping {patient_data.get('PatientName')}: Not discharged" - ) - else: - logger.warning( - f"Failed to process {patient_data.get('PatientName')}: " - f"{process_result.get('message', 'Unknown error')}" - ) - result["errors"].append( - f"{patient_data.get('PatientName')}: {process_result.get('message')}" - ) - - except Exception as e: - error_msg = f"Error processing patient {patient_data.get('PatientName', 'Unknown')}: {str(e)}" - logger.error(error_msg, exc_info=True) - result["errors"].append(error_msg) - - result["success"] = True - - logger.info( - f"TEST HIS survey fetch completed: " - f"{result['patients_fetched']} patients, " - f"{result['surveys_created']} surveys created, " - f"{result['surveys_queued']} surveys queued" - ) - - except Exception as e: - error_msg = f"Fatal error in test_fetch_his_surveys_from_json: {str(e)}" - logger.error(error_msg, exc_info=True) - result["errors"].append(error_msg) - - return result +def _parse_his_date(date_str): + """Parse HIS date format 'DD-Mon-YYYY HH:MM:SS' to timezone-aware datetime.""" + if not date_str: + return None + for fmt in ("%d-%b-%Y %H:%M:%S", "%d-%b-%Y %H:%M"): + try: + naive = datetime.strptime(date_str, fmt) + return timezone.make_aware(naive) + except ValueError: + continue + return None @shared_task -def fetch_his_surveys(): +def fetch_his_surveys(from_date_str=None, to_date_str=None): """ - Periodic task to fetch surveys from HIS system every 5 minutes. + Periodic task to fetch patient data from HIS system every 5 minutes. This task: 1. Connects to configured HIS API endpoints - 2. Fetches discharged patients for the last 5-minute window - 3. Processes each patient using HISAdapter - 4. Creates and sends surveys via SMS + 2. Fetches all patients from the last 5 minutes (or custom date range) + 3. Saves patient and visit data for every patient (all types) + 4. Creates surveys only for patients whose visit is complete: + - ED/IP: DischargeDate present + - OP: last visit event is older than configured delay hours + + Args: + from_date_str: Optional override - fetch from this date (DD-Mon-YYYY HH:MM:SS) + to_date_str: Optional override - fetch until this date (DD-Mon-YYYY HH:MM:SS) Scheduled to run every 5 minutes via Celery Beat. Returns: - dict: Summary of fetched and processed surveys + dict: Summary of fetched and processed data """ - from datetime import timedelta + from datetime import datetime, timedelta - from apps.integrations.models import IntegrationConfig, SourceSystem from apps.integrations.services.his_adapter import HISAdapter from apps.integrations.services.his_client import HISClient, HISClientFactory - logger.info("Starting HIS survey fetch task") + logger.info("Starting HIS patient data fetch task") result = { "success": False, "clients_processed": 0, - "patients_fetched": 0, + "total_patients": 0, + "visits_saved": 0, "surveys_created": 0, - "surveys_sent": 0, "errors": [], "details": [], } try: - # Get all active HIS clients clients = HISClientFactory.get_all_active_clients() if not clients: @@ -373,23 +270,30 @@ def fetch_his_surveys(): result["errors"].append(msg) return result - # Calculate fetch window (last 5 minutes) - # This ensures we don't miss any patients due to timing issues - fetch_since = timezone.now() - timedelta(minutes=5) + if from_date_str and to_date_str: + fetch_since = _parse_his_date(from_date_str) + fetch_until = _parse_his_date(to_date_str) + if not fetch_since or not fetch_until: + msg = f"Invalid date format: from_date={from_date_str}, to_date={to_date_str}" + result["errors"].append(msg) + return result + logger.info(f"Using custom date range: {fetch_since} to {fetch_until}") + else: + fetch_since = timezone.now() - timedelta(minutes=5) + fetch_until = None - logger.info(f"Fetching discharged patients since {fetch_since}") + logger.info(f"Fetching patient data since {fetch_since}") for client in clients: client_result = { "config": client.config.name if client.config else "Default", - "patients_fetched": 0, + "total_patients": 0, + "visits_saved": 0, "surveys_created": 0, - "surveys_sent": 0, "errors": [], } try: - # Test connection first connection_test = client.test_connection() if not connection_test["success"]: error_msg = f"HIS connection failed for {client_result['config']}: {connection_test['message']}" @@ -398,59 +302,36 @@ def fetch_his_surveys(): result["details"].append(client_result) continue - logger.info(f"Fetching discharged patients from {client_result['config']} since {fetch_since}") + logger.info(f"Fetching patient data from {client_result['config']}") - # Fetch discharged patients for the 5-minute window - patients = client.fetch_discharged_patients( - since=fetch_since, - limit=100, # Max 100 patients per fetch - ) + his_data = client.fetch_patient_data(since=fetch_since, until=fetch_until) - client_result["patients_fetched"] = len(patients) - result["patients_fetched"] += len(patients) - - if not patients: - logger.info(f"No new discharged patients found in {client_result['config']}") + if not his_data: + logger.info(f"No data returned from {client_result['config']}") result["details"].append(client_result) continue - logger.info(f"Fetched {len(patients)} patients from {client_result['config']}") + patient_list = his_data.get("FetchPatientDataTimeStampList", []) + client_result["total_patients"] = len(patient_list) + result["total_patients"] += len(patient_list) - # Process each patient - for patient_data in patients: - try: - # Ensure patient data is in proper HIS format - if isinstance(patient_data, dict): - if "FetchPatientDataTimeStampList" not in patient_data: - # Wrap in proper format if needed - patient_data = { - "FetchPatientDataTimeStampList": [patient_data], - "FetchPatientDataTimeStampVisitDataList": [], - "Code": 200, - "Status": "Success", - } + if not patient_list: + logger.info(f"No patients found in {client_result['config']}") + result["details"].append(client_result) + continue - # Process using HISAdapter - process_result = HISAdapter.process_his_data(patient_data) + logger.info(f"Fetched {len(patient_list)} patients from {client_result['config']}") - if process_result["success"]: - client_result["surveys_created"] += 1 - result["surveys_created"] += 1 + process_result = HISAdapter.process_his_response(his_data) - if process_result.get("survey_sent"): - client_result["surveys_sent"] += 1 - result["surveys_sent"] += 1 - else: - error_msg = f"Failed to process patient: {process_result.get('message', 'Unknown error')}" - logger.warning(error_msg) - client_result["errors"].append(error_msg) + client_result["visits_saved"] = process_result.get("visits_saved", 0) + client_result["surveys_created"] = process_result.get("surveys_created", 0) + client_result["errors"] = process_result.get("errors", []) - except Exception as e: - error_msg = f"Error processing patient data: {str(e)}" - logger.error(error_msg, exc_info=True) - client_result["errors"].append(error_msg) + result["visits_saved"] += client_result["visits_saved"] + result["surveys_created"] += client_result["surveys_created"] + result["errors"].extend(client_result["errors"]) - # Update last sync timestamp if client.config: client.config.last_sync_at = timezone.now() client.config.save(update_fields=["last_sync_at"]) @@ -467,10 +348,10 @@ def fetch_his_surveys(): result["success"] = True logger.info( - f"HIS survey fetch completed: {result['clients_processed']} clients, " - f"{result['patients_fetched']} patients, " - f"{result['surveys_created']} surveys created, " - f"{result['surveys_sent']} surveys sent" + f"HIS fetch completed: {result['clients_processed']} clients, " + f"{result['total_patients']} patients, " + f"{result['visits_saved']} visits saved, " + f"{result['surveys_created']} surveys created" ) except Exception as e: diff --git a/apps/integrations/urls.py b/apps/integrations/urls.py index a9e2ef7..da193b4 100644 --- a/apps/integrations/urls.py +++ b/apps/integrations/urls.py @@ -7,23 +7,27 @@ from .views import ( HISPatientDataView, InboundEventViewSet, IntegrationConfigViewSet, + SimulateHISPayloadView, + TestHISDataView, ) -app_name = 'integrations' +app_name = "integrations" router = DefaultRouter() -router.register(r'configs', IntegrationConfigViewSet, basename='integration-config') -router.register(r'mappings', EventMappingViewSet, basename='event-mapping') -router.register(r'legacy-events', InboundEventViewSet, basename='inbound-event') -router.register(r'survey-template-mappings', SurveyTemplateMappingViewSet, basename='survey-template-mapping') +router.register(r"configs", IntegrationConfigViewSet, basename="integration-config") +router.register(r"mappings", EventMappingViewSet, basename="event-mapping") +router.register(r"legacy-events", InboundEventViewSet, basename="inbound-event") +router.register(r"survey-template-mappings", SurveyTemplateMappingViewSet, basename="survey-template-mapping") urlpatterns = [ # Survey template mapping settings page - path('settings/survey-mappings/', survey_mapping_settings, name='survey-mapping-settings'), - + path("settings/survey-mappings/", survey_mapping_settings, name="survey-mapping-settings"), # Main HIS integration endpoint - receives complete patient data - path('events/', HISPatientDataView.as_view(), name='his-patient-data'), - + path("events/", HISPatientDataView.as_view(), name="his-patient-data"), + # Test HIS data endpoint - mimics real HIS API from loaded test data + path("test-his-data/", TestHISDataView.as_view(), name="test-his-data"), + # Simulate HIS payload - POST data to test the full pipeline + path("simulate-his-payload/", SimulateHISPayloadView.as_view(), name="simulate-his-payload"), # Legacy event-based endpoint (deprecated, kept for backward compatibility) - path('', include(router.urls)), + path("", include(router.urls)), ] diff --git a/apps/integrations/views.py b/apps/integrations/views.py index 187bac2..73c690c 100644 --- a/apps/integrations/views.py +++ b/apps/integrations/views.py @@ -1,7 +1,9 @@ """ Integrations views and viewsets """ + import logging +from datetime import datetime from rest_framework import status, views, viewsets from rest_framework.decorators import action @@ -11,7 +13,7 @@ from rest_framework.response import Response from apps.accounts.permissions import IsPXAdmin from apps.core.services import AuditService -from .models import EventMapping, InboundEvent, IntegrationConfig +from .models import EventMapping, HISTestPatient, HISTestVisit, InboundEvent, IntegrationConfig from .serializers import ( EventMappingSerializer, HISPatientDataSerializer, @@ -19,20 +21,20 @@ from .serializers import ( ) from .services.his_adapter import HISAdapter -logger = logging.getLogger('apps.integrations') +logger = logging.getLogger("apps.integrations") class HISPatientDataView(views.APIView): """ API View for receiving complete HIS patient data. - + This replaces the old event-based approach. HIS systems send complete patient data including demographics and visit timeline. The system determines survey type from PatientType and sends appropriate survey via SMS. - + POST /api/integrations/events/ - Send complete HIS patient data - + Request Format: { "FetchPatientDataTimeStampList": [{...patient demographics...}], @@ -43,13 +45,13 @@ class HISPatientDataView(views.APIView): "Code": 200, "Status": "Success" } - + PatientType Codes: - "1" → Inpatient Survey - "2" or "O" → OPD Survey - "3" or "E" → EMS Survey - "4" or "D" → Day Case Survey - + Response Format: { "success": true, @@ -68,43 +70,37 @@ class HISPatientDataView(views.APIView): "survey_sent": true } """ + permission_classes = [] # Allow public access for HIS integration - + def post(self, request): """Process HIS patient data and create/send survey""" # Validate HIS data format serializer = HISPatientDataSerializer(data=request.data) - + if not serializer.is_valid(): return Response( - { - 'success': False, - 'error': 'Invalid HIS data format', - 'details': serializer.errors - }, - status=status.HTTP_400_BAD_REQUEST + {"success": False, "error": "Invalid HIS data format", "details": serializer.errors}, + status=status.HTTP_400_BAD_REQUEST, ) - + his_data = serializer.validated_data - + # Log the incoming data patient_list = his_data.get("FetchPatientDataTimeStampList", []) patient_data = patient_list[0] if patient_list else {} patient_id = patient_data.get("PatientID", "Unknown") patient_type = patient_data.get("PatientType", "Unknown") - - logger.info( - f"HIS patient data received: PatientID={patient_id}, " - f"PatientType={patient_type}" - ) - + + logger.info(f"HIS patient data received: PatientID={patient_id}, PatientType={patient_type}") + # Process HIS data using HISAdapter result = HISAdapter.process_his_data(his_data) - + # Create audit log - if result['success']: + if result["success"]: AuditService.log_from_request( - event_type='his_integration', + event_type="his_integration", description=( f"HIS patient data processed: PatientID={patient_id}, " f"PatientType={patient_type}, " @@ -112,145 +108,380 @@ class HISPatientDataView(views.APIView): ), request=request, metadata={ - 'patient_id': patient_id, - 'patient_type': patient_type, - 'survey_sent': result.get('survey_sent', False), - 'survey_id': result.get('survey').id if result.get('survey') else None - } + "patient_id": patient_id, + "patient_type": patient_type, + "survey_sent": result.get("survey_sent", False), + "survey_id": result.get("survey").id if result.get("survey") else None, + }, ) - + # Prepare response - response_data = { - 'success': result['success'], - 'message': result['message'] - } - + response_data = {"success": result["success"], "message": result["message"]} + # Add patient info if available - if result.get('patient'): - patient = result['patient'] - response_data['patient'] = { - 'id': patient.id, - 'mrn': patient.mrn, - 'name': f"{patient.first_name} {patient.last_name}".strip() + if result.get("patient"): + patient = result["patient"] + response_data["patient"] = { + "id": patient.id, + "mrn": patient.mrn, + "name": f"{patient.first_name} {patient.last_name}".strip(), } - response_data['patient_type'] = result.get('patient_type') - + response_data["patient_type"] = result.get("patient_type") + # Add survey info if available - if result.get('survey'): - survey = result['survey'] - response_data['survey'] = { - 'id': survey.id, - 'status': survey.status, - 'survey_url': survey.get_survey_url() - } - response_data['survey_sent'] = result.get('survey_sent', False) - + if result.get("survey"): + survey = result["survey"] + response_data["survey"] = {"id": survey.id, "status": survey.status, "survey_url": survey.get_survey_url()} + response_data["survey_sent"] = result.get("survey_sent", False) + # Return appropriate status code - if result['success']: + if result["success"]: status_code = status.HTTP_200_OK else: status_code = status.HTTP_400_BAD_REQUEST - + return Response(response_data, status=status_code) class InboundEventViewSet(viewsets.ModelViewSet): """ Legacy ViewSet for Inbound Events (DEPRECATED). - + This viewset is kept for backward compatibility but is no longer the primary integration method. Use HISPatientDataView instead. """ + queryset = InboundEvent.objects.all() permission_classes = [IsAuthenticated, IsPXAdmin] - filterset_fields = ['status', 'source_system', 'event_code', 'encounter_id'] - search_fields = ['encounter_id', 'patient_identifier', 'event_code'] - ordering_fields = ['received_at', 'processed_at'] - ordering = ['-received_at'] - + filterset_fields = ["status", "source_system", "event_code", "encounter_id"] + search_fields = ["encounter_id", "patient_identifier", "event_code"] + ordering_fields = ["received_at", "processed_at"] + ordering = ["-received_at"] + def get_serializer_class(self): """Return appropriate serializer based on action""" from .serializers import ( InboundEventSerializer, InboundEventListSerializer, ) - if self.action == 'list': + + if self.action == "list": return InboundEventListSerializer return InboundEventSerializer - - @action(detail=False, methods=['post'], permission_classes=[IsPXAdmin]) + + @action(detail=False, methods=["post"], permission_classes=[IsPXAdmin]) def bulk_create(self, request): """ Bulk create events. - + DEPRECATED: This endpoint is kept for backward compatibility. Use HISPatientDataView for new integrations. """ from .serializers import InboundEventCreateSerializer - - events_data = request.data.get('events', []) - + + events_data = request.data.get("events", []) + if not events_data: - return Response( - {'error': 'No events provided'}, - status=status.HTTP_400_BAD_REQUEST - ) - + return Response({"error": "No events provided"}, status=status.HTTP_400_BAD_REQUEST) + created_events = [] errors = [] - + for event_data in events_data: serializer = InboundEventCreateSerializer(data=event_data) if serializer.is_valid(): event = serializer.save() created_events.append(event) else: - errors.append({ - 'data': event_data, - 'errors': serializer.errors - }) - - return Response({ - 'created': len(created_events), - 'failed': len(errors), - 'errors': errors, - 'message': 'This endpoint is deprecated. Use HISPatientDataView for new integrations.' - }, status=status.HTTP_201_CREATED if created_events else status.HTTP_400_BAD_REQUEST) + errors.append({"data": event_data, "errors": serializer.errors}) + + return Response( + { + "created": len(created_events), + "failed": len(errors), + "errors": errors, + "message": "This endpoint is deprecated. Use HISPatientDataView for new integrations.", + }, + status=status.HTTP_201_CREATED if created_events else status.HTTP_400_BAD_REQUEST, + ) class IntegrationConfigViewSet(viewsets.ModelViewSet): """ ViewSet for Integration Configurations. - + Permissions: - Only PX Admins can manage integration configurations """ + queryset = IntegrationConfig.objects.all() serializer_class = IntegrationConfigSerializer permission_classes = [IsPXAdmin] - filterset_fields = ['source_system', 'is_active'] - search_fields = ['name', 'description'] - ordering_fields = ['name', 'created_at'] - ordering = ['name'] - + filterset_fields = ["source_system", "is_active"] + search_fields = ["name", "description"] + ordering_fields = ["name", "created_at"] + ordering = ["name"] + def get_queryset(self): - return super().get_queryset().prefetch_related('event_mappings') + return super().get_queryset().prefetch_related("event_mappings") class EventMappingViewSet(viewsets.ModelViewSet): """ ViewSet for Event Mappings. - + Permissions: - Only PX Admins can manage event mappings """ + queryset = EventMapping.objects.all() serializer_class = EventMappingSerializer permission_classes = [IsPXAdmin] - filterset_fields = ['integration_config', 'is_active'] - search_fields = ['external_event_code', 'internal_event_code'] - ordering_fields = ['external_event_code'] - ordering = ['integration_config', 'external_event_code'] - + filterset_fields = ["integration_config", "is_active"] + search_fields = ["external_event_code", "internal_event_code"] + ordering_fields = ["external_event_code"] + ordering = ["integration_config", "external_event_code"] + def get_queryset(self): - return super().get_queryset().select_related('integration_config') \ No newline at end of file + return super().get_queryset().select_related("integration_config") + + +class TestHISDataView(views.APIView): + """ + Test endpoint that mimics the real HIS API. + + GET /api/integrations/test-his-data/?FromDate=...&ToDate=...&SSN=...&MobileNo=... + + Reads from HISTestPatient/HISTestVisit tables (loaded via load_his_test_data command). + Supports the same query parameters as the real HIS API: + - FromDate / ToDate: Filter by AdmitDate range (format: DD-Mon-YYYY HH:MM:SS) + - SSN: Filter by SSN ("0" = all) + - MobileNo: Filter by MobileNo ("0" = all) + """ + + permission_classes = [] + + def _parse_his_date(self, date_str): + if not date_str: + return None + try: + from django.utils import timezone + + naive = datetime.strptime(date_str, "%d-%b-%Y %H:%M:%S") + return timezone.make_aware(naive) + except ValueError: + pass + try: + from django.utils import timezone + + naive = datetime.strptime(date_str, "%d-%b-%Y %H:%M") + return timezone.make_aware(naive) + except ValueError: + return None + + def get(self, request): + from_date_str = request.GET.get("FromDate") + to_date_str = request.GET.get("ToDate") + ssn = request.GET.get("SSN", "0") + mobile_no = request.GET.get("MobileNo", "0") + + from_date = self._parse_his_date(from_date_str) + to_date = self._parse_his_date(to_date_str) + + if from_date and to_date and to_date < from_date: + return Response( + {"Code": 400, "Status": "Error", "Message": "ToDate must be after FromDate"}, + status=status.HTTP_400_BAD_REQUEST, + ) + + qs = HISTestPatient.objects.all() + + if from_date: + qs = qs.filter(admit_date__gte=from_date) + + if to_date: + qs = qs.filter(admit_date__lte=to_date) + + if ssn and ssn != "0": + qs = qs.filter(ssn=ssn) + + if mobile_no and mobile_no != "0": + qs = qs.filter(mobile_no=mobile_no) + + patients = list(qs[:1000]) + admission_ids = [p.admission_id for p in patients] + + patient_list = [p.patient_data for p in patients] + + visits = HISTestVisit.objects.filter(admission_id__in=admission_ids) + ed_visits = [] + ip_visits = [] + op_visits = [] + for v in visits: + if v.visit_category == "ED": + ed_visits.append(v.visit_data) + elif v.visit_category == "IP": + ip_visits.append(v.visit_data) + elif v.visit_category == "OP": + op_visits.append(v.visit_data) + + return Response( + { + "FetchPatientDataTimeStampList": patient_list, + "FetchPatientDataTimeStampVisitEDDataList": ed_visits, + "FetchPatientDataTimeStampVisitIPDataList": ip_visits, + "FetchPatientDataTimeStampVisitOPDataList": op_visits, + "Code": 200, + "Status": "Success", + "MobileNo": "", + "Message": "", + "Message2L": "", + } + ) + + +class SimulateHISPayloadView(views.APIView): + """ + POST endpoint to simulate receiving HIS data for testing. + + Accepts the same JSON format as the real HIS API response and: + 1. Stores patients/visits into HISTestPatient/HISTestVisit (persistent) + 2. Calls HISAdapter.process_his_response() to process everything + 3. Returns full processing results (surveys created, errors, etc.) + + POST /api/integrations/simulate-his-payload/ + Body: same as HIS response (visit_data.json format) + + After posting, the data will also be picked up by the regular + fetch-his-surveys cron if the "HIS Test" IntegrationConfig is active. + """ + + permission_classes = [IsAuthenticated, IsPXAdmin] + + def _parse_date(self, date_str): + if not date_str: + return None + try: + naive = datetime.strptime(date_str, "%d-%b-%Y %H:%M") + return timezone.make_aware(naive) + except ValueError: + pass + try: + naive = datetime.strptime(date_str, "%d-%b-%Y %H:%M:%S") + return timezone.make_aware(naive) + except ValueError: + return None + + def post(self, request): + payload = request.data + if not isinstance(payload, dict): + return Response({"detail": "Request body must be a JSON object"}, status=status.HTTP_400_BAD_REQUEST) + + patient_list = payload.get("FetchPatientDataTimeStampList", []) + if not patient_list: + return Response({"detail": "FetchPatientDataTimeStampList is empty"}, status=status.HTTP_400_BAD_REQUEST) + + ed_visits = payload.get("FetchPatientDataTimeStampVisitEDDataList", []) + ip_visits = payload.get("FetchPatientDataTimeStampVisitIPDataList", []) + op_visits = payload.get("FetchPatientDataTimeStampVisitOPDataList", []) + + admission_ids = [p.get("AdmissionID") for p in patient_list] + admission_id_set = {aid for aid in admission_ids if aid} + + patients_stored = 0 + visits_stored = 0 + skipped_patients = 0 + + existing_patients = set( + HISTestPatient.objects.filter(admission_id__in=admission_id_set).values_list("admission_id", flat=True) + ) + existing_visits = set( + HISTestVisit.objects.filter(admission_id__in=admission_id_set).values_list( + "admission_id", "event_type", "bill_date" + ) + ) + + patient_batch = [] + for p in patient_list: + aid = p.get("AdmissionID", "") + if aid in existing_patients: + skipped_patients += 1 + continue + + patient_batch.append( + HISTestPatient( + admission_id=aid, + patient_id=str(p.get("PatientID", "")), + patient_type=p.get("PatientType", ""), + reg_code=p.get("RegCode", ""), + ssn=p.get("SSN", ""), + mobile_no=p.get("MobileNo", ""), + admit_date=self._parse_date(p.get("AdmitDate")), + discharge_date=self._parse_date(p.get("DischargeDate")), + patient_data=p, + hospital_id=str(p.get("HospitalID", "")), + hospital_name=p.get("HospitalName", ""), + patient_name=p.get("PatientName", ""), + ) + ) + + if patient_batch: + HISTestPatient.objects.bulk_create(patient_batch, batch_size=1000) + patients_stored = len(patient_batch) + + visit_batch = [] + for v in ed_visits + ip_visits + op_visits: + aid = v.get("AdmissionID", "") + event_type = v.get("Type", "") + bill_date = self._parse_date(v.get("BillDate")) + visit_key = (aid, event_type, bill_date) + if visit_key in existing_visits: + continue + + visit_category = "ED" + pt = v.get("PatientType", "") + if pt == "IP": + visit_category = "IP" + elif pt in ("OP", "OPD"): + visit_category = "OP" + + visit_batch.append( + HISTestVisit( + admission_id=aid, + patient_id=str(v.get("PatientID", "")), + visit_category=visit_category, + event_type=event_type, + bill_date=bill_date, + reg_code=v.get("RegCode", ""), + ssn=v.get("SSN", ""), + mobile_no=v.get("MobileNo", ""), + visit_data=v, + ) + ) + + if visit_batch: + HISTestVisit.objects.bulk_create(visit_batch, batch_size=2000) + visits_stored = len(visit_batch) + + his_data = { + "FetchPatientDataTimeStampList": patient_list, + "FetchPatientDataTimeStampVisitEDDataList": ed_visits, + "FetchPatientDataTimeStampVisitIPDataList": ip_visits, + "FetchPatientDataTimeStampVisitOPDataList": op_visits, + "Code": payload.get("Code", 200), + "Status": payload.get("Status", "Success"), + "Message": payload.get("Message", ""), + } + + process_result = HISAdapter.process_his_response(his_data) + + return Response( + { + "storage": { + "patients_stored": patients_stored, + "patients_skipped": skipped_patients, + "visits_stored": visits_stored, + }, + "processing": process_result, + } + ) diff --git a/apps/notifications/admin.py b/apps/notifications/admin.py index bec49ea..02e50e1 100644 --- a/apps/notifications/admin.py +++ b/apps/notifications/admin.py @@ -1,214 +1,302 @@ """ Notifications admin """ + from django.contrib import admin from django.utils.html import format_html -from .models import NotificationLog, NotificationTemplate +from .models import NotificationLog, NotificationTemplate, UserNotification from .settings_models import HospitalNotificationSettings, NotificationSettingsLog @admin.register(NotificationLog) class NotificationLogAdmin(admin.ModelAdmin): """Notification log admin""" + list_display = [ - 'channel', 'recipient', 'subject_preview', - 'status_badge', 'provider', 'retry_count', - 'sent_at', 'created_at' + "channel", + "recipient", + "subject_preview", + "status_badge", + "provider", + "retry_count", + "sent_at", + "created_at", ] - list_filter = ['channel', 'status', 'provider', 'created_at', 'sent_at'] - search_fields = ['recipient', 'subject', 'message', 'provider_message_id'] - ordering = ['-created_at'] - date_hierarchy = 'created_at' - + list_filter = ["channel", "status", "provider", "created_at", "sent_at"] + search_fields = ["recipient", "subject", "message", "provider_message_id"] + ordering = ["-created_at"] + date_hierarchy = "created_at" + fieldsets = ( - ('Delivery', { - 'fields': ('channel', 'recipient', 'subject', 'message') - }), - ('Status', { - 'fields': ('status', 'sent_at', 'delivered_at', 'error', 'retry_count') - }), - ('Provider', { - 'fields': ('provider', 'provider_message_id', 'provider_response'), - 'classes': ('collapse',) - }), - ('Related Object', { - 'fields': ('content_type', 'object_id'), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Delivery", {"fields": ("channel", "recipient", "subject", "message")}), + ("Status", {"fields": ("status", "sent_at", "delivered_at", "error", "retry_count")}), + ("Provider", {"fields": ("provider", "provider_message_id", "provider_response"), "classes": ("collapse",)}), + ("Related Object", {"fields": ("content_type", "object_id"), "classes": ("collapse",)}), + ("Metadata", {"fields": ("metadata", "created_at", "updated_at"), "classes": ("collapse",)}), ) - + readonly_fields = [ - 'sent_at', 'delivered_at', 'provider_message_id', - 'provider_response', 'created_at', 'updated_at' + "sent_at", + "delivered_at", + "provider_message_id", + "provider_response", + "created_at", + "updated_at", ] - + def has_add_permission(self, request): # Notifications should only be created programmatically return False - + def has_delete_permission(self, request, obj=None): # Keep notification logs for compliance return False - + def subject_preview(self, obj): """Show preview of subject""" if obj.subject: - return obj.subject[:50] + '...' if len(obj.subject) > 50 else obj.subject - return '-' - subject_preview.short_description = 'Subject' - + return obj.subject[:50] + "..." if len(obj.subject) > 50 else obj.subject + return "-" + + subject_preview.short_description = "Subject" + def status_badge(self, obj): """Display status with color badge""" colors = { - 'pending': 'warning', - 'sending': 'info', - 'sent': 'success', - 'delivered': 'success', - 'failed': 'danger', - 'bounced': 'danger', + "pending": "warning", + "sending": "info", + "sent": "success", + "delivered": "success", + "failed": "danger", + "bounced": "danger", } - color = colors.get(obj.status, 'secondary') - return format_html( - '{}', - color, - obj.get_status_display() - ) - status_badge.short_description = 'Status' + color = colors.get(obj.status, "secondary") + return format_html('{}', color, obj.get_status_display()) + + status_badge.short_description = "Status" @admin.register(NotificationTemplate) class NotificationTemplateAdmin(admin.ModelAdmin): """Notification template admin""" - list_display = ['name', 'template_type', 'is_active', 'created_at'] - list_filter = ['template_type', 'is_active'] - search_fields = ['name', 'description'] - ordering = ['name'] - + + list_display = ["name", "template_type", "is_active", "created_at"] + list_filter = ["template_type", "is_active"] + search_fields = ["name", "description"] + ordering = ["name"] + fieldsets = ( - (None, { - 'fields': ('name', 'template_type', 'description') - }), - ('SMS Templates', { - 'fields': ('sms_template', 'sms_template_ar'), - 'classes': ('collapse',) - }), - ('WhatsApp Templates', { - 'fields': ('whatsapp_template', 'whatsapp_template_ar'), - 'classes': ('collapse',) - }), - ('Email Templates', { - 'fields': ( - 'email_subject', 'email_subject_ar', - 'email_template', 'email_template_ar' - ), - 'classes': ('collapse',) - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("name", "template_type", "description")}), + ("SMS Templates", {"fields": ("sms_template", "sms_template_ar"), "classes": ("collapse",)}), + ("WhatsApp Templates", {"fields": ("whatsapp_template", "whatsapp_template_ar"), "classes": ("collapse",)}), + ( + "Email Templates", + { + "fields": ("email_subject", "email_subject_ar", "email_template", "email_template_ar"), + "classes": ("collapse",), + }, + ), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] + + readonly_fields = ["created_at", "updated_at"] @admin.register(HospitalNotificationSettings) class HospitalNotificationSettingsAdmin(admin.ModelAdmin): """Hospital notification settings admin""" - list_display = ['hospital', 'notifications_enabled', 'updated_at'] - list_filter = ['notifications_enabled', 'updated_at'] - search_fields = ['hospital__name'] - + + list_display = ["hospital", "notifications_enabled", "updated_at"] + list_filter = ["notifications_enabled", "updated_at"] + search_fields = ["hospital__name"] + fieldsets = ( - ('Hospital', { - 'fields': ('hospital',) - }), - ('Master Control', { - 'fields': ('notifications_enabled',) - }), - ('Complaint Notifications', { - 'fields': ( - 'complaint_acknowledgment_email', 'complaint_acknowledgment_sms', 'complaint_acknowledgment_whatsapp', - 'complaint_assigned_email', 'complaint_assigned_sms', 'complaint_assigned_whatsapp', - 'complaint_status_changed_email', 'complaint_status_changed_sms', 'complaint_status_changed_whatsapp', - 'complaint_resolved_email', 'complaint_resolved_sms', 'complaint_resolved_whatsapp', - 'complaint_closed_email', 'complaint_closed_sms', 'complaint_closed_whatsapp', - ), - 'classes': ('collapse',) - }), - ('Explanation Notifications', { - 'fields': ( - 'explanation_requested_email', 'explanation_requested_sms', 'explanation_requested_whatsapp', - 'explanation_reminder_email', 'explanation_reminder_sms', 'explanation_reminder_whatsapp', - 'explanation_overdue_email', 'explanation_overdue_sms', 'explanation_overdue_whatsapp', - 'explanation_received_email', 'explanation_received_sms', 'explanation_received_whatsapp', - 'explanation_manager_cc', - ), - 'classes': ('collapse',) - }), - ('Survey Notifications', { - 'fields': ( - 'survey_invitation_email', 'survey_invitation_sms', 'survey_invitation_whatsapp', - 'survey_reminder_email', 'survey_reminder_sms', 'survey_reminder_whatsapp', - 'survey_completed_email', 'survey_completed_sms', - ), - 'classes': ('collapse',) - }), - ('Action Notifications', { - 'fields': ( - 'action_assigned_email', 'action_assigned_sms', 'action_assigned_whatsapp', - 'action_due_soon_email', 'action_due_soon_sms', - 'action_overdue_email', 'action_overdue_sms', - ), - 'classes': ('collapse',) - }), - ('SLA Notifications', { - 'fields': ( - 'sla_reminder_email', 'sla_reminder_sms', - 'sla_breach_email', 'sla_breach_sms', 'sla_breach_whatsapp', - ), - 'classes': ('collapse',) - }), - ('Onboarding Notifications', { - 'fields': ( - 'onboarding_invitation_email', 'onboarding_invitation_sms', 'onboarding_invitation_whatsapp', - 'onboarding_reminder_email', 'onboarding_reminder_sms', 'onboarding_reminder_whatsapp', - 'onboarding_completion_email', 'onboarding_completion_sms', - ), - 'classes': ('collapse',) - }), - ('Quiet Hours', { - 'fields': ('quiet_hours_enabled', 'quiet_hours_start', 'quiet_hours_end'), - }), - ('Retry Settings', { - 'fields': ('retry_failed_notifications', 'max_retries'), - }), + ("Hospital", {"fields": ("hospital",)}), + ("Master Control", {"fields": ("notifications_enabled",)}), + ( + "Complaint Notifications", + { + "fields": ( + "complaint_acknowledgment_email", + "complaint_acknowledgment_sms", + "complaint_acknowledgment_whatsapp", + "complaint_assigned_email", + "complaint_assigned_sms", + "complaint_assigned_whatsapp", + "complaint_status_changed_email", + "complaint_status_changed_sms", + "complaint_status_changed_whatsapp", + "complaint_resolved_email", + "complaint_resolved_sms", + "complaint_resolved_whatsapp", + "complaint_closed_email", + "complaint_closed_sms", + "complaint_closed_whatsapp", + ), + "classes": ("collapse",), + }, + ), + ( + "Explanation Notifications", + { + "fields": ( + "explanation_requested_email", + "explanation_requested_sms", + "explanation_requested_whatsapp", + "explanation_reminder_email", + "explanation_reminder_sms", + "explanation_reminder_whatsapp", + "explanation_overdue_email", + "explanation_overdue_sms", + "explanation_overdue_whatsapp", + "explanation_received_email", + "explanation_received_sms", + "explanation_received_whatsapp", + "explanation_manager_cc", + ), + "classes": ("collapse",), + }, + ), + ( + "Survey Notifications", + { + "fields": ( + "survey_invitation_email", + "survey_invitation_sms", + "survey_invitation_whatsapp", + "survey_reminder_email", + "survey_reminder_sms", + "survey_reminder_whatsapp", + "survey_completed_email", + "survey_completed_sms", + ), + "classes": ("collapse",), + }, + ), + ( + "Action Notifications", + { + "fields": ( + "action_assigned_email", + "action_assigned_sms", + "action_assigned_whatsapp", + "action_due_soon_email", + "action_due_soon_sms", + "action_overdue_email", + "action_overdue_sms", + ), + "classes": ("collapse",), + }, + ), + ( + "SLA Notifications", + { + "fields": ( + "sla_reminder_email", + "sla_reminder_sms", + "sla_breach_email", + "sla_breach_sms", + "sla_breach_whatsapp", + ), + "classes": ("collapse",), + }, + ), + ( + "Onboarding Notifications", + { + "fields": ( + "onboarding_invitation_email", + "onboarding_invitation_sms", + "onboarding_invitation_whatsapp", + "onboarding_reminder_email", + "onboarding_reminder_sms", + "onboarding_reminder_whatsapp", + "onboarding_completion_email", + "onboarding_completion_sms", + ), + "classes": ("collapse",), + }, + ), + ( + "Quiet Hours", + { + "fields": ("quiet_hours_enabled", "quiet_hours_start", "quiet_hours_end"), + }, + ), + ( + "Retry Settings", + { + "fields": ("retry_failed_notifications", "max_retries"), + }, + ), ) - - readonly_fields = ['created_at', 'updated_at'] + + readonly_fields = ["created_at", "updated_at"] @admin.register(NotificationSettingsLog) class NotificationSettingsLogAdmin(admin.ModelAdmin): """Notification settings change log admin""" - list_display = ['hospital', 'field_name', 'old_value', 'new_value', 'changed_by', 'created_at'] - list_filter = ['hospital', 'created_at'] - search_fields = ['field_name', 'changed_by__email', 'changed_by__first_name', 'changed_by__last_name'] - ordering = ['-created_at'] - readonly_fields = ['hospital', 'changed_by', 'field_name', 'old_value', 'new_value', 'created_at'] - + + list_display = ["hospital", "field_name", "old_value", "new_value", "changed_by", "created_at"] + list_filter = ["hospital", "created_at"] + search_fields = ["field_name", "changed_by__email", "changed_by__first_name", "changed_by__last_name"] + ordering = ["-created_at"] + readonly_fields = ["hospital", "changed_by", "field_name", "old_value", "new_value", "created_at"] + def has_add_permission(self, request): return False - + def has_change_permission(self, request, obj=None): return False - + def has_delete_permission(self, request, obj=None): return False + + +@admin.register(UserNotification) +class UserNotificationAdmin(admin.ModelAdmin): + """User notification admin""" + + list_display = ["user", "notification_type", "title_preview", "is_read", "is_dismissed", "created_at"] + list_filter = ["notification_type", "is_read", "is_dismissed", "created_at"] + search_fields = ["user__email", "title", "message"] + ordering = ["-created_at"] + date_hierarchy = "created_at" + + fieldsets = ( + ("User", {"fields": ("user",)}), + ("Content", {"fields": ("title", "title_ar", "message", "message_ar")}), + ("Type & Status", {"fields": ("notification_type", "is_read", "read_at", "is_dismissed", "dismissed_at")}), + ("Links", {"fields": ("action_url", "email_log"), "classes": ("collapse",)}), + ("Related Object", {"fields": ("content_type", "object_id"), "classes": ("collapse",)}), + ("Timestamps", {"fields": ("created_at", "updated_at"), "classes": ("collapse",)}), + ) + + readonly_fields = ["created_at", "updated_at", "read_at", "dismissed_at"] + + def title_preview(self, obj): + """Short title preview""" + return obj.title[:50] + "..." if len(obj.title) > 50 else obj.title + + title_preview.short_description = "Title" + + actions = ["mark_as_read", "mark_as_dismissed"] + + def mark_as_read(self, request, queryset): + """Mark selected notifications as read""" + for notification in queryset: + notification.mark_as_read() + self.message_user(request, f"{queryset.count()} notifications marked as read") + + mark_as_read.short_description = "Mark selected as read" + + def mark_as_dismissed(self, request, queryset): + """Mark selected notifications as dismissed""" + for notification in queryset: + notification.mark_as_dismissed() + self.message_user(request, f"{queryset.count()} notifications dismissed") + + mark_as_dismissed.short_description = "Dismiss selected" diff --git a/apps/notifications/management/commands/cleanup_notifications.py b/apps/notifications/management/commands/cleanup_notifications.py new file mode 100644 index 0000000..678abd1 --- /dev/null +++ b/apps/notifications/management/commands/cleanup_notifications.py @@ -0,0 +1,55 @@ +""" +Management command to cleanup old notifications. + +Deletes notifications older than 30 days (configurable). +Run via cron or celery beat daily. + +Usage: + python manage.py cleanup_notifications + python manage.py cleanup_notifications --days=30 + python manage.py cleanup_notifications --dry-run +""" + +from django.core.management.base import BaseCommand +from django.utils import timezone +from datetime import timedelta + +from apps.notifications.models import UserNotification + + +class Command(BaseCommand): + help = "Cleanup old notifications (default: 30 days)" + + def add_arguments(self, parser): + parser.add_argument("--days", type=int, default=30, help="Number of days to keep notifications (default: 30)") + parser.add_argument( + "--dry-run", action="store_true", help="Show what would be deleted without actually deleting" + ) + + def handle(self, *args, **options): + days = options["days"] + dry_run = options["dry_run"] + + cutoff_date = timezone.now() - timedelta(days=days) + + # Get notifications to delete (both read and unread, older than cutoff) + notifications_to_delete = UserNotification.objects.filter(created_at__lt=cutoff_date) + + count = notifications_to_delete.count() + + if dry_run: + self.stdout.write( + self.style.WARNING(f"[DRY RUN] Would delete {count} notifications older than {days} days") + ) + # Show sample of what would be deleted + sample = notifications_to_delete[:5] + for n in sample: + self.stdout.write(f" - {n.title} ({n.created_at})") + if count > 5: + self.stdout.write(f" ... and {count - 5} more") + else: + if count > 0: + notifications_to_delete.delete() + self.stdout.write(self.style.SUCCESS(f"Deleted {count} notifications older than {days} days")) + else: + self.stdout.write(self.style.SUCCESS("No notifications to delete")) diff --git a/apps/notifications/management/commands/test_sms.py b/apps/notifications/management/commands/test_sms.py new file mode 100644 index 0000000..9687444 --- /dev/null +++ b/apps/notifications/management/commands/test_sms.py @@ -0,0 +1,35 @@ +from django.core.management.base import BaseCommand + +from apps.notifications.services import NotificationService + + +class Command(BaseCommand): + help = "Send a test SMS to a phone number" + + def add_arguments(self, parser): + parser.add_argument("phone", type=str, help="Phone number in international format (e.g. 966501234567)") + parser.add_argument("--message", type=str, default="Test SMS from PX360", help="Custom message text") + + def handle(self, *args, **options): + phone = options["phone"] + message = options["message"] + + self.stdout.write(f"Sending SMS to {phone}...") + self.stdout.write(f"Message: {message}") + self.stdout.write("") + + log = NotificationService.send_sms(phone, message) + + self.stdout.write(f"Status: {log.status}") + self.stdout.write(f"Provider: {log.provider}") + if log.error: + self.stdout.write(self.style.ERROR(f"Error: {log.error}")) + if log.provider_response: + self.stdout.write(f"Provider Response: {log.provider_response}") + + if log.status == "sent": + self.stdout.write(self.style.SUCCESS(f"SMS sent successfully to {phone}")) + elif log.status == "failed": + self.stdout.write(self.style.ERROR(f"SMS failed for {phone}")) + else: + self.stdout.write(self.style.WARNING(f"SMS status: {log.status} for {phone}")) diff --git a/apps/notifications/models.py b/apps/notifications/models.py index ebdcbfb..74b37bc 100644 --- a/apps/notifications/models.py +++ b/apps/notifications/models.py @@ -7,6 +7,7 @@ This module implements the notification system that: - Tracks delivery status - Supports retry logic """ + from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.db import models @@ -16,26 +17,28 @@ from apps.core.models import BaseChoices, TimeStampedModel, UUIDModel class NotificationChannel(BaseChoices): """Notification channel choices""" - SMS = 'sms', 'SMS' - WHATSAPP = 'whatsapp', 'WhatsApp' - EMAIL = 'email', 'Email' - PUSH = 'push', 'Push Notification' + + SMS = "sms", "SMS" + WHATSAPP = "whatsapp", "WhatsApp" + EMAIL = "email", "Email" + PUSH = "push", "Push Notification" class NotificationStatus(BaseChoices): """Notification delivery status""" - PENDING = 'pending', 'Pending' - SENDING = 'sending', 'Sending' - SENT = 'sent', 'Sent' - DELIVERED = 'delivered', 'Delivered' - FAILED = 'failed', 'Failed' - BOUNCED = 'bounced', 'Bounced' + + PENDING = "pending", "Pending" + SENDING = "sending", "Sending" + SENT = "sent", "Sent" + DELIVERED = "delivered", "Delivered" + FAILED = "failed", "Failed" + BOUNCED = "bounced", "Bounced" class NotificationLog(UUIDModel, TimeStampedModel): """ Notification log - tracks all notification attempts. - + Logs every SMS, WhatsApp, and Email sent by the system. Used for: - Delivery tracking @@ -43,162 +46,222 @@ class NotificationLog(UUIDModel, TimeStampedModel): - Compliance - Analytics """ + # Channel and recipient - channel = models.CharField( - max_length=20, - choices=NotificationChannel.choices, - db_index=True - ) - recipient = models.CharField( - max_length=200, - help_text="Phone number or email address" - ) - + channel = models.CharField(max_length=20, choices=NotificationChannel.choices, db_index=True) + recipient = models.CharField(max_length=200, help_text="Phone number or email address") + # Message content subject = models.CharField(max_length=500, blank=True) message = models.TextField() - + # Related object (generic foreign key) - content_type = models.ForeignKey( - ContentType, - on_delete=models.SET_NULL, - null=True, - blank=True - ) + content_type = models.ForeignKey(ContentType, on_delete=models.SET_NULL, null=True, blank=True) object_id = models.UUIDField(null=True, blank=True) - content_object = GenericForeignKey('content_type', 'object_id') - + content_object = GenericForeignKey("content_type", "object_id") + # Delivery status status = models.CharField( - max_length=20, - choices=NotificationStatus.choices, - default=NotificationStatus.PENDING, - db_index=True + max_length=20, choices=NotificationStatus.choices, default=NotificationStatus.PENDING, db_index=True ) - + # Timestamps sent_at = models.DateTimeField(null=True, blank=True) delivered_at = models.DateTimeField(null=True, blank=True) - + # Provider response - provider = models.CharField( - max_length=50, - blank=True, - help_text="SMS/Email provider used" - ) - provider_message_id = models.CharField( - max_length=200, - blank=True, - help_text="Message ID from provider" - ) - provider_response = models.JSONField( - default=dict, - blank=True, - help_text="Full response from provider" - ) - + provider = models.CharField(max_length=50, blank=True, help_text="SMS/Email provider used") + provider_message_id = models.CharField(max_length=200, blank=True, help_text="Message ID from provider") + provider_response = models.JSONField(default=dict, blank=True, help_text="Full response from provider") + # Error tracking error = models.TextField(blank=True) retry_count = models.IntegerField(default=0) - + # Metadata - metadata = models.JSONField( - default=dict, - blank=True, - help_text="Additional metadata (campaign, template, etc.)" - ) - + metadata = models.JSONField(default=dict, blank=True, help_text="Additional metadata (campaign, template, etc.)") + class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] indexes = [ - models.Index(fields=['channel', 'status', '-created_at']), - models.Index(fields=['recipient', '-created_at']), - models.Index(fields=['content_type', 'object_id']), + models.Index(fields=["channel", "status", "-created_at"]), + models.Index(fields=["recipient", "-created_at"]), + models.Index(fields=["content_type", "object_id"]), ] - + def __str__(self): return f"{self.channel} to {self.recipient} ({self.status})" - + def mark_sent(self, provider_message_id=None): """Mark notification as sent""" from django.utils import timezone + self.status = NotificationStatus.SENT self.sent_at = timezone.now() if provider_message_id: self.provider_message_id = provider_message_id - self.save(update_fields=['status', 'sent_at', 'provider_message_id']) - + self.save(update_fields=["status", "sent_at", "provider_message_id"]) + def mark_delivered(self): """Mark notification as delivered""" from django.utils import timezone + self.status = NotificationStatus.DELIVERED self.delivered_at = timezone.now() - self.save(update_fields=['status', 'delivered_at']) - + self.save(update_fields=["status", "delivered_at"]) + def mark_failed(self, error_message): """Mark notification as failed""" self.status = NotificationStatus.FAILED self.error = error_message self.retry_count += 1 - self.save(update_fields=['status', 'error', 'retry_count']) + self.save(update_fields=["status", "error", "retry_count"]) class NotificationTemplate(UUIDModel, TimeStampedModel): """ Notification template for consistent messaging. - + Supports: - Bilingual templates (AR/EN) - Variable substitution - Multiple channels """ + name = models.CharField(max_length=200, unique=True) description = models.TextField(blank=True) - + # Template type template_type = models.CharField( max_length=50, choices=[ - ('survey_invitation', 'Survey Invitation'), - ('survey_reminder', 'Survey Reminder'), - ('complaint_acknowledgment', 'Complaint Acknowledgment'), - ('complaint_update', 'Complaint Update'), - ('action_assignment', 'Action Assignment'), - ('sla_reminder', 'SLA Reminder'), - ('sla_breach', 'SLA Breach'), - ('onboarding_invitation', 'Onboarding Invitation'), - ('onboarding_reminder', 'Onboarding Reminder'), - ('onboarding_completion', 'Onboarding Completion'), + ("survey_invitation", "Survey Invitation"), + ("survey_reminder", "Survey Reminder"), + ("complaint_acknowledgment", "Complaint Acknowledgment"), + ("complaint_update", "Complaint Update"), + ("action_assignment", "Action Assignment"), + ("sla_reminder", "SLA Reminder"), + ("sla_breach", "SLA Breach"), + ("onboarding_invitation", "Onboarding Invitation"), + ("onboarding_reminder", "Onboarding Reminder"), + ("onboarding_completion", "Onboarding Completion"), ], - db_index=True + db_index=True, ) - + # Channel-specific templates - sms_template = models.TextField( - blank=True, - help_text="SMS template with {{variables}}" - ) + sms_template = models.TextField(blank=True, help_text="SMS template with {{variables}}") sms_template_ar = models.TextField(blank=True) - - whatsapp_template = models.TextField( - blank=True, - help_text="WhatsApp template with {{variables}}" - ) + + whatsapp_template = models.TextField(blank=True, help_text="WhatsApp template with {{variables}}") whatsapp_template_ar = models.TextField(blank=True) - + email_subject = models.CharField(max_length=500, blank=True) email_subject_ar = models.CharField(max_length=500, blank=True) - email_template = models.TextField( - blank=True, - help_text="Email HTML template with {{variables}}" - ) + email_template = models.TextField(blank=True, help_text="Email HTML template with {{variables}}") email_template_ar = models.TextField(blank=True) - + # Configuration is_active = models.BooleanField(default=True) - + class Meta: - ordering = ['name'] - + ordering = ["name"] + def __str__(self): return self.name + + +class UserNotification(UUIDModel, TimeStampedModel): + """ + In-app notification for users - created for every email sent. + Auto-deleted after 30 days via management command. + """ + + user = models.ForeignKey("accounts.User", on_delete=models.CASCADE, related_name="notifications") + + # Content (bilingual) + title = models.CharField(max_length=200) + title_ar = models.CharField(max_length=200, blank=True) + message = models.TextField() + message_ar = models.TextField(blank=True) + + # Type matching email/notification types + notification_type = models.CharField(max_length=50) + + # Related object (generic foreign key) + content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=True, blank=True) + object_id = models.UUIDField(null=True, blank=True) + content_object = GenericForeignKey("content_type", "object_id") + + # Navigation + action_url = models.CharField(max_length=500, blank=True) + + # Status + is_read = models.BooleanField(default=False) + read_at = models.DateTimeField(null=True, blank=True) + is_dismissed = models.BooleanField(default=False) + dismissed_at = models.DateTimeField(null=True, blank=True) + + # Link to email log + email_log = models.ForeignKey( + NotificationLog, on_delete=models.SET_NULL, null=True, blank=True, related_name="user_notification" + ) + + class Meta: + ordering = ["-created_at"] + indexes = [ + models.Index(fields=["user", "is_dismissed", "-created_at"]), + models.Index(fields=["user", "is_read", "-created_at"]), + models.Index(fields=["created_at"]), + ] + + def __str__(self): + return f"{self.notification_type} for {self.user.email}" + + def mark_as_read(self): + """Mark notification as read""" + from django.utils import timezone + + self.is_read = True + self.read_at = timezone.now() + self.save(update_fields=["is_read", "read_at"]) + + def mark_as_dismissed(self): + """Mark notification as dismissed""" + from django.utils import timezone + + self.is_dismissed = True + self.dismissed_at = timezone.now() + self.save(update_fields=["is_dismissed", "dismissed_at"]) + + def get_title(self): + """Get title based on user language preference""" + from django.utils.translation import get_language + + if get_language() == "ar" and self.title_ar: + return self.title_ar + return self.title + + def get_message(self): + """Get message based on user language preference""" + from django.utils.translation import get_language + + if get_language() == "ar" and self.message_ar: + return self.message_ar + return self.message + + def get_icon(self): + """Get icon based on notification type""" + icons = { + "complaint_assigned": "user-check", + "complaint_update": "file-text", + "sla_reminder": "clock", + "sla_breach": "alert-triangle", + "action_required": "alert-circle", + "mention": "at-sign", + "survey_invitation": "clipboard", + "survey_reminder": "bell", + "onboarding_invitation": "user-plus", + "system": "bell", + } + return icons.get(self.notification_type, "bell") diff --git a/apps/notifications/services.py b/apps/notifications/services.py index 074fbe4..3deb190 100644 --- a/apps/notifications/services.py +++ b/apps/notifications/services.py @@ -7,6 +7,7 @@ via SMS, WhatsApp, and Email. For now, implements console backends that log to database. In production, integrate with actual providers (Twilio, WhatsApp Business API, SMTP). """ + import logging from django.conf import settings @@ -31,6 +32,12 @@ class NotificationService: """ Send SMS notification. + Routing order: + 1. External SMS API (if SMS_API_ENABLED) + 2. Mshastra (if SMS_PROVIDER=mshastra and credentials configured) + 3. Twilio (if SMS_PROVIDER=twilio and credentials configured) + 4. Console logger (fallback) + Args: phone: Recipient phone number message: SMS message text @@ -40,52 +47,163 @@ class NotificationService: Returns: NotificationLog instance """ - # Check if SMS API is enabled and use it (simulator or external API) - sms_api_config = settings.EXTERNAL_NOTIFICATION_API.get('sms', {}) - if sms_api_config.get('enabled', False): + sms_api_config = settings.EXTERNAL_NOTIFICATION_API.get("sms", {}) + if sms_api_config.get("enabled", False): return NotificationService.send_sms_via_api( - message=message, - phone=phone, - related_object=related_object, - metadata=metadata + message=message, phone=phone, related_object=related_object, metadata=metadata ) - # Create notification log + sms_config = settings.NOTIFICATION_CHANNELS.get("sms", {}) + provider = sms_config.get("provider", "console") + log = NotificationLog.objects.create( - channel='sms', + channel="sms", recipient=phone, message=message, content_object=related_object, - provider='console', # TODO: Replace with actual provider - metadata=metadata or {} + provider=provider, + metadata=metadata or {}, ) - # Check if SMS is enabled - sms_config = settings.NOTIFICATION_CHANNELS.get('sms', {}) - if not sms_config.get('enabled', False): + if provider == "mshastra": + return NotificationService._send_sms_mshastra(log, phone, message) + + if provider == "twilio": + return NotificationService._send_sms_twilio(log, phone, message) + + logger.info(f"[SMS Console] To: {phone} | Message: {message}") + log.mark_sent() + return log + + @staticmethod + def _send_sms_twilio(log, phone, message): + """ + Send SMS via Twilio SDK. + + Requires: TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, and + either TWILIO_PHONE_NUMBER or TWILIO_MESSAGING_SERVICE_SID. + """ + from twilio.base.exceptions import TwilioRestException + from twilio.rest import Client + + account_sid = settings.TWILIO_ACCOUNT_SID + auth_token = settings.TWILIO_AUTH_TOKEN + + if not account_sid or not auth_token: + logger.warning("Twilio credentials not configured, falling back to console") + log.provider = "console" + log.save(update_fields=["provider"]) logger.info(f"[SMS Console] To: {phone} | Message: {message}") log.mark_sent() return log - # TODO: Integrate with actual SMS provider (Twilio, etc.) - # Example: - # try: - # from twilio.rest import Client - # client = Client(settings.TWILIO_ACCOUNT_SID, settings.TWILIO_AUTH_TOKEN) - # message = client.messages.create( - # body=message, - # from_=settings.TWILIO_PHONE_NUMBER, - # to=phone - # ) - # log.mark_sent(provider_message_id=message.sid) - # except Exception as e: - # log.mark_failed(str(e)) + try: + client = Client(account_sid, auth_token) - # Console backend for now - logger.info(f"[SMS Console] To: {phone} | Message: {message}") - log.mark_sent() + twilio_kwargs = { + "body": message, + "to": phone, + } - return log + if settings.TWILIO_MESSAGING_SERVICE_SID: + twilio_kwargs["messaging_service_sid"] = settings.TWILIO_MESSAGING_SERVICE_SID + elif settings.TWILIO_PHONE_NUMBER: + twilio_kwargs["from_"] = settings.TWILIO_PHONE_NUMBER + else: + logger.warning("Twilio phone number or messaging service SID not configured, falling back to console") + log.provider = "console" + log.save(update_fields=["provider"]) + logger.info(f"[SMS Console] To: {phone} | Message: {message}") + log.mark_sent() + return log + + twilio_message = client.messages.create(**twilio_kwargs) + + log.mark_sent(provider_message_id=twilio_message.sid) + log.provider_response = { + "sid": twilio_message.sid, + "status": twilio_message.status, + "direction": twilio_message.direction, + "to": twilio_message.to, + } + log.save(update_fields=["provider_response"]) + + logger.info(f"SMS sent via Twilio to {phone}: sid={twilio_message.sid}") + return log + + except TwilioRestException as e: + logger.error(f"Twilio error sending SMS to {phone}: {e}") + log.mark_failed(str(e)) + return log + + except Exception as e: + logger.error(f"Unexpected error sending SMS via Twilio to {phone}: {e}", exc_info=True) + log.mark_failed(str(e)) + return log + + @staticmethod + def _send_sms_mshastra(log, phone, message): + """ + Send SMS via Mshastra API. + + Requires: MSHASTRA_USERNAME, MSHASTRA_PASSWORD, and MSHASTRA_SENDER_ID. + API: https://mshastra.com/sendurl.aspx + """ + import requests + + username = settings.MSHASTRA_USERNAME + password = settings.MSHASTRA_PASSWORD + sender_id = settings.MSHASTRA_SENDER_ID + + if not username or not password: + logger.warning("Mshastra credentials not configured, falling back to console") + log.provider = "console" + log.save(update_fields=["provider"]) + logger.info(f"[SMS Console] To: {phone} | Message: {message}") + log.mark_sent() + return log + + try: + url = "https://mshastra.com/sendurl.aspx" + params = { + "user": username, + "pwd": password, + "senderid": sender_id, + "mobileno": phone, + "msgtext": message, + "priority": "High", + "CountryCode": "ALL", + } + + response = requests.get(url, params=params, timeout=30) + response_text = response.text.strip() + + log.provider_response = {"status_code": response.status_code, "response": response_text} + log.save(update_fields=["provider_response"]) + + if "Send Successful" in response_text: + log.mark_sent() + logger.info(f"SMS sent via Mshastra to {phone}: {response_text}") + else: + log.mark_failed(response_text) + logger.warning(f"Mshastra SMS failed for {phone}: {response_text}") + + return log + + except requests.exceptions.Timeout: + logger.error(f"Mshastra API timeout for {phone}") + log.mark_failed("Request timeout") + return log + + except requests.exceptions.ConnectionError: + logger.error(f"Mshastra API connection error for {phone}") + log.mark_failed("Connection error") + return log + + except Exception as e: + logger.error(f"Unexpected error sending SMS via Mshastra to {phone}: {e}", exc_info=True) + log.mark_failed(str(e)) + return log @staticmethod def send_whatsapp(phone, message, related_object=None, metadata=None): @@ -103,17 +221,17 @@ class NotificationService: """ # Create notification log log = NotificationLog.objects.create( - channel='whatsapp', + channel="whatsapp", recipient=phone, message=message, content_object=related_object, - provider='console', # TODO: Replace with actual provider - metadata=metadata or {} + provider="console", # TODO: Replace with actual provider + metadata=metadata or {}, ) # Check if WhatsApp is enabled - whatsapp_config = settings.NOTIFICATION_CHANNELS.get('whatsapp', {}) - if not whatsapp_config.get('enabled', False): + whatsapp_config = settings.NOTIFICATION_CHANNELS.get("whatsapp", {}) + if not whatsapp_config.get("enabled", False): logger.info(f"[WhatsApp Console] To: {phone} | Message: {message}") log.mark_sent() return log @@ -141,9 +259,18 @@ class NotificationService: return log @staticmethod - def send_email(email, subject, message, html_message=None, related_object=None, metadata=None): + def send_email( + email, + subject, + message, + html_message=None, + related_object=None, + metadata=None, + notification_type="system", + user=None, + ): """ - Send Email notification. + Send Email notification and create corresponding in-app notification. Args: email: Recipient email address @@ -152,36 +279,50 @@ class NotificationService: html_message: Email message (HTML) (optional) related_object: Related model instance (optional) metadata: Additional metadata dict (optional) + notification_type: Type of notification (default: 'system') + user: User instance to create in-app notification for (optional, will try to lookup by email) Returns: NotificationLog instance """ + from apps.accounts.models import User + # Check if Email API is enabled and use it (simulator or external API) - email_api_config = settings.EXTERNAL_NOTIFICATION_API.get('email', {}) - if email_api_config.get('enabled', False): - return NotificationService.send_email_via_api( + email_api_config = settings.EXTERNAL_NOTIFICATION_API.get("email", {}) + if email_api_config.get("enabled", False): + log = NotificationService.send_email_via_api( message=message, email=email, subject=subject, html_message=html_message, related_object=related_object, - metadata=metadata + metadata=metadata, ) + # Create in-app notification after sending via API + NotificationService._create_in_app_notification_from_email( + log, email, subject, message, notification_type, related_object, user + ) + return log # Create notification log log = NotificationLog.objects.create( - channel='email', + channel="email", recipient=email, subject=subject, message=message, content_object=related_object, - provider='console', # TODO: Replace with actual provider - metadata=metadata or {} + provider="console", # TODO: Replace with actual provider + metadata=metadata or {}, + ) + + # Create in-app notification + NotificationService._create_in_app_notification_from_email( + log, email, subject, message, notification_type, related_object, user ) # Check if Email is enabled - email_config = settings.NOTIFICATION_CHANNELS.get('email', {}) - if not email_config.get('enabled', True): + email_config = settings.NOTIFICATION_CHANNELS.get("email", {}) + if not email_config.get("enabled", True): logger.info(f"[Email Console] To: {email} | Subject: {subject} | Message: {message}") log.mark_sent() return log @@ -194,7 +335,7 @@ class NotificationService: from_email=settings.DEFAULT_FROM_EMAIL, recipient_list=[email], html_message=html_message, - fail_silently=False + fail_silently=False, ) log.mark_sent() logger.info(f"Email sent to {email}: {subject}") @@ -204,6 +345,38 @@ class NotificationService: return log + @staticmethod + def _create_in_app_notification_from_email( + log, email, subject, message, notification_type, related_object=None, user=None + ): + """ + Create in-app notification from email data. + Private helper method. + """ + from apps.accounts.models import User + from .models import UserNotification + + # Try to find user if not provided + if not user: + try: + user = User.objects.get(email=email) + except User.DoesNotExist: + # User not found, skip in-app notification + return None + + # Create in-app notification + notification = UserNotification.objects.create( + user=user, + title=subject, + message=message[:500], # Truncate for preview + notification_type=notification_type, + email_log=log, + content_object=related_object, + ) + + logger.info(f"In-app notification created for {user.email}: {subject}") + return notification + @staticmethod def send_email_via_api(message, email, subject, html_message=None, related_object=None, metadata=None): """ @@ -224,60 +397,55 @@ class NotificationService: import time # Check if enabled - email_config = settings.EXTERNAL_NOTIFICATION_API.get('email', {}) - if not email_config.get('enabled', False): + email_config = settings.EXTERNAL_NOTIFICATION_API.get("email", {}) + if not email_config.get("enabled", False): logger.warning("Email API is disabled. Skipping send_email_via_api") return None # Create notification log log = NotificationLog.objects.create( - channel='email', + channel="email", recipient=email, subject=subject, message=message, content_object=related_object, - provider='api', + provider="api", metadata={ - 'api_url': email_config.get('url'), - 'auth_method': email_config.get('auth_method'), - **(metadata or {}) - } + "api_url": email_config.get("url"), + "auth_method": email_config.get("auth_method"), + **(metadata or {}), + }, ) # Prepare request payload payload = { - 'to': email, - 'subject': subject, - 'message': message, + "to": email, + "subject": subject, + "message": message, } if html_message: - payload['html_message'] = html_message + payload["html_message"] = html_message # Prepare headers - headers = {'Content-Type': 'application/json'} - api_key = email_config.get('api_key', '') - auth_method = email_config.get('auth_method', 'bearer') + headers = {"Content-Type": "application/json"} + api_key = email_config.get("api_key", "") + auth_method = email_config.get("auth_method", "bearer") - if auth_method == 'bearer': - headers['Authorization'] = f'Bearer {api_key}' - elif auth_method == 'api_key': - headers['X-API-KEY'] = api_key + if auth_method == "bearer": + headers["Authorization"] = f"Bearer {api_key}" + elif auth_method == "api_key": + headers["X-API-KEY"] = api_key # Retry logic - max_retries = email_config.get('max_retries', 3) - retry_delay = email_config.get('retry_delay', 2) - timeout = email_config.get('timeout', 10) + max_retries = email_config.get("max_retries", 3) + retry_delay = email_config.get("retry_delay", 2) + timeout = email_config.get("timeout", 10) for attempt in range(max_retries): try: logger.info(f"Sending email via API (attempt {attempt + 1}/{max_retries}) to {email}") - response = requests.post( - email_config.get('url'), - json=payload, - headers=headers, - timeout=timeout - ) + response = requests.post(email_config.get("url"), json=payload, headers=headers, timeout=timeout) # API runs in background, accept any 2xx response if 200 <= response.status_code < 300: @@ -307,7 +475,7 @@ class NotificationService: # Wait before retry (exponential backoff) if attempt < max_retries - 1: - time.sleep(retry_delay * (2 ** attempt)) + time.sleep(retry_delay * (2**attempt)) return log @@ -329,56 +497,51 @@ class NotificationService: import time # Check if enabled - sms_config = settings.EXTERNAL_NOTIFICATION_API.get('sms', {}) - if not sms_config.get('enabled', False): + sms_config = settings.EXTERNAL_NOTIFICATION_API.get("sms", {}) + if not sms_config.get("enabled", False): logger.warning("SMS API is disabled. Skipping send_sms_via_api") return None # Create notification log log = NotificationLog.objects.create( - channel='sms', + channel="sms", recipient=phone, message=message, content_object=related_object, - provider='api', + provider="api", metadata={ - 'api_url': sms_config.get('url'), - 'auth_method': sms_config.get('auth_method'), - **(metadata or {}) - } + "api_url": sms_config.get("url"), + "auth_method": sms_config.get("auth_method"), + **(metadata or {}), + }, ) # Prepare request payload payload = { - 'to': phone, - 'message': message, + "to": phone, + "message": message, } # Prepare headers - headers = {'Content-Type': 'application/json'} - api_key = sms_config.get('api_key', '') - auth_method = sms_config.get('auth_method', 'bearer') + headers = {"Content-Type": "application/json"} + api_key = sms_config.get("api_key", "") + auth_method = sms_config.get("auth_method", "bearer") - if auth_method == 'bearer': - headers['Authorization'] = f'Bearer {api_key}' - elif auth_method == 'api_key': - headers['X-API-KEY'] = api_key + if auth_method == "bearer": + headers["Authorization"] = f"Bearer {api_key}" + elif auth_method == "api_key": + headers["X-API-KEY"] = api_key # Retry logic - max_retries = sms_config.get('max_retries', 3) - retry_delay = sms_config.get('retry_delay', 2) - timeout = sms_config.get('timeout', 10) + max_retries = sms_config.get("max_retries", 3) + retry_delay = sms_config.get("retry_delay", 2) + timeout = sms_config.get("timeout", 10) for attempt in range(max_retries): try: logger.info(f"Sending SMS via API (attempt {attempt + 1}/{max_retries}) to {phone}") - response = requests.post( - sms_config.get('url'), - json=payload, - headers=headers, - timeout=timeout - ) + response = requests.post(sms_config.get("url"), json=payload, headers=headers, timeout=timeout) # API runs in background, accept any 2xx response if 200 <= response.status_code < 300: @@ -408,12 +571,12 @@ class NotificationService: # Wait before retry (exponential backoff) if attempt < max_retries - 1: - time.sleep(retry_delay * (2 ** attempt)) + time.sleep(retry_delay * (2**attempt)) return log @staticmethod - def send_notification(recipient, title, message, notification_type='general', related_object=None, metadata=None): + def send_notification(recipient, title, message, notification_type="general", related_object=None, metadata=None): """ Send generic notification to a user. @@ -432,8 +595,8 @@ class NotificationService: NotificationLog instance """ # Determine the recipient's contact information - recipient_email = recipient.email if hasattr(recipient, 'email') else None - recipient_phone = recipient.phone if hasattr(recipient, 'phone') else None + recipient_email = recipient.email if hasattr(recipient, "email") else None + recipient_phone = recipient.phone if hasattr(recipient, "phone") else None # Try email first (most reliable) if recipient_email: @@ -443,10 +606,7 @@ class NotificationService: subject=title, message=message, related_object=related_object, - metadata={ - 'notification_type': notification_type, - **(metadata or {}) - } + metadata={"notification_type": notification_type, **(metadata or {})}, ) except Exception as e: logger.warning(f"Failed to send email notification to {recipient_email}: {str(e)}") @@ -460,10 +620,7 @@ class NotificationService: phone=recipient_phone, message=sms_message, related_object=related_object, - metadata={ - 'notification_type': notification_type, - **(metadata or {}) - } + metadata={"notification_type": notification_type, **(metadata or {})}, ) except Exception as e: logger.warning(f"Failed to send SMS notification to {recipient_phone}: {str(e)}") @@ -477,20 +634,17 @@ class NotificationService: # Create a log entry even if we couldn't send return NotificationLog.objects.create( - channel='console', + channel="console", recipient=str(recipient), subject=title, message=message, content_object=related_object, - provider='console', - metadata={ - 'notification_type': notification_type, - **(metadata or {}) - } + provider="console", + metadata={"notification_type": notification_type, **(metadata or {})}, ) @staticmethod - def send_survey_invitation(survey_instance, language='en'): + def send_survey_invitation(survey_instance, language="en"): """ Send survey invitation to patient. @@ -505,9 +659,9 @@ class NotificationService: survey_url = survey_instance.get_survey_url() # Determine recipient based on delivery channel - if survey_instance.delivery_channel == 'sms': + if survey_instance.delivery_channel == "sms": recipient = survey_instance.recipient_phone or patient.phone - if language == 'ar': + if language == "ar": message = f"عزيزي {patient.get_full_name()},\n\nنرجو منك إكمال استبيان تجربتك:\n{survey_url}" else: message = f"Dear {patient.get_full_name()},\n\nPlease complete your experience survey:\n{survey_url}" @@ -516,12 +670,12 @@ class NotificationService: phone=recipient, message=message, related_object=survey_instance, - metadata={'survey_id': str(survey_instance.id), 'language': language} + metadata={"survey_id": str(survey_instance.id), "language": language}, ) - elif survey_instance.delivery_channel == 'whatsapp': + elif survey_instance.delivery_channel == "whatsapp": recipient = survey_instance.recipient_phone or patient.phone - if language == 'ar': + if language == "ar": message = f"عزيزي {patient.get_full_name()},\n\nنرجو منك إكمال استبيان تجربتك:\n{survey_url}" else: message = f"Dear {patient.get_full_name()},\n\nPlease complete your experience survey:\n{survey_url}" @@ -530,16 +684,21 @@ class NotificationService: phone=recipient, message=message, related_object=survey_instance, - metadata={'survey_id': str(survey_instance.id), 'language': language} + metadata={"survey_id": str(survey_instance.id), "language": language}, ) else: # email recipient = survey_instance.recipient_email or patient.email - if language == 'ar': - subject = f"استبيان تجربتك - {survey_instance.survey_template.name_ar or survey_instance.survey_template.name}" + survey_label = ( + survey_instance.survey_template.name_ar or survey_instance.survey_template.name + if survey_instance.survey_template + else survey_instance.metadata.get("patient_type", "Patient Experience Survey") + ) + if language == "ar": + subject = f"استبيان تجربتك - {survey_label}" message = f"عزيزي {patient.get_full_name()},\n\nنرجو منك إكمال استبيان تجربتك:\n{survey_url}" else: - subject = f"Your Experience Survey - {survey_instance.survey_template.name}" + subject = f"Your Experience Survey - {survey_label}" message = f"Dear {patient.get_full_name()},\n\nPlease complete your experience survey:\n{survey_url}" return NotificationService.send_email( @@ -547,7 +706,7 @@ class NotificationService: subject=subject, message=message, related_object=survey_instance, - metadata={'survey_id': str(survey_instance.id), 'language': language} + metadata={"survey_id": str(survey_instance.id), "language": language}, ) @@ -570,3 +729,55 @@ def send_email(email, subject, message, **kwargs): def send_notification(recipient, title, message, **kwargs): """Send generic notification to a user""" return NotificationService.send_notification(recipient, title, message, **kwargs) + + +def create_in_app_notification( + user, + title, + message, + notification_type="system", + title_ar="", + message_ar="", + related_object=None, + action_url="", + email_log=None, +): + """ + Create an in-app notification for a user. + + This is automatically called when sending emails to create + corresponding in-app notifications. + + Args: + user: User instance to notify + title: Notification title (EN) + message: Notification message (EN) + notification_type: Type of notification (e.g., 'complaint_assigned') + title_ar: Arabic title (optional) + message_ar: Arabic message (optional) + related_object: Related model instance (optional) + action_url: URL to navigate when clicked (optional) + email_log: Associated NotificationLog instance (optional) + + Returns: + UserNotification instance + """ + from .models import UserNotification + + notification = UserNotification.objects.create( + user=user, + title=title, + title_ar=title_ar or title, + message=message, + message_ar=message_ar or message, + notification_type=notification_type, + action_url=action_url, + email_log=email_log, + ) + + # Set related object if provided + if related_object: + notification.content_object = related_object + notification.save(update_fields=["content_type", "object_id"]) + + return notification diff --git a/apps/notifications/urls.py b/apps/notifications/urls.py index 9c54bea..56c7b41 100644 --- a/apps/notifications/urls.py +++ b/apps/notifications/urls.py @@ -2,73 +2,36 @@ from django.urls import path from . import views -app_name = 'notifications' +app_name = "notifications" urlpatterns = [ # Notification Settings - path( - 'settings/', - views.notification_settings_view, - name='settings' - ), - path( - 'settings//', - views.notification_settings_view, - name='settings_with_hospital' - ), - + path("settings/", views.notification_settings_view, name="settings"), + path("settings//", views.notification_settings_view, name="settings_with_hospital"), # Settings Update + path("settings/update/", views.notification_settings_update, name="settings_update"), path( - 'settings/update/', - views.notification_settings_update, - name='settings_update' + "settings//update/", views.notification_settings_update, name="settings_update_with_hospital" ), - path( - 'settings//update/', - views.notification_settings_update, - name='settings_update_with_hospital' - ), - # Quiet Hours - path( - 'settings/quiet-hours/', - views.update_quiet_hours, - name='update_quiet_hours' - ), - path( - 'settings//quiet-hours/', - views.update_quiet_hours, - name='update_quiet_hours_with_hospital' - ), - + path("settings/quiet-hours/", views.update_quiet_hours, name="update_quiet_hours"), + path("settings//quiet-hours/", views.update_quiet_hours, name="update_quiet_hours_with_hospital"), # Test Notification - path( - 'settings/test/', - views.test_notification, - name='test_notification' - ), - path( - 'settings//test/', - views.test_notification, - name='test_notification_with_hospital' - ), - + path("settings/test/", views.test_notification, name="test_notification"), + path("settings//test/", views.test_notification, name="test_notification_with_hospital"), # API - path( - 'api/settings/', - views.notification_settings_api, - name='settings_api' - ), - path( - 'api/settings//', - views.notification_settings_api, - name='settings_api_with_hospital' - ), - + path("api/settings/", views.notification_settings_api, name="settings_api"), + path("api/settings//", views.notification_settings_api, name="settings_api_with_hospital"), # Direct SMS Send (Admin only) - path( - 'send-sms/', - views.send_sms_direct, - name='send_sms_direct' - ), + path("send-sms/", views.send_sms_direct, name="send_sms_direct"), + # Notification Inbox + path("inbox/", views.notification_inbox, name="inbox"), + # Notification API Endpoints + path("api/list/", views.notification_list_api, name="notification_list_api"), + path("api/mark-read//", views.mark_notification_read, name="mark_notification_read"), + path("api/mark-all-read/", views.mark_all_notifications_read, name="mark_all_notifications_read"), + path("api/dismiss//", views.dismiss_notification, name="dismiss_notification"), + path("api/dismiss-all/", views.dismiss_all_notifications, name="dismiss_all_notifications"), + path("api/unread-count/", views.unread_notification_count, name="unread_notification_count"), + path("api/latest/", views.latest_notifications, name="latest_notifications"), ] diff --git a/apps/notifications/views.py b/apps/notifications/views.py index 335f9a5..d417abb 100644 --- a/apps/notifications/views.py +++ b/apps/notifications/views.py @@ -3,9 +3,11 @@ Notification Settings Views Provides admin interface for configuring notification preferences. """ + from django.contrib import messages from django.contrib.auth.decorators import login_required from django.core.exceptions import PermissionDenied +from django.core.paginator import Paginator from django.shortcuts import render, redirect, get_object_or_404 from django.http import JsonResponse from django.utils.translation import gettext_lazy as _ @@ -19,9 +21,9 @@ def can_manage_notifications(user): """Check if user can manage notification settings""" if user.is_superuser: return True - if hasattr(user, 'is_px_admin') and user.is_px_admin(): + if hasattr(user, "is_px_admin") and user.is_px_admin(): return True - if hasattr(user, 'is_hospital_admin') and user.is_hospital_admin(): + if hasattr(user, "is_hospital_admin") and user.is_hospital_admin(): return True return False @@ -30,238 +32,240 @@ def can_manage_notifications(user): def notification_settings_view(request, hospital_id=None): """ Notification settings configuration page. - + Allows hospital admins to toggle notification preferences for different events and channels. """ # Check permission if not can_manage_notifications(request.user): raise PermissionDenied("You do not have permission to manage notification settings.") - + # Get hospital - if superuser, can view any; otherwise only their hospital if request.user.is_superuser and hospital_id: hospital = get_object_or_404(Hospital, id=hospital_id) else: hospital = request.user.hospital hospital_id = hospital.id - + # Get or create settings settings = HospitalNotificationSettings.get_for_hospital(hospital_id) - + # Group settings by category for display notification_categories = [ { - 'key': 'complaint', - 'name': 'Complaint Notifications', - 'icon': 'bi-exclamation-triangle', - 'description': 'Notifications related to complaint lifecycle', - 'events': [ + "key": "complaint", + "name": "Complaint Notifications", + "icon": "bi-exclamation-triangle", + "description": "Notifications related to complaint lifecycle", + "events": [ { - 'key': 'complaint_acknowledgment', - 'name': 'Complaint Acknowledgment', - 'description': 'Sent to patient when complaint is acknowledged', - 'icon': 'bi-check-circle', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "complaint_acknowledgment", + "name": "Complaint Acknowledgment", + "description": "Sent to patient when complaint is acknowledged", + "icon": "bi-check-circle", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'complaint_assigned', - 'name': 'Complaint Assigned', - 'description': 'Sent to staff when complaint is assigned to them', - 'icon': 'bi-person-check', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "complaint_assigned", + "name": "Complaint Assigned", + "description": "Sent to staff when complaint is assigned to them", + "icon": "bi-person-check", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'complaint_status_changed', - 'name': 'Complaint Status Changed', - 'description': 'Sent when complaint status is updated', - 'icon': 'bi-arrow-repeat', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "complaint_status_changed", + "name": "Complaint Status Changed", + "description": "Sent when complaint status is updated", + "icon": "bi-arrow-repeat", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'complaint_resolved', - 'name': 'Complaint Resolved', - 'description': 'Sent to patient when complaint is resolved', - 'icon': 'bi-check2-all', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "complaint_resolved", + "name": "Complaint Resolved", + "description": "Sent to patient when complaint is resolved", + "icon": "bi-check2-all", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'complaint_closed', - 'name': 'Complaint Closed', - 'description': 'Sent to patient when complaint is closed', - 'icon': 'bi-x-circle', - 'channels': ['email', 'sms', 'whatsapp'] - }, - ] - }, - { - 'key': 'explanation', - 'name': 'Explanation Notifications', - 'icon': 'bi-chat-left-text', - 'description': 'Notifications for staff explanation workflow', - 'events': [ - { - 'key': 'explanation_requested', - 'name': 'Explanation Requested', - 'description': 'Sent to staff when explanation is requested', - 'icon': 'bi-question-circle', - 'channels': ['email', 'sms', 'whatsapp'] - }, - { - 'key': 'explanation_reminder', - 'name': 'Explanation Reminder (24h)', - 'description': 'Reminder sent 24h before SLA deadline', - 'icon': 'bi-clock-history', - 'channels': ['email', 'sms', 'whatsapp'] - }, - { - 'key': 'explanation_overdue', - 'name': 'Explanation Overdue/Escalation', - 'description': 'Sent to manager when explanation is overdue', - 'icon': 'bi-exclamation-diamond', - 'channels': ['email', 'sms', 'whatsapp'] - }, - { - 'key': 'explanation_received', - 'name': 'Explanation Received', - 'description': 'Sent to assignee when staff submits explanation', - 'icon': 'bi-inbox', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "complaint_closed", + "name": "Complaint Closed", + "description": "Sent to patient when complaint is closed", + "icon": "bi-x-circle", + "channels": ["email", "sms", "whatsapp"], }, ], - 'extra_settings': [ + }, + { + "key": "explanation", + "name": "Explanation Notifications", + "icon": "bi-chat-left-text", + "description": "Notifications for staff explanation workflow", + "events": [ { - 'key': 'explanation_manager_cc', - 'name': 'Manager CC on Explanation Request', - 'description': 'CC manager when explanation is requested from staff', - 'icon': 'bi-person-badge' + "key": "explanation_requested", + "name": "Explanation Requested", + "description": "Sent to staff when explanation is requested", + "icon": "bi-question-circle", + "channels": ["email", "sms", "whatsapp"], + }, + { + "key": "explanation_reminder", + "name": "Explanation Reminder (24h)", + "description": "Reminder sent 24h before SLA deadline", + "icon": "bi-clock-history", + "channels": ["email", "sms", "whatsapp"], + }, + { + "key": "explanation_overdue", + "name": "Explanation Overdue/Escalation", + "description": "Sent to manager when explanation is overdue", + "icon": "bi-exclamation-diamond", + "channels": ["email", "sms", "whatsapp"], + }, + { + "key": "explanation_received", + "name": "Explanation Received", + "description": "Sent to assignee when staff submits explanation", + "icon": "bi-inbox", + "channels": ["email", "sms", "whatsapp"], + }, + ], + "extra_settings": [ + { + "key": "explanation_manager_cc", + "name": "Manager CC on Explanation Request", + "description": "CC manager when explanation is requested from staff", + "icon": "bi-person-badge", } - ] + ], }, { - 'key': 'survey', - 'name': 'Survey Notifications', - 'icon': 'bi-clipboard-check', - 'description': 'Notifications for patient surveys', - 'events': [ + "key": "survey", + "name": "Survey Notifications", + "icon": "bi-clipboard-check", + "description": "Notifications for patient surveys", + "events": [ { - 'key': 'survey_invitation', - 'name': 'Survey Invitation', - 'description': 'Initial survey invitation sent to patient', - 'icon': 'bi-envelope-open', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "survey_invitation", + "name": "Survey Invitation", + "description": "Initial survey invitation sent to patient", + "icon": "bi-envelope-open", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'survey_reminder', - 'name': 'Survey Reminder', - 'description': 'Reminder for patients to complete survey', - 'icon': 'bi-bell', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "survey_reminder", + "name": "Survey Reminder", + "description": "Reminder for patients to complete survey", + "icon": "bi-bell", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'survey_completed', - 'name': 'Survey Completed', - 'description': 'Sent to admin when survey is completed', - 'icon': 'bi-check-circle-fill', - 'channels': ['email', 'sms'] + "key": "survey_completed", + "name": "Survey Completed", + "description": "Sent to admin when survey is completed", + "icon": "bi-check-circle-fill", + "channels": ["email", "sms"], }, - ] + ], }, { - 'key': 'action', - 'name': 'Action Plan Notifications', - 'icon': 'bi-list-check', - 'description': 'Notifications for action plan assignments', - 'events': [ + "key": "action", + "name": "Action Plan Notifications", + "icon": "bi-list-check", + "description": "Notifications for action plan assignments", + "events": [ { - 'key': 'action_assigned', - 'name': 'Action Assigned', - 'description': 'Sent to staff when action is assigned', - 'icon': 'bi-person-plus', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "action_assigned", + "name": "Action Assigned", + "description": "Sent to staff when action is assigned", + "icon": "bi-person-plus", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'action_due_soon', - 'name': 'Action Due Soon', - 'description': 'Reminder when action is approaching deadline', - 'icon': 'bi-calendar-event', - 'channels': ['email', 'sms'] + "key": "action_due_soon", + "name": "Action Due Soon", + "description": "Reminder when action is approaching deadline", + "icon": "bi-calendar-event", + "channels": ["email", "sms"], }, { - 'key': 'action_overdue', - 'name': 'Action Overdue', - 'description': 'Alert when action is past deadline', - 'icon': 'bi-calendar-x', - 'channels': ['email', 'sms'] + "key": "action_overdue", + "name": "Action Overdue", + "description": "Alert when action is past deadline", + "icon": "bi-calendar-x", + "channels": ["email", "sms"], }, - ] + ], }, { - 'key': 'sla', - 'name': 'SLA Notifications', - 'icon': 'bi-stopwatch', - 'description': 'Notifications for SLA monitoring', - 'events': [ + "key": "sla", + "name": "SLA Notifications", + "icon": "bi-stopwatch", + "description": "Notifications for SLA monitoring", + "events": [ { - 'key': 'sla_reminder', - 'name': 'SLA Reminder', - 'description': 'Reminder before SLA breach', - 'icon': 'bi-clock', - 'channels': ['email', 'sms'] + "key": "sla_reminder", + "name": "SLA Reminder", + "description": "Reminder before SLA breach", + "icon": "bi-clock", + "channels": ["email", "sms"], }, { - 'key': 'sla_breach', - 'name': 'SLA Breach Alert', - 'description': 'Alert when SLA is breached', - 'icon': 'bi-exclamation-octagon', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "sla_breach", + "name": "SLA Breach Alert", + "description": "Alert when SLA is breached", + "icon": "bi-exclamation-octagon", + "channels": ["email", "sms", "whatsapp"], }, - ] + ], }, { - 'key': 'onboarding', - 'name': 'Onboarding Notifications', - 'icon': 'bi-person-plus', - 'description': 'Notifications for user onboarding and acknowledgements', - 'events': [ + "key": "onboarding", + "name": "Onboarding Notifications", + "icon": "bi-person-plus", + "description": "Notifications for user onboarding and acknowledgements", + "events": [ { - 'key': 'onboarding_invitation', - 'name': 'Onboarding Invitation', - 'description': 'Sent to new provisional users to complete registration', - 'icon': 'bi-envelope-plus', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "onboarding_invitation", + "name": "Onboarding Invitation", + "description": "Sent to new provisional users to complete registration", + "icon": "bi-envelope-plus", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'onboarding_reminder', - 'name': 'Onboarding Reminder', - 'description': 'Reminder to complete onboarding before invitation expires', - 'icon': 'bi-bell', - 'channels': ['email', 'sms', 'whatsapp'] + "key": "onboarding_reminder", + "name": "Onboarding Reminder", + "description": "Reminder to complete onboarding before invitation expires", + "icon": "bi-bell", + "channels": ["email", "sms", "whatsapp"], }, { - 'key': 'onboarding_completion', - 'name': 'Onboarding Completion', - 'description': 'Sent to admins when user completes onboarding', - 'icon': 'bi-check-circle-fill', - 'channels': ['email', 'sms'] + "key": "onboarding_completion", + "name": "Onboarding Completion", + "description": "Sent to admins when user completes onboarding", + "icon": "bi-check-circle-fill", + "channels": ["email", "sms"], }, - ] + ], }, ] - + # Get recent change logs - change_logs = NotificationSettingsLog.objects.filter( - hospital=hospital - ).select_related('changed_by').order_by('-created_at')[:10] - + change_logs = ( + NotificationSettingsLog.objects.filter(hospital=hospital) + .select_related("changed_by") + .order_by("-created_at")[:10] + ) + context = { - 'hospital': hospital, - 'settings': settings, - 'categories': notification_categories, - 'change_logs': change_logs, - 'is_superuser': request.user.is_superuser, + "hospital": hospital, + "settings": settings, + "categories": notification_categories, + "change_logs": change_logs, + "is_superuser": request.user.is_superuser, } - - return render(request, 'notifications/settings.html', context) + + return render(request, "notifications/settings.html", context) @login_required @@ -273,73 +277,59 @@ def notification_settings_update(request, hospital_id=None): # Check permission if not can_manage_notifications(request.user): raise PermissionDenied("You do not have permission to manage notification settings.") - + # Get hospital if request.user.is_superuser and hospital_id: hospital = get_object_or_404(Hospital, id=hospital_id) else: hospital = request.user.hospital - + settings = HospitalNotificationSettings.get_for_hospital(hospital.id) - + # Handle master switch - if 'notifications_enabled' in request.POST: + if "notifications_enabled" in request.POST: old_value = settings.notifications_enabled - new_value = request.POST.get('notifications_enabled') == 'on' + new_value = request.POST.get("notifications_enabled") == "on" settings.notifications_enabled = new_value settings.save() - + NotificationSettingsLog.objects.create( hospital=hospital, changed_by=request.user, - field_name='notifications_enabled', + field_name="notifications_enabled", old_value=old_value, - new_value=new_value + new_value=new_value, ) - - if request.headers.get('X-Requested-With') == 'XMLHttpRequest': - return JsonResponse({ - 'success': True, - 'message': f"Notifications {'enabled' if new_value else 'disabled'}" - }) + + if request.headers.get("X-Requested-With") == "XMLHttpRequest": + return JsonResponse({"success": True, "message": f"Notifications {'enabled' if new_value else 'disabled'}"}) messages.success(request, f"Notifications {'enabled' if new_value else 'disabled'}") - return redirect('notifications:settings_with_hospital', hospital_id=hospital.id) - + return redirect("notifications:settings_with_hospital", hospital_id=hospital.id) + # Handle individual toggle - field_name = request.POST.get('field') - value = request.POST.get('value') == 'true' - + field_name = request.POST.get("field") + value = request.POST.get("value") == "true" + if field_name and hasattr(settings, field_name): old_value = getattr(settings, field_name) setattr(settings, field_name, value) settings.save() - + # Log the change NotificationSettingsLog.objects.create( - hospital=hospital, - changed_by=request.user, - field_name=field_name, - old_value=old_value, - new_value=value + hospital=hospital, changed_by=request.user, field_name=field_name, old_value=old_value, new_value=value ) - - if request.headers.get('X-Requested-With') == 'XMLHttpRequest': - return JsonResponse({ - 'success': True, - 'field': field_name, - 'value': value - }) - + + if request.headers.get("X-Requested-With") == "XMLHttpRequest": + return JsonResponse({"success": True, "field": field_name, "value": value}) + messages.success(request, "Setting updated successfully") else: - if request.headers.get('X-Requested-With') == 'XMLHttpRequest': - return JsonResponse({ - 'success': False, - 'error': 'Invalid field name' - }, status=400) + if request.headers.get("X-Requested-With") == "XMLHttpRequest": + return JsonResponse({"success": False, "error": "Invalid field name"}, status=400) messages.error(request, "Invalid setting") - - return redirect('notifications:settings_with_hospital', hospital_id=hospital.id) + + return redirect("notifications:settings_with_hospital", hospital_id=hospital.id) @login_required @@ -351,21 +341,21 @@ def update_quiet_hours(request, hospital_id=None): # Check permission if not can_manage_notifications(request.user): raise PermissionDenied("You do not have permission to manage notification settings.") - + if request.user.is_superuser and hospital_id: hospital = get_object_or_404(Hospital, id=hospital_id) else: hospital = request.user.hospital - + settings = HospitalNotificationSettings.get_for_hospital(hospital.id) - - settings.quiet_hours_enabled = request.POST.get('quiet_hours_enabled') == 'on' - settings.quiet_hours_start = request.POST.get('quiet_hours_start', '22:00') - settings.quiet_hours_end = request.POST.get('quiet_hours_end', '08:00') + + settings.quiet_hours_enabled = request.POST.get("quiet_hours_enabled") == "on" + settings.quiet_hours_start = request.POST.get("quiet_hours_start", "22:00") + settings.quiet_hours_end = request.POST.get("quiet_hours_end", "08:00") settings.save() - + messages.success(request, "Quiet hours settings updated") - return redirect('notifications:settings_with_hospital', hospital_id=hospital.id) + return redirect("notifications:settings_with_hospital", hospital_id=hospital.id) @login_required @@ -376,42 +366,42 @@ def test_notification(request, hospital_id=None): # Check permission if not can_manage_notifications(request.user): raise PermissionDenied("You do not have permission to manage notification settings.") - + if request.user.is_superuser and hospital_id: hospital = get_object_or_404(Hospital, id=hospital_id) else: hospital = request.user.hospital - + settings = HospitalNotificationSettings.get_for_hospital(hospital.id) - channel = request.POST.get('channel', 'email') - + channel = request.POST.get("channel", "email") + from .services import NotificationService - - if channel == 'email' and request.user.email: + + if channel == "email" and request.user.email: NotificationService.send_email( email=request.user.email, - subject='PX360 Test Notification', - message='This is a test notification from PX360.\n\nIf you received this, your email notifications are working correctly.', - metadata={'test': True, 'hospital_id': str(hospital.id)} + subject="PX360 Test Notification", + message="This is a test notification from PX360.\n\nIf you received this, your email notifications are working correctly.", + metadata={"test": True, "hospital_id": str(hospital.id)}, ) messages.success(request, f"Test email sent to {request.user.email}") - - elif channel == 'sms': - phone = request.POST.get('test_phone') + + elif channel == "sms": + phone = request.POST.get("test_phone") if phone: NotificationService.send_sms( phone=phone, - message='PX360 Test: Your SMS notifications are configured correctly.', - metadata={'test': True, 'hospital_id': str(hospital.id)} + message="PX360 Test: Your SMS notifications are configured correctly.", + metadata={"test": True, "hospital_id": str(hospital.id)}, ) messages.success(request, f"Test SMS sent to {phone}") else: messages.error(request, "Please provide a phone number") - + else: messages.error(request, "Invalid channel selected") - - return redirect('notifications:settings_with_hospital', hospital_id=hospital.id) + + return redirect("notifications:settings_with_hospital", hospital_id=hospital.id) @login_required @@ -424,99 +414,287 @@ def notification_settings_api(request, hospital_id=None): hospital = get_object_or_404(Hospital, id=hospital_id) else: hospital = request.user.hospital - + settings = HospitalNotificationSettings.get_for_hospital(hospital.id) - + # Build response with all settings settings_dict = {} for field in settings._meta.fields: - if field.name not in ['id', 'uuid', 'created_at', 'updated_at', 'hospital']: + if field.name not in ["id", "uuid", "created_at", "updated_at", "hospital"]: settings_dict[field.name] = getattr(settings, field.name) - - return JsonResponse({ - 'hospital_id': str(hospital.id), - 'hospital_name': hospital.name, - 'settings': settings_dict - }) + return JsonResponse({"hospital_id": str(hospital.id), "hospital_name": hospital.name, "settings": settings_dict}) @login_required def send_sms_direct(request): """ - Direct SMS sending page for admins. - - Allows PX Admins and Hospital Admins to send SMS messages -directly to any phone number. + Direct SMS sending page for admins. + + Allows PX Admins and Hospital Admins to send SMS messages + directly to any phone number. """ from .services import NotificationService - + # Check permission - only admins can send direct SMS if not can_manage_notifications(request.user): raise PermissionDenied("You do not have permission to send SMS messages.") - - if request.method == 'POST': - phone_number = request.POST.get('phone_number', '').strip() - message = request.POST.get('message', '').strip() - + + if request.method == "POST": + phone_number = request.POST.get("phone_number", "").strip() + message = request.POST.get("message", "").strip() + # Validate inputs errors = [] if not phone_number: errors.append(_("Phone number is required.")) - elif not phone_number.startswith('+'): + elif not phone_number.startswith("+"): errors.append(_("Phone number must include country code (e.g., +966501234567).")) - + if not message: errors.append(_("Message is required.")) elif len(message) > 1600: errors.append(_("Message is too long. Maximum 1600 characters.")) - + if errors: for error in errors: messages.error(request, error) - return render(request, 'notifications/send_sms_direct.html', { - 'phone_number': phone_number, - 'message': message, - }) - + return render( + request, + "notifications/send_sms_direct.html", + { + "phone_number": phone_number, + "message": message, + }, + ) + try: # Clean phone number - phone_number = phone_number.replace(' ', '').replace('-', '').replace('(', '').replace(')', '') - + phone_number = phone_number.replace(" ", "").replace("-", "").replace("(", "").replace(")", "") + # Send SMS notification_log = NotificationService.send_sms( phone=phone_number, message=message, metadata={ - 'sent_by': str(request.user.id), - 'sent_by_name': request.user.get_full_name(), - 'source': 'direct_sms_send' - } + "sent_by": str(request.user.id), + "sent_by_name": request.user.get_full_name(), + "source": "direct_sms_send", + }, ) - + # Log the action from apps.core.services import AuditService + AuditService.log_event( - event_type='sms_sent_direct', + event_type="sms_sent_direct", description=f"Direct SMS sent to {phone_number} by {request.user.get_full_name()}", user=request.user, metadata={ - 'phone_number': phone_number, - 'message_length': len(message), - 'notification_log_id': str(notification_log.id) if notification_log else None - } + "phone_number": phone_number, + "message_length": len(message), + "notification_log_id": str(notification_log.id) if notification_log else None, + }, ) - - messages.success( - request, - _(f"SMS sent successfully to {phone_number}.") - ) - return redirect('notifications:send_sms_direct') - + + messages.success(request, _(f"SMS sent successfully to {phone_number}.")) + return redirect("notifications:send_sms_direct") + except Exception as e: import logging + logger = logging.getLogger(__name__) logger.error(f"Error sending direct SMS: {str(e)}", exc_info=True) messages.error(request, f"Error sending SMS: {str(e)}") - - return render(request, 'notifications/send_sms_direct.html') + + return render(request, "notifications/send_sms_direct.html") + + +# ============================================================================ +# NOTIFICATION INBOX VIEWS +# ============================================================================ + + +@login_required +def notification_inbox(request): + """ + Notification inbox page. + Displays all non-dismissed notifications for the current user. + """ + from .models import UserNotification + + filter_type = request.GET.get("filter", "all") + + # Base queryset - exclude dismissed + notifications = UserNotification.objects.filter(user=request.user, is_dismissed=False) + + # Apply filters + if filter_type == "unread": + notifications = notifications.filter(is_read=False) + elif filter_type == "read": + notifications = notifications.filter(is_read=True) + + # Pagination + paginator = Paginator(notifications, 20) + page = request.GET.get("page", 1) + notifications_page = paginator.get_page(page) + + context = { + "notifications": notifications_page, + "filter": filter_type, + "unread_count": UserNotification.objects.filter(user=request.user, is_read=False, is_dismissed=False).count(), + } + + return render(request, "notifications/inbox.html", context) + + +@login_required +def notification_list_api(request): + """ + API endpoint to get notifications list (JSON). + """ + from .models import UserNotification + from django.http import JsonResponse + + filter_type = request.GET.get("filter", "all") + page = int(request.GET.get("page", 1)) + + notifications = UserNotification.objects.filter(user=request.user, is_dismissed=False) + + if filter_type == "unread": + notifications = notifications.filter(is_read=False) + elif filter_type == "read": + notifications = notifications.filter(is_read=True) + + paginator = Paginator(notifications, 20) + notifications_page = paginator.get_page(page) + + data = { + "notifications": [ + { + "id": str(n.id), + "title": n.get_title(), + "message": n.get_message(), + "type": n.notification_type, + "is_read": n.is_read, + "created_at": n.created_at.isoformat(), + "action_url": n.action_url, + } + for n in notifications_page + ], + "has_next": notifications_page.has_next(), + "has_previous": notifications_page.has_previous(), + "page": page, + "total_pages": paginator.num_pages, + } + + return JsonResponse(data) + + +@login_required +@require_POST +def mark_notification_read(request, notification_id): + """ + Mark a single notification as read. + """ + from .models import UserNotification + from django.http import JsonResponse + + try: + notification = UserNotification.objects.get(id=notification_id, user=request.user) + notification.mark_as_read() + return JsonResponse({"success": True}) + except UserNotification.DoesNotExist: + return JsonResponse({"success": False, "error": "Notification not found"}, status=404) + + +@login_required +@require_POST +def mark_all_notifications_read(request): + """ + Mark all notifications as read. + """ + from .models import UserNotification + from django.http import JsonResponse + from django.utils import timezone + + UserNotification.objects.filter(user=request.user, is_read=False, is_dismissed=False).update( + is_read=True, read_at=timezone.now() + ) + + return JsonResponse({"success": True}) + + +@login_required +@require_POST +def dismiss_notification(request, notification_id): + """ + Dismiss a notification. + """ + from .models import UserNotification + from django.http import JsonResponse + + try: + notification = UserNotification.objects.get(id=notification_id, user=request.user) + notification.mark_as_dismissed() + return JsonResponse({"success": True}) + except UserNotification.DoesNotExist: + return JsonResponse({"success": False, "error": "Notification not found"}, status=404) + + +@login_required +@require_POST +def dismiss_all_notifications(request): + """ + Dismiss all notifications. + """ + from .models import UserNotification + from django.http import JsonResponse + from django.utils import timezone + + UserNotification.objects.filter(user=request.user, is_dismissed=False).update( + is_dismissed=True, dismissed_at=timezone.now() + ) + + return JsonResponse({"success": True}) + + +@login_required +def unread_notification_count(request): + """ + Get unread notification count. + """ + from .models import UserNotification + from django.http import JsonResponse + + count = UserNotification.objects.filter(user=request.user, is_read=False, is_dismissed=False).count() + + return JsonResponse({"count": count}) + + +@login_required +def latest_notifications(request): + """ + Get latest 5 unread notifications for dropdown. + """ + from .models import UserNotification + from django.http import JsonResponse + + notifications = UserNotification.objects.filter(user=request.user, is_read=False, is_dismissed=False)[:5] + + data = { + "notifications": [ + { + "id": str(n.id), + "title": n.get_title(), + "message": n.get_message()[:100] + "..." if len(n.get_message()) > 100 else n.get_message(), + "type": n.notification_type, + "created_at": n.created_at.isoformat(), + "action_url": n.action_url, + } + for n in notifications + ], + "has_more": UserNotification.objects.filter(user=request.user, is_read=False, is_dismissed=False).count() > 5, + } + + return JsonResponse(data) diff --git a/apps/observations/admin.py b/apps/observations/admin.py index 131be88..f8f8b53 100644 --- a/apps/observations/admin.py +++ b/apps/observations/admin.py @@ -1,8 +1,9 @@ """ Observations admin configuration. """ + from django.contrib import admin -from django.utils.html import format_html +from django.utils.html import format_html, mark_safe from .models import ( Observation, @@ -16,49 +17,50 @@ from .models import ( @admin.register(ObservationCategory) class ObservationCategoryAdmin(admin.ModelAdmin): """Admin for ObservationCategory model.""" - list_display = ['name_en', 'name_ar', 'is_active', 'sort_order', 'observation_count', 'created_at'] - list_filter = ['is_active', 'created_at'] - search_fields = ['name_en', 'name_ar', 'description'] - ordering = ['sort_order', 'name_en'] - + + list_display = ["name_en", "name_ar", "is_active", "sort_order", "observation_count", "created_at"] + list_filter = ["is_active", "created_at"] + search_fields = ["name_en", "name_ar", "description"] + ordering = ["sort_order", "name_en"] + fieldsets = ( - (None, { - 'fields': ('name_en', 'name_ar', 'description') - }), - ('Settings', { - 'fields': ('icon', 'sort_order', 'is_active') - }), + (None, {"fields": ("name_en", "name_ar", "description")}), + ("Settings", {"fields": ("icon", "sort_order", "is_active")}), ) - + def observation_count(self, obj): return obj.observations.count() - observation_count.short_description = 'Observations' + + observation_count.short_description = "Observations" class ObservationAttachmentInline(admin.TabularInline): """Inline admin for ObservationAttachment.""" + model = ObservationAttachment extra = 0 - readonly_fields = ['filename', 'file_type', 'file_size', 'created_at'] - fields = ['file', 'filename', 'file_type', 'file_size', 'description', 'created_at'] + readonly_fields = ["filename", "file_type", "file_size", "created_at"] + fields = ["file", "filename", "file_type", "file_size", "description", "created_at"] class ObservationNoteInline(admin.TabularInline): """Inline admin for ObservationNote.""" + model = ObservationNote extra = 0 - readonly_fields = ['created_by', 'created_at'] - fields = ['note', 'is_internal', 'created_by', 'created_at'] + readonly_fields = ["created_by", "created_at"] + fields = ["note", "is_internal", "created_by", "created_at"] class ObservationStatusLogInline(admin.TabularInline): """Inline admin for ObservationStatusLog.""" + model = ObservationStatusLog extra = 0 - readonly_fields = ['from_status', 'to_status', 'changed_by', 'comment', 'created_at'] - fields = ['from_status', 'to_status', 'changed_by', 'comment', 'created_at'] + readonly_fields = ["from_status", "to_status", "changed_by", "comment", "created_at"] + fields = ["from_status", "to_status", "changed_by", "comment", "created_at"] can_delete = False - + def has_add_permission(self, request, obj=None): return False @@ -66,123 +68,119 @@ class ObservationStatusLogInline(admin.TabularInline): @admin.register(Observation) class ObservationAdmin(admin.ModelAdmin): """Admin for Observation model.""" + list_display = [ - 'tracking_code', 'title_display', 'category', 'severity_badge', - 'status_badge', 'reporter_display', 'assigned_department', - 'assigned_to', 'created_at' - ] - list_filter = [ - 'status', 'severity', 'category', 'assigned_department', - 'created_at', 'triaged_at', 'resolved_at' - ] - search_fields = [ - 'tracking_code', 'title', 'description', - 'reporter_name', 'reporter_staff_id', 'location_text' + "tracking_code", + "title_display", + "category", + "severity_badge", + "status_badge", + "reporter_display", + "assigned_department", + "assigned_to", + "created_at", ] + list_filter = ["status", "severity", "category", "assigned_department", "created_at", "triaged_at", "resolved_at"] + search_fields = ["tracking_code", "title", "description", "reporter_name", "reporter_staff_id", "location_text"] readonly_fields = [ - 'tracking_code', 'created_at', 'updated_at', - 'triaged_at', 'resolved_at', 'closed_at', - 'client_ip', 'user_agent' + "tracking_code", + "created_at", + "updated_at", + "triaged_at", + "resolved_at", + "closed_at", + "client_ip", + "user_agent", ] - ordering = ['-created_at'] - date_hierarchy = 'created_at' - + ordering = ["-created_at"] + date_hierarchy = "created_at" + fieldsets = ( - ('Tracking', { - 'fields': ('tracking_code', 'status') - }), - ('Content', { - 'fields': ('category', 'title', 'description', 'severity') - }), - ('Location & Time', { - 'fields': ('location_text', 'incident_datetime') - }), - ('Reporter Information', { - 'fields': ('reporter_staff_id', 'reporter_name', 'reporter_phone', 'reporter_email'), - 'classes': ('collapse',) - }), - ('Assignment', { - 'fields': ('assigned_department', 'assigned_to') - }), - ('Triage', { - 'fields': ('triaged_by', 'triaged_at'), - 'classes': ('collapse',) - }), - ('Resolution', { - 'fields': ('resolved_by', 'resolved_at', 'resolution_notes'), - 'classes': ('collapse',) - }), - ('Closure', { - 'fields': ('closed_by', 'closed_at'), - 'classes': ('collapse',) - }), - ('Action Center', { - 'fields': ('action_id',), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('client_ip', 'user_agent', 'metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Tracking", {"fields": ("tracking_code", "status")}), + ("Content", {"fields": ("category", "title", "description", "severity")}), + ("Location & Time", {"fields": ("location_text", "incident_datetime")}), + ( + "Reporter Information", + { + "fields": ("reporter_staff_id", "reporter_name", "reporter_phone", "reporter_email"), + "classes": ("collapse",), + }, + ), + ("Assignment", {"fields": ("assigned_department", "assigned_to")}), + ("Triage", {"fields": ("triaged_by", "triaged_at"), "classes": ("collapse",)}), + ("Resolution", {"fields": ("resolved_by", "resolved_at", "resolution_notes"), "classes": ("collapse",)}), + ("Closure", {"fields": ("closed_by", "closed_at"), "classes": ("collapse",)}), + ("Action Center", {"fields": ("action_id",), "classes": ("collapse",)}), + ( + "Metadata", + {"fields": ("client_ip", "user_agent", "metadata", "created_at", "updated_at"), "classes": ("collapse",)}, + ), ) - + inlines = [ObservationAttachmentInline, ObservationNoteInline, ObservationStatusLogInline] - + def title_display(self, obj): if obj.title: - return obj.title[:50] + '...' if len(obj.title) > 50 else obj.title - return obj.description[:50] + '...' if len(obj.description) > 50 else obj.description - title_display.short_description = 'Title/Description' - + return obj.title[:50] + "..." if len(obj.title) > 50 else obj.title + return obj.description[:50] + "..." if len(obj.description) > 50 else obj.description + + title_display.short_description = "Title/Description" + def severity_badge(self, obj): colors = { - 'low': '#28a745', - 'medium': '#ffc107', - 'high': '#dc3545', - 'critical': '#343a40', + "low": "#28a745", + "medium": "#ffc107", + "high": "#dc3545", + "critical": "#343a40", } - color = colors.get(obj.severity, '#6c757d') + color = colors.get(obj.severity, "#6c757d") return format_html( '{}', - color, obj.get_severity_display() + color, + obj.get_severity_display(), ) - severity_badge.short_description = 'Severity' - + + severity_badge.short_description = "Severity" + def status_badge(self, obj): colors = { - 'new': '#007bff', - 'triaged': '#17a2b8', - 'assigned': '#17a2b8', - 'in_progress': '#ffc107', - 'resolved': '#28a745', - 'closed': '#6c757d', - 'rejected': '#dc3545', - 'duplicate': '#6c757d', + "new": "#007bff", + "triaged": "#17a2b8", + "assigned": "#17a2b8", + "in_progress": "#ffc107", + "resolved": "#28a745", + "closed": "#6c757d", + "rejected": "#dc3545", + "duplicate": "#6c757d", } - color = colors.get(obj.status, '#6c757d') + color = colors.get(obj.status, "#6c757d") return format_html( '{}', - color, obj.get_status_display() + color, + obj.get_status_display(), ) - status_badge.short_description = 'Status' - + + status_badge.short_description = "Status" + def reporter_display(self, obj): if obj.is_anonymous: - return format_html('Anonymous') + return mark_safe('Anonymous') return obj.reporter_display - reporter_display.short_description = 'Reporter' + + reporter_display.short_description = "Reporter" @admin.register(ObservationAttachment) class ObservationAttachmentAdmin(admin.ModelAdmin): """Admin for ObservationAttachment model.""" - list_display = ['observation', 'filename', 'file_type', 'file_size_display', 'created_at'] - list_filter = ['file_type', 'created_at'] - search_fields = ['observation__tracking_code', 'filename', 'description'] - readonly_fields = ['file_size', 'created_at'] - + + list_display = ["observation", "filename", "file_type", "file_size_display", "created_at"] + list_filter = ["file_type", "created_at"] + search_fields = ["observation__tracking_code", "filename", "description"] + readonly_fields = ["file_size", "created_at"] + def file_size_display(self, obj): if obj.file_size < 1024: return f"{obj.file_size} B" @@ -190,32 +188,36 @@ class ObservationAttachmentAdmin(admin.ModelAdmin): return f"{obj.file_size / 1024:.1f} KB" else: return f"{obj.file_size / (1024 * 1024):.1f} MB" - file_size_display.short_description = 'Size' + + file_size_display.short_description = "Size" @admin.register(ObservationNote) class ObservationNoteAdmin(admin.ModelAdmin): """Admin for ObservationNote model.""" - list_display = ['observation', 'note_preview', 'created_by', 'is_internal', 'created_at'] - list_filter = ['is_internal', 'created_at'] - search_fields = ['observation__tracking_code', 'note', 'created_by__email'] - readonly_fields = ['created_at'] - + + list_display = ["observation", "note_preview", "created_by", "is_internal", "created_at"] + list_filter = ["is_internal", "created_at"] + search_fields = ["observation__tracking_code", "note", "created_by__email"] + readonly_fields = ["created_at"] + def note_preview(self, obj): - return obj.note[:100] + '...' if len(obj.note) > 100 else obj.note - note_preview.short_description = 'Note' + return obj.note[:100] + "..." if len(obj.note) > 100 else obj.note + + note_preview.short_description = "Note" @admin.register(ObservationStatusLog) class ObservationStatusLogAdmin(admin.ModelAdmin): """Admin for ObservationStatusLog model.""" - list_display = ['observation', 'from_status', 'to_status', 'changed_by', 'created_at'] - list_filter = ['from_status', 'to_status', 'created_at'] - search_fields = ['observation__tracking_code', 'comment', 'changed_by__email'] - readonly_fields = ['observation', 'from_status', 'to_status', 'changed_by', 'comment', 'created_at'] - + + list_display = ["observation", "from_status", "to_status", "changed_by", "created_at"] + list_filter = ["from_status", "to_status", "created_at"] + search_fields = ["observation__tracking_code", "comment", "changed_by__email"] + readonly_fields = ["observation", "from_status", "to_status", "changed_by", "comment", "created_at"] + def has_add_permission(self, request): return False - + def has_change_permission(self, request, obj=None): return False diff --git a/apps/observations/models.py b/apps/observations/models.py index 1b986ee..2be98c8 100644 --- a/apps/observations/models.py +++ b/apps/observations/models.py @@ -8,6 +8,7 @@ This module implements the observation reporting system that: - Links to departments and action center - Maintains audit trail with notes and status logs """ + import secrets import string @@ -24,28 +25,32 @@ def generate_tracking_code(): """Generate a unique tracking code for observations.""" # Format: OBS-XXXXXX (6 alphanumeric characters) chars = string.ascii_uppercase + string.digits - code = ''.join(secrets.choice(chars) for _ in range(6)) + code = "".join(secrets.choice(chars) for _ in range(6)) return f"OBS-{code}" class ObservationSeverity(models.TextChoices): """Observation severity choices.""" - LOW = 'low', 'Low' - MEDIUM = 'medium', 'Medium' - HIGH = 'high', 'High' - CRITICAL = 'critical', 'Critical' + + LOW = "low", "Low" + MEDIUM = "medium", "Medium" + HIGH = "high", "High" + CRITICAL = "critical", "Critical" class ObservationStatus(models.TextChoices): """Observation status choices.""" - NEW = 'new', 'New' - TRIAGED = 'triaged', 'Triaged' - ASSIGNED = 'assigned', 'Assigned' - IN_PROGRESS = 'in_progress', 'In Progress' - RESOLVED = 'resolved', 'Resolved' - CLOSED = 'closed', 'Closed' - REJECTED = 'rejected', 'Rejected' - DUPLICATE = 'duplicate', 'Duplicate' + + NEW = "new", "New" + TRIAGED = "triaged", "Triaged" + ASSIGNED = "assigned", "Assigned" + IN_PROGRESS = "in_progress", "In Progress" + RESOLVED = "resolved", "Resolved" + CLOSED = "closed", "Closed" + REJECTED = "rejected", "Rejected" + DUPLICATE = "duplicate", "Duplicate" + CONTACTED = "contacted", "Contacted" + CONTACTED_NO_RESPONSE = "contacted_no_response", "Contacted, No Response" class ObservationCategory(UUIDModel, TimeStampedModel): @@ -54,6 +59,7 @@ class ObservationCategory(UUIDModel, TimeStampedModel): Supports bilingual names (English and Arabic). """ + name_en = models.CharField(max_length=200, verbose_name="Name (English)") name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") description = models.TextField(blank=True) @@ -66,9 +72,9 @@ class ObservationCategory(UUIDModel, TimeStampedModel): icon = models.CharField(max_length=50, blank=True, help_text="Bootstrap icon class") class Meta: - ordering = ['sort_order', 'name_en'] - verbose_name = 'Observation Category' - verbose_name_plural = 'Observation Categories' + ordering = ["sort_order", "name_en"] + verbose_name = "Observation Category" + verbose_name_plural = "Observation Categories" def __str__(self): return self.name_en @@ -79,6 +85,84 @@ class ObservationCategory(UUIDModel, TimeStampedModel): return self.name_en +class ObservationSLAConfig(UUIDModel, TimeStampedModel): + """ + SLA configuration for observations per hospital and severity. + + Allows flexible SLA configuration for observation resolution times. + """ + + hospital = models.ForeignKey( + "organizations.Hospital", on_delete=models.CASCADE, related_name="observation_sla_configs" + ) + + severity = models.CharField( + max_length=20, + choices=ObservationSeverity.choices, + null=True, + blank=True, + help_text="Severity level for this SLA (optional = default config)", + ) + + sla_hours = models.IntegerField(help_text="Number of hours until SLA deadline") + + first_reminder_hours_after = models.IntegerField( + default=0, help_text="Send 1st reminder X hours after observation creation (0 = use reminder_hours_before)" + ) + + second_reminder_hours_after = models.IntegerField( + default=0, + help_text="Send 2nd reminder X hours after observation creation (0 = use second_reminder_hours_before)", + ) + + escalation_hours_after = models.IntegerField( + default=0, help_text="Escalate observation X hours after creation if unresolved (0 = use overdue logic)" + ) + + reminder_hours_before = models.IntegerField(default=24, help_text="Send first reminder X hours before deadline") + + second_reminder_enabled = models.BooleanField(default=False, help_text="Enable sending a second reminder") + + second_reminder_hours_before = models.IntegerField( + default=6, help_text="Send second reminder X hours before deadline" + ) + + is_active = models.BooleanField(default=True) + + class Meta: + ordering = ["hospital", "severity"] + verbose_name = "Observation SLA Config" + verbose_name_plural = "Observation SLA Configs" + indexes = [ + models.Index(fields=["hospital", "is_active"]), + models.Index(fields=["hospital", "severity", "is_active"]), + ] + + def __str__(self): + sev_display = self.severity if self.severity else "Default" + return f"{self.hospital.name} - {sev_display} - {self.sla_hours}h" + + def get_first_reminder_hours_after(self, observation_created_at=None): + if self.first_reminder_hours_after > 0: + return self.first_reminder_hours_after + else: + return max(0, self.sla_hours - self.reminder_hours_before) + + def get_second_reminder_hours_after(self, observation_created_at=None): + if self.second_reminder_hours_after > 0: + return self.second_reminder_hours_after + elif self.second_reminder_enabled: + return max(0, self.sla_hours - self.second_reminder_hours_before) + else: + return 0 + + def get_escalation_hours_after(self, observation_created_at=None): + if self.escalation_hours_after > 0: + return self.escalation_hours_after + else: + return None + + class Observation(UUIDModel, TimeStampedModel): """ Observation - Staff-reported issue or concern. @@ -90,171 +174,139 @@ class Observation(UUIDModel, TimeStampedModel): - Full lifecycle management with status tracking - Links to departments and action center """ + # Tracking tracking_code = models.CharField( max_length=20, unique=True, db_index=True, default=generate_tracking_code, - help_text="Unique code for tracking this observation" + help_text="Unique code for tracking this observation", ) # Classification category = models.ForeignKey( - ObservationCategory, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='observations' + ObservationCategory, on_delete=models.SET_NULL, null=True, blank=True, related_name="observations" ) # Content - title = models.CharField( - max_length=300, - blank=True, - help_text="Optional short title" - ) - description = models.TextField( - help_text="Detailed description of the observation" - ) + title = models.CharField(max_length=300, blank=True, help_text="Optional short title") + description = models.TextField(help_text="Detailed description of the observation") # Severity severity = models.CharField( - max_length=20, - choices=ObservationSeverity.choices, - default=ObservationSeverity.MEDIUM, - db_index=True + max_length=20, choices=ObservationSeverity.choices, default=ObservationSeverity.MEDIUM, db_index=True ) # Location and timing location_text = models.CharField( - max_length=500, - blank=True, - help_text="Where the issue was observed (building, floor, room, etc.)" - ) - incident_datetime = models.DateTimeField( - default=timezone.now, - help_text="When the issue was observed" + max_length=500, blank=True, help_text="Where the issue was observed (building, floor, room, etc.)" ) + incident_datetime = models.DateTimeField(default=timezone.now, help_text="When the issue was observed") # Optional reporter information (anonymous supported) - reporter_staff_id = models.CharField( - max_length=50, - blank=True, - help_text="Optional staff ID of the reporter" - ) - reporter_name = models.CharField( - max_length=200, - blank=True, - help_text="Optional name of the reporter" - ) - reporter_phone = models.CharField( - max_length=20, - blank=True, - help_text="Optional phone number for follow-up" - ) - reporter_email = models.EmailField( - blank=True, - help_text="Optional email for follow-up" - ) + reporter_staff_id = models.CharField(max_length=50, blank=True, help_text="Optional staff ID of the reporter") + reporter_name = models.CharField(max_length=200, blank=True, help_text="Optional name of the reporter") + reporter_phone = models.CharField(max_length=20, blank=True, help_text="Optional phone number for follow-up") + reporter_email = models.EmailField(blank=True, help_text="Optional email for follow-up") # Status and workflow status = models.CharField( - max_length=20, - choices=ObservationStatus.choices, - default=ObservationStatus.NEW, - db_index=True + max_length=25, choices=ObservationStatus.choices, default=ObservationStatus.NEW, db_index=True ) # Organization (required for tenant isolation) hospital = models.ForeignKey( - 'organizations.Hospital', + "organizations.Hospital", on_delete=models.CASCADE, - related_name='observations', - help_text="Hospital where observation was made" + related_name="observations", + help_text="Hospital where observation was made", ) # Staff member mentioned in observation (optional, for AI-matching like complaints) staff = models.ForeignKey( - 'organizations.Staff', + "organizations.Staff", on_delete=models.SET_NULL, null=True, blank=True, - related_name='observations', - help_text="Staff member mentioned in observation" + related_name="observations", + help_text="Staff member mentioned in observation", ) # Source tracking source = models.CharField( max_length=50, choices=[ - ('staff_portal', 'Staff Portal'), - ('web_form', 'Web Form'), - ('mobile_app', 'Mobile App'), - ('email', 'Email'), - ('call_center', 'Call Center'), - ('other', 'Other'), + ("staff_portal", "Staff Portal"), + ("web_form", "Web Form"), + ("mobile_app", "Mobile App"), + ("email", "Email"), + ("call_center", "Call Center"), + ("other", "Other"), ], - default='staff_portal', - help_text="How the observation was submitted" + default="staff_portal", + help_text="How the observation was submitted", ) # Internal routing assigned_department = models.ForeignKey( - 'organizations.Department', + "organizations.Department", on_delete=models.SET_NULL, null=True, blank=True, - related_name='assigned_observations', - help_text="Department responsible for handling this observation" + related_name="assigned_observations", + help_text="Department responsible for handling this observation", ) assigned_to = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, - related_name='assigned_observations', - help_text="User assigned to handle this observation" + related_name="assigned_observations", + help_text="User assigned to handle this observation", ) + assigned_at = models.DateTimeField(null=True, blank=True) + + # Activation tracking + activated_at = models.DateTimeField( + null=True, + blank=True, + db_index=True, + help_text="Timestamp when observation was first activated (moved to IN_PROGRESS)", + ) + + # SLA tracking + due_at = models.DateTimeField(null=True, blank=True, db_index=True, help_text="SLA deadline") + is_overdue = models.BooleanField(default=False, db_index=True) + breached_at = models.DateTimeField( + null=True, blank=True, db_index=True, help_text="Timestamp when observation first breached SLA" + ) + reminder_sent_at = models.DateTimeField(null=True, blank=True, help_text="First SLA reminder timestamp") + second_reminder_sent_at = models.DateTimeField(null=True, blank=True, help_text="Second SLA reminder timestamp") + escalated_at = models.DateTimeField(null=True, blank=True) # Triage information triaged_by = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='triaged_observations' + settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, related_name="triaged_observations" ) triaged_at = models.DateTimeField(null=True, blank=True) # Resolution resolved_at = models.DateTimeField(null=True, blank=True) resolved_by = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='resolved_observations' + settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, related_name="resolved_observations" ) resolution_notes = models.TextField(blank=True) # Closure closed_at = models.DateTimeField(null=True, blank=True) closed_by = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='closed_observations' + settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, related_name="closed_observations" ) # Link to Action Center (if converted to action) # Using GenericForeignKey on PXAction side, store action_id here for quick reference - action_id = models.UUIDField( - null=True, - blank=True, - help_text="ID of linked PX Action if converted" - ) + action_id = models.UUIDField(null=True, blank=True, help_text="ID of linked PX Action if converted") # Metadata client_ip = models.GenericIPAddressField(null=True, blank=True) @@ -263,29 +315,20 @@ class Observation(UUIDModel, TimeStampedModel): # Notification tracking submitter_notified_at = models.DateTimeField( - null=True, - blank=True, - help_text="When confirmation message was sent to submitter" + null=True, blank=True, help_text="When confirmation message was sent to submitter" ) responsible_person_notified_at = models.DateTimeField( - null=True, - blank=True, - help_text="When email was sent to responsible person" + null=True, blank=True, help_text="When email was sent to responsible person" ) # Monthly follow-up tracking monthly_follow_up_due_at = models.DateTimeField( - null=True, - blank=True, - db_index=True, - help_text="When monthly follow-up is due" + null=True, blank=True, db_index=True, help_text="When monthly follow-up is due" ) monthly_follow_up_completed_at = models.DateTimeField( - null=True, - blank=True, - help_text="When monthly follow-up was completed" + null=True, blank=True, help_text="When monthly follow-up was completed" ) monthly_follow_up_completed_by = models.ForeignKey( @@ -293,28 +336,25 @@ class Observation(UUIDModel, TimeStampedModel): on_delete=models.SET_NULL, null=True, blank=True, - related_name='completed_observation_followups', - help_text="User who completed the monthly follow-up" + related_name="completed_observation_followups", + help_text="User who completed the monthly follow-up", ) - monthly_follow_up_notes = models.TextField( - blank=True, - help_text="Notes from monthly follow-up" - ) + monthly_follow_up_notes = models.TextField(blank=True, help_text="Notes from monthly follow-up") class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] indexes = [ - models.Index(fields=['hospital', 'status', '-created_at']), - models.Index(fields=['status', '-created_at']), - models.Index(fields=['severity', '-created_at']), - models.Index(fields=['tracking_code']), - models.Index(fields=['assigned_department', 'status']), - models.Index(fields=['assigned_to', 'status']), + models.Index(fields=["hospital", "status", "-created_at"]), + models.Index(fields=["status", "-created_at"]), + models.Index(fields=["severity", "-created_at"]), + models.Index(fields=["tracking_code"]), + models.Index(fields=["assigned_department", "status"]), + models.Index(fields=["assigned_to", "status"]), ] permissions = [ - ('triage_observation', 'Can triage observations'), - ('manage_categories', 'Can manage observation categories'), + ("triage_observation", "Can triage observations"), + ("manage_categories", "Can manage observation categories"), ] def __str__(self): @@ -348,53 +388,91 @@ class Observation(UUIDModel, TimeStampedModel): def get_severity_color(self): """Get Bootstrap color class for severity.""" colors = { - 'low': 'success', - 'medium': 'warning', - 'high': 'danger', - 'critical': 'dark', + "low": "success", + "medium": "warning", + "high": "danger", + "critical": "dark", } - return colors.get(self.severity, 'secondary') + return colors.get(self.severity, "secondary") def get_status_color(self): """Get Bootstrap color class for status.""" colors = { - 'new': 'primary', - 'triaged': 'info', - 'assigned': 'info', - 'in_progress': 'warning', - 'resolved': 'success', - 'closed': 'secondary', - 'rejected': 'danger', - 'duplicate': 'secondary', + "new": "primary", + "triaged": "info", + "assigned": "info", + "in_progress": "warning", + "resolved": "success", + "closed": "secondary", + "rejected": "danger", + "duplicate": "secondary", } - return colors.get(self.status, 'secondary') + return colors.get(self.status, "secondary") + + def get_sla_config(self): + """Get SLA configuration for this observation based on hospital and severity.""" + try: + if self.severity: + config = ObservationSLAConfig.objects.filter( + hospital=self.hospital, + severity=self.severity, + is_active=True, + ).first() + if config: + return config + + config = ObservationSLAConfig.objects.filter( + hospital=self.hospital, + is_active=True, + ).first() + if config: + return config + + except Exception: + pass + + return None + + def check_overdue(self): + """Check if observation is overdue and update status""" + inactive_statuses = ["resolved", "closed", "rejected", "duplicate"] + if self.status in inactive_statuses: + return False + + if self.due_at and timezone.now() > self.due_at: + if not self.is_overdue: + self.is_overdue = True + self.breached_at = timezone.now() + self.save(update_fields=["is_overdue", "breached_at"]) + return True + return False + + @property + def is_active_status(self): + """ + Check if observation is in an active status (can be worked on). + Active statuses: new, triaged, assigned, in_progress + Inactive statuses: resolved, closed, rejected, duplicate + """ + return self.status in ["new", "triaged", "assigned", "in_progress"] class ObservationAttachment(UUIDModel, TimeStampedModel): """ Attachment for an observation (photos, documents, etc.). """ - observation = models.ForeignKey( - Observation, - on_delete=models.CASCADE, - related_name='attachments' - ) - file = models.FileField( - upload_to='observations/%Y/%m/%d/', - help_text="Uploaded file" - ) + observation = models.ForeignKey(Observation, on_delete=models.CASCADE, related_name="attachments") + + file = models.FileField(upload_to="observations/%Y/%m/%d/", help_text="Uploaded file") filename = models.CharField(max_length=500, blank=True) file_type = models.CharField(max_length=100, blank=True) - file_size = models.IntegerField( - default=0, - help_text="File size in bytes" - ) + file_size = models.IntegerField(default=0, help_text="File size in bytes") description = models.CharField(max_length=500, blank=True) class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] def __str__(self): return f"{self.observation.tracking_code} - {self.filename}" @@ -404,11 +482,12 @@ class ObservationAttachment(UUIDModel, TimeStampedModel): if self.file: if not self.filename: self.filename = self.file.name - if not self.file_size and hasattr(self.file, 'size'): + if not self.file_size and hasattr(self.file, "size"): self.file_size = self.file.size if not self.file_type: import mimetypes - self.file_type = mimetypes.guess_type(self.file.name)[0] or '' + + self.file_type = mimetypes.guess_type(self.file.name)[0] or "" super().save(*args, **kwargs) @@ -418,29 +497,20 @@ class ObservationNote(UUIDModel, TimeStampedModel): Used by PX360 staff to add comments and updates. """ - observation = models.ForeignKey( - Observation, - on_delete=models.CASCADE, - related_name='notes' - ) + + observation = models.ForeignKey(Observation, on_delete=models.CASCADE, related_name="notes") note = models.TextField() created_by = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.SET_NULL, - null=True, - related_name='observation_notes' + settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, related_name="observation_notes" ) # Flag for internal-only notes - is_internal = models.BooleanField( - default=True, - help_text="Internal notes are not visible to public" - ) + is_internal = models.BooleanField(default=True, help_text="Internal notes are not visible to public") class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] def __str__(self): return f"Note on {self.observation.tracking_code} by {self.created_by}" @@ -452,39 +522,26 @@ class ObservationStatusLog(UUIDModel, TimeStampedModel): Tracks all status transitions for audit trail. """ - observation = models.ForeignKey( - Observation, - on_delete=models.CASCADE, - related_name='status_logs' - ) - from_status = models.CharField( - max_length=20, - choices=ObservationStatus.choices, - blank=True - ) - to_status = models.CharField( - max_length=20, - choices=ObservationStatus.choices - ) + observation = models.ForeignKey(Observation, on_delete=models.CASCADE, related_name="status_logs") + + from_status = models.CharField(max_length=25, choices=ObservationStatus.choices, blank=True) + to_status = models.CharField(max_length=25, choices=ObservationStatus.choices) changed_by = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, - related_name='observation_status_changes' + related_name="observation_status_changes", ) - comment = models.TextField( - blank=True, - help_text="Optional comment about the status change" - ) + comment = models.TextField(blank=True, help_text="Optional comment about the status change") class Meta: - ordering = ['-created_at'] - verbose_name = 'Observation Status Log' - verbose_name_plural = 'Observation Status Logs' + ordering = ["-created_at"] + verbose_name = "Observation Status Log" + verbose_name_plural = "Observation Status Logs" def __str__(self): return f"{self.observation.tracking_code}: {self.from_status} → {self.to_status}" diff --git a/apps/observations/services.py b/apps/observations/services.py index b4b3ad9..ec69fa9 100644 --- a/apps/observations/services.py +++ b/apps/observations/services.py @@ -7,6 +7,7 @@ This module provides services for: - Sending notifications - Status management with audit logging """ + import logging from typing import Optional @@ -35,27 +36,27 @@ class ObservationService: """ Service class for observation management. """ - + @staticmethod @transaction.atomic def create_observation( description: str, - severity: str = 'medium', + severity: str = "medium", category=None, - title: str = '', - location_text: str = '', + title: str = "", + location_text: str = "", incident_datetime=None, - reporter_staff_id: str = '', - reporter_name: str = '', - reporter_phone: str = '', - reporter_email: str = '', + reporter_staff_id: str = "", + reporter_name: str = "", + reporter_phone: str = "", + reporter_email: str = "", client_ip: str = None, - user_agent: str = '', + user_agent: str = "", attachments: list = None, ) -> Observation: """ Create a new observation. - + Args: description: Detailed description of the observation severity: Severity level (low, medium, high, critical) @@ -70,7 +71,7 @@ class ObservationService: client_ip: IP address of submitter (optional) user_agent: Browser user agent (optional) attachments: List of uploaded files (optional) - + Returns: Created Observation instance """ @@ -88,15 +89,12 @@ class ObservationService: client_ip=client_ip, user_agent=user_agent, ) - + # Create initial status log ObservationStatusLog.objects.create( - observation=observation, - from_status='', - to_status=ObservationStatus.NEW, - comment='Observation submitted' + observation=observation, from_status="", to_status=ObservationStatus.NEW, comment="Observation submitted" ) - + # Handle attachments if attachments: for file in attachments: @@ -104,51 +102,60 @@ class ObservationService: observation=observation, file=file, ) - + # Send notification to PX360 triage team ObservationService.notify_new_observation(observation) - + logger.info(f"Created observation {observation.tracking_code}") return observation - + @staticmethod @transaction.atomic def change_status( observation: Observation, new_status: str, changed_by: User = None, - comment: str = '', + comment: str = "", ) -> ObservationStatusLog: """ Change observation status with audit logging. - + Args: observation: Observation instance new_status: New status value changed_by: User making the change (optional) comment: Comment about the change (optional) - + Returns: Created ObservationStatusLog instance """ old_status = observation.status - + # Update observation observation.status = new_status - + # Handle status-specific updates if new_status == ObservationStatus.TRIAGED: observation.triaged_at = timezone.now() observation.triaged_by = changed_by + elif new_status == ObservationStatus.IN_PROGRESS: + if not observation.activated_at: + observation.activated_at = timezone.now() + if not observation.due_at: + sla_config = observation.get_sla_config() + if sla_config: + from datetime import timedelta + + observation.due_at = observation.activated_at + timedelta(hours=sla_config.sla_hours) elif new_status == ObservationStatus.RESOLVED: observation.resolved_at = timezone.now() observation.resolved_by = changed_by elif new_status == ObservationStatus.CLOSED: observation.closed_at = timezone.now() observation.closed_by = changed_by - + observation.save() - + # Create status log status_log = ObservationStatusLog.objects.create( observation=observation, @@ -157,20 +164,19 @@ class ObservationService: changed_by=changed_by, comment=comment, ) - + # Send notifications based on status change if new_status == ObservationStatus.ASSIGNED and observation.assigned_to: ObservationService.notify_assignment(observation) elif new_status in [ObservationStatus.RESOLVED, ObservationStatus.CLOSED]: ObservationService.notify_resolution(observation) - + logger.info( - f"Observation {observation.tracking_code} status changed: " - f"{old_status} -> {new_status} by {changed_by}" + f"Observation {observation.tracking_code} status changed: {old_status} -> {new_status} by {changed_by}" ) - + return status_log - + @staticmethod @transaction.atomic def triage_observation( @@ -179,11 +185,11 @@ class ObservationService: assigned_department: Department = None, assigned_to: User = None, new_status: str = None, - note: str = '', + note: str = "", ) -> Observation: """ Triage an observation - assign department/owner and update status. - + Args: observation: Observation instance triaged_by: User performing the triage @@ -191,7 +197,7 @@ class ObservationService: assigned_to: User to assign (optional) new_status: New status (optional, defaults to TRIAGED or ASSIGNED) note: Triage note (optional) - + Returns: Updated Observation instance """ @@ -200,24 +206,24 @@ class ObservationService: observation.assigned_department = assigned_department if assigned_to: observation.assigned_to = assigned_to - + # Determine new status if not new_status: if assigned_to: new_status = ObservationStatus.ASSIGNED else: new_status = ObservationStatus.TRIAGED - + observation.save() - + # Change status ObservationService.change_status( observation=observation, new_status=new_status, changed_by=triaged_by, - comment=note or f"Triaged by {triaged_by.get_full_name()}" + comment=note or f"Triaged by {triaged_by.get_full_name()}", ) - + # Add note if provided if note: ObservationNote.objects.create( @@ -226,9 +232,9 @@ class ObservationService: created_by=triaged_by, is_internal=True, ) - + return observation - + @staticmethod @transaction.atomic def convert_to_action( @@ -236,14 +242,14 @@ class ObservationService: created_by: User, title: str = None, description: str = None, - category: str = 'other', + category: str = "other", priority: str = None, assigned_department: Department = None, assigned_to: User = None, ): """ Convert an observation to a PX Action. - + Args: observation: Observation instance created_by: User creating the action @@ -253,12 +259,12 @@ class ObservationService: priority: Action priority (optional, derived from severity) assigned_department: Department to assign (optional) assigned_to: User to assign (optional) - + Returns: Created PXAction instance """ from apps.px_action_center.models import ActionSource, PXAction - + # Get hospital from department or use first hospital hospital = None if assigned_department: @@ -267,10 +273,10 @@ class ObservationService: hospital = observation.assigned_department.hospital else: hospital = Hospital.objects.first() - + if not hospital: raise ValueError("No hospital found for creating action") - + # Prepare title and description if not title: title = f"Observation {observation.tracking_code}" @@ -278,15 +284,15 @@ class ObservationService: title += f" - {observation.title}" elif observation.category: title += f" - {observation.category.name_en}" - + if not description: description = f""" Observation Details: - Tracking Code: {observation.tracking_code} -- Category: {observation.category.name_en if observation.category else 'N/A'} +- Category: {observation.category.name_en if observation.category else "N/A"} - Severity: {observation.get_severity_display()} -- Location: {observation.location_text or 'N/A'} -- Incident Date: {observation.incident_datetime.strftime('%Y-%m-%d %H:%M')} +- Location: {observation.location_text or "N/A"} +- Incident Date: {observation.incident_datetime.strftime("%Y-%m-%d %H:%M")} - Reporter: {observation.reporter_display} Description: @@ -294,17 +300,17 @@ Description: View observation: /observations/{observation.id}/ """.strip() - + # Map severity to priority if not priority: severity_to_priority = { - 'low': 'low', - 'medium': 'medium', - 'high': 'high', - 'critical': 'critical', + "low": "low", + "medium": "medium", + "high": "high", + "critical": "critical", } - priority = severity_to_priority.get(observation.severity, 'medium') - + priority = severity_to_priority.get(observation.severity, "medium") + # Create PX Action action = PXAction.objects.create( source_type=ActionSource.MANUAL, @@ -319,15 +325,15 @@ View observation: /observations/{observation.id}/ severity=observation.severity, assigned_to=assigned_to or observation.assigned_to, metadata={ - 'observation_tracking_code': observation.tracking_code, - 'observation_id': str(observation.id), - } + "observation_tracking_code": observation.tracking_code, + "observation_id": str(observation.id), + }, ) - + # Update observation with action link observation.action_id = action.id - observation.save(update_fields=['action_id']) - + observation.save(update_fields=["action_id"]) + # Add note to observation ObservationNote.objects.create( observation=observation, @@ -335,13 +341,11 @@ View observation: /observations/{observation.id}/ created_by=created_by, is_internal=True, ) - - logger.info( - f"Observation {observation.tracking_code} converted to action {action.id}" - ) - + + logger.info(f"Observation {observation.tracking_code} converted to action {action.id}") + return action - + @staticmethod def add_note( observation: Observation, @@ -351,13 +355,13 @@ View observation: /observations/{observation.id}/ ) -> ObservationNote: """ Add a note to an observation. - + Args: observation: Observation instance note: Note text created_by: User creating the note is_internal: Whether the note is internal-only - + Returns: Created ObservationNote instance """ @@ -367,21 +371,21 @@ View observation: /observations/{observation.id}/ created_by=created_by, is_internal=is_internal, ) - + @staticmethod def add_attachment( observation: Observation, file, - description: str = '', + description: str = "", ) -> ObservationAttachment: """ Add an attachment to an observation. - + Args: observation: Observation instance file: Uploaded file description: File description (optional) - + Returns: Created ObservationAttachment instance """ @@ -390,38 +394,35 @@ View observation: /observations/{observation.id}/ file=file, description=description, ) - + @staticmethod def notify_new_observation(observation: Observation): """ Send notification for new observation to PX360 triage team. - + Args: observation: Observation instance """ try: # Get PX Admin users to notify - px_admins = User.objects.filter( - is_active=True, - groups__name='PX Admin' - ) - + px_admins = User.objects.filter(is_active=True, groups__name="PX Admin") + subject = f"New Observation: {observation.tracking_code}" message = f""" A new observation has been submitted and requires triage. Tracking Code: {observation.tracking_code} -Category: {observation.category.name_en if observation.category else 'N/A'} +Category: {observation.category.name_en if observation.category else "N/A"} Severity: {observation.get_severity_display()} -Location: {observation.location_text or 'N/A'} +Location: {observation.location_text or "N/A"} Reporter: {observation.reporter_display} Description: -{observation.description[:500]}{'...' if len(observation.description) > 500 else ''} +{observation.description[:500]}{"..." if len(observation.description) > 500 else ""} Please review and triage this observation. """.strip() - + for admin in px_admins: if admin.email: NotificationService.send_email( @@ -430,44 +431,44 @@ Please review and triage this observation. message=message, related_object=observation, metadata={ - 'observation_id': str(observation.id), - 'tracking_code': observation.tracking_code, - 'notification_type': 'new_observation', - } + "observation_id": str(observation.id), + "tracking_code": observation.tracking_code, + "notification_type": "new_observation", + }, ) - + logger.info(f"Sent new observation notification for {observation.tracking_code}") - + except Exception as e: logger.error(f"Failed to send new observation notification: {e}") - + @staticmethod def notify_assignment(observation: Observation): """ Send notification when observation is assigned. - + Args: observation: Observation instance """ try: if not observation.assigned_to: return - + subject = f"Observation Assigned: {observation.tracking_code}" message = f""" An observation has been assigned to you. Tracking Code: {observation.tracking_code} -Category: {observation.category.name_en if observation.category else 'N/A'} +Category: {observation.category.name_en if observation.category else "N/A"} Severity: {observation.get_severity_display()} -Location: {observation.location_text or 'N/A'} +Location: {observation.location_text or "N/A"} Description: -{observation.description[:500]}{'...' if len(observation.description) > 500 else ''} +{observation.description[:500]}{"..." if len(observation.description) > 500 else ""} Please review and take appropriate action. """.strip() - + if observation.assigned_to.email: NotificationService.send_email( email=observation.assigned_to.email, @@ -475,54 +476,53 @@ Please review and take appropriate action. message=message, related_object=observation, metadata={ - 'observation_id': str(observation.id), - 'tracking_code': observation.tracking_code, - 'notification_type': 'observation_assigned', - } + "observation_id": str(observation.id), + "tracking_code": observation.tracking_code, + "notification_type": "observation_assigned", + }, ) - + logger.info( - f"Sent assignment notification for {observation.tracking_code} " - f"to {observation.assigned_to.email}" + f"Sent assignment notification for {observation.tracking_code} to {observation.assigned_to.email}" ) - + except Exception as e: logger.error(f"Failed to send assignment notification: {e}") - + @staticmethod def notify_resolution(observation: Observation): """ Send internal notification when observation is resolved/closed. - + Args: observation: Observation instance """ try: # Notify assigned user and department manager recipients = [] - + if observation.assigned_to and observation.assigned_to.email: recipients.append(observation.assigned_to.email) - + if observation.assigned_department and observation.assigned_department.manager: if observation.assigned_department.manager.email: recipients.append(observation.assigned_department.manager.email) - + if not recipients: return - + subject = f"Observation {observation.get_status_display()}: {observation.tracking_code}" message = f""" An observation has been {observation.get_status_display().lower()}. Tracking Code: {observation.tracking_code} -Category: {observation.category.name_en if observation.category else 'N/A'} +Category: {observation.category.name_en if observation.category else "N/A"} Status: {observation.get_status_display()} Resolution Notes: -{observation.resolution_notes or 'No resolution notes provided.'} +{observation.resolution_notes or "No resolution notes provided."} """.strip() - + for email in set(recipients): NotificationService.send_email( email=email, @@ -530,35 +530,35 @@ Resolution Notes: message=message, related_object=observation, metadata={ - 'observation_id': str(observation.id), - 'tracking_code': observation.tracking_code, - 'notification_type': 'observation_resolved', - } + "observation_id": str(observation.id), + "tracking_code": observation.tracking_code, + "notification_type": "observation_resolved", + }, ) - + logger.info(f"Sent resolution notification for {observation.tracking_code}") - + except Exception as e: logger.error(f"Failed to send resolution notification: {e}") - + @staticmethod def get_statistics(hospital=None, department=None, date_from=None, date_to=None): """ Get observation statistics. - + Args: hospital: Filter by hospital (optional) department: Filter by department (optional) date_from: Start date (optional) date_to: End date (optional) - + Returns: Dictionary with statistics """ from django.db.models import Count, Q - + queryset = Observation.objects.all() - + if hospital: queryset = queryset.filter(assigned_department__hospital=hospital) if department: @@ -567,33 +567,29 @@ Resolution Notes: queryset = queryset.filter(created_at__gte=date_from) if date_to: queryset = queryset.filter(created_at__lte=date_to) - + # Status counts - status_counts = queryset.values('status').annotate(count=Count('id')) - status_dict = {item['status']: item['count'] for item in status_counts} - + status_counts = queryset.values("status").annotate(count=Count("id")) + status_dict = {item["status"]: item["count"] for item in status_counts} + # Severity counts - severity_counts = queryset.values('severity').annotate(count=Count('id')) - severity_dict = {item['severity']: item['count'] for item in severity_counts} - + severity_counts = queryset.values("severity").annotate(count=Count("id")) + severity_dict = {item["severity"]: item["count"] for item in severity_counts} + # Category counts - category_counts = queryset.values( - 'category__name_en' - ).annotate(count=Count('id')).order_by('-count')[:10] - + category_counts = queryset.values("category__name_en").annotate(count=Count("id")).order_by("-count")[:10] + return { - 'total': queryset.count(), - 'new': status_dict.get('new', 0), - 'triaged': status_dict.get('triaged', 0), - 'assigned': status_dict.get('assigned', 0), - 'in_progress': status_dict.get('in_progress', 0), - 'resolved': status_dict.get('resolved', 0), - 'closed': status_dict.get('closed', 0), - 'rejected': status_dict.get('rejected', 0), - 'duplicate': status_dict.get('duplicate', 0), - 'anonymous_count': queryset.filter( - Q(reporter_staff_id='') & Q(reporter_name='') - ).count(), - 'severity': severity_dict, - 'top_categories': list(category_counts), + "total": queryset.count(), + "new": status_dict.get("new", 0), + "triaged": status_dict.get("triaged", 0), + "assigned": status_dict.get("assigned", 0), + "in_progress": status_dict.get("in_progress", 0), + "resolved": status_dict.get("resolved", 0), + "closed": status_dict.get("closed", 0), + "rejected": status_dict.get("rejected", 0), + "duplicate": status_dict.get("duplicate", 0), + "anonymous_count": queryset.filter(Q(reporter_staff_id="") & Q(reporter_name="")).count(), + "severity": severity_dict, + "top_categories": list(category_counts), } diff --git a/apps/observations/tasks.py b/apps/observations/tasks.py new file mode 100644 index 0000000..ea063b7 --- /dev/null +++ b/apps/observations/tasks.py @@ -0,0 +1,130 @@ +""" +Observations Celery tasks - SLA tracking and notifications. + +This module implements tasks for: +- Checking overdue observations +- Sending SLA reminder emails +- Escalation handling +""" + +import logging + +from celery import shared_task +from django.utils import timezone + +logger = logging.getLogger(__name__) + + +@shared_task +def check_overdue_observations(): + """ + Periodic task to check for overdue observations. + + Runs every 15 minutes (configured in config/celery.py). + Updates is_overdue flag and sets breached_at for observations past their SLA deadline. + """ + from apps.observations.models import Observation, ObservationStatus + + active_statuses = [ + ObservationStatus.NEW, + ObservationStatus.TRIAGED, + ObservationStatus.ASSIGNED, + ObservationStatus.IN_PROGRESS, + ] + active_observations = Observation.objects.filter( + status__in=active_statuses, + due_at__isnull=False, + ).select_related("hospital", "assigned_department") + + overdue_count = 0 + + for observation in active_observations: + if observation.check_overdue(): + overdue_count += 1 + logger.warning( + f"Observation {observation.id} is overdue: {observation.tracking_code} (due: {observation.due_at})" + ) + + if overdue_count > 0: + logger.info(f"Found {overdue_count} overdue observations") + + return {"overdue_count": overdue_count} + + +@shared_task +def send_observation_sla_reminders(): + """ + Periodic task to send SLA reminder emails for observations approaching deadline. + + Runs every hour (configured in config/celery.py). + """ + from apps.observations.models import Observation, ObservationStatus, ObservationSLAConfig + from apps.notifications.services import NotificationService + + now = timezone.now() + active_statuses = [ + ObservationStatus.NEW, + ObservationStatus.TRIAGED, + ObservationStatus.ASSIGNED, + ObservationStatus.IN_PROGRESS, + ] + + active_observations = Observation.objects.filter( + status__in=active_statuses, + due_at__isnull=False, + is_overdue=False, + ).select_related("hospital", "assigned_to") + + first_reminder_count = 0 + second_reminder_count = 0 + + for observation in active_observations: + config = observation.get_sla_config() + if not config: + continue + + first_reminder_hours = config.get_first_reminder_hours_after() + second_reminder_hours = config.get_second_reminder_hours_after() + + if first_reminder_hours > 0 and observation.reminder_sent_at is None: + hours_since_creation = (now - observation.created_at).total_seconds() / 3600 + if hours_since_creation >= first_reminder_hours: + if observation.assigned_to and observation.assigned_to.email: + try: + NotificationService.send_email( + email=observation.assigned_to.email, + subject=f"SLA Reminder - Observation {observation.tracking_code}", + message=f"Observation '{observation.title or observation.description[:50]}' is due at {observation.due_at}. Please take action.", + related_object=observation, + ) + observation.reminder_sent_at = now + observation.save(update_fields=["reminder_sent_at"]) + first_reminder_count += 1 + except Exception as e: + logger.error(f"Failed to send observation reminder: {e}") + + if second_reminder_hours > 0 and observation.second_reminder_sent_at is None: + hours_since_creation = (now - observation.created_at).total_seconds() / 3600 + if hours_since_creation >= second_reminder_hours: + if observation.assigned_to and observation.assigned_to.email: + try: + NotificationService.send_email( + email=observation.assigned_to.email, + subject=f"URGENT: SLA Reminder - Observation {observation.tracking_code}", + message=f"Observation '{observation.title or observation.description[:50]}' is due at {observation.due_at}. URGENT action required.", + related_object=observation, + ) + observation.second_reminder_sent_at = now + observation.save(update_fields=["second_reminder_sent_at"]) + second_reminder_count += 1 + except Exception as e: + logger.error(f"Failed to send second observation reminder: {e}") + + logger.info( + f"Sent {first_reminder_count} first reminders and {second_reminder_count} second reminders for observations" + ) + + return { + "first_reminder_count": first_reminder_count, + "second_reminder_count": second_reminder_count, + } diff --git a/apps/organizations/management/commands/import_staff_full.py b/apps/organizations/management/commands/import_staff_full.py index 939fce7..8fc8507 100644 --- a/apps/organizations/management/commands/import_staff_full.py +++ b/apps/organizations/management/commands/import_staff_full.py @@ -15,31 +15,42 @@ Staff ID,Name,Name_ar,Manager,Manager_ar,Civil Identity Number,Location,Location Example: 4,ABDULAZIZ SALEH ALHAMMADI,عبدالعزيز صالح محمد الحمادي,2 - MOHAMMAD SALEH AL HAMMADI,2 - محمد صالح محمد الحمادي,1013086457,Nuzha,النزهة,Senior Management Offices, إدارة مكاتب الإدارة العليا ,COO Office,مكتب الرئيس التنفيذي للعمليات والتشغيل,,,Chief Operating Officer,الرئيس التنفيذي للعمليات والتشغيل,Saudi Arabia,المملكة العربية السعودية """ + import csv +import json +import logging import os import uuid +from typing import Dict, List + from django.core.management.base import BaseCommand, CommandError from django.db import transaction from apps.organizations.models import Hospital, Department, Staff, StaffSection, StaffSubsection +logger = logging.getLogger(__name__) + class Command(BaseCommand): - help = 'Import staff from CSV with auto-creation of departments and sections (bilingual support)' + help = "Import staff from CSV with auto-creation of departments and sections (bilingual support)" def add_arguments(self, parser): - parser.add_argument('csv_file', type=str, help='Path to CSV file') - parser.add_argument('--hospital-code', type=str, required=True, help='Hospital code') - parser.add_argument('--staff-type', type=str, default='admin', choices=['physician', 'nurse', 'admin', 'other']) - parser.add_argument('--update-existing', action='store_true', help='Update existing staff') - parser.add_argument('--dry-run', action='store_true', help='Preview without changes') + parser.add_argument("csv_file", type=str, help="Path to CSV file") + parser.add_argument("--hospital-code", type=str, required=True, help="Hospital code") + parser.add_argument("--staff-type", type=str, default="admin", choices=["physician", "nurse", "admin", "other"]) + parser.add_argument("--update-existing", action="store_true", help="Update existing staff") + parser.add_argument( + "--translate-departments", action="store_true", help="Use AI to translate department names to Arabic" + ) + parser.add_argument("--dry-run", action="store_true", help="Preview without changes") def handle(self, *args, **options): - csv_file = options['csv_file'] - hospital_code = options['hospital_code'] - staff_type = options['staff_type'] - update_existing = options['update_existing'] - dry_run = options['dry_run'] + csv_file = options["csv_file"] + hospital_code = options["hospital_code"] + staff_type = options["staff_type"] + update_existing = options["update_existing"] + translate_departments = options["translate_departments"] + dry_run = options["dry_run"] if not os.path.exists(csv_file): raise CommandError(f"CSV file not found: {csv_file}") @@ -57,10 +68,31 @@ class Command(BaseCommand): staff_data = self.parse_csv(csv_file) self.stdout.write(f"Found {len(staff_data)} records in CSV\n") + # Translate department names if requested + dept_translations: Dict[str, str] = {} + if translate_departments: + self.stdout.write(self.style.WARNING("Translating department names to Arabic via AI...")) + dept_translations = self._translate_department_names(staff_data) + if dept_translations: + self.stdout.write(f" Translated {len(dept_translations)} unique department names\n") + for row in staff_data: + if not row["department_ar"] and row["department"] in dept_translations: + row["department_ar"] = dept_translations[row["department"]] + else: + self.stdout.write(self.style.WARNING(" No translations received from AI\n")) + # Statistics - stats = {'created': 0, 'updated': 0, 'skipped': 0, 'depts_created': 0, 'sections_created': 0, - 'subsections_created': 0, 'managers_linked': 0, 'errors': 0} - + stats = { + "created": 0, + "updated": 0, + "skipped": 0, + "depts_created": 0, + "sections_created": 0, + "subsections_created": 0, + "managers_linked": 0, + "errors": 0, + } + # Caches dept_cache = {} # {(hospital_id, dept_name): Department} section_cache = {} # {(department_id, section_name): StaffSection} @@ -73,66 +105,63 @@ class Command(BaseCommand): try: # Get or create department (top-level only) department = self._get_or_create_department( - hospital, row['department'], row.get('department_ar', ''), - dept_cache, dry_run, stats + hospital, row["department"], row.get("department_ar", ""), dept_cache, dry_run, stats ) - + # Get or create section (under department) section = self._get_or_create_section( - department, row['section'], row.get('section_ar', ''), - section_cache, dry_run, stats + department, row["section"], row.get("section_ar", ""), section_cache, dry_run, stats ) - + # Get or create subsection (under section) subsection = self._get_or_create_subsection( - section, row['subsection'], row.get('subsection_ar', ''), - subsection_cache, dry_run, stats + section, row["subsection"], row.get("subsection_ar", ""), subsection_cache, dry_run, stats ) - + # Check existing - existing = Staff.objects.filter(employee_id=row['staff_id']).first() - + existing = Staff.objects.filter(employee_id=row["staff_id"]).first() + if existing and not update_existing: self.stdout.write(f"[{idx}] ⊘ Skipped (exists): {row['name']}") - stats['skipped'] += 1 - staff_map[row['staff_id']] = existing + stats["skipped"] += 1 + staff_map[row["staff_id"]] = existing continue - + if existing: self._update_staff(existing, row, hospital, department, section, subsection, staff_type) if not dry_run: existing.save() self.stdout.write(f"[{idx}] ✓ Updated: {row['name']}") - stats['updated'] += 1 - staff_map[row['staff_id']] = existing + stats["updated"] += 1 + staff_map[row["staff_id"]] = existing else: staff = self._create_staff(row, hospital, department, section, subsection, staff_type) if not dry_run: staff.save() - staff_map[row['staff_id']] = staff + staff_map[row["staff_id"]] = staff self.stdout.write(f"[{idx}] ✓ Created: {row['name']}") - stats['created'] += 1 - + stats["created"] += 1 + except Exception as e: self.stdout.write(self.style.ERROR(f"[{idx}] ✗ Error: {row.get('name', 'Unknown')} - {e}")) - stats['errors'] += 1 + stats["errors"] += 1 # Pass 2: Link managers self.stdout.write("\nLinking managers...") for row in staff_data: - if not row.get('manager_id'): + if not row.get("manager_id"): continue - staff = staff_map.get(row['staff_id']) - manager = staff_map.get(row['manager_id']) + staff = staff_map.get(row["staff_id"]) + manager = staff_map.get(row["manager_id"]) if staff and manager and staff.report_to != manager: staff.report_to = manager if not dry_run: staff.save() - stats['managers_linked'] += 1 + stats["managers_linked"] += 1 self.stdout.write(f" ✓ {row['name']} → {manager.name}") # Summary - self.stdout.write(f"\n{'='*50}") + self.stdout.write(f"\n{'=' * 50}") self.stdout.write("Summary:") self.stdout.write(f" Staff created: {stats['created']}") self.stdout.write(f" Staff updated: {stats['updated']}") @@ -145,90 +174,104 @@ class Command(BaseCommand): if dry_run: self.stdout.write(self.style.WARNING("\nDRY RUN - No changes made")) + # Backfill department name_ar for existing departments in DB + if translate_departments and dept_translations and not dry_run: + updated_depts = 0 + existing_depts = Department.objects.filter(hospital=hospital, name_ar="") + for dept in existing_depts: + if dept.name in dept_translations: + dept.name_ar = dept_translations[dept.name] + dept.save(update_fields=["name_ar"]) + updated_depts += 1 + if updated_depts: + self.stdout.write(f"\n Backfilled name_ar for {updated_depts} existing departments") + def parse_csv(self, csv_file): """Parse CSV and return list of dicts with bilingual support""" data = [] - with open(csv_file, 'r', encoding='utf-8') as f: + with open(csv_file, "r", encoding="utf-8") as f: reader = csv.DictReader(f) for row in reader: # Parse manager "ID - Name" manager_id = None - manager_name = '' - if row.get('Manager', '').strip(): - manager_parts = row['Manager'].split('-', 1) + manager_name = "" + if row.get("Manager", "").strip(): + manager_parts = row["Manager"].split("-", 1) manager_id = manager_parts[0].strip() - manager_name = manager_parts[1].strip() if len(manager_parts) > 1 else '' - + manager_name = manager_parts[1].strip() if len(manager_parts) > 1 else "" + # Parse name - name = row.get('Name', '').strip() + name = row.get("Name", "").strip() parts = name.split(None, 1) - + # Parse Arabic name - name_ar = row.get('Name_ar', '').strip() - parts_ar = name_ar.split(None, 1) if name_ar else ['', ''] - - data.append({ - 'staff_id': row.get('Staff ID', '').strip(), - 'name': name, - 'name_ar': name_ar, - 'first_name': parts[0] if parts else name, - 'last_name': parts[1] if len(parts) > 1 else '', - 'first_name_ar': parts_ar[0] if parts_ar else '', - 'last_name_ar': parts_ar[1] if len(parts_ar) > 1 else '', - 'civil_id': row.get('Civil Identity Number', '').strip(), - 'location': row.get('Location', '').strip(), - 'location_ar': row.get('Location_ar', '').strip(), - 'department': row.get('Department', '').strip(), - 'department_ar': row.get('Department_ar', '').strip(), - 'section': row.get('Section', '').strip(), - 'section_ar': row.get('Section_ar', '').strip(), - 'subsection': row.get('Subsection', '').strip(), - 'subsection_ar': row.get('Subsection_ar', '').strip(), - 'job_title': row.get('AlHammadi Job Title', '').strip(), - 'job_title_ar': row.get('AlHammadi Job Title_ar', '').strip(), - 'country': row.get('Country', '').strip(), - 'country_ar': row.get('Country_ar', '').strip(), - 'gender': row.get('Gender', '').strip().lower() if row.get('Gender') else '', - 'manager_id': manager_id, - 'manager_name': manager_name, - }) + name_ar = row.get("Name_ar", "").strip() + parts_ar = name_ar.split(None, 1) if name_ar else ["", ""] + + data.append( + { + "staff_id": row.get("Staff ID", "").strip(), + "name": name, + "name_ar": name_ar, + "first_name": parts[0] if parts else name, + "last_name": parts[1] if len(parts) > 1 else "", + "first_name_ar": parts_ar[0] if parts_ar else "", + "last_name_ar": parts_ar[1] if len(parts_ar) > 1 else "", + "civil_id": row.get("Civil Identity Number", "").strip(), + "location": row.get("Location", "").strip(), + "location_ar": row.get("Location_ar", "").strip(), + "department": row.get("Department", "").strip(), + "department_ar": row.get("Department_ar", "").strip(), + "section": row.get("Section", "").strip(), + "section_ar": row.get("Section_ar", "").strip(), + "subsection": row.get("Subsection", "").strip(), + "subsection_ar": row.get("Subsection_ar", "").strip(), + "job_title": row.get("AlHammadi Job Title", "").strip(), + "job_title_ar": row.get("AlHammadi Job Title_ar", "").strip(), + "country": row.get("Country", "").strip(), + "country_ar": row.get("Country_ar", "").strip(), + "gender": row.get("Gender", "").strip().lower() if row.get("Gender") else "", + "manager_id": manager_id, + "manager_name": manager_name, + } + ) return data def _get_or_create_department(self, hospital, dept_name, dept_name_ar, cache, dry_run, stats): """Get or create department (top-level only)""" if not dept_name: return None - + cache_key = (str(hospital.id), dept_name) - + if cache_key in cache: return cache[cache_key] - + # Get or create main department (top-level, parent=None) dept, created = Department.objects.get_or_create( hospital=hospital, name__iexact=dept_name, parent__isnull=True, # Only match top-level departments defaults={ - 'name': dept_name, - 'name_ar': dept_name_ar or '', - 'code': str(uuid.uuid4())[:8], - 'status': 'active' - } + "name": dept_name, + "name_ar": dept_name_ar or "", + "code": str(uuid.uuid4())[:8], + "status": "active", + }, ) if created and not dry_run: - stats['depts_created'] += 1 + stats["depts_created"] += 1 self.stdout.write(f" + Created department: {dept_name}") elif created and dry_run: - stats['depts_created'] += 1 + stats["depts_created"] += 1 self.stdout.write(f" + Would create department: {dept_name}") - + # Update Arabic name if empty and we have new data if dept.name_ar != dept_name_ar and dept_name_ar: dept.name_ar = dept_name_ar if not dry_run: dept.save() - + cache[cache_key] = dept return dept @@ -236,42 +279,42 @@ class Command(BaseCommand): """Get or create StaffSection within a department""" if not section_name or not department: return None - + cache_key = (str(department.id), section_name) - + if cache_key in cache: return cache[cache_key] - + # If section name is same as department (case-insensitive), skip if section_name.lower() == department.name.lower(): self.stdout.write(f" ! Section name '{section_name}' same as department, skipping section") cache[cache_key] = None return None - + # Get or create section section, created = StaffSection.objects.get_or_create( department=department, name__iexact=section_name, defaults={ - 'name': section_name, - 'name_ar': section_name_ar or '', - 'code': str(uuid.uuid4())[:8], - 'status': 'active' - } + "name": section_name, + "name_ar": section_name_ar or "", + "code": str(uuid.uuid4())[:8], + "status": "active", + }, ) if created and not dry_run: - stats['sections_created'] += 1 + stats["sections_created"] += 1 self.stdout.write(f" + Created section: {section_name} (under {department.name})") elif created and dry_run: - stats['sections_created'] += 1 + stats["sections_created"] += 1 self.stdout.write(f" + Would create section: {section_name} (under {department.name})") - + # Update Arabic name if empty and we have new data if section.name_ar != section_name_ar and section_name_ar: section.name_ar = section_name_ar if not dry_run: section.save() - + cache[cache_key] = section return section @@ -279,101 +322,149 @@ class Command(BaseCommand): """Get or create StaffSubsection within a section""" if not subsection_name or not section: return None - + cache_key = (str(section.id), subsection_name) - + if cache_key in cache: return cache[cache_key] - + # If subsection name is same as section (case-insensitive), skip if subsection_name.lower() == section.name.lower(): self.stdout.write(f" ! Subsection name '{subsection_name}' same as section, skipping subsection") cache[cache_key] = None return None - + # Get or create subsection subsection, created = StaffSubsection.objects.get_or_create( section=section, name__iexact=subsection_name, defaults={ - 'name': subsection_name, - 'name_ar': subsection_name_ar or '', - 'code': str(uuid.uuid4())[:8], - 'status': 'active' - } + "name": subsection_name, + "name_ar": subsection_name_ar or "", + "code": str(uuid.uuid4())[:8], + "status": "active", + }, ) if created and not dry_run: - stats['subsections_created'] = stats.get('subsections_created', 0) + 1 + stats["subsections_created"] = stats.get("subsections_created", 0) + 1 self.stdout.write(f" + Created subsection: {subsection_name} (under {section.name})") elif created and dry_run: - stats['subsections_created'] = stats.get('subsections_created', 0) + 1 + stats["subsections_created"] = stats.get("subsections_created", 0) + 1 self.stdout.write(f" + Would create subsection: {subsection_name} (under {section.name})") - + # Update Arabic name if empty and we have new data if subsection.name_ar != subsection_name_ar and subsection_name_ar: subsection.name_ar = subsection_name_ar if not dry_run: subsection.save() - + cache[cache_key] = subsection return subsection def _create_staff(self, row, hospital, department, section, subsection, staff_type): """Create new Staff record with bilingual data""" return Staff( - employee_id=row['staff_id'], - name=row['name'], - name_ar=row['name_ar'], - first_name=row['first_name'], - last_name=row['last_name'], - first_name_ar=row['first_name_ar'], - last_name_ar=row['last_name_ar'], - civil_id=row['civil_id'], + employee_id=row["staff_id"], + name=row["name"], + name_ar=row["name_ar"], + first_name=row["first_name"], + last_name=row["last_name"], + first_name_ar=row["first_name_ar"], + last_name_ar=row["last_name_ar"], + civil_id=row["civil_id"], staff_type=staff_type, - job_title=row['job_title'], - job_title_ar=row['job_title_ar'], - specialization=row['job_title'], + job_title=row["job_title"], + job_title_ar=row["job_title_ar"], + specialization=row["job_title"], hospital=hospital, department=department, section_fk=section, # ForeignKey to StaffSection subsection_fk=subsection, # ForeignKey to StaffSubsection - department_name=row['department'], - department_name_ar=row['department_ar'], - section=row['section'], # Original CSV value - section_ar=row['section_ar'], - subsection=row['subsection'], # Original CSV value - subsection_ar=row['subsection_ar'], - location=row['location'], - location_ar=row['location_ar'], - country=row['country'], - country_ar=row['country_ar'], - gender=row['gender'], - status='active' + department_name=row["department"], + department_name_ar=row["department_ar"], + section=row["section"], # Original CSV value + section_ar=row["section_ar"], + subsection=row["subsection"], # Original CSV value + subsection_ar=row["subsection_ar"], + location=row["location"], + location_ar=row["location_ar"], + country=row["country"], + country_ar=row["country_ar"], + gender=row["gender"], + status="active", ) def _update_staff(self, staff, row, hospital, department, section, subsection, staff_type): """Update existing Staff record with bilingual data""" - staff.name = row['name'] - staff.name_ar = row['name_ar'] - staff.first_name = row['first_name'] - staff.last_name = row['last_name'] - staff.first_name_ar = row['first_name_ar'] - staff.last_name_ar = row['last_name_ar'] - staff.civil_id = row['civil_id'] - staff.job_title = row['job_title'] - staff.job_title_ar = row['job_title_ar'] + staff.name = row["name"] + staff.name_ar = row["name_ar"] + staff.first_name = row["first_name"] + staff.last_name = row["last_name"] + staff.first_name_ar = row["first_name_ar"] + staff.last_name_ar = row["last_name_ar"] + staff.civil_id = row["civil_id"] + staff.job_title = row["job_title"] + staff.job_title_ar = row["job_title_ar"] staff.hospital = hospital staff.department = department staff.section_fk = section # ForeignKey to StaffSection staff.subsection_fk = subsection # ForeignKey to StaffSubsection - staff.department_name = row['department'] - staff.department_name_ar = row['department_ar'] - staff.section = row['section'] # Original CSV value - staff.section_ar = row['section_ar'] - staff.subsection = row['subsection'] # Original CSV value - staff.subsection_ar = row['subsection_ar'] - staff.location = row['location'] - staff.location_ar = row['location_ar'] - staff.country = row['country'] - staff.country_ar = row['country_ar'] - staff.gender = row['gender'] + staff.department_name = row["department"] + staff.department_name_ar = row["department_ar"] + staff.section = row["section"] # Original CSV value + staff.section_ar = row["section_ar"] + staff.subsection = row["subsection"] # Original CSV value + staff.subsection_ar = row["subsection_ar"] + staff.location = row["location"] + staff.location_ar = row["location_ar"] + staff.country = row["country"] + staff.country_ar = row["country_ar"] + staff.gender = row["gender"] + + def _translate_department_names(self, staff_data: List[dict]) -> Dict[str, str]: + """Translate unique department names from English to Arabic using AI.""" + unique_dept_names = list({row["department"] for row in staff_data if row["department"]}) + + if not unique_dept_names: + return {} + + names_json = json.dumps(unique_dept_names, ensure_ascii=False) + prompt = ( + "Translate the following hospital department names from English to Arabic. " + "Return a single JSON object where each key is the original English name " + "and the value is the Arabic translation. " + "Do NOT include any explanation or markdown, only the JSON object.\n\n" + f"Department names: {names_json}" + ) + + try: + from apps.core.ai_service import AIService + + response = AIService.chat_completion( + prompt=prompt, + system_prompt=( + "You are a professional Arabic translator specializing in " + "healthcare and hospital organizational terminology. " + "Only return valid JSON, nothing else." + ), + response_format="json_object", + ) + + cleaned = response.strip() + if cleaned.startswith("```"): + cleaned = cleaned.split("\n", 1)[1] if "\n" in cleaned else cleaned[3:] + if cleaned.endswith("```"): + cleaned = cleaned[:-3] + cleaned = cleaned.strip() + + translations = json.loads(cleaned) + return translations + + except json.JSONDecodeError as e: + logger.error(f"Failed to parse AI translation response as JSON: {e}") + self.stdout.write(self.style.ERROR(f" JSON parse error: {e}")) + return {} + except Exception as e: + logger.error(f"AI translation failed: {e}") + self.stdout.write(self.style.ERROR(f" Translation error: {e}")) + return {} diff --git a/apps/organizations/models.py b/apps/organizations/models.py index 9935f67..e8eb6d8 100644 --- a/apps/organizations/models.py +++ b/apps/organizations/models.py @@ -1,6 +1,7 @@ """ Organizations models - Hospital, Department, Physician, Employee, Patient """ + from django.db import models from apps.core.models import TimeStampedModel, UUIDModel, StatusChoices @@ -8,6 +9,7 @@ from apps.core.models import TimeStampedModel, UUIDModel, StatusChoices class Organization(UUIDModel, TimeStampedModel): """Top-level healthcare organization/company""" + name = models.CharField(max_length=200) name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") code = models.CharField(max_length=50, unique=True, db_index=True) @@ -19,22 +21,17 @@ class Organization(UUIDModel, TimeStampedModel): city = models.CharField(max_length=100, blank=True) # Status - status = models.CharField( - max_length=20, - choices=StatusChoices.choices, - default=StatusChoices.ACTIVE, - db_index=True - ) + status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE, db_index=True) # Branding and metadata - logo = models.ImageField(upload_to='organizations/logos/', null=True, blank=True) + logo = models.ImageField(upload_to="organizations/logos/", null=True, blank=True) website = models.URLField(blank=True) license_number = models.CharField(max_length=100, blank=True) class Meta: - ordering = ['name'] - verbose_name = 'Organization' - verbose_name_plural = 'Organizations' + ordering = ["name"] + verbose_name = "Organization" + verbose_name_plural = "Organizations" def __str__(self): return self.name @@ -42,13 +39,14 @@ class Organization(UUIDModel, TimeStampedModel): class Hospital(UUIDModel, TimeStampedModel): """Hospital/Facility model""" + organization = models.ForeignKey( Organization, on_delete=models.CASCADE, null=True, blank=True, - related_name='hospitals', - help_text="Parent organization (null for backward compatibility)" + related_name="hospitals", + help_text="Parent organization (null for backward compatibility)", ) name = models.CharField(max_length=200) name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") @@ -61,49 +59,44 @@ class Hospital(UUIDModel, TimeStampedModel): email = models.EmailField(blank=True) # Status - status = models.CharField( - max_length=20, - choices=StatusChoices.choices, - default=StatusChoices.ACTIVE, - db_index=True - ) + status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE, db_index=True) # Executive leadership ceo = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='hospitals_as_ceo', - verbose_name='CEO', - help_text="Chief Executive Officer" + related_name="hospitals_as_ceo", + verbose_name="CEO", + help_text="Chief Executive Officer", ) medical_director = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='hospitals_as_medical_director', - verbose_name='Medical Director', - help_text="Medical Director" + related_name="hospitals_as_medical_director", + verbose_name="Medical Director", + help_text="Medical Director", ) coo = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='hospitals_as_coo', - verbose_name='COO', - help_text="Chief Operating Officer" + related_name="hospitals_as_coo", + verbose_name="COO", + help_text="Chief Operating Officer", ) cfo = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='hospitals_as_cfo', - verbose_name='CFO', - help_text="Chief Financial Officer" + related_name="hospitals_as_cfo", + verbose_name="CFO", + help_text="Chief Financial Officer", ) # Metadata @@ -112,36 +105,28 @@ class Hospital(UUIDModel, TimeStampedModel): metadata = models.JSONField(default=dict, blank=True, help_text="Hospital configuration settings") class Meta: - ordering = ['name'] - verbose_name_plural = 'Hospitals' + ordering = ["name"] + verbose_name_plural = "Hospitals" def __str__(self): return self.name + class Department(UUIDModel, TimeStampedModel): """Department within a hospital""" - hospital = models.ForeignKey(Hospital, on_delete=models.CASCADE, related_name='departments') + + hospital = models.ForeignKey(Hospital, on_delete=models.CASCADE, related_name="departments") name = models.CharField(max_length=200) name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") code = models.CharField(max_length=50, db_index=True) # Hierarchy - parent = models.ForeignKey( - 'self', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='sub_departments' - ) + parent = models.ForeignKey("self", on_delete=models.SET_NULL, null=True, blank=True, related_name="sub_departments") # Manager manager = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='managed_departments' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="managed_departments" ) # Contact @@ -150,16 +135,11 @@ class Department(UUIDModel, TimeStampedModel): location = models.CharField(max_length=200, blank=True, help_text="Building/Floor/Room") # Status - status = models.CharField( - max_length=20, - choices=StatusChoices.choices, - default=StatusChoices.ACTIVE, - db_index=True - ) + status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE, db_index=True) class Meta: - ordering = ['hospital', 'name'] - unique_together = [['hospital', 'code']] + ordering = ["hospital", "name"] + unique_together = [["hospital", "code"]] def __str__(self): return f"{self.name}" @@ -167,17 +147,14 @@ class Department(UUIDModel, TimeStampedModel): class Staff(UUIDModel, TimeStampedModel): class StaffType(models.TextChoices): - PHYSICIAN = 'physician', 'Physician' - NURSE = 'nurse', 'Nurse' - ADMIN = 'admin', 'Administrative' - OTHER = 'other', 'Other' + PHYSICIAN = "physician", "Physician" + NURSE = "nurse", "Nurse" + ADMIN = "admin", "Administrative" + OTHER = "other", "Other" # Link to User (Keep it optional for external/temp staff) user = models.OneToOneField( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, blank=True, - related_name='staff_profile' + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, related_name="staff_profile" ) # Unified Identity (AI will search these 4 fields) @@ -188,7 +165,7 @@ class Staff(UUIDModel, TimeStampedModel): # Role Logic staff_type = models.CharField(max_length=20, choices=StaffType.choices) - job_title = models.CharField(max_length=200) # "Cardiologist", "Senior Nurse", etc. + job_title = models.CharField(max_length=200) # "Cardiologist", "Senior Nurse", etc. # Professional Data (Nullable for non-physicians) license_number = models.CharField(max_length=100, unique=True, null=True, blank=True) @@ -202,8 +179,8 @@ class Staff(UUIDModel, TimeStampedModel): name_ar = models.CharField(max_length=300, blank=True, verbose_name="Full Name (Arabic)") # Organization - hospital = models.ForeignKey(Hospital, on_delete=models.CASCADE, related_name='staff') - department = models.ForeignKey(Department, on_delete=models.SET_NULL, null=True, blank=True, related_name='staff') + hospital = models.ForeignKey(Hospital, on_delete=models.CASCADE, related_name="staff") + department = models.ForeignKey(Department, on_delete=models.SET_NULL, null=True, blank=True, related_name="staff") # Additional fields from CSV import civil_id = models.CharField(max_length=50, blank=True, db_index=True, verbose_name="Civil Identity Number") @@ -212,55 +189,56 @@ class Staff(UUIDModel, TimeStampedModel): location = models.CharField(max_length=200, blank=True, verbose_name="Location") location_ar = models.CharField(max_length=200, blank=True, verbose_name="Location (Arabic)") gender = models.CharField( - max_length=10, - choices=[('male', 'Male'), ('female', 'Female'), ('other', 'Other')], - blank=True + max_length=10, choices=[("male", "Male"), ("female", "Female"), ("other", "Other")], blank=True ) department_name = models.CharField(max_length=200, blank=True, verbose_name="Department (Original)") department_name_ar = models.CharField(max_length=200, blank=True, verbose_name="Department (Arabic)") - + # Section and Subsection (CharFields for storing original CSV values) section = models.CharField(max_length=200, blank=True, verbose_name="Section") section_ar = models.CharField(max_length=200, blank=True, verbose_name="Section (Arabic)") subsection = models.CharField(max_length=200, blank=True, verbose_name="Subsection") subsection_ar = models.CharField(max_length=200, blank=True, verbose_name="Subsection (Arabic)") - + # ForeignKeys to Section and Subsection models section_fk = models.ForeignKey( - 'StaffSection', + "StaffSection", on_delete=models.SET_NULL, null=True, blank=True, - related_name='staff_members', - verbose_name="Section (FK)" + related_name="staff_members", + verbose_name="Section (FK)", ) subsection_fk = models.ForeignKey( - 'StaffSubsection', + "StaffSubsection", on_delete=models.SET_NULL, null=True, blank=True, - related_name='staff_members', - verbose_name="Subsection (FK)" + related_name="staff_members", + verbose_name="Subsection (FK)", ) - + job_title_ar = models.CharField(max_length=200, blank=True, verbose_name="Job Title (Arabic)") # Self-referential manager field for hierarchy report_to = models.ForeignKey( - 'self', + "self", on_delete=models.SET_NULL, null=True, blank=True, - related_name='direct_reports', - verbose_name="Reports To" + related_name="direct_reports", + verbose_name="Reports To", ) # Head of department/section/subsection indicator is_head = models.BooleanField(default=False, verbose_name="Is Head") # Physician indicator - set to True when staff comes from physician rating import - physician = models.BooleanField(default=False, verbose_name="Is Physician", - help_text="Set to True when staff record comes from physician rating import") + physician = models.BooleanField( + default=False, + verbose_name="Is Physician", + help_text="Set to True when staff record comes from physician rating import", + ) status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE) @@ -286,6 +264,7 @@ class Staff(UUIDModel, TimeStampedModel): parts.append(self.department_name) return " - ".join(parts) + # TODO Add Section # class Physician(UUIDModel, TimeStampedModel): # """Physician/Doctor model""" @@ -380,6 +359,7 @@ class Staff(UUIDModel, TimeStampedModel): class Patient(UUIDModel, TimeStampedModel): """Patient model""" + # Basic information mrn = models.CharField(max_length=50, unique=True, db_index=True, verbose_name="Medical Record Number") national_id = models.CharField(max_length=50, blank=True, db_index=True) @@ -392,10 +372,9 @@ class Patient(UUIDModel, TimeStampedModel): # Demographics date_of_birth = models.DateField(null=True, blank=True) gender = models.CharField( - max_length=10, - choices=[('male', 'Male'), ('female', 'Female'), ('other', 'Other')], - blank=True + max_length=10, choices=[("male", "Male"), ("female", "Female"), ("other", "Other")], blank=True ) + nationality = models.CharField(max_length=100, blank=True, db_index=True) # Contact phone = models.CharField(max_length=20, blank=True) @@ -405,23 +384,14 @@ class Patient(UUIDModel, TimeStampedModel): # Primary hospital primary_hospital = models.ForeignKey( - Hospital, - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='patients' + Hospital, on_delete=models.SET_NULL, null=True, blank=True, related_name="patients" ) # Status - status = models.CharField( - max_length=20, - choices=StatusChoices.choices, - default=StatusChoices.ACTIVE, - db_index=True - ) + status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE, db_index=True) class Meta: - ordering = ['last_name', 'first_name'] + ordering = ["last_name", "first_name"] def __str__(self): return f"{self.first_name} {self.last_name} (MRN: {self.mrn})" @@ -442,7 +412,7 @@ class Patient(UUIDModel, TimeStampedModel): from datetime import datetime # Generate MRN with date prefix for better traceability - date_prefix = datetime.now().strftime('%Y%m%d') + date_prefix = datetime.now().strftime("%Y%m%d") random_suffix = random.randint(100000, 999999) mrn = f"PTN-{date_prefix}-{random_suffix}" @@ -456,72 +426,54 @@ class Patient(UUIDModel, TimeStampedModel): class StaffSection(UUIDModel, TimeStampedModel): """Section within a department (for staff organization)""" - department = models.ForeignKey(Department, on_delete=models.CASCADE, related_name='sections') - + + department = models.ForeignKey(Department, on_delete=models.CASCADE, related_name="sections") + name = models.CharField(max_length=200) name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") code = models.CharField(max_length=50, blank=True) - + # Manager - head = models.ForeignKey( - 'Staff', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='headed_sections' - ) - + head = models.ForeignKey("Staff", on_delete=models.SET_NULL, null=True, blank=True, related_name="headed_sections") + # Status - status = models.CharField( - max_length=20, - choices=StatusChoices.choices, - default=StatusChoices.ACTIVE, - db_index=True - ) - + status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE, db_index=True) + class Meta: - ordering = ['department', 'name'] - unique_together = [['department', 'name']] - + ordering = ["department", "name"] + unique_together = [["department", "name"]] + def __str__(self): return f"{self.department.name} - {self.name}" class StaffSubsection(UUIDModel, TimeStampedModel): """Subsection within a section (for staff organization)""" - section = models.ForeignKey(StaffSection, on_delete=models.CASCADE, related_name='subsections') - + + section = models.ForeignKey(StaffSection, on_delete=models.CASCADE, related_name="subsections") + name = models.CharField(max_length=200) name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") code = models.CharField(max_length=50, blank=True) - + # Manager head = models.ForeignKey( - 'Staff', - on_delete=models.SET_NULL, - null=True, - blank=True, - related_name='headed_subsections' + "Staff", on_delete=models.SET_NULL, null=True, blank=True, related_name="headed_subsections" ) - + # Status - status = models.CharField( - max_length=20, - choices=StatusChoices.choices, - default=StatusChoices.ACTIVE, - db_index=True - ) - + status = models.CharField(max_length=20, choices=StatusChoices.choices, default=StatusChoices.ACTIVE, db_index=True) + class Meta: - ordering = ['section', 'name'] - unique_together = [['section', 'name']] - + ordering = ["section", "name"] + unique_together = [["section", "name"]] + def __str__(self): return f"{self.section.department.name} - {self.section.name} - {self.name}" class Location(models.Model): - id = models.IntegerField(primary_key=True) # Using your specific IDs (48, 49, etc.) + id = models.IntegerField(primary_key=True) # Using your specific IDs (48, 49, etc.) name_ar = models.CharField(max_length=100) name_en = models.CharField(max_length=100) @@ -529,8 +481,9 @@ class Location(models.Model): # Prefer English name if available, otherwise use Arabic return self.name_en if self.name_en else self.name_ar + class MainSection(models.Model): - id = models.IntegerField(primary_key=True) # Using your specific IDs (1, 2, 3, 4, 5) + id = models.IntegerField(primary_key=True) # Using your specific IDs (1, 2, 3, 4, 5) name_ar = models.CharField(max_length=100) name_en = models.CharField(max_length=100) @@ -538,12 +491,13 @@ class MainSection(models.Model): # Prefer English name if available, otherwise use Arabic return self.name_en if self.name_en else self.name_ar + class SubSection(models.Model): - internal_id = models.IntegerField(primary_key=True) # The 'value' from HTML + internal_id = models.IntegerField(primary_key=True) # The 'value' from HTML name_ar = models.CharField(max_length=255) name_en = models.CharField(max_length=255) - location = models.ForeignKey(Location, on_delete=models.CASCADE, related_name='subsections') - main_section = models.ForeignKey(MainSection, on_delete=models.CASCADE, related_name='subsections') + location = models.ForeignKey(Location, on_delete=models.CASCADE, related_name="subsections") + main_section = models.ForeignKey(MainSection, on_delete=models.CASCADE, related_name="subsections") def __str__(self): # Prefer English name if available, otherwise use Arabic diff --git a/apps/organizations/ui_views.py b/apps/organizations/ui_views.py index 70d65c8..70f7fcd 100644 --- a/apps/organizations/ui_views.py +++ b/apps/organizations/ui_views.py @@ -1,8 +1,11 @@ +from django.conf import settings from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator from django.db.models import Q from django.shortcuts import render, redirect, get_object_or_404 from django.contrib import messages +from django.views.decorators.http import require_POST +from django.views.decorators.csrf import csrf_exempt from apps.core.decorators import block_source_user, hospital_admin_required @@ -324,20 +327,23 @@ def patient_list(request): """Patients list view""" queryset = Patient.objects.select_related("primary_hospital") - # Apply RBAC filters + # Filter by current hospital context user = request.user - if not user.is_px_admin() and user.hospital: - queryset = queryset.filter(primary_hospital=user.hospital) - - # Apply filters - hospital_filter = request.GET.get("hospital") - if hospital_filter: - queryset = queryset.filter(primary_hospital_id=hospital_filter) + if request.tenant_hospital: + queryset = queryset.filter(primary_hospital=request.tenant_hospital) status_filter = request.GET.get("status") if status_filter: queryset = queryset.filter(status=status_filter) + gender_filter = request.GET.get("gender") + if gender_filter: + queryset = queryset.filter(gender=gender_filter) + + nationality_filter = request.GET.get("nationality") + if nationality_filter: + queryset = queryset.filter(nationality=nationality_filter) + # Search search_query = request.GET.get("search") if search_query: @@ -350,7 +356,59 @@ def patient_list(request): ) # Ordering - queryset = queryset.order_by("last_name", "first_name") + order_by = request.GET.get("order_by", "last_name") + if order_by not in ["last_name", "-last_name", "-created_at", "created_at"]: + order_by = "last_name" + queryset = queryset.order_by(order_by, "first_name") + + # Stats (computed from filtered queryset) + stats = { + "total": queryset.count(), + "active": queryset.filter(status="active").count(), + "hospitals": queryset.values("primary_hospital").distinct().count(), + "visits": 0, + } + + # Export CSV + if request.GET.get("export") == "csv": + import csv + from django.http import HttpResponse + + response = HttpResponse(content_type="text/csv") + response["Content-Disposition"] = 'attachment; filename="patients.csv"' + writer = csv.writer(response) + writer.writerow( + [ + "MRN", + "First Name", + "Last Name", + "National ID", + "Gender", + "Nationality", + "Phone", + "Email", + "Hospital", + "Status", + "Created At", + ] + ) + for p in queryset[:10000]: + writer.writerow( + [ + p.mrn, + p.first_name, + p.last_name, + p.national_id, + p.get_gender_display(), + p.nationality, + p.phone, + p.email, + p.primary_hospital.name if p.primary_hospital else "", + p.get_status_display(), + p.created_at.strftime("%Y-%m-%d %H:%M"), + ] + ) + return response # Pagination page_size = int(request.GET.get("page_size", 25)) @@ -358,16 +416,17 @@ def patient_list(request): page_number = request.GET.get("page", 1) page_obj = paginator.get_page(page_number) - # Get hospitals for filter - hospitals = Hospital.objects.filter(status="active") - if not user.is_px_admin() and user.hospital: - hospitals = hospitals.filter(id=user.hospital.id) + # Get nationalities for filter + nationalities = ( + Patient.objects.exclude(nationality="").values_list("nationality", flat=True).order_by("nationality").distinct() + ) context = { "page_obj": page_obj, "patients": page_obj.object_list, - "hospitals": hospitals, + "nationalities": nationalities, "filters": request.GET, + "stats": stats, } return render(request, "organizations/patient_list.html", context) @@ -1157,21 +1216,79 @@ def patient_detail(request, pk): return HttpResponseForbidden("You don't have permission to view this patient") - # Get patient's survey history + from apps.integrations.models import HISPatientVisit from apps.surveys.models import SurveyInstance - surveys = ( - SurveyInstance.objects.filter(patient=patient).select_related("survey_template").order_by("-created_at")[:10] + tab = request.GET.get("tab", "visits") + + his_visits = ( + HISPatientVisit.objects.filter(patient=patient) + .select_related("hospital", "survey_instance", "primary_doctor_fk", "consultant_fk") + .order_by("-admit_date")[:20] ) + surveys = ( + SurveyInstance.objects.filter(patient=patient) + .select_related("survey_template") + .prefetch_related("responses") + .order_by("-created_at")[:10] + ) + + complaints = patient.complaints.select_related("hospital", "department").order_by("-created_at")[:10] + + inquiries = patient.inquiries.select_related("hospital", "department").order_by("-created_at")[:10] + + stats = { + "visits": HISPatientVisit.objects.filter(patient=patient).count(), + "surveys": SurveyInstance.objects.filter(patient=patient).count(), + "complaints": patient.complaints.count(), + "inquiries": patient.inquiries.count(), + } + context = { "patient": patient, + "tab": tab, + "his_visits": his_visits, "surveys": surveys, + "complaints": complaints, + "inquiries": inquiries, + "stats": stats, } return render(request, "organizations/patient_detail.html", context) +@block_source_user +@login_required +def patient_visit_journey(request, patient_pk, visit_pk): + """Patient visit journey timeline view""" + from apps.integrations.models import HISPatientVisit + + patient = get_object_or_404(Patient.objects.select_related("primary_hospital"), pk=patient_pk) + visit = get_object_or_404( + HISPatientVisit.objects.prefetch_related("visit_events").select_related( + "hospital", "survey_instance", "primary_doctor_fk", "consultant_fk" + ), + pk=visit_pk, + patient=patient, + ) + + user = request.user + if not user.is_px_admin() and patient.primary_hospital != user.hospital: + from django.http import HttpResponseForbidden + + return HttpResponseForbidden("You don't have permission to view this visit") + + timeline = list(visit.visit_events.all()) + + context = { + "patient": patient, + "visit": visit, + "timeline": timeline, + } + return render(request, "organizations/patient_visit_journey.html", context) + + @block_source_user @login_required def patient_create(request): @@ -1268,3 +1385,160 @@ def patient_delete(request, pk): } return render(request, "organizations/patient_confirm_delete.html", context) + + +@csrf_exempt +@login_required +@require_POST +def search_his_patient(request): + """Search HIS by SSN or MobileNo, return patient demographics as JSON.""" + import json + from django.http import JsonResponse + + try: + data = json.loads(request.body or b"{}") + if not isinstance(data, dict): + data = {} + except (json.JSONDecodeError, TypeError): + data = {} + + ssn = (data.get("ssn") or "").strip() + mobile_no = (data.get("mobile_no") or "").strip() + + if not ssn and not mobile_no: + return JsonResponse({"error": "Provide SSN or Mobile number"}, status=400) + + from apps.integrations.models import IntegrationConfig + from apps.integrations.services.his_client import HISClient + from django.conf import settings + + config = IntegrationConfig.objects.filter(source_system__in=["his", "other"]).first() + + if not config: + return JsonResponse({"error": "HIS integration not configured"}, status=400) + + if settings.DEBUG: + config.api_url = request.build_absolute_uri("/api/integrations/test-his-data/") + + client = HISClient(config) + patients = client.fetch_patient_by_identifier(ssn=ssn or None, mobile_no=mobile_no or None) + + if patients is None: + return JsonResponse({"error": "Failed to connect to HIS"}, status=500) + + if not patients: + return JsonResponse({"patients": [], "total": 0}) + + result = [] + for p in patients: + result.append( + { + "patient_id": p.get("PatientID"), + "admission_id": p.get("AdmissionID"), + "name": p.get("PatientName", ""), + "ssn": p.get("SSN", ""), + "mobile_no": p.get("MobileNo", ""), + "gender": p.get("Gender", ""), + "nationality": p.get("PatientNationality", ""), + "dob": p.get("DOB", ""), + "patient_type": p.get("PatientType", ""), + "hospital_name": p.get("HospitalName", ""), + "hospital_id": p.get("HospitalID", ""), + "admit_date": p.get("AdmitDate", ""), + "discharge_date": p.get("DischargeDate", ""), + "reg_code": p.get("RegCode", ""), + "raw": p, + } + ) + + return JsonResponse({"patients": result, "total": len(result)}) + + +@csrf_exempt +@login_required +@require_POST +def save_his_patient(request): + """Save a patient from HIS data locally.""" + import json + from django.http import JsonResponse + + try: + data = json.loads(request.body or b"{}") + if not isinstance(data, dict): + data = {} + except (json.JSONDecodeError, TypeError): + data = {} + + patient_data = data.get("patient_data") + if not patient_data: + return JsonResponse({"error": "No patient data provided"}, status=400) + + from apps.integrations.models import IntegrationConfig + from apps.integrations.services.his_adapter import HISAdapter + + config = IntegrationConfig.objects.filter(source_system__in=["his", "other"]).first() + + if not config: + return JsonResponse({"error": "HIS integration not configured"}, status=400) + + try: + hospital = HISAdapter.get_or_create_hospital(patient_data) + patient = HISAdapter.get_or_create_patient(patient_data, hospital) + visit = HISAdapter.save_patient_visit( + patient=patient, + hospital=hospital, + patient_data=patient_data, + visit_timeline=[], + is_visit_complete=False, + ) + + return JsonResponse( + { + "success": True, + "patient_id": str(patient.id), + "patient_name": patient.get_full_name(), + "visit_id": str(visit.id), + "admission_id": visit.admission_id, + } + ) + except Exception as e: + return JsonResponse({"error": str(e)}, status=500) + + +@block_source_user +@login_required +@require_POST +def send_complaint_link(request, pk): + """Create a complaint session and send SMS link to the patient.""" + from django.http import JsonResponse + from apps.complaints.models import PatientComplaintSession + from apps.notifications.services import NotificationService + + patient = get_object_or_404(Patient.objects.select_related("primary_hospital"), pk=pk) + + if not patient.phone: + return JsonResponse({"error": "Patient has no phone number"}, status=400) + + session = PatientComplaintSession.objects.create( + patient=patient, + created_by=request.user, + ) + + base_url = getattr(settings, "SURVEY_BASE_URL", "") + link = f"{base_url}/complaints/patient/{session.token}/" + + message = ( + f"Dear {patient.first_name}, we value your feedback. " + f"If you have any concerns about your recent visit, please submit them here: {link}" + ) + + NotificationService.send_sms(phone=patient.phone, message=message) + + return JsonResponse( + { + "success": True, + "token": session.token, + "link": link, + "phone": patient.phone, + } + ) diff --git a/apps/organizations/urls.py b/apps/organizations/urls.py index f822c7f..20e58d4 100644 --- a/apps/organizations/urls.py +++ b/apps/organizations/urls.py @@ -34,68 +34,73 @@ from .ui_views import ( subsection_delete, ) -app_name = 'organizations' +app_name = "organizations" router = DefaultRouter() -router.register(r'organizations', OrganizationViewSet, basename='organization-api') -router.register(r'hospitals', HospitalViewSet, basename='hospital-api') -router.register(r'departments', DepartmentViewSet, basename='department-api') -router.register(r'staff', StaffViewSet, basename='staff-api') -router.register(r'patients', PatientViewSet, basename='patient-api') -router.register(r'locations', LocationViewSet, basename='location-api') -router.register(r'main-sections', MainSectionViewSet, basename='main-section-api') -router.register(r'subsections', SubSectionViewSet, basename='subsection-api') +router.register(r"organizations", OrganizationViewSet, basename="organization-api") +router.register(r"hospitals", HospitalViewSet, basename="hospital-api") +router.register(r"departments", DepartmentViewSet, basename="department-api") +router.register(r"staff", StaffViewSet, basename="staff-api") +router.register(r"patients", PatientViewSet, basename="patient-api") +router.register(r"locations", LocationViewSet, basename="location-api") +router.register(r"main-sections", MainSectionViewSet, basename="main-section-api") +router.register(r"subsections", SubSectionViewSet, basename="subsection-api") urlpatterns = [ # UI Views (come first - more specific routes) - path('organizations/create/', ui_views.organization_create, name='organization_create'), - path('organizations//', ui_views.organization_detail, name='organization_detail'), - path('organizations/', ui_views.organization_list, name='organization_list'), - path('hospitals/', ui_views.hospital_list, name='hospital_list'), - path('departments/', ui_views.department_list, name='department_list'), - path('staff/create/', ui_views.staff_create, name='staff_create'), - path('staff//edit/', ui_views.staff_update, name='staff_update'), - path('staff//', ui_views.staff_detail, name='staff_detail'), - path('staff/hierarchy/d3/', ui_views.staff_hierarchy_d3, name='staff_hierarchy_d3'), - path('staff/hierarchy/', ui_views.staff_hierarchy, name='staff_hierarchy'), - path('staff/', ui_views.staff_list, name='staff_list'), - path('patients/', ui_views.patient_list, name='patient_list'), - path('patients/create/', ui_views.patient_create, name='patient_create'), - path('patients//', ui_views.patient_detail, name='patient_detail'), - path('patients//edit/', ui_views.patient_update, name='patient_update'), - path('patients//delete/', ui_views.patient_delete, name='patient_delete'), - + path("organizations/create/", ui_views.organization_create, name="organization_create"), + path("organizations//", ui_views.organization_detail, name="organization_detail"), + path("organizations/", ui_views.organization_list, name="organization_list"), + path("hospitals/", ui_views.hospital_list, name="hospital_list"), + path("departments/", ui_views.department_list, name="department_list"), + path("staff/create/", ui_views.staff_create, name="staff_create"), + path("staff//edit/", ui_views.staff_update, name="staff_update"), + path("staff//", ui_views.staff_detail, name="staff_detail"), + path("staff/hierarchy/d3/", ui_views.staff_hierarchy_d3, name="staff_hierarchy_d3"), + path("staff/hierarchy/", ui_views.staff_hierarchy, name="staff_hierarchy"), + path("staff/", ui_views.staff_list, name="staff_list"), + path("patients/", ui_views.patient_list, name="patient_list"), + path("patients/search-his/", ui_views.search_his_patient, name="search_his_patient"), + path("patients/save-his/", ui_views.save_his_patient, name="save_his_patient"), + path("patients/create/", ui_views.patient_create, name="patient_create"), + path("patients//", ui_views.patient_detail, name="patient_detail"), + path( + "patients//visits//", + ui_views.patient_visit_journey, + name="patient_visit_journey", + ), + path("patients//send-complaint-link/", ui_views.send_complaint_link, name="send_complaint_link"), + path("patients//edit/", ui_views.patient_update, name="patient_update"), + path("patients//delete/", ui_views.patient_delete, name="patient_delete"), # Department CRUD - path('departments/create/', department_create, name='department_create'), - path('departments//edit/', department_update, name='department_update'), - path('departments//delete/', department_delete, name='department_delete'), - + path("departments/create/", department_create, name="department_create"), + path("departments//edit/", department_update, name="department_update"), + path("departments//delete/", department_delete, name="department_delete"), # Section CRUD - path('sections/', section_list, name='section_list'), - path('sections/create/', section_create, name='section_create'), - path('sections//edit/', section_update, name='section_update'), - path('sections//delete/', section_delete, name='section_delete'), - + path("sections/", section_list, name="section_list"), + path("sections/create/", section_create, name="section_create"), + path("sections//edit/", section_update, name="section_update"), + path("sections//delete/", section_delete, name="section_delete"), # Subsection CRUD - path('subsections/', subsection_list, name='subsection_list'), - path('subsections/create/', subsection_create, name='subsection_create'), - path('subsections//edit/', subsection_update, name='subsection_update'), - path('subsections//delete/', subsection_delete, name='subsection_delete'), - + path("subsections/", subsection_list, name="subsection_list"), + path("subsections/create/", subsection_create, name="subsection_create"), + path("subsections//edit/", subsection_update, name="subsection_update"), + path("subsections//delete/", subsection_delete, name="subsection_delete"), # API Routes for complaint form dropdowns (public access) - path('dropdowns/locations/', api_location_list, name='api_location_list'), - path('dropdowns/main-sections/', api_main_section_list, name='api_main_section_list'), - path('dropdowns/subsections/', api_subsection_list, name='api_subsection_list'), - + path("dropdowns/locations/", api_location_list, name="api_location_list"), + path("dropdowns/main-sections/", api_main_section_list, name="api_main_section_list"), + path("dropdowns/subsections/", api_subsection_list, name="api_subsection_list"), # AJAX Routes for cascading dropdowns in complaint form - path('ajax/main-sections/', ajax_main_sections, name='ajax_main_sections'), - path('ajax/subsections/', ajax_subsections, name='ajax_subsections'), - path('ajax/departments/', ajax_departments, name='ajax_departments'), - + path("ajax/main-sections/", ajax_main_sections, name="ajax_main_sections"), + path("ajax/subsections/", ajax_subsections, name="ajax_subsections"), + path("ajax/departments/", ajax_departments, name="ajax_departments"), # Staff Hierarchy API (for D3 visualization) - path('api/staff/hierarchy/', api_staff_hierarchy, name='api_staff_hierarchy'), - path('api/staff/hierarchy//children/', api_staff_hierarchy_children, name='api_staff_hierarchy_children'), - + path("api/staff/hierarchy/", api_staff_hierarchy, name="api_staff_hierarchy"), + path( + "api/staff/hierarchy//children/", + api_staff_hierarchy_children, + name="api_staff_hierarchy_children", + ), # API Routes (must come last - catches anything not matched above) - path('api/', include(router.urls)), + path("api/", include(router.urls)), ] diff --git a/apps/physicians/adapter.py b/apps/physicians/adapter.py index 4435a1e..429217b 100644 --- a/apps/physicians/adapter.py +++ b/apps/physicians/adapter.py @@ -6,6 +6,7 @@ Handles the transformation of Doctor Rating data from HIS/CSV to internal format - Matches doctors to existing Staff records - Creates individual ratings and aggregates monthly """ + import logging import re from datetime import datetime @@ -30,33 +31,33 @@ class DoctorRatingAdapter: def parse_doctor_name(doctor_name_raw: str) -> Tuple[str, str]: """ Parse doctor name from HIS format. - + HIS Format: "10738-OMAYMAH YAQOUB ELAMEIAN" Returns: (doctor_id, doctor_name_clean) - + Examples: - "10738-OMAYMAH YAQOUB ELAMEIAN" -> ("10738", "OMAYMAH YAQOUB ELAMEIAN") - "OMAYMAH YAQOUB ELAMEIAN" -> ("", "OMAYMAH YAQOUB ELAMEIAN") """ if not doctor_name_raw: return "", "" - + doctor_name_raw = doctor_name_raw.strip() - + # Pattern: ID-NAME (e.g., "10738-OMAYMAH YAQOUB ELAMEIAN") - match = re.match(r'^(\d+)-(.+)$', doctor_name_raw) + match = re.match(r"^(\d+)-(.+)$", doctor_name_raw) if match: doctor_id = match.group(1) doctor_name = match.group(2).strip() return doctor_id, doctor_name - + # Pattern: ID - NAME (with spaces) - match = re.match(r'^(\d+)\s*-\s*(.+)$', doctor_name_raw) + match = re.match(r"^(\d+)\s*-\s*(.+)$", doctor_name_raw) if match: doctor_id = match.group(1) doctor_name = match.group(2).strip() return doctor_id, doctor_name - + # No ID prefix found return "", doctor_name_raw @@ -64,7 +65,7 @@ class DoctorRatingAdapter: def parse_date(date_str: str) -> Optional[datetime]: """ Parse date from various formats. - + Supported formats: - "22-Dec-2024 19:12:24" (HIS format) - "22-Dec-2024" @@ -75,29 +76,29 @@ class DoctorRatingAdapter: """ if not date_str: return None - + date_str = date_str.strip() - + formats = [ - '%d-%b-%Y %H:%M:%S', - '%d-%b-%Y', - '%d-%b-%y %H:%M:%S', - '%d-%b-%y', - '%Y-%m-%d %H:%M:%S', - '%Y-%m-%d', - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y', - '%m/%d/%Y %H:%M:%S', - '%m/%d/%Y', + "%d-%b-%Y %H:%M:%S", + "%d-%b-%Y", + "%d-%b-%y %H:%M:%S", + "%d-%b-%y", + "%Y-%m-%d %H:%M:%S", + "%Y-%m-%d", + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y", + "%m/%d/%Y %H:%M:%S", + "%m/%d/%Y", ] - + for fmt in formats: try: naive_dt = datetime.strptime(date_str, fmt) return timezone.make_aware(naive_dt) except ValueError: continue - + logger.warning(f"Could not parse date: {date_str}") return None @@ -105,15 +106,15 @@ class DoctorRatingAdapter: def parse_age(age_str: str) -> str: """ Parse age string to extract just the number. - + Examples: - "36 Years" -> "36" - "36" -> "36" """ if not age_str: return "" - - match = re.search(r'(\d+)', age_str) + + match = re.search(r"(\d+)", age_str) if match: return match.group(1) return age_str @@ -122,34 +123,34 @@ class DoctorRatingAdapter: def clean_phone(phone: str) -> str: """ Clean and normalize phone number to international format. - + Examples: - "0504884011" -> "+966504884011" - "+966504884011" -> "+966504884011" """ if not phone: return "" - - phone = phone.strip().replace(' ', '').replace('-', '') - - if phone.startswith('+'): + + phone = phone.strip().replace(" ", "").replace("-", "") + + if phone.startswith("+"): return phone - + # Saudi numbers - if phone.startswith('05'): - return '+966' + phone[1:] - elif phone.startswith('5'): - return '+966' + phone - elif phone.startswith('0'): - return '+966' + phone[1:] - + if phone.startswith("05"): + return "+966" + phone[1:] + elif phone.startswith("5"): + return "+966" + phone + elif phone.startswith("0"): + return "+966" + phone[1:] + return phone @staticmethod def find_staff_by_doctor_id(doctor_id: str, hospital: Hospital, doctor_name: str = "") -> Optional[Staff]: """ Find staff record by doctor ID or name. - + Search priority: 1. Match by employee_id (exact) 2. Match by license_number (exact) @@ -157,58 +158,175 @@ class DoctorRatingAdapter: """ if not doctor_id and not doctor_name: return None - + # Try by employee_id (exact match) if doctor_id: - staff = Staff.objects.filter( - hospital=hospital, - employee_id=doctor_id - ).first() + staff = Staff.objects.filter(hospital=hospital, employee_id=doctor_id).first() if staff: return staff - + # Try by license_number if doctor_id: - staff = Staff.objects.filter( - hospital=hospital, - license_number=doctor_id - ).first() + staff = Staff.objects.filter(hospital=hospital, license_number=doctor_id).first() if staff: return staff - + # Try by name matching if doctor_name: # Try exact match first - staff = Staff.objects.filter( - hospital=hospital, - name__iexact=doctor_name - ).first() + staff = Staff.objects.filter(hospital=hospital, name__iexact=doctor_name).first() if staff: return staff - + # Try contains match on name - staff = Staff.objects.filter( - hospital=hospital, - name__icontains=doctor_name - ).first() + staff = Staff.objects.filter(hospital=hospital, name__icontains=doctor_name).first() if staff: return staff - + # Try first_name + last_name name_parts = doctor_name.split() if len(name_parts) >= 2: first_name = name_parts[0] last_name = name_parts[-1] staff = Staff.objects.filter( - hospital=hospital, - first_name__iexact=first_name, - last_name__iexact=last_name + hospital=hospital, first_name__iexact=first_name, last_name__iexact=last_name ).first() if staff: return staff - + return None + @staticmethod + def process_his_rating_record(data: Dict, hospital: Hospital) -> Dict: + """ + Process a single doctor rating record from HIS API format. + + HIS Format: + { + "DoctorID": "11510", + "EmpNo": "17046", + "DoctorName": "AAMIR USMAN BAIG", + "DoctorDepartment": "ORTHOPAEDIC", + "HospitalName": "SUWAIDI", + "HospitalID": "2", + "Rating": "5.00", + "RatingDate": "30-Dec-2025 14:06" + } + + Args: + data: Dictionary containing HIS rating data + hospital: Hospital instance + + Returns: + Dict with 'success', 'rating_id', 'message', 'staff_matched', 'is_duplicate' + """ + result = { + "success": False, + "rating_id": None, + "message": "", + "staff_matched": False, + "staff_id": None, + "is_duplicate": False, + } + + try: + with transaction.atomic(): + # Extract doctor info + doctor_id = data.get("DoctorID", "").strip() + emp_no = data.get("EmpNo", "").strip() + doctor_name = data.get("DoctorName", "").strip() + department_name = data.get("DoctorDepartment", "").strip() + + # Find staff by DoctorID or EmpNo + staff = None + if doctor_id: + staff = Staff.objects.filter(hospital=hospital, employee_id=doctor_id).first() + + if not staff and emp_no: + staff = Staff.objects.filter(hospital=hospital, employee_id=emp_no).first() + + # Try name matching as fallback + if not staff and doctor_name: + staff = DoctorRatingAdapter.find_staff_by_doctor_id( + doctor_id="", hospital=hospital, doctor_name=doctor_name + ) + + # Mark as physician if matched + if staff and not staff.physician: + staff.physician = True + staff.save(update_fields=["physician"]) + + # Parse rating date + rating_date = DoctorRatingAdapter.parse_date(data.get("RatingDate", "")) + if not rating_date: + result["message"] = f"Invalid rating date: {data.get('RatingDate')}" + return result + + # Parse rating + try: + rating = int(float(data.get("Rating", 0))) + if rating < 1 or rating > 5: + result["message"] = f"Invalid rating value: {rating}" + return result + except (ValueError, TypeError): + result["message"] = f"Invalid rating format: {data.get('Rating')}" + return result + + # Check for duplicates (DoctorID + RatingDate) + doctor_ref = doctor_id or emp_no + if doctor_ref: + existing = PhysicianIndividualRating.objects.filter( + doctor_id=doctor_ref, rating_date=rating_date, hospital=hospital + ).first() + + if existing: + result["is_duplicate"] = True + result["message"] = f"Duplicate rating for doctor {doctor_ref} on {rating_date}" + return result + + # Create individual rating (no patient data for HIS ratings) + individual_rating = PhysicianIndividualRating.objects.create( + staff=staff, + hospital=hospital, + source=PhysicianIndividualRating.RatingSource.HIS_API, + source_reference=f"HIS_{data.get('DoctorID', '')}", + doctor_name_raw=doctor_name, + doctor_id=doctor_id or emp_no, + doctor_name=doctor_name, + department_name=department_name, + # Patient fields are null for HIS ratings + patient_uhid=None, + patient_name=None, + patient_gender="", + patient_age="", + patient_nationality="", + patient_phone="", + patient_type=None, + admit_date=None, + discharge_date=None, + rating=rating, + feedback="", # HIS doesn't provide feedback + rating_date=rating_date, + is_aggregated=False, + metadata={ + "emp_no": emp_no, + "hospital_id_his": data.get("HospitalID", ""), + "hospital_name_his": data.get("HospitalName", ""), + "imported_at": timezone.now().isoformat(), + }, + ) + + result["success"] = True + result["rating_id"] = str(individual_rating.id) + result["staff_matched"] = staff is not None + result["staff_id"] = str(staff.id) if staff else None + + except Exception as e: + logger.error(f"Error processing HIS doctor rating: {str(e)}", exc_info=True) + result["message"] = str(e) + + return result + @staticmethod def get_or_create_patient(uhid: str, patient_name: str, hospital: Hospital, **kwargs) -> Optional[Patient]: """ @@ -216,31 +334,31 @@ class DoctorRatingAdapter: """ if not uhid: return None - + # Split name - name_parts = patient_name.split() if patient_name else ['Unknown', ''] - first_name = name_parts[0] if name_parts else 'Unknown' - last_name = name_parts[-1] if len(name_parts) > 1 else '' - + name_parts = patient_name.split() if patient_name else ["Unknown", ""] + first_name = name_parts[0] if name_parts else "Unknown" + last_name = name_parts[-1] if len(name_parts) > 1 else "" + patient, created = Patient.objects.get_or_create( mrn=uhid, defaults={ - 'first_name': first_name, - 'last_name': last_name, - 'primary_hospital': hospital, - } + "first_name": first_name, + "last_name": last_name, + "primary_hospital": hospital, + }, ) - + # Update patient info if provided - if kwargs.get('phone'): - patient.phone = kwargs['phone'] - if kwargs.get('nationality'): - patient.nationality = kwargs['nationality'] - if kwargs.get('gender'): - patient.gender = kwargs['gender'].lower() - if kwargs.get('date_of_birth'): - patient.date_of_birth = kwargs['date_of_birth'] - + if kwargs.get("phone"): + patient.phone = kwargs["phone"] + if kwargs.get("nationality"): + patient.nationality = kwargs["nationality"] + if kwargs.get("gender"): + patient.gender = kwargs["gender"].lower() + if kwargs.get("date_of_birth"): + patient.date_of_birth = kwargs["date_of_birth"] + patient.save() return patient @@ -249,72 +367,64 @@ class DoctorRatingAdapter: data: Dict, hospital: Hospital, source: str = PhysicianIndividualRating.RatingSource.HIS_API, - source_reference: str = "" + source_reference: str = "", ) -> Dict: """ Process a single doctor rating record. - + Args: data: Dictionary containing rating data hospital: Hospital instance source: Source of the rating (his_api, csv_import, manual) source_reference: Reference ID from source system - + Returns: Dict with 'success', 'rating_id', 'message', 'staff_matched' """ - result = { - 'success': False, - 'rating_id': None, - 'message': '', - 'staff_matched': False, - 'staff_id': None - } - + result = {"success": False, "rating_id": None, "message": "", "staff_matched": False, "staff_id": None} + try: with transaction.atomic(): # Extract and parse doctor info - doctor_name_raw = data.get('doctor_name', '').strip() + doctor_name_raw = data.get("doctor_name", "").strip() doctor_id, doctor_name = DoctorRatingAdapter.parse_doctor_name(doctor_name_raw) - + # Find staff - staff = DoctorRatingAdapter.find_staff_by_doctor_id( - doctor_id, hospital, doctor_name - ) - + staff = DoctorRatingAdapter.find_staff_by_doctor_id(doctor_id, hospital, doctor_name) + # If staff found, mark as physician if staff and not staff.physician: staff.physician = True - staff.save(update_fields=['physician']) - + staff.save(update_fields=["physician"]) + # Extract patient info - uhid = data.get('uhid', '').strip() - patient_name = data.get('patient_name', '').strip() - + uhid = data.get("uhid", "").strip() + patient_name = data.get("patient_name", "").strip() + # Parse dates - admit_date = DoctorRatingAdapter.parse_date(data.get('admit_date', '')) - discharge_date = DoctorRatingAdapter.parse_date(data.get('discharge_date', '')) - rating_date = DoctorRatingAdapter.parse_date(data.get('rating_date', '')) - + admit_date = DoctorRatingAdapter.parse_date(data.get("admit_date", "")) + discharge_date = DoctorRatingAdapter.parse_date(data.get("discharge_date", "")) + rating_date = DoctorRatingAdapter.parse_date(data.get("rating_date", "")) + if not rating_date and admit_date: rating_date = admit_date - + if not rating_date: rating_date = timezone.now() - + # Clean phone - phone = DoctorRatingAdapter.clean_phone(data.get('mobile_no', '')) - + phone = DoctorRatingAdapter.clean_phone(data.get("mobile_no", "")) + # Parse rating try: - rating = int(float(data.get('rating', 0))) + rating = int(float(data.get("rating", 0))) if rating < 1 or rating > 5: - result['message'] = f"Invalid rating value: {rating}" + result["message"] = f"Invalid rating value: {rating}" return result except (ValueError, TypeError): - result['message'] = f"Invalid rating format: {data.get('rating')}" + result["message"] = f"Invalid rating format: {data.get('rating')}" return result - + # Get or create patient patient = None if uhid: @@ -323,23 +433,23 @@ class DoctorRatingAdapter: patient_name=patient_name, hospital=hospital, phone=phone, - nationality=data.get('nationality', ''), - gender=data.get('gender', ''), + nationality=data.get("nationality", ""), + gender=data.get("gender", ""), ) - + # Determine patient type - patient_type_raw = data.get('patient_type', '').upper() + patient_type_raw = data.get("patient_type", "").upper() patient_type_map = { - 'IP': PhysicianIndividualRating.PatientType.INPATIENT, - 'OP': PhysicianIndividualRating.PatientType.OUTPATIENT, - 'OPD': PhysicianIndividualRating.PatientType.OUTPATIENT, - 'ER': PhysicianIndividualRating.PatientType.EMERGENCY, - 'EMS': PhysicianIndividualRating.PatientType.EMERGENCY, - 'DC': PhysicianIndividualRating.PatientType.DAYCASE, - 'DAYCASE': PhysicianIndividualRating.PatientType.DAYCASE, + "IP": PhysicianIndividualRating.PatientType.INPATIENT, + "OP": PhysicianIndividualRating.PatientType.OUTPATIENT, + "OPD": PhysicianIndividualRating.PatientType.OUTPATIENT, + "ER": PhysicianIndividualRating.PatientType.EMERGENCY, + "EMS": PhysicianIndividualRating.PatientType.EMERGENCY, + "DC": PhysicianIndividualRating.PatientType.DAYCASE, + "DAYCASE": PhysicianIndividualRating.PatientType.DAYCASE, } - patient_type = patient_type_map.get(patient_type_raw, '') - + patient_type = patient_type_map.get(patient_type_raw, "") + # Create individual rating individual_rating = PhysicianIndividualRating.objects.create( staff=staff, @@ -349,199 +459,165 @@ class DoctorRatingAdapter: doctor_name_raw=doctor_name_raw, doctor_id=doctor_id, doctor_name=doctor_name, - department_name=data.get('department', ''), + department_name=data.get("department", ""), patient_uhid=uhid, patient_name=patient_name, - patient_gender=data.get('gender', ''), - patient_age=DoctorRatingAdapter.parse_age(data.get('age', '')), - patient_nationality=data.get('nationality', ''), + patient_gender=data.get("gender", ""), + patient_age=DoctorRatingAdapter.parse_age(data.get("age", "")), + patient_nationality=data.get("nationality", ""), patient_phone=phone, patient_type=patient_type, admit_date=admit_date, discharge_date=discharge_date, rating=rating, - feedback=data.get('feedback', ''), + feedback=data.get("feedback", ""), rating_date=rating_date, is_aggregated=False, metadata={ - 'patient_type_raw': data.get('patient_type', ''), - 'imported_at': timezone.now().isoformat(), - } + "patient_type_raw": data.get("patient_type", ""), + "imported_at": timezone.now().isoformat(), + }, ) - - result['success'] = True - result['rating_id'] = str(individual_rating.id) - result['staff_matched'] = staff is not None - result['staff_id'] = str(staff.id) if staff else None - + + result["success"] = True + result["rating_id"] = str(individual_rating.id) + result["staff_matched"] = staff is not None + result["staff_id"] = str(staff.id) if staff else None + except Exception as e: logger.error(f"Error processing doctor rating: {str(e)}", exc_info=True) - result['message'] = str(e) - + result["message"] = str(e) + return result @staticmethod - def process_bulk_ratings( - records: List[Dict], - hospital: Hospital, - job: DoctorRatingImportJob - ) -> Dict: + def process_bulk_ratings(records: List[Dict], hospital: Hospital, job: DoctorRatingImportJob) -> Dict: """ Process multiple doctor rating records in bulk. - + Args: records: List of rating data dictionaries hospital: Hospital instance job: DoctorRatingImportJob instance for tracking - + Returns: Dict with summary statistics """ - results = { - 'total': len(records), - 'success': 0, - 'failed': 0, - 'skipped': 0, - 'staff_matched': 0, - 'errors': [] - } - + results = {"total": len(records), "success": 0, "failed": 0, "skipped": 0, "staff_matched": 0, "errors": []} + job.status = DoctorRatingImportJob.JobStatus.PROCESSING job.started_at = timezone.now() job.save() - + for idx, record in enumerate(records, 1): try: - result = DoctorRatingAdapter.process_single_rating( - data=record, - hospital=hospital, - source=job.source - ) - - if result['success']: - results['success'] += 1 - if result['staff_matched']: - results['staff_matched'] += 1 + result = DoctorRatingAdapter.process_single_rating(data=record, hospital=hospital, source=job.source) + + if result["success"]: + results["success"] += 1 + if result["staff_matched"]: + results["staff_matched"] += 1 else: - results['failed'] += 1 - results['errors'].append({ - 'row': idx, - 'message': result['message'], - 'data': record - }) - + results["failed"] += 1 + results["errors"].append({"row": idx, "message": result["message"], "data": record}) + # Update progress every 10 records if idx % 10 == 0: job.processed_count = idx - job.success_count = results['success'] - job.failed_count = results['failed'] - job.skipped_count = results['skipped'] + job.success_count = results["success"] + job.failed_count = results["failed"] + job.skipped_count = results["skipped"] job.save() - + except Exception as e: - results['failed'] += 1 - results['errors'].append({ - 'row': idx, - 'message': str(e), - 'data': record - }) + results["failed"] += 1 + results["errors"].append({"row": idx, "message": str(e), "data": record}) logger.error(f"Error processing record {idx}: {str(e)}", exc_info=True) - + # Final update - job.processed_count = results['total'] - job.success_count = results['success'] - job.failed_count = results['failed'] - job.skipped_count = results['skipped'] + job.processed_count = results["total"] + job.success_count = results["success"] + job.failed_count = results["failed"] + job.skipped_count = results["skipped"] job.results = results job.completed_at = timezone.now() - + # Determine final status - if results['failed'] == 0: + if results["failed"] == 0: job.status = DoctorRatingImportJob.JobStatus.COMPLETED - elif results['success'] == 0: + elif results["success"] == 0: job.status = DoctorRatingImportJob.JobStatus.FAILED else: job.status = DoctorRatingImportJob.JobStatus.PARTIAL - + job.save() - + return results @staticmethod def aggregate_monthly_ratings(year: int, month: int, hospital: Hospital = None) -> Dict: """ Aggregate individual ratings into monthly summaries. - + This should be called after importing ratings to update the monthly aggregates. - + Args: year: Year to aggregate month: Month to aggregate (1-12) hospital: Optional hospital filter (if None, aggregates all) - + Returns: Dict with summary of aggregations """ from django.db.models import Avg, Count, Q - - results = { - 'aggregated': 0, - 'errors': [] - } - + + results = {"aggregated": 0, "errors": []} + # Get unaggregated ratings for the period queryset = PhysicianIndividualRating.objects.filter( - rating_date__year=year, - rating_date__month=month, - is_aggregated=False + rating_date__year=year, rating_date__month=month, is_aggregated=False ) - + if hospital: queryset = queryset.filter(hospital=hospital) - + # Group by staff - staff_ratings = queryset.values('staff').annotate( - avg_rating=Avg('rating'), - total_count=Count('id'), - positive_count=Count('id', filter=Q(rating__gte=4)), - neutral_count=Count('id', filter=Q(rating__gte=3, rating__lt=4)), - negative_count=Count('id', filter=Q(rating__lt=3)) + staff_ratings = queryset.values("staff").annotate( + avg_rating=Avg("rating"), + total_count=Count("id"), + positive_count=Count("id", filter=Q(rating__gte=4)), + neutral_count=Count("id", filter=Q(rating__gte=3, rating__lt=4)), + negative_count=Count("id", filter=Q(rating__lt=3)), ) - + for group in staff_ratings: - staff_id = group['staff'] + staff_id = group["staff"] if not staff_id: continue - + try: staff = Staff.objects.get(id=staff_id) - + # Update or create monthly rating monthly_rating, created = PhysicianMonthlyRating.objects.update_or_create( staff=staff, year=year, month=month, defaults={ - 'average_rating': round(group['avg_rating'], 2), - 'total_surveys': group['total_count'], - 'positive_count': group['positive_count'], - 'neutral_count': group['neutral_count'], - 'negative_count': group['negative_count'], - } + "average_rating": round(group["avg_rating"], 2), + "total_surveys": group["total_count"], + "positive_count": group["positive_count"], + "neutral_count": group["neutral_count"], + "negative_count": group["negative_count"], + }, ) - + # Mark individual ratings as aggregated - queryset.filter(staff=staff).update( - is_aggregated=True, - aggregated_at=timezone.now() - ) - - results['aggregated'] += 1 - + queryset.filter(staff=staff).update(is_aggregated=True, aggregated_at=timezone.now()) + + results["aggregated"] += 1 + except Exception as e: - results['errors'].append({ - 'staff_id': str(staff_id), - 'error': str(e) - }) - + results["errors"].append({"staff_id": str(staff_id), "error": str(e)}) + return results diff --git a/apps/physicians/management/commands/import_his_doctor_ratings.py b/apps/physicians/management/commands/import_his_doctor_ratings.py new file mode 100644 index 0000000..1a76280 --- /dev/null +++ b/apps/physicians/management/commands/import_his_doctor_ratings.py @@ -0,0 +1,330 @@ +""" +Management command to import doctor ratings from HIS API. + +This command fetches doctor ratings from the HIS FetchDoctorRatingMAPI1 endpoint +and imports them into the system. It supports importing for specific months, +multiple months, or full historical data. + +Usage: + # Import previous month (default) + python manage.py import_his_doctor_ratings + + # Import specific month + python manage.py import_his_doctor_ratings --month 2026-01 + + # Import last 6 months + python manage.py import_his_doctor_ratings --months-back 6 + + # Import last 12 months + python manage.py import_his_doctor_ratings --months-back 12 + + # Import all historical data + python manage.py import_his_doctor_ratings --full-history + + # Dry run (show what would be imported) + python manage.py import_his_doctor_ratings --month 2026-01 --dry-run +""" + +import logging +from calendar import monthrange +from datetime import datetime, timedelta +from typing import List, Optional + +from django.core.management.base import BaseCommand, CommandError +from django.utils import timezone + +from apps.integrations.services.his_client import HISClient +from apps.organizations.models import Hospital +from apps.physicians.adapter import DoctorRatingAdapter +from apps.physicians.models import ( + DoctorRatingImportJob, + PhysicianIndividualRating, +) + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + help = "Import doctor ratings from HIS API" + + def add_arguments(self, parser): + parser.add_argument("--month", type=str, help="Specific month to import (format: YYYY-MM, e.g., 2026-01)") + parser.add_argument("--months-back", type=int, help="Import ratings for the last N months (e.g., 6 or 12)") + parser.add_argument("--full-history", action="store_true", help="Import all historical ratings from HIS") + parser.add_argument( + "--dry-run", action="store_true", help="Show what would be imported without actually importing" + ) + parser.add_argument("--force", action="store_true", help="Force import even if ratings already exist") + + def handle(self, *args, **options): + self.dry_run = options["dry_run"] + self.force = options["force"] + + # Determine date ranges to import + date_ranges = self._get_date_ranges(options) + + if not date_ranges: + raise CommandError("No date range specified. Use --month, --months-back, or --full-history") + + # Initialize HIS client + client = HISClient() + + # Track overall stats + total_stats = { + "total_months": len(date_ranges), + "total_ratings": 0, + "success": 0, + "failed": 0, + "duplicates": 0, + "staff_matched": 0, + } + + for from_date, to_date in date_ranges: + month_label = from_date.strftime("%Y-%m") + self.stdout.write(f"\n{'=' * 60}") + self.stdout.write(f"Processing month: {month_label}") + self.stdout.write(f"Date range: {from_date} to {to_date}") + self.stdout.write(f"{'=' * 60}\n") + + # Fetch ratings from HIS + self.stdout.write("Fetching ratings from HIS...") + his_data = client.fetch_doctor_ratings(from_date, to_date) + + if not his_data: + self.stdout.write(self.style.ERROR("Failed to fetch data from HIS")) + continue + + if his_data.get("Code") != 200: + error_msg = his_data.get("Message", "Unknown error") + self.stdout.write(self.style.ERROR(f"HIS API error: {error_msg}")) + continue + + ratings_list = his_data.get("FetchDoctorRatingMAPI1List", []) + + if not ratings_list: + self.stdout.write(self.style.WARNING("No ratings found for this period")) + continue + + self.stdout.write(f"Found {len(ratings_list)} ratings to process\n") + + # Process ratings + month_stats = self._process_ratings(ratings_list, from_date, to_date) + + # Update totals + total_stats["total_ratings"] += month_stats["total"] + total_stats["success"] += month_stats["success"] + total_stats["failed"] += month_stats["failed"] + total_stats["duplicates"] += month_stats["duplicates"] + total_stats["staff_matched"] += month_stats["staff_matched"] + + # Print month summary + self._print_month_summary(month_label, month_stats) + + # Print final summary + self._print_final_summary(total_stats) + + def _get_date_ranges(self, options) -> List[tuple]: + """Determine date ranges to import based on options.""" + ranges = [] + + now = timezone.now() + + if options["month"]: + # Specific month + try: + year, month = map(int, options["month"].split("-")) + from_date = datetime(year, month, 1) + last_day = monthrange(year, month)[1] + to_date = datetime(year, month, last_day, 23, 59, 59) + ranges.append((from_date, to_date)) + except ValueError: + raise CommandError("Invalid month format. Use YYYY-MM (e.g., 2026-01)") + + elif options["months_back"]: + # Last N months + months_back = options["months_back"] + for i in range(months_back): + # Calculate month + target_month = now.month - i + target_year = now.year + + while target_month <= 0: + target_month += 12 + target_year -= 1 + + from_date = datetime(target_year, target_month, 1) + last_day = monthrange(target_year, target_month)[1] + to_date = datetime(target_year, target_month, last_day, 23, 59, 59) + ranges.append((from_date, to_date)) + + elif options["full_history"]: + # Full history - go back 5 years + self.stdout.write( + self.style.WARNING("Full history import requested. This will import data for the last 5 years.") + ) + for i in range(60): # 5 years = 60 months + target_month = now.month - i + target_year = now.year + + while target_month <= 0: + target_month += 12 + target_year -= 1 + + from_date = datetime(target_year, target_month, 1) + last_day = monthrange(target_year, target_month)[1] + to_date = datetime(target_year, target_month, last_day, 23, 59, 59) + ranges.append((from_date, to_date)) + + else: + # Default: previous month + if now.month == 1: + prev_month = 12 + prev_year = now.year - 1 + else: + prev_month = now.month - 1 + prev_year = now.year + + from_date = datetime(prev_year, prev_month, 1) + last_day = monthrange(prev_year, prev_month)[1] + to_date = datetime(prev_year, prev_month, last_day, 23, 59, 59) + ranges.append((from_date, to_date)) + + return ranges + + def _process_ratings(self, ratings_list: List[dict], from_date: datetime, to_date: datetime) -> dict: + """Process list of ratings from HIS.""" + stats = { + "total": len(ratings_list), + "success": 0, + "failed": 0, + "duplicates": 0, + "staff_matched": 0, + "errors": [], + } + + # Create import job + if not self.dry_run: + # Find first hospital to create job + first_hospital = Hospital.objects.first() + if first_hospital: + job = DoctorRatingImportJob.objects.create( + name=f"HIS Import {from_date.strftime('%Y-%m')}", + status=DoctorRatingImportJob.JobStatus.PROCESSING, + source=DoctorRatingImportJob.JobSource.HIS_API, + hospital=first_hospital, + total_records=len(ratings_list), + started_at=timezone.now(), + ) + else: + job = None + else: + job = None + + for idx, rating_data in enumerate(ratings_list, 1): + # Progress indicator + if idx % 100 == 0 or idx == len(ratings_list): + self.stdout.write(f" Processed {idx}/{len(ratings_list)}...") + + try: + # Find hospital by name + hospital_name = rating_data.get("HospitalName", "") + hospital = Hospital.objects.filter(name__iexact=hospital_name).first() + + if not hospital: + # Try partial match + hospital = Hospital.objects.filter(name__icontains=hospital_name).first() + + if not hospital: + stats["failed"] += 1 + stats["errors"].append( + {"row": idx, "error": f"Hospital not found: {hospital_name}", "data": rating_data} + ) + continue + + if self.dry_run: + # Check if would be duplicate + doctor_id = rating_data.get("DoctorID", "") + rating_date_str = rating_data.get("RatingDate", "") + rating_date = DoctorRatingAdapter.parse_date(rating_date_str) + + if doctor_id and rating_date: + existing = PhysicianIndividualRating.objects.filter( + doctor_id=doctor_id, rating_date=rating_date, hospital=hospital + ).exists() + + if existing: + stats["duplicates"] += 1 + else: + stats["success"] += 1 + else: + stats["failed"] += 1 + else: + # Process the rating + result = DoctorRatingAdapter.process_his_rating_record(rating_data, hospital) + + if result["is_duplicate"]: + stats["duplicates"] += 1 + elif result["success"]: + stats["success"] += 1 + if result["staff_matched"]: + stats["staff_matched"] += 1 + else: + stats["failed"] += 1 + stats["errors"].append( + {"row": idx, "error": result.get("message", "Unknown error"), "data": rating_data} + ) + + except Exception as e: + stats["failed"] += 1 + stats["errors"].append({"row": idx, "error": str(e), "data": rating_data}) + logger.error(f"Error processing rating {idx}: {e}", exc_info=True) + + # Update job status + if job: + job.processed_count = stats["total"] + job.success_count = stats["success"] + job.failed_count = stats["failed"] + job.completed_at = timezone.now() + + if stats["failed"] == 0: + job.status = DoctorRatingImportJob.JobStatus.COMPLETED + elif stats["success"] == 0: + job.status = DoctorRatingImportJob.JobStatus.FAILED + else: + job.status = DoctorRatingImportJob.JobStatus.PARTIAL + + job.results = { + "stats": stats, + "errors": stats["errors"][:50], # Limit errors stored + } + job.save() + + return stats + + def _print_month_summary(self, month_label: str, stats: dict): + """Print summary for a month.""" + self.stdout.write(f"\n{'-' * 60}") + self.stdout.write(f"Summary for {month_label}:") + self.stdout.write(f" Total ratings: {stats['total']}") + self.stdout.write(self.style.SUCCESS(f" Successful: {stats['success']}")) + self.stdout.write(self.style.WARNING(f" Duplicates skipped: {stats['duplicates']}")) + self.stdout.write(self.style.ERROR(f" Failed: {stats['failed']}")) + if stats["success"] > 0: + match_pct = (stats["staff_matched"] / stats["success"]) * 100 + self.stdout.write(f" Staff matched: {stats['staff_matched']} ({match_pct:.1f}%)") + self.stdout.write(f"{'-' * 60}\n") + + def _print_final_summary(self, stats: dict): + """Print final summary.""" + self.stdout.write(f"\n{'=' * 60}") + self.stdout.write("FINAL SUMMARY") + self.stdout.write(f"{'=' * 60}") + self.stdout.write(f"Total months processed: {stats['total_months']}") + self.stdout.write(f"Total ratings processed: {stats['total_ratings']}") + self.stdout.write(self.style.SUCCESS(f"Total successful: {stats['success']}")) + self.stdout.write(self.style.WARNING(f"Total duplicates: {stats['duplicates']}")) + self.stdout.write(self.style.ERROR(f"Total failed: {stats['failed']}")) + if stats["success"] > 0: + match_pct = (stats["staff_matched"] / stats["success"]) * 100 + self.stdout.write(f"Total staff matched: {stats['staff_matched']} ({match_pct:.1f}%)") + self.stdout.write(f"{'=' * 60}\n") diff --git a/apps/physicians/models.py b/apps/physicians/models.py index da1c302..cdd33d8 100644 --- a/apps/physicians/models.py +++ b/apps/physicians/models.py @@ -7,6 +7,7 @@ This module implements physician performance tracking: - Leaderboards - HIS Doctor Rating imports """ + from django.db import models from apps.core.models import TimeStampedModel, UUIDModel @@ -18,58 +19,36 @@ class PhysicianMonthlyRating(UUIDModel, TimeStampedModel): Calculated monthly from all surveys mentioning this physician. """ - staff = models.ForeignKey( - 'organizations.Staff', - on_delete=models.CASCADE, - related_name='monthly_ratings' - ) + + staff = models.ForeignKey("organizations.Staff", on_delete=models.CASCADE, related_name="monthly_ratings") # Time period year = models.IntegerField(db_index=True) month = models.IntegerField(db_index=True, help_text="1-12") # Ratings - average_rating = models.DecimalField( - max_digits=3, - decimal_places=2, - help_text="Average rating (1-5)" - ) - total_surveys = models.IntegerField( - help_text="Number of surveys included" - ) + average_rating = models.DecimalField(max_digits=3, decimal_places=2, help_text="Average rating (1-5)") + total_surveys = models.IntegerField(help_text="Number of surveys included") positive_count = models.IntegerField(default=0) neutral_count = models.IntegerField(default=0) negative_count = models.IntegerField(default=0) # Breakdown by journey stage - md_consult_rating = models.DecimalField( - max_digits=3, - decimal_places=2, - null=True, - blank=True - ) + md_consult_rating = models.DecimalField(max_digits=3, decimal_places=2, null=True, blank=True) # Ranking - hospital_rank = models.IntegerField( - null=True, - blank=True, - help_text="Rank within hospital" - ) - department_rank = models.IntegerField( - null=True, - blank=True, - help_text="Rank within department" - ) + hospital_rank = models.IntegerField(null=True, blank=True, help_text="Rank within hospital") + department_rank = models.IntegerField(null=True, blank=True, help_text="Rank within department") # Metadata metadata = models.JSONField(default=dict, blank=True) class Meta: - ordering = ['-year', '-month', '-average_rating'] - unique_together = [['staff', 'year', 'month']] + ordering = ["-year", "-month", "-average_rating"] + unique_together = [["staff", "year", "month"]] indexes = [ - models.Index(fields=['staff', '-year', '-month']), - models.Index(fields=['year', 'month', '-average_rating']), + models.Index(fields=["staff", "-year", "-month"]), + models.Index(fields=["year", "month", "-average_rating"]), ] def __str__(self): @@ -79,120 +58,84 @@ class PhysicianMonthlyRating(UUIDModel, TimeStampedModel): class PhysicianIndividualRating(UUIDModel, TimeStampedModel): """ Individual physician rating from HIS or manual import. - + Stores each individual patient rating before aggregation. Source can be HIS integration, CSV import, or manual entry. """ + class RatingSource(models.TextChoices): - HIS_API = 'his_api', 'HIS API' - CSV_IMPORT = 'csv_import', 'CSV Import' - MANUAL = 'manual', 'Manual Entry' + HIS_API = "his_api", "HIS API" + CSV_IMPORT = "csv_import", "CSV Import" + MANUAL = "manual", "Manual Entry" class PatientType(models.TextChoices): - INPATIENT = 'IP', 'Inpatient' - OUTPATIENT = 'OP', 'Outpatient' - EMERGENCY = 'ER', 'Emergency' - DAYCASE = 'DC', 'Day Case' + INPATIENT = "IP", "Inpatient" + OUTPATIENT = "OP", "Outpatient" + EMERGENCY = "ER", "Emergency" + DAYCASE = "DC", "Day Case" # Links staff = models.ForeignKey( - 'organizations.Staff', + "organizations.Staff", on_delete=models.CASCADE, - related_name='individual_ratings', + related_name="individual_ratings", null=True, blank=True, - help_text="Linked staff record (if matched)" - ) - hospital = models.ForeignKey( - 'organizations.Hospital', - on_delete=models.CASCADE, - related_name='physician_ratings' + help_text="Linked staff record (if matched)", ) + hospital = models.ForeignKey("organizations.Hospital", on_delete=models.CASCADE, related_name="physician_ratings") # Source tracking - source = models.CharField( - max_length=20, - choices=RatingSource.choices, - default=RatingSource.MANUAL - ) + source = models.CharField(max_length=20, choices=RatingSource.choices, default=RatingSource.MANUAL) source_reference = models.CharField( - max_length=100, - blank=True, - help_text="Reference ID from source system (e.g., HIS record ID)" + max_length=100, blank=True, help_text="Reference ID from source system (e.g., HIS record ID)" ) # Doctor information (as received from source) - doctor_name_raw = models.CharField( - max_length=300, - help_text="Doctor name as received (may include ID prefix)" - ) + doctor_name_raw = models.CharField(max_length=300, help_text="Doctor name as received (may include ID prefix)") doctor_id = models.CharField( - max_length=50, - blank=True, - db_index=True, - help_text="Doctor ID extracted from source (e.g., '10738')" - ) - doctor_name = models.CharField( - max_length=200, - blank=True, - help_text="Clean doctor name without ID" - ) - department_name = models.CharField( - max_length=200, - blank=True, - help_text="Department name from source" + max_length=50, blank=True, db_index=True, help_text="Doctor ID extracted from source (e.g., '10738')" ) + doctor_name = models.CharField(max_length=200, blank=True, help_text="Clean doctor name without ID") + department_name = models.CharField(max_length=200, blank=True, help_text="Department name from source") - # Patient information + # Patient information (optional - HIS ratings don't include patient data) patient_uhid = models.CharField( - max_length=100, - db_index=True, - help_text="Patient UHID/MRN" - ) - patient_name = models.CharField(max_length=300) - patient_gender = models.CharField(max_length=20, blank=True) - patient_age = models.CharField(max_length=50, blank=True) - patient_nationality = models.CharField(max_length=100, blank=True) - patient_phone = models.CharField(max_length=30, blank=True) - patient_type = models.CharField( - max_length=10, - choices=PatientType.choices, - blank=True + max_length=100, blank=True, null=True, db_index=True, help_text="Patient UHID/MRN (optional for HIS ratings)" ) + patient_name = models.CharField(max_length=300, blank=True, null=True) + patient_gender = models.CharField(max_length=20, blank=True, default="") + patient_age = models.CharField(max_length=50, blank=True, default="") + patient_nationality = models.CharField(max_length=100, blank=True, default="") + patient_phone = models.CharField(max_length=30, blank=True, default="") + patient_type = models.CharField(max_length=10, choices=PatientType.choices, blank=True, null=True) # Visit dates admit_date = models.DateTimeField(null=True, blank=True) discharge_date = models.DateTimeField(null=True, blank=True) # Rating data - rating = models.IntegerField( - help_text="Rating from 1-5" - ) + rating = models.IntegerField(help_text="Rating from 1-5") feedback = models.TextField(blank=True) rating_date = models.DateTimeField() # Aggregation tracking is_aggregated = models.BooleanField( - default=False, - help_text="Whether this rating has been included in monthly aggregation" + default=False, help_text="Whether this rating has been included in monthly aggregation" ) aggregated_at = models.DateTimeField(null=True, blank=True) # Metadata - metadata = models.JSONField( - default=dict, - blank=True, - help_text="Additional data from source" - ) + metadata = models.JSONField(default=dict, blank=True, help_text="Additional data from source") class Meta: - ordering = ['-rating_date', '-created_at'] + ordering = ["-rating_date", "-created_at"] indexes = [ - models.Index(fields=['hospital', '-rating_date']), - models.Index(fields=['staff', '-rating_date']), - models.Index(fields=['doctor_id', '-rating_date']), - models.Index(fields=['is_aggregated', 'rating_date']), - models.Index(fields=['patient_uhid', '-rating_date']), + models.Index(fields=["hospital", "-rating_date"]), + models.Index(fields=["staff", "-rating_date"]), + models.Index(fields=["doctor_id", "-rating_date"]), + models.Index(fields=["is_aggregated", "rating_date"]), + models.Index(fields=["patient_uhid", "-rating_date"]), ] def __str__(self): @@ -203,41 +146,28 @@ class DoctorRatingImportJob(UUIDModel, TimeStampedModel): """ Tracks bulk doctor rating import jobs (CSV or API batch). """ + class JobStatus(models.TextChoices): - PENDING = 'pending', 'Pending' - PROCESSING = 'processing', 'Processing' - COMPLETED = 'completed', 'Completed' - FAILED = 'failed', 'Failed' - PARTIAL = 'partial', 'Partial Success' + PENDING = "pending", "Pending" + PROCESSING = "processing", "Processing" + COMPLETED = "completed", "Completed" + FAILED = "failed", "Failed" + PARTIAL = "partial", "Partial Success" class JobSource(models.TextChoices): - HIS_API = 'his_api', 'HIS API' - CSV_UPLOAD = 'csv_upload', 'CSV Upload' + HIS_API = "his_api", "HIS API" + CSV_UPLOAD = "csv_upload", "CSV Upload" # Job info name = models.CharField(max_length=200) - status = models.CharField( - max_length=20, - choices=JobStatus.choices, - default=JobStatus.PENDING - ) - source = models.CharField( - max_length=20, - choices=JobSource.choices - ) + status = models.CharField(max_length=20, choices=JobStatus.choices, default=JobStatus.PENDING) + source = models.CharField(max_length=20, choices=JobSource.choices) # User & Organization created_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - related_name='doctor_rating_jobs' - ) - hospital = models.ForeignKey( - 'organizations.Hospital', - on_delete=models.CASCADE, - related_name='doctor_rating_jobs' + "accounts.User", on_delete=models.SET_NULL, null=True, related_name="doctor_rating_jobs" ) + hospital = models.ForeignKey("organizations.Hospital", on_delete=models.CASCADE, related_name="doctor_rating_jobs") # Progress tracking total_records = models.IntegerField(default=0) @@ -251,22 +181,14 @@ class DoctorRatingImportJob(UUIDModel, TimeStampedModel): completed_at = models.DateTimeField(null=True, blank=True) # Results - results = models.JSONField( - default=dict, - blank=True, - help_text="Processing results and errors" - ) + results = models.JSONField(default=dict, blank=True, help_text="Processing results and errors") error_message = models.TextField(blank=True) # Raw data storage (for CSV uploads) - raw_data = models.JSONField( - default=list, - blank=True, - help_text="Stored raw data for processing" - ) + raw_data = models.JSONField(default=list, blank=True, help_text="Stored raw data for processing") class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] def __str__(self): return f"{self.name} - {self.status}" diff --git a/apps/physicians/tasks.py b/apps/physicians/tasks.py index 433a439..867ef00 100644 --- a/apps/physicians/tasks.py +++ b/apps/physicians/tasks.py @@ -6,6 +6,7 @@ Background tasks for: - Monthly aggregation of ratings - Ranking updates """ + import logging from celery import shared_task @@ -23,55 +24,52 @@ logger = logging.getLogger(__name__) def process_doctor_rating_job(self, job_id: str): """ Process a doctor rating import job in the background. - + This task is called when a bulk import is queued (from API or CSV upload). """ try: job = DoctorRatingImportJob.objects.get(id=job_id) except DoctorRatingImportJob.DoesNotExist: logger.error(f"Doctor rating import job {job_id} not found") - return {'error': 'Job not found'} - + return {"error": "Job not found"} + try: # Update job status job.status = DoctorRatingImportJob.JobStatus.PROCESSING job.started_at = timezone.now() job.save() - + logger.info(f"Starting doctor rating import job {job_id}: {job.total_records} records") - + # Get raw data records = job.raw_data hospital = job.hospital - + # Process through adapter - results = DoctorRatingAdapter.process_bulk_ratings( - records=records, - hospital=hospital, - job=job + results = DoctorRatingAdapter.process_bulk_ratings(records=records, hospital=hospital, job=job) + + logger.info( + f"Completed doctor rating import job {job_id}: {results['success']} success, {results['failed']} failed" ) - - logger.info(f"Completed doctor rating import job {job_id}: " - f"{results['success']} success, {results['failed']} failed") - + return { - 'job_id': job_id, - 'total': results['total'], - 'success': results['success'], - 'failed': results['failed'], - 'skipped': results['skipped'], - 'staff_matched': results['staff_matched'] + "job_id": job_id, + "total": results["total"], + "success": results["success"], + "failed": results["failed"], + "skipped": results["skipped"], + "staff_matched": results["staff_matched"], } - + except Exception as exc: logger.error(f"Error processing doctor rating job {job_id}: {str(exc)}", exc_info=True) - + # Update job status job.status = DoctorRatingImportJob.JobStatus.FAILED job.error_message = str(exc) job.completed_at = timezone.now() job.save() - + # Retry raise self.retry(exc=exc) @@ -80,7 +78,7 @@ def process_doctor_rating_job(self, job_id: str): def aggregate_monthly_ratings_task(self, year: int, month: int, hospital_id: str = None): """ Aggregate individual ratings into monthly summaries. - + Args: year: Year to aggregate month: Month to aggregate (1-12) @@ -88,41 +86,38 @@ def aggregate_monthly_ratings_task(self, year: int, month: int, hospital_id: str """ try: logger.info(f"Starting monthly aggregation for {year}-{month:02d}") - + hospital = None if hospital_id: try: hospital = Hospital.objects.get(id=hospital_id) except Hospital.DoesNotExist: logger.error(f"Hospital {hospital_id} not found") - return {'error': 'Hospital not found'} - + return {"error": "Hospital not found"} + # Run aggregation - results = DoctorRatingAdapter.aggregate_monthly_ratings( - year=year, - month=month, - hospital=hospital + results = DoctorRatingAdapter.aggregate_monthly_ratings(year=year, month=month, hospital=hospital) + + logger.info( + f"Completed monthly aggregation for {year}-{month:02d}: {results['aggregated']} physicians aggregated" ) - - logger.info(f"Completed monthly aggregation for {year}-{month:02d}: " - f"{results['aggregated']} physicians aggregated") - + # Calculate rankings after aggregation if hospital: update_hospital_rankings.delay(year, month, hospital_id) else: # Update rankings for all hospitals - for h in Hospital.objects.filter(status='active'): + for h in Hospital.objects.filter(status="active"): update_hospital_rankings.delay(year, month, str(h.id)) - + return { - 'year': year, - 'month': month, - 'hospital_id': hospital_id, - 'aggregated': results['aggregated'], - 'errors': len(results['errors']) + "year": year, + "month": month, + "hospital_id": hospital_id, + "aggregated": results["aggregated"], + "errors": len(results["errors"]), } - + except Exception as exc: logger.error(f"Error aggregating monthly ratings: {str(exc)}", exc_info=True) raise self.retry(exc=exc) @@ -132,51 +127,49 @@ def aggregate_monthly_ratings_task(self, year: int, month: int, hospital_id: str def update_hospital_rankings(self, year: int, month: int, hospital_id: str): """ Update hospital and department rankings for physicians. - + This should be called after monthly aggregation is complete. """ try: from django.db.models import Window, F from django.db.models.functions import RowNumber - + hospital = Hospital.objects.get(id=hospital_id) - + logger.info(f"Updating rankings for {hospital.name} - {year}-{month:02d}") - + # Get all ratings for this hospital and period ratings = PhysicianMonthlyRating.objects.filter( - staff__hospital=hospital, - year=year, - month=month - ).select_related('staff', 'staff__department') - + staff__hospital=hospital, year=year, month=month + ).select_related("staff", "staff__department") + # Update hospital rankings (order by average_rating desc) - hospital_rankings = list(ratings.order_by('-average_rating')) + hospital_rankings = list(ratings.order_by("-average_rating")) for rank, rating in enumerate(hospital_rankings, start=1): rating.hospital_rank = rank - rating.save(update_fields=['hospital_rank']) - + rating.save(update_fields=["hospital_rank"]) + # Update department rankings from apps.organizations.models import Department + departments = Department.objects.filter(hospital=hospital) - + for dept in departments: - dept_ratings = ratings.filter(staff__department=dept).order_by('-average_rating') + dept_ratings = ratings.filter(staff__department=dept).order_by("-average_rating") for rank, rating in enumerate(dept_ratings, start=1): rating.department_rank = rank - rating.save(update_fields=['department_rank']) - - logger.info(f"Updated rankings for {hospital.name}: " - f"{len(hospital_rankings)} physicians ranked") - + rating.save(update_fields=["department_rank"]) + + logger.info(f"Updated rankings for {hospital.name}: {len(hospital_rankings)} physicians ranked") + return { - 'hospital_id': hospital_id, - 'hospital_name': hospital.name, - 'year': year, - 'month': month, - 'total_ranked': len(hospital_rankings) + "hospital_id": hospital_id, + "hospital_name": hospital.name, + "year": year, + "month": month, + "total_ranked": len(hospital_rankings), } - + except Exception as exc: logger.error(f"Error updating rankings: {str(exc)}", exc_info=True) raise self.retry(exc=exc) @@ -186,76 +179,234 @@ def update_hospital_rankings(self, year: int, month: int, hospital_id: str): def auto_aggregate_daily(): """ Daily task to automatically aggregate unaggregated ratings. - + This task should be scheduled to run daily to keep monthly ratings up-to-date. """ try: logger.info("Starting daily auto-aggregation of doctor ratings") - + # Find months with unaggregated ratings - unaggregated = PhysicianIndividualRating.objects.filter( - is_aggregated=False - ).values('rating_date__year', 'rating_date__month').distinct() - + unaggregated = ( + PhysicianIndividualRating.objects.filter(is_aggregated=False) + .values("rating_date__year", "rating_date__month") + .distinct() + ) + aggregated_count = 0 for item in unaggregated: - year = item['rating_date__year'] - month = item['rating_date__month'] - + year = item["rating_date__year"] + month = item["rating_date__month"] + # Aggregate for each hospital separately - hospitals_with_ratings = PhysicianIndividualRating.objects.filter( - is_aggregated=False, - rating_date__year=year, - rating_date__month=month - ).values_list('hospital', flat=True).distinct() - - for hospital_id in hospitals_with_ratings: - results = DoctorRatingAdapter.aggregate_monthly_ratings( - year=year, - month=month, - hospital_id=hospital_id + hospitals_with_ratings = ( + PhysicianIndividualRating.objects.filter( + is_aggregated=False, rating_date__year=year, rating_date__month=month ) - aggregated_count += results['aggregated'] - + .values_list("hospital", flat=True) + .distinct() + ) + + for hospital_id in hospitals_with_ratings: + results = DoctorRatingAdapter.aggregate_monthly_ratings(year=year, month=month, hospital_id=hospital_id) + aggregated_count += results["aggregated"] + logger.info(f"Daily auto-aggregation complete: {aggregated_count} physicians updated") - - return { - 'aggregated_count': aggregated_count - } - + + return {"aggregated_count": aggregated_count} + except Exception as e: logger.error(f"Error in daily auto-aggregation: {str(e)}", exc_info=True) - return {'error': str(e)} + return {"error": str(e)} @shared_task def cleanup_old_import_jobs(days: int = 30): """ Clean up old completed import jobs and their raw data. - + Args: days: Delete jobs older than this many days """ from datetime import timedelta - + cutoff_date = timezone.now() - timedelta(days=days) - + old_jobs = DoctorRatingImportJob.objects.filter( created_at__lt=cutoff_date, - status__in=[ - DoctorRatingImportJob.JobStatus.COMPLETED, - DoctorRatingImportJob.JobStatus.FAILED - ] + status__in=[DoctorRatingImportJob.JobStatus.COMPLETED, DoctorRatingImportJob.JobStatus.FAILED], ) - + count = old_jobs.count() - + # Clear raw data first to save space for job in old_jobs: if job.raw_data: job.raw_data = [] - job.save(update_fields=['raw_data']) - + job.save(update_fields=["raw_data"]) + logger.info(f"Cleaned up {count} old doctor rating import jobs") - - return {'cleaned_count': count} + + return {"cleaned_count": count} + + +@shared_task(bind=True, max_retries=3, default_retry_delay=300) +def fetch_his_doctor_ratings_monthly(self): + """ + Monthly task to fetch doctor ratings from HIS API. + + Runs on the 1st of each month to fetch the previous month's ratings. + Example: On March 1st, fetches all ratings from February 1-28/29. + + This task runs at 1:00 AM on the 1st of each month, before the + aggregation task which runs at 2:00 AM. + """ + from datetime import datetime + from calendar import monthrange + + try: + # Calculate previous month + now = timezone.now() + if now.month == 1: + target_year = now.year - 1 + target_month = 12 + else: + target_year = now.year + target_month = now.month - 1 + + month_label = f"{target_year}-{target_month:02d}" + logger.info(f"Starting monthly HIS doctor rating fetch for {month_label}") + + # Calculate date range for the month + from_date = datetime(target_year, target_month, 1) + last_day = monthrange(target_year, target_month)[1] + to_date = datetime(target_year, target_month, last_day, 23, 59, 59) + + # Initialize HIS client + from apps.integrations.services.his_client import HISClient + + client = HISClient() + + # Fetch ratings from HIS + his_data = client.fetch_doctor_ratings(from_date, to_date) + + if not his_data: + logger.error("Failed to fetch data from HIS API") + return {"success": False, "error": "Failed to fetch data from HIS API", "month": month_label} + + if his_data.get("Code") != 200: + error_msg = his_data.get("Message", "Unknown error") + logger.error(f"HIS API error: {error_msg}") + return {"success": False, "error": f"HIS API error: {error_msg}", "month": month_label} + + ratings_list = his_data.get("FetchDoctorRatingMAPI1List", []) + + if not ratings_list: + logger.info(f"No ratings found for {month_label}") + return { + "success": True, + "month": month_label, + "total_ratings": 0, + "message": "No ratings found for this period", + } + + logger.info(f"Fetched {len(ratings_list)} ratings from HIS for {month_label}") + + # Create import job for tracking + first_hospital = Hospital.objects.first() + if first_hospital: + job = DoctorRatingImportJob.objects.create( + name=f"Monthly HIS Import - {month_label}", + status=DoctorRatingImportJob.JobStatus.PROCESSING, + source=DoctorRatingImportJob.JobSource.HIS_API, + hospital=first_hospital, + total_records=len(ratings_list), + started_at=timezone.now(), + ) + else: + job = None + logger.warning("No hospitals found, creating ratings without import job") + + # Process ratings + stats = { + "total": len(ratings_list), + "success": 0, + "failed": 0, + "duplicates": 0, + "staff_matched": 0, + } + + for idx, rating_data in enumerate(ratings_list, 1): + try: + # Find hospital by name + hospital_name = rating_data.get("HospitalName", "") + hospital = Hospital.objects.filter(name__iexact=hospital_name).first() + + if not hospital: + hospital = Hospital.objects.filter(name__icontains=hospital_name).first() + + if not hospital: + stats["failed"] += 1 + logger.warning(f"Hospital not found: {hospital_name}") + continue + + # Process the rating + result = DoctorRatingAdapter.process_his_rating_record(rating_data, hospital) + + if result["is_duplicate"]: + stats["duplicates"] += 1 + elif result["success"]: + stats["success"] += 1 + if result["staff_matched"]: + stats["staff_matched"] += 1 + else: + stats["failed"] += 1 + logger.warning(f"Failed to process rating: {result.get('message')}") + + # Update job progress every 100 records + if job and idx % 100 == 0: + job.processed_count = idx + job.success_count = stats["success"] + job.failed_count = stats["failed"] + job.save() + logger.info(f"Progress: {idx}/{stats['total']} processed") + + except Exception as e: + stats["failed"] += 1 + logger.error(f"Error processing rating {idx}: {e}", exc_info=True) + + # Finalize job + if job: + job.processed_count = stats["total"] + job.success_count = stats["success"] + job.failed_count = stats["failed"] + job.completed_at = timezone.now() + + if stats["failed"] == 0: + job.status = DoctorRatingImportJob.JobStatus.COMPLETED + elif stats["success"] == 0: + job.status = DoctorRatingImportJob.JobStatus.FAILED + else: + job.status = DoctorRatingImportJob.JobStatus.PARTIAL + + job.results = {"stats": stats} + job.save() + + logger.info( + f"Completed monthly HIS doctor rating fetch for {month_label}: " + f"{stats['success']} success, {stats['failed']} failed, {stats['duplicates']} duplicates" + ) + + return { + "success": True, + "month": month_label, + "total_ratings": stats["total"], + "success_count": stats["success"], + "failed_count": stats["failed"], + "duplicate_count": stats["duplicates"], + "staff_matched_count": stats["staff_matched"], + } + + except Exception as exc: + logger.error(f"Error in monthly HIS doctor rating fetch: {exc}", exc_info=True) + # Retry the task + raise self.retry(exc=exc) diff --git a/apps/physicians/ui_views.py b/apps/physicians/ui_views.py index f01eeeb..6d3e427 100644 --- a/apps/physicians/ui_views.py +++ b/apps/physicians/ui_views.py @@ -122,9 +122,9 @@ def leaderboard(request): month = int(request.GET.get("month", now.month)) # Base queryset for ratings - queryset = PhysicianMonthlyRating.objects.filter( - year=year, month=month, staff__physician=True - ).select_related("staff", "staff__hospital", "staff__department") + queryset = PhysicianMonthlyRating.objects.filter(year=year, month=month, staff__physician=True).select_related( + "staff", "staff__hospital", "staff__department" + ) # Apply RBAC filters user = request.user @@ -204,6 +204,7 @@ def physician_ratings_dashboard(request): # Get departments for filter dropdown from apps.organizations.models import Department + if request.user.is_px_admin(): departments = Department.objects.filter(status="active").order_by("name") elif request.user.hospital: @@ -536,7 +537,7 @@ def specialization_overview(request): def physician_detail(request, pk): """ Physician detail view - shows detailed information and ratings for a specific physician. - + Features: - Physician profile information - Monthly ratings history @@ -544,39 +545,39 @@ def physician_detail(request, pk): - Statistics and achievements """ from django.shortcuts import get_object_or_404 - + # Get the physician (staff member marked as physician) physician = get_object_or_404( - Staff.objects.filter(Q(physician=True) | Q(staff_type=Staff.StaffType.PHYSICIAN)) - .select_related('hospital', 'department'), - pk=pk + Staff.objects.filter(Q(physician=True) | Q(staff_type=Staff.StaffType.PHYSICIAN)).select_related( + "hospital", "department" + ), + pk=pk, ) - + # Check permissions user = request.user if not user.is_px_admin() and user.hospital and physician.hospital != user.hospital: from django.core.exceptions import PermissionDenied + raise PermissionDenied("You don't have permission to view this physician.") - + # Get all monthly ratings for this physician - ratings = PhysicianMonthlyRating.objects.filter( - staff=physician - ).order_by('-year', '-month') - + ratings = PhysicianMonthlyRating.objects.filter(staff=physician).order_by("-year", "-month") + # Get current month rating now = timezone.now() current_rating = ratings.filter(year=now.year, month=now.month).first() - + # Calculate statistics stats = ratings.aggregate( - total_months=Count('id'), - average_rating=Avg('average_rating'), - total_surveys=Sum('total_surveys'), - total_positive=Sum('positive_count'), - total_neutral=Sum('neutral_count'), - total_negative=Sum('negative_count'), + total_months=Count("id"), + average_rating=Avg("average_rating"), + total_surveys=Sum("total_surveys"), + total_positive=Sum("positive_count"), + total_neutral=Sum("neutral_count"), + total_negative=Sum("negative_count"), ) - + # Get trend data (last 12 months) trend_data = [] for i in range(11, -1, -1): @@ -585,23 +586,25 @@ def physician_detail(request, pk): if m <= 0: m += 12 y -= 1 - + rating = ratings.filter(year=y, month=m).first() - trend_data.append({ - 'period': f"{y}-{m:02d}", - 'rating': float(rating.average_rating) if rating else None, - 'surveys': rating.total_surveys if rating else 0, - }) - + trend_data.append( + { + "period": f"{y}-{m:02d}", + "rating": float(rating.average_rating) if rating else None, + "surveys": rating.total_surveys if rating else 0, + } + ) + context = { - 'physician': physician, - 'current_rating': current_rating, - 'ratings': ratings[:12], # Last 12 months - 'stats': stats, - 'trend_data': trend_data, + "physician": physician, + "current_rating": current_rating, + "ratings": ratings[:12], # Last 12 months + "stats": stats, + "trend_data": trend_data, } - - return render(request, 'physicians/physician_detail.html', context) + + return render(request, "physicians/physician_detail.html", context) @login_required @@ -691,3 +694,111 @@ def department_overview(request): } return render(request, "physicians/department_overview.html", context) + + +@login_required +def ratings_export(request): + """Export physician monthly ratings (Step 1 - Calculations format).""" + from django.core.exceptions import PermissionDenied + + if not (request.user.is_px_admin() or request.user.is_hospital_admin()): + raise PermissionDenied + + from .models import PhysicianMonthlyRating + from openpyxl import Workbook + from openpyxl.styles import Font, PatternFill, Alignment, Border, Side + from django.http import HttpResponse + + year = request.GET.get("year") + month = request.GET.get("month") + quarter = request.GET.get("quarter") + patient_type = request.GET.get("patient_type", "OP") + + qs = PhysicianMonthlyRating.objects.select_related("staff", "staff__department", "staff__hospital") + + if year: + qs = qs.filter(year=int(year)) + if month: + qs = qs.filter(month=int(month)) + elif quarter: + quarter_months = {1: (1, 3), 2: (4, 6), 3: (7, 9), 4: (10, 12)} + start_m, end_m = quarter_months[int(quarter)] + qs = qs.filter(month__gte=start_m, month__lte=end_m) + + if request.user.is_hospital_admin() and request.user.hospital: + qs = qs.filter(staff__hospital=request.user.hospital) + elif request.user.is_px_admin() and request.tenant_hospital: + qs = qs.filter(staff__hospital=request.tenant_hospital) + + qs = qs.order_by("-average_rating") + + wb = Workbook() + ws = wb.active + label = f"Q{quarter}-{year}" if quarter else f"{year}-{month}" if month else f"{year}" if year else "all" + ws.title = f"Ratings {label}" + + header_font = Font(bold=True, color="FFFFFF") + header_fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid") + thin_border = Border( + left=Side(style="thin"), + right=Side(style="thin"), + top=Side(style="thin"), + bottom=Side(style="thin"), + ) + + headers = [ + "Clinic/Department", + "Doctor ID", + "Doctor Name", + "Total Ratings", + "Average Rating", + "1-Star", + "2-Star", + "3-Star", + "4-Star", + "5-Star", + "1-Star %", + "2-Star %", + "3-Star %", + "4-Star %", + "5-Star %", + ] + for col, h in enumerate(headers, 1): + cell = ws.cell(row=1, column=col, value=h) + cell.font = header_font + cell.fill = header_fill + cell.border = thin_border + cell.alignment = Alignment(horizontal="center") + + row = 2 + for rating in qs: + total = rating.total_surveys or 1 + dept = rating.staff.department.name if rating.staff.department else "" + doc_id = rating.staff.license_number or "" + doc_name = rating.staff.get_full_name() + + star_counts = [ + rating.negative_count or 0, + 0, + rating.neutral_count or 0, + rating.positive_count or 0, + 0, + ] + star_pcts = [round(c / total * 100, 1) for c in star_counts] + + vals = [dept, doc_id, doc_name, total, float(rating.average_rating)] + star_counts + star_pcts + for col, val in enumerate(vals, 1): + cell = ws.cell(row=row, column=col, value=val) + cell.border = thin_border + row += 1 + + ws.column_dimensions["A"].width = 30 + ws.column_dimensions["B"].width = 15 + ws.column_dimensions["C"].width = 30 + for c in "DEFGHIJKLMNO": + ws.column_dimensions[c].width = 12 + + response = HttpResponse(content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + response["Content-Disposition"] = f'attachment; filename="physician_ratings_{patient_type}_{label}.xlsx"' + wb.save(response) + return response diff --git a/apps/physicians/urls.py b/apps/physicians/urls.py index e094f03..313d027 100644 --- a/apps/physicians/urls.py +++ b/apps/physicians/urls.py @@ -1,63 +1,57 @@ """ Physicians URL Configuration """ + from django.urls import path from rest_framework.routers import DefaultRouter from . import api_views, import_views, ui_views, views -app_name = 'physicians' +app_name = "physicians" # API Router router = DefaultRouter() -router.register(r'api/physicians', views.PhysicianViewSet, basename='physician') -router.register(r'api/physicians/ratings', views.PhysicianMonthlyRatingViewSet, basename='physician-rating') +router.register(r"api/physicians", views.PhysicianViewSet, basename="physician") +router.register(r"api/physicians/ratings", views.PhysicianMonthlyRatingViewSet, basename="physician-rating") # UI URL patterns urlpatterns = [ # Overview pages - path('overview/specialization/', ui_views.specialization_overview, name='specialization_overview'), - path('overview/department/', ui_views.department_overview, name='department_overview'), - + path("overview/specialization/", ui_views.specialization_overview, name="specialization_overview"), + path("overview/department/", ui_views.department_overview, name="department_overview"), # Physician management - path('', ui_views.physician_list, name='physician_list'), - path('/', ui_views.physician_detail, name='physician_detail'), - + path("", ui_views.physician_list, name="physician_list"), + path("/", ui_views.physician_detail, name="physician_detail"), # Leaderboard - path('leaderboard/', ui_views.leaderboard, name='leaderboard'), - + path("leaderboard/", ui_views.leaderboard, name="leaderboard"), # Dashboard - path('dashboard/', ui_views.physician_ratings_dashboard, name='physician_ratings_dashboard'), - path('api/dashboard/', ui_views.physician_ratings_dashboard_api, name='physician_ratings_dashboard_api'), - + path("dashboard/", ui_views.physician_ratings_dashboard, name="physician_ratings_dashboard"), + path("api/dashboard/", ui_views.physician_ratings_dashboard_api, name="physician_ratings_dashboard_api"), # Monthly Ratings - path('ratings/', ui_views.ratings_list, name='ratings_list'), - + path("ratings/", ui_views.ratings_list, name="ratings_list"), + path("ratings/export/", ui_views.ratings_export, name="ratings_export"), # Individual Ratings & Import - path('individual-ratings/', import_views.individual_ratings_list, name='individual_ratings_list'), - + path("individual-ratings/", import_views.individual_ratings_list, name="individual_ratings_list"), # Doctor Rating Import (CSV Upload) - path('import/', import_views.doctor_rating_import, name='doctor_rating_import'), - path('import/review/', import_views.doctor_rating_review, name='doctor_rating_review'), - path('import/jobs/', import_views.doctor_rating_job_list, name='doctor_rating_job_list'), - path('import/jobs//', import_views.doctor_rating_job_status, name='doctor_rating_job_status'), - + path("import/", import_views.doctor_rating_import, name="doctor_rating_import"), + path("import/review/", import_views.doctor_rating_review, name="doctor_rating_review"), + path("import/jobs/", import_views.doctor_rating_job_list, name="doctor_rating_job_list"), + path("import/jobs//", import_views.doctor_rating_job_status, name="doctor_rating_job_status"), # API Endpoints for Doctor Rating Import # Single rating import (authenticated) - path('api/ratings/import/single/', api_views.import_single_rating, name='api_import_single_rating'), + path("api/ratings/import/single/", api_views.import_single_rating, name="api_import_single_rating"), # Bulk rating import (authenticated, background processing) - path('api/ratings/import/bulk/', api_views.import_bulk_ratings, name='api_import_bulk_ratings'), + path("api/ratings/import/bulk/", api_views.import_bulk_ratings, name="api_import_bulk_ratings"), # Import job status - path('api/ratings/import/jobs/', api_views.import_job_list, name='api_import_job_list'), - path('api/ratings/import/jobs//', api_views.import_job_status, name='api_import_job_status'), + path("api/ratings/import/jobs/", api_views.import_job_list, name="api_import_job_list"), + path("api/ratings/import/jobs//", api_views.import_job_status, name="api_import_job_status"), # HIS-compatible endpoint (for direct HIS integration) - path('api/ratings/his/', api_views.his_doctor_rating_handler, name='api_his_doctor_rating'), + path("api/ratings/his/", api_views.his_doctor_rating_handler, name="api_his_doctor_rating"), # Trigger monthly aggregation - path('api/ratings/aggregate/', api_views.trigger_monthly_aggregation, name='api_trigger_aggregation'), - + path("api/ratings/aggregate/", api_views.trigger_monthly_aggregation, name="api_trigger_aggregation"), # AJAX endpoints - path('api/jobs//progress/', import_views.api_job_progress, name='api_job_progress'), - path('api/match-doctor/', import_views.api_match_doctor, name='api_match_doctor'), + path("api/jobs//progress/", import_views.api_job_progress, name="api_job_progress"), + path("api/match-doctor/", import_views.api_match_doctor, name="api_match_doctor"), ] # Add API routes diff --git a/apps/px_action_center/admin.py b/apps/px_action_center/admin.py index 994fbdc..68343d2 100644 --- a/apps/px_action_center/admin.py +++ b/apps/px_action_center/admin.py @@ -1,286 +1,257 @@ """ PX Action Center admin """ + from django.contrib import admin -from django.utils.html import format_html +from django.utils.html import format_html, mark_safe from .models import PXAction, PXActionAttachment, PXActionLog, PXActionSLAConfig, RoutingRule class PXActionLogInline(admin.TabularInline): """Inline admin for action logs""" + model = PXActionLog extra = 1 - fields = ['log_type', 'message', 'created_by', 'created_at'] - readonly_fields = ['created_at'] - ordering = ['-created_at'] + fields = ["log_type", "message", "created_by", "created_at"] + readonly_fields = ["created_at"] + ordering = ["-created_at"] class PXActionAttachmentInline(admin.TabularInline): """Inline admin for action attachments""" + model = PXActionAttachment extra = 0 - fields = ['file', 'filename', 'is_evidence', 'uploaded_by', 'description'] - readonly_fields = ['file_size'] + fields = ["file", "filename", "is_evidence", "uploaded_by", "description"] + readonly_fields = ["file_size"] @admin.register(PXAction) class PXActionAdmin(admin.ModelAdmin): """PX Action admin""" + list_display = [ - 'title_preview', 'source_type', 'hospital', 'category', - 'severity_badge', 'status_badge', 'sla_indicator', - 'assigned_to', 'escalation_level', 'created_at' + "title_preview", + "source_type", + "hospital", + "category", + "severity_badge", + "status_badge", + "sla_indicator", + "assigned_to", + "escalation_level", + "created_at", ] list_filter = [ - 'status', 'source_type', 'severity', 'priority', 'category', - 'is_overdue', 'requires_approval', 'hospital', 'created_at' + "status", + "source_type", + "severity", + "priority", + "category", + "is_overdue", + "requires_approval", + "hospital", + "created_at", ] - search_fields = ['title', 'description', 'metadata'] - ordering = ['-created_at'] - date_hierarchy = 'created_at' + search_fields = ["title", "description", "metadata"] + ordering = ["-created_at"] + date_hierarchy = "created_at" inlines = [PXActionLogInline, PXActionAttachmentInline] - + fieldsets = ( - ('Source', { - 'fields': ('source_type', 'content_type', 'object_id') - }), - ('Action Details', { - 'fields': ('title', 'description', 'category') - }), - ('Organization', { - 'fields': ('hospital', 'department') - }), - ('Classification', { - 'fields': ('priority', 'severity') - }), - ('Status & Assignment', { - 'fields': ('status', 'assigned_to', 'assigned_at') - }), - ('SLA Tracking', { - 'fields': ('due_at', 'is_overdue', 'reminder_sent_at', 'escalated_at', 'escalation_level') - }), - ('Approval', { - 'fields': ('requires_approval', 'approved_by', 'approved_at') - }), - ('Closure', { - 'fields': ('closed_at', 'closed_by') - }), - ('Action Plan & Outcome', { - 'fields': ('action_plan', 'outcome'), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + ("Source", {"fields": ("source_type", "content_type", "object_id")}), + ("Action Details", {"fields": ("title", "description", "category")}), + ("Organization", {"fields": ("hospital", "department")}), + ("Classification", {"fields": ("priority", "severity")}), + ("Status & Assignment", {"fields": ("status", "assigned_to", "assigned_at")}), + ("SLA Tracking", {"fields": ("due_at", "is_overdue", "reminder_sent_at", "escalated_at", "escalation_level")}), + ("Approval", {"fields": ("requires_approval", "approved_by", "approved_at")}), + ("Closure", {"fields": ("closed_at", "closed_by")}), + ("Action Plan & Outcome", {"fields": ("action_plan", "outcome"), "classes": ("collapse",)}), + ("Metadata", {"fields": ("metadata", "created_at", "updated_at"), "classes": ("collapse",)}), ) - + readonly_fields = [ - 'assigned_at', 'reminder_sent_at', 'escalated_at', - 'approved_at', 'closed_at', - 'created_at', 'updated_at' + "assigned_at", + "reminder_sent_at", + "escalated_at", + "approved_at", + "closed_at", + "created_at", + "updated_at", ] - + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related( - 'hospital', 'department', 'assigned_to', - 'approved_by', 'closed_by', 'content_type' - ) - + return qs.select_related("hospital", "department", "assigned_to", "approved_by", "closed_by", "content_type") + def title_preview(self, obj): """Show preview of title""" - return obj.title[:60] + '...' if len(obj.title) > 60 else obj.title - title_preview.short_description = 'Title' - + return obj.title[:60] + "..." if len(obj.title) > 60 else obj.title + + title_preview.short_description = "Title" + def severity_badge(self, obj): """Display severity with color badge""" colors = { - 'low': 'info', - 'medium': 'warning', - 'high': 'danger', - 'critical': 'danger', + "low": "info", + "medium": "warning", + "high": "danger", + "critical": "danger", } - color = colors.get(obj.severity, 'secondary') - return format_html( - '{}', - color, - obj.get_severity_display() - ) - severity_badge.short_description = 'Severity' - + color = colors.get(obj.severity, "secondary") + return format_html('{}', color, obj.get_severity_display()) + + severity_badge.short_description = "Severity" + def status_badge(self, obj): """Display status with color badge""" colors = { - 'open': 'danger', - 'in_progress': 'warning', - 'pending_approval': 'info', - 'approved': 'success', - 'closed': 'success', - 'cancelled': 'secondary', + "open": "danger", + "in_progress": "warning", + "pending_approval": "info", + "approved": "success", + "closed": "success", + "cancelled": "secondary", } - color = colors.get(obj.status, 'secondary') - return format_html( - '{}', - color, - obj.get_status_display() - ) - status_badge.short_description = 'Status' - + color = colors.get(obj.status, "secondary") + return format_html('{}', color, obj.get_status_display()) + + status_badge.short_description = "Status" + def sla_indicator(self, obj): """Display SLA status""" if obj.is_overdue: - return format_html( - 'OVERDUE (Level {})', - obj.escalation_level - ) - + return format_html('OVERDUE (Level {})', obj.escalation_level) + from django.utils import timezone + time_remaining = obj.due_at - timezone.now() hours_remaining = time_remaining.total_seconds() / 3600 - + if hours_remaining < 4: - return format_html('DUE SOON') + return mark_safe('DUE SOON') else: - return format_html('ON TIME') - sla_indicator.short_description = 'SLA' + return mark_safe('ON TIME') + + sla_indicator.short_description = "SLA" @admin.register(PXActionLog) class PXActionLogAdmin(admin.ModelAdmin): """PX Action log admin""" - list_display = ['action', 'log_type', 'message_preview', 'created_by', 'created_at'] - list_filter = ['log_type', 'created_at'] - search_fields = ['message', 'action__title'] - ordering = ['-created_at'] - + + list_display = ["action", "log_type", "message_preview", "created_by", "created_at"] + list_filter = ["log_type", "created_at"] + search_fields = ["message", "action__title"] + ordering = ["-created_at"] + fieldsets = ( - (None, { - 'fields': ('action', 'log_type', 'message') - }), - ('Status Change', { - 'fields': ('old_status', 'new_status'), - 'classes': ('collapse',) - }), - ('Details', { - 'fields': ('created_by', 'metadata') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("action", "log_type", "message")}), + ("Status Change", {"fields": ("old_status", "new_status"), "classes": ("collapse",)}), + ("Details", {"fields": ("created_by", "metadata")}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('action', 'created_by') - + return qs.select_related("action", "created_by") + def message_preview(self, obj): """Show preview of message""" - return obj.message[:100] + '...' if len(obj.message) > 100 else obj.message - message_preview.short_description = 'Message' + return obj.message[:100] + "..." if len(obj.message) > 100 else obj.message + + message_preview.short_description = "Message" @admin.register(PXActionAttachment) class PXActionAttachmentAdmin(admin.ModelAdmin): """PX Action attachment admin""" - list_display = ['action', 'filename', 'is_evidence', 'file_size', 'uploaded_by', 'created_at'] - list_filter = ['is_evidence', 'file_type', 'created_at'] - search_fields = ['filename', 'description', 'action__title'] - ordering = ['-created_at'] - + + list_display = ["action", "filename", "is_evidence", "file_size", "uploaded_by", "created_at"] + list_filter = ["is_evidence", "file_type", "created_at"] + search_fields = ["filename", "description", "action__title"] + ordering = ["-created_at"] + fieldsets = ( - (None, { - 'fields': ('action', 'file', 'filename', 'file_type', 'file_size') - }), - ('Details', { - 'fields': ('is_evidence', 'uploaded_by', 'description') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("action", "file", "filename", "file_type", "file_size")}), + ("Details", {"fields": ("is_evidence", "uploaded_by", "description")}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['file_size', 'created_at', 'updated_at'] - + + readonly_fields = ["file_size", "created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('action', 'uploaded_by') + return qs.select_related("action", "uploaded_by") @admin.register(PXActionSLAConfig) class PXActionSLAConfigAdmin(admin.ModelAdmin): """PX Action SLA configuration admin""" + list_display = [ - 'name', 'hospital', 'department', - 'critical_hours', 'high_hours', 'medium_hours', 'low_hours', - 'auto_escalate', 'is_active' + "name", + "hospital", + "department", + "critical_hours", + "high_hours", + "medium_hours", + "low_hours", + "auto_escalate", + "is_active", ] - list_filter = ['is_active', 'auto_escalate', 'hospital'] - search_fields = ['name'] - ordering = ['hospital', 'name'] - + list_filter = ["is_active", "auto_escalate", "hospital"] + search_fields = ["name"] + ordering = ["hospital", "name"] + fieldsets = ( - (None, { - 'fields': ('name', 'hospital', 'department') - }), - ('SLA Durations (hours)', { - 'fields': ('critical_hours', 'high_hours', 'medium_hours', 'low_hours') - }), - ('Reminder Configuration', { - 'fields': ('reminder_hours_before',) - }), - ('Escalation Configuration', { - 'fields': ('auto_escalate', 'escalation_delay_hours') - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("name", "hospital", "department")}), + ("SLA Durations (hours)", {"fields": ("critical_hours", "high_hours", "medium_hours", "low_hours")}), + ("Reminder Configuration", {"fields": ("reminder_hours_before",)}), + ("Escalation Configuration", {"fields": ("auto_escalate", "escalation_delay_hours")}), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital', 'department') + return qs.select_related("hospital", "department") @admin.register(RoutingRule) class RoutingRuleAdmin(admin.ModelAdmin): """Routing rule admin""" + list_display = [ - 'name', 'source_type', 'category', 'severity', - 'hospital', 'assign_to_role', 'priority', 'is_active' + "name", + "source_type", + "category", + "severity", + "hospital", + "assign_to_role", + "priority", + "is_active", ] - list_filter = ['source_type', 'severity', 'is_active', 'hospital'] - search_fields = ['name', 'description'] - ordering = ['-priority', 'name'] - + list_filter = ["source_type", "severity", "is_active", "hospital"] + search_fields = ["name", "description"] + ordering = ["-priority", "name"] + fieldsets = ( - (None, { - 'fields': ('name', 'description', 'priority') - }), - ('Conditions', { - 'fields': ('source_type', 'category', 'severity', 'hospital', 'department') - }), - ('Routing Target', { - 'fields': ('assign_to_role', 'assign_to_user', 'assign_to_department') - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("name", "description", "priority")}), + ("Conditions", {"fields": ("source_type", "category", "severity", "hospital", "department")}), + ("Routing Target", {"fields": ("assign_to_role", "assign_to_user", "assign_to_department")}), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital', 'department', 'assign_to_user', 'assign_to_department') + return qs.select_related("hospital", "department", "assign_to_user", "assign_to_department") diff --git a/apps/standards/urls.py b/apps/standards/urls.py index 0b8172b..988fc31 100644 --- a/apps/standards/urls.py +++ b/apps/standards/urls.py @@ -20,6 +20,9 @@ from apps.standards.views import ( get_compliance_status, create_compliance_ajax, update_compliance_ajax, + get_attachments_ajax, + upload_attachment_ajax, + delete_attachment_ajax, source_list, source_create, source_update, @@ -45,6 +48,10 @@ urlpatterns = [ path("api/compliance/create/", create_compliance_ajax, name="compliance_create_ajax"), path("api/compliance/update/", update_compliance_ajax, name="compliance_update_ajax"), path("api/compliance///", get_compliance_status, name="compliance_status"), + # Attachment AJAX endpoints + path("api/attachments/list//", get_attachments_ajax, name="attachments_list_ajax"), + path("api/attachments/upload/", upload_attachment_ajax, name="attachment_upload_ajax"), + path("api/attachments//delete/", delete_attachment_ajax, name="attachment_delete_ajax"), # API endpoints (router) path("api/", include(router.urls)), # UI Views diff --git a/apps/standards/views.py b/apps/standards/views.py index fe59eff..ff88605 100644 --- a/apps/standards/views.py +++ b/apps/standards/views.py @@ -569,6 +569,133 @@ def get_compliance_status(request, department_id, standard_id): return JsonResponse(data) +@ensure_csrf_cookie +@login_required +def get_attachments_ajax(request, compliance_id): + """Get all attachments for a compliance record via AJAX""" + if not request.user.is_authenticated: + return JsonResponse({"success": False, "error": "Authentication required"}, status=401) + + compliance = get_object_or_404(StandardCompliance, pk=compliance_id) + + attachments = compliance.attachments.select_related("uploaded_by").order_by("-created_at") + + attachments_data = [] + for attachment in attachments: + attachments_data.append( + { + "id": str(attachment.id), + "filename": attachment.filename, + "description": attachment.description or "", + "file_url": attachment.file.url, + "uploaded_by": attachment.uploaded_by.get_full_name() if attachment.uploaded_by else "Unknown", + "uploaded_at": attachment.created_at.strftime("%Y-%m-%d %H:%M"), + } + ) + + return JsonResponse( + { + "success": True, + "compliance_id": str(compliance.id), + "standard_code": compliance.standard.code, + "standard_title": compliance.standard.title, + "attachments": attachments_data, + "attachment_count": len(attachments_data), + } + ) + + +@ensure_csrf_cookie +@login_required +def upload_attachment_ajax(request): + """Upload attachment for compliance via AJAX""" + if not request.user.is_authenticated: + return JsonResponse({"success": False, "error": "Authentication required"}, status=401) + + if request.method != "POST": + return JsonResponse({"success": False, "error": "Only POST method allowed"}) + + compliance_id = request.POST.get("compliance_id") + description = request.POST.get("description", "") + + if not compliance_id: + return JsonResponse({"success": False, "error": "Missing compliance_id"}) + + if "file" not in request.FILES: + return JsonResponse({"success": False, "error": "No file provided"}) + + compliance = get_object_or_404(StandardCompliance, pk=compliance_id) + uploaded_file = request.FILES["file"] + + # Validate file size (max 50MB) + if uploaded_file.size > 50 * 1024 * 1024: + return JsonResponse({"success": False, "error": "File size must be less than 50MB"}) + + # Validate file type + allowed_extensions = [".pdf", ".doc", ".docx", ".xls", ".xlsx", ".jpg", ".jpeg", ".png", ".zip"] + file_ext = "." + uploaded_file.name.split(".")[-1].lower() if "." in uploaded_file.name else "" + + if file_ext not in allowed_extensions: + return JsonResponse( + { + "success": False, + "error": f"Invalid file type. Allowed: {', '.join(allowed_extensions)}", + } + ) + + try: + attachment = StandardAttachment.objects.create( + compliance=compliance, + file=uploaded_file, + filename=uploaded_file.name, + description=description, + uploaded_by=request.user, + ) + + return JsonResponse( + { + "success": True, + "attachment": { + "id": str(attachment.id), + "filename": attachment.filename, + "description": attachment.description or "", + "file_url": attachment.file.url, + "uploaded_by": request.user.get_full_name() if request.user else "Unknown", + "uploaded_at": attachment.created_at.strftime("%Y-%m-%d %H:%M"), + }, + "attachment_count": compliance.attachments.count(), + } + ) + except Exception as e: + import traceback + + traceback.print_exc() + return JsonResponse({"success": False, "error": str(e)}) + + +@ensure_csrf_cookie +@login_required +def delete_attachment_ajax(request, attachment_id): + """Delete an attachment via AJAX""" + if not request.user.is_authenticated: + return JsonResponse({"success": False, "error": "Authentication required"}, status=401) + + if request.method != "POST": + return JsonResponse({"success": False, "error": "Only POST method allowed"}) + + attachment = get_object_or_404(StandardAttachment, pk=attachment_id) + compliance = attachment.compliance + + try: + attachment.delete() + return JsonResponse({"success": True, "attachment_count": compliance.attachments.count()}) + except Exception as e: + import traceback + + traceback.print_exc() + return JsonResponse({"success": False, "error": str(e)}) + + # ==================== Source Management Views ==================== diff --git a/apps/surveys/admin.py b/apps/surveys/admin.py index 73d4e80..8899086 100644 --- a/apps/surveys/admin.py +++ b/apps/surveys/admin.py @@ -1,121 +1,115 @@ """ Surveys admin """ + from django.contrib import admin from django.utils.html import format_html from django.db.models import Count -from .models import SurveyInstance, SurveyQuestion, SurveyResponse, SurveyTemplate, SurveyTracking +from .models import ( + SurveyInstance, + SurveyQuestion, + SurveyResponse, + SurveyTemplate, + SurveyTracking, +) class SurveyQuestionInline(admin.TabularInline): """Inline admin for survey questions""" + model = SurveyQuestion extra = 1 - fields = ['order', 'text', 'question_type', 'is_required'] - ordering = ['order'] + fields = ["order", "text", "question_type", "is_required", "is_base", "event_type"] + ordering = ["order"] @admin.register(SurveyTemplate) class SurveyTemplateAdmin(admin.ModelAdmin): """Survey template admin""" + list_display = [ - 'name', 'survey_type', 'hospital', 'scoring_method', - 'negative_threshold', 'get_question_count', 'is_active' + "name", + "survey_type", + "hospital", + "scoring_method", + "negative_threshold", + "get_question_count", + "is_active", ] - list_filter = ['survey_type', 'scoring_method', 'is_active', 'hospital'] - search_fields = ['name', 'name_ar'] - ordering = ['hospital', 'name'] + list_filter = ["survey_type", "scoring_method", "is_active", "hospital"] + search_fields = ["name", "name_ar"] + ordering = ["hospital", "name"] inlines = [SurveyQuestionInline] - + fieldsets = ( - (None, { - 'fields': ('name', 'name_ar') - }), - ('Configuration', { - 'fields': ('hospital', 'survey_type') - }), - ('Scoring', { - 'fields': ('scoring_method', 'negative_threshold') - }), - ('Status', { - 'fields': ('is_active',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("name", "name_ar")}), + ("Configuration", {"fields": ("hospital", "survey_type")}), + ("Scoring", {"fields": ("scoring_method", "negative_threshold")}), + ("Status", {"fields": ("is_active",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('hospital').prefetch_related('questions') + return qs.select_related("hospital").prefetch_related("questions") @admin.register(SurveyQuestion) class SurveyQuestionAdmin(admin.ModelAdmin): """Survey question admin""" - list_display = [ - 'survey_template', 'order', 'text_preview', - 'question_type', 'is_required' - ] - list_filter = ['survey_template', 'question_type', 'is_required'] - search_fields = ['text', 'text_ar'] - ordering = ['survey_template', 'order'] - + + list_display = ["survey_template", "order", "text_preview", "question_type", "is_base", "is_required"] + list_filter = ["survey_template", "question_type", "is_required", "is_base"] + search_fields = ["text", "text_ar"] + ordering = ["survey_template", "order"] + fieldsets = ( - (None, { - 'fields': ('survey_template', 'order') - }), - ('Question Text', { - 'fields': ('text', 'text_ar') - }), - ('Configuration', { - 'fields': ('question_type', 'is_required') - }), - ('Choices (for multiple choice)', { - 'fields': ('choices_json',), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("survey_template", "order")}), + ("Question Text", {"fields": ("text", "text_ar")}), + ("Configuration", {"fields": ("question_type", "is_required", "is_base", "event_type")}), + ("Choices (for multiple choice)", {"fields": ("choices_json",), "classes": ("collapse",)}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def text_preview(self, obj): """Show preview of question text""" - return obj.text[:100] + '...' if len(obj.text) > 100 else obj.text - text_preview.short_description = 'Question' - + return obj.text[:100] + "..." if len(obj.text) > 100 else obj.text + + text_preview.short_description = "Question" + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('survey_template') + return qs.select_related("survey_template") class SurveyResponseInline(admin.TabularInline): """Inline admin for survey responses""" + model = SurveyResponse extra = 0 - fields = ['question', 'numeric_value', 'text_value', 'choice_value'] - readonly_fields = ['question'] - ordering = ['question__order'] - + fields = ["question", "numeric_value", "text_value", "choice_value"] + readonly_fields = ["question"] + ordering = ["question__order"] + def has_add_permission(self, request, obj=None): return False class SurveyTrackingInline(admin.TabularInline): """Inline admin for survey tracking events""" + model = SurveyTracking extra = 0 - fields = ['event_type', 'device_type', 'browser', 'total_time_spent', 'created_at'] - readonly_fields = ['event_type', 'device_type', 'browser', 'total_time_spent', 'created_at'] - ordering = ['-created_at'] + fields = ["event_type", "device_type", "browser", "total_time_spent", "created_at"] + readonly_fields = ["event_type", "device_type", "browser", "total_time_spent", "created_at"] + ordering = ["-created_at"] can_delete = False - + def has_add_permission(self, request, obj=None): return False @@ -123,229 +117,216 @@ class SurveyTrackingInline(admin.TabularInline): @admin.register(SurveyInstance) class SurveyInstanceAdmin(admin.ModelAdmin): """Survey instance admin""" + list_display = [ - 'survey_template', 'patient', 'encounter_id', - 'status_badge', 'delivery_channel', 'open_count', - 'time_spent_display', 'total_score', - 'is_negative', 'sent_at', 'completed_at' + "survey_label", + "patient", + "encounter_id", + "status_badge", + "delivery_channel", + "open_count", + "time_spent_display", + "total_score", + "is_negative", + "sent_at", + "completed_at", ] list_filter = [ - 'status', 'delivery_channel', 'is_negative', - 'survey_template__survey_type', 'sent_at', 'completed_at' + "status", + "delivery_channel", + "is_negative", + "survey_template__survey_type", + "sent_at", + "completed_at", ] - search_fields = [ - 'patient__mrn', 'patient__first_name', 'patient__last_name', - 'encounter_id', 'access_token' - ] - ordering = ['-created_at'] + search_fields = ["patient__mrn", "patient__first_name", "patient__last_name", "encounter_id", "access_token"] + ordering = ["-created_at"] inlines = [SurveyResponseInline, SurveyTrackingInline] - + fieldsets = ( - (None, { - 'fields': ('survey_template', 'patient', 'encounter_id') - }), - ('Journey Linkage', { - 'fields': ('journey_instance',), - 'classes': ('collapse',) - }), - ('Delivery', { - 'fields': ( - 'delivery_channel', 'recipient_phone', 'recipient_email', - 'access_token', 'token_expires_at' - ) - }), - ('Status & Timestamps', { - 'fields': ('status', 'sent_at', 'opened_at', 'completed_at') - }), - ('Tracking', { - 'fields': ('open_count', 'last_opened_at', 'time_spent_seconds') - }), - ('Scoring', { - 'fields': ('total_score', 'is_negative') - }), - ('Patient Comment', { - 'fields': ('comment', 'comment_analyzed') - }), - ('Comment Analysis', { - 'fields': ('comment_analysis',), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('metadata', 'created_at', 'updated_at'), - 'classes': ('collapse',) - }), + (None, {"fields": ("survey_template", "patient", "encounter_id")}), + ("Journey Linkage", {"fields": ("journey_instance",), "classes": ("collapse",)}), + ( + "Delivery", + {"fields": ("delivery_channel", "recipient_phone", "recipient_email", "access_token", "token_expires_at")}, + ), + ("Status & Timestamps", {"fields": ("status", "sent_at", "opened_at", "completed_at")}), + ("Tracking", {"fields": ("open_count", "last_opened_at", "time_spent_seconds")}), + ("Scoring", {"fields": ("total_score", "is_negative")}), + ("Patient Comment", {"fields": ("comment", "comment_analyzed")}), + ("Comment Analysis", {"fields": ("comment_analysis",), "classes": ("collapse",)}), + ("Metadata", {"fields": ("metadata", "created_at", "updated_at"), "classes": ("collapse",)}), ) - + readonly_fields = [ - 'access_token', 'token_expires_at', 'sent_at', 'opened_at', - 'completed_at', 'open_count', 'last_opened_at', 'time_spent_seconds', - 'total_score', 'is_negative', 'comment_analyzed', 'comment_analysis', - 'created_at', 'updated_at' + "access_token", + "token_expires_at", + "sent_at", + "opened_at", + "completed_at", + "open_count", + "last_opened_at", + "time_spent_seconds", + "total_score", + "is_negative", + "comment_analyzed", + "comment_analysis", + "created_at", + "updated_at", ] - + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related( - 'survey_template', 'patient', 'journey_instance' - ).prefetch_related('responses', 'tracking_events') - + return qs.select_related("survey_template", "patient", "journey_instance").prefetch_related( + "responses", "tracking_events" + ) + def status_badge(self, obj): """Display status with color badge""" colors = { - 'sent': 'secondary', - 'viewed': 'info', - 'in_progress': 'warning', - 'completed': 'success', - 'abandoned': 'danger', - 'expired': 'secondary', - 'cancelled': 'dark', + "sent": "secondary", + "viewed": "info", + "in_progress": "warning", + "completed": "success", + "abandoned": "danger", + "expired": "secondary", + "cancelled": "dark", } - color = colors.get(obj.status, 'secondary') - return format_html( - '{}', - color, - obj.get_status_display() - ) - status_badge.short_description = 'Status' - + color = colors.get(obj.status, "secondary") + return format_html('{}', color, obj.get_status_display()) + + status_badge.short_description = "Status" + + def survey_label(self, obj): + if obj.survey_template: + return obj.survey_template.name + return obj.metadata.get("patient_type", "Event-based Survey") + + survey_label.short_description = "Survey" + def time_spent_display(self, obj): """Display time spent in human-readable format""" if obj.time_spent_seconds: minutes = obj.time_spent_seconds // 60 seconds = obj.time_spent_seconds % 60 return f"{minutes}m {seconds}s" - return '-' - time_spent_display.short_description = 'Time Spent' + return "-" + + time_spent_display.short_description = "Time Spent" @admin.register(SurveyTracking) class SurveyTrackingAdmin(admin.ModelAdmin): """Survey tracking admin""" + list_display = [ - 'survey_instance_link', 'event_type_badge', - 'device_type', 'browser', 'ip_address', - 'total_time_spent_display', 'created_at' - ] - list_filter = [ - 'event_type', 'device_type', 'browser', - 'survey_instance__survey_template', 'created_at' + "survey_instance_link", + "event_type_badge", + "device_type", + "browser", + "ip_address", + "total_time_spent_display", + "created_at", ] + list_filter = ["event_type", "device_type", "browser", "survey_instance__survey_template", "created_at"] search_fields = [ - 'survey_instance__patient__mrn', - 'survey_instance__patient__first_name', - 'survey_instance__patient__last_name', - 'ip_address', 'user_agent' + "survey_instance__patient__mrn", + "survey_instance__patient__first_name", + "survey_instance__patient__last_name", + "ip_address", + "user_agent", ] - ordering = ['-created_at'] - + ordering = ["-created_at"] + fieldsets = ( - (None, { - 'fields': ('survey_instance', 'event_type') - }), - ('Timing', { - 'fields': ('time_on_page', 'total_time_spent') - }), - ('Context', { - 'fields': ('current_question',) - }), - ('Device Info', { - 'fields': ('user_agent', 'ip_address', 'device_type', 'browser') - }), - ('Location', { - 'fields': ('country', 'city'), - 'classes': ('collapse',) - }), - ('Metadata', { - 'fields': ('metadata', 'created_at'), - 'classes': ('collapse',) - }), + (None, {"fields": ("survey_instance", "event_type")}), + ("Timing", {"fields": ("time_on_page", "total_time_spent")}), + ("Context", {"fields": ("current_question",)}), + ("Device Info", {"fields": ("user_agent", "ip_address", "device_type", "browser")}), + ("Location", {"fields": ("country", "city"), "classes": ("collapse",)}), + ("Metadata", {"fields": ("metadata", "created_at"), "classes": ("collapse",)}), ) - - readonly_fields = ['created_at'] - + + readonly_fields = ["created_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related( - 'survey_instance', - 'survey_instance__patient', - 'survey_instance__survey_template' - ) - + return qs.select_related("survey_instance", "survey_instance__patient") + def survey_instance_link(self, obj): """Link to survey instance""" url = f"/admin/surveys/surveyinstance/{obj.survey_instance.id}/change/" - return format_html('{} - {}', url, obj.survey_instance.survey_template.name, obj.survey_instance.patient.get_full_name()) - survey_instance_link.short_description = 'Survey' - + label = ( + obj.survey_instance.survey_template.name + if obj.survey_instance.survey_template + else obj.survey_instance.metadata.get("patient_type", "Survey") + ) + return format_html( + '{} - {}', + url, + label, + obj.survey_instance.patient.get_full_name(), + ) + + survey_instance_link.short_description = "Survey" + def event_type_badge(self, obj): """Display event type with color badge""" colors = { - 'page_view': 'info', - 'survey_started': 'primary', - 'question_answered': 'secondary', - 'survey_completed': 'success', - 'survey_abandoned': 'danger', - 'reminder_sent': 'warning', + "page_view": "info", + "survey_started": "primary", + "question_answered": "secondary", + "survey_completed": "success", + "survey_abandoned": "danger", + "reminder_sent": "warning", } - color = colors.get(obj.event_type, 'secondary') - return format_html( - '{}', - color, - obj.get_event_type_display() - ) - event_type_badge.short_description = 'Event Type' - + color = colors.get(obj.event_type, "secondary") + return format_html('{}', color, obj.get_event_type_display()) + + event_type_badge.short_description = "Event Type" + def total_time_spent_display(self, obj): """Display time spent in human-readable format""" if obj.total_time_spent: minutes = obj.total_time_spent // 60 seconds = obj.total_time_spent % 60 return f"{minutes}m {seconds}s" - return '-' - total_time_spent_display.short_description = 'Time Spent' + return "-" + + total_time_spent_display.short_description = "Time Spent" @admin.register(SurveyResponse) class SurveyResponseAdmin(admin.ModelAdmin): """Survey response admin""" - list_display = [ - 'survey_instance', 'question_preview', - 'numeric_value', 'text_value_preview', 'created_at' - ] - list_filter = ['survey_instance__survey_template', 'question__question_type', 'created_at'] - search_fields = [ - 'survey_instance__patient__mrn', - 'question__text', - 'text_value' - ] - ordering = ['survey_instance', 'question__order'] - + + list_display = ["survey_instance", "question_preview", "numeric_value", "text_value_preview", "created_at"] + list_filter = ["survey_instance__survey_template", "question__question_type", "created_at"] + search_fields = ["survey_instance__patient__mrn", "question__text", "text_value"] + ordering = ["survey_instance", "question__order"] + fieldsets = ( - (None, { - 'fields': ('survey_instance', 'question') - }), - ('Response', { - 'fields': ('numeric_value', 'text_value', 'choice_value') - }), - ('Metadata', { - 'fields': ('created_at', 'updated_at') - }), + (None, {"fields": ("survey_instance", "question")}), + ("Response", {"fields": ("numeric_value", "text_value", "choice_value")}), + ("Metadata", {"fields": ("created_at", "updated_at")}), ) - - readonly_fields = ['created_at', 'updated_at'] - + + readonly_fields = ["created_at", "updated_at"] + def get_queryset(self, request): qs = super().get_queryset(request) - return qs.select_related('survey_instance', 'question') - + return qs.select_related("survey_instance", "question") + def question_preview(self, obj): """Show preview of question""" - return obj.question.text[:50] + '...' if len(obj.question.text) > 50 else obj.question.text - question_preview.short_description = 'Question' - + return obj.question.text[:50] + "..." if len(obj.question.text) > 50 else obj.question.text + + question_preview.short_description = "Question" + def text_value_preview(self, obj): """Show preview of text response""" if obj.text_value: - return obj.text_value[:50] + '...' if len(obj.text_value) > 50 else obj.text_value - return '-' - text_value_preview.short_description = 'Text Response' + return obj.text_value[:50] + "..." if len(obj.text_value) > 50 else obj.text_value + return "-" + + text_value_preview.short_description = "Text Response" diff --git a/apps/surveys/forms.py b/apps/surveys/forms.py index 7ab9745..e647dcb 100644 --- a/apps/surveys/forms.py +++ b/apps/surveys/forms.py @@ -7,17 +7,15 @@ from django.utils.translation import gettext_lazy as _ from apps.organizations.models import Patient, Staff, Hospital from apps.core.form_mixins import HospitalFieldMixin -from .models import SurveyInstance, SurveyTemplate, SurveyQuestion +from .models import ( + SurveyInstance, + SurveyTemplate, + SurveyQuestion, +) class SurveyTemplateForm(HospitalFieldMixin, forms.ModelForm): - """ - Form for creating/editing survey templates. - - Hospital field visibility: - - PX Admins: See dropdown with all hospitals - - Others: Hidden field, auto-set to user's hospital - """ + """Form for creating/editing survey templates""" class Meta: model = SurveyTemplate @@ -40,7 +38,7 @@ class SurveyQuestionForm(forms.ModelForm): class Meta: model = SurveyQuestion - fields = ["text", "text_ar", "question_type", "order", "is_required", "choices_json"] + fields = ["text", "text_ar", "question_type", "order", "is_required", "is_base", "event_type", "choices_json"] widgets = { "text": forms.Textarea( attrs={"class": "form-control", "rows": 2, "placeholder": "Enter question in English"} @@ -51,6 +49,13 @@ class SurveyQuestionForm(forms.ModelForm): "question_type": forms.Select(attrs={"class": "form-select"}), "order": forms.NumberInput(attrs={"class": "form-control", "min": "0"}), "is_required": forms.CheckboxInput(attrs={"class": "form-check-input"}), + "is_base": forms.CheckboxInput(attrs={"class": "form-check-input"}), + "event_type": forms.TextInput( + attrs={ + "class": "form-control", + "placeholder": "e.g., Lab Bill, Triage (leave blank for base questions)", + } + ), "choices_json": forms.Textarea( attrs={ "class": "form-control", @@ -67,6 +72,8 @@ class SurveyQuestionForm(forms.ModelForm): "JSON array of choices for multiple choice questions. " 'Format: [{"value": "1", "label": "Option 1", "label_ar": "خيار 1"}]' ) + self.fields["event_type"].required = False + self.fields["event_type"].help_text = _("Leave blank for base questions (always included).") SurveyQuestionFormSet = forms.inlineformset_factory( diff --git a/apps/surveys/models.py b/apps/surveys/models.py index 5a10a7c..80413aa 100644 --- a/apps/surveys/models.py +++ b/apps/surveys/models.py @@ -8,6 +8,7 @@ This module implements the survey system that: - Collects and scores survey responses - Triggers actions based on negative feedback """ + import secrets from django.core.signing import Signer @@ -19,24 +20,27 @@ from apps.core.models import BaseChoices, StatusChoices, TenantModel, TimeStampe class SurveyStatus(BaseChoices): """Survey status choices with enhanced tracking""" - SENT = 'sent', 'Sent (Not Opened)' - VIEWED = 'viewed', 'Viewed (Opened, Not Started)' - IN_PROGRESS = 'in_progress', 'In Progress (Started, Not Completed)' - COMPLETED = 'completed', 'Completed' - ABANDONED = 'abandoned', 'Abandoned (Started but Left)' - EXPIRED = 'expired', 'Expired' - CANCELLED = 'cancelled', 'Cancelled' + + PENDING = "pending", "Pending (Scheduled, Not Yet Sent)" + SENT = "sent", "Sent (Not Opened)" + VIEWED = "viewed", "Viewed (Opened, Not Started)" + IN_PROGRESS = "in_progress", "In Progress (Started, Not Completed)" + COMPLETED = "completed", "Completed" + ABANDONED = "abandoned", "Abandoned (Started but Left)" + EXPIRED = "expired", "Expired" + CANCELLED = "cancelled", "Cancelled" class QuestionType(BaseChoices): """Survey question type choices""" - RATING = 'rating', 'Rating (1-5 stars)' - NPS = 'nps', 'NPS (0-10)' - YES_NO = 'yes_no', 'Yes/No' - MULTIPLE_CHOICE = 'multiple_choice', 'Multiple Choice' - TEXT = 'text', 'Text (Short Answer)' - TEXTAREA = 'textarea', 'Text Area (Long Answer)' - LIKERT = 'likert', 'Likert Scale (1-5)' + + RATING = "rating", "Rating (1-5 stars)" + NPS = "nps", "NPS (0-10)" + YES_NO = "yes_no", "Yes/No" + MULTIPLE_CHOICE = "multiple_choice", "Multiple Choice" + TEXT = "text", "Text (Short Answer)" + TEXTAREA = "textarea", "Text Area (Long Answer)" + LIKERT = "likert", "Likert Scale (1-5)" class SurveyTemplate(UUIDModel, TimeStampedModel): @@ -48,108 +52,93 @@ class SurveyTemplate(UUIDModel, TimeStampedModel): - Multiple question types - Scoring configuration - Branch logic (conditional questions) + + NOTE: Supports both template-based and event-based surveys. + Event-based surveys use SurveyTemplate questions filtered by HIS events. """ + name = models.CharField(max_length=200) name_ar = models.CharField(max_length=200, blank=True, verbose_name="Name (Arabic)") # Configuration - hospital = models.ForeignKey( - 'organizations.Hospital', - on_delete=models.CASCADE, - related_name='survey_templates' - ) + hospital = models.ForeignKey("organizations.Hospital", on_delete=models.CASCADE, related_name="survey_templates") # Survey type survey_type = models.CharField( max_length=50, choices=[ - ('stage', 'Journey Stage Survey'), - ('complaint_resolution', 'Complaint Resolution Satisfaction'), - ('general', 'General Feedback'), - ('nps', 'Net Promoter Score'), + ("stage", "Journey Stage Survey"), + ("complaint_resolution", "Complaint Resolution Satisfaction"), + ("general", "General Feedback"), + ("nps", "Net Promoter Score"), ], - default='stage', - db_index=True + default="stage", + db_index=True, ) # Scoring configuration scoring_method = models.CharField( max_length=20, choices=[ - ('average', 'Average Score'), - ('weighted', 'Weighted Average'), - ('nps', 'NPS Calculation'), + ("average", "Average Score"), + ("weighted", "Weighted Average"), + ("nps", "NPS Calculation"), ], - default='average' + default="average", ) negative_threshold = models.DecimalField( - max_digits=3, - decimal_places=1, - default=3.0, - help_text="Scores below this trigger PX actions (out of 5)" + max_digits=3, decimal_places=1, default=3.0, help_text="Scores below this trigger PX actions (out of 5)" ) # Configuration is_active = models.BooleanField(default=True, db_index=True) class Meta: - ordering = ['hospital', 'name'] + ordering = ["hospital", "name"] indexes = [ - models.Index(fields=['hospital', 'survey_type', 'is_active']), + models.Index(fields=["hospital", "survey_type", "is_active"]), ] def __str__(self): return self.name def get_question_count(self): - """Get number of questions""" return self.questions.count() class SurveyQuestion(UUIDModel, TimeStampedModel): """ - Survey question within a template. + Survey question belonging to a template. - Supports: - - Bilingual text (AR/EN) - - Multiple question types - - Required/optional - - Conditional display (branch logic) + Questions can be: + - Base questions (is_base=True): Always included in surveys from this template + - Event-based questions (event_type set): Only included when the patient + experienced that specific event type in their HIS visit """ - survey_template = models.ForeignKey( - SurveyTemplate, - on_delete=models.CASCADE, - related_name='questions' - ) - # Question text + survey_template = models.ForeignKey(SurveyTemplate, on_delete=models.CASCADE, related_name="questions") + text = models.TextField(verbose_name="Question Text (English)") text_ar = models.TextField(blank=True, verbose_name="Question Text (Arabic)") - - # Question configuration - question_type = models.CharField( - max_length=20, - choices=QuestionType.choices, - default=QuestionType.RATING - ) + question_type = models.CharField(max_length=20, choices=QuestionType.choices, default="rating") order = models.IntegerField(default=0, help_text="Display order") is_required = models.BooleanField(default=True) + choices_json = models.JSONField(blank=True, default=list, help_text="Array of choice objects") - # For multiple choice questions - choices_json = models.JSONField( - default=list, + is_base = models.BooleanField( + default=False, + db_index=True, + help_text="Always include this question regardless of events", + ) + event_type = models.CharField( + max_length=200, blank=True, - help_text="Array of choice objects: [{'value': '1', 'label': 'Option 1', 'label_ar': 'خيار 1'}]" + db_index=True, + help_text="HIS event type that triggers this question (e.g., 'Lab Bill', 'Triage')", ) class Meta: - ordering = ['survey_template', 'order'] - indexes = [ - models.Index(fields=['survey_template', 'order']), - ] - - def __str__(self): - return f"{self.survey_template.name} - Q{self.order}: {self.text[:50]}" + ordering = ["survey_template", "order"] class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): @@ -165,38 +154,27 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): Tenant-aware: All surveys are scoped to a hospital. """ - survey_template = models.ForeignKey( - SurveyTemplate, - on_delete=models.PROTECT, - related_name='instances' - ) + + survey_template = models.ForeignKey(SurveyTemplate, on_delete=models.PROTECT, related_name="instances") # Patient information patient = models.ForeignKey( - 'organizations.Patient', - on_delete=models.CASCADE, - related_name='surveys', - null=True, - blank=True + "organizations.Patient", on_delete=models.CASCADE, related_name="surveys", null=True, blank=True ) - + # Staff information staff = models.ForeignKey( - 'organizations.Staff', + "organizations.Staff", on_delete=models.CASCADE, - related_name='surveys', + related_name="surveys", null=True, blank=True, - help_text="Staff recipient (if survey is for staff)" + help_text="Staff recipient (if survey is for staff)", ) # Journey linkage journey_instance = models.ForeignKey( - 'journeys.PatientJourneyInstance', - on_delete=models.CASCADE, - null=True, - blank=True, - related_name='surveys' + "journeys.PatientJourneyInstance", on_delete=models.CASCADE, null=True, blank=True, related_name="surveys" ) encounter_id = models.CharField(max_length=100, blank=True, db_index=True) @@ -204,154 +182,102 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): delivery_channel = models.CharField( max_length=20, choices=[ - ('sms', 'SMS'), - ('whatsapp', 'WhatsApp'), - ('email', 'Email'), + ("sms", "SMS"), + ("whatsapp", "WhatsApp"), + ("email", "Email"), ], - default='sms' + default="sms", ) recipient_phone = models.CharField(max_length=20, blank=True) recipient_email = models.EmailField(blank=True) # Access token for secure link access_token = models.CharField( - max_length=100, - unique=True, - db_index=True, - blank=True, - help_text="Secure token for survey access" - ) - token_expires_at = models.DateTimeField( - null=True, - blank=True, - help_text="Token expiration date" + max_length=100, unique=True, db_index=True, blank=True, help_text="Secure token for survey access" ) + token_expires_at = models.DateTimeField(null=True, blank=True, help_text="Token expiration date") # Status - status = models.CharField( - max_length=20, - choices=SurveyStatus.choices, - default=SurveyStatus.SENT, - db_index=True - ) + status = models.CharField(max_length=20, choices=SurveyStatus.choices, default=SurveyStatus.SENT, db_index=True) # Timestamps sent_at = models.DateTimeField(null=True, blank=True, db_index=True) scheduled_send_at = models.DateTimeField( - null=True, - blank=True, - db_index=True, - help_text="When this survey should be sent (for delayed sending)" + null=True, blank=True, db_index=True, help_text="When this survey should be sent (for delayed sending)" ) opened_at = models.DateTimeField(null=True, blank=True) completed_at = models.DateTimeField(null=True, blank=True) - + # Enhanced tracking - open_count = models.IntegerField( - default=0, - help_text="Number of times survey link was opened" - ) - last_opened_at = models.DateTimeField( - null=True, - blank=True, - help_text="Most recent time survey was opened" - ) - time_spent_seconds = models.IntegerField( - null=True, - blank=True, - help_text="Total time spent on survey in seconds" - ) + open_count = models.IntegerField(default=0, help_text="Number of times survey link was opened") + last_opened_at = models.DateTimeField(null=True, blank=True, help_text="Most recent time survey was opened") + time_spent_seconds = models.IntegerField(null=True, blank=True, help_text="Total time spent on survey in seconds") # Scoring total_score = models.DecimalField( - max_digits=5, - decimal_places=2, - null=True, - blank=True, - help_text="Calculated total score" - ) - is_negative = models.BooleanField( - default=False, - db_index=True, - help_text="True if score below threshold" + max_digits=5, decimal_places=2, null=True, blank=True, help_text="Calculated total score" ) + is_negative = models.BooleanField(default=False, db_index=True, help_text="True if score below threshold") # Metadata metadata = models.JSONField(default=dict, blank=True) # Patient contact tracking (for negative surveys) patient_contacted = models.BooleanField( - default=False, - help_text="Whether patient was contacted about negative survey" + default=False, help_text="Whether patient was contacted about negative survey" ) patient_contacted_at = models.DateTimeField(null=True, blank=True) patient_contacted_by = models.ForeignKey( - 'accounts.User', + "accounts.User", on_delete=models.SET_NULL, null=True, blank=True, - related_name='contacted_surveys', - help_text="User who contacted the patient" - ) - contact_notes = models.TextField( - blank=True, - help_text="Notes from patient contact" - ) - issue_resolved = models.BooleanField( - default=False, - help_text="Whether the issue was resolved/explained" + related_name="contacted_surveys", + help_text="User who contacted the patient", ) + contact_notes = models.TextField(blank=True, help_text="Notes from patient contact") + issue_resolved = models.BooleanField(default=False, help_text="Whether the issue was resolved/explained") # Patient comment and AI analysis - comment = models.TextField( - blank=True, - help_text="Optional comment from patient" - ) - comment_analyzed = models.BooleanField( - default=False, - help_text="Whether the comment has been analyzed by AI" - ) - comment_analysis = models.JSONField( - default=dict, - blank=True, - help_text="AI analysis results for the comment" - ) + comment = models.TextField(blank=True, help_text="Optional comment from patient") + comment_analyzed = models.BooleanField(default=False, help_text="Whether the comment has been analyzed by AI") + comment_analysis = models.JSONField(default=dict, blank=True, help_text="AI analysis results for the comment") class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] indexes = [ - models.Index(fields=['patient', '-created_at']), - models.Index(fields=['staff', '-created_at']), - models.Index(fields=['status', '-sent_at']), - models.Index(fields=['is_negative', '-completed_at']), + models.Index(fields=["patient", "-created_at"]), + models.Index(fields=["staff", "-created_at"]), + models.Index(fields=["status", "-sent_at"]), + models.Index(fields=["is_negative", "-completed_at"]), ] def __str__(self): - recipient = self.get_recipient_name() - return f"{self.survey_template.name} - {recipient}" - + return f"{self.survey_template.name} - {self.get_recipient_name()}" + def clean(self): """Validate that exactly one of patient or staff is set""" from django.core.exceptions import ValidationError + if self.patient and self.staff: raise ValidationError("Cannot specify both patient and staff for a survey") if not self.patient and not self.staff: raise ValidationError("Must specify either a patient or staff recipient") - + def get_recipient(self): """Get the recipient object (patient or staff)""" return self.patient if self.patient else self.staff - + def get_recipient_name(self): """Get recipient name (patient or staff)""" if self.patient: return self.patient.get_full_name() elif self.staff: return self.staff.get_full_name() - elif self.metadata and self.metadata.get('recipient_name'): - return self.metadata.get('recipient_name') + elif self.metadata and self.metadata.get("recipient_name"): + return self.metadata.get("recipient_name") return "Unknown" - + def get_recipient_email(self): """Get recipient email (patient or staff)""" if self.patient: @@ -359,7 +285,7 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): elif self.staff: return self.staff.email return None - + def get_recipient_phone(self): """Get recipient phone (patient or staff)""" if self.patient: @@ -378,7 +304,8 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): from datetime import timedelta from django.conf import settings from django.utils import timezone - days = getattr(settings, 'SURVEY_TOKEN_EXPIRY_DAYS', 30) + + days = getattr(settings, "SURVEY_TOKEN_EXPIRY_DAYS", 30) self.token_expires_at = timezone.now() + timedelta(days=days) super().save(*args, **kwargs) @@ -390,30 +317,15 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): def calculate_score(self): """ Calculate total score from responses. - - Returns the calculated score and updates the instance. """ responses = self.responses.all() if not responses.exists(): return None - if self.survey_template.scoring_method == 'average': - # Simple average of all rating responses - rating_responses = responses.filter( - question__question_type__in=['rating', 'likert', 'nps'] - ) - if rating_responses.exists(): - total = sum(float(r.numeric_value or 0) for r in rating_responses) - count = rating_responses.count() - score = total / count if count > 0 else 0 - else: - score = 0 + scoring_method = self.survey_template.scoring_method - elif self.survey_template.scoring_method == 'weighted': - # Simple average (weight feature removed) - rating_responses = responses.filter( - question__question_type__in=['rating', 'likert', 'nps'] - ) + if scoring_method in ("average", "weighted"): + rating_responses = responses.filter(question__question_type__in=["rating", "likert", "nps"]) if rating_responses.exists(): total = sum(float(r.numeric_value or 0) for r in rating_responses) count = rating_responses.count() @@ -422,8 +334,7 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): score = 0 else: # NPS - # NPS calculation: % promoters - % detractors - nps_responses = responses.filter(question__question_type='nps') + nps_responses = responses.filter(question__question_type="nps") if nps_responses.exists(): promoters = nps_responses.filter(numeric_value__gte=9).count() detractors = nps_responses.filter(numeric_value__lte=6).count() @@ -432,10 +343,9 @@ class SurveyInstance(UUIDModel, TimeStampedModel, TenantModel): else: score = 0 - # Update instance self.total_score = score self.is_negative = score < float(self.survey_template.negative_threshold) - self.save(update_fields=['total_score', 'is_negative']) + self.save(update_fields=["total_score", "is_negative"]) return score @@ -444,241 +354,173 @@ class SurveyResponse(UUIDModel, TimeStampedModel): """ Survey response - answer to a specific question. """ - survey_instance = models.ForeignKey( - SurveyInstance, - on_delete=models.CASCADE, - related_name='responses' - ) - question = models.ForeignKey( - SurveyQuestion, - on_delete=models.PROTECT, - related_name='responses' - ) + + survey_instance = models.ForeignKey(SurveyInstance, on_delete=models.CASCADE, related_name="responses") + question = models.ForeignKey(SurveyQuestion, on_delete=models.PROTECT, related_name="responses") # Response value (type depends on question type) numeric_value = models.DecimalField( - max_digits=10, - decimal_places=2, - null=True, - blank=True, - help_text="For rating, NPS, Likert questions" - ) - text_value = models.TextField( - blank=True, - help_text="For text, textarea questions" - ) - choice_value = models.CharField( - max_length=200, - blank=True, - help_text="For multiple choice questions" + max_digits=10, decimal_places=2, null=True, blank=True, help_text="For rating, NPS, Likert questions" ) + text_value = models.TextField(blank=True, help_text="For text, textarea questions") + choice_value = models.CharField(max_length=200, blank=True, help_text="For multiple choice questions") class Meta: - ordering = ['survey_instance', 'question__order'] - unique_together = [['survey_instance', 'question']] + ordering = ["survey_instance", "question__order"] + unique_together = [["survey_instance", "question"]] + class SurveyTracking(UUIDModel, TimeStampedModel): """ Detailed survey engagement tracking. - + Tracks multiple interactions with survey: - Page views - Time spent on survey - Abandonment events - Device/browser information """ - survey_instance = models.ForeignKey( - SurveyInstance, - on_delete=models.CASCADE, - related_name='tracking_events' - ) - + + survey_instance = models.ForeignKey(SurveyInstance, on_delete=models.CASCADE, related_name="tracking_events") + # Event type event_type = models.CharField( max_length=50, choices=[ - ('page_view', 'Page View'), - ('survey_started', 'Survey Started'), - ('question_answered', 'Question Answered'), - ('survey_abandoned', 'Survey Abandoned'), - ('survey_completed', 'Survey Completed'), - ('reminder_sent', 'Reminder Sent'), + ("page_view", "Page View"), + ("survey_started", "Survey Started"), + ("question_answered", "Question Answered"), + ("survey_abandoned", "Survey Abandoned"), + ("survey_completed", "Survey Completed"), + ("reminder_sent", "Reminder Sent"), ], - db_index=True + db_index=True, ) - + # Timing - time_on_page = models.IntegerField( - null=True, - blank=True, - help_text="Time spent on page in seconds" - ) + time_on_page = models.IntegerField(null=True, blank=True, help_text="Time spent on page in seconds") total_time_spent = models.IntegerField( - null=True, - blank=True, - help_text="Total time spent on survey so far in seconds" + null=True, blank=True, help_text="Total time spent on survey so far in seconds" ) - + # Context - current_question = models.IntegerField( - null=True, - blank=True, - help_text="Question number when event occurred" - ) - + current_question = models.IntegerField(null=True, blank=True, help_text="Question number when event occurred") + # Device info user_agent = models.TextField(blank=True) ip_address = models.GenericIPAddressField(null=True, blank=True) - device_type = models.CharField( - max_length=50, - blank=True, - help_text="mobile, tablet, desktop" - ) - browser = models.CharField( - max_length=100, - blank=True - ) - + device_type = models.CharField(max_length=50, blank=True, help_text="mobile, tablet, desktop") + browser = models.CharField(max_length=100, blank=True) + # Location (optional, for analytics) country = models.CharField(max_length=100, blank=True) city = models.CharField(max_length=100, blank=True) - + # Metadata metadata = models.JSONField(default=dict, blank=True) - + class Meta: - ordering = ['survey_instance', 'created_at'] + ordering = ["survey_instance", "created_at"] indexes = [ - models.Index(fields=['survey_instance', 'event_type', '-created_at']), - models.Index(fields=['event_type', '-created_at']), + models.Index(fields=["survey_instance", "event_type", "-created_at"]), + models.Index(fields=["event_type", "-created_at"]), ] - + def __str__(self): return f"{self.survey_instance.id} - {self.event_type} at {self.created_at}" - + @classmethod def track_event(cls, survey_instance, event_type, **kwargs): """ Helper method to track a survey event. - + Args: survey_instance: SurveyInstance event_type: str - event type key **kwargs: additional fields (time_on_page, current_question, etc.) - + Returns: SurveyTracking instance """ - return cls.objects.create( - survey_instance=survey_instance, - event_type=event_type, - **kwargs - ) + return cls.objects.create(survey_instance=survey_instance, event_type=event_type, **kwargs) class BulkSurveyJob(UUIDModel, TimeStampedModel): """ Tracks bulk survey sending jobs for background processing. - + Used for HIS import and other bulk survey operations. """ + class JobStatus(models.TextChoices): - PENDING = 'pending', 'Pending' - PROCESSING = 'processing', 'Processing' - COMPLETED = 'completed', 'Completed' - FAILED = 'failed', 'Failed' - PARTIAL = 'partial', 'Partially Completed' - + PENDING = "pending", "Pending" + PROCESSING = "processing", "Processing" + COMPLETED = "completed", "Completed" + FAILED = "failed", "Failed" + PARTIAL = "partial", "Partially Completed" + class JobSource(models.TextChoices): - HIS_IMPORT = 'his_import', 'HIS Import' - CSV_UPLOAD = 'csv_upload', 'CSV Upload' - MANUAL = 'manual', 'Manual' - + HIS_IMPORT = "his_import", "HIS Import" + CSV_UPLOAD = "csv_upload", "CSV Upload" + MANUAL = "manual", "Manual" + # Job info name = models.CharField(max_length=200, blank=True) - status = models.CharField( - max_length=20, - choices=JobStatus.choices, - default=JobStatus.PENDING, - db_index=True - ) - source = models.CharField( - max_length=20, - choices=JobSource.choices, - default=JobSource.MANUAL - ) - + status = models.CharField(max_length=20, choices=JobStatus.choices, default=JobStatus.PENDING, db_index=True) + source = models.CharField(max_length=20, choices=JobSource.choices, default=JobSource.MANUAL) + # User who initiated created_by = models.ForeignKey( - 'accounts.User', - on_delete=models.SET_NULL, - null=True, - related_name='bulk_survey_jobs' + "accounts.User", on_delete=models.SET_NULL, null=True, related_name="bulk_survey_jobs" ) - + # Hospital - hospital = models.ForeignKey( - 'organizations.Hospital', - on_delete=models.CASCADE, - related_name='bulk_survey_jobs' - ) - + hospital = models.ForeignKey("organizations.Hospital", on_delete=models.CASCADE, related_name="bulk_survey_jobs") + # Survey template used - survey_template = models.ForeignKey( - SurveyTemplate, - on_delete=models.SET_NULL, - null=True, - related_name='bulk_jobs' - ) - + survey_template = models.ForeignKey(SurveyTemplate, on_delete=models.SET_NULL, null=True, related_name="bulk_jobs") + # Progress tracking total_patients = models.IntegerField(default=0) processed_count = models.IntegerField(default=0) success_count = models.IntegerField(default=0) failed_count = models.IntegerField(default=0) - + # Delivery settings - delivery_channel = models.CharField(max_length=20, default='sms') + delivery_channel = models.CharField(max_length=20, default="sms") custom_message = models.TextField(blank=True) - + # Patient data (stored as JSON list) - patient_data = models.JSONField( - default=list, - help_text="List of patient IDs and file numbers to process" - ) - + patient_data = models.JSONField(default=list, help_text="List of patient IDs and file numbers to process") + # Results - results = models.JSONField( - default=dict, - blank=True, - help_text="Detailed results including successes and failures" - ) - + results = models.JSONField(default=dict, blank=True, help_text="Detailed results including successes and failures") + # Error info error_message = models.TextField(blank=True) - + # Timestamps started_at = models.DateTimeField(null=True, blank=True) completed_at = models.DateTimeField(null=True, blank=True) - + class Meta: - ordering = ['-created_at'] + ordering = ["-created_at"] indexes = [ - models.Index(fields=['status', '-created_at']), - models.Index(fields=['created_by', '-created_at']), - models.Index(fields=['hospital', '-created_at']), + models.Index(fields=["status", "-created_at"]), + models.Index(fields=["created_by", "-created_at"]), + models.Index(fields=["hospital", "-created_at"]), ] - + def __str__(self): return f"Bulk Survey Job {self.id[:8]} - {self.status}" - + @property def progress_percentage(self): """Calculate progress percentage""" if self.total_patients == 0: return 0 return int((self.processed_count / self.total_patients) * 100) - + @property def is_complete(self): """Check if job is complete""" diff --git a/apps/surveys/public_views.py b/apps/surveys/public_views.py index 4e7a117..3afb3ee 100644 --- a/apps/surveys/public_views.py +++ b/apps/surveys/public_views.py @@ -1,7 +1,9 @@ """ Public survey views - Token-based survey forms (no login required) """ + from django.contrib import messages +from django.db.models import Q from django.http import JsonResponse from django.shortcuts import get_object_or_404, redirect, render from django.utils import timezone @@ -19,7 +21,7 @@ from .analytics import track_survey_open, track_survey_completion def survey_form(request, token): """ Public survey form - accessible via secure token link. - + Features: - No login required - Token-based access @@ -32,293 +34,291 @@ def survey_form(request, token): # Get survey instance by token # Allow access until survey is completed or token expires (2 days by default) try: - survey = SurveyInstance.objects.select_related( - 'survey_template', - 'patient', - 'journey_instance' - ).prefetch_related( - 'survey_template__questions' - ).get( - access_token=token, - status__in=['pending', 'sent', 'viewed', 'in_progress'], - token_expires_at__gt=timezone.now() + survey = ( + SurveyInstance.objects.select_related("survey_template", "patient", "journey_instance") + .prefetch_related("survey_template__questions") + .get( + access_token=token, + status__in=["pending", "sent", "viewed", "in_progress"], + token_expires_at__gt=timezone.now(), + ) ) except SurveyInstance.DoesNotExist: - return render(request, 'surveys/invalid_token.html', { - 'error': 'invalid_or_expired' - }) - + return render(request, "surveys/invalid_token.html", {"error": "invalid_or_expired"}) + # Track survey open - increment count and record tracking event # Get device info from user agent - user_agent_str = request.META.get('HTTP_USER_AGENT', '') - ip_address = request.META.get('REMOTE_ADDR', '') - + user_agent_str = request.META.get("HTTP_USER_AGENT", "") + ip_address = request.META.get("REMOTE_ADDR", "") + # Parse user agent for device info user_agent = parse(user_agent_str) - device_type = 'mobile' if user_agent.is_mobile else ('tablet' if user_agent.is_tablet else 'desktop') + device_type = "mobile" if user_agent.is_mobile else ("tablet" if user_agent.is_tablet else "desktop") browser = f"{user_agent.browser.family} {user_agent.browser.version_string}" - + # Update survey instance tracking fields survey.open_count += 1 survey.last_opened_at = timezone.now() - + # Update status based on current state if not survey.opened_at: survey.opened_at = timezone.now() - survey.status = 'viewed' - elif survey.status == 'sent': - survey.status = 'viewed' - - survey.save(update_fields=['open_count', 'last_opened_at', 'opened_at', 'status']) - + survey.status = "viewed" + elif survey.status == "sent": + survey.status = "viewed" + + survey.save(update_fields=["open_count", "last_opened_at", "opened_at", "status"]) + # Track page view event SurveyTracking.track_event( survey, - 'page_view', - user_agent=user_agent_str[:500] if user_agent_str else '', + "page_view", + user_agent=user_agent_str[:500] if user_agent_str else "", ip_address=ip_address, device_type=device_type, browser=browser, metadata={ - 'referrer': request.META.get('HTTP_REFERER', ''), - 'language': request.GET.get('lang', 'en'), - } + "referrer": request.META.get("HTTP_REFERER", ""), + "language": request.GET.get("lang", "en"), + }, ) - - # Get questions - questions = survey.survey_template.questions.filter( - is_required=True - ).order_by('order') | survey.survey_template.questions.filter( - is_required=False - ).order_by('order') - - if request.method == 'POST': + + # Get questions — filter by patient's experienced events + patient_events = set(survey.metadata.get("event_types", [])) + questions = survey.survey_template.questions.filter(Q(is_base=True) | Q(event_type__in=patient_events)).order_by( + "order" + ) + + if request.method == "POST": # Process survey responses - language = request.POST.get('language', 'en') + language = request.POST.get("language", "en") errors = [] responses_data = [] - + # Validate and collect responses for question in questions: - field_name = f'question_{question.id}' - + field_name = f"question_{question.id}" + # Check if required if question.is_required and not request.POST.get(field_name): errors.append(f"Question {question.order + 1} is required") continue - + # Get response value based on question type - if question.question_type in ['rating', 'likert']: + if question.question_type in ["rating", "likert"]: numeric_value = request.POST.get(field_name) if numeric_value: - responses_data.append({ - 'question': question, - 'numeric_value': float(numeric_value), - 'text_value': '', - 'choice_value': '' - }) - - elif question.question_type == 'nps': + responses_data.append( + { + "question": question, + "numeric_value": float(numeric_value), + "text_value": "", + "choice_value": "", + } + ) + + elif question.question_type == "nps": numeric_value = request.POST.get(field_name) if numeric_value: - responses_data.append({ - 'question': question, - 'numeric_value': float(numeric_value), - 'text_value': '', - 'choice_value': '' - }) - - elif question.question_type == 'yes_no': + responses_data.append( + { + "question": question, + "numeric_value": float(numeric_value), + "text_value": "", + "choice_value": "", + } + ) + + elif question.question_type == "yes_no": choice_value = request.POST.get(field_name) if choice_value: # Convert yes/no to numeric for scoring - numeric_value = 5.0 if choice_value == 'yes' else 1.0 - responses_data.append({ - 'question': question, - 'numeric_value': numeric_value, - 'text_value': '', - 'choice_value': choice_value - }) - - elif question.question_type == 'multiple_choice': + numeric_value = 5.0 if choice_value == "yes" else 1.0 + responses_data.append( + { + "question": question, + "numeric_value": numeric_value, + "text_value": "", + "choice_value": choice_value, + } + ) + + elif question.question_type == "multiple_choice": choice_value = request.POST.get(field_name) if choice_value: # Find the selected choice to get its label selected_choice = None for choice in question.choices_json: - if str(choice.get('value', '')) == str(choice_value): + if str(choice.get("value", "")) == str(choice_value): selected_choice = choice break - + # Get the label based on language - language = request.POST.get('language', 'en') - if language == 'ar' and selected_choice and selected_choice.get('label_ar'): - text_value = selected_choice['label_ar'] - elif selected_choice and selected_choice.get('label'): - text_value = selected_choice['label'] + language = request.POST.get("language", "en") + if language == "ar" and selected_choice and selected_choice.get("label_ar"): + text_value = selected_choice["label_ar"] + elif selected_choice and selected_choice.get("label"): + text_value = selected_choice["label"] else: text_value = choice_value - + # Try to convert choice value to numeric for scoring try: numeric_value = float(choice_value) except (ValueError, TypeError): numeric_value = None - - responses_data.append({ - 'question': question, - 'numeric_value': numeric_value, - 'text_value': text_value, - 'choice_value': choice_value - }) - - elif question.question_type in ['text', 'textarea']: - text_value = request.POST.get(field_name, '') + + responses_data.append( + { + "question": question, + "numeric_value": numeric_value, + "text_value": text_value, + "choice_value": choice_value, + } + ) + + elif question.question_type in ["text", "textarea"]: + text_value = request.POST.get(field_name, "") if text_value: - responses_data.append({ - 'question': question, - 'numeric_value': None, - 'text_value': text_value, - 'choice_value': '' - }) - + responses_data.append( + {"question": question, "numeric_value": None, "text_value": text_value, "choice_value": ""} + ) + # Get optional comment - comment = request.POST.get('comment', '').strip() - + comment = request.POST.get("comment", "").strip() + # If validation errors, show form again if errors: context = { - 'survey': survey, - 'questions': questions, - 'errors': errors, - 'language': language, + "survey": survey, + "questions": questions, + "errors": errors, + "language": language, } - return render(request, 'surveys/public_form.html', context) - + return render(request, "surveys/public_form.html", context) + # Save responses for response_data in responses_data: SurveyResponse.objects.update_or_create( survey_instance=survey, - question=response_data['question'], + question=response_data["question"], defaults={ - 'numeric_value': response_data['numeric_value'], - 'text_value': response_data['text_value'], - 'choice_value': response_data['choice_value'], - } + "numeric_value": response_data["numeric_value"], + "text_value": response_data["text_value"], + "choice_value": response_data["choice_value"], + }, ) - + # Update survey status - survey.status = 'completed' + survey.status = "completed" survey.completed_at = timezone.now() - + # Calculate time spent (from opened_at to completed_at) if survey.opened_at: time_spent = (timezone.now() - survey.opened_at).total_seconds() survey.time_spent_seconds = int(time_spent) - - survey.save(update_fields=['status', 'completed_at', 'time_spent_seconds']) - + + survey.save(update_fields=["status", "completed_at", "time_spent_seconds"]) + # Track completion event SurveyTracking.track_event( survey, - 'survey_completed', + "survey_completed", total_time_spent=survey.time_spent_seconds, - user_agent=user_agent_str[:500] if user_agent_str else '', + user_agent=user_agent_str[:500] if user_agent_str else "", ip_address=ip_address, metadata={ - 'response_count': len(responses_data), - 'language': language, - } + "response_count": len(responses_data), + "language": language, + }, ) - + # Calculate score score = survey.calculate_score() - + # Log completion AuditService.log_event( - event_type='survey_completed', + event_type="survey_completed", description=f"Survey completed: {survey.survey_template.name}", user=None, content_object=survey, metadata={ - 'score': float(score) if score else None, - 'is_negative': survey.is_negative, - 'response_count': len(responses_data), - 'has_comment': bool(comment) - } + "score": float(score) if score else None, + "is_negative": survey.is_negative, + "response_count": len(responses_data), + "has_comment": bool(comment), + }, ) - + # Save comment and trigger AI analysis if present if comment: survey.comment = comment - survey.save(update_fields=['comment']) - + survey.save(update_fields=["comment"]) + # Trigger background task for comment analysis from apps.surveys.tasks import analyze_survey_comment + try: analyze_survey_comment.delay(str(survey.id)) except Exception as e: # Log but don't fail the survey submission import logging + logger = logging.getLogger(__name__) logger.error(f"Failed to trigger comment analysis: {str(e)}") - + # Create PX action if negative if survey.is_negative: from apps.surveys.tasks import create_action_from_negative_survey + try: create_action_from_negative_survey.delay(str(survey.id)) except Exception as e: # Log but don't fail the survey submission import logging + logger = logging.getLogger(__name__) logger.error(f"Failed to trigger action creation: {str(e)}") - + # Redirect to thank you page - return redirect('surveys:thank_you', token=token) - + return redirect("surveys:thank_you", token=token) + # GET request - show form # Determine language from query param or browser - language = request.GET.get('lang', 'en') - + language = request.GET.get("lang", "en") + context = { - 'survey': survey, - 'questions': questions, - 'language': language, - 'total_questions': questions.count(), + "survey": survey, + "questions": questions, + "language": language, + "total_questions": questions.count(), } - - return render(request, 'surveys/public_form.html', context) + + return render(request, "surveys/public_form.html", context) def thank_you(request, token): """Thank you page after survey completion""" try: - survey = SurveyInstance.objects.select_related( - 'survey_template', - 'patient' - ).get( - access_token=token, - status='completed' + survey = SurveyInstance.objects.select_related("survey_template", "patient").get( + access_token=token, status="completed" ) except SurveyInstance.DoesNotExist: - return render(request, 'surveys/invalid_token.html', { - 'error': 'not_found' - }) - - language = request.GET.get('lang', 'en') - + return render(request, "surveys/invalid_token.html", {"error": "not_found"}) + + language = request.GET.get("lang", "en") + context = { - 'survey': survey, - 'language': language, + "survey": survey, + "language": language, } - - return render(request, 'surveys/thank_you.html', context) + + return render(request, "surveys/thank_you.html", context) def invalid_token(request): """Invalid or expired token page""" - return render(request, 'surveys/invalid_token.html') + return render(request, "surveys/invalid_token.html") @csrf_exempt @@ -326,41 +326,38 @@ def invalid_token(request): def track_survey_start(request, token): """ API endpoint to track when patient starts answering survey. - + Called via AJAX when patient first interacts with the form. Updates status from 'viewed' to 'in_progress'. """ try: # Get survey instance survey = SurveyInstance.objects.get( - access_token=token, - status__in=['viewed', 'in_progress'], - token_expires_at__gt=timezone.now() + access_token=token, status__in=["viewed", "in_progress"], token_expires_at__gt=timezone.now() ) - + # Only update if not already in_progress - if survey.status == 'viewed': - survey.status = 'in_progress' - survey.save(update_fields=['status']) - + if survey.status == "viewed": + survey.status = "in_progress" + survey.save(update_fields=["status"]) + # Track survey started event SurveyTracking.track_event( survey, - 'survey_started', - user_agent=request.META.get('HTTP_USER_AGENT', '')[:500] if request.META.get('HTTP_USER_AGENT') else '', - ip_address=request.META.get('REMOTE_ADDR', ''), + "survey_started", + user_agent=request.META.get("HTTP_USER_AGENT", "")[:500] if request.META.get("HTTP_USER_AGENT") else "", + ip_address=request.META.get("REMOTE_ADDR", ""), metadata={ - 'referrer': request.META.get('HTTP_REFERER', ''), - } + "referrer": request.META.get("HTTP_REFERER", ""), + }, ) - - return JsonResponse({ - 'status': 'success', - 'survey_status': survey.status, - }) - + + return JsonResponse( + { + "status": "success", + "survey_status": survey.status, + } + ) + except SurveyInstance.DoesNotExist: - return JsonResponse({ - 'status': 'error', - 'message': 'Survey not found or invalid token' - }, status=404) + return JsonResponse({"status": "error", "message": "Survey not found or invalid token"}, status=404) diff --git a/apps/surveys/serializers.py b/apps/surveys/serializers.py index 8041070..e085fc1 100644 --- a/apps/surveys/serializers.py +++ b/apps/surveys/serializers.py @@ -1,43 +1,66 @@ """ Surveys serializers """ + from rest_framework import serializers -from .models import SurveyInstance, SurveyQuestion, SurveyResponse, SurveyTemplate, SurveyTracking +from .models import ( + SurveyInstance, + SurveyQuestion, + SurveyResponse, + SurveyTemplate, + SurveyTracking, +) class SurveyQuestionSerializer(serializers.ModelSerializer): """Survey question serializer""" - + class Meta: model = SurveyQuestion fields = [ - 'id', 'survey_template', 'text', 'text_ar', - 'question_type', 'order', 'is_required', - 'choices_json', - 'created_at', 'updated_at' + "id", + "survey_template", + "text", + "text_ar", + "question_type", + "order", + "is_required", + "is_base", + "event_type", + "choices_json", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] class SurveyTemplateSerializer(serializers.ModelSerializer): """Survey template serializer""" - hospital_name = serializers.CharField(source='hospital.name', read_only=True) + + hospital_name = serializers.CharField(source="hospital.name", read_only=True) questions = SurveyQuestionSerializer(many=True, read_only=True) question_count = serializers.SerializerMethodField() - + class Meta: model = SurveyTemplate fields = [ - 'id', 'name', 'name_ar', - 'hospital', 'hospital_name', 'survey_type', - 'scoring_method', 'negative_threshold', - 'is_active', - 'questions', 'question_count', - 'created_at', 'updated_at' + "id", + "name", + "name_ar", + "hospital", + "hospital_name", + "survey_type", + "scoring_method", + "negative_threshold", + "is_active", + "questions", + "question_count", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] - + read_only_fields = ["id", "created_at", "updated_at"] + def get_question_count(self, obj): """Get number of questions""" return obj.get_question_count() @@ -45,79 +68,132 @@ class SurveyTemplateSerializer(serializers.ModelSerializer): class SurveyResponseSerializer(serializers.ModelSerializer): """Survey response serializer""" - question_text = serializers.CharField(source='question.text', read_only=True) - question_type = serializers.CharField(source='question.question_type', read_only=True) - + + question_text = serializers.SerializerMethodField() + question_type = serializers.SerializerMethodField() + class Meta: model = SurveyResponse fields = [ - 'id', 'survey_instance', 'question', 'question_text', 'question_type', - 'numeric_value', 'text_value', 'choice_value', - 'response_time_seconds', - 'created_at', 'updated_at' + "id", + "survey_instance", + "question", + "question_text", + "question_type", + "numeric_value", + "text_value", + "choice_value", + "response_time_seconds", + "created_at", + "updated_at", ] - read_only_fields = ['id', 'created_at', 'updated_at'] + read_only_fields = ["id", "created_at", "updated_at"] + + def get_question_text(self, obj): + if obj.question: + return obj.question.text + return "" + + def get_question_type(self, obj): + if obj.question: + return obj.question.question_type + return "" class SurveyInstanceSerializer(serializers.ModelSerializer): """Survey instance serializer""" - survey_template_name = serializers.CharField(source='survey_template.name', read_only=True) - recipient_name = serializers.CharField(source='get_recipient_name', read_only=True) - patient_name = serializers.CharField(source='patient.get_full_name', read_only=True) - patient_mrn = serializers.CharField(source='patient.mrn', read_only=True) - staff_name = serializers.CharField(source='staff.get_full_name', read_only=True) - staff_email = serializers.EmailField(source='staff.email', read_only=True) + + survey_template_name = serializers.SerializerMethodField() + recipient_name = serializers.CharField(source="get_recipient_name", read_only=True) + patient_name = serializers.CharField(source="patient.get_full_name", read_only=True) + patient_mrn = serializers.CharField(source="patient.mrn", read_only=True) + staff_name = serializers.CharField(source="staff.get_full_name", read_only=True) + staff_email = serializers.EmailField(source="staff.email", read_only=True) responses = SurveyResponseSerializer(many=True, read_only=True) survey_url = serializers.SerializerMethodField() comment_analysis = serializers.JSONField(read_only=True) - + class Meta: model = SurveyInstance fields = [ - 'id', 'survey_template', 'survey_template_name', - 'patient', 'patient_name', 'patient_mrn', - 'staff', 'staff_name', 'staff_email', - 'recipient_name', - 'journey_instance', 'encounter_id', - 'delivery_channel', 'recipient_phone', 'recipient_email', - 'access_token', 'token_expires_at', 'survey_url', - 'status', 'sent_at', 'opened_at', 'completed_at', - 'total_score', 'is_negative', - 'comment', 'comment_analyzed', 'comment_analysis', - 'responses', 'metadata', - 'created_at', 'updated_at' + "id", + "survey_template", + "survey_template_name", + "patient", + "patient_name", + "patient_mrn", + "staff", + "staff_name", + "staff_email", + "recipient_name", + "journey_instance", + "encounter_id", + "delivery_channel", + "recipient_phone", + "recipient_email", + "access_token", + "token_expires_at", + "survey_url", + "status", + "sent_at", + "opened_at", + "completed_at", + "total_score", + "is_negative", + "comment", + "comment_analyzed", + "comment_analysis", + "responses", + "metadata", + "created_at", + "updated_at", ] read_only_fields = [ - 'id', 'access_token', 'token_expires_at', - 'sent_at', 'opened_at', 'completed_at', - 'total_score', 'is_negative', - 'created_at', 'updated_at' + "id", + "access_token", + "token_expires_at", + "sent_at", + "opened_at", + "completed_at", + "total_score", + "is_negative", + "created_at", + "updated_at", ] - + + def get_survey_template_name(self, obj): + if obj.survey_template: + return obj.survey_template.name + return obj.metadata.get("patient_type", "Event-based Survey") + def validate(self, data): """Validate that exactly one of patient or staff is set""" - patient = data.get('patient') - staff = data.get('staff') - + patient = data.get("patient") + staff = data.get("staff") + # If we're updating, get existing values if self.instance: patient = patient if patient is not None else self.instance.patient staff = staff if staff is not None else self.instance.staff - + if patient and staff: - raise serializers.ValidationError({ - 'patient': 'Cannot specify both patient and staff for a survey', - 'staff': 'Cannot specify both patient and staff for a survey' - }) - + raise serializers.ValidationError( + { + "patient": "Cannot specify both patient and staff for a survey", + "staff": "Cannot specify both patient and staff for a survey", + } + ) + if not patient and not staff: - raise serializers.ValidationError({ - 'patient': 'Must specify either a patient or staff recipient', - 'staff': 'Must specify either a patient or staff recipient' - }) - + raise serializers.ValidationError( + { + "patient": "Must specify either a patient or staff recipient", + "staff": "Must specify either a patient or staff recipient", + } + ) + return data - + def get_survey_url(self, obj): """Get survey URL""" return obj.get_survey_url() @@ -126,185 +202,228 @@ class SurveyInstanceSerializer(serializers.ModelSerializer): class SurveySubmissionSerializer(serializers.Serializer): """ Serializer for submitting survey responses. - + Used by public survey form. """ + responses = serializers.ListField( - child=serializers.DictField(), - help_text="Array of {question_id, numeric_value, text_value, choice_value}" + child=serializers.DictField(), help_text="Array of {question_id, numeric_value, text_value, choice_value}" ) comment = serializers.CharField( - required=False, - allow_blank=True, - allow_null=True, - help_text="Optional patient comment about their experience" + required=False, allow_blank=True, allow_null=True, help_text="Optional patient comment about their experience" ) - + def validate_responses(self, value): """Validate responses""" if not value: raise serializers.ValidationError("At least one response is required") - + for response in value: - if 'question_id' not in response: + if "question_id" not in response: raise serializers.ValidationError("Each response must have question_id") - + return value - + def create(self, validated_data): """ Create survey responses and calculate score. - + This is called when a patient submits the survey. + Uses question_id to reference template questions. """ - survey_instance = self.context['survey_instance'] - responses_data = validated_data['responses'] - + survey_instance = self.context["survey_instance"] + responses_data = validated_data["responses"] + from apps.surveys.models import SurveyResponse, SurveyQuestion from django.utils import timezone - - # Create responses + for response_data in responses_data: - question_id = response_data['question_id'] - choice_value = response_data.get('choice_value', '') - numeric_value = response_data.get('numeric_value') - text_value = response_data.get('text_value', '') - - # For multiple_choice with choice_value but missing numeric/text values, - # look up the choice details from the question - if choice_value and numeric_value is None: + question_id = response_data.get("question_id") + choice_value = response_data.get("choice_value", "") + numeric_value = response_data.get("numeric_value") + text_value = response_data.get("text_value", "") + + if question_id: try: question = SurveyQuestion.objects.get(id=question_id) - if question.question_type == 'multiple_choice': - # Find the selected choice to get its label - selected_choice = None - for choice in question.choices_json: - if str(choice.get('value', '')) == str(choice_value): - selected_choice = choice + if choice_value and numeric_value is None: + for choice in question.choices_json or []: + if str(choice.get("value", "")) == str(choice_value): + if not text_value: + text_value = choice.get("label", choice_value) break - - # Set text_value from choice label if not provided - if not text_value and selected_choice: - text_value = selected_choice.get('label', choice_value) - - # Set numeric_value from choice value if it's numeric - if numeric_value is None: - try: - numeric_value = float(choice_value) - except (ValueError, TypeError): - numeric_value = None + try: + numeric_value = float(choice_value) + except (ValueError, TypeError): + pass + SurveyResponse.objects.create( + survey_instance=survey_instance, + question=question, + numeric_value=numeric_value, + text_value=text_value, + choice_value=choice_value, + response_time_seconds=response_data.get("response_time_seconds"), + ) except SurveyQuestion.DoesNotExist: pass - - SurveyResponse.objects.create( - survey_instance=survey_instance, - question_id=question_id, - numeric_value=numeric_value, - text_value=text_value, - choice_value=choice_value, - response_time_seconds=response_data.get('response_time_seconds') - ) - + # Update survey instance - survey_instance.status = 'completed' + survey_instance.status = "completed" survey_instance.completed_at = timezone.now() survey_instance.save() - + # Calculate score survey_instance.calculate_score() - + # Save optional comment if provided - if 'comment' in validated_data and validated_data['comment']: - survey_instance.comment = validated_data['comment'].strip() - survey_instance.save(update_fields=['comment']) - + if "comment" in validated_data and validated_data["comment"]: + survey_instance.comment = validated_data["comment"].strip() + survey_instance.save(update_fields=["comment"]) + # Queue processing task from apps.surveys.tasks import process_survey_completion + process_survey_completion.delay(str(survey_instance.id)) - + return survey_instance class SurveyTrackingSerializer(serializers.ModelSerializer): """ Survey tracking events serializer. - + Tracks detailed engagement metrics for surveys. """ - survey_template_name = serializers.CharField(source='survey_instance.survey_template.name', read_only=True) - recipient_name = serializers.CharField(source='survey_instance.get_recipient_name', read_only=True) - patient_name = serializers.CharField(source='survey_instance.patient.get_full_name', read_only=True) - staff_name = serializers.CharField(source='survey_instance.staff.get_full_name', read_only=True) - + + survey_template_name = serializers.SerializerMethodField() + recipient_name = serializers.CharField(source="survey_instance.get_recipient_name", read_only=True) + patient_name = serializers.CharField(source="survey_instance.patient.get_full_name", read_only=True) + staff_name = serializers.CharField(source="survey_instance.staff.get_full_name", read_only=True) + class Meta: model = SurveyTracking fields = [ - 'id', 'survey_instance', 'survey_template_name', 'recipient_name', - 'patient_name', 'staff_name', - 'event_type', 'time_on_page', 'total_time_spent', - 'current_question', 'user_agent', 'ip_address', - 'device_type', 'browser', 'country', 'city', 'metadata', - 'created_at' + "id", + "survey_instance", + "survey_template_name", + "recipient_name", + "patient_name", + "staff_name", + "event_type", + "time_on_page", + "total_time_spent", + "current_question", + "user_agent", + "ip_address", + "device_type", + "browser", + "country", + "city", + "metadata", + "created_at", ] - read_only_fields = ['id', 'created_at'] + read_only_fields = ["id", "created_at"] + + def get_survey_template_name(self, obj): + if obj.survey_instance.survey_template: + return obj.survey_instance.survey_template.name + return obj.survey_instance.metadata.get("patient_type", "Event-based Survey") class SurveyInstanceAnalyticsSerializer(serializers.ModelSerializer): """ Enhanced survey instance serializer with tracking analytics. """ - survey_template_name = serializers.CharField(source='survey_template.name', read_only=True) - recipient_name = serializers.CharField(source='get_recipient_name', read_only=True) + + survey_template_name = serializers.SerializerMethodField() + recipient_name = serializers.CharField(source="get_recipient_name", read_only=True) recipient_type = serializers.SerializerMethodField() - patient_name = serializers.CharField(source='patient.get_full_name', read_only=True) - patient_mrn = serializers.CharField(source='patient.mrn', read_only=True) - staff_name = serializers.CharField(source='staff.get_full_name', read_only=True) - staff_email = serializers.EmailField(source='staff.email', read_only=True) + patient_name = serializers.CharField(source="patient.get_full_name", read_only=True) + patient_mrn = serializers.CharField(source="patient.mrn", read_only=True) + staff_name = serializers.CharField(source="staff.get_full_name", read_only=True) + staff_email = serializers.EmailField(source="staff.email", read_only=True) responses = SurveyResponseSerializer(many=True, read_only=True) survey_url = serializers.SerializerMethodField() tracking_events_count = serializers.SerializerMethodField() time_to_complete_minutes = serializers.SerializerMethodField() comment_analysis = serializers.JSONField(read_only=True) - + class Meta: model = SurveyInstance fields = [ - 'id', 'survey_template', 'survey_template_name', - 'recipient_name', 'recipient_type', - 'patient', 'patient_name', 'patient_mrn', - 'staff', 'staff_name', 'staff_email', - 'journey_instance', 'encounter_id', - 'delivery_channel', 'recipient_phone', 'recipient_email', - 'access_token', 'token_expires_at', 'survey_url', - 'status', 'sent_at', 'opened_at', 'completed_at', - 'open_count', 'last_opened_at', 'time_spent_seconds', - 'total_score', 'is_negative', - 'comment', 'comment_analyzed', 'comment_analysis', - 'responses', 'metadata', - 'tracking_events_count', 'time_to_complete_minutes', - 'created_at', 'updated_at' + "id", + "survey_template", + "survey_template_name", + "recipient_name", + "recipient_type", + "patient", + "patient_name", + "patient_mrn", + "staff", + "staff_name", + "staff_email", + "journey_instance", + "encounter_id", + "delivery_channel", + "recipient_phone", + "recipient_email", + "access_token", + "token_expires_at", + "survey_url", + "status", + "sent_at", + "opened_at", + "completed_at", + "open_count", + "last_opened_at", + "time_spent_seconds", + "total_score", + "is_negative", + "comment", + "comment_analyzed", + "comment_analysis", + "responses", + "metadata", + "tracking_events_count", + "time_to_complete_minutes", + "created_at", + "updated_at", ] read_only_fields = [ - 'id', 'access_token', 'token_expires_at', - 'sent_at', 'opened_at', 'completed_at', - 'open_count', 'last_opened_at', 'time_spent_seconds', - 'total_score', 'is_negative', - 'tracking_events_count', 'time_to_complete_minutes', - 'created_at', 'updated_at' + "id", + "access_token", + "token_expires_at", + "sent_at", + "opened_at", + "completed_at", + "open_count", + "last_opened_at", + "time_spent_seconds", + "total_score", + "is_negative", + "tracking_events_count", + "time_to_complete_minutes", + "created_at", + "updated_at", ] - + def get_survey_url(self, obj): """Get survey URL""" return obj.get_survey_url() - + + def get_survey_template_name(self, obj): + if obj.survey_template: + return obj.survey_template.name + return obj.metadata.get("patient_type", "Event-based Survey") + def get_recipient_type(self, obj): """Get recipient type (patient or staff)""" - return 'staff' if obj.staff else 'patient' - + return "staff" if obj.staff else "patient" + def get_tracking_events_count(self, obj): """Get count of tracking events""" return obj.tracking_events.count() - + def get_time_to_complete_minutes(self, obj): """Calculate time to complete in minutes""" if obj.sent_at and obj.completed_at: @@ -316,17 +435,32 @@ class SurveyInstanceAnalyticsSerializer(serializers.ModelSerializer): class PublicSurveySerializer(serializers.ModelSerializer): """ Public survey serializer for patient-facing survey form. - - Excludes sensitive information. + + Excludes sensitive information. Uses template questions. """ - survey_name = serializers.CharField(source='survey_template.name', read_only=True) - survey_name_ar = serializers.CharField(source='survey_template.name_ar', read_only=True) - questions = SurveyQuestionSerializer(source='survey_template.questions', many=True, read_only=True) - + + survey_name = serializers.SerializerMethodField() + survey_name_ar = serializers.SerializerMethodField() + questions = serializers.SerializerMethodField() + class Meta: model = SurveyInstance - fields = [ - 'id', 'survey_name', 'survey_name_ar', - 'questions', 'status', 'completed_at' - ] - read_only_fields = ['id', 'status', 'completed_at'] + fields = ["id", "survey_name", "survey_name_ar", "questions", "status", "completed_at"] + read_only_fields = ["id", "status", "completed_at"] + + def get_survey_name(self, obj): + if obj.survey_template: + return obj.survey_template.name + return "Patient Experience Survey" + + def get_survey_name_ar(self, obj): + if obj.survey_template: + return obj.survey_template.name_ar + return "" + + def get_questions(self, obj): + from django.db.models import Q + + patient_events = set(obj.metadata.get("event_types", [])) + qs = obj.survey_template.questions.filter(Q(is_base=True) | Q(event_type__in=patient_events)).order_by("order") + return SurveyQuestionSerializer(qs, many=True).data diff --git a/apps/surveys/services.py b/apps/surveys/services.py index f7972f5..3594d83 100644 --- a/apps/surveys/services.py +++ b/apps/surveys/services.py @@ -9,6 +9,7 @@ This service handles: Uses NotificationService for all delivery operations. """ + from django.conf import settings from django.utils import timezone import logging @@ -18,113 +19,117 @@ logger = logging.getLogger(__name__) class SurveyDeliveryService: """Service for delivering surveys to patients""" - + @staticmethod def generate_survey_url(survey_instance) -> str: """ Generate secure survey URL with access token. - + Args: survey_instance: SurveyInstance object - + Returns: Full survey URL """ - base_url = getattr(settings, 'SURVEY_BASE_URL', 'http://localhost:8000') + base_url = getattr(settings, "SURVEY_BASE_URL", "http://localhost:8000") survey_path = survey_instance.get_survey_url() full_url = f"{base_url}{survey_path}" logger.info(f"Generated survey URL for {survey_instance.id}: {full_url}") return full_url - + @staticmethod - def generate_sms_message(recipient_name: str, survey_url: str, hospital_name: str = None, is_staff: bool = False) -> str: + def generate_sms_message( + recipient_name: str, survey_url: str, hospital_name: str = None, is_staff: bool = False + ) -> str: """ Generate SMS message with survey link. - + Args: recipient_name: Recipient's first name (patient or staff) survey_url: Survey link hospital_name: Optional hospital name is_staff: Whether recipient is staff member - + Returns: SMS message text """ message = f"Dear {recipient_name},\n\n" - + if hospital_name: message += f"Thank you for being part of {hospital_name}. " - + if is_staff: message += "We value your feedback! Please take a moment to complete our staff experience survey:\n\n" else: message += "We value your feedback! Please take a moment to complete our patient experience survey:\n\n" - + message += f"{survey_url}\n\n" message += "This survey will take approximately 2-3 minutes.\n" message += "Thank you for helping us improve our services!" - + return message - + @staticmethod - def generate_email_message(recipient_name: str, survey_url: str, hospital_name: str = None, is_staff: bool = False) -> str: + def generate_email_message( + recipient_name: str, survey_url: str, hospital_name: str = None, is_staff: bool = False + ) -> str: """ Generate email message with survey link. - + Args: recipient_name: Recipient's first name (patient or staff) survey_url: Survey link hospital_name: Optional hospital name is_staff: Whether recipient is staff member - + Returns: Email message text """ message = f"Dear {recipient_name},\n\n" - + if hospital_name: message += f"Thank you for being part of {hospital_name}.\n\n" else: message += "Thank you for being part of our hospital.\n\n" - + if is_staff: message += "We value your feedback and would appreciate it if you could take a moment to complete our staff experience survey.\n\n" message += "Your feedback helps us improve our services and create a better work environment.\n\n" else: message += "We value your feedback and would appreciate it if you could take a moment to complete our patient experience survey.\n\n" message += "Your feedback helps us improve our services and provide better care for all our patients.\n\n" - + message += f"Survey Link: {survey_url}\n\n" message += "This survey will take approximately 2-3 minutes to complete.\n\n" message += "If you have any questions or concerns, please don't hesitate to contact us.\n\n" message += "Thank you for helping us improve our services!\n\n" - + if is_staff: message += "Best regards,\n" message += "Hospital Administration Team" else: message += "Best regards,\n" message += "Patient Experience Team" - + return message - + @staticmethod def send_survey_sms(survey_instance) -> bool: """ Send survey via SMS using NotificationService API. - + Args: survey_instance: SurveyInstance object - + Returns: True if sent successfully, False otherwise """ logger.info(f"Sending SMS for survey {survey_instance.id}, phone={survey_instance.recipient_phone}") - + if not survey_instance.recipient_phone: logger.warning(f"No phone number for survey {survey_instance.id}") return False - + try: # Generate survey URL and message survey_url = SurveyDeliveryService.generate_survey_url(survey_instance) @@ -132,74 +137,63 @@ class SurveyDeliveryService: recipient_name = full_name.split()[0] if full_name and full_name.strip() else "there" # First name only is_staff = survey_instance.staff is not None hospital_name = survey_instance.hospital.name if survey_instance.hospital else None - message = SurveyDeliveryService.generate_sms_message( - recipient_name, survey_url, hospital_name, is_staff - ) - + message = SurveyDeliveryService.generate_sms_message(recipient_name, survey_url, hospital_name, is_staff) + # Use NotificationService for delivery (supports API backend) from apps.notifications.services import NotificationService - + # Build metadata metadata = { - 'survey_id': str(survey_instance.id), - 'hospital_id': str(survey_instance.hospital.id), - 'is_staff_survey': is_staff + "survey_id": str(survey_instance.id), + "hospital_id": str(survey_instance.hospital.id), + "is_staff_survey": is_staff, } - + if survey_instance.patient: - metadata['patient_id'] = str(survey_instance.patient.id) + metadata["patient_id"] = str(survey_instance.patient.id) if survey_instance.staff: - metadata['staff_id'] = str(survey_instance.staff.id) - - # Try API first, fallback to regular SMS - notification_log = NotificationService.send_sms_via_api( - message=message, + metadata["staff_id"] = str(survey_instance.staff.id) + + # Send SMS via notification service (uses Mshastra if configured) + notification_log = NotificationService.send_sms( phone=survey_instance.recipient_phone, + message=message, related_object=survey_instance, - metadata=metadata + metadata=metadata, ) - - # If API is disabled or failed, fallback to regular send_sms - if notification_log is None: - logger.info("SMS API disabled or returned None, falling back to regular SMS") - notification_log = NotificationService.send_sms( - phone=survey_instance.recipient_phone, - message=message, - related_object=survey_instance, - metadata=metadata - ) - + # Update survey instance based on notification status - if notification_log and (notification_log.status == 'sent' or notification_log.status == 'pending'): + if notification_log and (notification_log.status == "sent" or notification_log.status == "pending"): from apps.surveys.models import SurveyStatus + survey_instance.status = SurveyStatus.SENT survey_instance.sent_at = timezone.now() - survey_instance.save(update_fields=['status', 'sent_at']) + survey_instance.save(update_fields=["status", "sent_at"]) logger.info(f"Survey SMS sent successfully to {survey_instance.recipient_phone}") return True else: logger.warning(f"Survey SMS delivery failed for {survey_instance.id}") return False - + except Exception as e: logger.error(f"Error sending SMS for survey {survey_instance.id}: {str(e)}", exc_info=True) return False - + @staticmethod def send_survey_email(survey_instance) -> bool: """ Send survey via Email using NotificationService API. - + Args: survey_instance: SurveyInstance object - + Returns: True if sent successfully, False otherwise """ if not survey_instance.recipient_email: logger.warning(f"No email address for survey {survey_instance.id}") return False - + try: # Generate survey URL and message survey_url = SurveyDeliveryService.generate_survey_url(survey_instance) @@ -207,31 +201,29 @@ class SurveyDeliveryService: recipient_name = full_name.split()[0] if full_name and full_name.strip() else "there" # First name only is_staff = survey_instance.staff is not None hospital_name = survey_instance.hospital.name if survey_instance.hospital else None - message = SurveyDeliveryService.generate_email_message( - recipient_name, survey_url, hospital_name, is_staff - ) - + message = SurveyDeliveryService.generate_email_message(recipient_name, survey_url, hospital_name, is_staff) + # Use NotificationService for delivery (supports API backend) from apps.notifications.services import NotificationService - + # Build metadata metadata = { - 'survey_id': str(survey_instance.id), - 'hospital_id': str(survey_instance.hospital.id), - 'is_staff_survey': is_staff + "survey_id": str(survey_instance.id), + "hospital_id": str(survey_instance.hospital.id), + "is_staff_survey": is_staff, } - + if survey_instance.patient: - metadata['patient_id'] = str(survey_instance.patient.id) + metadata["patient_id"] = str(survey_instance.patient.id) if survey_instance.staff: - metadata['staff_id'] = str(survey_instance.staff.id) - + metadata["staff_id"] = str(survey_instance.staff.id) + # Set email subject if is_staff: - subject = f'Staff Experience Survey - {survey_instance.hospital.name}' + subject = f"Staff Experience Survey - {survey_instance.hospital.name}" else: - subject = f'Patient Experience Survey - {survey_instance.hospital.name}' - + subject = f"Patient Experience Survey - {survey_instance.hospital.name}" + # Try API first, fallback to regular email notification_log = NotificationService.send_email_via_api( message=message, @@ -239,9 +231,9 @@ class SurveyDeliveryService: subject=subject, html_message=None, # Plain text for now related_object=survey_instance, - metadata=metadata + metadata=metadata, ) - + # If API is disabled or failed, fallback to regular send_email if notification_log is None: logger.info("Email API disabled or returned None, falling back to regular email") @@ -250,63 +242,66 @@ class SurveyDeliveryService: subject=subject, message=message, related_object=survey_instance, - metadata=metadata + metadata=metadata, ) - + # Update survey instance based on notification status - if notification_log and (notification_log.status == 'sent' or notification_log.status == 'pending'): + if notification_log and (notification_log.status == "sent" or notification_log.status == "pending"): from apps.surveys.models import SurveyStatus + survey_instance.status = SurveyStatus.SENT survey_instance.sent_at = timezone.now() - survey_instance.save(update_fields=['status', 'sent_at']) + survey_instance.save(update_fields=["status", "sent_at"]) logger.info(f"Survey email sent successfully to {survey_instance.recipient_email}") return True else: logger.warning(f"Survey email delivery failed for {survey_instance.id}") return False - + except Exception as e: logger.error(f"Error sending email for survey {survey_instance.id}: {str(e)}") return False - + @staticmethod def deliver_survey(survey_instance) -> bool: """ Deliver survey based on configured delivery channel. - + Args: survey_instance: SurveyInstance object - + Returns: True if delivered successfully, False otherwise """ - logger.info(f"Delivering survey {survey_instance.id}, channel={survey_instance.delivery_channel}, phone={survey_instance.recipient_phone}") - + logger.info( + f"Delivering survey {survey_instance.id}, channel={survey_instance.delivery_channel}, phone={survey_instance.recipient_phone}" + ) + # Normalize delivery channel to lowercase for comparison - delivery_channel = (survey_instance.delivery_channel or '').lower() - + delivery_channel = (survey_instance.delivery_channel or "").lower() + # Get recipient (patient or staff) recipient = survey_instance.get_recipient() logger.info(f"Survey {survey_instance.id} recipient: {recipient}") - + # Ensure contact info is set - if delivery_channel == 'sms': + if delivery_channel == "sms": if recipient: survey_instance.recipient_phone = survey_instance.recipient_phone or recipient.phone logger.info(f"Survey {survey_instance.id} SMS - recipient_phone: {survey_instance.recipient_phone}") - elif delivery_channel == 'email': + elif delivery_channel == "email": if recipient: - survey_instance.recipient_email = survey_instance.recipient_email or getattr(recipient, 'email', None) - + survey_instance.recipient_email = survey_instance.recipient_email or getattr(recipient, "email", None) + # Save contact info survey_instance.save() - + # Send based on channel - if delivery_channel == 'sms': + if delivery_channel == "sms": return SurveyDeliveryService.send_survey_sms(survey_instance) - elif delivery_channel == 'email': + elif delivery_channel == "email": return SurveyDeliveryService.send_survey_email(survey_instance) - elif delivery_channel == 'whatsapp': + elif delivery_channel == "whatsapp": # TODO: Implement WhatsApp delivery logger.warning(f"WhatsApp delivery not yet implemented for survey {survey_instance.id}") return False diff --git a/apps/surveys/tasks.py b/apps/surveys/tasks.py index f87e9c5..5052dd0 100644 --- a/apps/surveys/tasks.py +++ b/apps/surveys/tasks.py @@ -342,11 +342,12 @@ def create_action_from_negative_survey(survey_instance_id): # Determine category based on survey template or journey stage category = "service_quality" # Default - if survey.survey_template.survey_type == "post_discharge": - category = "clinical_quality" - elif survey.survey_template.survey_type == "inpatient_satisfaction": - category = "service_quality" - elif survey.journey_instance and survey.journey_instance.stage: + if survey.survey_template: + if survey.survey_template.survey_type == "post_discharge": + category = "clinical_quality" + elif survey.survey_template.survey_type == "inpatient_satisfaction": + category = "service_quality" + if survey.journey_instance and survey.journey_instance.stage: stage = survey.journey_instance.stage.lower() if "admission" in stage or "registration" in stage: category = "process_improvement" @@ -356,9 +357,14 @@ def create_action_from_negative_survey(survey_instance_id): category = "process_improvement" # Build description + survey_label = ( + survey.survey_template.name + if survey.survey_template + else survey.metadata.get("patient_type", "Event-based Survey") + ) description_parts = [ f"Negative survey response with score {score:.1f}/5.0", - f"Survey Template: {survey.survey_template.name}", + f"Survey: {survey_label}", ] if survey.comment: @@ -379,7 +385,7 @@ def create_action_from_negative_survey(survey_instance_id): source_type="survey", content_type=survey_ct, object_id=survey.id, - title=f"Negative Survey: {survey.survey_template.name} (Score: {score:.1f})", + title=f"Negative Survey: {survey_label} (Score: {score:.1f})", description=description, hospital=survey.hospital, department=None, @@ -389,7 +395,7 @@ def create_action_from_negative_survey(survey_instance_id): status="open", metadata={ "source_survey_id": str(survey.id), - "source_survey_template": survey.survey_template.name, + "source_survey_template": survey_label, "survey_score": score, "is_negative": True, "has_comment": bool(survey.comment), diff --git a/apps/surveys/ui_views.py b/apps/surveys/ui_views.py index c921082..7f1614b 100644 --- a/apps/surveys/ui_views.py +++ b/apps/surveys/ui_views.py @@ -7,7 +7,7 @@ from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator from django.db.models import Q, Prefetch, Avg, Count, F, Case, When, IntegerField from django.db.models.functions import TruncDate -from django.http import FileResponse, HttpResponse +from django.http import FileResponse, HttpResponse, JsonResponse from django.shortcuts import get_object_or_404, redirect, render from django.utils import timezone from django.views.decorators.http import require_http_methods @@ -58,9 +58,9 @@ def survey_instance_list(request): if user.is_px_admin(): pass # See all elif user.is_hospital_admin() and user.hospital: - queryset = queryset.filter(survey_template__hospital=user.hospital) + queryset = queryset.filter(hospital=user.hospital) elif user.hospital: - queryset = queryset.filter(survey_template__hospital=user.hospital) + queryset = queryset.filter(hospital=user.hospital) else: queryset = queryset.none() @@ -79,7 +79,7 @@ def survey_instance_list(request): hospital_filter = request.GET.get("hospital") if hospital_filter: - queryset = queryset.filter(survey_template__hospital_id=hospital_filter) + queryset = queryset.filter(hospital_id=hospital_filter) # Search search_query = request.GET.get("search") @@ -200,6 +200,8 @@ def survey_instance_detail(request, pk): "template_average": round(template_average, 2), "related_surveys": related_surveys, "question_stats": question_stats, + "visit_timeline": survey.metadata.get("visit_timeline", []), + "survey_url": SurveyDeliveryService.generate_survey_url(survey), } return render(request, "surveys/instance_detail.html", context) @@ -211,22 +213,18 @@ def survey_template_list(request): """Survey templates list view""" queryset = SurveyTemplate.objects.select_related("hospital").prefetch_related("questions") - # Apply RBAC filters user = request.user if user.is_px_admin(): - # PX Admins see templates for their selected hospital (from session) tenant_hospital = getattr(request, "tenant_hospital", None) if tenant_hospital: queryset = queryset.filter(hospital=tenant_hospital) else: - # If no hospital selected, show none (user needs to select a hospital) queryset = queryset.none() elif user.hospital: queryset = queryset.filter(hospital=user.hospital) else: queryset = queryset.none() - # Apply filters survey_type = request.GET.get("survey_type") if survey_type: queryset = queryset.filter(survey_type=survey_type) @@ -241,10 +239,8 @@ def survey_template_list(request): elif is_active == "false": queryset = queryset.filter(is_active=False) - # Ordering queryset = queryset.order_by("hospital", "survey_type", "name") - # Pagination page_size = int(request.GET.get("page_size", 25)) paginator = Paginator(queryset, page_size) page_number = request.GET.get("page", 1) @@ -263,7 +259,6 @@ def survey_template_list(request): @login_required def survey_template_create(request): """Create a new survey template with questions""" - # Check permission user = request.user if not user.is_px_admin() and not user.is_hospital_admin(): messages.error(request, "You don't have permission to create survey templates.") @@ -303,14 +298,12 @@ def survey_template_detail(request, pk): """View survey template details""" template = get_object_or_404(SurveyTemplate.objects.select_related("hospital").prefetch_related("questions"), pk=pk) - # Check permission user = request.user if not user.is_px_admin() and not user.is_hospital_admin(): if user.hospital and template.hospital != user.hospital: messages.error(request, "You don't have permission to view this template.") return redirect("surveys:template_list") - # Get statistics total_instances = template.instances.count() completed_instances = template.instances.filter(status="completed").count() negative_instances = template.instances.filter(is_negative=True).count() @@ -337,7 +330,6 @@ def survey_template_edit(request, pk): """Edit an existing survey template with questions""" template = get_object_or_404(SurveyTemplate, pk=pk) - # Check permission user = request.user if not user.is_px_admin() and not user.is_hospital_admin(): if user.hospital and template.hospital != user.hospital: @@ -373,7 +365,6 @@ def survey_template_delete(request, pk): """Delete a survey template""" template = get_object_or_404(SurveyTemplate, pk=pk) - # Check permission user = request.user if not user.is_px_admin() and not user.is_hospital_admin(): if user.hospital and template.hospital != user.hospital: @@ -393,9 +384,6 @@ def survey_template_delete(request, pk): return render(request, "surveys/template_confirm_delete.html", context) -@block_source_user -@login_required -@require_http_methods(["POST"]) def survey_log_patient_contact(request, pk): """ Log patient contact for negative survey. @@ -1361,7 +1349,6 @@ def survey_analytics_report_view_inline(request, filename): """ import os from django.conf import settings - from django.http import FileResponse, HttpResponse user = request.user diff --git a/apps/surveys/urls.py b/apps/surveys/urls.py index 35b08f8..78c8402 100644 --- a/apps/surveys/urls.py +++ b/apps/surveys/urls.py @@ -11,64 +11,72 @@ from .views import ( from .analytics_views import SurveyAnalyticsViewSet, SurveyTrackingViewSet from . import public_views, ui_views, his_views -app_name = 'surveys' +app_name = "surveys" router = DefaultRouter() -router.register(r'api/templates', SurveyTemplateViewSet, basename='survey-template-api') -router.register(r'api/questions', SurveyQuestionViewSet, basename='survey-question-api') -router.register(r'api/instances', SurveyInstanceViewSet, basename='survey-instance-api') -router.register(r'api/responses', SurveyResponseViewSet, basename='survey-response-api') -router.register(r'api/analytics', SurveyAnalyticsViewSet, basename='survey-analytics-api') -router.register(r'api/tracking', SurveyTrackingViewSet, basename='survey-tracking-api') +router.register(r"api/templates", SurveyTemplateViewSet, basename="survey-template-api") +router.register(r"api/questions", SurveyQuestionViewSet, basename="survey-question-api") +router.register(r"api/instances", SurveyInstanceViewSet, basename="survey-instance-api") +router.register(r"api/responses", SurveyResponseViewSet, basename="survey-response-api") +router.register(r"api/analytics", SurveyAnalyticsViewSet, basename="survey-analytics-api") +router.register(r"api/tracking", SurveyTrackingViewSet, basename="survey-tracking-api") urlpatterns = [ # Public survey pages (no auth required) - path('invalid/', public_views.invalid_token, name='invalid_token'), - + path("invalid/", public_views.invalid_token, name="invalid_token"), # UI Views (authenticated) - specific paths first - path('send/', ui_views.manual_survey_send, name='manual_send'), - path('send/phone/', ui_views.manual_survey_send_phone, name='manual_send_phone'), - path('send/csv/', ui_views.manual_survey_send_csv, name='manual_send_csv'), - + path("send/", ui_views.manual_survey_send, name="manual_send"), + path("send/phone/", ui_views.manual_survey_send_phone, name="manual_send_phone"), + path("send/csv/", ui_views.manual_survey_send_csv, name="manual_send_csv"), # HIS Patient Import - path('his-import/', his_views.his_patient_import, name='his_patient_import'), - path('his-import/review/', his_views.his_patient_review, name='his_patient_review'), - path('his-import/send/', his_views.his_patient_survey_send, name='his_patient_survey_send'), - + path("his-import/", his_views.his_patient_import, name="his_patient_import"), + path("his-import/review/", his_views.his_patient_review, name="his_patient_review"), + path("his-import/send/", his_views.his_patient_survey_send, name="his_patient_survey_send"), # Bulk Survey Jobs - path('bulk-jobs/', his_views.bulk_job_list, name='bulk_job_list'), - path('bulk-jobs//', his_views.bulk_job_status, name='bulk_job_status'), - path('reports/', ui_views.survey_analytics_reports, name='analytics_reports'), - path('reports//view/', ui_views.survey_analytics_report_view_inline, name='analytics_report_view_inline'), - path('reports//download/', ui_views.survey_analytics_report_download, name='analytics_report_download'), - path('reports//delete/', ui_views.survey_analytics_report_delete, name='analytics_report_delete'), - path('reports//', ui_views.survey_analytics_report_view, name='analytics_report_view'), - + path("bulk-jobs/", his_views.bulk_job_list, name="bulk_job_list"), + path("bulk-jobs//", his_views.bulk_job_status, name="bulk_job_status"), + path("reports/", ui_views.survey_analytics_reports, name="analytics_reports"), + path( + "reports//view/", + ui_views.survey_analytics_report_view_inline, + name="analytics_report_view_inline", + ), + path( + "reports//download/", ui_views.survey_analytics_report_download, name="analytics_report_download" + ), + path("reports//delete/", ui_views.survey_analytics_report_delete, name="analytics_report_delete"), + path("reports//", ui_views.survey_analytics_report_view, name="analytics_report_view"), # Enhanced Reports (separate report per survey type) - path('enhanced-reports/', ui_views.enhanced_survey_reports_list, name='enhanced_reports_list'), - path('enhanced-reports/generate/', ui_views.generate_enhanced_report_ui, name='generate_enhanced_report'), - path('enhanced-reports//', ui_views.enhanced_survey_report_view, name='enhanced_report_view'), - path('enhanced-reports//', ui_views.enhanced_survey_report_file, name='enhanced_report_file'), - path('comments/', ui_views.survey_comments_list, name='survey_comments_list'), - path('instances/', ui_views.survey_instance_list, name='instance_list'), - path('instances//', ui_views.survey_instance_detail, name='instance_detail'), - path('instances//log-contact/', ui_views.survey_log_patient_contact, name='log_patient_contact'), - path('instances//send-satisfaction/', ui_views.survey_send_satisfaction_feedback, name='send_satisfaction_feedback'), - path('templates/', ui_views.survey_template_list, name='template_list'), - path('templates/create/', ui_views.survey_template_create, name='template_create'), - path('templates//', ui_views.survey_template_detail, name='template_detail'), - path('templates//edit/', ui_views.survey_template_edit, name='template_edit'), - path('templates//delete/', ui_views.survey_template_delete, name='template_delete'), - + path("enhanced-reports/", ui_views.enhanced_survey_reports_list, name="enhanced_reports_list"), + path("enhanced-reports/generate/", ui_views.generate_enhanced_report_ui, name="generate_enhanced_report"), + path("enhanced-reports//", ui_views.enhanced_survey_report_view, name="enhanced_report_view"), + path( + "enhanced-reports//", + ui_views.enhanced_survey_report_file, + name="enhanced_report_file", + ), + path("comments/", ui_views.survey_comments_list, name="survey_comments_list"), + path("instances/", ui_views.survey_instance_list, name="instance_list"), + path("instances//", ui_views.survey_instance_detail, name="instance_detail"), + path("instances//log-contact/", ui_views.survey_log_patient_contact, name="log_patient_contact"), + path( + "instances//send-satisfaction/", + ui_views.survey_send_satisfaction_feedback, + name="send_satisfaction_feedback", + ), + # Survey Templates (manual/ad-hoc surveys) + path("templates/", ui_views.survey_template_list, name="template_list"), + path("templates/create/", ui_views.survey_template_create, name="template_create"), + path("templates//", ui_views.survey_template_detail, name="template_detail"), + path("templates//edit/", ui_views.survey_template_edit, name="template_edit"), + path("templates//delete/", ui_views.survey_template_delete, name="template_delete"), # Public API endpoints (no auth required) - path('public//', PublicSurveyViewSet.as_view({'get': 'retrieve'}), name='public-survey'), - path('public//submit/', PublicSurveyViewSet.as_view({'post': 'submit'}), name='public-survey-submit'), - + path("public//", PublicSurveyViewSet.as_view({"get": "retrieve"}), name="public-survey"), + path("public//submit/", PublicSurveyViewSet.as_view({"post": "submit"}), name="public-survey-submit"), # Authenticated API endpoints - path('', include(router.urls)), - + path("", include(router.urls)), # Public survey token access (requires /s/ prefix) - path('s//', public_views.survey_form, name='survey_form'), - path('s//thank-you/', public_views.thank_you, name='thank_you'), - path('s//track-start/', public_views.track_survey_start, name='track_survey_start'), + path("s//", public_views.survey_form, name="survey_form"), + path("s//thank-you/", public_views.thank_you, name="thank_you"), + path("s//track-start/", public_views.track_survey_start, name="track_survey_start"), ] diff --git a/apps/surveys/views.py b/apps/surveys/views.py index f2801a9..f9c97f6 100644 --- a/apps/surveys/views.py +++ b/apps/surveys/views.py @@ -1,6 +1,7 @@ """ Surveys views and viewsets """ + from django.shortcuts import get_object_or_404 from django.utils import timezone from rest_framework import status, viewsets @@ -11,7 +12,12 @@ from rest_framework.response import Response from apps.accounts.permissions import IsPXAdminOrHospitalAdmin from apps.core.services import AuditService -from .models import SurveyInstance, SurveyQuestion, SurveyResponse, SurveyTemplate +from .models import ( + SurveyInstance, + SurveyQuestion, + SurveyResponse, + SurveyTemplate, +) from .serializers import ( PublicSurveySerializer, SurveyInstanceSerializer, @@ -30,17 +36,18 @@ class SurveyTemplateViewSet(viewsets.ModelViewSet): - PX Admins and Hospital Admins can manage templates - Others can view templates """ + queryset = SurveyTemplate.objects.all() serializer_class = SurveyTemplateSerializer permission_classes = [IsAuthenticated] - filterset_fields = ['survey_type', 'hospital', 'is_active', 'hospital__organization'] - search_fields = ['name', 'name_ar', 'description'] - ordering_fields = ['name', 'created_at'] - ordering = ['hospital', 'name'] + filterset_fields = ["survey_type", "hospital", "is_active", "hospital__organization"] + search_fields = ["name", "name_ar", "description"] + ordering_fields = ["name", "created_at"] + ordering = ["hospital", "name"] def get_queryset(self): """Filter templates based on user role""" - queryset = super().get_queryset().select_related('hospital').prefetch_related('questions') + queryset = super().get_queryset().select_related("hospital").prefetch_related("questions") user = self.request.user # PX Admins see all templates @@ -65,16 +72,17 @@ class SurveyQuestionViewSet(viewsets.ModelViewSet): Permissions: - PX Admins and Hospital Admins can manage questions """ + queryset = SurveyQuestion.objects.all() serializer_class = SurveyQuestionSerializer permission_classes = [IsAuthenticated, IsPXAdminOrHospitalAdmin] - filterset_fields = ['survey_template', 'question_type', 'is_required'] - search_fields = ['text', 'text_ar'] - ordering_fields = ['order', 'created_at'] - ordering = ['survey_template', 'order'] + filterset_fields = ["survey_template", "question_type", "is_required"] + search_fields = ["text", "text_ar"] + ordering_fields = ["order", "created_at"] + ordering = ["survey_template", "order"] def get_queryset(self): - queryset = super().get_queryset().select_related('survey_template') + queryset = super().get_queryset().select_related("survey_template") user = self.request.user # PX Admins see all questions @@ -96,23 +104,31 @@ class SurveyInstanceViewSet(viewsets.ModelViewSet): - All authenticated users can view survey instances - PX Admins and Hospital Admins can create/manage instances """ + queryset = SurveyInstance.objects.all() serializer_class = SurveyInstanceSerializer permission_classes = [IsAuthenticated] filterset_fields = [ - 'survey_template', 'patient', 'status', - 'delivery_channel', 'is_negative', 'journey_instance', - 'survey_template__hospital__organization' + "survey_template", + "patient", + "status", + "delivery_channel", + "is_negative", + "journey_instance", + "survey_template__hospital__organization", ] - search_fields = ['patient__mrn', 'patient__first_name', 'patient__last_name', 'encounter_id'] - ordering_fields = ['sent_at', 'completed_at', 'created_at'] - ordering = ['-created_at'] + search_fields = ["patient__mrn", "patient__first_name", "patient__last_name", "encounter_id"] + ordering_fields = ["sent_at", "completed_at", "created_at"] + ordering = ["-created_at"] def get_queryset(self): """Filter survey instances based on user role""" - queryset = super().get_queryset().select_related( - 'survey_template', 'patient', 'journey_instance' - ).prefetch_related('responses') + queryset = ( + super() + .get_queryset() + .select_related("survey_template", "patient", "journey_instance") + .prefetch_related("responses") + ) user = self.request.user @@ -130,22 +146,20 @@ class SurveyInstanceViewSet(viewsets.ModelViewSet): return queryset.none() - @action(detail=True, methods=['post']) + @action(detail=True, methods=["post"]) def resend(self, request, pk=None): """Resend survey invitation""" survey_instance = self.get_object() - if survey_instance.status == 'completed': - return Response( - {'error': 'Cannot resend completed survey'}, - status=status.HTTP_400_BAD_REQUEST - ) + if survey_instance.status == "completed": + return Response({"error": "Cannot resend completed survey"}, status=status.HTTP_400_BAD_REQUEST) # Queue survey send task from apps.surveys.tasks import send_survey_reminder + send_survey_reminder.delay(str(survey_instance.id)) - return Response({'message': 'Survey invitation queued for resend'}) + return Response({"message": "Survey invitation queued for resend"}) class SurveyResponseViewSet(viewsets.ReadOnlyModelViewSet): @@ -154,14 +168,15 @@ class SurveyResponseViewSet(viewsets.ReadOnlyModelViewSet): Responses are created via the public survey submission endpoint. """ + queryset = SurveyResponse.objects.all() serializer_class = SurveyResponseSerializer permission_classes = [IsAuthenticated] - filterset_fields = ['survey_instance', 'question'] - ordering = ['survey_instance', 'question__order'] + filterset_fields = ["survey_instance", "question"] + ordering = ["survey_instance", "question__order"] def get_queryset(self): - queryset = super().get_queryset().select_related('survey_instance', 'question') + queryset = super().get_queryset().select_related("survey_instance", "question") user = self.request.user # PX Admins see all responses @@ -170,11 +185,11 @@ class SurveyResponseViewSet(viewsets.ReadOnlyModelViewSet): # Hospital Admins see responses for their hospital if user.is_hospital_admin() and user.hospital: - return queryset.filter(survey_instance__survey_template__hospital=user.hospital) + return queryset.filter(survey_instance__hospital=user.hospital) # Others see responses for their hospital if user.hospital: - return queryset.filter(survey_instance__survey_template__hospital=user.hospital) + return queryset.filter(survey_instance__hospital=user.hospital) return queryset.none() @@ -185,6 +200,7 @@ class PublicSurveyViewSet(viewsets.GenericViewSet): No authentication required - uses secure token. """ + permission_classes = [AllowAny] def retrieve(self, request, token=None): @@ -194,35 +210,30 @@ class PublicSurveyViewSet(viewsets.GenericViewSet): GET /api/surveys/public/{token}/ """ survey_instance = get_object_or_404( - SurveyInstance.objects.select_related('survey_template').prefetch_related( - 'survey_template__questions' - ), - access_token=token + SurveyInstance.objects.select_related("survey_template").prefetch_related("survey_template__questions"), + access_token=token, ) # Check if token expired if survey_instance.token_expires_at and survey_instance.token_expires_at < timezone.now(): - return Response( - {'error': 'Survey link has expired'}, - status=status.HTTP_410_GONE - ) + return Response({"error": "Survey link has expired"}, status=status.HTTP_410_GONE) # Check if already completed - if survey_instance.status == 'completed': + if survey_instance.status == "completed": return Response( - {'error': 'Survey already completed', 'completed_at': survey_instance.completed_at}, - status=status.HTTP_410_GONE + {"error": "Survey already completed", "completed_at": survey_instance.completed_at}, + status=status.HTTP_410_GONE, ) # Mark as opened if first time if not survey_instance.opened_at: survey_instance.opened_at = timezone.now() - survey_instance.save(update_fields=['opened_at']) + survey_instance.save(update_fields=["opened_at"]) serializer = PublicSurveySerializer(survey_instance) return Response(serializer.data) - @action(detail=False, methods=['post'], url_path='(?P[^/.]+)/submit') + @action(detail=False, methods=["post"], url_path="(?P[^/.]+)/submit") def submit(self, request, token=None): """ Submit survey responses. @@ -237,34 +248,25 @@ class PublicSurveyViewSet(viewsets.GenericViewSet): ] } """ - survey_instance = get_object_or_404( - SurveyInstance, - access_token=token - ) + survey_instance = get_object_or_404(SurveyInstance, access_token=token) # Check if token expired if survey_instance.token_expires_at and survey_instance.token_expires_at < timezone.now(): - return Response( - {'error': 'Survey link has expired'}, - status=status.HTTP_410_GONE - ) + return Response({"error": "Survey link has expired"}, status=status.HTTP_410_GONE) # Check if already completed - if survey_instance.status == 'completed': - return Response( - {'error': 'Survey already completed'}, - status=status.HTTP_400_BAD_REQUEST - ) + if survey_instance.status == "completed": + return Response({"error": "Survey already completed"}, status=status.HTTP_400_BAD_REQUEST) # Validate and create responses - serializer = SurveySubmissionSerializer( - data=request.data, - context={'survey_instance': survey_instance} - ) + serializer = SurveySubmissionSerializer(data=request.data, context={"survey_instance": survey_instance}) serializer.is_valid(raise_exception=True) serializer.save() - return Response({ - 'message': 'Survey submitted successfully', - 'score': float(survey_instance.total_score) if survey_instance.total_score else None - }, status=status.HTTP_201_CREATED) + return Response( + { + "message": "Survey submitted successfully", + "score": float(survey_instance.total_score) if survey_instance.total_score else None, + }, + status=status.HTTP_201_CREATED, + ) diff --git a/config/celery.py b/config/celery.py index dd7b172..4e4ec92 100644 --- a/config/celery.py +++ b/config/celery.py @@ -1,26 +1,28 @@ """ Celery configuration for PX360 project. """ + import os from celery import Celery from celery.schedules import crontab # Set the default Django settings module for the 'celery' program. -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.dev') +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.dev") # Apply zoneinfo compatibility patch for django-celery-beat with Python 3.12+ # This must be done before Celery app is created from config.celery_scheduler import apply_tzcrontab_patch + apply_tzcrontab_patch() -app = Celery('px360') +app = Celery("px360") # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. -app.config_from_object('django.conf:settings', namespace='CELERY') +app.config_from_object("django.conf:settings", namespace="CELERY") # Load task modules from all registered Django apps. app.autodiscover_tasks() @@ -28,17 +30,17 @@ app.autodiscover_tasks() # Celery Beat schedule for periodic tasks app.conf.beat_schedule = { # Process unprocessed integration events every 1 minute - 'process-integration-events': { - 'task': 'apps.integrations.tasks.process_pending_events', - 'schedule': crontab(minute='*/1'), + "process-integration-events": { + "task": "apps.integrations.tasks.process_pending_events", + "schedule": crontab(minute="*/1"), }, - # Fetch surveys from HIS every 5 minutes - 'fetch-his-surveys': { - 'task': 'apps.integrations.tasks.fetch_his_surveys', - 'schedule': crontab(minute='*/2'), # Every 5 minutes - 'options': { - 'expires': 240, # Task expires after 4 minutes if not picked up - } + # Fetch patient data from HIS every 5 minutes + "fetch-his-surveys": { + "task": "apps.integrations.tasks.fetch_his_surveys", + "schedule": crontab(minute="*/5"), + "options": { + "expires": 300, + }, }, # TEST TASK - Fetch from JSON file (uncomment for testing, remove when done) # 'test-fetch-his-surveys-from-json': { @@ -46,98 +48,115 @@ app.conf.beat_schedule = { # 'schedule': crontab(minute='*/5'), # Every 5 minutes # }, # Send pending scheduled surveys every 10 minutes - 'send-pending-scheduled-surveys': { - 'task': 'apps.surveys.tasks.send_pending_scheduled_surveys', - 'schedule': crontab(minute='*/10'), # Every 10 minutes + "send-pending-scheduled-surveys": { + "task": "apps.surveys.tasks.send_pending_scheduled_surveys", + "schedule": crontab(minute="*/10"), # Every 10 minutes }, # Check for overdue complaints every 15 minutes - 'check-overdue-complaints': { - 'task': 'apps.complaints.tasks.check_overdue_complaints', - 'schedule': crontab(minute='*/15'), + "check-overdue-complaints": { + "task": "apps.complaints.tasks.check_overdue_complaints", + "schedule": crontab(minute="*/15"), }, # Check for overdue actions every 15 minutes - 'check-overdue-actions': { - 'task': 'apps.px_action_center.tasks.check_overdue_actions', - 'schedule': crontab(minute='*/15'), + "check-overdue-actions": { + "task": "apps.px_action_center.tasks.check_overdue_actions", + "schedule": crontab(minute="*/15"), }, # Send SLA reminders every hour - 'send-sla-reminders': { - 'task': 'apps.complaints.tasks.send_sla_reminders', - 'schedule': crontab(minute=0), # Every hour at minute 0 + "send-sla-reminders": { + "task": "apps.complaints.tasks.send_sla_reminders", + "schedule": crontab(minute=0), # Every hour at minute 0 }, # Check for overdue explanation requests every 15 minutes - 'check-overdue-explanation-requests': { - 'task': 'apps.complaints.tasks.check_overdue_explanation_requests', - 'schedule': crontab(minute='*/15'), + "check-overdue-explanation-requests": { + "task": "apps.complaints.tasks.check_overdue_explanation_requests", + "schedule": crontab(minute="*/15"), }, # Send explanation reminders every hour - 'send-explanation-reminders': { - 'task': 'apps.complaints.tasks.send_explanation_reminders', - 'schedule': crontab(minute=0), # Every hour at minute 0 + "send-explanation-reminders": { + "task": "apps.complaints.tasks.send_explanation_reminders", + "schedule": crontab(minute=0), # Every hour at minute 0 + }, + # Check for overdue inquiries every 15 minutes + "check-overdue-inquiries": { + "task": "apps.complaints.tasks.check_overdue_inquiries", + "schedule": crontab(minute="*/15"), + }, + # Send inquiry SLA reminders every hour + "send-inquiry-sla-reminders": { + "task": "apps.complaints.tasks.send_inquiry_sla_reminders", + "schedule": crontab(minute=0), # Every hour at minute 0 + }, + # Check for overdue observations every 15 minutes + "check-overdue-observations": { + "task": "apps.observations.tasks.check_overdue_observations", + "schedule": crontab(minute="*/15"), + }, + # Send observation SLA reminders every hour + "send-observation-sla-reminders": { + "task": "apps.observations.tasks.send_observation_sla_reminders", + "schedule": crontab(minute=0), # Every hour at minute 0 }, # Send onboarding reminders every hour - 'send-onboarding-reminders': { - 'task': 'apps.accounts.tasks.send_onboarding_reminders', - 'schedule': crontab(minute=30), # Every hour at minute 30 + "send-onboarding-reminders": { + "task": "apps.accounts.tasks.send_onboarding_reminders", + "schedule": crontab(minute=30), # Every hour at minute 30 }, # Clean up expired invitations daily at midnight - 'cleanup-expired-invitations': { - 'task': 'apps.accounts.tasks.cleanup_expired_invitations', - 'schedule': crontab(hour=0, minute=0), # Daily at midnight + "cleanup-expired-invitations": { + "task": "apps.accounts.tasks.cleanup_expired_invitations", + "schedule": crontab(hour=0, minute=0), # Daily at midnight }, # Calculate daily KPIs at 1 AM - 'calculate-daily-kpis': { - 'task': 'apps.analytics.tasks.calculate_daily_kpis', - 'schedule': crontab(hour=1, minute=0), + "calculate-daily-kpis": { + "task": "apps.analytics.tasks.calculate_daily_kpis", + "schedule": crontab(hour=1, minute=0), + }, + # Fetch doctor ratings from HIS on the 1st of each month at 1 AM (before aggregation) + "fetch-his-doctor-ratings-monthly": { + "task": "apps.physicians.tasks.fetch_his_doctor_ratings_monthly", + "schedule": crontab(hour=1, minute=0, day_of_month=1), }, # Calculate physician monthly ratings on the 1st of each month at 2 AM - 'calculate-physician-ratings': { - 'task': 'apps.physicians.tasks.calculate_monthly_ratings', - 'schedule': crontab(hour=2, minute=0, day_of_month=1), + "calculate-physician-ratings": { + "task": "apps.physicians.tasks.calculate_monthly_ratings", + "schedule": crontab(hour=2, minute=0, day_of_month=1), }, - - - - # Scraping schedules - 'scrape-youtube-hourly': { - 'task': 'social.tasks.scrape_youtube_comments', - 'schedule': 3600.0, # Every hour (in seconds) + "scrape-youtube-hourly": { + "task": "social.tasks.scrape_youtube_comments", + "schedule": 3600.0, # Every hour (in seconds) }, - 'scrape-facebook-every-6-hours': { - 'task': 'social.tasks.scrape_facebook_comments', - 'schedule': 6 * 3600.0, # Every 6 hours + "scrape-facebook-every-6-hours": { + "task": "social.tasks.scrape_facebook_comments", + "schedule": 6 * 3600.0, # Every 6 hours }, - 'scrape-instagram-daily': { - 'task': 'social.tasks.scrape_instagram_comments', - 'schedule': crontab(hour=8, minute=0), # Daily at 8:00 AM + "scrape-instagram-daily": { + "task": "social.tasks.scrape_instagram_comments", + "schedule": crontab(hour=8, minute=0), # Daily at 8:00 AM }, - 'scrape-twitter-every-2-hours': { - 'task': 'social.tasks.scrape_twitter_comments', - 'schedule': 2 * 3600.0, # Every 2 hours + "scrape-twitter-every-2-hours": { + "task": "social.tasks.scrape_twitter_comments", + "schedule": 2 * 3600.0, # Every 2 hours }, - 'scrape-linkedin-daily': { - 'task': 'social.tasks.scrape_linkedin_comments', - 'schedule': crontab(hour=9, minute=0), # Daily at 9:00 AM + "scrape-linkedin-daily": { + "task": "social.tasks.scrape_linkedin_comments", + "schedule": crontab(hour=9, minute=0), # Daily at 9:00 AM }, - 'scrape-google-reviews-daily': { - 'task': 'social.tasks.scrape_google_reviews', - 'schedule': crontab(hour=10, minute=0), # Daily at 10:00 AM + "scrape-google-reviews-daily": { + "task": "social.tasks.scrape_google_reviews", + "schedule": crontab(hour=10, minute=0), # Daily at 10:00 AM }, - - - # Commented out - individual platform tasks provide sufficient coverage # 'scrape-all-platforms-daily': { # 'task': 'social.tasks.scrape_all_platforms', # 'schedule': crontab(hour=2, minute=0), # Daily at 2:00 AM # }, - # Analysis schedules - 'analyze-comments-fallback': { - 'task': 'social.tasks.analyze_pending_comments', - 'schedule': 30 * 60.0, # Every 30 minutes - 'kwargs': {'limit': 100}, + "analyze-comments-fallback": { + "task": "social.tasks.analyze_pending_comments", + "schedule": 30 * 60.0, # Every 30 minutes + "kwargs": {"limit": 100}, }, } @@ -145,4 +164,4 @@ app.conf.beat_schedule = { @app.task(bind=True, ignore_result=True) def debug_task(self): """Debug task to test Celery is working.""" - print(f'Request: {self.request!r}') + print(f"Request: {self.request!r}") diff --git a/config/celery_scheduler.py b/config/celery_scheduler.py index 44c7f34..2c7329b 100644 --- a/config/celery_scheduler.py +++ b/config/celery_scheduler.py @@ -8,6 +8,10 @@ which have a `normalize()` method that zoneinfo.ZoneInfo doesn't have. import functools +# Flag to track if patch has been applied +_patch_applied = False + + def apply_tzcrontab_patch(): """ Apply monkey-patch to django_celery_beat.tzcrontab.TzAwareCrontab @@ -43,4 +47,24 @@ def apply_tzcrontab_patch(): if hasattr(self, '_zoneinfo_nowfun'): self.nowfun = self._zoneinfo_nowfun - tzcrontab.TzAwareCrontab.__init__ = patched_init \ No newline at end of file + tzcrontab.TzAwareCrontab.__init__ = patched_init + + +class PatchedDatabaseScheduler: + """ + Wrapper class that applies the zoneinfo patch before importing the real scheduler. + + This class is referenced in CELERY_BEAT_SCHEDULER setting and lazily imports + the actual DatabaseScheduler after applying the patch. + """ + + def __new__(cls, *args, **kwargs): + """Apply patch and return the actual DatabaseScheduler instance.""" + global _patch_applied + + if not _patch_applied: + apply_tzcrontab_patch() + _patch_applied = True + + from django_celery_beat.schedulers import DatabaseScheduler + return DatabaseScheduler(*args, **kwargs) diff --git a/config/settings/base.py b/config/settings/base.py index a0d333b..ad46a24 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -2,6 +2,7 @@ Base settings for PX360 project. This file contains settings common to all environments. """ + import os from pathlib import Path @@ -17,100 +18,100 @@ env = environ.Env( ) # Read .env file if it exists -environ.Env.read_env(os.path.join(BASE_DIR, '.env')) +environ.Env.read_env(os.path.join(BASE_DIR, ".env")) # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = env('SECRET_KEY', default='django-insecure-change-this-in-production') +SECRET_KEY = env("SECRET_KEY", default="django-insecure-change-this-in-production") # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = env('DEBUG') +DEBUG = env("DEBUG") -ALLOWED_HOSTS = env('ALLOWED_HOSTS') +ALLOWED_HOSTS = env("ALLOWED_HOSTS") # Application definition DJANGO_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", ] THIRD_PARTY_APPS = [ - 'rest_framework', - 'rest_framework_simplejwt', - 'django_filters', - 'drf_spectacular', - 'django_celery_beat', + "rest_framework", + "rest_framework_simplejwt", + "django_filters", + "drf_spectacular", + "django_celery_beat", ] LOCAL_APPS = [ - 'apps.core', - 'apps.accounts', - 'apps.organizations', - 'apps.journeys', - 'apps.surveys', - 'apps.complaints', - 'apps.feedback', - 'apps.callcenter', - 'apps.social', - 'apps.px_action_center', - 'apps.analytics', - 'apps.physicians', - 'apps.projects', - 'apps.integrations', - 'apps.notifications', - 'apps.ai_engine', - 'apps.dashboard', - 'apps.appreciation', - 'apps.observations', - 'apps.px_sources', - 'apps.references', - 'apps.standards', - 'apps.simulator', - 'apps.reports', + "apps.core", + "apps.accounts", + "apps.organizations", + "apps.journeys", + "apps.surveys", + "apps.complaints", + "apps.feedback", + "apps.callcenter", + "apps.social", + "apps.px_action_center", + "apps.analytics", + "apps.physicians", + "apps.projects", + "apps.integrations", + "apps.notifications", + "apps.ai_engine", + "apps.dashboard", + "apps.appreciation", + "apps.observations", + "apps.px_sources", + "apps.references", + "apps.standards", + "apps.simulator", + "apps.reports", ] INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'whitenoise.middleware.WhiteNoiseMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.locale.LocaleMiddleware', # i18n support - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'apps.core.middleware.TenantMiddleware', # Multi-tenancy support - 'apps.px_sources.middleware.SourceUserRestrictionMiddleware', # STRICT source user restrictions - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', + "django.middleware.security.SecurityMiddleware", + "whitenoise.middleware.WhiteNoiseMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.locale.LocaleMiddleware", # i18n support + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "apps.core.middleware.TenantMiddleware", # Multi-tenancy support + "apps.px_sources.middleware.SourceUserRestrictionMiddleware", # STRICT source user restrictions + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", ] -ROOT_URLCONF = 'config.urls' +ROOT_URLCONF = "config.urls" TEMPLATES = [ { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [BASE_DIR / 'templates'], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - 'django.template.context_processors.i18n', - 'apps.core.context_processors.sidebar_counts', - 'apps.core.context_processors.hospital_context', - 'apps.accounts.context_processors.acknowledgement_counts', + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [BASE_DIR / "templates"], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", + "django.template.context_processors.i18n", + "apps.core.context_processors.sidebar_counts", + "apps.core.context_processors.hospital_context", + "apps.accounts.context_processors.acknowledgement_counts", ], }, }, ] -WSGI_APPLICATION = 'config.wsgi.application' +WSGI_APPLICATION = "config.wsgi.application" # Database # https://docs.djangoproject.com/en/5.0/ref/settings/#databases @@ -119,9 +120,9 @@ WSGI_APPLICATION = 'config.wsgi.application' # } DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": BASE_DIR / "db.sqlite3", } } @@ -130,32 +131,32 @@ DATABASES = { # https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", }, { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", }, { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", }, { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", }, ] # Custom User Model -AUTH_USER_MODEL = 'accounts.User' +AUTH_USER_MODEL = "accounts.User" # Authentication URLs -LOGIN_URL = '/accounts/login/' -LOGIN_REDIRECT_URL = '/' -LOGOUT_REDIRECT_URL = '/accounts/login/' +LOGIN_URL = "/accounts/login/" +LOGIN_REDIRECT_URL = "/" +LOGOUT_REDIRECT_URL = "/accounts/login/" # Internationalization # https://docs.djangoproject.com/en/5.0/topics/i18n/ -LANGUAGE_CODE = 'en-us' +LANGUAGE_CODE = "en-us" -TIME_ZONE = 'Asia/Riyadh' +TIME_ZONE = "Asia/Riyadh" USE_I18N = True @@ -163,26 +164,26 @@ USE_TZ = True # Languages supported (Arabic and English) LANGUAGES = [ - ('en', 'English'), - ('ar', 'Arabic'), + ("en", "English"), + ("ar", "Arabic"), ] # Locale paths for translation files LOCALE_PATHS = [ - BASE_DIR / 'locale', + BASE_DIR / "locale", ] # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/5.0/howto/static-files/ -STATIC_URL = '/static/' -STATIC_ROOT = BASE_DIR / 'staticfiles' +STATIC_URL = "/static/" +STATIC_ROOT = BASE_DIR / "staticfiles" STATICFILES_DIRS = [ - BASE_DIR / 'static', + BASE_DIR / "static", ] # Media files -MEDIA_URL = '/media/' -MEDIA_ROOT = BASE_DIR / 'media' +MEDIA_URL = "/media/" +MEDIA_ROOT = BASE_DIR / "media" # Data upload settings # Increased limit to support bulk patient imports from HIS @@ -199,125 +200,120 @@ STORAGES = { } - # Default primary key field type # https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field -DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" # Django REST Framework REST_FRAMEWORK = { - 'DEFAULT_AUTHENTICATION_CLASSES': [ - 'rest_framework_simplejwt.authentication.JWTAuthentication', - 'rest_framework.authentication.SessionAuthentication', + "DEFAULT_AUTHENTICATION_CLASSES": [ + "rest_framework_simplejwt.authentication.JWTAuthentication", + "rest_framework.authentication.SessionAuthentication", ], - 'DEFAULT_PERMISSION_CLASSES': [ - 'rest_framework.permissions.IsAuthenticated', + "DEFAULT_PERMISSION_CLASSES": [ + "rest_framework.permissions.IsAuthenticated", ], - 'DEFAULT_FILTER_BACKENDS': [ - 'django_filters.rest_framework.DjangoFilterBackend', - 'rest_framework.filters.SearchFilter', - 'rest_framework.filters.OrderingFilter', + "DEFAULT_FILTER_BACKENDS": [ + "django_filters.rest_framework.DjangoFilterBackend", + "rest_framework.filters.SearchFilter", + "rest_framework.filters.OrderingFilter", ], - 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', - 'PAGE_SIZE': 50, - 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', + "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination", + "PAGE_SIZE": 50, + "DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema", } # JWT Settings from datetime import timedelta SIMPLE_JWT = { - 'ACCESS_TOKEN_LIFETIME': timedelta(hours=1), - 'REFRESH_TOKEN_LIFETIME': timedelta(days=7), - 'ROTATE_REFRESH_TOKENS': True, - 'BLACKLIST_AFTER_ROTATION': True, - 'UPDATE_LAST_LOGIN': True, + "ACCESS_TOKEN_LIFETIME": timedelta(hours=1), + "REFRESH_TOKEN_LIFETIME": timedelta(days=7), + "ROTATE_REFRESH_TOKENS": True, + "BLACKLIST_AFTER_ROTATION": True, + "UPDATE_LAST_LOGIN": True, } # DRF Spectacular (OpenAPI/Swagger) SPECTACULAR_SETTINGS = { - 'TITLE': 'PX360 API', - 'DESCRIPTION': 'Patient Experience 360 Management System API', - 'VERSION': '1.0.0', - 'SERVE_INCLUDE_SCHEMA': False, + "TITLE": "PX360 API", + "DESCRIPTION": "Patient Experience 360 Management System API", + "VERSION": "1.0.0", + "SERVE_INCLUDE_SCHEMA": False, } # Celery Configuration -CELERY_BROKER_URL = env('CELERY_BROKER_URL', default='redis://localhost:6379/0') -CELERY_RESULT_BACKEND = env('CELERY_RESULT_BACKEND', default='redis://localhost:6379/0') -CELERY_ACCEPT_CONTENT = ['json'] -CELERY_TASK_SERIALIZER = 'json' -CELERY_RESULT_SERIALIZER = 'json' +CELERY_BROKER_URL = env("CELERY_BROKER_URL", default="redis://localhost:6379/0") +CELERY_RESULT_BACKEND = env("CELERY_RESULT_BACKEND", default="redis://localhost:6379/0") +CELERY_ACCEPT_CONTENT = ["json"] +CELERY_TASK_SERIALIZER = "json" +CELERY_RESULT_SERIALIZER = "json" CELERY_TIMEZONE = TIME_ZONE CELERY_TASK_TRACK_STARTED = True CELERY_TASK_TIME_LIMIT = 30 * 60 # 30 minutes # Celery Beat Schedule -CELERY_BEAT_SCHEDULER = 'config.celery_scheduler:PatchedDatabaseScheduler' +CELERY_BEAT_SCHEDULER = "config.celery_scheduler:PatchedDatabaseScheduler" # Logging Configuration LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'formatters': { - 'verbose': { - 'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}', - 'style': '{', + "version": 1, + "disable_existing_loggers": False, + "formatters": { + "verbose": { + "format": "{levelname} {asctime} {module} {process:d} {thread:d} {message}", + "style": "{", }, - 'simple': { - 'format': '{levelname} {message}', - 'style': '{', + "simple": { + "format": "{levelname} {message}", + "style": "{", }, }, - 'filters': { - 'require_debug_true': { - '()': 'django.utils.log.RequireDebugTrue', + "filters": { + "require_debug_true": { + "()": "django.utils.log.RequireDebugTrue", }, }, - 'handlers': { - 'console': { - 'level': 'INFO', - 'class': 'logging.StreamHandler', - 'formatter': 'verbose' + "handlers": { + "console": {"level": "INFO", "class": "logging.StreamHandler", "formatter": "verbose"}, + "file": { + "level": "INFO", + "class": "logging.handlers.RotatingFileHandler", + "filename": BASE_DIR / "logs" / "px360.log", + "maxBytes": 1024 * 1024 * 15, # 15MB + "backupCount": 10, + "formatter": "verbose", }, - 'file': { - 'level': 'INFO', - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': BASE_DIR / 'logs' / 'px360.log', - 'maxBytes': 1024 * 1024 * 15, # 15MB - 'backupCount': 10, - 'formatter': 'verbose', - }, - 'integration_file': { - 'level': 'INFO', - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': BASE_DIR / 'logs' / 'integrations.log', - 'maxBytes': 1024 * 1024 * 15, # 15MB - 'backupCount': 10, - 'formatter': 'verbose', + "integration_file": { + "level": "INFO", + "class": "logging.handlers.RotatingFileHandler", + "filename": BASE_DIR / "logs" / "integrations.log", + "maxBytes": 1024 * 1024 * 15, # 15MB + "backupCount": 10, + "formatter": "verbose", }, }, - 'loggers': { - 'django': { - 'handlers': ['console', 'file'], - 'level': 'INFO', - 'propagate': False, + "loggers": { + "django": { + "handlers": ["console", "file"], + "level": "INFO", + "propagate": False, }, - 'apps': { - 'handlers': ['console', 'file'], - 'level': 'INFO', - 'propagate': False, + "apps": { + "handlers": ["console", "file"], + "level": "INFO", + "propagate": False, }, - 'apps.integrations': { - 'handlers': ['console', 'integration_file'], - 'level': 'INFO', - 'propagate': False, + "apps.integrations": { + "handlers": ["console", "integration_file"], + "level": "INFO", + "propagate": False, }, }, } # Create logs directory if it doesn't exist -LOGS_DIR = BASE_DIR / 'logs' +LOGS_DIR = BASE_DIR / "logs" LOGS_DIR.mkdir(exist_ok=True) # PX360 Business Configuration @@ -329,20 +325,22 @@ SURVEY_TOKEN_EXPIRY_DAYS = 30 # SLA Configuration (in hours) SLA_DEFAULTS = { - 'complaint': { - 'low': 72, - 'medium': 48, - 'high': 24, - 'critical': 12, + "complaint": { + "low": 72, + "medium": 48, + "high": 24, + "critical": 12, }, - 'action': { - 'low': 120, - 'medium': 72, - 'high': 48, - 'critical': 24, + "action": { + "low": 120, + "medium": 72, + "high": 48, + "critical": 24, }, } +COMPLAINT_LINK_EXPIRY_DAYS = env.int("COMPLAINT_LINK_EXPIRY_DAYS", default=7) + # AI Configuration (LiteLLM with OpenRouter) OPENROUTER_API_KEY = env('OPENROUTER_API_KEY', default='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') AI_MODEL = env('AI_MODEL', default='z-ai/glm-4.5-air:free') @@ -351,64 +349,75 @@ AI_MAX_TOKENS = env.int('AI_MAX_TOKENS', default=500) # Notification Configuration NOTIFICATION_CHANNELS = { - 'sms': { - 'enabled': env.bool('SMS_ENABLED', default=False), - 'provider': env('SMS_PROVIDER', default='console'), + "sms": { + "enabled": env.bool("SMS_ENABLED", default=False), + "provider": env("SMS_PROVIDER", default="console"), }, - 'whatsapp': { - 'enabled': env.bool('WHATSAPP_ENABLED', default=False), - 'provider': env('WHATSAPP_PROVIDER', default='console'), + "whatsapp": { + "enabled": env.bool("WHATSAPP_ENABLED", default=False), + "provider": env("WHATSAPP_PROVIDER", default="console"), }, - 'email': { - 'enabled': env.bool('EMAIL_ENABLED', default=True), - 'provider': env('EMAIL_PROVIDER', default='console'), + "email": { + "enabled": env.bool("EMAIL_ENABLED", default=True), + "provider": env("EMAIL_PROVIDER", default="console"), }, } +# Twilio Configuration +TWILIO_ACCOUNT_SID = env("TWILIO_ACCOUNT_SID", default="") +TWILIO_AUTH_TOKEN = env("TWILIO_AUTH_TOKEN", default="") +TWILIO_PHONE_NUMBER = env("TWILIO_PHONE_NUMBER", default="") +TWILIO_MESSAGING_SERVICE_SID = env("TWILIO_MESSAGING_SERVICE_SID", default="") + +# Mshastra SMS Configuration +MSHASTRA_USERNAME = env("MSHASTRA_USERNAME", default="") +MSHASTRA_PASSWORD = env("MSHASTRA_PASSWORD", default="") +MSHASTRA_SENDER_ID = env("MSHASTRA_SENDER_ID", default="") + # External API Notification Configuration EXTERNAL_NOTIFICATION_API = { - 'email': { - 'enabled': env.bool('EMAIL_API_ENABLED', default=False), - 'url': env('EMAIL_API_URL', default=''), - 'api_key': env('EMAIL_API_KEY', default=''), - 'auth_method': env('EMAIL_API_AUTH_METHOD', default='bearer'), - 'method': env('EMAIL_API_METHOD', default='POST'), - 'timeout': env.int('EMAIL_API_TIMEOUT', default=10), - 'max_retries': env.int('EMAIL_API_MAX_RETRIES', default=3), - 'retry_delay': env.int('EMAIL_API_RETRY_DELAY', default=2), + "email": { + "enabled": env.bool("EMAIL_API_ENABLED", default=False), + "url": env("EMAIL_API_URL", default=""), + "api_key": env("EMAIL_API_KEY", default=""), + "auth_method": env("EMAIL_API_AUTH_METHOD", default="bearer"), + "method": env("EMAIL_API_METHOD", default="POST"), + "timeout": env.int("EMAIL_API_TIMEOUT", default=10), + "max_retries": env.int("EMAIL_API_MAX_RETRIES", default=3), + "retry_delay": env.int("EMAIL_API_RETRY_DELAY", default=2), }, - 'sms': { - 'enabled': env.bool('SMS_API_ENABLED', default=False), - 'url': env('SMS_API_URL', default=''), - 'api_key': env('SMS_API_KEY', default=''), - 'auth_method': env('SMS_API_AUTH_METHOD', default='bearer'), - 'method': env('SMS_API_METHOD', default='POST'), - 'timeout': env.int('SMS_API_TIMEOUT', default=10), - 'max_retries': env.int('SMS_API_MAX_RETRIES', default=3), - 'retry_delay': env.int('SMS_API_RETRY_DELAY', default=2), + "sms": { + "enabled": env.bool("SMS_API_ENABLED", default=False), + "url": env("SMS_API_URL", default=""), + "api_key": env("SMS_API_KEY", default=""), + "auth_method": env("SMS_API_AUTH_METHOD", default="bearer"), + "method": env("SMS_API_METHOD", default="POST"), + "timeout": env.int("SMS_API_TIMEOUT", default=10), + "max_retries": env.int("SMS_API_MAX_RETRIES", default=3), + "retry_delay": env.int("SMS_API_RETRY_DELAY", default=2), }, } # Email Configuration -EMAIL_BACKEND = env('EMAIL_BACKEND', default='django.core.mail.backends.smtp.EmailBackend') -EMAIL_HOST = env('EMAIL_HOST', default='localhost') -EMAIL_PORT = env.int('EMAIL_PORT', default=2525) -EMAIL_USE_TLS = env.bool('EMAIL_USE_TLS', default=False) -EMAIL_HOST_USER = env('EMAIL_HOST_USER', default='') -EMAIL_HOST_PASSWORD = env('EMAIL_HOST_PASSWORD', default='') -DEFAULT_FROM_EMAIL = env('DEFAULT_FROM_EMAIL', default='noreply@px360.sa') +EMAIL_BACKEND = env("EMAIL_BACKEND", default="django.core.mail.backends.smtp.EmailBackend") +EMAIL_HOST = env("EMAIL_HOST", default="localhost") +EMAIL_PORT = env.int("EMAIL_PORT", default=2525) +EMAIL_USE_TLS = env.bool("EMAIL_USE_TLS", default=False) +EMAIL_HOST_USER = env("EMAIL_HOST_USER", default="") +EMAIL_HOST_PASSWORD = env("EMAIL_HOST_PASSWORD", default="") +DEFAULT_FROM_EMAIL = env("DEFAULT_FROM_EMAIL", default="noreply@px360.sa") # Security Settings SECURE_BROWSER_XSS_FILTER = True SECURE_CONTENT_TYPE_NOSNIFF = True -X_FRAME_OPTIONS = 'DENY' -SECURE_SSL_REDIRECT = env.bool('SECURE_SSL_REDIRECT', default=False) -SESSION_COOKIE_SECURE = env.bool('SESSION_COOKIE_SECURE', default=False) -CSRF_COOKIE_SECURE = env.bool('CSRF_COOKIE_SECURE', default=False) +X_FRAME_OPTIONS = "DENY" +SECURE_SSL_REDIRECT = env.bool("SECURE_SSL_REDIRECT", default=False) +SESSION_COOKIE_SECURE = env.bool("SESSION_COOKIE_SECURE", default=False) +CSRF_COOKIE_SECURE = env.bool("CSRF_COOKIE_SECURE", default=False) SESSION_COOKIE_HTTPONLY = True CSRF_COOKIE_HTTPONLY = True -SESSION_COOKIE_SAMESITE = 'Lax' -CSRF_COOKIE_SAMESITE = 'Lax' +SESSION_COOKIE_SAMESITE = "Lax" +CSRF_COOKIE_SAMESITE = "Lax" # Password Policy Settings PASSWORD_MIN_LENGTH = 8 @@ -421,70 +430,45 @@ LOGIN_ATTEMPT_TIMEOUT_MINUTES = 30 # Session Security SESSION_COOKIE_AGE = 120 * 60 # 2 hours -SESSION_EXPIRE_AT_BROWSER_CLOSE = env.bool('SESSION_EXPIRE_AT_BROWSER_CLOSE', default=True) +SESSION_EXPIRE_AT_BROWSER_CLOSE = env.bool("SESSION_EXPIRE_AT_BROWSER_CLOSE", default=True) SESSION_SAVE_EVERY_REQUEST = True # Multi-Tenancy Settings TENANCY_ENABLED = True -TENANT_MODEL = 'organizations.Hospital' -TENANT_FIELD = 'hospital' +TENANT_MODEL = "organizations.Hospital" +TENANT_FIELD = "hospital" # Tenant isolation level # 'strict' - Complete isolation (users only see their hospital) # 'relaxed' - PX admins can see all hospitals -TENANT_ISOLATION_LEVEL = 'strict' +TENANT_ISOLATION_LEVEL = "strict" +# Social Media API Configuration +YOUTUBE_API_KEY = env('YOUTUBE_API_KEY', default='AIzaSyAem20etP6GkRNMmCyI1pRJF7v8U_xDyMM') +YOUTUBE_CHANNEL_ID = env('YOUTUBE_CHANNEL_ID', default='UCKoEfCXsm4_cQMtqJTvZUVQ') +FACEBOOK_PAGE_ID = env('FACEBOOK_PAGE_ID', default='938104059393026') +FACEBOOK_ACCESS_TOKEN = env('FACEBOOK_ACCESS_TOKEN', default='EAATrDf0UAS8BQWSKbljCUDMbluZBbxZCSWLJkZBGIviBtK8IQ7FDHfGQZBHHm7lsgLhZBL2trT3ZBGPtsWRjntFWQovhkhx726ZBexRZCKitEMhxAiZBmls7uX946432k963Myl6aYBzJzwLhSyygZAFOGP7iIIZANVf6GtLlvAnWn0NXRwZAYR0CNNUwCEEsZAAc') +INSTAGRAM_ACCOUNT_ID = env('INSTAGRAM_ACCOUNT_ID', default='17841431861985364') +INSTAGRAM_ACCESS_TOKEN = env('INSTAGRAM_ACCESS_TOKEN', default='EAATrDf0UAS8BQWSKbljCUDMbluZBbxZCSWLJkZBGIviBtK8IQ7FDHfGQZBHHm7lsgLhZBL2trT3ZBGPtsWRjntFWQovhkhx726ZBexRZCKitEMhxAiZBmls7uX946432k963Myl6aYBzJzwLhSyygZAFOGP7iIIZANVf6GtLlvAnWn0NXRwZAYR0CNNUwCEEsZAAc') +# Twitter/X Configuration +TWITTER_BEARER_TOKEN = env('TWITTER_BEARER_TOKEN', default=None) +TWITTER_USERNAME = env('TWITTER_USERNAME', default=None) +# LinkedIn Configuration +LINKEDIN_ACCESS_TOKEN = env('LINKEDIN_ACCESS_TOKEN', default=None) +LINKEDIN_ORGANIZATION_ID = env('LINKEDIN_ORGANIZATION_ID', default=None) -#social media settings - -# LINKEDIN API CREDENTIALS -LINKEDIN_CLIENT_ID = '78eu5csx68y5bn' -LINKEDIN_CLIENT_SECRET ='WPL_AP1.Ek4DeQDXuv4INg1K.mGo4CQ==' -LINKEDIN_REDIRECT_URI = 'http://127.0.0.1:8000/social/callback/LI/' -LINKEDIN_WEBHOOK_VERIFY_TOKEN = "your_random_secret_string_123" - - -# YOUTUBE API CREDENTIALS -# Ensure this matches your Google Cloud Console settings -YOUTUBE_CLIENT_SECRETS_FILE = BASE_DIR / 'secrets' / 'yt_client_secrets.json' -YOUTUBE_REDIRECT_URI = 'http://127.0.0.1:8000/social/callback/YT/' - - - -# Google REVIEWS Configuration -# Ensure you have your client_secrets.json file at this location -GMB_CLIENT_SECRETS_FILE = BASE_DIR / 'secrets' / 'gmb_client_secrets.json' -GMB_REDIRECT_URI = 'http://127.0.0.1:8000/social/callback/GO/' - - - - - -# X API Configuration -X_CLIENT_ID = 'your_client_id' -X_CLIENT_SECRET = 'your_client_secret' -X_REDIRECT_URI = 'http://127.0.0.1:8000/social/callback/X/' -# TIER CONFIGURATION -# Set to True if you have Enterprise Access -# Set to False for Free/Basic/Pro -X_USE_ENTERPRISE = False - - -# --- TIKTOK CONFIG --- -TIKTOK_CLIENT_KEY = 'your_client_key' -TIKTOK_CLIENT_SECRET = 'your_client_secret' -TIKTOK_REDIRECT_URI = 'http://127.0.0.1:8000/social/callback/TT/' - - - -# --- META API CONFIG --- -META_APP_ID = '1229882089053768' -META_APP_SECRET = 'b80750bd12ab7f1c21d7d0ca891ba5ab' -META_REDIRECT_URI = 'https://micha-nonparabolic-lovie.ngrok-free.dev/social/callback/META/' -META_WEBHOOK_VERIFY_TOKEN = 'random_secret_string_khanfaheed123456' +# Google Reviews Configuration +GOOGLE_CREDENTIALS_FILE = env('GOOGLE_CREDENTIALS_FILE', default='client_secret.json') +GOOGLE_TOKEN_FILE = env('GOOGLE_TOKEN_FILE', default='token.json') +GOOGLE_LOCATIONS = env.list('GOOGLE_LOCATIONS', default=[]) +# OpenRouter Configuration for AI Comment Analysis +OPENROUTER_API_KEY = env('OPENROUTER_API_KEY', default='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') +OPENROUTER_MODEL = env('OPENROUTER_MODEL', default='google/gemma-3-27b-it:free') +ANALYSIS_BATCH_SIZE = env.int('ANALYSIS_BATCH_SIZE', default=2) +ANALYSIS_ENABLED = env.bool('ANALYSIS_ENABLED', default=True) diff --git a/employee_evaluation.md b/employee_evaluation.md new file mode 100644 index 0000000..deee724 --- /dev/null +++ b/employee_evaluation.md @@ -0,0 +1,385 @@ +🧩 Overall Layout +Header: Display the title "PAD Department – Patients Relations Weekly Dashboard" and the date range "From: 00 JAN 2025 – To: 00 JAN 2025". + +Three columns side by side (on desktop) for Amaal, Abrar, and Rahaf. On mobile, stack vertically. + +Each column contains identical sections (described below) populated with the respective employee’s data. + +Use cards to group related metrics. + +Include ApexCharts for visual representations where indicated (e.g., pie/bar charts for complaint sources, response time distributions, etc.). + +📊 Data Sections per Employee +1. Complaints by Response Time +Table with columns: 24 Hours, 48 Hours, 72 Hours, More than 72 hours, Total. +Also show percentages for each time bucket (relative to employee’s total complaints). + +Employee 24h 48h 72h >72h Total +Amaal 7 2 11 19 39 +Abrar 5 13 9 4 31 +Rahaf 3 11 21 10 45 +Chart suggestion: Stacked bar chart showing distribution per employee, or a pie chart for each employee’s time breakdown. + +2. Complaint Source Breakdown +Counts and percentages for sources: MOH, CCHI, Patients, Patient’s relatives, Insurance company. +Percentages are calculated against the total of these five sources (row "Total" in this group). + +Amaal +Source Count % of Source Total +MOH 4 13.3% +CCHI 5 16.7% +Patients 6 20.0% +Patient’s relatives 7 23.3% +Insurance company 8 26.7% +Total 30 100% +Abrar +Source Count % +MOH 1 10% +CCHI 3 30% +Patients 1 10% +Patient’s relatives 2 20% +Insurance company 3 30% +Total 10 100% +Rahaf +Source Count % +MOH 22 23.4% +CCHI 15 16.0% +Patients 26 27.7% +Patient’s relatives 22 23.4% +Insurance company 9 9.6% +Total 94 100% +Chart suggestion: Horizontal bar chart or donut chart for each employee showing source contribution. + +3. Response Time by Source (CHI vs MOH) +A matrix showing for each time category the number of complaints attributed to CHI and MOH. + +Amaal +Time CHI MOH +24 Hours 1 2 +48 Hours 2 2 +72 Hours 3 6 +>72 Hours 4 0 +Total 10 10 +Abrar +Time CHI MOH +24 Hours 1 2 +48 Hours 2 2 +72 Hours 3 6 +>72 Hours 4 0 +Total 10 10 +*(Note: Abrar’s numbers are identical to Amaal’s in the sample, but verify from the file: Actually from the ASCII, Abrar's matrix: 24h: CHI=1, MOH=2; 48h: CHI=2, MOH=2; 72h: CHI=3, MOH=6; >72h: CHI=4, MOH=0. So same as Amaal.)* + +Rahaf +Time CHI MOH +24 Hours 1 2 +48 Hours 2 2 +72 Hours 3 6 +>72 Hours 4 0 +Total 10 10 +(Rahaf also identical in the sample. These numbers may be placeholders; keep as given.) + +Chart suggestion: Grouped bar chart per time category comparing CHI vs MOH. + +4. Patient Type Breakdown +Counts and percentages for In-Patient, Out-Patient, ER. Percentages are against the total of these three. + +Amaal +Type Count % +In-Patient 12 35.3% +Out-Patient 15 44.1% +ER 7 20.6% +Total 34 100% +Abrar +Type Count % +In-Patient 1 12.5% +Out-Patient 3 37.5% +ER 4 50.0% +Total 8 100% +Rahaf +Type Count % +In-Patient 14 53.8% +Out-Patient 9 34.6% +ER 3 11.5% +Total 26 100% +Chart suggestion: Pie chart for each employee. + +5. Department Type Breakdown +Counts and percentages for Medical, Admin, Nursing, Support Services. Percentages against total of these four. + +Amaal +Department Count % +Medical 3 7.9% +Admin 9 23.7% +Nursing 15 39.5% +Support Services 11 28.9% +Total 38 100% +Abrar +Department Count % +Medical 1 2.1% +Admin 1 2.1% +Nursing 5 10.4% +Support Services 41 85.4% +Total 48 100% +Rahaf +Department Count % +Medical 12 34.3% +Admin 10 28.6% +Nursing 9 25.7% +Support Services 4 11.4% +Total 35 100% +Chart suggestion: Horizontal bar chart. + +6. Delays and Activation +Number of delays in sending the complaint (delay in activation) + +Activated within two hours count + +Percentages are calculated against the employee’s total complaints (from section 1). + +Employee Delays Activated within 2h +Amaal 12 9 +Abrar 6 10 +Rahaf 11 18 +Percentage for delays = delays / total_complaints (Amaal: 12/39≈30.8%, Abrar: 6/31≈19.4%, Rahaf: 11/45≈24.4%) + +Percentage for activated = activated / total_complaints (Amaal: 9/39≈23.1%, Abrar: 10/31≈32.3%, Rahaf: 18/45=40%) + +Display as two metrics per employee with percentages. + +7. Escalated Complaints +Total Escalated Complaints (sum of before 72h, exactly 72h, after 72h) + +Breakdown: + +Before 72 Hours + +72 Hours Exactly + +After 72 Hours + +Resolved Escalated complaint + +Employee Before 72h Exactly 72h After 72h Resolved Total Escalated +Amaal 15 11 3 12 29 +Abrar 12 20 14 9 46 +Rahaf 12 18 3 10 33 +Chart suggestion: Stacked bar showing composition of escalated complaints. + +8. Inquiries +Total Inquiries = Incoming + Outgoing +Employee Incoming Outgoing Total Inquiries +Amaal 15 15 30 +Abrar 10 5 15 +Rahaf 3 11 14 +Incoming Inquiries – by Response Time & Status +Table for Incoming (counts): + +Employee 24h 48h 72h >72h تحت الإجراء (In Progress) تم التواصل (Contacted) تم التواصل ولم يتم الرد (Contacted No Response) +Amaal 1 2 5 7 3 10 2 +Abrar 1 2 0 7 3 5 2 +Rahaf 1 2 0 0 3 5 2 +*Note: The status counts are from the "Inquiries Status" section (rows 86-88). Verify that the sum of statuses equals total incoming? For Amaal: 3+10+2=15 (matches incoming). Good.* + +Outgoing Inquiries – by Response Time & Status +Employee 24h 48h 72h >72h تحت الإجراء تم التواصل تم التواصل ولم يتم الرد +Amaal 1 2 5 7 2 10 3 +Abrar 1 1 3 0 2 1 2 +Rahaf 1 4 3 3 2 6 3 +Percentages for each time/status cell can be calculated against total incoming/outgoing respectively. + +Chart suggestion: Grouped bars for incoming vs outgoing per employee, or stacked bars for status distribution. + +Inquiry Type Details (Incoming & Outgoing) +List of inquiry types with counts: + +Incoming Types (appear under "incoming inquiries" table): + +Type Amaal Abrar Rahaf +Contact the doctor 3 3 3 +Sick-Leave - Medical Reports 8 4 4 +Blood test result 4 3 3 +Raise a Complaint 4 4 4 +problem with the app 3 3 3 +Ask about medication 3 3 3 +Insurance request status 3 3 3 +general question 3 3 3 +Total 31 26 26 +Note: Totals may not match incoming totals because these are separate tallies; keep as given. + +Outgoing Types: + +Type Amaal Abrar Rahaf +Contact the doctor 3 0 3 +Sick-Leave - Medical Reports 4 0 1 +Blood test result 3 0 2 +Raise a Complaint 1 1 1 +problem with the app 1 1 1 +Insurance request status 1 1 1 +general question 1 1 1 +Ask about medication 1 1 1 +Total 15 5 11 +Display as two small tables per employee (incoming types, outgoing types) or combine. + +9. Notes +Total Notes per employee: Amaal=22, Abrar=19, Rahaf=15. + +Breakdown by Category and Sub-category (list from rows 97-103): + +Category Sub-category Amaal Abrar Rahaf +Non-Medical IT - App 3 3 3 +Medical LAB 2 2 2 +ER Doctors/Managers/Reception 1 1 1 +Hospital Hospital 1 1 1 +Non-Medical Medical Reports 1 1 1 +Medical Doctors 1 1 1 +*Note: There are only these six rows in the sample; totals add up: Amaal 3+2+1+1+1+1=9, but total notes is 22, so there are missing entries. Keep as given; the AI can display only these.* + +Chart suggestion: Treemap or bar chart for note categories. + +10. Complaint Request & Filling Details +Total sent complaints request = Filled + Not Filled +Employee Filled Not Filled Total Requests +Amaal 7 10 17 +Abrar 5 14 19 +Rahaf 3 3 6 +Complaint Status Breakdown +On hold, Not filled, Filled, From Bar code counts and percentages. + +Employee On hold Not filled Filled From Bar code Total (sum) +Amaal 2 8 3 4 17 +Abrar 2 5 6 6 19 +Rahaf 1 2 2 1 6 +*Percentages are against the total (e.g., Amaal on hold % = 2/17 ≈ 11.8%).* + +Filling Time Breakdown +Same time, within 6 hours, 6 to 24 hours, after 1 day, time not mentioned counts and percentages. + +Employee Same time ≤6h 6-24h >1 day Not mentioned Total +Amaal 6 2 2 5 2 17 +Abrar 6 1 5 5 2 19 +Rahaf 1 2 1 2 6 12 +*Note: Rahaf’s total here is 12, but total requests above is 6 – inconsistency in sample. Use the numbers as given, but note the discrepancy. Possibly the "Total" row in that section sums to something else. We'll keep the provided counts: for Rahaf: same time=1, ≤6h=2, 6-24h=1, >1 day=2, not mentioned=6 → sum=12. We'll display them as is.* + +Chart suggestion: Pie chart for filling time distribution. + +11. Report Completion Tracker +For each employee, a list of reports with True/False status, and overall completion percentage. + +Reports: + +Complaint Report + +Complaint Request Report + +Observation Report + +Incoming Inquiries Report + +Outgoing Inquiries Report + +Extension Report + +Escalated Complaints Report + +Status per employee: + +Report Amaal Abrar Rahaf +Complaint Report True True True +Complaint Request Report False True False +Observation Report True True True +Incoming Inquiries Report True True False +Outgoing Inquiries Report True True False +Extension Report True True False +Escalated Complaints Report False False True +Completion % = (number of True) / 7 + +Employee Completion % +Amaal 5/7 ≈ 71.4% +Abrar 6/7 ≈ 85.7% +Rahaf 3/7 ≈ 42.9% +Display as checklist with checkmarks/crosses and a progress bar. + +📈 Summary / Cross‑Employee Views (from other sheets) +The sheets Complaints Calculations, Inquiries Calculations, and Notes Calculations provide totals across employees. Use these to create summary cards or charts at the top of the dashboard. + +Complaints Calculations (excerpts) +Total Complaints per employee: Amaal=39, Abrar=31, Rahaf=45 → Overall = 115. + +24h/48h/72h/>72h totals across employees: + +24h: 7+5+3 = 15 + +48h: 2+13+11 = 26 + +72h: 11+9+21 = 41 + +72h: 19+4+10 = 33 + +Complaints by Department (sum of all employees): + +Support Services: (Amaal11 + Abrar41 + Rahaf4) = 56 + +Nursing: (15+5+9) = 29 + +Admin: (9+1+10) = 20 + +Medical: (3+1+12) = 16 + +ER: (7+4+3) = 14 + +Out-Patient: (15+3+9) = 27 + +In-Patient: (12+1+14) = 27 + +Insurance company: (8+3+9) = 20 + +Patient’s relatives: (7+2+22) = 31 + +Patients: (6+1+26) = 33 + +CCHI: (5+3+15) = 23 + +MOH: (4+1+22) = 27 + +Inquiries Calculations +Total Incoming Inquiries: Amaal15 + Abrar10 + Rahaf3 = 28 + +Total Outgoing Inquiries: Amaal15 + Abrar5 + Rahaf11 = 31 + +Incoming status and time totals can be summed similarly. + +Notes Calculations +Total Notes: Amaal22 + Abrar19 + Rahaf15 = 56 + +Percentages of total: Amaal 39.3%, Abrar 33.9%, Rahaf 26.8%. + +🎨 Visual Design Guidelines +Use Tailwind CSS for layout and styling (cards, grid, typography, colors). + +Make the dashboard responsive: three columns on large screens, stacked on small. + +Use subtle background colors to separate employee sections. + +All tables should be readable with small font sizes; use text-sm and padding. + +For charts, use ApexCharts. Suggested chart types: + +Complaint response time: Grouped bar (employees on x-axis, time buckets as groups) or stacked bar. + +Complaint source: Pie/donut per employee. + +Inquiry status: Stacked bar per employee. + +Completion tracker: Progress bar per employee. + +Department totals: Horizontal bar chart comparing employees. + +Place summary KPIs (total complaints, total inquiries, total notes) at the top. + +📝 Implementation Notes +The data provided is static; hardcode the numbers as shown. + +Use Arabic text where present (e.g., تحت الإجراء, تم التواصل) – ensure proper RTL support if needed, but the layout is primarily English. + + +Organize sections into collapsible cards if too long, but aim to show all data clearly. \ No newline at end of file diff --git a/rating_data_sample.json b/rating_data_sample.json new file mode 100644 index 0000000..2a5d20a --- /dev/null +++ b/rating_data_sample.json @@ -0,0 +1,39 @@ +{ + "FetchDoctorRatingMAPI1List": [ + { + "DoctorID": "11510", + "EmpNo": "17046", + "DoctorName": "AAMIR USMAN BAIG ", + "DoctorDepartment": "ORTHOPAEDIC", + "HospitalName": "SUWAIDI", + "HospitalID": "2", + "Rating": "5.00", + "RatingDate": "30-Dec-2025 14:06" + }, + { + "DoctorID": "11510", + "EmpNo": "17046", + "DoctorName": "AAMIR USMAN BAIG ", + "DoctorDepartment": "ORTHOPAEDIC", + "HospitalName": "NUZHA", + "HospitalID": "3", + "Rating": "5.00", + "RatingDate": "30-Dec-2025 14:06" + }, + { + "DoctorID": "12975", + "EmpNo": "18753", + "DoctorName": "ABDALLA BASBAR DAFA ALLA BASBAR ", + "DoctorDepartment": "ENDOSCOPY", + "HospitalName": "NUZHA", + "HospitalID": "3", + "Rating": "3.00", + "RatingDate": "21-Dec-2025 14:33" + } + ], + "Code": 200, + "Status": "Success", + "MobileNo": "", + "Message": "", + "Message2L": "" +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index b5cd1fd..be530ce 100644 --- a/requirements.txt +++ b/requirements.txt @@ -40,6 +40,14 @@ requests-oauthlib==2.0.0 rsa==4.9.1 six==1.17.0 sqlparse==0.5.5 +stack-data==0.6.3 +traitlets==5.14.3 +trio==0.32.0 +trio-websocket==0.12.2 +tweepy==4.16.0 +twilio==9.10.3 +types-PyYAML==6.0.12.20250915 +types-requests==2.32.4.20250913 typing_extensions==4.15.0 tzdata==2025.3 tzlocal==5.3.1 diff --git a/sample_data.json b/sample_data.json new file mode 100644 index 0000000..5804b0c --- /dev/null +++ b/sample_data.json @@ -0,0 +1,267 @@ +{ + "FetchPatientDataTimeStampList": [ + { + "Type": "Patient Demographic details", + "PatientID": "2371172", + "AdmissionID": "811917", + "HospitalID": "3", + "HospitalName": "NUZHA", + "PatientTypeID": "3", + "PatientType": "ED", + "AdmitDate": "01-Jan-2026 00:07", + "DischargeDate": "01-Jan-2026 00:39", + "RegCode": "ALHH.0040068420", + "SSN": "1220796831", + "PatientName": "Aljuri Ibrahim Alhumaid", + "GenderID": "2", + "Gender": "Female", + "FullAge": "3 Month(s)", + "PatientNationality": "SAUDI", + "MobileNo": "0530112229", + "DOB": "17-Nov-2025 00:00", + "ConsultantID": "7797", + "PrimaryDoctor": "12524-MAI ABOELNASR ELBORI ", + "CompanyID": "", + "GradeID": "0", + "CompanyName": "", + "GradeName": "", + "InsuranceCompanyName": "", + "BillType": "CS", + "IsVIP": "0" + }, + { + "Type": "Patient Demographic details", + "PatientID": "1690910", + "AdmissionID": "828647", + "HospitalID": "2", + "HospitalName": "SUWAIDI", + "PatientTypeID": "1", + "PatientType": "OP", + "AdmitDate": "06-Jan-2026 14:42", + "DischargeDate": null, + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "PatientName": "Saleh Aboud Baqays", + "GenderID": "1", + "Gender": "Male", + "FullAge": "38 Year(s)", + "PatientNationality": "YEMEN", + "MobileNo": "0506929720", + "DOB": "25-Aug-1987 00:00", + "ConsultantID": "12933", + "PrimaryDoctor": "18747-MOUTAZ ALI DALATI ", + "CompanyID": "71175", + "GradeID": "4227", + "CompanyName": "Saad Saud Al Arifi endowment // TAWUNIYA", + "GradeName": "GL/B", + "InsuranceCompanyName": "The Cooperative Company for Cooperative Insurance", + "BillType": "CR", + "IsVIP": "0" + }, + { + "Type": "Patient Demographic details", + "PatientID": "2289751", + "AdmissionID": "811959", + "HospitalID": "3", + "HospitalName": "NUZHA", + "PatientTypeID": "2", + "PatientType": "IP", + "AdmitDate": "01-Jan-2026 01:55", + "DischargeDate": "31-Jan-2026 22:22", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "PatientName": "Hamad Ibrahim Allaboun", + "GenderID": "1", + "Gender": "Male", + "FullAge": "80 Year(s)", + "PatientNationality": "SAUDI", + "MobileNo": "0545554828", + "DOB": "12-Jun-1945 00:00", + "ConsultantID": "12461", + "PrimaryDoctor": "18176-ELAWAD KHALID OMER NAFIE ", + "CompanyID": "43814", + "GradeID": "683", + "CompanyName": "SAUDI ARAMCO // BUPA", + "GradeName": "GENERAL CLASS", + "InsuranceCompanyName": "Bupa Arabia for Cooperative Insurance", + "BillType": "CR", + "IsVIP": "0" + } + ], + "FetchPatientDataTimeStampVisitEDDataList": [ + { + "PatientType": "ER", + "Type": "Consultation", + "BillDate": "01-Jan-2026 00:07", + "AdmissionID": "811917", + "PatientID": "2371172", + "RegCode": "ALHH.0040068420", + "SSN": "1220796831", + "MobileNo": "0530112229" + }, { + "PatientType": "ER", + "Type": "Doctor assignment", + "BillDate": "01-Jan-2026 00:11", + "AdmissionID": "811917", + "PatientID": "2371172", + "RegCode": "ALHH.0040068420", + "SSN": "1220796831", + "MobileNo": "0530112229" + }, { + "PatientType": "ER", + "Type": "Admission request", + "BillDate": "01-Jan-2026 00:39", + "AdmissionID": "811917", + "PatientID": "2371172", + "RegCode": "ALHH.0040068420", + "SSN": "1220796831", + "MobileNo": "0530112229" + }, { + "PatientType": "ER", + "Type": "End Of the Episode", + "BillDate": "01-Jan-2026 00:39", + "AdmissionID": "811917", + "PatientID": "2371172", + "RegCode": "ALHH.0040068420", + "SSN": "1220796831", + "MobileNo": "0530112229" + }, { + "PatientType": "ER", + "Type": "Drug Prescription", + "BillDate": "01-Jan-2026 00:21", + "AdmissionID": "811917", + "PatientID": "2371172", + "RegCode": "ALHH.0040068420", + "SSN": "1220796831", + "MobileNo": "0530112229" + } + ], + "FetchPatientDataTimeStampVisitOPDataList": [ + { + "PatientType": "OP", + "Type": "Consultation", + "BillDate": "06-Jan-2026 14:42", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + },{ + "PatientType": "OP", + "Type": "Doctor Visited", + "BillDate": "06-Jan-2026 14:42", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + },{ + "PatientType": "OP", + "Type": "Rad Prescription", + "BillDate": "06-Jan-2026 15:11", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + },{ + "PatientType": "OP", + "Type": "Radiology Bill", + "BillDate": "06-Jan-2026 15:13", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + },{ + "PatientType": "OP", + "Type": "Radiology Token", + "BillDate": "06-Jan-2026 15:13", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + },{ + "PatientType": "OP", + "Type": "Radiology Patient Arrived", + "BillDate": "06-Jan-2026 15:22", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + },{ + "PatientType": "OP", + "Type": "Radiology Examination completed", + "BillDate": "06-Jan-2026 15:27", + "AdmissionID": "828647", + "PatientID": "1690910", + "RegCode": "ALHH.0030054832", + "SSN": "2193835069", + "MobileNo": "0506929720" + } + ], + "FetchPatientDataTimeStampVisitIPDataList": [ + { + "PatientType": "IP", + "Type": "IP Admissions", + "BillDate": "01-Jan-2026 01:55", + "AdmissionID": "811959", + "PatientID": "2289751", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "MobileNo": "0545554828" + },{ + "PatientType": "IP", + "Type": "Bed Allocation", + "BillDate": "01-Jan-2026 01:55", + "AdmissionID": "811959", + "PatientID": "2289751", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "MobileNo": "0545554828" + },{ + "PatientType": "IP", + "Type": "Fit for discharge", + "BillDate": "31-Jan-2026 18:55", + "AdmissionID": "811959", + "PatientID": "2289751", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "MobileNo": "0545554828" + },{ + "PatientType": "IP", + "Type": "Discharge date", + "BillDate": "31-Jan-2026 22:22", + "AdmissionID": "811959", + "PatientID": "2289751", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "MobileNo": "0545554828" + },{ + "PatientType": "IP", + "Type": "Discharge followUp", + "BillDate": "31-Jan-2026 18:55", + "AdmissionID": "811959", + "PatientID": "2289751", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "MobileNo": "0545554828" + }, { + "PatientType": "IP", + "Type": "IP Bill", + "BillDate": "31-Jan-2026 22:22", + "AdmissionID": "811959", + "PatientID": "2289751", + "RegCode": "ALHH.0030383875", + "SSN": "1008431296", + "MobileNo": "0545554828" + } + ], + "Code": 200, + "Status": "Success", + "MobileNo": "", + "Message": "", + "Message2L": "" +} \ No newline at end of file diff --git a/templates/accounts/onboarding/bulk_invite.html b/templates/accounts/onboarding/bulk_invite.html index 1338861..475d55f 100644 --- a/templates/accounts/onboarding/bulk_invite.html +++ b/templates/accounts/onboarding/bulk_invite.html @@ -12,7 +12,7 @@

        - + {% trans "Back to Dashboard" %} @@ -81,7 +81,7 @@ {% trans "Send Invitations" %} - + {% trans "Cancel" %}
        diff --git a/templates/accounts/onboarding/checklist_list.html b/templates/accounts/onboarding/checklist_list.html index 072cd97..38ce185 100644 --- a/templates/accounts/onboarding/checklist_list.html +++ b/templates/accounts/onboarding/checklist_list.html @@ -63,7 +63,7 @@

        {% trans "Manage acknowledgement checklist items" %}

        - @@ -196,14 +196,14 @@ - + + {% if location_breakdowns %} +
        +

        + + {% trans "Location Breakdown" %} +

        + +
        + {% for loc in location_breakdowns %} +
        +

        + {{ loc.location_type }} +

        +

        {{ loc.complaint_count }}

        +

        {{ loc.percentage }}%

        +
        + {% endfor %} +
        +
        + {% endif %} + {% if report.ai_analysis %}
        @@ -715,15 +751,26 @@ strokeDashArray: 4 }, annotations: trendData.target ? { - yaxis: [{ - y: trendData.target, - borderColor: '#ef4444', - strokeDashArray: 4, - label: { - text: '{% trans "Target" %}: ' + trendData.target + '%', - style: { color: '#ef4444', background: '#fef2f2', fontSize: '10px' } + yaxis: [ + { + y: trendData.target, + borderColor: '#22c55e', + strokeDashArray: 4, + label: { + text: '{% trans "Target" %}: ' + trendData.target + '%', + style: { color: '#22c55e', background: '#f0fdf4', fontSize: '10px' } + } + }, + { + y: trendData.threshold, + borderColor: '#ef4444', + strokeDashArray: 6, + label: { + text: '{% trans "Threshold" %}: ' + trendData.threshold + '%', + style: { color: '#ef4444', background: '#fef2f2', fontSize: '10px' } + } } - }] + ] } : {}, tooltip: { y: { formatter: function(val) { return val + '%'; } } diff --git a/templates/complaints/complaint_detail.html b/templates/complaints/complaint_detail.html index 2b90c4c..dfc0ddf 100644 --- a/templates/complaints/complaint_detail.html +++ b/templates/complaints/complaint_detail.html @@ -84,6 +84,18 @@

        {{ complaint.title }}

        + {% if complaint.ai_brief_en %} +
        + + {{ complaint.ai_brief_en }} + + {% if complaint.ai_brief_ar %} + + {{ complaint.ai_brief_ar }} + + {% endif %} +
        + {% endif %}
        {% comment %} @@ -184,7 +196,7 @@
        {% endif %} -
        +

        {% trans "Location" %}

        @@ -201,6 +213,12 @@ {{ complaint.get_severity_display }}

        +
        +

        {% trans "Date Created" %}

        +

        + {{ complaint.created_at|date:"d M Y, h:i A" }} +

        +

        {% trans "Response Deadline" %}

        @@ -377,6 +395,30 @@

        + + {% if show_delay_reason_closure or complaint.delay_reason_closure %} +
        +

        + + {% trans "72h Closure Delay Reason" %} +

        + {% if complaint.delay_reason_closure %} +
        +

        {{ complaint.delay_reason_closure }}

        +
        + {% endif %} + {% if can_edit and complaint.status != "closed" and complaint.status != "resolved" %} +
        + {% csrf_token %} + + +
        + {% endif %} +
        + {% endif %} + {% if complaint.is_activated %}
        diff --git a/templates/complaints/complaint_list.html b/templates/complaints/complaint_list.html index 7a8b5c9..82e8454 100644 --- a/templates/complaints/complaint_list.html +++ b/templates/complaints/complaint_list.html @@ -235,11 +235,21 @@ {% endif %} - + {% else %} + + {% endif %} {% if complaint.source %} diff --git a/templates/complaints/emails/explanation_second_reminder_ar.txt b/templates/complaints/emails/explanation_second_reminder_ar.txt new file mode 100644 index 0000000..a80fead --- /dev/null +++ b/templates/complaints/emails/explanation_second_reminder_ar.txt @@ -0,0 +1,25 @@ +تذكير نهائي وعاجل: طلب شرح - شكوى #{{ complaint.id|slice:":8" }} + +عزيزي/عزيزتي {{ staff.first_name_ar }} {{ staff.last_name_ar }}, + +هذا تذكيرك النهائي بأنه تم طلب منك تقديم شرح بخصوص الشكوى التالية: + +رقم الشكوى #{{ complaint.id|slice:":8" }} +العنوان: {{ complaint.title }} +الوصف: {{ complaint.description }} + +موعد تقديم الشرح متبقي {{ hours_remaining }} ساعة (الموعد النهائي: {{ due_date|date:"Y-m-d H:i" }}). + +مهم: إذا لم تقدم شرحك قبل الموعد النهائي، سيتم تصعيد هذا الأمر إلى مديرك المباشر لاتخاذ الإجراء اللازم. + +لإرسال الشرح، يرجى الضغط على الرابط التالي: +{{ site_url }}/complaints/explanation/{{ explanation.token }}/ + +يرجى تقديم الشرح فوراً لتجنب التصعيد. + +إذا كان لديك أي استفسارات، يرجى التواصل مع الشخص الذي طلب هذا الشرح. + +شكراً لتعاونكم. + +--- +هذا تذكير نهائي تلقائي من نظام إدارة الشكاوى PX360 diff --git a/templates/complaints/emails/explanation_second_reminder_en.txt b/templates/complaints/emails/explanation_second_reminder_en.txt new file mode 100644 index 0000000..d38eb54 --- /dev/null +++ b/templates/complaints/emails/explanation_second_reminder_en.txt @@ -0,0 +1,25 @@ +URGENT - FINAL REMINDER: Explanation Request - Complaint #{{ complaint.id|slice:":8" }} + +Dear {{ staff.first_name }} {{ staff.last_name }}, + +This is your FINAL reminder that you have been requested to provide an explanation for the following complaint: + +Complaint #{{ complaint.id|slice:":8" }} +Title: {{ complaint.title }} +Description: {{ complaint.description }} + +Your explanation is due in {{ hours_remaining }} hours (due: {{ due_date|date:"Y-m-d H:i" }}). + +IMPORTANT: If you do not submit your explanation before the deadline, this matter will be escalated to your manager for action. + +To submit your explanation, click on the link below: +{{ site_url }}/complaints/explanation/{{ explanation.token }}/ + +Please submit your explanation immediately to avoid escalation. + +If you have any questions, please contact the person who requested this explanation. + +Thank you for your cooperation. + +--- +This is a FINAL automated reminder from the PX360 Complaint Management System. diff --git a/templates/complaints/partials/explanation_panel.html b/templates/complaints/partials/explanation_panel.html index f3609e2..740a2fd 100644 --- a/templates/complaints/partials/explanation_panel.html +++ b/templates/complaints/partials/explanation_panel.html @@ -2,6 +2,31 @@

        {% trans "Staff Explanations" %}

        + {% if complaint.explanation_delay_reason %} +
        +
        + +
        +

        {% trans "Explanation Delay Reason" %}

        +

        {{ complaint.explanation_delay_reason }}

        +
        +
        +
        + {% endif %} + + {% if can_edit and explanation %} +
        +
        + {% csrf_token %} + + + +
        +
        + {% endif %} + {% if explanations %}
        @@ -109,10 +134,33 @@ {% if can_edit and not exp.is_used %} -
        - +
        +
        + {% if not exp.reminder_sent_at %} + + {% elif not exp.second_reminder_sent_at %} + + {% else %} + + {% trans "Reminders Sent" %} + + {% endif %} + +
        + {% if exp.reminder_sent_at %} +
        + {% trans "1st reminder:" %} {{ exp.reminder_sent_at|date:"Y-m-d H:i" }} + {% if exp.second_reminder_sent_at %} + {% trans "2nd reminder:" %} {{ exp.second_reminder_sent_at|date:"Y-m-d H:i" }} + {% endif %} +
        + {% endif %}
        {% endif %}
        @@ -161,9 +209,42 @@
        +{% endblock %} diff --git a/templates/complaints/patient_complaint_portal.html b/templates/complaints/patient_complaint_portal.html new file mode 100644 index 0000000..a8d8145 --- /dev/null +++ b/templates/complaints/patient_complaint_portal.html @@ -0,0 +1,105 @@ +{% extends 'layouts/public_base.html' %} +{% load i18n %} + +{% block title %}{% trans "Submit Complaint" %} - PX360{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
        + +
        + +
        + {% trans "Home" %} +
        + + +
        +
        +
        + +
        +

        {% trans "Submit a Complaint" %}

        +

        {% trans "We're sorry to hear about your experience. Please select the hospital where the incident occurred." %}

        +
        +
        +
        +
        + +
        +
        +

        {% trans "Patient" %}

        +

        {{ patient.get_full_name }}

        +
        +
        +
        +
        + + +
        +

        + + {% trans "Select Hospital" %} +

        + + {% if hospitals %} + {% for h in hospitals %} + +
        +
        +
        + +
        +
        +

        {{ h.hospital__name }}

        + {% if h.hospital__name_ar %} +

        {{ h.hospital__name_ar }}

        + {% endif %} +
        +
        +
        + + {{ h.visit_count }} + {% trans "visits" %} + + +
        +
        +
        + {% endfor %} + {% else %} +
        +
        + +
        +

        {% trans "No visits found for this patient" %}

        +
        + {% endif %} +
        +
        +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/complaints/patient_complaint_success.html b/templates/complaints/patient_complaint_success.html new file mode 100644 index 0000000..ec22239 --- /dev/null +++ b/templates/complaints/patient_complaint_success.html @@ -0,0 +1,83 @@ +{% extends 'layouts/public_base.html' %} +{% load i18n %} + +{% block title %}{% trans "Complaint Submitted" %} - PX360{% endblock %} + +{% block content %} +
        +
        +
        +
        + +
        +

        {% trans "Complaint Submitted" %}

        +

        {% trans "Thank you for sharing your experience with us" %}

        +
        + +
        + {% if complaint.reference_number %} +
        +
        +
        +

        {% trans "Reference Number" %}

        +

        {{ complaint.reference_number }}

        +

        {% trans "Save this number to track your complaint" %}

        +
        +
        + {% endif %} + +
        +

        + + {% trans "What Happens Next" %} +

        +
        +
        +
        + 1 +
        + {% trans "Your complaint will be reviewed by our patient experience team" %} +
        +
        +
        + 2 +
        + {% trans "An AI system will analyze and classify your complaint automatically" %} +
        +
        +
        + 3 +
        + {% trans "A team member may contact you for further details if needed" %} +
        +
        +
        + 4 +
        + {% trans "You'll receive updates via SMS as your complaint progresses" %} +
        +
        +
        + + +
        +
        +
        +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/complaints/patient_complaint_visit_form.html b/templates/complaints/patient_complaint_visit_form.html new file mode 100644 index 0000000..1c6ec80 --- /dev/null +++ b/templates/complaints/patient_complaint_visit_form.html @@ -0,0 +1,156 @@ +{% extends 'layouts/public_base.html' %} +{% load i18n %} + +{% block title %}{% trans "Submit Complaint" %} - PX360{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
        + + + + +
        +
        +
        +
        + +
        +
        +
        + {{ visit.patient_type }} + {{ visit.admission_id }} + {% if visit.is_vip %}VIP{% endif %} +
        +
        +
        +
        +
        +

        {% trans "Admission" %}

        +

        {{ visit.admit_date|date:"d M Y, H:i" }}

        +
        +
        +

        {% trans "Doctor" %}

        +

        {{ visit.doctor_display }}

        +
        + {% if visit.discharge_date %} +
        +

        {% trans "Discharge" %}

        +

        {{ visit.discharge_date|date:"d M Y, H:i" }}

        +
        + {% endif %} +
        +
        +
        + + +
        +
        +

        +
        + +
        + {% trans "Describe Your Complaint" %} +

        +

        {% trans "Please provide details about the issue you experienced" %}

        +
        + +
        + {% csrf_token %} + + + {% if error %} +
        + + {{ error }} +
        + {% endif %} + +
        + + +
        + + +
        +
        + +

        + + {% trans "Your complaint will be reviewed by our team and you'll receive updates via SMS." %} +

        +
        +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/complaints/patient_complaint_visits.html b/templates/complaints/patient_complaint_visits.html new file mode 100644 index 0000000..7b17ee9 --- /dev/null +++ b/templates/complaints/patient_complaint_visits.html @@ -0,0 +1,139 @@ +{% extends 'layouts/public_base.html' %} +{% load i18n %} + +{% block title %}{% trans "Select Visit" %} - {{ hospital.name }} - PX360{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
        + + +
        + +
        + {% trans "Hospitals" %} +
        + + +
        +
        +
        +
        + +
        +
        +

        {{ hospital.name }}

        +

        {% trans "Select the visit you want to submit a complaint about" %}

        +
        +
        +
        +
        +
        +
        + +
        +
        +

        {% trans "Patient" %}

        +

        {{ patient.get_full_name }}

        +
        +
        +
        +
        + + + +
        +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/complaints/sla_management.html b/templates/complaints/sla_management.html new file mode 100644 index 0000000..8b5203b --- /dev/null +++ b/templates/complaints/sla_management.html @@ -0,0 +1,451 @@ +{% extends 'layouts/base.html' %} +{% load static %} +{% load i18n %} + +{% block title %}{% trans "Complaint SLA Management" %} | {{ hospital.name }}{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +
        +
        +
        +

        + + {% trans "Complaint SLA Management" %} +

        +

        {% trans "Configure Service Level Agreements for complaint resolution" %}

        +
        + + + {% trans "Add SLA Configuration" %} + +
        + + +
        +
        + +
        +

        {% trans "Current Hospital" %}

        +

        {{ hospital.name }}

        +
        +
        +
        +
        + + +
        + +
        +
        +
        +
        + +
        +
        +
        +
        {% trans "Total Configurations" %}
        +

        {{ total_configs }}

        +
        +
        + +
        +
        +
        + +
        +
        +
        +
        {% trans "Source-Based SLAs" %}
        +

        {{ source_based_configs.count }}

        +
        +
        + +
        +
        +
        + +
        +
        +
        +
        {% trans "Severity-Based SLAs" %}
        +

        {{ severity_based_configs.count }}

        +
        +
        +
        + + +
        +
        +
        + +
        +
        +

        {% trans "SLA Configuration Priority" %}

        +
        +
          +
        1. {% trans "Source-based configs" %} ({% trans "MOH, CCHI, Patient, etc." %}) {% trans "take precedence" %}
        2. +
        3. {% trans "Severity/Priority-based configs" %} {% trans "apply when no source-based config exists" %}
        4. +
        5. {% trans "System defaults" %} {% trans "are used as fallback" %}
        6. +
        +
        +
        +
        +
        +
        + + +
        +
        +
        +
        + +
        +
        +

        {% trans "Source-Based SLA Configurations" %}

        +

        {% trans "SLAs based on complaint source (MOH, CCHI, Patient, etc.)" %}

        +
        +
        +
        + + {% if source_based_configs %} +
        + + + + + + + + + + + + + {% for config in source_based_configs %} + + + + + + + + + {% endfor %} + +
        {% trans "Source" %}{% trans "SLA (Hours)" %}{% trans "1st Reminder" %}{% trans "2nd Reminder" %}{% trans "Escalation" %}{% trans "Actions" %}
        +
        +
        + +
        +
        +
        {{ config.source.name_en }}
        +
        {{ config.source.name_ar }}
        +
        +
        +
        + + {{ config.sla_hours }}h + + + {% if config.first_reminder_hours_after > 0 %} + +{{ config.first_reminder_hours_after }}h + {% else %} + -{{ config.reminder_hours_before }}h + {% endif %} + + {% if config.second_reminder_hours_after > 0 %} + +{{ config.second_reminder_hours_after }}h + {% elif config.second_reminder_enabled %} + -{{ config.second_reminder_hours_before }}h + {% else %} + + {% endif %} + + {% if config.escalation_hours_after > 0 %} + +{{ config.escalation_hours_after }}h + {% else %} + {% trans "On overdue" %} + {% endif %} + +
        + + + +
        + {% csrf_token %} + +
        +
        +
        +
        + {% else %} +
        +
        + +
        +

        {% trans "No source-based configurations" %}

        +

        {% trans "Get started by creating a new SLA configuration." %}

        + + + {% trans "Add Source-Based SLA" %} + +
        + {% endif %} +
        + + +
        +
        +
        +
        + +
        +
        +

        {% trans "Severity/Priority-Based SLA Configurations" %}

        +

        {% trans "SLAs based on complaint severity and priority levels" %}

        +
        +
        +
        + + {% if severity_based_configs %} +
        + + + + + + + + + + + + + {% for config in severity_based_configs %} + + + + + + + + + {% endfor %} + +
        {% trans "Severity" %}{% trans "Priority" %}{% trans "SLA (Hours)" %}{% trans "1st Reminder" %}{% trans "2nd Reminder" %}{% trans "Actions" %}
        + {% include 'complaints/partials/severity_badge.html' with severity=config.severity %} + + {% include 'complaints/partials/priority_badge.html' with priority=config.priority %} + + + {{ config.sla_hours }}h + + + {% if config.first_reminder_hours_after > 0 %} + +{{ config.first_reminder_hours_after }}h + {% else %} + -{{ config.reminder_hours_before }}h + {% endif %} + + {% if config.second_reminder_hours_after > 0 %} + +{{ config.second_reminder_hours_after }}h + {% elif config.second_reminder_enabled %} + -{{ config.second_reminder_hours_before }}h + {% else %} + + {% endif %} + +
        + + + +
        + {% csrf_token %} + +
        +
        +
        +
        + {% else %} +
        +
        + +
        +

        {% trans "No severity-based configurations" %}

        +

        {% trans "Get started by creating a new SLA configuration." %}

        + + + {% trans "Add Severity-Based SLA" %} + +
        + {% endif %} +
        + + +{% endblock %} diff --git a/templates/complaints/sla_management_form.html b/templates/complaints/sla_management_form.html new file mode 100644 index 0000000..544aecd --- /dev/null +++ b/templates/complaints/sla_management_form.html @@ -0,0 +1,381 @@ +{% extends 'layouts/base.html' %} +{% load static %} +{% load i18n %} + +{% block title %}{{ title }} | {{ hospital.name }}{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +
        +
        +
        +

        + + {{ title }} +

        +

        {% trans "Configure SLA parameters for complaint resolution" %}

        +
        + + + {% trans "Back to List" %} + +
        +
        + + +
        + {% csrf_token %} + + + + + +
        +
        +

        {% trans "Configuration Type" %}

        +
        + +
        + +
        +
        +
        + +
        +
        + +
        + {{ form.source }} +
        +

        + {% trans "Select a source for source-based SLA, or leave empty for severity/priority-based" %} +

        + {% if form.source.errors %} +

        {{ form.source.errors.0 }}

        + {% endif %} +
        +
        +
        + + +
        +
        +
        + +
        +
        + +
        + {{ form.severity }} + {{ form.priority }} +
        +

        + {% trans "Required for severity/priority-based SLA" %} +

        + {% if form.severity.errors %} +

        {{ form.severity.errors.0 }}

        + {% endif %} + {% if form.priority.errors %} +

        {{ form.priority.errors.0 }}

        + {% endif %} +
        +
        +
        +
        +
        + + +
        +
        +

        + + {% trans "SLA Deadline" %} +

        +
        + +
        + +
        + {{ form.sla_hours }} + {% trans "hours" %} +
        +

        + {{ form.sla_hours.help_text }} +

        + {% if form.sla_hours.errors %} +

        {{ form.sla_hours.errors.0 }}

        + {% endif %} +
        +
        + + +
        +
        +

        + + {% trans "Reminder Configuration" %} +

        +
        + +
        + +
        + +
        + {{ form.first_reminder_hours_after }} + {% trans "hours after creation" %} +
        +

        + {% trans "Leave as 0 to use legacy timing (hours before deadline)" %} +

        + {% if form.first_reminder_hours_after.errors %} +

        {{ form.first_reminder_hours_after.errors.0 }}

        + {% endif %} +
        + + +
        + +
        + {{ form.second_reminder_hours_after }} + {% trans "hours after creation" %} +
        +

        + {% trans "Leave as 0 to disable or use legacy timing" %} +

        + {% if form.second_reminder_hours_after.errors %} +

        {{ form.second_reminder_hours_after.errors.0 }}

        + {% endif %} +
        +
        + + +
        +
        + + {% trans "Legacy Timing (hours before deadline)" %} +
        + +
        +
        + +
        + {{ form.reminder_hours_before }} + {% trans "hours before" %} +
        +
        + +
        +
        + {{ form.second_reminder_enabled }} + +
        +
        + {{ form.second_reminder_hours_before }} + {% trans "hours before" %} +
        +
        +
        +
        +
        + + +
        +
        +

        + + {% trans "Escalation Configuration" %} +

        +
        + +
        +
        + +
        + {{ form.escalation_hours_after }} + {% trans "hours after creation" %} +
        +

        + {{ form.escalation_hours_after.help_text }} +

        + {% if form.escalation_hours_after.errors %} +

        {{ form.escalation_hours_after.errors.0 }}

        + {% endif %} +
        +
        + + +
        +
        +
        +

        {% trans "Configuration Status" %}

        +

        {% trans "Enable or disable this SLA configuration" %}

        +
        +
        + {% trans "Active" %} + {{ form.is_active }} +
        +
        +
        + + +
        + + {% trans "Cancel" %} + + +
        + + + +{% endblock %} diff --git a/templates/config/dashboard.html b/templates/config/dashboard.html index 4423c64..61ae0ac 100644 --- a/templates/config/dashboard.html +++ b/templates/config/dashboard.html @@ -20,12 +20,25 @@
        - + +
        +
        + +
        +

        {% trans "Complaint SLA" %}

        +

        {% trans "Manage complaint SLA settings" %}

        + + + {% trans "Configure SLA" %} + +
        + +
        -

        {% trans "SLA Configurations" %}

        +

        {% trans "General SLA" %}

        {{ sla_configs_count }} {% trans "active configs" %}

        @@ -84,5 +97,29 @@ {% trans "Manage Call Records" %}
        + + +
        +
        + +
        +

        {% trans "Onboarding" %}

        +

        {{ provisional_users_count }} {% trans "pending users" %}

        + + + {% trans "Manage Onboarding" %} + +
        +{% endblock %} + +{% block extra_js %} + {% endblock %} \ No newline at end of file diff --git a/templates/dashboard/complaint_request_list.html b/templates/dashboard/complaint_request_list.html new file mode 100644 index 0000000..a9cd989 --- /dev/null +++ b/templates/dashboard/complaint_request_list.html @@ -0,0 +1,159 @@ +{% extends "layouts/base.html" %} +{% load i18n %} + +{% block title %}Complaint Requests Report - PX360{% endblock %} + +{% block content %} +
        +
        +
        +

        Step 0 — Complaint Requests Report

        +

        Track complaint request filling, status, and timing

        +
        + + Export Excel + +
        + +
        +
        +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + +
        +
        + Clear +
        +
        +
        +
        + +
        +
        + Complaint Requests ({{ page_obj.paginator.count }} total) +
        +
        +
        + + + + + + + + + + + + + + + + + + {% for req in page_obj %} + + + + + + + + + + + + + + {% empty %} + + + + {% endfor %} + +
        #DatePatientFile #DepartmentStaffStatusFill TimeBarcodeNon-Activation ReasonPR Observations
        {{ forloop.counter }}{{ req.request_date }}{{ req.patient_name|default:"—" }}{{ req.file_number|default:"—" }}{{ req.complained_department.name|default:"—" }}{{ req.staff.get_full_name|default:"—" }} + {% if req.on_hold %} + On Hold + {% elif req.filled %} + Filled + {% elif req.not_filled %} + Not Filled + {% else %} + + {% endif %} + {{ req.get_filling_time_category_display }}{% if req.from_barcode %}SELF{% else %}—{% endif %}{{ req.get_reason_non_activation_display|default:"—" }}{{ req.pr_observations|default:"—" }}
        + No complaint requests found for the selected filters. +
        +
        +
        + {% if page_obj.has_other_pages %} + + {% endif %} +
        +
        +{% endblock %} diff --git a/templates/dashboard/employee_evaluation.html b/templates/dashboard/employee_evaluation.html new file mode 100644 index 0000000..bbee526 --- /dev/null +++ b/templates/dashboard/employee_evaluation.html @@ -0,0 +1,2317 @@ +{% extends "layouts/base.html" %} +{% load i18n %} + +{% block title %}{% trans "Employee Evaluation" %} - PX360{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
        + + +
        +
        +
        +

        + + {% trans "PAD Department – Patients Relations Weekly Dashboard" %} +

        +

        + {% trans "From:" %} {{ evaluation_data.start_date|date:"d M Y" }} + – {% trans "To:" %} {{ evaluation_data.end_date|date:"d M Y" }} +

        +
        +
        +

        {% trans "Last Updated" %}

        +

        {% now "j M Y, H:i" %}

        +
        +
        +
        + + +
        +
        + +

        {% trans "Filters" %}

        +
        +
        + +
        + + +
        + + +
        + + +
        + + +
        + + +
        +
        + + +
        +
        + + + + +
        +
        +
        + + {% if evaluation_data.staff_metrics %} + +
        +
        +
        + +

        {% trans "Performance Trends (Last 4 Weeks)" %}

        +
        + +
        +
        +
        + + +
        + +
        +
        +
        +

        {% trans "Total Complaints" %}

        +

        {{ evaluation_data.summary.total_complaints }}

        +
        +
        + +
        +
        +
        + + +
        +
        +
        +

        {% trans "Total Inquiries" %}

        +

        {{ evaluation_data.summary.total_inquiries }}

        +
        +
        + +
        +
        +
        + + +
        +
        +
        +

        {% trans "Total Notes" %}

        +

        {{ evaluation_data.summary.total_notes }}

        +
        +
        + +
        +
        +
        + + +
        +
        +
        +

        {% trans "Total Escalated" %}

        +

        {{ evaluation_data.summary.total_escalated }}

        +
        +
        + +
        +
        +
        +
        + + +
        + {% for staff in evaluation_data.staff_metrics %} +
        + +
        +
        {{ staff.name }}
        +
        + {% if staff.department %}{{ staff.department }}{% endif %} + {% if staff.hospital %} | {{ staff.hospital }}{% endif %} +
        +
        + + +
        +
        +
        + + {% trans "Complaints by Response Time" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + +
        {% trans "24h" %}{% trans "48h" %}{% trans "72h" %}{% trans ">72h" %}{% trans "Total" %}
        {{ staff.complaints_response_time.24h }}{{ staff.complaints_response_time.48h }}{{ staff.complaints_response_time.72h }}{{ staff.complaints_response_time.more_than_72h }}{{ staff.complaints_response_time.total }}
        {{ staff.complaints_response_time.percentages.24h }}%{{ staff.complaints_response_time.percentages.48h }}%{{ staff.complaints_response_time.percentages.72h }}%{{ staff.complaints_response_time.percentages.more_than_72h }}%100%
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Complaint Source Breakdown" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        {% trans "Source" %}{% trans "Count" %}{% trans "%" %}
        {% trans "MOH" %}{{ staff.complaint_sources.counts.MOH }}{{ staff.complaint_sources.percentages.MOH }}%
        {% trans "CCHI" %}{{ staff.complaint_sources.counts.CCHI }}{{ staff.complaint_sources.percentages.CCHI }}%
        {% trans "Patients" %}{{ staff.complaint_sources.counts.Patients }}{{ staff.complaint_sources.percentages.Patients }}%
        {% trans "Patient's relatives" %}{{ staff.complaint_sources.counts.Patient_relatives }}{{ staff.complaint_sources.percentages.Patient_relatives }}%
        {% trans "Insurance company" %}{{ staff.complaint_sources.counts.Insurance_company }}{{ staff.complaint_sources.percentages.Insurance_company }}%
        {% trans "Total" %}{{ staff.complaint_sources.total }}100%
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Response Time by Source (CHI vs MOH)" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        {% trans "Time" %}{% trans "CHI" %}{% trans "MOH" %}
        {% trans "24 Hours" %}{{ staff.response_time_by_source.24h.CHI }}{{ staff.response_time_by_source.24h.MOH }}
        {% trans "48 Hours" %}{{ staff.response_time_by_source.48h.CHI }}{{ staff.response_time_by_source.48h.MOH }}
        {% trans "72 Hours" %}{{ staff.response_time_by_source.72h.CHI }}{{ staff.response_time_by_source.72h.MOH }}
        {% trans ">72 Hours" %}{{ staff.response_time_by_source.more_than_72h.CHI }}{{ staff.response_time_by_source.more_than_72h.MOH }}
        {% trans "Total" %}{{ staff.response_time_by_source.totals.CHI }}{{ staff.response_time_by_source.totals.MOH }}
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Patient Type Breakdown" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        {% trans "Type" %}{% trans "Count" %}{% trans "%" %}
        {% trans "In-Patient" %}{{ staff.patient_type_breakdown.counts.In_Patient }}{{ staff.patient_type_breakdown.percentages.In_Patient }}%
        {% trans "Out-Patient" %}{{ staff.patient_type_breakdown.counts.Out_Patient }}{{ staff.patient_type_breakdown.percentages.Out_Patient }}%
        {% trans "ER" %}{{ staff.patient_type_breakdown.counts.ER }}{{ staff.patient_type_breakdown.percentages.ER }}%
        {% trans "Total" %}{{ staff.patient_type_breakdown.total }}100%
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Department Type Breakdown" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        {% trans "Department" %}{% trans "Count" %}{% trans "%" %}
        {% trans "Medical" %}{{ staff.department_type_breakdown.counts.Medical }}{{ staff.department_type_breakdown.percentages.Medical }}%
        {% trans "Admin" %}{{ staff.department_type_breakdown.counts.Admin }}{{ staff.department_type_breakdown.percentages.Admin }}%
        {% trans "Nursing" %}{{ staff.department_type_breakdown.counts.Nursing }}{{ staff.department_type_breakdown.percentages.Nursing }}%
        {% trans "Support Services" %}{{ staff.department_type_breakdown.counts.Support_Services }}{{ staff.department_type_breakdown.percentages.Support_Services }}%
        {% trans "Total" %}{{ staff.department_type_breakdown.total }}100%
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Delays and Activation" %} +
        + +
        +
        +
        +
        +
        {{ staff.delays_activation.delays }}
        +
        {% trans "Delays" %}
        +
        + {{ staff.delays_activation.percentages.delays }}% +
        +
        +
        +
        {{ staff.delays_activation.activated_within_2h }}
        +
        {% trans "Activated ≤2h" %}
        +
        + {{ staff.delays_activation.percentages.activated }}% +
        +
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Escalated Complaints" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + +
        {% trans "Before 72h" %}{% trans "Exactly 72h" %}{% trans "After 72h" %}{% trans "Resolved" %}
        {{ staff.escalated_complaints.before_72h }}{{ staff.escalated_complaints.exactly_72h }}{{ staff.escalated_complaints.after_72h }}{{ staff.escalated_complaints.resolved }}
        +
        + + {% trans "Total Escalated:" %} {{ staff.escalated_complaints.total_escalated }} + +
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Inquiries" %} +
        + +
        +
        + +
        +

        {% trans "Incoming" %} ({{ staff.inquiries.incoming.total }})

        + + + + + + + + + + + + + + + + + +
        24h48h72h>72h
        {{ staff.inquiries.incoming.by_time.24h }}{{ staff.inquiries.incoming.by_time.48h }}{{ staff.inquiries.incoming.by_time.72h }}{{ staff.inquiries.incoming.by_time.more_than_72h }}
        +
        + {% trans "تحت الإجراء:" %} {{ staff.inquiries.incoming.by_status.in_progress }} + {% trans "تم التواصل:" %} {{ staff.inquiries.incoming.by_status.contacted }} + {% trans "لم يتم الرد:" %} {{ staff.inquiries.incoming.by_status.contacted_no_response }} +
        +
        + + +
        +

        {% trans "Outgoing" %} ({{ staff.inquiries.outgoing.total }})

        + + + + + + + + + + + + + + + + + +
        24h48h72h>72h
        {{ staff.inquiries.outgoing.by_time.24h }}{{ staff.inquiries.outgoing.by_time.48h }}{{ staff.inquiries.outgoing.by_time.72h }}{{ staff.inquiries.outgoing.by_time.more_than_72h }}
        +
        + {% trans "تحت الإجراء:" %} {{ staff.inquiries.outgoing.by_status.in_progress }} + {% trans "تم التواصل:" %} {{ staff.inquiries.outgoing.by_status.contacted }} + {% trans "لم يتم الرد:" %} {{ staff.inquiries.outgoing.by_status.contacted_no_response }} +
        +
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Notes" %} +
        + +
        +
        +
        + {{ staff.notes.total }} + {% trans "Total Notes" %} +
        + {% for cat_key, cat_data in staff.notes.by_category.items %} +
        +

        {{ cat_data.name }} ({{ cat_data.total }})

        +
        + {% for sub_key, sub_data in cat_data.subcategories.items %} +
        + {{ sub_data.name }} + {{ sub_data.count }} +
        + {% endfor %} +
        +
        + {% endfor %} +
        +
        + + +
        +
        +
        + + {% trans "Complaint Request & Filling" %} +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        {% trans "Status" %}{% trans "Count" %}{% trans "%" %}
        {% trans "Filled" %}{{ staff.complaint_requests.filled }}{{ staff.complaint_requests.percentages.filled }}%
        {% trans "Not Filled" %}{{ staff.complaint_requests.not_filled }}{{ staff.complaint_requests.percentages.not_filled }}%
        {% trans "On Hold" %}{{ staff.complaint_requests.on_hold }}{{ staff.complaint_requests.percentages.on_hold }}%
        {% trans "From Barcode" %}{{ staff.complaint_requests.from_barcode }}-
        +
        + {% trans "Total:" %} {{ staff.complaint_requests.total }} +
        +
        +
        +
        + + +
        +
        +
        + + {% trans "Report Completion Tracker" %} +
        + +
        +
        +
        +
        + {{ staff.report_completion.completion_percentage }}% + + {{ staff.report_completion.completed_count }}/{{ staff.report_completion.total_reports }} + +
        +
        +
        +
        +
        +
        + {% for report in staff.report_completion.reports %} +
        +
        + +
        + + {{ report.name }} + +
        + {% endfor %} +
        +
        +
        +
        + {% endfor %} +
        + + {% if evaluation_data.staff_metrics %} + +
        +
        +
        + +

        {% trans "Comparison Table" %}

        +
        + +
        + +
        + + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + + + + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + + + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + + + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + + + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + + + {% for staff in evaluation_data.staff_metrics %} + + {% endfor %} + + +
        {% trans "Metric" %}{{ staff.name }}
        + {% trans "RESPONSE TIME" %} +
        {% trans "24h Response Rate" %}{{ staff.complaints_response_time.percentages.24h }}%
        {% trans "48h Response Rate" %}{{ staff.complaints_response_time.percentages.48h }}%
        {% trans ">72h Overdue Rate" %}{{ staff.complaints_response_time.percentages.more_than_72h }}%
        + {% trans "COMPLAINTS" %} +
        {% trans "Total Complaints" %}{{ staff.complaints_response_time.total }}
        {% trans "MOH Complaints" %}{{ staff.complaint_sources.counts.MOH }}
        {% trans "CCHI Complaints" %}{{ staff.complaint_sources.counts.CCHI }}
        {% trans "Patient Complaints" %}{{ staff.complaint_sources.counts.Patients }}
        + {% trans "PERFORMANCE" %} +
        {% trans "Delay Rate" %}{{ staff.delays_activation.percentages.delays }}%
        {% trans "Activation Rate" %}{{ staff.delays_activation.percentages.activated }}%
        + {% trans "OTHER" %} +
        {% trans "Total Escalated" %}{{ staff.escalated_complaints.total_escalated }}
        {% trans "Total Inquiries" %}{{ staff.inquiries.total }}
        {% trans "Total Notes" %}{{ staff.notes.total }}
        {% trans "Report Completion" %}{{ staff.report_completion.completion_percentage }}%
        +
        + +
        +
        + + {% trans "Best performer" %} + + + {% trans "Needs improvement" %} + +
        + {% trans "Based on selected comparison criteria" %} +
        +
        + {% endif %} + + {% else %} + +
        +
        + +
        +

        {% trans "No Data Available" %}

        +

        + {% trans "No staff members with assigned complaints or inquiries found in the selected time period." %} +

        +
        + {% endif %} + +
        +{% endblock %} + +{% block extra_js %} + +{{ evaluation_data|json_script:"evaluationData" }} + +{% endblock %} \ No newline at end of file diff --git a/templates/feedback/action_plan_list.html b/templates/feedback/action_plan_list.html new file mode 100644 index 0000000..ebe0ca5 --- /dev/null +++ b/templates/feedback/action_plan_list.html @@ -0,0 +1,95 @@ +{% extends "layouts/base.html" %} + +{% block title %}Comment Action Plans - PX360{% endblock %} + +{% block content %} +
        +
        +
        +

        Steps 3-5 — Comment Action Plans

        +

        Track action plans derived from patient comments

        +
        + + Export Action Plans + +
        + +
        +
        +
        +
        + + +
        +
        + + +
        +
        + +
        +
        +
        +
        + + {% regroup action_plans by department_label as dept_groups %} + {% for dept, plans in dept_groups %} +
        +
        + {{ dept }} + {{ plans|length }} plans +
        +
        + + + + + + + + + + + + + + + {% for plan in plans %} + + + + + + + + + + + {% endfor %} + +
        #CommentFreqRecommendationResponsible DeptTimeframeStatusEvidences
        {{ plan.problem_number }}{{ plan.comment_text }}{{ plan.frequency }}{{ plan.recommendation }}{{ plan.responsible_department }}{{ plan.timeframe }} + {% if plan.status == 'completed' %}Completed + {% elif plan.status == 'on_process' %}On Process + {% else %}Pending{% endif %} + {{ plan.evidences }}
        +
        +
        + {% empty %} +
        +
        No action plans found.
        +
        + {% endfor %} +
        +{% endblock %} diff --git a/templates/feedback/comment_import_list.html b/templates/feedback/comment_import_list.html new file mode 100644 index 0000000..74e6fdd --- /dev/null +++ b/templates/feedback/comment_import_list.html @@ -0,0 +1,57 @@ +{% extends "layouts/base.html" %} + +{% block title %}Comment Imports - PX360{% endblock %} + +{% block content %} +
        +

        Step 0 — Comment Imports

        +

        Monthly patient comment data imports from IT department

        + +
        +
        + + + + + + + + + + + + + + + + {% for imp in imports %} + + + + + + + + + + + + {% empty %} + + {% endfor %} + +
        HospitalYearMonthStatusTotal RowsImportedErrorsImported ByDate
        {{ imp.hospital }}{{ imp.year }}{{ imp.month }} + {% if imp.status == 'completed' %} + Completed + {% elif imp.status == 'failed' %} + Failed + {% elif imp.status == 'processing' %} + Processing + {% else %} + Pending + {% endif %} + {{ imp.total_rows }}{{ imp.imported_count }}{{ imp.error_count }}{{ imp.imported_by.get_full_name|default:"—" }}{{ imp.created_at|date:"Y-m-d H:i" }}
        No imports yet.
        +
        +
        +
        +{% endblock %} diff --git a/templates/feedback/comment_list.html b/templates/feedback/comment_list.html new file mode 100644 index 0000000..665ed83 --- /dev/null +++ b/templates/feedback/comment_list.html @@ -0,0 +1,152 @@ +{% extends "layouts/base.html" %} + +{% block title %}Patient Comments - PX360{% endblock %} + +{% block content %} +
        +
        +
        +

        Step 1 — Classified Patient Comments

        +

        Classified comments with categories and sentiment

        +
        + +
        + +
        +
        +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + +
        +
        +
        +
        + +
        +
        + Comments ({{ page_obj.paginator.count }} total) +
        +
        +
        + + + + + + + + + + + + + + + {% for c in page_obj %} + + + + + + + + + + + {% empty %} + + {% endfor %} + +
        #SourceCommentClassificationSub-CategorySentimentNegativePositive
        {{ c.serial_number }}{{ c.get_source_category_display }}{{ c.comment_text }}{{ c.get_classification_display }}{{ c.get_sub_category_display }} + {% if c.sentiment == 'negative' %}{% elif c.sentiment == 'positive' %}{% elif c.sentiment == 'neutral' %}{% else %}{% endif %}{{ c.get_sentiment_display }} + {{ c.negative_keywords }}{{ c.positive_keywords }}
        No comments found.
        +
        +
        + {% if page_obj.has_other_pages %} + + {% endif %} +
        +
        +{% endblock %} diff --git a/templates/integrations/survey_mapping_settings.html b/templates/integrations/survey_mapping_settings.html index 6a9a93a..a8be015 100644 --- a/templates/integrations/survey_mapping_settings.html +++ b/templates/integrations/survey_mapping_settings.html @@ -148,10 +148,10 @@
        diff --git a/templates/layouts/base.html b/templates/layouts/base.html index 24ce455..07fab09 100644 --- a/templates/layouts/base.html +++ b/templates/layouts/base.html @@ -215,6 +215,100 @@ } } }); + + // Notification dropdown handler + document.addEventListener('click', function(e) { + const notificationBtn = e.target.closest('[onclick*="notificationDropdown"]'); + if (notificationBtn) { + loadNotifications(); + } + }); + + // Load notifications for dropdown + async function loadNotifications() { + try { + const response = await fetch('/notifications/api/latest/'); + const data = await response.json(); + const container = document.getElementById('notificationDropdownContent'); + + if (!container) return; + + if (data.notifications.length === 0) { + container.innerHTML = ` +
        +
        + +
        +

        {% trans "No new notifications" %}

        +

        {% trans "You're all caught up!" %}

        +
        + `; + } else { + container.innerHTML = data.notifications.map(n => { + const icon = n.type === 'complaint_assigned' ? 'user-check' : + n.type === 'sla_reminder' ? 'clock' : 'bell'; + return ` + +
        +
        + + ${icon === 'user-check' ? '' : + icon === 'clock' ? '' : + ''} + +
        +
        +

        ${n.title}

        +

        ${formatTime(n.created_at)}

        +
        +
        +
        + `}).join(''); + + if (data.has_more) { + container.innerHTML += ` + + {% trans "View all notifications" %} + + `; + } + } + } catch (error) { + console.error('Error loading notifications:', error); + } + } + + // Format timestamp to relative time + function formatTime(isoString) { + const date = new Date(isoString); + const now = new Date(); + const diff = Math.floor((now - date) / 1000); + + if (diff < 60) return '{% trans "Just now" %}'; + if (diff < 3600) return Math.floor(diff / 60) + ' {% trans "min ago" %}'; + if (diff < 86400) return Math.floor(diff / 3600) + ' {% trans "hours ago" %}'; + return Math.floor(diff / 86400) + ' {% trans "days ago" %}'; + } + + // Poll for new notifications every 30 seconds + setInterval(async () => { + try { + const response = await fetch('/notifications/api/unread-count/'); + const data = await response.json(); + const badge = document.getElementById('notification-count-badge'); + + if (badge) { + if (data.count > 0) { + badge.textContent = data.count; + badge.classList.remove('hidden'); + } else { + badge.classList.add('hidden'); + } + } + } catch (error) { + console.error('Error polling notifications:', error); + } + }, 30000); {% block extra_js %}{% endblock %} diff --git a/templates/layouts/partials/sidebar.html b/templates/layouts/partials/sidebar.html index 13993f2..c2d5e4d 100644 --- a/templates/layouts/partials/sidebar.html +++ b/templates/layouts/partials/sidebar.html @@ -118,14 +118,29 @@ {% trans "Dashboard" %} - + {% if user.is_px_admin or user.is_hospital_admin %} {% if not user.source_user_profile %} - - - {% trans "Admin Evaluation" %} - + {% endif %} {% endif %} @@ -216,17 +231,17 @@ {% trans "Survey List" %} - + {% trans "Templates" %} - + {% trans "Create Survey" %} - {% trans "Manual Send" %} @@ -290,11 +305,20 @@ {% endif %} - {% comment %} {% trans "Patients" %} - {% endcomment %} + + + + {% if user.is_px_admin %} + + + {% trans "Social Media" %} + + {% endif %} {% if not user.source_user_profile %} @@ -700,6 +724,14 @@ function toggleStandardsMenu(event) { chevron.classList.toggle('rotate-180'); } +function togglePerformanceMenu(event) { + event.preventDefault(); + const submenu = document.getElementById('performance-submenu'); + const chevron = document.getElementById('performance-chevron'); + submenu.classList.toggle('open'); + chevron.classList.toggle('rotate-180'); +} + function logout() { if (confirm('{% trans "Are you sure you want to logout?" %}')) { document.querySelector('form[action="{% url 'accounts:logout' %}"]').submit(); diff --git a/templates/layouts/partials/topbar.html b/templates/layouts/partials/topbar.html index 0061cba..5918e01 100644 --- a/templates/layouts/partials/topbar.html +++ b/templates/layouts/partials/topbar.html @@ -37,49 +37,27 @@ onclick="document.getElementById('notificationDropdown').classList.toggle('hidden')" class="p-2 text-gray-400 hover:bg-gray-100 rounded-full transition relative"> - {% if notification_count|default:0 > 0 %} - + {% if notification_count > 0 %} + + {{ notification_count }} + + {% else %} + {% endif %} diff --git a/templates/notifications/inbox.html b/templates/notifications/inbox.html new file mode 100644 index 0000000..59ce446 --- /dev/null +++ b/templates/notifications/inbox.html @@ -0,0 +1,320 @@ +{% extends 'layouts/base.html' %} +{% load i18n %} +{% load static %} + +{% block title %}{% trans "Notifications" %} - PX360{% endblock %} + +{% block content %} + +
        +
        +
        +

        + + {% trans "Notifications" %} +

        +

        {% trans "View and manage your notifications" %}

        +
        +
        + {% if unread_count > 0 %} + + {% endif %} + {% if notifications %} + + {% endif %} +
        +
        +
        + + + + + +{% if notifications %} +
        + {% for notification in notifications %} +
        +
        + +
        + +
        + + +
        +
        +
        +

        + {{ notification.get_title }} +

        +

        {{ notification.get_message }}

        +
        + {{ notification.created_at|timesince }} {% trans "ago" %} + {% if not notification.is_read %} + {% trans "New" %} + {% endif %} +
        +
        + + +
        + {% if not notification.is_read %} + + {% endif %} + +
        +
        +
        +
        +
        + {% endfor %} +
        + + +{% if notifications.has_other_pages %} +
        + {% if notifications.has_previous %} + + + + {% endif %} + + + {{ notifications.number }} / {{ notifications.paginator.num_pages }} + + + {% if notifications.has_next %} + + + + {% endif %} +
        +{% endif %} + +{% else %} + +
        +
        + +
        +

        + {% if filter == 'unread' %} + {% trans "No unread notifications" %} + {% elif filter == 'read' %} + {% trans "No read notifications" %} + {% else %} + {% trans "No notifications" %} + {% endif %} +

        +

        + {% if filter == 'unread' %} + {% trans "You're all caught up!" %} + {% else %} + {% trans "You don't have any notifications yet." %} + {% endif %} +

        +
        +{% endif %} +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/organizations/patient_detail.html b/templates/organizations/patient_detail.html index 455499e..fbaae4b 100644 --- a/templates/organizations/patient_detail.html +++ b/templates/organizations/patient_detail.html @@ -26,22 +26,6 @@ color: #1e293b; line-height: 1.5; } - .field-value-secondary { - font-size: 13px; - color: #64748b; - } - .survey-item { - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - border-left: 3px solid transparent; - } - .survey-item:hover { - border-left-color: #007bbd; - background: linear-gradient(135deg, #eef6fb 0%, #f0f9ff 100%); - transform: translateX(4px); - } - .metric-card { - background: linear-gradient(135deg, #007bbd 0%, #005696 100%); - } .avatar-circle { background: linear-gradient(135deg, #007bbd 0%, #005696 100%); box-shadow: 0 4px 6px -1px rgba(0, 123, 189, 0.4); @@ -59,283 +43,624 @@ .icon-wrapper { box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.1); } + .tab-btn { + padding: 0.625rem 1.25rem; + border-radius: 0.75rem; + font-size: 0.8125rem; + font-weight: 600; + transition: all 0.2s; + border: 2px solid transparent; + display: inline-flex; + align-items: center; + gap: 0.5rem; + } + .tab-btn.active { + background: #005696; + color: white; + border-color: #005696; + } + .tab-btn:not(.active) { + color: #64748b; + border-color: #e2e8f0; + background: white; + } + .tab-btn:not(.active):hover { + border-color: #005696; + color: #005696; + background: #f8fafc; + } + .tab-btn .tab-count { + padding: 0.125rem 0.5rem; + border-radius: 9999px; + font-size: 0.6875rem; + font-weight: 700; + } + .tab-btn.active .tab-count { + background: rgba(255,255,255,0.2); + color: white; + } + .tab-btn:not(.active) .tab-count { + background: #f1f5f9; + color: #64748b; + } + .data-row { + transition: all 0.2s ease; + border-left: 3px solid transparent; + } + .data-row:hover { + background: linear-gradient(135deg, #eef6fb 0%, #f0f9ff 100%); + border-left-color: #007bbd; + } + .type-badge { + display: inline-flex; + align-items: center; + padding: 0.25rem 0.625rem; + border-radius: 0.5rem; + font-size: 0.6875rem; + font-weight: 700; + letter-spacing: 0.025em; + } + .type-badge.ed { background: #fef3c7; color: #92400e; } + .type-badge.ip { background: #dbeafe; color: #1e40af; } + .type-badge.op { background: #d1fae5; color: #065f46; } + .priority-dot { + width: 8px; + height: 8px; + border-radius: 50%; + display: inline-block; + } + .vip-badge { + background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); + color: white; + padding: 0.125rem 0.5rem; + border-radius: 9999px; + font-size: 0.625rem; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.05em; + } {% endblock %} {% block content %}
        - -
        - - - - -
        -
        - -
        - {{ patient.first_name|first }}{{ patient.last_name|first }} -
        - - -
        -

        - {{ patient.get_full_name }} - {% if patient.first_name_ar or patient.last_name_ar %} - - {{ patient.first_name_ar|default:'' }} {{ patient.last_name_ar|default:'' }} - - {% endif %} -

        - -
        - - - {% trans "MRN" %}: - {{ patient.mrn }} - - {% if patient.national_id %} - - - {% trans "National ID" %}: - {{ patient.national_id }} - - {% endif %} - {% if patient.date_of_birth %} - - - {% trans "DOB" %}: - {{ patient.date_of_birth }} - - {% endif %} -
        -
        -
        - - -
        - - - {% trans "Edit Patient" %} - - {% if request.user.is_px_admin %} - - - {% trans "Delete" %} - - {% endif %} -
        -
        -
        - -
        - -
        - - -
        -

        -
        - -
        - {% trans "Basic Information" %} -

        - -
        -
        -

        {% trans "First Name" %}

        -

        {{ patient.first_name|default:"-" }}

        - {% if patient.first_name_ar %} -

        {{ patient.first_name_ar }}

        - {% endif %} -
        -
        -

        {% trans "Last Name" %}

        -

        {{ patient.last_name|default:"-" }}

        - {% if patient.last_name_ar %} -

        {{ patient.last_name_ar }}

        - {% endif %} -
        -
        -

        {% trans "Date of Birth" %}

        -

        {{ patient.date_of_birth|default:"-" }}

        -
        -
        -

        {% trans "Gender" %}

        -

        {{ patient.get_gender_display|default:"-" }}

        -
        -
        -

        {% trans "National ID" %}

        -

        {{ patient.national_id|default:"-" }}

        -
        -
        -

        {% trans "Status" %}

        - - {{ patient.get_status_display }} - -
        -
        -
        - - -
        -

        -
        - -
        - {% trans "Contact Information" %} -

        - -
        -
        -

        {% trans "Phone" %}

        -

        {{ patient.phone|default:"-" }}

        -
        -
        -

        {% trans "Email" %}

        -

        {{ patient.email|default:"-" }}

        -
        -
        -

        {% trans "Address" %}

        -

        {{ patient.address|default:"-" }}

        -
        -
        -

        {% trans "City" %}

        -

        {{ patient.city|default:"-" }}

        -
        -
        -
        - - - {% if surveys %} -
        -

        -
        - -
        - {% trans "Recent Surveys" %} - {{ surveys.count }} -

        - -
        - {% for survey in surveys %} -
        -
        -

        {{ survey.survey_template.name }}

        -
        - - - {{ survey.created_at|date:"d M Y" }} - - - - {{ survey.created_at|date:"H:i" }} - -
        -
        -
        - {% if survey.total_score %} -
        - - {{ survey.total_score }} - - {% trans "Score" %} -
        - {% endif %} - +
        -
        - {% endfor %} -
        + {{ patient.get_status_display }} + + -
        - - {% trans "View all surveys" %} - - +
        +
        +
        + {{ patient.first_name|first }}{{ patient.last_name|first }} +
        +
        +

        + {{ patient.get_full_name }} + {% if patient.first_name_ar or patient.last_name_ar %} + + {{ patient.first_name_ar|default:'' }} {{ patient.last_name_ar|default:'' }} + + {% endif %} +

        +
        + + + {% trans "MRN" %}: + {{ patient.mrn }} + + {% if patient.national_id %} + + + {% trans "SSN" %}: + {{ patient.national_id }} + + {% endif %} + {% if patient.phone %} + + + {{ patient.phone }} + + {% endif %} + {% if patient.nationality %} + + + {{ patient.nationality }} + + {% endif %} +
        +
        +
        +
        + + + + {% trans "Edit" %} + + {% if request.user.is_px_admin %} + + + {% trans "Delete" %} + + {% endif %} +
        -
        - {% endif %} -
        + - -
        - - -
        -
        -
        -
        -
        -
        - -
        -

        {% trans "Hospital" %}

        -
        -

        {{ patient.primary_hospital.name|default:"-" }}

        - {% if patient.primary_hospital.name_ar %} -

        {{ patient.primary_hospital.name_ar }}

        - {% endif %} -
        -
        +
        +
        +
        +

        +
        + +
        + {% trans "Patient Information" %} +

        +
        +
        +

        {% trans "First Name" %}

        +

        {{ patient.first_name|default:"-" }}

        + {% if patient.first_name_ar %}

        {{ patient.first_name_ar }}

        {% endif %} +
        +
        +

        {% trans "Last Name" %}

        +

        {{ patient.last_name|default:"-" }}

        + {% if patient.last_name_ar %}

        {{ patient.last_name_ar }}

        {% endif %} +
        +
        +

        {% trans "Gender" %}

        +

        {{ patient.get_gender_display|default:"-" }}

        +
        +
        +

        {% trans "Date of Birth" %}

        +

        {{ patient.date_of_birth|default:"-" }}

        +
        +
        +

        {% trans "Nationality" %}

        +

        {{ patient.nationality|default:"-" }}

        +
        +
        +

        {% trans "Phone" %}

        +

        {{ patient.phone|default:"-" }}

        +
        +
        +

        {% trans "Email" %}

        +

        {{ patient.email|default:"-" }}

        +
        +
        +

        {% trans "City" %}

        +

        {{ patient.city|default:"-" }}

        +
        +
        +

        {% trans "Status" %}

        + + {{ patient.get_status_display }} + +
        +
        +
        - -
        -
        -
        - -
        -

        {% trans "Metadata" %}

        +
        + + +
        + {% if tab == 'visits' %} +
        + + + + + + + + + + + + + + {% for visit in his_visits %} + + + + + + + + + + {% empty %} + + + + {% endfor %} + +
        {% trans "Adm ID" %}{% trans "Type" %}{% trans "Dates" %}{% trans "Doctor" %}{% trans "Insurance" %}{% trans "Status" %}{% trans "Journey" %}
        + {{ visit.admission_id }} + +
        + {{ visit.patient_type }} + {% if visit.is_vip %}VIP{% endif %} +
        +
        +
        +
        {{ visit.admit_date|date:"d M Y H:i"|default:"-" }}
        + {% if visit.discharge_date %} +
        + + {{ visit.discharge_date|date:"d M Y H:i" }} +
        + {% else %} + {% trans "In Progress" %} + {% endif %} +
        +
        + {% if visit.primary_doctor_fk %} + + {{ visit.primary_doctor_fk }} + + {% else %} + {{ visit.doctor_display }} + {% endif %} + + {% if visit.insurance_company_name %} + {{ visit.insurance_company_name }} + {% else %} + - + {% endif %} + {% if visit.bill_type %} + {{ visit.bill_type }} + {% endif %} + + {% if visit.is_visit_complete %} + {% trans "Complete" %} + {% elif visit.survey_instance %} + {% trans "Survey Sent" %} + {% else %} + {% trans "Active" %} + {% endif %} + + + + {% trans "View" %} + +
        +
        +
        + +
        +

        {% trans "No HIS visits found" %}

        +
        +
        +
        + + {% elif tab == 'surveys' %} +
        + {% for survey in surveys %} +
        +
        +

        {{ survey.survey_template.name }}

        +
        + {% if survey.sent_at %} + + + {{ survey.sent_at|date:"d M Y H:i" }} + + {% endif %} + {% if survey.completed_at %} + + + {{ survey.completed_at|date:"d M Y H:i" }} + + {% endif %} + {% if survey.delivery_channel %} + + + {{ survey.delivery_channel|upper }} + + {% endif %} +
        +
        +
        + {% if survey.total_score %} +
        + + {{ survey.total_score }} + + {% trans "Score" %} +
        + {% endif %} + + {{ survey.get_status_display }} + +
        +
        + {% empty %} +
        +
        + +
        +

        {% trans "No surveys found" %}

        +
        + {% endfor %} +
        + + {% elif tab == 'complaints' %} +
        + {% for complaint in complaints %} +
        +
        +
        + {{ complaint.reference_number|default:"-" }} + {% if complaint.priority %} + + {% endif %} +
        +

        {{ complaint.title }}

        +
        + + + {{ complaint.created_at|date:"d M Y" }} + + {% if complaint.department %} + + + {{ complaint.department.name }} + + {% endif %} +
        +
        + + {{ complaint.get_status_display }} + +
        + {% empty %} +
        +
        + +
        +

        {% trans "No complaints found" %}

        +
        + {% endfor %} +
        + + {% elif tab == 'inquiries' %} +
        + {% for inquiry in inquiries %} +
        +
        +

        {{ inquiry.subject }}

        +
        + + + {{ inquiry.created_at|date:"d M Y" }} + + {{ inquiry.category }} + {% if inquiry.department %} + + + {{ inquiry.department.name }} + + {% endif %} +
        +
        + + {{ inquiry.get_status_display }} + +
        + {% empty %} +
        +
        + +
        +

        {% trans "No inquiries found" %}

        +
        + {% endfor %} +
        + {% endif %} +
        +
        -
        -
        -
        - - {% trans "Created" %} -
        - {{ patient.created_at|date:"d M Y" }} -
        -
        -
        - - {% trans "Updated" %} -
        - {{ patient.updated_at|date:"d M Y" }} -
        + +
        +
        +

        +
        + +
        + {% trans "Summary" %} +

        + +
        + +
        +
        +
        +
        +
        +
        + +
        +

        {% trans "Hospital" %}

        +
        +

        {{ patient.primary_hospital.name|default:"-" }}

        + {% if patient.primary_hospital.name_ar %} +

        {{ patient.primary_hospital.name_ar }}

        + {% endif %} +
        +
        + +
        +
        +
        + +
        +

        {% trans "Record Info" %}

        +
        +
        +
        +
        + + {% trans "Created" %} +
        + {{ patient.created_at|date:"d M Y H:i" }} +
        +
        +
        + + {% trans "Updated" %} +
        + {{ patient.updated_at|date:"d M Y H:i" }} +
        +
        +
        -
        -
        {% endblock %} {% block extra_js %} {% endblock %} diff --git a/templates/organizations/patient_list.html b/templates/organizations/patient_list.html index 9a511de..79de201 100644 --- a/templates/organizations/patient_list.html +++ b/templates/organizations/patient_list.html @@ -6,7 +6,6 @@ {% block extra_css %} {% endblock %} {% block content %} +{% csrf_token %}
        -

        {% trans "Patients" %}

        {% trans "Manage patient records and information" %}

        - {% if request.user.is_px_admin or request.user.is_hospital_admin %} - - {% trans "Add Patient" %} - - {% endif %} +
        + + + {% trans "Export CSV" %} + + {% if request.user.is_px_admin or request.user.is_hospital_admin %} + + {% trans "Add Patient" %} + + {% endif %} +
        -
        @@ -138,7 +150,7 @@
        {% trans "Total Patients" %}
        -

        {{ page_obj.paginator.count|default:0 }}

        +

        {{ stats.total|default:0 }}

        @@ -151,7 +163,7 @@
        {% trans "Active" %}
        -

        {{ page_obj.paginator.count|default:0 }}

        +

        {{ stats.active|default:0 }}

        @@ -159,12 +171,12 @@
        - +
        {% trans "Hospitals" %}
        -

        {{ page_obj.paginator.count|default:0 }}

        +

        {{ stats.hospitals|default:0 }}

        @@ -177,26 +189,24 @@
        {% trans "Encounters" %}
        -

        {{ page_obj.paginator.count|default:0 }}

        +

        {{ stats.visits|default:0 }}

        -
        -
        +
        + placeholder="{% trans 'Name, MRN, SSN, Phone...' %}">
        -
        - -
        - + + +
        -
        {% trans "Patient List" %}
        + {{ page_obj.paginator.count }}
        - - - - - - + + + + + + + + {% for patient in patients %} - - - + - + - - {% empty %} -
        {% trans "Patient" %}{% trans "MRN" %}{% trans "Contact" %}{% trans "Hospital" %}{% trans "Status" %}{% trans "Actions" %}{% trans "Patient" %}{% trans "MRN" %}{% trans "National ID" %}{% trans "Contact" %}{% trans "Nationality" %}{% trans "Hospital" %}{% trans "Status" %}{% trans "Actions" %}
        + - + {{ patient.mrn }} + + {{ patient.national_id|default:"-" }} + {% if patient.phone %}
        - + {{ patient.phone }}
        {% endif %} {% if patient.email %}
        - - {{ patient.email }} + + {{ patient.email }}
        {% endif %}
        + + {{ patient.nationality|default:"-" }} +
        - + {{ patient.primary_hospital.name|default:"-" }}
        + {{ patient.get_status_display }} +
        + title="{% trans 'View' %}" onclick="event.stopPropagation()"> {% if request.user.is_px_admin or request.user.is_hospital_admin %} + title="{% trans 'Edit' %}" onclick="event.stopPropagation()"> {% endif %} @@ -299,7 +336,7 @@
        +
        @@ -320,14 +357,12 @@
        - {% if page_obj.has_other_pages %}
        - {% trans "Showing" %} {{ page_obj.start_index }}-{{ page_obj.end_index }} {% trans "of" %} {{ page_obj.paginator.count }} {% trans "entries" %} + {% trans "Showing" %} {{ page_obj.start_index }}-{{ page_obj.end_index }} {% trans "of" %} {{ page_obj.paginator.count }} -
        {% for key, value in request.GET.items %} {% if key != 'page_size' and key != 'page' %} @@ -388,10 +423,309 @@ {% endif %}
        + + + + + + + {% endblock %} {% block extra_js %} {% endblock %} diff --git a/templates/organizations/patient_visit_journey.html b/templates/organizations/patient_visit_journey.html new file mode 100644 index 0000000..341db52 --- /dev/null +++ b/templates/organizations/patient_visit_journey.html @@ -0,0 +1,382 @@ +{% extends 'layouts/base.html' %} +{% load i18n %} + +{% block title %}{% trans "Visit Journey" %} - {{ visit.admission_id }} - {{ patient.get_full_name }}{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
        + + +
        +
        + +
        +
        +

        +
        + +
        + {% trans "Visit Journey" %} +

        +
        + {{ visit.patient_type }} + {% if visit.is_vip %}VIP{% endif %} + {% if visit.is_visit_complete %} + {% trans "Complete" %} + {% elif visit.survey_instance %} + {% trans "Survey Sent" %} + {% else %} + {% trans "Active" %} + {% endif %} +
        +
        + +
        + + {{ visit.admission_id }} + {% if visit.reg_code %} + | + Reg: {{ visit.reg_code }} + {% endif %} +
        + + +
        +
        +

        {% trans "Admission" %}

        +

        {{ visit.admit_date|date:"d M Y, H:i"|default:"-" }}

        +
        +
        +

        {% trans "Discharge" %}

        + {% if visit.discharge_date %} +

        {{ visit.discharge_date|date:"d M Y, H:i" }}

        + {% else %} +

        {% trans "In Progress" %}

        + {% endif %} +
        +
        +

        {% trans "Hospital" %}

        +

        {{ visit.hospital.name|default:"-" }}

        +
        +
        +

        {% trans "Insurance" %}

        +

        {{ visit.insurance_company_name|default:"-" }}

        + {% if visit.bill_type %} + {{ visit.bill_type }} + {% endif %} +
        +
        +
        + + +
        +

        +
        + +
        + {% trans "Visit Timeline" %} + {{ timeline|length }} {% trans "events" %} +

        + + {% if timeline %} +
        + {% for event in timeline %} +
        +
        + +
        +
        +
        +
        + {% if event.patient_type %} + {{ event.patient_type }} + {% endif %} + {% if event.visit_category %} + {{ event.visit_category }} + {% endif %} + {% if event.type %} + {{ event.type }} + {% endif %} +
        + {% if event.parsed_date or event.bill_date %} + + + {% if event.parsed_date %} + {{ event.parsed_date|date:"d M Y, H:i" }} + {% else %} + {{ event.bill_date }} + {% endif %} + + {% endif %} +
        + {% if event.reg_code %} +
        + Reg: {{ event.reg_code }} + {% if event.admission_id %} + | + Adm: {{ event.admission_id }} + {% endif %} +
        + {% endif %} +
        +
        + {% endfor %} +
        + {% else %} +
        +
        + +
        +

        {% trans "No timeline events recorded for this visit" %}

        +
        + {% endif %} +
        +
        + + +
        + +
        +

        +
        + +
        + {% trans "Patient" %} +

        +
        +
        + {{ patient.first_name|first }}{{ patient.last_name|first }} +
        +
        + {{ patient.get_full_name }} + {{ patient.mrn }} +
        +
        +
        + {% if patient.phone %} +
        + + {{ patient.phone }} +
        + {% endif %} + {% if patient.nationality %} +
        + + {{ patient.nationality }} +
        + {% endif %} + {% if patient.national_id %} +
        + + {{ patient.national_id }} +
        + {% endif %} +
        +
        + + +
        +

        +
        + +
        + {% trans "Medical Team" %} +

        +
        + {% if visit.primary_doctor_fk %} + + {% else %} +
        +

        {% trans "Primary Doctor" %}

        +

        {{ visit.doctor_display }}

        +
        + {% endif %} + + {% if visit.consultant_fk %} + + {% elif visit.consultant_id %} +
        +

        {% trans "Consultant" %}

        +

        {{ visit.consultant_display }}

        +
        + {% endif %} +
        +
        + + +
        +

        +
        + +
        + {% trans "Visit Details" %} +

        +
        + {% if visit.company_name %} +
        +

        {% trans "Company" %}

        +

        {{ visit.company_name }}

        +
        + {% endif %} + {% if visit.grade_name %} +
        +

        {% trans "Grade" %}

        +

        {{ visit.grade_name }}

        +
        + {% endif %} + {% if visit.nationality %} +
        +

        {% trans "Nationality" %}

        +

        {{ visit.nationality }}

        +
        + {% endif %} +
        +

        {% trans "Patient ID (HIS)" %}

        +

        {{ visit.patient_id_his|default:"-" }}

        +
        + {% if visit.last_his_fetch_at %} +
        +

        {% trans "Last HIS Sync" %}

        +

        {{ visit.last_his_fetch_at|date:"d M Y, H:i" }}

        +
        + {% endif %} +
        +
        + + + {% if visit.survey_instance %} +
        +
        +
        +
        + +

        {% trans "Survey" %}

        +
        +

        {{ visit.survey_instance.survey_template.name }}

        +
        + {% if visit.survey_instance.sent_at %} + + + {{ visit.survey_instance.sent_at|date:"d M Y H:i" }} + + {% endif %} + {% if visit.survey_instance.total_score %} + {{ visit.survey_instance.total_score }} + {% endif %} +
        +
        +
        + {% endif %} +
        +
        +
        +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/physicians/individual_ratings_list.html b/templates/physicians/individual_ratings_list.html index 60d8fb6..eb86fa2 100644 --- a/templates/physicians/individual_ratings_list.html +++ b/templates/physicians/individual_ratings_list.html @@ -182,7 +182,7 @@ {% trans "Date" %} {% trans "Doctor" %} - {% trans "Patient" %} + {% trans "Patient (if available)" %} {% trans "Rating" %} {% trans "Department" %} {% trans "Source" %} @@ -216,8 +216,18 @@
        -
        {{ rating.patient_name|truncatechars:20 }}
        -
        {{ rating.patient_uhid }}
        + {% if rating.patient_name %} +
        {{ rating.patient_name|truncatechars:20 }}
        +
        {{ rating.patient_uhid|default:"" }}
        + {% else %} +
        + {% if rating.source == 'his_api' %} + {% trans "HIS Rating" %} + {% else %} + {% trans "N/A" %} + {% endif %} +
        + {% endif %}
        diff --git a/templates/references/folder_view.html b/templates/references/folder_view.html index b2e24ba..80ec8bd 100644 --- a/templates/references/folder_view.html +++ b/templates/references/folder_view.html @@ -297,140 +297,4 @@
        -{% endblock %} - - {% trans "Search" %} - - {% if current_folder %} - - {% trans "New Folder" %} - - {% else %} - - {% trans "New Folder" %} - - {% endif %} - {% if current_folder %} - - {% trans "Upload Document" %} - - {% else %} - - {% trans "Upload Document" %} - - {% endif %} - - - - - {% if subfolders %} - - {% endif %} - - -
        -
        -
        - -
        -
        {% trans "Documents" %}
        -
        -
        - {% if documents %} -
        - - - - - - - - - - - - - - {% for document in documents %} - - - - - - - - - - {% endfor %} - -
        {% trans "Name" %}{% trans "Type" %}{% trans "Size" %}{% trans "Version" %}{% trans "Downloads" %}{% trans "Modified" %}
        - - - {{ document.title }} - - - {{ document.file_type|upper }} - {{ document.get_file_size_display }} - {% if document.is_latest_version %} - {{ document.version }} - {% else %} - {{ document.version }} - {% endif %} - {{ document.download_count }}{{ document.updated_at|date:"M d, Y" }} -
        - - - -
        -
        -
        - {% else %} -
        - -

        {% trans "No documents in this folder" %}

        - {% if current_folder %} - - {% trans "Upload Document" %} - - {% else %} - - {% trans "Upload Document" %} - - {% endif %} -
        - {% endif %} -
        -
        - {% endblock %} diff --git a/templates/standards/department_standards.html b/templates/standards/department_standards.html index 6cacf32..4760e22 100644 --- a/templates/standards/department_standards.html +++ b/templates/standards/department_standards.html @@ -173,17 +173,26 @@ window.CSRF_TOKEN = '{{ csrf_token }}'; - {% if item.compliance %} - - {% else %} - - {% endif %} +
        + {% if item.compliance %} + + + {% else %} + + {% endif %} +
        {% empty %} @@ -270,6 +279,114 @@ window.CSRF_TOKEN = '{{ csrf_token }}'; + + + {% endblock %} diff --git a/templates/surveys/instance_detail.html b/templates/surveys/instance_detail.html index 8787596..028e69c 100644 --- a/templates/surveys/instance_detail.html +++ b/templates/surveys/instance_detail.html @@ -204,7 +204,7 @@ {% if survey.status == 'completed' %} -
        +

        {% trans "Patient Comment" %} @@ -339,6 +339,35 @@
        + +
        +

        + + {% trans "Survey Link" %} +

        +
        + {{ survey_url }} +
        + + {% if survey.token_expires_at %} +
        + + {% trans "Expires" %}: {{ survey.token_expires_at|date:"M d, Y H:i" }} +
        + {% endif %} +
        + + {% if survey.status == 'completed' and survey.comment %} + + + {% trans "Survey Comments" %} + + + {% endif %} +

        @@ -421,6 +450,30 @@

        + + {% if visit_timeline %} +
        +

        + + {% trans "Visit Timeline" %} +

        +
        + {% for visit in visit_timeline %} +
        +
        +
        {{ visit.bill_date }}
        +
        {{ visit.type }}
        +
        + + {{ visit.patient_type }} + +
        +
        + {% endfor %} +
        +
        + {% endif %} + {% if survey.journey_instance %}
        diff --git a/templates/surveys/template_confirm_delete.html b/templates/surveys/template_confirm_delete.html new file mode 100644 index 0000000..54ceaa7 --- /dev/null +++ b/templates/surveys/template_confirm_delete.html @@ -0,0 +1,138 @@ +{% extends "layouts/base.html" %} +{% load i18n %} + +{% block title %}{% trans "Delete Survey Template" %} - PX360{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
        + +
        +
        +
        +

        + + {% trans "Delete Survey Template" %} +

        +

        {% trans "Confirm deletion of survey template" %}

        +
        + + + {% trans "Back to Templates" %} + +
        +
        + + +
        +
        +
        + +
        +
        +

        {% trans "Warning: This action cannot be undone" %}

        +

        {% trans "All associated data will be permanently deleted" %}

        +
        +
        + +
        +

        {% trans "The following will be deleted:" %}

        +
          +
        • + + {% trans "Survey template" %}: {{ template.name }} +
        • +
        • + + {% trans "All questions associated with this template" %} +
        • +
        • + + {% trans "All survey instances and responses linked to this template" %} +
        • +
        +
        + +
        + {% csrf_token %} +
        + + + {% trans "Cancel" %} + + +
        +
        +
        +
        +{% endblock %} + +{% block extra_js %} + +{% endblock %} diff --git a/templates/surveys/template_detail.html b/templates/surveys/template_detail.html index e676fda..688e0d1 100644 --- a/templates/surveys/template_detail.html +++ b/templates/surveys/template_detail.html @@ -1,256 +1,290 @@ {% extends "layouts/base.html" %} {% load i18n %} -{% block title %}{{ template.name }} - PX360{% endblock %} +{% block title %}{{ template.name }} - {% trans "Survey Template" %} - PX360{% endblock %} + +{% block extra_css %} + +{% endblock %} {% block content %} - -
        -
        -

        - - {{ template.name }} -

        -

        {{ template.name_ar }}

        -
        -
        - - {% trans "Back" %} - - - {% trans "Edit" %} - - -
        + + - -
        -
        -
        -
        - -
        -
        -

        {% trans "Total Instances" %}

        -

        {{ stats.total_instances }}

        -
        -
        -
        -
        -
        -
        - -
        -
        -

        {% trans "Completed" %}

        -

        {{ stats.completed_instances }}

        -
        -
        -
        -
        -
        -
        - -
        -
        -

        {% trans "Negative" %}

        -

        {{ stats.negative_instances }}

        -
        -
        -
        -
        -
        -
        - -
        -
        -

        {% trans "Avg Score" %}

        -

        {{ stats.avg_score }}

        -
        -
        -
        -
        - - -
        - -
        -
        -

        {% trans "Template Details" %}

        -
        -
        -
        -
        - {% trans "Hospital" %} - {{ template.hospital.name_en }} -
        -
        - {% trans "Survey Type" %} - {{ template.get_survey_type_display }} -
        -
        - {% trans "Scoring Method" %} - {{ template.get_scoring_method_display }} -
        -
        - {% trans "Negative Threshold" %} - {{ template.negative_threshold }} -
        -
        - {% trans "Status" %} - {% if template.is_active %} - {% trans "Active" %} - {% else %} - {% trans "Inactive" %} - {% endif %} -
        -
        - {% trans "Created By" %} - {{ template.created_by.get_full_name|default:"System" }} -
        -
        - {% trans "Created At" %} - {{ template.created_at|date:"Y-m-d H:i" }} -
        -
        -
        -
        - - -
        -
        -

        {% trans "Statistics" %}

        -
        -
        -
        -
        - {% trans "Total Instances" %} - {{ stats.total_instances }} -
        -
        - {% trans "Completed" %} - {{ stats.completed_instances }} -
        -
        - {% trans "Completion Rate" %} - {{ stats.completion_rate }}% -
        -
        - {% trans "Negative Responses" %} - {{ stats.negative_instances }} -
        -
        - {% trans "Average Score" %} - {{ stats.avg_score }} -
        -
        -
        -
        -
        - - -
        -
        -

        {% trans "Questions" %} ({{ questions.count }})

        -
        -
        - {% if questions %} -
        - - - - - - - - - - - - {% for question in questions %} - - - - - - - - {% endfor %} - -
        {% trans "Order" %}{% trans "Question (EN)" %}{% trans "Question (AR)" %}{% trans "Type" %}{% trans "Required" %}
        - - {{ question.order }} - - {{ question.text }}{{ question.text_ar|default:"-" }} - {{ question.get_question_type_display }} - - {% if question.is_required %} - {% trans "Yes" %} - {% else %} - {% trans "No" %} - {% endif %} -
        -
        + +
        +
        + {% trans "Templates" %} + + {{ template.name }} + {% if template.is_active %} + {% trans "Active" %} {% else %} -
        -
        - -
        -

        {% trans "No Questions" %}

        -

        {% trans "No questions have been added to this template yet." %}

        -
        + {% trans "Inactive" %} {% endif %}
        -
        - - -

        - {% if template %}{% trans "Modify survey template and questions" %}{% else %}{% trans "Create a new survey template with questions" %}{% endif %} + {% if template %}{% trans "Modify this survey template and its questions" %}{% else %}{% trans "Create a new survey template with questions" %}{% endif %}

        @@ -227,24 +120,25 @@ - +
        -
        + {% csrf_token %} - - + {{ formset.management_form }} + +
        -

        {% trans "Template Details" %}

        +

        {% trans "General Settings" %}

        - +
        {{ form.name }} {% if form.name.errors %} @@ -253,7 +147,7 @@
        {{ form.name_ar }} {% if form.name_ar.errors %} @@ -262,21 +156,21 @@
        -
        - - {% if not form.hospital.is_hidden %} +
        + {% if not form.hospital.is_hidden %} {{ form.hospital }} + {% else %} + {{ form.hospital }} + {% endif %} {% if form.hospital.errors %}
        {{ form.hospital.errors }}
        {% endif %} +

        {% trans "Leave blank to apply to all hospitals" %}

        - {% else %} - {{ form.hospital }} - {% endif %}
        -
        - -
        +
        + +
        -
        - -
        - - {% if form.is_active.errors %} -
        {{ form.is_active.errors }}
        - {% endif %} -
        +
        + + {% if form.is_active.errors %} +
        {{ form.is_active.errors }}
        + {% endif %}

        - -
        + +
        -
        - +
        +

        {% trans "Questions" %}

        -
        - +
        - {{ formset.management_form }} - - -

        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

  • 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