📋

التاريخ المرضي الشامل (Patient Medical History)

موديول مركزي لتوثيق التاريخ المرضي الكامل لمريضة النساء والتوليد على مستوى المريضة (وليس الزيارة): تاريخ الدورة الشهرية، وسائل منع الحمل السابقة، تاريخ الولادات والحمل السابق، الأمراض الطبية السابقة، العمليات الجراحية والنسائية السابقة، محاولات الإخصاب المساعد السابقة (IUI/IVF/ICSI) بتفاصيلها المعملية، والتاريخ العائلي للأمراض. تظهر هذه البيانات كملخص في رأس صفحة المريضة وتُستهلك في جميع الشيتات الطبية والتقارير.

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

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

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

الجدولالغرضأهم الحقولالعلاقات
phmenstrualسجلات تاريخ الدورة الشهرية لكل مريضة (آخر دورة LMP، البلوغ، المدة، الانتظام...)patientid, menarche, duration, length, phregularity, phamount, phdysmenorrhoea, phl_mp, doctorid, delpatients عبر patientid، awusers عبر doctorid، phregularity/phamount/phdysmenorrhoea عبر الأعمدة المسماة بنفس الاسم
phregularityقائمة اختيار: انتظام الدورة (regular, irregular, menopause...)name, delتُرجع من phmenstrual.phregularity
phamountقائمة اختيار: كمية دم الطمث (مثل excessive) — وليس مبلغاً مالياًname, delتُرجع من phmenstrual.phamount
phdysmenorrhoeaقائمة اختيار: عسر الطمثname, delتُرجع من phmenstrual.phdysmenorrhoea
phcontraceptionسجلات وسائل منع الحمل السابقة للمريضةpatientid, contype, contduration, contstopped, contranote, doctorid, delpatients عبر patientid، phcontracttype عبر contype، awusers عبر doctorid
phcontracttypeقائمة اختيار: أنواع وسائل منع الحمل (IUD, OC, DMPA, Mirena, Condom...)name, delتُرجع من phcontraception.contype
phobstetricسجل الولادات/حالات الحمل السابقة، صف لكل حمل مع بيانات حتى 3 أطفال (توائم)patientid, obstrduration, obstermination, obsplace, obsdate, outcomeid, babytype/babygendernew/babyweight/babyname (+ مكررة 1 و2), doctorid, delpatients عبر patientid، phobstericterminate عبر obstermination، phobstericterplace عبر obsplace، awusers عبر doctorid
phobstericterminateقائمة اختيار: طريقة انتهاء الحمل (SVD, CS, Ectopic, Abortion, V.mole)name, delتُرجع من phobstetric.obstermination؛ تُستخدم بمعرّفات ثابتة في حساب الصيغة التوليدية
phobstericterplaceقائمة اختيار: مكان الولادة/انتهاء الحملname, del, patientid (عمود شاذ غير مستخدم — استنتاج)تُرجع من phobstetric.obsplace
phpastmedicalالأمراض الطبية السابقة للمريضة (مع علم للزوج)patientid, medicaldisease, medicalnote, for_husband, doctorid, delpatients عبر patientid، phpastmedicaldisease عبر medicaldisease
phpastmedicaldiseaseقائمة اختيار: أسماء الأمراض الطبية السابقةname, delتُرجع من phpastmedical.medicaldisease
phpastsurgicalالعمليات الجراحية العامة السابقة (مع السنة والجرّاح وعلم للزوج)patientid, surgicaloperation, phsurgicalyear, phsurgicalsurgeon, surgicalnote, for_husband, doctorid, delpatients عبر patientid، phpastsurgicaloperation عبر surgicaloperation
phpastsurgicaloperationقائمة اختيار: أسماء العمليات الجراحيةname, delتُرجع من phpastsurgical.surgicaloperation
phpastgynecologicalالعمليات النسائية السابقة (مع السنة والجرّاح)patientid, gynecologicaloperation, gynecologicalyear, gynecologicalsurgeon, gynecologicalnote, doctorid, delpatients عبر patientid، phpastgynecologicaloperation عبر gynecologicaloperation
phpastgynecologicaloperationقائمة اختيار: أسماء العمليات النسائيةname, delتُرجع من phpastgynecological.gynecologicaloperation
phpastartمحاولات الإخصاب المساعد السابقة (IUI/IVF/ICSI/Cryo) بالمركز والسنة وبيانات تجميد الأجنةpatientid, arttype, artcenter, artyear, artnote, emdate, emembryos, straw1, doctorid, delpatients عبر patientid، phpastarttype عبر arttype، phpastartcenter عبر artcenter
phpastarttypeقائمة اختيار: نوع المحاولة (IUI, IVF, ICSI, cryo, failed)name, delتُرجع من phpastart.arttype (القيم 2 و3 = IVF/ICSI مُعاملة بمنطق خاص في الكود)
phpastartcenterقائمة اختيار: مراكز الإخصاب التي أجريت بها المحاولات السابقةname, delتُرجع من phpastart.artcenter
phpasticsiالتفاصيل المعملية لمحاولة ICSI/IVF سابقة (سجل ابن لكل صف في phpastart)partentid, patientid, opu, gi, gii, gv, et, etf, frozen, bhcg, fhrphpastart عبر partentid، patients عبر patientid
phfamilyالتاريخ العائلي للمريضة (مرض + صلة قرابة + ملاحظة)patientid, family_disease, family_relative, familynote, doctorid, delpatients عبر patientid، phfamilydisease عبر family_disease، phfamilyrelative عبر family_relative
phfamilydiseaseقائمة اختيار: الأمراض العائليةname, delتُرجع من phfamily.family_disease
phfamilyrelativeقائمة اختيار: صلة القرابةname, delتُرجع من phfamily.family_relative
medicalhistoryقائمة اختيار: أمراض طبية للزوجة تُستخدم في شيت العقم (DM, HTN, SLE...) — كتالوج موازٍ منفصل عن phpastmedicaldiseasetitle, delinfertilitysheet عبر العمود النصي medicalhistory (قائمة معرفات مفصولة بفواصل)
medicalhistorydmقائمة اختيار: أمراض طبية للزوج في شيت العقم (varicocele, smoking, STD...) — اللاحقة dm تعني الزوج/الذكر (استنتاج من القيم)title, delinfertilitysheet عبر medicalhistorydm (قائمة مفصولة بفواصل)
surgicalhistoryقائمة اختيار: عمليات جراحية للزوجة في شيت العقم (myomectomy, ov cystectomy...)title, delinfertilitysheet عبر surgicalhistory (قائمة مفصولة بفواصل)
surgicalhistorydmقائمة اختيار: عمليات جراحية للزوج في شيت العقم (varicocelectomy, herniorrhaphy...)title, delinfertilitysheet عبر surgicalhistorydm (قائمة مفصولة بفواصل)
familyhistoryقائمة اختيار: التاريخ العائلي في شيت العقم (DM, HTN, cancer...) — كتالوج موازٍ منفصل عن phfamilydiseasetitle, delinfertilitysheet عبر familyhistory (قائمة مفصولة بفواصل)

