النسخة الحالية في Moon LIS مقابل التقرير المرجعي (NASLAB) — تحليل تفصيلي للفروقات قبل البدء بالتعديل
التقرير الحالي مبني بـ jsPDF + jspdf-autotable في src/app/core/services/lis-report-pdf.service.ts. التقرير المرجعي مبني بـ iTextSharp ويتبع نمط مختبرات تجاري معروف (NASLAB). الهيكل العام متشابه لكن هناك فروقات في:
الـ PDF الأصلي 6 صفحات، كل صفحة قسم/panel مستقل. هذا الـ thumbnails:
اسم المختبر يسار + معلومات الاتصال يمين + خط أزرق رفيع.
لا يوجد شعار. لا يوجد اسم عربي.
شعار يسار + اسم عربي/إنجليزي يمين (RTL aware).
خط أفقي رفيع (رمادي وليس أزرق).
| الحقل | الحالي | المرجع | الأهمية |
|---|---|---|---|
| رقم الحساب (Acc. No.) | ❌ غير موجود | ✅ 12116960 | عالي |
| الفرع (Branch) | ❌ غير موجود | ✅ Jeddah Branch | عالي |
| اسم المريض | ✅ Name | ✅ Patient Name | تطابق |
| رقم المريض | ✅ Patient ID | ✅ Patient Number | تسمية فقط |
| الجنس/العمر | ✅ Age/Gender | ✅ Gender/Age | ترتيب |
| رقم الإحالة | ❌ غير موجود | ✅ Reffering No. | متوسط |
| الطبيب المُحيل | ✅ Ref. By | ✅ Ref. Doctor | تسمية |
| العيادة المُحيلة | ❌ غير موجود | ✅ Ref. Clinic | متوسط |
| تاريخ الزيارة | ⚠️ Collection | ✅ Visit Date | دلالة مختلفة |
| تاريخ النتيجة | ✅ Report Date | ✅ Result Date | تسمية |
| نوع العينة (Sample) | ✅ موجود | ❌ غير موجود | إضافي |
| رقم التقرير (Report ID) | ✅ موجود | ❌ غير موجود | إضافي |
Acc. No., Branch, Ref. Clinic, Reffering No. ونحذف Sample و Report ID؟ أم نحتفظ بكل شيء (8 حقول → 12 حقل)؟سطر واحد متمركز بـ fontSize: 11, bold
سطرين: القسم الرئيسي (section.name) + الـ panel (investigation.name) — كلاهما متمركز ومُعَتم
ReportSection يحتاج حقل panelName?: string.| العمود | الحالي | المرجع | التعديل |
|---|---|---|---|
| 1 | INVESTIGATION (75mm, يسار) | Test (يسار) | نفس المنطق |
| 2 | RESULT (30mm, وسط) + flag inline | Result (يسار) | إزالة inline flag |
| 3 | REF. RANGE (45mm, وسط) | Flag (L/H) — عمود ضيق | عمود جديد |
| 4 | UNIT (25mm, يمين) | Unit (يسار) | نقل لمكان 4 |
| 5 | — | Ref. Range (يسار) | آخر عمود |
النص "Low" داخل خلية النتيجة بلون أحمر/أزرق
حرف واحد (L/H) في عمود مستقل ضيق — أنقى وأوضح
| العنصر | الحالي | المرجع | الأهمية |
|---|---|---|---|
| Approved by | ⚠️ توقيع + اسم تحت خط (داخل المحتوى قبل الـ footer) | ✅ "Approved by:" + اسم الطبيب يمين الصفحة | تعديل موضع |
| Verified By | ❌ غير موجود | ✅ "Verified By: Emad Ahmed Ghali" | حقل مفقود |
| Printed By | ❌ غير موجود | ✅ "Printed By: System1" | حقل مفقود |
| Printed Date | ⚠️ "Electronically generated — DD/MM/YYYY HH:MM" | ✅ "Printed Date: 29/11/2021 03:17 PM" | إعادة تسمية |
| Page X of Y | ✅ يمين | ✅ وسط | موضع |
| عنوان المختبر | ❌ غير موجود | ✅ سطر تحت الـ footer | إضافة |
المرجع يستخدم تسلسل هرمي من مستويين:
panelName?: string على ReportSectionaccessionNumber?, branch?, refClinic?, referringNumber?, visitDate? على ReportDataverifiedBy?, printedBy? على ReportDatalogoUrl, nameAr على LabInfolabel ? ${result} ${label} : result)cellWidth=auto, fontSize=7NotoSansArabic fontDD/MM/YYYY hh:mm AM/PMSample و Report ID من patient info box (غير موجودين في المرجع)، أم نحتفظ بهما؟core/settings أم سيكون asset ثابت؟