? نوع العمل
مشروع Cabinet Medical هو نظام معلوماتي متكامل لإدارة العيادات الطبية، يهدف إلى رقمنة كامل مسار الاستشارة الطبية، بدءًا من تحليل الأعراض الأولي وصولًا إلى حجز المواعيد والتواصل بين الطبيب والمريض.
يعتمد النظام على دمج تقنيات تطوير الويب، تطبيقات الهاتف، والذكاء الاصطناعي لتوفير تجربة موحدة وذكية للمستخدمين.
? ميزات النظام
1. إدارة المواعيد الطبية
تمكين المرضى من تصفح الأطباء حسب التخصص
عرض أوقات العمل (availability) بشكل لحظي
حجز المواعيد مع تقسيم تلقائي للفترات الزمنية
تتبع حالة الموعد (قيد الانتظار، مؤكد، مكتمل، ملغى)
فرض قواعد مثل: موعد واحد نشط في اليوم لكل مريض
2. نظام التحقق من الأطباء
تسجيل الطبيب وإدخال بياناته المهنية
رفع وثائق التحقق (شهادات، ترخيص)
مراجعة من طرف المسؤول (Admin)
السماح فقط للأطباء المعتمدين باستخدام النظام
3. لوحات تحكم حسب الدور (Role-Based Dashboards)
المريض: حجز المواعيد، تتبعها، استخدام chatbot
الطبيب: إدارة الجدول الزمني والمواعيد
الإدارة: الإشراف على المستخدمين والتحقق من الأطباء
4. نظام الإشعارات والتواصل
إشعارات فورية (Push Notifications)
نظام مراسلة مباشر بين الطبيب والمريض (WebSocket)
تتبع الرسائل والتنبيهات داخل التطبيق
5. Chatbot ذكي (Prediagnostic System)
إدخال الأعراض نصيًا
تحديد درجة الخطورة (منخفض / متوسط / مرتفع)
اقتراح التخصص الطبي المناسب
كشف الحالات الطارئة (Red Flags)
⚠️ هذا النظام لا يقدم تشخيصًا طبيًا، بل تقييمًا أوليًا فقط.
6. دعم متعدد المنصات
تطبيق ويب (Angular)
تطبيق موبايل (Android باستخدام Kotlin)
نفس الوظائف والقواعد على كلا المنصتين
7. الأمان والتحكم
نظام مصادقة باستخدام JWT
التحكم في الصلاحيات حسب الدور (RBAC)
تطبيق القواعد بالكامل في الـ backend لضمان الأمان
? طريقة التنفيذ (Architecture & Implementation)
1. معمارية النظام
تم اعتماد معمارية متعددة الطبقات (Layered Architecture):
Frontend:
Angular (Web)
Kotlin + Jetpack Compose (Mobile)
Backend:
FastAPI (Python)
مسؤول عن المنطق، التحقق، وإدارة البيانات
قاعدة البيانات:
PostgreSQL (بيانات المستخدمين والمواعيد)
Redis (للكاش والـ real-time)
التواصل:
REST APIs
WebSocket (للدردشة)
2. تصميم API-first
كل المنصات تعتمد على نفس الـ API
الـ backend هو المصدر الوحيد للمنطق (Single Source of Truth)
ضمان نفس السلوك في web و mobile
3. الذكاء الاصطناعي (Machine Learning)
تم تطوير chatbot باستخدام:
TF-IDF لتحويل النصوص
Random Forest لتحديد درجة الخطورة
Logistic Regression لتحديد التخصص
مع إضافة:
نظام كشف الحالات الخطيرة (Red Flags)
طبقة تصحيح (Calibration Layer)
⚠️ بدون استخدام نماذج جاهزة (pretrained models) لأسباب أكاديمية.
4. قواعد العمل (Business Logic)
لا يمكن للمريض حجز أكثر من موعد في نفس اليوم
لا يمكن تعديل المواعيد بعد انتهاء وقتها
الطبيب لا يمكنه العمل قبل التحقق منه
جميع القواعد تُطبق في backend فقط
? خلاصة
هذا المشروع يمثل نظامًا متكاملًا يجمع بين:
تطوير Full-Stack
تطبيقات الموبايل
الذكاء الاصطناعي
أنظمة حقيقية (Real-world systems)
ويهدف إلى:
تحسين إدارة العيادات
تسهيل الوصول للخدمات الصحية
تقديم دعم ذكي أولي للمرضى