1134 lines
58 KiB
Python
1134 lines
58 KiB
Python
"""
|
|
Management command to initialize onboarding acknowledgement data
|
|
"""
|
|
from django.core.management.base import BaseCommand
|
|
from django.utils import timezone
|
|
from apps.accounts.models import (
|
|
AcknowledgementContent,
|
|
AcknowledgementChecklistItem,
|
|
Role
|
|
)
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = 'Initialize default acknowledgement content and checklist items'
|
|
|
|
def handle(self, *args, **options):
|
|
self.stdout.write('Initializing onboarding acknowledgement data...')
|
|
|
|
# Create generic content (applies to all users)
|
|
self._create_generic_content()
|
|
|
|
# Create department-specific content
|
|
self._create_departmental_content()
|
|
|
|
# Create role-specific content
|
|
self._create_px_admin_content()
|
|
self._create_hospital_admin_content()
|
|
self._create_department_manager_content()
|
|
self._create_physician_content()
|
|
self._create_staff_content()
|
|
|
|
self.stdout.write(self.style.SUCCESS('Onboarding data initialized successfully!'))
|
|
|
|
def _create_generic_content(self):
|
|
"""Create generic acknowledgement content for all users"""
|
|
self.stdout.write('Creating generic content...')
|
|
|
|
role = None # Generic content
|
|
|
|
# Create generic content items
|
|
contents = [
|
|
{
|
|
'code': 'INTRO_PX360',
|
|
'order': 1,
|
|
'title_en': 'Welcome to PX360',
|
|
'title_ar': 'مرحبًا بك في PX360',
|
|
'description_en': 'Overview of the PX360 Patient Experience Management System',
|
|
'description_ar': 'نظرة عامة على نظام إدارة تجربة المريض PX360',
|
|
'content_en': """
|
|
<h2>Welcome to PX360</h2>
|
|
<p>PX360 is a comprehensive Patient Experience Management System designed to help healthcare organizations improve patient satisfaction and quality of care.</p>
|
|
|
|
<h3>Key Features:</h3>
|
|
<ul>
|
|
<li><strong>Patient Feedback Collection:</strong> Gather and analyze patient feedback across multiple channels</li>
|
|
<li><strong>Analytics & Reporting:</strong> Real-time dashboards and detailed reports</li>
|
|
<li><strong>Complaint Management:</strong> Streamlined process for handling patient complaints</li>
|
|
<li><strong>Quality Observations:</strong> Track and improve service quality</li>
|
|
<li><strong>Physician Management:</strong> Manage physician profiles and credentials</li>
|
|
<li><strong>Call Center Integration:</strong> Integrated call center for patient communication</li>
|
|
</ul>
|
|
|
|
<h3>Getting Started:</h3>
|
|
<p>This wizard will guide you through the essential features and policies of the system. Please review each section carefully and acknowledge the checklist items to complete your onboarding.</p>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مرحبًا بك في PX360</h2>
|
|
<p>PX360 هو نظام شامل لإدارة تجربة المرضى مصمم لمساعدة المؤسسات الصحية على تحسين رضا المرضى وجودة الرعاية.</p>
|
|
|
|
<h3>الميزات الرئيسية:</h3>
|
|
<ul>
|
|
<li><strong>جمع ملاحظات المرضى:</strong> جمع وتحليل ملاحظات المرضى عبر قنوات متعددة</li>
|
|
<li><strong>التحليلات والتقارير:</strong> لوحات تحكم في الوقت الفعلي وتقارير مفصلة</li>
|
|
<li><strong>إدارة الشكاوى:</strong> عملية مبسطة للتعامل مع شكاوى المرضى</li>
|
|
<li><strong>ملاحظات الجودة:</strong> تتبع وتحسين جودة الخدمة</li>
|
|
<li><strong>إدارة الأطباء:</strong> إدارة ملفات الأطباء واعتماداتهم</li>
|
|
<li><strong>تكامل مركز الاتصال:</strong> مركز اتصال متكامل للتواصل مع المرضى</li>
|
|
</ul>
|
|
|
|
<h3>البدء:</h3>
|
|
<p>سيقوم هذا المعالج بإرشادك عبر الميزات والسياسات الأساسية للنظام. يرجى مراجعة كل قسم بعناية والاعتراف بالبنود المدرجة في القائمة لإكمال التسجيل.</p>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DATA_PRIVACY',
|
|
'order': 2,
|
|
'title_en': 'Data Privacy & Security',
|
|
'title_ar': 'خصوصية البيانات والأمان',
|
|
'description_en': 'Understanding data protection and security policies',
|
|
'description_ar': 'فهم سياسات حماية البيانات والأمان',
|
|
'content_en': """
|
|
<h2>Data Privacy & Security</h2>
|
|
|
|
<h3>Data Protection Principles:</h3>
|
|
<ul>
|
|
<li>All patient data is confidential and protected</li>
|
|
<li>Access is granted based on role and need-to-know basis</li>
|
|
<li>Data is encrypted in transit and at rest</li>
|
|
<li>All access is logged and auditable</li>
|
|
</ul>
|
|
|
|
<h3>User Responsibilities:</h3>
|
|
<ul>
|
|
<li>Keep your password secure and do not share it</li>
|
|
<li>Log out when leaving your workstation</li>
|
|
<li>Report any suspected security incidents immediately</li>
|
|
<li>Access only the data you need for your role</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>خصوصية البيانات والأمان</h2>
|
|
|
|
<h3>مبادئ حماية البيانات:</h3>
|
|
<ul>
|
|
<li>جميع بيانات المرضى سرية ومحمية</li>
|
|
<li>يتم منح الوصول بناءً على الدورة والحاجة للمعرفة</li>
|
|
<li>يتم تشفير البيانات أثناء النقل والتخزين</li>
|
|
<li>جميع عمليات الوصول مسجلة وقابلة للتدقيق</li>
|
|
</ul>
|
|
|
|
<h3>مسؤوليات المستخدم:</h3>
|
|
<ul>
|
|
<li>احتفظ بكلمة المرور آمنة ولا تشاركها مع أحد</li>
|
|
<li>قم بتسجيل الخروج عند مغادرة محطة العمل</li>
|
|
<li>أبلغ عن أي حوادث أمنية مشتبه بها فورًا</li>
|
|
<li>الوصول فقط إلى البيانات التي تحتاجها لدورك</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'SYSTEM_USAGE',
|
|
'order': 3,
|
|
'title_en': 'System Usage Guidelines',
|
|
'title_ar': 'إرشادات استخدام النظام',
|
|
'description_en': 'Best practices for using PX360 effectively',
|
|
'description_ar': 'أفضل الممارسات لاستخدام PX360 بشكل فعال',
|
|
'content_en': """
|
|
<h2>System Usage Guidelines</h2>
|
|
|
|
<h3>Best Practices:</h3>
|
|
<ul>
|
|
<li><strong>Regular Updates:</strong> Check dashboards daily for updates</li>
|
|
<li><strong>Timely Actions:</strong> Respond to patient feedback and complaints promptly</li>
|
|
<li><strong>Accurate Data:</strong> Ensure all entered data is accurate and complete</li>
|
|
<li><strong>Communication:</strong> Use the system for all official communications</li>
|
|
</ul>
|
|
|
|
<h3>Support:</h3>
|
|
<p>If you need assistance:</p>
|
|
<ul>
|
|
<li>Contact your department manager</li>
|
|
<li>Submit a support ticket through the help center</li>
|
|
<li>Refer to the user documentation</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>إرشادات استخدام النظام</h2>
|
|
|
|
<h3>أفضل الممارسات:</h3>
|
|
<ul>
|
|
<li><strong>التحديثات المنتظمة:</strong> تحقق من لوحات التحكم يوميًا للحصول على التحديثات</li>
|
|
<li><strong>الإجراءات في الوقت المناسب:</strong> استجب لملاحظات وشكاوى المرضى بسرعة</li>
|
|
<li><strong>البيانات الدقيقة:</strong> تأكد من أن جميع البيانات المدخلة دقيقة ومكتملة</li>
|
|
<li><strong>التواصل:</strong> استخدم النظام لجميع الاتصالات الرسمية</li>
|
|
</ul>
|
|
|
|
<h3>الدعم:</h3>
|
|
<p>إذا كنت بحاجة إلى المساعدة:</p>
|
|
<ul>
|
|
<li>اتصل بمدير قسمك</li>
|
|
<li>قدم تذكرة دعم من خلال مركز المساعدة</li>
|
|
<li>راجع وثائق المستخدم</li>
|
|
</ul>
|
|
"""
|
|
}
|
|
]
|
|
|
|
for content_data in contents:
|
|
AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
|
|
# Create checklist items for generic content
|
|
intro_content = AcknowledgementContent.objects.get(code='INTRO_PX360')
|
|
privacy_content = AcknowledgementContent.objects.get(code='DATA_PRIVACY')
|
|
usage_content = AcknowledgementContent.objects.get(code='SYSTEM_USAGE')
|
|
|
|
checklist_items = [
|
|
{
|
|
'content': intro_content,
|
|
'code': 'INTRO_ACK',
|
|
'order': 1,
|
|
'text_en': 'I have reviewed the PX360 system overview',
|
|
'text_ar': 'لقد راجعت نظرة عامة على نظام PX360',
|
|
'description_en': 'Confirm that you understand the system purpose and key features',
|
|
'description_ar': 'أكد أنك تفهم الغرض من النظام والميزات الرئيسية',
|
|
'is_required': True
|
|
},
|
|
{
|
|
'content': privacy_content,
|
|
'code': 'PRIVACY_ACK',
|
|
'order': 1,
|
|
'text_en': 'I acknowledge and agree to the data privacy and security policies',
|
|
'text_ar': 'أعترف وأوافق على سياسات خصوصية البيانات والأمان',
|
|
'description_en': 'Confirm that you understand your responsibilities regarding data protection',
|
|
'description_ar': 'أكد أنك تفهم مسؤولياتك فيما يتعلق بحماية البيانات',
|
|
'is_required': True
|
|
},
|
|
{
|
|
'content': privacy_content,
|
|
'code': 'PRIVACY_PASSWORD',
|
|
'order': 2,
|
|
'text_en': 'I will keep my password secure and report any security incidents',
|
|
'text_ar': 'سأحتفظ بكلمة المرور آمنة وسأبلغ عن أي حوادث أمنية',
|
|
'description_en': 'Commit to password security and incident reporting',
|
|
'description_ar': 'الالتزام بأمان كلمة المرور والإبلاغ عن الحوادث',
|
|
'is_required': True
|
|
},
|
|
{
|
|
'content': usage_content,
|
|
'code': 'USAGE_ACK',
|
|
'order': 1,
|
|
'text_en': 'I will follow system usage guidelines and best practices',
|
|
'text_ar': 'سأتبع إرشادات استخدام النظام وأفضل الممارسات',
|
|
'description_en': 'Commit to using the system effectively and responsibly',
|
|
'description_ar': 'الالتزام باستخدام النظام بفعالية ومسؤولية',
|
|
'is_required': True
|
|
}
|
|
]
|
|
|
|
for item_data in checklist_items:
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|
|
|
|
def _create_departmental_content(self):
|
|
"""Create department-specific acknowledgement content"""
|
|
self.stdout.write('Creating departmental acknowledgement content...')
|
|
|
|
role = None # Generic content - applies to all users based on department
|
|
|
|
# Departmental acknowledgement contents
|
|
departmental_contents = [
|
|
{
|
|
'code': 'DEPT_CLINICS',
|
|
'order': 5,
|
|
'title_en': 'Clinics Operations',
|
|
'title_ar': 'عمليات العيادات',
|
|
'description_en': 'Clinics policies and procedures',
|
|
'description_ar': 'سياسات وإجراءات العيادات',
|
|
'content_en': """
|
|
<h2>Clinics Operations</h2>
|
|
<p>Review and acknowledge the following Clinics policies and procedures:</p>
|
|
<ul>
|
|
<li>Patient registration and intake procedures</li>
|
|
<li>Appointment scheduling guidelines</li>
|
|
<li>Clinic opening and closing protocols</li>
|
|
<li>Patient flow management</li>
|
|
<li>Documentation requirements</li>
|
|
<li>Infection control protocols</li>
|
|
<li>Patient privacy and confidentiality</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>عمليات العيادات</h2>
|
|
<p>راجع واعترف بالسياسات والإجراءات التالية للعيادات:</p>
|
|
<ul>
|
|
<li>إجراءات تسجيل واستقبال المرضى</li>
|
|
<li>إرشادات جدولة المواعيد</li>
|
|
<li>بروتوكولات فتح وإغلاق العيادات</li>
|
|
<li>إدارة تدفق المرضى</li>
|
|
<li>متطلبات التوثيق</li>
|
|
<li>بروتوكولات مكافحة العدوى</li>
|
|
<li>خصوصية وسرية المرضى</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_ADMISSIONS',
|
|
'order': 6,
|
|
'title_en': 'Admissions & Social Services',
|
|
'title_ar': 'القبول والخدمات الاجتماعية',
|
|
'description_en': 'Admissions and social services procedures',
|
|
'description_ar': 'إجراءات القبول والخدمات الاجتماعية',
|
|
'content_en': """
|
|
<h2>Admissions & Social Services</h2>
|
|
<p>Review and acknowledge the following Admissions & Social Services procedures:</p>
|
|
<ul>
|
|
<li>Patient admission criteria and process</li>
|
|
<li>Social worker responsibilities</li>
|
|
<li>Patient assessment protocols</li>
|
|
<li>Discharge planning procedures</li>
|
|
<li>Patient support services</li>
|
|
<li>Family communication guidelines</li>
|
|
<li>Cultural sensitivity requirements</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>القبول والخدمات الاجتماعية</h2>
|
|
<p>راجع واعترف بإجراءات القبول والخدمات الاجتماعية التالية:</p>
|
|
<ul>
|
|
<li>معايير وعملية قبول المرضى</li>
|
|
<li>مسؤوليات الأخصائي الاجتماعي</li>
|
|
<li>بروتوكولات تقييم المرضى</li>
|
|
<li>إجراءات التخطيط للخروج</li>
|
|
<li>خدمات دعم المرضى</li>
|
|
<li>إرشادات التواصل مع العائلة</li>
|
|
<li>متطلبات الحساسية الثقافية</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_MEDICAL_APPROVALS',
|
|
'order': 7,
|
|
'title_en': 'Medical Approvals',
|
|
'title_ar': 'الموافقات الطبية',
|
|
'description_en': 'Medical approval procedures and protocols',
|
|
'description_ar': 'إجراءات وبروتوكولات الموافقة الطبية',
|
|
'content_en': """
|
|
<h2>Medical Approvals</h2>
|
|
<p>Review and acknowledge the following Medical Approval procedures:</p>
|
|
<ul>
|
|
<li>Treatment authorization process</li>
|
|
<li>Physician approval workflows</li>
|
|
<li>Emergency approval protocols</li>
|
|
<li>Documentation requirements</li>
|
|
<li>Compliance with MOH regulations</li>
|
|
<li>Audit trail maintenance</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>الموافقات الطبية</h2>
|
|
<p>راجع واعترف بإجراءات الموافقة الطبية التالية:</p>
|
|
<ul>
|
|
<li>عملية ترخيص العلاج</li>
|
|
<li>سير عمل الموافقة الطبية</li>
|
|
<li>بروتوكولات الموافقة في حالات الطوارئ</li>
|
|
<li>متطلبات التوثيق</li>
|
|
<li>الامتثال للوائح وزارة الصحة</li>
|
|
<li>الحفاظ على سجل التدقيق</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_CALL_CENTER',
|
|
'order': 8,
|
|
'title_en': 'Call Center Operations',
|
|
'title_ar': 'عمليات مركز الاتصال',
|
|
'description_en': 'Call center policies and procedures',
|
|
'description_ar': 'سياسات وإجراءات مركز الاتصال',
|
|
'content_en': """
|
|
<h2>Call Center Operations</h2>
|
|
<p>Review and acknowledge the following Call Center policies:</p>
|
|
<ul>
|
|
<li>Call handling procedures</li>
|
|
<li>Customer service standards</li>
|
|
<li>Emergency call protocols</li>
|
|
<li>Recording and documentation</li>
|
|
<li>Privacy and confidentiality</li>
|
|
<li>Escalation procedures</li>
|
|
<li>Performance metrics</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>عمليات مركز الاتصال</h2>
|
|
<p>راجع واعترف بسياسات مركز الاتصال التالية:</p>
|
|
<ul>
|
|
<li>إجراءات التعامل مع المكالمات</li>
|
|
<li>معايير خدمة العملاء</li>
|
|
<li>بروتوكولات مكالمات الطوارئ</li>
|
|
<li>التسجيل والتوثيق</li>
|
|
<li>الخصوصية والسرية</li>
|
|
<li>إجراءات التصعيد</li>
|
|
<li>مقاييس الأداء</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_PAYMENTS',
|
|
'order': 9,
|
|
'title_en': 'Payments & Billing',
|
|
'title_ar': 'الدفع والفواتير',
|
|
'description_en': 'Payment processing and billing procedures',
|
|
'description_ar': 'إجراءات معالجة الدفع والفوترة',
|
|
'content_en': """
|
|
<h2>Payments & Billing</h2>
|
|
<p>Review and acknowledge the following Payment & Billing procedures:</p>
|
|
<ul>
|
|
<li>Payment processing protocols</li>
|
|
<li>Insurance verification procedures</li>
|
|
<li>Billing documentation requirements</li>
|
|
<li>Refund policies</li>
|
|
<li>Financial privacy and security</li>
|
|
<li>Audit compliance</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>الدفع والفواتير</h2>
|
|
<p>راجع واعترف بإجراءات الدفع والفوترة التالية:</p>
|
|
<ul>
|
|
<li>بروتوكولات معالجة الدفع</li>
|
|
<li>إجراءات التحقق من التأمين</li>
|
|
<li>متطلبات توثيق الفواتير</li>
|
|
<li>سياسات الاسترداد</li>
|
|
<li>خصوصية وأمان البيانات المالية</li>
|
|
<li>امتثال التدقيق</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_EMERGENCY',
|
|
'order': 10,
|
|
'title_en': 'Emergency Services',
|
|
'title_ar': 'خدمات الطوارئ',
|
|
'description_en': 'Emergency services protocols and procedures',
|
|
'description_ar': 'بروتوكولات وإجراءات خدمات الطوارئ',
|
|
'content_en': """
|
|
<h2>Emergency Services</h2>
|
|
<p>Review and acknowledge the following Emergency Services protocols:</p>
|
|
<ul>
|
|
<li>Triage procedures</li>
|
|
<li>Emergency response protocols</li>
|
|
<li>Documentation requirements</li>
|
|
<li>Team coordination procedures</li>
|
|
<li>Communication protocols</li>
|
|
<li>Quality assurance in emergencies</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>خدمات الطوارئ</h2>
|
|
<p>راجع واعترف ببروتوكولات خدمات الطوارئ التالية:</p>
|
|
<ul>
|
|
<li>إجراءات التصنيف</li>
|
|
<li>بروتوكولات الاستجابة للطوارئ</li>
|
|
<li>متطلبات التوثيق</li>
|
|
<li>إجراءات تنسيق الفريق</li>
|
|
<li>بروتوكولات التواصل</li>
|
|
<li>ضمان الجودة في حالات الطوارئ</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_MEDICAL_REPORTS',
|
|
'order': 11,
|
|
'title_en': 'Medical Reports',
|
|
'title_ar': 'التقارير الطبية',
|
|
'description_en': 'Medical report generation and management',
|
|
'description_ar': 'إنشاء وإدارة التقارير الطبية',
|
|
'content_en': """
|
|
<h2>Medical Reports</h2>
|
|
<p>Review and acknowledge the following Medical Report procedures:</p>
|
|
<ul>
|
|
<li>Report generation protocols</li>
|
|
<li>Medical record documentation</li>
|
|
<li>Privacy and confidentiality</li>
|
|
<li>Report distribution procedures</li>
|
|
<li>Quality control requirements</li>
|
|
<li>Compliance with regulations</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>التقارير الطبية</h2>
|
|
<p>راجع واعترف بإجراءات التقارير الطبية التالية:</p>
|
|
<ul>
|
|
<li>بروتوكولات إنشاء التقارير</li>
|
|
<li>توثيق السجلات الطبية</li>
|
|
<li>الخصوصية والسرية</li>
|
|
<li>إجراءات توزيع التقارير</li>
|
|
<li>متطلبات مراقبة الجودة</li>
|
|
<li>الامتثال للوائح</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_ADMISSIONS_OFFICE',
|
|
'order': 12,
|
|
'title_en': 'Admissions Office',
|
|
'title_ar': 'مكتب القبول',
|
|
'description_en': 'Admissions office operations',
|
|
'description_ar': 'عمليات مكتب القبول',
|
|
'content_en': """
|
|
<h2>Admissions Office</h2>
|
|
<p>Review and acknowledge the following Admissions Office procedures:</p>
|
|
<ul>
|
|
<li>Patient registration procedures</li>
|
|
<li>Bed management protocols</li>
|
|
<li>Transfer coordination</li>
|
|
<li>Documentation standards</li>
|
|
<li>Patient communication</li>
|
|
<li>Inter-department coordination</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مكتب القبول</h2>
|
|
<p>راجع واعترف بإجراءات مكتب القبول التالية:</p>
|
|
<ul>
|
|
<li>إجراءات تسجيل المرضى</li>
|
|
<li>بروتوكولات إدارة الأسرة</li>
|
|
<li>تنسيق النقل</li>
|
|
<li>معايير التوثيق</li>
|
|
<li>التواصل مع المرضى</li>
|
|
<li>التنسيق بين الأقسام</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_CBAHI',
|
|
'order': 13,
|
|
'title_en': 'CBAHI Standards',
|
|
'title_ar': 'معايير CBAHI',
|
|
'description_en': 'CBAHI accreditation standards',
|
|
'description_ar': 'معايير اعتماد CBAHI',
|
|
'content_en': """
|
|
<h2>CBAHI Standards</h2>
|
|
<p>Review and acknowledge the following CBAHI requirements:</p>
|
|
<ul>
|
|
<li>CBAHI accreditation standards</li>
|
|
<li>Quality management requirements</li>
|
|
<li>Patient safety protocols</li>
|
|
<li>Documentation compliance</li>
|
|
<li>Continuous quality improvement</li>
|
|
<li>Audit preparation</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>معايير CBAHI</h2>
|
|
<p>راجع واعترف بمتطلبات CBAHI التالية:</p>
|
|
<ul>
|
|
<li>معايير اعتماد CBAHI</li>
|
|
<li>متطلبات إدارة الجودة</li>
|
|
<li>بروتوكولات سلامة المرضى</li>
|
|
<li>امتثال التوثيق</li>
|
|
<li>التحسين المستمر للجودة</li>
|
|
<li>الاستعداد للتدقيق</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_HR_PORTAL',
|
|
'order': 14,
|
|
'title_en': 'HR Portal',
|
|
'title_ar': 'بوابة الموارد البشرية',
|
|
'description_en': 'HR portal usage and procedures',
|
|
'description_ar': 'استخدام وإجراءات بوابة الموارد البشرية',
|
|
'content_en': """
|
|
<h2>HR Portal</h2>
|
|
<p>Review and acknowledge the following HR Portal procedures:</p>
|
|
<ul>
|
|
<li>HR portal access and login</li>
|
|
<li>Personal information management</li>
|
|
<li>Leave request procedures</li>
|
|
<li>Training and development resources</li>
|
|
<li>Performance management</li>
|
|
<li>HR policies and procedures</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>بوابة الموارد البشرية</h2>
|
|
<p>راجع واعترف بإجراءات بوابة الموارد البشرية التالية:</p>
|
|
<ul>
|
|
<li>الوصول وتسجيل الدخول إلى بوابة الموارد البشرية</li>
|
|
<li>إدارة المعلومات الشخصية</li>
|
|
<li>إجراءات طلب الإجازة</li>
|
|
<li>موارد التدريب والتطوير</li>
|
|
<li>إدارة الأداء</li>
|
|
<li>سياسات وإجراءات الموارد البشرية</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_GENERAL_ORIENTATION',
|
|
'order': 15,
|
|
'title_en': 'General Orientation',
|
|
'title_ar': 'التوجيه العام',
|
|
'description_en': 'General orientation and onboarding',
|
|
'description_ar': 'التوجيه العام والتسجيل',
|
|
'content_en': """
|
|
<h2>General Orientation</h2>
|
|
<p>Review and acknowledge the following General Orientation information:</p>
|
|
<ul>
|
|
<li>Hospital mission and values</li>
|
|
<li>Organizational structure</li>
|
|
<li>Code of conduct</li>
|
|
<li>Safety protocols</li>
|
|
<li>Patient rights and responsibilities</li>
|
|
<li>Quality standards</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>التوجيه العام</h2>
|
|
<p>راجع واعترف بمعلومات التوجيه العام التالية:</p>
|
|
<ul>
|
|
<li>مهمة وقيم المستشفى</li>
|
|
<li>الهيكل التنظيمي</li>
|
|
<li>مدونة السلوك</li>
|
|
<li>بروتوكولات السلامة</li>
|
|
<li>حقوق ومسؤوليات المرضى</li>
|
|
<li>معايير الجودة</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_SEHATY',
|
|
'order': 16,
|
|
'title_en': 'Sehaty App',
|
|
'title_ar': 'تطبيق صحتي',
|
|
'description_en': 'Sehaty app usage for sick leaves',
|
|
'description_ar': 'استخدام تطبيق صحتي للإجازات المرضية',
|
|
'content_en': """
|
|
<h2>Sehaty App</h2>
|
|
<p>Review and acknowledge the following Sehaty App procedures:</p>
|
|
<ul>
|
|
<li>App login and authentication</li>
|
|
<li>Sick leave request process</li>
|
|
<li>Medical certificate upload</li>
|
|
<li>Leave tracking and management</li>
|
|
<li>Integration with HR system</li>
|
|
<li>Privacy and data security</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>تطبيق صحتي</h2>
|
|
<p>راجع واعترف بإجراءات تطبيق صحتي التالية:</p>
|
|
<ul>
|
|
<li>تسجيل الدخول والمصادقة في التطبيق</li>
|
|
<li>عملية طلب الإجازة المرضية</li>
|
|
<li>تحميل الشهادة الطبية</li>
|
|
<li>تتبع وإدارة الإجازات</li>
|
|
<li>التكامل مع نظام الموارد البشرية</li>
|
|
<li>خصوصية وأمان البيانات</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_MOH_CARE',
|
|
'order': 17,
|
|
'title_en': 'MOH Care Portal',
|
|
'title_ar': 'بوابة رعاية وزارة الصحة',
|
|
'description_en': 'MOH Care portal procedures',
|
|
'description_ar': 'إجراءات بوابة رعاية وزارة الصحة',
|
|
'content_en': """
|
|
<h2>MOH Care Portal</h2>
|
|
<p>Review and acknowledge the following MOH Care Portal procedures:</p>
|
|
<ul>
|
|
<li>Portal access and authentication</li>
|
|
<li>Patient record access</li>
|
|
<li>MOH reporting requirements</li>
|
|
<li>Data synchronization</li>
|
|
<li>Compliance with MOH regulations</li>
|
|
<li>Security protocols</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>بوابة رعاية وزارة الصحة</h2>
|
|
<p>راجع واعترف بإجراءات بوابة رعاية وزارة الصحة التالية:</p>
|
|
<ul>
|
|
<li>الوصول والمصادقة على البوابة</li>
|
|
<li>الوصول إلى سجلات المرضى</li>
|
|
<li>متطلبات الإبلاغ لوزارة الصحة</li>
|
|
<li>مزامنة البيانات</li>
|
|
<li>الامتثال للوائح وزارة الصحة</li>
|
|
<li>بروتوكولات الأمان</li>
|
|
</ul>
|
|
"""
|
|
},
|
|
{
|
|
'code': 'DEPT_CHI_CARE',
|
|
'order': 18,
|
|
'title_en': 'CHI Care Portal',
|
|
'title_ar': 'بوابة رعاية CHI',
|
|
'description_en': 'CHI Care portal procedures',
|
|
'description_ar': 'إجراءات بوابة رعاية CHI',
|
|
'content_en': """
|
|
<h2>CHI Care Portal</h2>
|
|
<p>Review and acknowledge the following CHI Care Portal procedures:</p>
|
|
<ul>
|
|
<li>Portal access and authentication</li>
|
|
<li>Patient information management</li>
|
|
<li>Insurance verification</li>
|
|
<li>Claims processing</li>
|
|
<li>Data security protocols</li>
|
|
<li>System integration</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>بوابة رعاية CHI</h2>
|
|
<p>راجع واعترف بإجراءات بوابة رعاية CHI التالية:</p>
|
|
<ul>
|
|
<li>الوصول والمصادقة على البوابة</li>
|
|
<li>إدارة معلومات المرضى</li>
|
|
<li>التحقق من التأمين</li>
|
|
<li>معالجة المطالبات</li>
|
|
<li>بروتوكولات أمان البيانات</li>
|
|
<li>تكامل النظام</li>
|
|
</ul>
|
|
"""
|
|
}
|
|
]
|
|
|
|
# Create content items
|
|
content_map = {}
|
|
for content_data in departmental_contents:
|
|
content, created = AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
content_map[content_data['code']] = content
|
|
|
|
# Create checklist items for each department
|
|
departmental_checklist_items = [
|
|
# Clinics
|
|
{'content_code': 'DEPT_CLINICS', 'code': 'CLINICS_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Clinics operations policies',
|
|
'text_ar': 'لقد راجعت وأعترف بسياسات عمليات العيادات',
|
|
'description_en': 'Acknowledgement of Clinics policies', 'description_ar': 'اعتراف بسياسات العيادات'},
|
|
|
|
# Admissions / Social Services
|
|
{'content_code': 'DEPT_ADMISSIONS', 'code': 'ADMISSIONS_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Admissions & Social Services procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات القبول والخدمات الاجتماعية',
|
|
'description_en': 'Acknowledgement of Admissions procedures', 'description_ar': 'اعتراف بإجراءات القبول'},
|
|
|
|
# Medical Approvals
|
|
{'content_code': 'DEPT_MEDICAL_APPROVALS', 'code': 'MED_APPROVALS_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Medical Approval protocols',
|
|
'text_ar': 'لقد راجعت وأعترف ببروتوكولات الموافقة الطبية',
|
|
'description_en': 'Acknowledgement of Medical Approvals', 'description_ar': 'اعتراف بالموافقات الطبية'},
|
|
|
|
# Call Center
|
|
{'content_code': 'DEPT_CALL_CENTER', 'code': 'CALL_CENTER_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Call Center policies',
|
|
'text_ar': 'لقد راجعت وأعترف بسياسات مركز الاتصال',
|
|
'description_en': 'Acknowledgement of Call Center policies', 'description_ar': 'اعتراف بسياسات مركز الاتصال'},
|
|
|
|
# Payments
|
|
{'content_code': 'DEPT_PAYMENTS', 'code': 'PAYMENTS_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Payments & Billing procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات الدفع والفوترة',
|
|
'description_en': 'Acknowledgement of Payment procedures', 'description_ar': 'اعتراف بإجراءات الدفع'},
|
|
|
|
# Emergency Services
|
|
{'content_code': 'DEPT_EMERGENCY', 'code': 'EMERGENCY_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Emergency Services protocols',
|
|
'text_ar': 'لقد راجعت وأعترف ببروتوكولات خدمات الطوارئ',
|
|
'description_en': 'Acknowledgement of Emergency Services', 'description_ar': 'اعتراف بخدمات الطوارئ'},
|
|
|
|
# Medical Reports
|
|
{'content_code': 'DEPT_MEDICAL_REPORTS', 'code': 'MED_REPORTS_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Medical Report procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات التقارير الطبية',
|
|
'description_en': 'Acknowledgement of Medical Reports', 'description_ar': 'اعتراف بالتقارير الطبية'},
|
|
|
|
# Admissions Office
|
|
{'content_code': 'DEPT_ADMISSIONS_OFFICE', 'code': 'ADMISSIONS_OFFICE_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Admissions Office procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات مكتب القبول',
|
|
'description_en': 'Acknowledgement of Admissions Office', 'description_ar': 'اعتراف بمكتب القبول'},
|
|
|
|
# CBAHI
|
|
{'content_code': 'DEPT_CBAHI', 'code': 'CBAHI_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge CBAHI standards and requirements',
|
|
'text_ar': 'لقد راجعت وأعترف بمعايير ومتطلبات CBAHI',
|
|
'description_en': 'Acknowledgement of CBAHI standards', 'description_ar': 'اعتراف بمعايير CBAHI'},
|
|
|
|
# HR Portal
|
|
{'content_code': 'DEPT_HR_PORTAL', 'code': 'HR_PORTAL_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge HR Portal usage procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات استخدام بوابة الموارد البشرية',
|
|
'description_en': 'Acknowledgement of HR Portal', 'description_ar': 'اعتراف ببوابة الموارد البشرية'},
|
|
|
|
# General Orientation
|
|
{'content_code': 'DEPT_GENERAL_ORIENTATION', 'code': 'ORIENTATION_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge General Orientation information',
|
|
'text_ar': 'لقد راجعت وأعترف بمعلومات التوجيه العام',
|
|
'description_en': 'Acknowledgement of General Orientation', 'description_ar': 'اعتراف بالتوجيه العام'},
|
|
|
|
# Sehaty App
|
|
{'content_code': 'DEPT_SEHATY', 'code': 'SEHATY_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge Sehaty App usage for sick leaves',
|
|
'text_ar': 'لقد راجعت وأعترف باستخدام تطبيق صحتي للإجازات المرضية',
|
|
'description_en': 'Acknowledgement of Sehaty App', 'description_ar': 'اعتراف بتطبيق صحتي'},
|
|
|
|
# MOH Care Portal
|
|
{'content_code': 'DEPT_MOH_CARE', 'code': 'MOH_CARE_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge MOH Care Portal procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات بوابة رعاية وزارة الصحة',
|
|
'description_en': 'Acknowledgement of MOH Care Portal', 'description_ar': 'اعتراف ببوابة رعاية وزارة الصحة'},
|
|
|
|
# CHI Care Portal
|
|
{'content_code': 'DEPT_CHI_CARE', 'code': 'CHI_CARE_ACK', 'order': 1,
|
|
'text_en': 'I have reviewed and acknowledge CHI Care Portal procedures',
|
|
'text_ar': 'لقد راجعت وأعترف بإجراءات بوابة رعاية CHI',
|
|
'description_en': 'Acknowledgement of CHI Care Portal', 'description_ar': 'اعتراف ببوابة رعاية CHI'},
|
|
]
|
|
|
|
for item_data in departmental_checklist_items:
|
|
content = content_map.get(item_data.pop('content_code'))
|
|
if content:
|
|
item_data['content'] = content
|
|
item_data['is_required'] = True # All departmental acknowledgements are required
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|
|
|
|
def _create_px_admin_content(self):
|
|
"""Create PX Admin specific content"""
|
|
try:
|
|
role = Role.objects.get(name='PX_ADMIN')
|
|
except Role.DoesNotExist:
|
|
self.stdout.write(self.style.WARNING('PX Admin role not found, skipping PX Admin content'))
|
|
return
|
|
|
|
self.stdout.write('Creating PX Admin content...')
|
|
|
|
content_data = {
|
|
'code': 'PX_ADMIN_RESP',
|
|
'role': role,
|
|
'order': 4,
|
|
'title_en': 'PX Admin Responsibilities',
|
|
'title_ar': 'مسؤوليات مسؤول PX',
|
|
'description_en': 'Understanding PX Admin role and permissions',
|
|
'description_ar': 'فهم دور وصلاحيات مسؤول PX',
|
|
'content_en': """
|
|
<h2>PX Admin Responsibilities</h2>
|
|
<p>As a PX Admin, you have full access to all system features and are responsible for:</p>
|
|
<ul>
|
|
<li>User and role management</li>
|
|
<li>System configuration</li>
|
|
<li>Audit and compliance</li>
|
|
<li>Content management for acknowledgements</li>
|
|
<li>Organizational settings</li>
|
|
</ul>
|
|
<p><strong>Note:</strong> With great power comes great responsibility. All your actions are logged and audited.</p>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مسؤوليات مسؤول PX</h2>
|
|
<p>بصفتك مسؤول PX، لديك حق الوصول الكامل إلى جميع ميزات النظام ومسؤول عن:</p>
|
|
<ul>
|
|
<li>إدارة المستخدمين والأدوار</li>
|
|
<li>تكوين النظام</li>
|
|
<li>التدقيق والامتثال</li>
|
|
<li>إدارة المحتوى للاعترافات</li>
|
|
<li>إعدادات المؤسسة</li>
|
|
</ul>
|
|
<p><strong>ملاحظة:</strong> مع السلطة العالية تأتي المسؤولية الكبيرة. جميع إجراءاتك مسجلة وقابلة للتدقيق.</p>
|
|
"""
|
|
}
|
|
|
|
content, _ = AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
|
|
checklist_items = [
|
|
{
|
|
'content': content,
|
|
'code': 'PX_ADMIN_OVERSIGHT',
|
|
'order': 1,
|
|
'text_en': 'I understand my role as PX Admin and will use permissions responsibly',
|
|
'text_ar': 'أفهم دوري كمسؤول PX وسأستخدم الصلاحيات بمسؤولية',
|
|
'description_en': 'Accept responsibility for PX Admin role',
|
|
'description_ar': 'قبول المسؤولية لدور مسؤول PX',
|
|
'is_required': True
|
|
}
|
|
]
|
|
|
|
for item_data in checklist_items:
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|
|
|
|
def _create_hospital_admin_content(self):
|
|
"""Create Hospital Admin specific content"""
|
|
try:
|
|
role = Role.objects.get(name='HOSPITAL_ADMIN')
|
|
except Role.DoesNotExist:
|
|
return
|
|
|
|
self.stdout.write('Creating Hospital Admin content...')
|
|
|
|
content_data = {
|
|
'code': 'HOSPITAL_ADMIN_RESP',
|
|
'role': role,
|
|
'order': 4,
|
|
'title_en': 'Hospital Admin Responsibilities',
|
|
'title_ar': 'مسؤوليات مدير المستشفى',
|
|
'description_en': 'Understanding Hospital Admin role and scope',
|
|
'description_ar': 'فهم دور ونطاق مدير المستشفى',
|
|
'content_en': """
|
|
<h2>Hospital Admin Responsibilities</h2>
|
|
<p>As a Hospital Admin, you can manage users, view reports, and oversee operations within your hospital.</p>
|
|
<ul>
|
|
<li>Manage hospital-level settings</li>
|
|
<li>Oversee department operations</li>
|
|
<li>Access comprehensive analytics</li>
|
|
<li>Manage hospital staff</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مسؤوليات مدير المستشفى</h2>
|
|
<p>بصفتك مدير المستشفى، يمكنك إدارة المستخدمين وعرض التقارير والإشراف على العمليات داخل مستشفاك.</p>
|
|
<ul>
|
|
<li>إدارة إعدادات مستوى المستشفى</li>
|
|
<li>الإشراف على عمليات الأقسام</li>
|
|
<li>الوصول إلى تحليلات شاملة</li>
|
|
<li>إدارة موظفي المستشفى</li>
|
|
</ul>
|
|
"""
|
|
}
|
|
|
|
content, _ = AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
|
|
checklist_items = [
|
|
{
|
|
'content': content,
|
|
'code': 'HOSPITAL_ADMIN_SCOPE',
|
|
'order': 1,
|
|
'text_en': 'I understand my Hospital Admin role and hospital-level responsibilities',
|
|
'text_ar': 'أفهم دوري كمدير مستشفى ومسؤولياتي على مستوى المستشفى',
|
|
'description_en': 'Accept responsibility for Hospital Admin role',
|
|
'description_ar': 'قبول المسؤولية لدور مدير المستشفى',
|
|
'is_required': True
|
|
}
|
|
]
|
|
|
|
for item_data in checklist_items:
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|
|
|
|
def _create_department_manager_content(self):
|
|
"""Create Department Manager specific content"""
|
|
try:
|
|
role = Role.objects.get(name='DEPARTMENT_MANAGER')
|
|
except Role.DoesNotExist:
|
|
return
|
|
|
|
self.stdout.write('Creating Department Manager content...')
|
|
|
|
content_data = {
|
|
'code': 'DEPT_MGR_RESP',
|
|
'role': role,
|
|
'order': 4,
|
|
'title_en': 'Department Manager Responsibilities',
|
|
'title_ar': 'مسؤوليات مدير القسم',
|
|
'description_en': 'Understanding Department Manager role and operations',
|
|
'description_ar': 'فهم دور وعمليات مدير القسم',
|
|
'content_en': """
|
|
<h2>Department Manager Responsibilities</h2>
|
|
<p>As a Department Manager, you oversee your department's operations and staff performance.</p>
|
|
<ul>
|
|
<li>Manage department staff</li>
|
|
<li>Monitor department metrics</li>
|
|
<li>Respond to department-specific feedback</li>
|
|
<li>Improve patient experience in your area</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مسؤوليات مدير القسم</h2>
|
|
<p>بصفتك مدير القسم، تشرف على عمليات قسمك وأداء الموظفين.</p>
|
|
<ul>
|
|
<li>إدارة موظفي القسم</li>
|
|
<li>مراقبة مؤشرات القسم</li>
|
|
<li>الرد على الملاحظات الخاصة بالقسم</li>
|
|
<li>تحسين تجربة المريض في منطقتك</li>
|
|
</ul>
|
|
"""
|
|
}
|
|
|
|
content, _ = AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
|
|
checklist_items = [
|
|
{
|
|
'content': content,
|
|
'code': 'DEPT_MGR_SCOPE',
|
|
'order': 1,
|
|
'text_en': 'I understand my Department Manager role and responsibilities',
|
|
'text_ar': 'أفهم دوري ومسؤولياتي كمدير قسم',
|
|
'description_en': 'Accept responsibility for Department Manager role',
|
|
'description_ar': 'قبول المسؤولية لدور مدير القسم',
|
|
'is_required': True
|
|
}
|
|
]
|
|
|
|
for item_data in checklist_items:
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|
|
|
|
def _create_physician_content(self):
|
|
"""Create Physician specific content"""
|
|
try:
|
|
role = Role.objects.get(name='PHYSICIAN')
|
|
except Role.DoesNotExist:
|
|
return
|
|
|
|
self.stdout.write('Creating Physician content...')
|
|
|
|
content_data = {
|
|
'code': 'PHYSICIAN_RESP',
|
|
'role': role,
|
|
'order': 4,
|
|
'title_en': 'Physician Responsibilities',
|
|
'title_ar': 'مسؤوليات الطبيب',
|
|
'description_en': 'Understanding Physician role in PX360',
|
|
'description_ar': 'فهم دور الطبيب في PX360',
|
|
'content_en': """
|
|
<h2>Physician Responsibilities</h2>
|
|
<p>As a Physician, you play a key role in patient experience and quality of care.</p>
|
|
<ul>
|
|
<li>Review and respond to patient feedback</li>
|
|
<li>Maintain accurate physician profile</li>
|
|
<li>Participate in quality initiatives</li>
|
|
<li>Improve patient care based on insights</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مسؤوليات الطبيب</h2>
|
|
<p>بصفتك طبيبًا، تلعب دورًا رئيسيًا في تجربة المريض وجودة الرعاية.</p>
|
|
<ul>
|
|
<li>مراجعة والرد على ملاحظات المرضى</li>
|
|
<li>الحفاظ على ملف الطبيب بدقة</li>
|
|
<li>المشاركة في مبادرات الجودة</li>
|
|
<li>تحسين رعاية المرضى بناءً على الرؤى</li>
|
|
</ul>
|
|
"""
|
|
}
|
|
|
|
content, _ = AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
|
|
checklist_items = [
|
|
{
|
|
'content': content,
|
|
'code': 'PHYSICIAN_SCOPE',
|
|
'order': 1,
|
|
'text_en': 'I understand my Physician role and commitment to patient care',
|
|
'text_ar': 'أفهم دوري كطبيب والالتزام برعاية المرضى',
|
|
'description_en': 'Accept responsibility for Physician role',
|
|
'description_ar': 'قبول المسؤولية لدور الطبيب',
|
|
'is_required': True
|
|
}
|
|
]
|
|
|
|
for item_data in checklist_items:
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|
|
|
|
def _create_staff_content(self):
|
|
"""Create Staff specific content"""
|
|
try:
|
|
role = Role.objects.get(name='STAFF')
|
|
except Role.DoesNotExist:
|
|
return
|
|
|
|
self.stdout.write('Creating Staff content...')
|
|
|
|
content_data = {
|
|
'code': 'STAFF_RESP',
|
|
'role': role,
|
|
'order': 4,
|
|
'title_en': 'Staff Responsibilities',
|
|
'title_ar': 'مسؤوليات الموظف',
|
|
'description_en': 'Understanding Staff role and daily operations',
|
|
'description_ar': 'فهم دور الموظف والعمليات اليومية',
|
|
'content_en': """
|
|
<h2>Staff Responsibilities</h2>
|
|
<p>As a Staff member, you contribute to daily operations and patient experience.</p>
|
|
<ul>
|
|
<li>Complete assigned tasks efficiently</li>
|
|
<li>Report patient feedback and concerns</li>
|
|
<li>Follow established procedures</li>
|
|
<li>Maintain high service standards</li>
|
|
</ul>
|
|
""",
|
|
'content_ar': """
|
|
<h2>مسؤوليات الموظف</h2>
|
|
<p>بصفتك موظفًا، تساهم في العمليات اليومية وتجربة المريض.</p>
|
|
<ul>
|
|
<li>إكمال المهام المخصصة بكفاءة</li>
|
|
<li>الإبلاغ عن ملاحظات ومخاوف المرضى</li>
|
|
<li>اتباع الإجراءات المعمول بها</li>
|
|
<li>الحفاظ على معايير خدمة عالية</li>
|
|
</ul>
|
|
"""
|
|
}
|
|
|
|
content, _ = AcknowledgementContent.objects.update_or_create(
|
|
code=content_data['code'],
|
|
role=role,
|
|
defaults=content_data
|
|
)
|
|
|
|
checklist_items = [
|
|
{
|
|
'content': content,
|
|
'code': 'STAFF_SCOPE',
|
|
'order': 1,
|
|
'text_en': 'I understand my Staff role and commitment to quality service',
|
|
'text_ar': 'أفهم دوري كموظف والالتزام بخدمة عالية الجودة',
|
|
'description_en': 'Accept responsibility for Staff role',
|
|
'description_ar': 'قبول المسؤولية لدور الموظف',
|
|
'is_required': True
|
|
}
|
|
]
|
|
|
|
for item_data in checklist_items:
|
|
AcknowledgementChecklistItem.objects.update_or_create(
|
|
code=item_data['code'],
|
|
defaults=item_data
|
|
)
|