# المعامل الخارجية — الفجوات مع نظام الريفرنس

> تاريخ: 2026-03-27
> المرجع: نظام ل.د.م من ناشيونال تكنولوجي

---

## الموجود (80-85% مكتمل):

### باك اند:
- تعريف المعمل (اسم + كود + ترخيص + تواصل + عنوان ثنائي اللغة)
- ربط شريك تجاري تلقائي (حسابات A/R + A/P + مصروفات)
- تسعير لكل تحليل حسب الاتجاه (outbound/inbound) + تاريخ فعالية
- إنشاء تحويلات (صادر + وارد) مع حساب أسعار تلقائي
- سير عمل: pending → sent → in_progress → resulted → completed/cancelled
- استلام نتائج مع مزامنة لجدول النتائج الداخلي
- إنشاء فاتورة تلقائي للتحويلات الصادرة
- قيود محاسبية (DR مصروفات / CR دائنين — DR مدينين / CR إيرادات)
- ملخص مالي لكل معمل
- بوابة المعمل الخارجي (تسجيل دخول + عرض تحويلات + إدخال نتائج)
- soft delete + multi-tenancy

### فرونت اند:
- شاشة CRUD للمعامل مع بحث وفلاتر
- تسعير تحاليل (outbound/inbound) مع إمكانية استيراد من قائمة أسعار
- شاشة التحويلات مع فلاتر (معمل + اتجاه + حالة)
- إنشاء تحويلة مع اختيار تحاليل وتعديل أسعار
- إجراءات الحالة (إرسال + استلام + إلغاء + إكمال)
- إدخال نتائج في dialog
- إنشاء فاتورة
- ملخص مالي
- بوابة خارجية (login + قائمة تحويلات + تفاصيل + إدخال نتائج)

---

## الفجوات:

### ١. endpoint إرسال التحويلة — باك اند ناقص (تاسك مطلوب)
- الفرونت بيستدعي `POST /referrals/{id}/send` بس الباك اند مافيهوش
- المطلوب: تحديث `sent_at` + تغيير الحالة من pending لـ sent
- **أولوية: عالية**

### ٢. تعديل تحاليل التحويلة بعد الإنشاء — باك اند ناقص (تاسك مطلوب)
- بعد إنشاء التحويلة مينفعش تضيف أو تشيل تحاليل
- المفروض: إضافة/حذف تحاليل طالما الحالة pending أو sent
- **أولوية: متوسطة**

### ٣. إعادة تعيين كلمة سر البوابة — باك اند ناقص
- مفيش endpoint لتغيير كلمة السر بعد الإنشاء
- **أولوية: متوسطة** (مؤجل)

### ٤. سجل تغييرات الحالة (Audit Trail) — باك اند ناقص
- مفيش سجل لتغييرات حالة التحويلة (مين غيّر وإمتى)
- **أولوية: منخفضة** (مؤجل)

### ٥. طباعة إذن تحويل (Referral Slip) — فرونت اند بس
- ورقة تحويل (jsPDF) فيها باركود + بيانات المريض + التحاليل + اسم المعمل
- **أولوية: عالية** — ممكن ينفذ بدون باك اند

### ٦. تنبيهات التأخير — باك اند ناقص
- لو التحويلة حالتها sent أكتر من X ساعة → تنبيه
- **أولوية: متوسطة** (مؤجل — محتاج cron/scheduled task)

### ٧. مقارنة أسعار المعامل — فرونت اند بس
- جدول مقارنة أسعار نفس التحليل بين عدة معامل
- **أولوية: منخفضة** — البيانات موجودة

### ٨. عمليات بالجملة (Bulk) — باك اند + فرونت
- إنشاء تحويلات بالجملة أو استلام نتائج بالجملة
- **أولوية: منخفضة** (مؤجل)

### ٩. تعليق + علم على نتائج التحويلة — باك اند ناقص (تاسك مطلوب)
- حالياً النتيجة بدون تعليق أو علم (H/L/abnormal)
- المطلوب: إضافة comment + flag على referral_tests
- **أولوية: متوسطة**

---

## التاسكات المرسلة للباك اند:

| الرقم | الوصف | الأولوية |
|-------|-------|----------|
| #1285 | endpoint إرسال التحويلة (`/send`) | عالية |
| #1286 | تعديل تحاليل التحويلة بعد الإنشاء | متوسطة |
| #1287 | تعليق + علم على نتائج التحويلة | متوسطة |

## فرونت اند ممكن ينفذ بدون باك اند:

| الميزة | الحالة |
|--------|--------|
| طباعة إذن تحويل (jsPDF) | مطلوب — عالي |
| مقارنة أسعار المعامل | مطلوب — منخفض |

---

**Why:** المعامل الخارجية جزء أساسي — كتير من المعامل بتحوّل تحاليل متخصصة
**How to apply:** بعد ما الباك اند يخلص endpoint الإرسال → نحسّن الفرونت + نضيف طباعة إذن التحويل
