🧫

ملحق: معمل الأجنة والتجميد (MED: Embryology Lab & Cryo)

يوثّق هذا الملحق منظومة معمل الأجنة الكاملة (Full IVF wet-lab) المكتشفة في نسخة المركز/المستشفى med.greennature.com.sa، والتي كانت غائبة تمامًا عن النسخة الأصلية المحلّلة (312 جدولًا). النسخة الأصلية اكتفت بورقة سريرية مسطّحة واحدة ivfsheet وجداول السائل المنوي semen/icsisemen، بينما تضيف نسخة المركز سلسلة عمليات معمليّة متكاملة: سحب البويضات، زراعة الأجنة وتقييمها (Grading يوم 2→6)، تجميد الأجنة والحيوانات المنوية وإذابتها، ومخزون خزّانات النيتروجين (Tanks/Canisters/Positions) مع سجل سلسلة عُهدة (Chain of Custody) وشهادة طرفين (Witnessing).

7وحدات تحكّم معمليّة جديدة
~50جدول جديد مستنتَج
3أنماط خزّانات (200/100/300 خلية)
2نموذجا تخزين كرايو متوازيان

نطاق الملف ومصادر التحليل (Source Controllers)

نموذج مخزون الخزّانات (Cryo Tank Inventory)

يوجد نموذجان متوازيان للتخزين الكرايو يتحكّم في اختيارهما الإعداد programesetting.tanks_view (القيمة 1 أو 2)؛ ويُظهر الإعداد awusers.tanks_settings أزرار الخزّان لكل مستخدم.

النموذج الأول: شبكة ثلاثية المستوى لكل خزّان (tanks / tankcells)

عند إنشاء خزّان في tanks.php يُولِّد النظام كل الخلايا مسبقًا داخل حلقة ثلاثية حسب tank_type:

tank_typeالمستوى الأول up_level_nameالمستوى الثاني cell_nameالموضع cell_part_nameإجمالي الخلايا
1 (Cane)1..101..201..51000 (يُعرض كـ 20)
21..101..201..51000 (يُعرض كـ 100)
31..101..301..103000 (يُعرض كـ 300)

كل خلية tankcells تحمل patient_id؛ القيمة 0 تعني خلية فارغة. الحجز يتم بـ saveTankLabCell() الذي يضبط patient_id ويُسجّل في سجل العُهدة. العرض في cells() يجمع الامتلاء على ثلاثة مستويات (Level → Canister → Position).

النموذج الثاني: مواقع ثابتة بالألوان (tanks_general / embryoslab_tank_cells)

نموذج بديل (عندما tanks_view = 1) يقسّم الخزّان إلى موقعين location = "A"/"B"، كل موقع 21 زرًّا btn_no، وكل زر شبكة row_no/col_no/cell_no. تُخزَّن الخلية المحجوزة في embryoslab_tank_cells بمعرّف نصّي مركّب tank_cell = location_btn_row_col_cell (مثال A_3_2_1_4). جدول tanks_general يحمل 9 ألوان لكل صف (row1_color..row9_color) مرتبطة بجدول colors (الاسم color_name والحرف color_letter) لترميز المرضى بصريًا.

سلسلة العُهدة والشهادة (Chain of Custody & Witnessing)

سير العمل من البداية للنهاية (End-to-End Workflows)

  1. سحب البويضات OPUovumpickup: التاريخ، الاستشاري consultant، طبيب التخدير anaesthetist، التمريض nurse، العملية، علاج ما بعد العملية، المضاعفات. يصاحبه تقرير متابعة followup_operation (ut_cx, avf_rvf, easy_difficult, postoperative, complications).
  2. تحليل/معالجة السائل المنويembryologyreport (count, motility, morphology, sperm_source) ومراجع sperum_source, semen_process.
  3. إنشاء الورقة المعمليّةembryoslab برأس واحد لكل مريض (not_confirm=0 مسودّة → 1 مؤكَّدة)، مع وسط الزراعة media/oil/incubator (قوائم مفصولة بفواصل) وvisit_id.
  4. التقييم اليومي Gradingembryoscoring صف لكل جنين (itr) وأعمدة لكل يوم 1..6: media1..6, oil1..6, incubator1..6, embrologist1..6 + المرحلة stage والدرجة grade. عدد الصفوف يُشتق من عدد المخصّبات fertilizedData().
  5. اختيار الجنس/الانتقاءembryoselection (مرتبط بـ embryoslab_id، مراجع embryo_result, embryo_emb).
  6. الإرجاع ETembryotransfer (صف واحد لكل ورقة): clinician_id, embryologist_id, et_day + قسطرة/صعوبة/دم/مكان (embryocathetertype, embryodifficulty, embryoblood, embryojetplace, embryolah, embryotype). كما يوجد إرجاع مستقل embryotransferovum.
  7. تجميد الأجنةembryofreezingreport (no_of_straws, no_of_embryos, day_of_freezing, kit, device, lot_no, location) + صفوف embryo (6 مراحل/درجات لكل قشّة) + إذابة embryothawing (recovered, lost, e_t_date, cathetr).
  8. تجميد الحيوانات المنويةspermfreezingreport (count, motility, a_plus_b, morphology_abn, samples_no, freezing_media_id, freezing_protocol_id, purpose_of_freezing, color_of_pen, embryologist1/2, location).
  9. الحجز في الخزّان — ربط أي تقرير بموقع كرايو عبر أحد نموذجي التخزين، وتسجيل الحركة في tankcellhistory.

