☢️

ملحق: عيادة الذكورة وقسم الأشعة (MED: Andrology Clinic & Radiology Dept.)

يوثّق هذا الملحق ما رصدناه في النسخة الأحدث المنشورة على med.greennature.com.sa (مجلد /med) والمهيّأة كمركز/مستشفى، وهي مكوّنات غير موجودة في النسخة الأصلية ذات الـ312 جدولًا. تُقدّم هذه النسخة عيادة ذكورة مستقلة بالكامل لها زياراتها وتاريخها المرضي وفحصها السريري الخاص (بخلاف النسخة الأصلية التي اقتصرت على تحاليل السائل المنوي والهرمونات داخل شيت العقم فقط)، إضافة إلى قسم أشعة مركزي يعمل بمسار طلب ← تنفيذ ← تقرير ورفع صور. كل أسماء الجداول المذكورة هنا تمّت مطابقتها مع قائمة الجداول الأصلية وتأكّد أنها جديدة ما لم يُذكر خلاف ذلك. كل ما لم نتمكّن من تأكيده من الكود مباشرة موسوم بـ«(استنتاج)».

6كنترولر مرصود
21+جدول جديد
2مسار عمل (Workflow)
3مستفيدون للطلب (زوج/زوجة/طفل)

أولًا: عيادة الذكورة المستقلة (Dedicated Andrology Clinic)

في النسخة الأصلية كان الجانب الذكوري مجرد جداول لتحاليل السائل المنوي (semen, semen2, icsisemen, ssemen) والهرمونات داخل شيت العقم. أما هنا فقد أصبحت عيادة ذكورة كاملة بثلاث شاشات سريرية مرتبطة بنفس المريض (patientid) عبر ثلاثة كنترولر: and_visits, and_history, and_examination، تُكتب جميعها عبر RedBeanPHP في جداول جديدة بادئتها and*.

مسار عمل زيارة الذكورة (نهاية لنهاية)

  1. اختيار المريض ثم فتح and_visits.php?patientid=… ← تحميل كل التشخيصات/الشكاوى والأشعة والتحاليل المرجعية.
  2. إضافة صف زيارة جديد (newrowR::dispense('andvisits')) ثم تحرير الحقول inline عبر update (تحديث عمود واحد لكل نداء).
  3. طلب أشعة (addray → صفوف في andvisitsrays) و/أو تحاليل (addinvestigationandvisitsinvestigation مع دعم باقات الفحوصات invoffer/invofferdetails) و/أو روشتة (andvisitsdrugs).
  4. إدخال سونار/سائل منوي/فحص جيني كصفوف منفصلة، ثم الطباعة لكل من الزوج/الزوجة حسب forhusband.
  5. حذف منطقي لأي سجل عبر del (تعيين deleted = 1).

ثانيًا: قسم الأشعة المركزي (Radiology Department Workflow)

كنترولر raysdept يمثّل قسم أشعة قائمًا بذاته (for_department = 5) يعمل بمنطق طابور عمل المستشفى عبر جدول visits المشترك. الطلب يُنشأ كزيارة موجّهة للقسم، ثم تُنشأ صفوف نتائج في الجدول الجديد raysresults، يُنفّذها فنّي القسم بإدخال النتيجة ورفع الصور، ثم تُؤرشَف.

  1. الطلب (Order): newvisitsavenewvisit يُنشئ صف visits بـfor_department = 5 ثم يستدعي sendToDept الذي يولّد صفًا في raysresults لكل أشعة مختارة (rayid, visitid, patientid, doctorid = 0, status = 0, forhusband). يدعم أيضًا «الطلب الداخلي» (raytype = 1) الذي يربط نتيجة الأشعة بسجل في جدول داخلي آخر عبر internaltable/internalrequestid.
  2. قائمة العمل (Worklist): index يجلب طلبات اليوم غير المنجَزة (status = 0) عبر JOIN بين raysresults وvisits وpatients وpatients_childs، ويميّز المستفيد: زوج/زوجة/طفل (for_husband = 1/0/2).
  3. التنفيذ والتقرير (Perform & Report): showdetails يعرض صفوف الأشعة للزيارة، وupdate يكتب نص التقرير في rayresult ويضبط تاريخ النتيجة وdoctorid؛ وإذا كان طلبًا داخليًا يُحدِّث الجدول الداخلي المرتبط أيضًا.
  4. الصور: upload (صورة واحدة في raysresults.rayimg) وuploadMulti (عدة صور في الجدول الجديد raysresults_img المرتبط بـraysresults_id)، مع حذف فعلي للملفات من upload/rayimg.
  5. الإنهاء والأرشفة: finishRequest يضبط status = 1 لكل صفوف الزيارة، وarchive يعرض المؤرشف، وprintresults يطبع التقرير النهائي مع تحديد الطبيب المُحوِّل (refer_doctor أو for_doctor من آخر زيارة).

ثالثًا: ملاحظة حول radiation.php

رغم اسمه، فإن كنترولر radiation.php ليس قسم علاج إشعاعي بل اسمه الداخلي instruction ويعمل على جدول instruction (معروف من النسخة الأصلية) لإدارة تعليمات المرضى وخطابات التحويل بين المستشفيات. يستخدم جداول operationinstructions (جديد) وhospitalnames (معروف) ويولّد خطاب تحويل يجمع التاريخ الولادي/المرضي/الجراحي للمريضة. أُدرج هنا للتوضيح أنه لا علاقة له بقسم الأشعة التشخيصية أعلاه.

