يغطي هذا الموديول كافة أنشطة التصوير التشخيصي بالعيادة: تقارير الموجات الصوتية للحمل (مسح تشريحي وقياسات حيوية لكل جنين على حدة)، وتقارير الموجات الصوتية النسائية، والموجات المهبلية (TVS) والدوبلر و(SIS) داخل ملف العقم، وأشعة الصبغة على الرحم (HSG)، ونتائج الرنين المغناطيسي والأشعة المقطعية، وقوائم حجز فحص الـ 4D المرتبطة بملف متابعة الحمل، إضافة إلى أرشيف الصور والفيديوهات المرفوعة لكل مريضة، وأداة الرسم التوضيحي التفاعلي (GT Image) لوضع علامات على مخطط تشريحي.
update(table, column, value) عام في جميع شاشات الموديول).babyno تلقائياً، واعتماد التقرير نهائياً عند الطباعة (done = 1).usn / usaf / usplace.| الجدول | الغرض | أهم الحقول | العلاقات |
|---|---|---|---|
ultrasound | رأس تقرير الموجات الصوتية للحمل (النسخة القديمة) | patientid, edate, stype, based, babyno, sid, indication, gage, done, del | patients عبر patientid، awusers (فني الموجات) عبر sid |
ultrasounddetail | تفاصيل كل جنين في التقرير القديم (مسح تشريحي + قياسات) | ultrasoundid, heart, spine, kidney, gender, diameterm/p, headcm/p, abdominalm/p, lengthm/p, conclusion, weeks | ultrasound عبر ultrasoundid |
ultrasoundobst | رأس تقرير الموجات الصوتية للحمل (النسخة الأحدث) | patientid, edate, stype, babyno, sid, indication, limit, done | patients عبر patientid، awusers عبر sid |
ultrasoundobstdetail | تفاصيل كل جنين (يشمل قياسات الثلث الأول CRL وNT) | ultrasoundobstid, crownm/mc, nuchalm/c, diameterm/c, headcm/cc, flengthm/c, anomaly, gaestimatew/d, gender | ultrasoundobst عبر ultrasoundobstid |
ultrasoundgyna | تقرير الموجات الصوتية النسائي (سجل مسطح واحد) | patientid, edate, etype, position, thickness, rtsize, ltsize, rtfolicles, pmass, rtarteries, conclusion, done | patients عبر patientid، awusers عبر sid |
sonar | أرشيف صور وفيديوهات الموجات المرفوعة (الملفات على القرص) | patientid, sonardate, imagename, vediourl, originalname, notes, type (0 صورة / 1 فيديو), tempdelete | patients عبر patientid؛ ملفات في upload/sonar وupload/sonarvedio/1 |
tvs | فحص TVS داخل ملف العقم (اختيارات متعددة كنص CSV) | infertilitysheetid, tvsut, tvsro, tvslo, tvscx, tvspelvis, dtvsplace, comment, date | infertilitysheet عبر infertilitysheetid؛ قوائم tvs* عبر معرفات CSV |
tvscx | قائمة مفردات: نتائج عنق الرحم في TVS | title, del | tvs عبر tvscx (CSV) |
tvslo | قائمة مفردات: نتائج المبيض الأيسر في TVS | title, del | tvs عبر tvslo (CSV) |
tvspelvis | قائمة مفردات: نتائج الحوض في TVS | title, del | tvs عبر tvspelvis (CSV) |
tvsro | قائمة مفردات: نتائج المبيض الأيمن في TVS | title, del | tvs عبر tvsro (CSV) |
tvsut | قائمة مفردات: نتائج الرحم في TVS | title, del | tvs عبر tvsut (CSV) |
dtvs | فحص الدوبلر المهبلي داخل ملف العقم | infertilitysheetid, dtvsresult (CSV), date | infertilitysheet عبر infertilitysheetid؛ dtvsresult عبر CSV |
dtvsplace | قائمة مفردات: موضع الدوبلر المهبلي | title, del | tvs عبر dtvsplace (CSV) |
dtvsresult | قائمة مفردات: نتيجة الدوبلر المهبلي | title, del | dtvs عبر dtvsresult (CSV) |
ustv | سجل نتائج الموجات المهبلية من شاشة الفحوصات (نص حر) | patientid (varchar!), sdate, uterus, radnexa, ladnexa, pelvis, notes, doctorid | patients عبر patientid، awusers عبر doctorid |
usn | قائمة مفردات: ملاحظة الموجات في زيارة متابعة الحمل (استنتاج) | title, del | ancnewvisit عبر usn |
usaf | قائمة مفردات: السائل الأمنيوسي بالموجات (استنتاج) | title, del | ancnewvisit عبر usaf |
usplace | قائمة مفردات: موضع المشيمة بالموجات (استنتاج) | title, del | ancnewvisit عبر usplace |
four_d | قائمة مفردات: بنود خدمة فحص 4D | title, name, del | op_4d_list عبر four_d (CSV) |
op_4d_list | قائمة حجز ومتابعة تنفيذ فحوص 4D | patientid, ancsheetid, opdate, four_d (CSV), place, t1/t11/t12/t2/t21/t22, done, confirm, t1_userid, t2_userid | patients عبر patientid، ancsheet عبر ancsheetid، place عبر place، awusers عبر user_id |
gtimage | جلسة الرسم التوضيحي التفاعلي (صورة الأساس + التعليق) | gdate, patientid, doctorid, pic, comment, programview, del | patients عبر patientid، awusers عبر doctorid |
gtdetail | العلامات الموضوعة على الرسم (إحداثيات + تعليق) | gtid, posx, posy, width, height, imgno, comment, del | gtimage عبر gtid |
mrict | سجل نتائج الرنين المغناطيسي / الأشعة المقطعية (نص حر) | patientid (varchar!), sdate, uterus, radnexa, ladnexa, pelvis, notes, doctorid | patients عبر patientid، awusers عبر doctorid |
sis | فحص SIS (موجات بمحلول ملحي) داخل ملف العقم | infertilitysheetid, sisresult (CSV), date | infertilitysheet عبر infertilitysheetid؛ قائمة sisresult (موديول العقم) عبر CSV |
hsg | سجل نتائج أشعة الصبغة من شاشة الفحوصات (نص حر) | patientid (varchar!), sdate, uterus, rtube, ltube, smear, notes, doctorid | patients عبر patientid، awusers عبر doctorid |
hsginfertility | فحص HSG داخل ملف العقم (اختيارات من قوائم) | infertilitysheetid, hsgut, hsgplace, hsgrt (CSV), hsglt (CSV), hsgpelvis, date | infertilitysheet عبر infertilitysheetid؛ قوائم hsg* |
hsglt | قائمة مفردات: الأنبوب الأيسر في HSG | title, del | hsginfertility عبر hsglt (CSV) |
hsgpelvis | قائمة مفردات: الحوض في HSG | title, del | hsginfertility عبر hsgpelvis |
hsgplace | قائمة مفردات: مكان إجراء HSG | title, del | hsginfertility عبر hsgplace |
hsgrt | قائمة مفردات: الأنبوب الأيمن في HSG | title, del | hsginfertility عبر hsgrt (CSV) |
hsgut | قائمة مفردات: الرحم في HSG | title, del | hsginfertility عبر hsgut |
ultrasound أو ultrasoundobst أو ultrasoundgyna) بتاريخ اليوم مع سطر تفاصيل افتراضي لجنين واحد.babyno.done = 1) ويظهر بعدها في قائمة التقارير المنجزة للمريضة، مع إمكانية الحذف المنطقي (del = 1).investigation.php) تُنشأ تلقائياً سجلات فارغة لـ hsg وustv وmrict عند أول فتح، وتُسجل النتائج نصياً مع تاريخ الفحص واسم الطبيب.infertilitysheetid، وتُختار النتائج من قوائم المفردات وتُخزن كمعرفات مفصولة بفواصل، وتظهر مجمعة في التقارير الشاملة (sh.php، Completesreport.php).op_4d_list ويُربط بالملف عبر ancsheet.4d_list_id؛ ويدير قسم العمليات قائمة الحجوزات (الخدمات، المكان، علامات تنفيذ الفحص الأول والثاني والتأكيد).upload/sonar بأسماء عشوائية (md5) والفيديوهات إلى upload/sonarvedio/1 مع حفظ الاسم الأصلي، وتُعرض في معرض زمني لكل مريضة مع الطباعة والتنزيل، والحذف منطقي فقط (tempdelete).gtdetail.patients عبر patientid.sid والطبيب عبر doctorid ومنفذو فحص 4D عبر t1_userid / t2_userid إلى awusers.user_id (الفنيون هم المستخدمون ذوو positionid = 4).op_4d_list.ancsheetid → ancsheet.id والمؤشر العكسي ancsheet.4d_list_id، وقوائم usn / usaf / usplace تُستهلك من جدول زيارات المتابعة ancnewvisit.tvs / dtvs / sis / hsginfertility مرتبطة بـ infertilitysheet عبر infertilitysheetid، وقائمة sisresult تتبع موديول العقم.hsg / ustv / mrict تُدار من شاشة الفحوصات الموحدة investigation.php جنباً إلى جنب مع المعمل والمناظير.operations.php وترتبط بقائمة الأماكن place عبر op_4d_list.place.programesetting.sh.php وCompletesreport.php وfullreport.php تقرأ جداول الموديول لبناء التقرير الشامل للمريضة.ultrasound/ultrasounddetail وultrasoundobst/ultrasoundobstdetail نسختان متداخلتان (نحو 80% من الحقول مشتركة) وكلتاهما نشطتان في الكود؛ كما تتكرر بيانات HSG في ثلاثة مواضع (hsg نص حر، hsginfertility قوائم، وحقول داخل ملفات أخرى).tvs.tvsut وop_4d_list.four_d) وتُحل بالنمط id in (0$csv) — لا تكامل مرجعي ولا إمكانية استعلام فعالة.patientid من النوع varchar في hsg وustv وmrict، وتواريخ مخزنة كـ varchar في tvs / dtvs / sis / hsginfertility، وكل القياسات الرقمية (BPD وHC وغيرها) مخزنة كنصوص.sonar هو الوحيد بمحرك MyISAM (بقية الجداول InnoDB)، والملفات تُخزن على القرص بأسماء md5 دون تحقق من النوع، ويُحذف الملف فعلياً عند الاستبدال بينما الحذف من الشاشة منطقي فقط (تظل الملفات على القرص).patientid في sonar.php مثلاً)، ونقطة AJAX عامة تسمح بالكتابة في أي جدول/عمود يمرر من المتصفح (update(tableName, colName, value)).gtimage.php?ac=index يدرج سجل جلسة جديداً عند كل زيارة للصفحة مما يولد سجلات فارغة يتيمة؛ وكذلك investigation.php يدرج صفوف hsg/ustv/mrict فارغة تلقائياً.t1/t11/t12/t2/t21/t22 في حجوزات 4D غير موثقة؛ المؤكد من الكود أن إدخال tscandate/ttscandate في ملف المتابعة يرفع t11/t21 (استنتاج: مراحل حجز/تنفيذ/سداد الفحصين الأول والثاني).ImagingStudy (نوع الدراسة: OBST_US, GYNA_US, TVS, DOPPLER_TVS, SIS, HSG, MRI, CT, 4D) يحل محل رؤوس ultrasound / ultrasoundobst / ultrasoundgyna / ustv / mrict / hsg وصفوف فحوص ملف العقم، مع حالة (مسودة/معتمد) بدل العلم done.ultrasounddetail وultrasoundobstdetail في موديل واحد FetalScanFinding (سجل لكل جنين) يضم الحقول المشتركة وحقول الثلث الأول، مع تخزين المسح التشريحي كـ JSON أو جدول قيم مرجعي بدلاً من 35+ عموداً مرمزاً.tvs*, hsg*, usn/usaf/usplace, dtvs*, four_d) في جدول واحد imaging_finding_options بعمود domain، مع تصدير القيم من قاعدة التشغيل لا من النسخة الاحتياطية.sonar إلى نظام مرفقات قياسي (Spatie MediaLibrary أو تخزين S3) مع روابط موقعة بدل readfile()، ونقل ملفات upload/sonar وupload/sonarvedio/1 مع الاحتفاظ بالاسم الأصلي وتاريخ الالتقاط والملاحظات.op_4d_list إلى موديل FourDScanBooking بحالة صريحة (Enum) بدل أعلام البتات، وعلاقة hasOne من سجل متابعة الحمل بدل المؤشر العكسي 4d_list_id.gtimage / gtdetail إلى AnnotatedDiagram / DiagramMarker بإحداثيات نسبية (%) وإصلاح إنشاء الجلسات الفارغة، أو إعادة بنائها كمكون Angular Canvas.patientid النصي إلى مفاتيح رقمية، وتحويل التواريخ والقياسات النصية إلى أنواع DATE وDECIMAL، وتوحيد أعلام الحذف (del / tempdelete / deleted) في SoftDeletes، ووسم كل سجل بجدول المصدر لتتبع الازدواجية بين النسختين القديمة والحديثة.