جدول الكيانات المستنتَجة (Inferred Entities)

الجدولجديد/معروفالغرضأهم الحقول المستنتجةالعلاقات
tanksجديدخزّان نيتروجينname, tank_type (1/2/3)1→N tankcells
tankcellsجديدخلية تخزين مُولَّدة مسبقًاtank_id, up_level_name, cell_name, cell_part_name, patient_id, created_atN→1 tanks, → patients
tankcellhistoryجديدسجل عُهدة الخلاياtank_id, cell_id, patient_id, action_type, done_date, by_user_idtankcells, awusers
tanks_generalجديدمواقع الخزّان البديلة بالألوانlocation(A/B), btn_no, rows_letter, row1_color..row9_colorcolors
embryoslab_tank_cellsجديدحجز خلية لورقة معمليّةembryoslab_id, location, btn_no, row_no, col_no, cell_no, tank_cell, user_id, date_add, userid_edit, date_edit, deletedN→1 embryoslab, → tanks_general
colorsجديدترميز لوني للمرضىcolor_name, color_letterمرجع لـ tanks_general
embryoslabجديدالورقة المعمليّة الرئيسيةpatient_id, visit_id, not_confirm, clinician_id, referred_dr_id, media, oil, incubator, injection_embrologist, icsi_by, embryologist_id, freeze_embryologist_id, cancelled, cancelled_user, dateأب لمعظم جداول المعمل
embryoscoringجديدتقييم الجنين يوم2→يوم6embryoslab_id, itr, stage/grade, media1..6, oil1..6, incubator1..6, embrologist1..6, deletedN→1 embryoslab, → stage,grade
embryoselectionجديدانتقاء/اختيار الجنينembryoslab_id, deletedembryo_result, embryo_emb
embryotransferجديدإرجاع الأجنة ET (من الورقة)embryoslab_id, clinician_id, embryologist_id, embryologist_id_tb, et_day, catheter/difficulty/blood/jet1→1 embryoslab
embryotransferovumجديدإرجاع مستقل (OPU flow)patientid, date, day, consultant, nurse, embryologist, no_of_embryos, quality, notespatients
ovumpickupجديدسحب البويضات OPUpatientid, date, consultant, anaesthetist, nurse, operation, postoperative, complicationspatients
followup_operationجديدمتابعة عملية الـ OPUpatient_id, nurse_id, anaesthetist_id, clinician_id, embryologist_id, ut_cx, avf_rvf, easy_difficult, postoperative, complications, datepatients, awusers
embryofreezingreportجديدتقرير تجميد الأجنةpatient_id, date, embryologist, ref_by_prof_dr, no_of_straws, no_of_embryos, day_of_freezing, kit, device, lot_no, location, completed, deleted1→N embryo, embryothawing
embryoجديدقشّة جنين مُجمَّدةembryofreezing_id, stage1..6, grade1..6N→1 embryofreezingreport
embryothawingجديدإذابة الأجنةembryofreezing_id, no_of_embryos, thawing_date, recovered, lost, e_t_date, embryos, grades, embryol_oigist, clinician, cathetrN→1 embryofreezingreport
spermfreezingreportجديدتقرير تجميد الحيوانات المنويةpatient_id, date, sperm_source, count, motility, a_plus_b, morphology_abn, samples_no, freezing_media_id, freezing_protocol_id, purpose_of_freezing, color_of_pen, embryologist1, embryologist2, locationfreezingmedia, freezingprotocol
embryologyreportجديدتحليل السائل المنوي المعمليpatient_id, date, sperm_source, count, motility, morphologypatients
freezingmedia / freezingprotocolجديدقوائم وسط/بروتوكول التجميدmedia / protocolمرجع لـ spermfreezingreport
stage / gradeجديدمراحل ودرجات الجنينstage / grade, deletedمراجع للتقييم والتجميد
growthmedia, growthoil, growthincubator, growthco2جديدقوائم بيئة الزراعةname, deletedمراجع لـ embryoslab/embryoscoring
oocytequality, oocytezona, oocytecytoplasm, oocytepvs, oocyteotherجديدقوائم تقييم البويضةname, deletedمراجع لـ embryoslab
embryocathetertype, embryodifficulty, embryoblood, embryojetplace, embryolah, embryotypeجديدقوائم الإرجاع ETnameمراجع لـ embryotransfer
embryo_device, embryo_result, embryo_emb, embryo_lot_select, embryo_catheter_select, embryo_tank, embryo_kit_typeجديدقوائم مساعدة للمعملname, deletedمراجع متفرّقة
embryologistجديدأخصائيو أجنة خارج المستخدمينname, deletedيُدمج مع awusers role 11
sperum_source, semen_processجديدقوائم مصدر/معالجة السائل المنويname, deletedمراجع لـ embryoslab
kit, device, cathetrجديدمستهلكات التجميد/الإرجاعkit / device / cathetr, deletedمراجع للتقارير
detectionsجديدتصنيف زيارات الأجنة (for_embryo)for_embryo, delيربط embryoslab.visit_id
ivfsheet, semen, icsisemenمعروفأوراق IVF السريرية الأصلية المسطّحةبديلة/سابقة لمنظومة المعمل الجديدة

ملاحظات على جودة البيانات والأمان (Data Quality & Security)

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