جدول الكيانات (Entities)

الجدولجديد/معروفالغرضأهم الحقول المستنتجةالعلاقات
andvisitsجديدزيارة عيادة ذكورة (شكوى/تشخيص متعدد)patientid, doctorid, date, complaint, complaintid (CSV), diagnosisid (CSV), diagnosistxt, deletedpatients عبر patientid، awusers عبر doctorid، anddiagnosis/andcomplaint عبر CSV
andhistoryجديدالتاريخ العام لمريض الذكورةpatientid, doctorid, durationid, fertile, fertiletype, marriage, smoking, smokinglevel, inflammation, trauma, stopped, abortionno, notes, deletedpatients، infertileduration عبر durationid
andexaminationجديدالفحص السريري الثنائي الجانبpatientid, doctorid, date, testesl/testesr, epidl/epidr, cordl/cordr, vasl/vasr, notes, deletedpatients، awusers
andmedicalproblemsجديدالأمراض الطبية المصاحبةpatientid, diseaseid, date, deletedmedicaldisease (معروف) عبر diseaseid
anderectionجديدمشاكل الانتصابpatientid, diseaseid, date, deletederectiondisease عبر diseaseid
andejaculationجديدمشاكل القذفpatientid, diseaseid, date, deletedejaculationdisease عبر diseaseid
andcontraceptionجديدوسائل منع الحمل المستخدمةpatientid, typeid, date, deletedandcontratype عبر typeid
andcontratypeجديدقائمة مرجعية لأنواع منع الحملname, deletedتُقرأ من andcontraception.typeid
infertiledurationجديدقائمة مرجعية لمدد العقمname, deletedتُقرأ من andhistory.durationid
erectiondiseaseجديدقائمة مرجعية لأمراض الانتصابname, deletedتُقرأ من anderection.diseaseid
ejaculationdiseaseجديدقائمة مرجعية لأمراض القذفname, deletedتُقرأ من andejaculation.diseaseid
anddiagnosisجديدقائمة مرجعية لتشخيصات الذكورةname, deletedتُقرأ من andvisits.diagnosisid (CSV)
andcomplaintجديدقائمة مرجعية لشكاوى الذكورةname, deletedتُقرأ من andvisits.complaintid (CSV)
andvisitssemenجديدتحليل سائل منوي مرتبط بزيارة الذكورةpatientid, doctorid, date, conc, nf (حركة), ph, viscosity, aggl, vol, pus, deleted (استنتاج للأسماء من العرض)patients، awusers
andvisitsgenetictestingجديدفحص جيني (كروموسومي + AZF)patientid, doctorid, date, chromosome (1/2), azf (1/2), deletedpatients، awusers
andvisitsusجديدسونار ذكوريpatientid, doctorid, date, lfolliclesno/rfolliclesno, حقول الرحم/المبيض المُعاد استخدامها, deletedandvisitsficils عبر andvisitsusid
andvisitsficilsجديدبصيلات السونار الذكوريandvisitsusid, name, length, width, volume, type (0/1), sysdateandvisitsus عبر andvisitsusid
andvisitsdrugsجديدروشتة دوائية لزيارة الذكورةpatientid, doctorid, date, drugid, forhusband, deleteddrugs عبر drugid
andvisitsraysجديدطلب أشعة من زيارة الذكورةpatientid, doctorid, date, rayid, forhusband, deletedrays عبر rayid
andvisitsinvestigationجديدطلب تحاليل من زيارة الذكورةpatientid, doctorid, date, investid, offer_id, forhusband, deletedinvests، invoffer عبر offer_id
raysجديدكتالوج عناصر الأشعةname, rayscatid, price, range, favorite, deletedrayscats عبر rayscatid
rayscatsجديدفئات الأشعةname, displayorder, deletedأب لـ rays
raysresultsجديدسجل تنفيذ/تقرير طلب الأشعة (قلب طابور القسم)visitid, patientid, rayid, raytype, internaltable, internalrequestid, rayresult, rayimg, doctorid, status (0/1), forhusband, date, deletedvisits عبر visitid، rays عبر rayid، raysresults_img
raysresults_imgجديدصور متعددة لنتيجة الأشعةraysresults_id, rayimg, deletedraysresults عبر raysresults_id
investigationresultsجديدنظير raysresults لقسم التحاليل (department 12)visitid, patientid, investid, invtype, internaltable, internalrequestid, doctorid, forhusband, date, deletedvisits، invests
patients_childsجديدأبناء المريضة كمستفيد ثالث للطلبchild_name, gender (استنتاج)تُربط بـvisits.child
operationinstructionsجديدتعليمات العمليات لخطاب التحويلinsttext, deletedتُستخدم في radiation.php (instruction)
invoffer / invofferdetailsجديدباقات الفحوصات وتفاصيلهاactive, del / invoffer_id, inv_id, price, delinvests عبر inv_id
medicaldisease, instruction, hospitalnames, visits, invests, investcats, detectionsمعروفجداول أصلية أُعيد استخدامها (المرض المرجعي، التعليمات، المستشفيات، الزيارات، التحاليل، الكشوف)موجودة في النسخة الأصلية ذات الـ312 جدولًا

التأثير على خطة الـ ERP/HIS