🔄

المتابعة وكروت المتابعة (Follow-up & Follow-up Cards)

يدير هذا الموديول متابعة الحمل للمريضة عبر "ملف متابعة" واحد نشط لكل حمل (تاريخ آخر دورة LMP، تاريخ الولادة المتوقع EDD، تاريخ IVF، عدد مرات الحمل والولادة G/P)، مع سجلات زمنية للزيارات والتشخيصات والفحوصات والتحاليل، إضافة إلى "كروت متابعة" قابلة للطباعة لكل زيارة عيادة تتضمن التشخيص والأدوية الموصوفة وترتبط بالصيدلية، وأخيراً مكتبة تعليمات نصية للمريضات تُطبع عند الطلب مع خطابات تحويل للمستشفيات.

8جدول
3كنترولر
12علاقة رئيسية

الوظائف الرئيسية

الجداول وبنية البيانات (Data Models)

الجدولالغرضأهم الحقولالعلاقات
followupملف متابعة الحمل الرئيسي (ملف واحد نشط لكل مريضة، ويؤرشف عند انتهاء الحمل)patientid, history, lmp, eed, ivf, g, p, statuspatients عبر patientid
followupvisitزيارة متابعة دورية (وزن، ضغط، عمر الحمل، سونار، ملاحظات)followid, date, wt, bp, ga, us, notes, delfollowup عبر followid
followupdiagnosisسطر تشخيص مؤرخ داخل ملف المتابعةfollowid, date, diagnosis, delfollowup عبر followid
followupexamسطر فحص إكلينيكي مؤرخ داخل ملف المتابعةfollowid, date, exam, delfollowup عبر followid
followupinvestسطر تحاليل/أشعات مطلوبة مؤرخ داخل ملف المتابعة (نص حر)followid, date, invest, delfollowup عبر followid
followupcardكارت متابعة الزيارة القابل للطباعة (تشخيص + فترة الزيارة + الطبيب + القسم)patientid, doctorid, enterdate, exitdate, date, diagnosis, status, deleted, deptidpatients عبر patientid، awusers عبر doctorid، detections عبر deptid (مأخوذ من visits.detectionid)
followupcarddrugsأدوية كارت المتابعة (الدواء، النوع، الجرعة) وربطها بروشتة الصيدليةcardid, drugid, drugtype, drugdos, recepittmpidfollowupcard عبر cardid، drugs عبر drugid، recepittmp عبر recepittmpid
instructionمكتبة تعليمات نصية للمريضات قابلة للطباعةpatientid, name, content, tempdeletepatients عبر patientid (نظرياً فقط — القيمة ثابتة بـ 1 في الكود، فهي عملياً مكتبة عامة)

سير العمل (Workflow)

  1. تدخل الممرضة/الطبيب شاشة المتابعة من ملف المريضة (followup.php?patientid=N)؛ إن لم يوجد ملف متابعة نشط (status = 0) يُنشأ تلقائياً بسجل followup جديد بقيمة LMP = اليوم، وتُحسب EDD وIVF، وتُضاف أول زيارة فارغة في followupvisit.
  2. تُعرض الشاشة أربع قوائم مؤرخة (زيارات، تشخيصات، فحوصات، تحاليل) تنازلياً، ويُحسب عمر الحمل لكل زيارة بالأسابيع من LMP، مع تعليم الزيارات الأقدم من LMP كغير منطقية.
  3. يضيف الطبيب صفوفاً جديدة عبر AJAX (newvisit/newdiag/newexam/newinv) ثم يحرر القيم خلية بخلية عبر دالة update العامة (اسم الجدول والعمود والقيمة تُرسل من المتصفح)، وتعديل LMP يعيد حساب EDD وIVF فوراً.
  4. يكتب الطبيب روشتة اليوم من نفس الشاشة (تُحفظ في جدول followupdrugs غير الموجود بالـ dump — يُنشأ وقت التشغيل)، ويمكن عرض أرشيف الروشتات بالتواريخ منفصلة للزوجة والزوج وطباعة أي منها بقالب gyna/print.html.
  5. عند انتهاء الحمل يُغلق الملف (status = 1) ويظهر في شاشة الأرشيف (archive)، ومن هناك تُفتح تفاصيل أي حمل سابق للقراءة عبر pregdetail.
  6. بالتوازي، في كل زيارة عيادة يفتح الطبيب شاشة كارت المتابعة (followupcard.php?ac=addit)؛ يُنشأ كارت جديد (status = 0) يلتقط تاريخ آخر زيارة من visits وقسمها (detectionid)، ويُسجل التشخيص ويضاف الدواء سطراً سطراً من كتالوج drugs.
  7. عند الحفظ/الطباعة (printit) يُعتمد الكارت (status = 1)، وتُحفظ الأدوية في followupcarddrugs، وتُنشأ روشتة مؤقتة في الصيدلية (recepittmp بمصدر drugstablename = followupcarddrugs) مع سطور receiptdrugs ليتم تحصيلها وصرفها من موديول الصيدلية، ثم يُطبع الكارت.
  8. شاشة عرض الكروت (index) تُظهر كل الكروت المعتمدة للمريضة مع اسم الطبيب وقائمة الأدوية مجمعة، مع إمكانية إعادة الطباعة فقط (yesOnly) أو الحذف المنطقي.
  9. في موديول التعليمات: تُدار مكتبة التعليمات (إضافة/تعديل/حذف منطقي عبر tempdelete)، ويختار المستخدم مجموعة تعليمات لطباعتها باسم المريضة ولقبها (من wifetypes) وتاريخ اليوم.
  10. من نفس كنترولر التعليمات تُصدر خطابات التحويل للمستشفيات: تُجمع بيانات الحمل الحالي من mainantenental وآخر سونار من mainantenentalus والتاريخ المرضي/الجراحي/النسائي من جداول ph*، ويُختار المستشفى من hospitalnames وتعليمات العمليات من operationinstructions ثم يُطبع الخطاب.

الارتباط بالموديولات الأخرى

ملاحظات فنية

توصيات النقل إلى ERP