سير العمل (Workflow)

  1. يفتح الطبيب صفحة «Patient History» (patienthistory.php) بعد اختيار المريضة؛ إذا لم تُحدد مريضة يُعاد التوجيه للصفحة الرئيسية.
  2. حسب إعداد programesetting.simpleview يُعرض إما نموذج مبسّط (تشخيصات بسيطة) أو النموذج الكامل بسبعة أقسام: الدورة الشهرية، منع الحمل، الولادات، الأمراض السابقة، الجراحات، العمليات النسائية، محاولات ART، والتاريخ العائلي، مع تحميل كل قوائم الاختيار وسجلات المريضة السابقة لكل قسم.
  3. عند الضغط على «إضافة صف» في أي قسم تُستدعى دالة AJAX (مثل addnewmenstural, addnewobstetric, addnewpastart...) تنشئ فوراً سجلاً فارغاً في قاعدة البيانات مرتبطاً بالمريضة والطبيب الحالي بتاريخ اليوم، وتُعيد صف HTML جديداً (قالب Smarty جزئي مثل newMenstrualRow.html).
  4. يملأ الطبيب الحقول مباشرة داخل الجدول؛ كل تغيير في خلية يستدعي الدالة العامة update التي تستقبل اسم الجدول والعمود والقيمة وتحفظ مباشرة (حفظ خلوي لحظي بدون زر حفظ).
  5. في قسم ART، عند إدخال تفاصيل معملية لمحاولة IVF/ICSI تُنشأ/تُحدّث تلقائياً سجلة ابنة في phpasticsi مربوطة بـpartentid، كما تُعرض دورات التنشيط الداخلية المكتملة من mointoringsheet ضمن نفس القسم.
  6. إذا لم تكن القيمة المطلوبة موجودة في قائمة الاختيار، يضيفها المستخدم من نفس الشاشة فتُحفظ في جدول القائمة (مثل phcontracttype) ويُحدَّث سجل المريضة فوراً بالمعرف الجديد؛ ويمكن أيضاً تعديل اسم عنصر قائمة عبر editselect/updateselect.
  7. الحذف يتم منطقياً برفع العلم del=1 عبر delRows.
  8. عند فتح الصفحة تُسجَّل المريضة في قائمة تصدير Excel (excelinfopatients) ويُشغَّل سكربت excel.php في الخلفية لتصدير بياناتها.
  9. ملخص التاريخ (آخر دورة LMP، الصيغة التوليدية المحسوبة من phobstetric بمعرّفات ثابتة للقيصرية/الطبيعي/الإجهاض...) يُعرض في رأس بيانات المريضة (_patientdata.php/_phmain.php) في كل شاشات الكشف والشيتات.
  10. بشكل منفصل، شاشة addpresenthistory.php تُدير بنك أسئلة «الشكوى الحالية» (presenthistoryquestions/presenthistoryanswers) بترتيب عرض ومفضلة، وتُستهلك إجاباتها في شيتات الكشف.

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

ملاحظات فنية

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