أدوار المستخدمين وصلاحيات الوصول
يستخدم ICARE نظاماً دقيقاً ومحكماً للتحكم في الصلاحيات بناءً على الأدوار الوظيفية (RBAC) لعزل العمليات الإدارية والمالية والطبية عن بعضها البعض.
الهيكل العام للأدوار الوظيفية
تنقسم صلاحيات الوصول على المنصة بناءً على الأدوار التشغيلية للمستخدمين:
| الدور الوظيفي | نطاق الوصول الممنوح | القدرات والصلاحيات الرئيسية |
|---|---|---|
| المشرف العام (Super Admin) | كامل المنصة (صلاحيات شاملة) | إعداد خطط الاشتراك وتعديلها، تفعيل حسابات العيادات، واستعراض سجلات العمليات والتدقيق على مستوى المنصة. |
| مدير العيادة (Clinic Admin) | العيادة المستأجرة فقط | تعديل إعدادات العيادة، إضافة وتعديل حسابات الموظفين، تحديد أسعار الخدمات والاطلاع على التقارير المالية للعيادة. |
| الطبيب (Doctor) | ملفات المرضى ومواعيد الطبيب الخاصة | إدارة جدول المواعيد الشخصي، كتابة وتحرير الوصفات الطبية للمرضى، والاطلاع على كشف مستحقاته المالية الشخصية. |
| المساعد / الممرض | ملفات العيادة وجدول المواعيد العام | تسجيل المرضى الجدد، إثبات حضور المريض ووصوله، تدوين المؤشرات الحيوية ومراجعة جدول العيادة اليومي. |
| المحاسب (Accountant) | الفواتير والعمليات المالية للعيادة | إصدار فواتير الخدمات للمرضى، تسجيل السداد، تدوين مبالغ تسوية مستحقات الأطباء، وتصدير التقارير المالية للعيادة. |
| موظف المختبر (Lab Staff) | مكونات التحاليل الطبية والمختبر | إدارة حجوزات التحاليل، تدوين وتأكيد نتائج الفحوصات الفرعية، ورفع التقارير الطبية للمرضى. |
| المريض (Patient) | ملفات المريض الخاصة فقط | حجز المواعيد مع الأطباء، استعراض وصفاته الطبية السابقة، وتحديث مؤشراته الحيوية الشخصية للتتبع. |
مفاتيح الصلاحيات الدقيقة
يرتبط كل دور وظيفي بمجموعة سلاسل نصية تمثل الصلاحيات التفصيلية. يتم التحقق من الصلاحية في الكود البرمجي هكذا:
Helpers::hasPermission('PERMISSION_KEY')
أبرز مجموعات الصلاحيات
- الصلاحيات المالية (Financial Controls):
DOCTOR_INCOME_VIEW(عرض دخل الطبيب)،DOCTOR_PAYOUT_ADD(تسجيل دفعة سداد مستحقات الطبيب)، وCLINIC_FINANCIAL_SETTINGS_UPDATE. - العمليات الطبية (Clinical Operations):
APPOINTMENT_REASSIGN_DOCTOR(إعادة تعيين موعد لطبيب آخر)، وPRESCRIPTION_DELETE. - إدارة الاشتراك العام (SaaS Management):
PLATFORM_PLAN_MANAGE،PLATFORM_SUBSCRIPTION_VIEW، وSUBSCRIPTION_APPROVE.
لوحة إدارة الأدوار والصلاحيات
هنا لوحة إدارة الأدوار والصلاحيات من واجهة المشرف الحقيقية حيث يمكن إضافة أدوار وتفعيل أو إلغاء أي صلاحية للمستخدمين في الوقت الحقيقي:
تسلسل توريث الصلاحيات
مخطط توضيحي لكيفية توريث الصلاحيات: يرتبط حساب المستخدم بدور وظيفي معين، ويحتوي كل دور وظيفي على مصفوفة صلاحيات تفصيلية تمنحه الصلاحية لتنفيذ مهام محددة.
graph LR
USR[حساب المستخدم] -->|يُمنح دور| ROLE[الدور الوظيفي]
ROLE -->|يحتوي على| PERM_MAP[مصفوفة الصلاحيات]
PERM_MAP -->|يسمح بـ| P1[DOCTOR_INCOME_VIEW]
PERM_MAP -->|يسمح بـ| P2[APPOINTMENT_REASSIGN_DOCTOR]
PERM_MAP -->|يسمح بـ| P3[CLINIC_REPORTS_VIEW]