HH/apps/complaints/management/commands/arabic_dept_mapping.py
ismail 7369d08012
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m14s
feat: unified reference numbers + feedback modules QA audit
Reference numbers (unified scheme PREFIX-YYYYMM-HOSP-NNNN, e.g. CMP-202606-HHN-0001):
- new ReferenceSequence model + generate_reference() helper (apps/core)
- Complaint/Inquiry/Observation/Appreciation/Suggestion emit unified refs via save()
- prefix-based auto-routing in public track API (CMP/INQ/OBS trackable; APR/SGT internal-only)
- removed legacy CMP-/INQ- generators in ui_views, integrations, px_sources
- migrations: core.0003_referencesequence, appreciation.0006, feedback.0008, observations.0012
- unit tests (format, sanitization, monthly reset, 40-thread concurrency)

QA audit:
- isolated E2E hospital sandbox mirroring HH-N + 10 role users (create_e2e_isolated_env)
- feedback-modules-audit.spec.ts + audit helper (headed, run-to-completion)
- reports/feedback-modules-qa-report.md

Also bundles accumulated in-progress work across complaints, observations,
organizations, templates, and other modules.
2026-06-14 14:29:23 +03:00

405 lines
24 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
Arabic sub-department name -> Department code mapping.
Used by complaint import scripts to set the `department` FK based on the
Arabic القسم الفرعي (sub-department) column in the historical Excel files.
All codes target HH-N (Al Nuzha) since historical data is from that hospital.
"""
import re
def normalize_arabic(text: str) -> str:
if not text:
return ""
text = str(text).strip()
text = text.replace("\u0623", "\u0627") # أ → ا
text = text.replace("\u0625", "\u0627") # إ → ا
text = text.replace("\u0622", "\u0627") # آ → ا
text = text.replace("\u0649", "\u064a") # ى → ي
text = re.sub(r"\s+", " ", text)
text = text.strip()
return text
# Canonical Arabic name → department code
# All codes are HH-N (Nuzha) department codes
ARABIC_TO_DEPT_CODE = {
# Pharmacy
"قسم الصيدلية": "hh_n_pharmacy_department",
"صيدلية الطوارئ": "hh_n_pharmacy_department",
"قسم الصيدلية - السويدي": "hh_n_pharmacy_department",
# Laboratory
"قسم المختبر": "hh_n_laboratory_department",
"استقبال المختبر": "hh_n_laboratory_department",
"بنك الدم": "hh_n_laboratory_department",
# Medical Approvals
"قسم الموافقات الطبية": "hh_n_medical_approvals_department",
"الموافقات الطبية": "hh_n_medical_approvals_department",
# Medical Records
"قسم التقارير الطبية": "hh_n_medical_records_department",
# Financial
"قسم المالية": "hh_n_financial_collection___claims_department",
# Dental
"عيادات الأسنان": "hh_n_dental_department",
# Ophthalmology
"عيادات العيون": "hh_n_ophthalmology_department",
"عيادات جراحة العيون": "hh_n_ophthalmology_department",
"فني فحص النظر": "hh_n_ophthalmology_department",
# Dermatology
"عيادات الجلدية": "hh_n_dermatology_department",
"عيادات الجلديه": "hh_n_dermatology_department",
# OB/GYN
"عيادات النساء والولادة": "hh_n_obstetrics___gynecology_department",
"تنويم النساء والولادة": "hh_n_obstetrics___gynecology_department",
"تنويم النساء والولاده": "hh_n_obstetrics___gynecology_department",
"قسم عمليات الولادة": "hh_n_obstetrics___gynecology_department",
"تمريض تنويم النساء والولادة": "hh_n_obstetrics___gynecology_department",
"تمريض قسم عمليات الولادة": "hh_n_nursing_department",
# Pediatric
"عيادات الأطفال": "hh_n_pediatric_department",
"تنويم الأطفال": "hh_n_pediatric_department",
"تنويم الاطفال": "hh_n_pediatric_department",
"تمريض تنويم الأطفال": "hh_n_pediatric_department",
"تمريض تنويم الاطفال": "hh_n_pediatric_department",
"عيادات الأنف والأذن والحنجرة (أطفال)": "hh_n_pediatric_department",
"عيادات الصدرية (أطفال)": "hh_n_pediatric_department",
"عيادات الجهاز الهمضي والمناظير (أطفال)": "hh_n_pediatric_department",
"عيادات جراحة عظام (أطفال)": "hh_n_pediatric_department",
"عيادات جراحة المسالك البولية (أطفال)": "hh_n_pediatric_department",
"عيادات قلب (أطفال)": "hh_n_pediatric_department",
"عيادات المخ والأعصاب (أطفال)": "hh_n_pediatric_department",
"عيادات الجراحة العامة (أطفال)": "hh_n_pediatric_department",
"تمريض الحضانة": "hh_n_pediatric_department",
"وحدة العناية المركزة لحديثي الولادة": "hh_n_pediatric_department",
"وحدة العناية المركزة للأطفال": "hh_n_pediatric_department",
"قسم الحضانة": "hh_n_pediatric_department",
"تمريض وحدة العناية المركزة - أطفال": "hh_n_pediatric_department",
"تمريض وحدة العناية لحديثي الولادة": "hh_n_pediatric_department",
# Surgery
"عيادات جراحة العظام": "hh_n_surgery_department",
"عيادات جراحه العظام": "hh_n_surgery_department",
"قسم جراحة العظام": "hh_n_surgery_department",
"عيادات الجراحة العامة": "hh_n_surgery_department",
"قسم الجراحة العامة": "hh_n_surgery_department",
"قسم جراحة المسالك البولية": "hh_n_surgery_department",
"عيادات جراحة المسالك البولية": "hh_n_surgery_department",
"عيادات جراحة الأنف وأذن وحنجرة": "hh_n_surgery_department",
"جراحه الانف واذن وحنجره": "hh_n_surgery_department",
"عيادات جراحة الأوعية الدموية": "hh_n_surgery_department",
"عيادات جراحة المخ والأعصاب": "hh_n_surgery_department",
"عيادات جراحة القفص الصدري": "hh_n_surgery_department",
"عيادات جراحة العمود الفقري": "hh_n_surgery_department",
"عيادات جراحة التجميلية": "hh_n_surgery_department",
"عيادات الجراحة التجميلية": "hh_n_surgery_department",
"عيادات جراحة سمنة": "hh_n_surgery_department",
"قسم جراحة السمنة": "hh_n_surgery_department",
"عيادات جراحة الختان": "hh_n_surgery_department",
"عيادات جراحة الأورام و الغدد الصماء": "hh_n_surgery_department",
"تمريض تنويم الجراحة العامة": "hh_n_surgery_department",
"تنويم الجراحة العامة": "hh_n_surgery_department",
"تنويم الباطنية": "hh_n_internal_medicine_department",
# Internal Medicine
"عيادات الباطنية": "hh_n_internal_medicine_department",
"عيادات القلب": "hh_n_internal_medicine_department",
"عيادات الجهاز الهضمي والمناظير": "hh_n_internal_medicine_department",
"قسم الجهاز الهمضي و الكبد والمناظير": "hh_n_internal_medicine_department",
"قسم الجهاز الهضمي والكبد والمناظير": "hh_n_internal_medicine_department",
"عيادات الصدرية": "hh_n_internal_medicine_department",
"عيادات الصدريه": "hh_n_internal_medicine_department",
"قسم الصدرية": "hh_n_internal_medicine_department",
"عيادات الغدد الصماء": "hh_n_internal_medicine_department",
"عيادات المخ والأعصاب": "hh_n_internal_medicine_department",
"عيادات الكلى": "hh_n_internal_medicine_department",
"عيادات التخدير": "hh_n_anesthesia_department",
"عيادات الطب النفسي": "hh_n_internal_medicine_department",
"وحدة المناظير": "hh_n_internal_medicine_department",
"تمريض تنويم الباطنية": "hh_n_internal_medicine_department",
"قسم العلاج الطبيعي": "hh_n_medical_ancillary_services_department",
"استقبال العلاج الطبيعي": "hh_n_medical_ancillary_services_department",
"العلاج الطبيعي": "hh_n_medical_ancillary_services_department",
# Anesthesia
"قسم التخدير": "hh_n_anesthesia_department",
"تمريض التخدير": "hh_n_anesthesia_department",
# Emergency
"أطباء الطوارئ": "hh_n_emergency_medicine_department",
"استقبال الطوارئ": "hh_n_emergency_administrative_department",
"استقبال الطواريء": "hh_n_emergency_administrative_department",
"استقبال العيادات الخارجية": "hh_n_outpatient_department",
# Critical Care
"وحدة العناية المركزة": "hh_n_critical_care_department",
"وحدة العناية المتوسطة": "hh_n_critical_care_department",
"تمريض وحدة العناية المركزة": "hh_n_critical_care_department",
"تمريض وحدة العناية المتوسطة": "hh_n_critical_care_department",
"تمريض وحدة طويلي الإقامة": "hh_n_critical_care_department",
"وحدة مرضى طويلي الإقامة": "hh_n_critical_care_department",
# Nursing
"تمريض الطوارئ": "hh_n_nursing_department",
"تمريض الطوارى": "hh_n_nursing_department",
"تمريض العيادات الخارجية": "hh_n_nursing_department",
"تمريض العيادات الخارجيه": "hh_n_nursing_department",
"تمريض غرفة التطعيمات": "hh_n_nursing_department",
"تمريض غرفة تقديم الأدوية الوريدية (20)": "hh_n_nursing_department",
"تمريض قسم العمليات": "hh_n_nursing_department",
"تمريض قسم الافاقة": "hh_n_nursing_department",
"تمريض قسم الإفاقة": "hh_n_nursing_department",
"التمريض": "hh_n_nursing_department",
# Radiology
"قسم الأشعة": "hh_n_radiology_department",
"قسم الاشعة": "hh_n_radiology_department",
"استقبال الأشعة": "hh_n_radiology_department",
"الأشعة": "hh_n_radiology_department",
# Operating Rooms
"قسم العمليات": "hh_n_operating_rooms__or__department",
# Outpatient / Inpatient administration
"إدارة التنويم": "hh_n_inpatient_department",
"اداره التنويم": "hh_n_inpatient_department",
"مكتب التنويم": "hh_n_inpatient_department",
"إدارة العيادات الخارجيه": "hh_n_outpatient_department",
"قسم المواعيد": "hh_n_contact_center_department",
"قسم السنترال": "hh_n_contact_center_department",
"قسم تقنية المعلومات": "hh_n_information_technology_department",
# Housekeeping
"قسم النظافة": "hh_n_housekeeping___hospitality_department",
"النظافة": "hh_n_housekeeping___hospitality_department",
"النظافه": "hh_n_housekeeping___hospitality_department",
# Security
"قسم الأمن": "hh_n_security_department",
"قسم الامن": "hh_n_security_department",
# Food Services
"قسم المطبخ": "hh_n_food_services_department",
"المطبخ": "hh_n_food_services_department",
"قسم التغذية": "hh_n_food_services_department",
# Facility Management
"قسم الصيانة": "hh_n_facility_management___maintenance_department",
# Executive / Admin
"المدير المناوب": "hh_n_executive_administration",
"قسم الإدارة": "hh_n_executive_administration",
"التنسيق": "hh_n_executive_administration",
# Social Services
"قسم الخدمة الإجتماعية": "hh_n_inpatient_department",
# Patient Affairs
"قسم علاقات المرضى": "hh_n_patient_affairs_department",
# Medical Ancillary / Respiratory / Audiology / Neurophysiology
"فني اختبار السمع": "hh_n_medical_ancillary_services_department",
"فني تخطيط القلب": "hh_n_medical_ancillary_services_department",
"فني تخطيط المخ والأعصاب": "hh_n_medical_ancillary_services_department",
"فني تخطيط المخ والاعصاب": "hh_n_medical_ancillary_services_department",
"فني دراسة الجهد القلب": "hh_n_medical_ancillary_services_department",
"قسم العلاج التنفسي": "hh_n_medical_ancillary_services_department",
# IVF
"عيادات العقم والإنجاب": "hh_n_ivf",
# Oncology
"عيادات جراحة الأورام و الغدد الصماء": "hh_n_oncology_department",
}
# Arabic name → (dept_code, section_name_en)
# Only entries where we can confidently identify the specific section.
# Generic names (e.g. "قسم الصيدلية") are excluded — they map to dept only.
ARABIC_TO_SECTION = {
# Pharmacy
"صيدلية الطوارئ": ("hh_n_pharmacy_department", "ER Pharmacy"),
# Laboratory
"بنك الدم": ("hh_n_laboratory_department", "Blood Donation & Blood Bank"),
"استقبال المختبر": ("hh_n_laboratory_department", "Receiving ِArea"),
# OB/GYN
"عيادات النساء والولادة": ("hh_n_obstetrics___gynecology_department", "Clinics"),
"تنويم النساء والولادة": ("hh_n_obstetrics___gynecology_department", "Wards"),
"تنويم النساء والولاده": ("hh_n_obstetrics___gynecology_department", "Wards"),
"قسم عمليات الولادة": ("hh_n_obstetrics___gynecology_department", "Labor & Delivery (L&D) / Obstetrics Operating Rooms"),
"تمريض تنويم النساء والولادة": ("hh_n_obstetrics___gynecology_department", "Wards"),
# Surgery
"عيادات جراحة العظام": ("hh_n_surgery_department", "Orthopedic Surgery"),
"عيادات جراحه العظام": ("hh_n_surgery_department", "Orthopedic Surgery"),
"قسم جراحة العظام": ("hh_n_surgery_department", "Orthopedic Surgery"),
"عيادات الجراحة العامة": ("hh_n_surgery_department", "General Surgery"),
"قسم الجراحة العامة": ("hh_n_surgery_department", "General Surgery"),
"قسم جراحة المسالك البولية": ("hh_n_surgery_department", "Urology"),
"عيادات جراحة المسالك البولية": ("hh_n_surgery_department", "Urology"),
"عيادات جراحة الأنف وأذن وحنجرة": ("hh_n_surgery_department", "ENT"),
"جراحه الانف واذن وحنجره": ("hh_n_surgery_department", "ENT"),
"عيادات جراحة الأوعية الدموية": ("hh_n_surgery_department", "Vscular Surgery"),
"عيادات جراحة المخ والأعصاب": ("hh_n_surgery_department", "Neurosurgery"),
"عيادات جراحة القفص الصدري": ("hh_n_surgery_department", "Thoracic Surgery"),
"عيادات جراحة العمود الفقري": ("hh_n_surgery_department", "Spine Surgery"),
"عيادات جراحة التجميلية": ("hh_n_surgery_department", "Plastic Surgery"),
"عيادات الجراحة التجميلية": ("hh_n_surgery_department", "Plastic Surgery"),
"عيادات جراحة سمنة": ("hh_n_surgery_department", "Bariatric"),
"قسم جراحة السمنة": ("hh_n_surgery_department", "Bariatric"),
"عيادات جراحة الأورام و الغدد الصماء": ("hh_n_oncology_department", "Hematology"),
"تمريض تنويم الجراحة العامة": ("hh_n_nursing_department", "Surgical Ward"),
"تنويم الجراحة العامة": ("hh_n_nursing_department", "Surgical Ward"),
# Internal Medicine
"عيادات القلب": ("hh_n_internal_medicine_department", "Cardiology"),
"عيادات الجهاز الهضمي والمناظير": ("hh_n_internal_medicine_department", "Gastroenterology"),
"قسم الجهاز الهمضي و الكبد والمناظير": ("hh_n_internal_medicine_department", "Gastroenterology"),
"قسم الجهاز الهضمي والكبد والمناظير": ("hh_n_internal_medicine_department", "Gastroenterology"),
"عيادات الصدرية": ("hh_n_internal_medicine_department", "Pulmonology"),
"عيادات الصدريه": ("hh_n_internal_medicine_department", "Pulmonology"),
"قسم الصدرية": ("hh_n_internal_medicine_department", "Pulmonology"),
"عيادات الغدد الصماء": ("hh_n_internal_medicine_department", "Endocrinology"),
"عيادات المخ والأعصاب": ("hh_n_internal_medicine_department", "Neurology"),
"عيادات الكلى": ("hh_n_internal_medicine_department", "Nephrology"),
"عيادات الطب النفسي": ("hh_n_internal_medicine_department", "Psychiatry"),
"وحدة المناظير": ("hh_n_internal_medicine_department", "Endoscopy"),
"تمريض تنويم الباطنية": ("hh_n_nursing_department", "Medical Ward"),
"تنويم الباطنية": ("hh_n_nursing_department", "Medical Ward"),
"عيادات الباطنية": ("hh_n_internal_medicine_department", "Internal Medicine"),
# Emergency
"استقبال الطوارئ": ("hh_n_emergency_administrative_department", "Emergency Reception"),
"استقبال الطواريء": ("hh_n_emergency_administrative_department", "Emergency Reception"),
"استقبال العيادات الخارجية": ("hh_n_outpatient_department", "Outpatient Reception"),
# Critical Care
"وحدة العناية المركزة": ("hh_n_critical_care_department", "ICU"),
"تمريض وحدة العناية المركزة": ("hh_n_nursing_department", "ICU/CCU"),
"وحدة العناية المتوسطة": ("hh_n_critical_care_department", "ICU Stepdown"),
"تمريض وحدة العناية المتوسطة": ("hh_n_nursing_department", "ICU/CCU Stepdown"),
"تمريض وحدة طويلي الإقامة": ("hh_n_nursing_department", "LTACU"),
"وحدة مرضى طويلي الإقامة": ("hh_n_internal_medicine_department", "Long-Term Acute Care Unit (LTACU)"),
# Nursing
"تمريض الطوارئ": ("hh_n_nursing_department", "Emergency"),
"تمريض الطوارى": ("hh_n_nursing_department", "Emergency"),
"تمريض العيادات الخارجية": ("hh_n_nursing_department", "Outpatient"),
"تمريض العيادات الخارجيه": ("hh_n_nursing_department", "Outpatient"),
"تمريض قسم العمليات": ("hh_n_nursing_department", "Main OR"),
"تمريض قسم الافاقة": ("hh_n_nursing_department", "Recovery"),
"تمريض قسم الإفاقة": ("hh_n_nursing_department", "Recovery"),
"تمريض قسم عمليات الولادة": ("hh_n_nursing_department", "OB/OR"),
# Pediatric
"تنويم الأطفال": ("hh_n_pediatric_department", "Pediatric Ward"),
"تنويم الاطفال": ("hh_n_pediatric_department", "Pediatric Ward"),
"تمريض تنويم الأطفال": ("hh_n_nursing_department", "Pediatric Ward"),
"تمريض تنويم الاطفال": ("hh_n_nursing_department", "Pediatric Ward"),
"عيادات الأطفال": ("hh_n_pediatric_department", "General Pediatrics"),
"وحدة العناية المركزة لحديثي الولادة": ("hh_n_pediatric_department", "NICU"),
"تمريض وحدة العناية المركزة - أطفال": ("hh_n_nursing_department", "PICU"),
"وحدة العناية المركزة للأطفال": ("hh_n_pediatric_department", "PICU"),
"تمريض وحدة العناية لحديثي الولادة": ("hh_n_nursing_department", "NICU"),
"تمريض الحضانة": ("hh_n_nursing_department", "Nursery"),
"قسم الحضانة": ("hh_n_pediatric_department", "NURSERY"),
"عيادات الصدرية (أطفال)": ("hh_n_pediatric_department", "Pediatric Pulmonology"),
"عيادات جراحة عظام (أطفال)": ("hh_n_pediatric_department", "Pediatric Orthopedic Surgery"),
"عيادات الأنف والأذن والحنجرة (أطفال)": ("hh_n_pediatric_department", "Pediatric Otolaryngology (ENT)"),
"عيادات الجهاز الهمضي والمناظير (أطفال)": ("hh_n_pediatric_department", "Pediatric Gastroenterology"),
"عيادات قلب (أطفال)": ("hh_n_pediatric_department", "Pediatric Cardiology"),
"عيادات المخ والأعصاب (أطفال)": ("hh_n_pediatric_department", "Pediatric Neurology"),
"عيادات جراحة المسالك البولية (أطفال)": ("hh_n_pediatric_department", "Pediatric Urology"),
"عيادات الجراحة العامة (أطفال)": ("hh_n_pediatric_department", "Pediatric General Surgery"),
"عيادات جراحة الختان": ("hh_n_pediatric_department", "Circumcision"),
# Outpatient
"إدارة العيادات الخارجيه": ("hh_n_outpatient_department", "Management"),
# Medical Ancillary
"فني اختبار السمع": ("hh_n_medical_ancillary_services_department", "Swallowing Speech and Hearing Unit"),
"فني تخطيط القلب": ("hh_n_medical_ancillary_services_department", "Cardiac Physiology Services"),
"فني تخطيط المخ والأعصاب": ("hh_n_medical_ancillary_services_department", "Neurophysiology Services"),
"فني تخطيط المخ والاعصاب": ("hh_n_medical_ancillary_services_department", "Neurophysiology Services"),
"فني دراسة الجهد القلب": ("hh_n_medical_ancillary_services_department", "Cardiac Physiology Services"),
"قسم العلاج الطبيعي": ("hh_n_medical_ancillary_services_department", "Physical Therapy"),
"استقبال العلاج الطبيعي": ("hh_n_medical_ancillary_services_department", "Physical Therapy"),
"العلاج الطبيعي": ("hh_n_medical_ancillary_services_department", "Physical Therapy"),
"قسم العلاج التنفسي": ("hh_n_medical_ancillary_services_department", "Respiratory Therapy"),
"فني فحص النظر": ("hh_n_medical_ancillary_services_department", "Optometrist Services"),
"قسم التغذية": ("hh_n_medical_ancillary_services_department", "Clinical Nutrition"),
# Anesthesia
"تمريض التخدير": ("hh_n_nursing_department", "Anesthesia"),
# Radiology
"استقبال الأشعة": ("hh_n_radiology_department", "General"),
# Inpatient
"قسم الخدمة الإجتماعية": ("hh_n_inpatient_department", "Social Worker"),
# Contact Center
"قسم المواعيد": ("hh_n_contact_center_department", "Appointment Office"),
"قسم السنترال": ("hh_n_contact_center_department", "Operator Office"),
# Dermatology (1 section)
"عيادات الجلدية": ("hh_n_dermatology_department", "Dermatology"),
"عيادات الجلديه": ("hh_n_dermatology_department", "Dermatology"),
# Financial (1 section)
"قسم المالية": ("hh_n_financial_collection___claims_department", "Financial Collection & Claims"),
# Security
"قسم الأمن": ("hh_n_security_department", "Security Guards"),
"قسم الامن": ("hh_n_security_department", "Security Guards"),
# Radiology (generic → General)
"قسم الأشعة": ("hh_n_radiology_department", "General"),
"قسم الاشعة": ("hh_n_radiology_department", "General"),
"الأشعة": ("hh_n_radiology_department", "General"),
}
def resolve_department(arabic_name: str, hospital_code: str = "HH-N"):
"""
Resolve Arabic sub-department name to a Department object.
Tries exact match first, then normalized match.
Returns Department instance or None.
"""
from apps.organizations.models import Department
if not arabic_name:
return None
name = str(arabic_name).strip()
# Direct lookup
code = ARABIC_TO_DEPT_CODE.get(name)
if not code:
# Try normalized
normalized = normalize_arabic(name)
code = ARABIC_TO_DEPT_CODE.get(normalized)
if not code:
# Try building a normalized version of all keys
for key, dept_code in ARABIC_TO_DEPT_CODE.items():
if normalize_arabic(key) == normalize_arabic(name):
code = dept_code
break
if code:
try:
return Department.objects.select_related("hospital").get(
hospital__code=hospital_code, code=code
)
except Department.DoesNotExist:
return None
return None
def resolve_section(arabic_name: str, hospital_code: str = "HH-N"):
"""
Resolve Arabic sub-department name to a (Department, Section) tuple.
Returns (Department, Section) if section can be identified,
(Department, None) if only department is known, or (None, None).
"""
from apps.organizations.models import Department, Section
if not arabic_name:
return None, None
name = str(arabic_name).strip()
entry = ARABIC_TO_SECTION.get(name)
if not entry:
normalized = normalize_arabic(name)
for key, val in ARABIC_TO_SECTION.items():
if normalize_arabic(key) == normalized:
entry = val
break
if entry:
dept_code, section_name = entry
try:
dept = Department.objects.select_related("hospital").get(
hospital__code=hospital_code, code=dept_code
)
section = Section.objects.filter(
department=dept, name_en=section_name
).first()
return dept, section
except Department.DoesNotExist:
return None, None
dept = resolve_department(name, hospital_code)
return dept, None