دليل المدرب لقواعد البرنامج¶
إنشاء قواعد السل في CONFIG.
ما هو هذا الدليل؟¶
يعد هذا الدليل بمثابة وثيقة دعم لمدربي أكاديمية DHIS2 لجلسة "قواعد البرنامج". تتبع هذه الجلسة منهج التدريب الأكاديمي القياسي مع
- جلسة تجريبية مباشرة حيث يوضح المدرب ويشرح كيفية إنشاء قواعد البرنامج، و
- جلسة عملية تتضمن تمارين حيث يتمكن المشاركون من إنشاء قواعد البرنامج.
سيساعد هذا الدليل المدرب على الاستعداد للجلسة التجريبية المباشرة. يحتوي قسم "العرض التوضيحي المباشر خطوة بخطوة" على إرشادات تفصيلية لجميع الخطوات التي سيتم توضيحها مع التوضيحات ولقطات الشاشة التي يجب أن يكون من السهل متابعتها. استخدم ذلك عند التحضير للجلسة التجريبية المباشرة.
يوجد أيضًا دليل سريع يسرد الخطوات باختصار شديد والمقصود منه أن يكون دليل بحث أو "ورقة غش" أثناء إجراء العرض التوضيحي، لمساعدة المدرب على تذكر جميع الخطوات وسير العرض التوضيحي.
الأهداف التعليمية لهذه الجلسة¶
الهدف العام من هذه الجلسة هو توضيح كيفية إنشاء قواعد البرنامج في DHIS2 لكل من برامج الأحداث والتعقب (التتبع). الأهداف التفصيلية تشمل:
- تحديد مفهوم قواعد البرنامج
- إنشاء قواعد البرنامج باستخدام المتغيرات والتعبيرات والإجراءات في DHIS2
متطلبات الوقت¶
العرض التجريبي المباشر: 1.5 ساعة
مهمة: 1 ساعة
السياق¶
تسمح لك قواعد البرنامج بإنشاء السلوك الديناميكي لواجهة المستخدم والتحكم فيه في تطبيقي Tracker Capture وEvent Capture. توفر قواعد البرنامج إمكانية تكوين السلوك الديناميكي في البرامج الموجودة في DHIS2 والتي تم تنفيذها على النماذج الورقية من خلال منطق التخطي والتحذيرات والأنماط بالإضافة إلى الملء التلقائي لبعض الحقول.
الاستعدادات¶
قرر كيف تريد تشغيل الجلسة. يطلب منك الدليل التناوب بين تقديم مفهوم القاعدة متبوعًا بإنشاء قاعدة مع المشاركين. من المهم تقييم المشاركين لمعرفة مقدار التوجيه الإضافي الذي يحتاجون إليه لأن هذا الموضوع يمثل مشكلة دائمًا بسبب عدد المفاهيم الجديدة المقدمة بالإضافة إلى رغبة المشاركين في تعلم القواعد المعقدة على الفور. يمكنك إجراء ذلك في النظام التجريبي، حيث تم تكوين كلا البرنامجين لك.
الدليل السريع¶
- قم بإنشاء قاعدة برنامج باستخدام برنامج بطاقة علاج السل
- إخفاء حقل EPTB عندما يكون موقع المرض رئويًا (Pulmonary)
- اختبر القاعدة
توقف - اطلب من المشارك أداء التمرين 1 في دليل المتعلم
-
قم بإنشاء قاعدة برنامج باستخدام برنامج علاج السل
- إذا كان الجنس ذكرا فقم بإخفاء الحامل
- اختبر القاعدة
توقف - اطلب من المشارك أداء التمرين 2 في دليل المتعلم
-
إنشاء قاعدة برنامج باستخدام برنامج السل
- إذا كان الوزن <=5 أو >= 140، قم بعرض رسالة تحذير
- اختبر القاعدة
توقف - اطلب من المشارك أداء التمرين 3 في دليل المتعلم
-
قم بإنشاء قاعدة برنامج باستخدام برنامج بطاقة علاج السل
- إظهار موقع المرض في قسم feedback
- اختبر القاعدة
توقف - اطلب من المشارك أداء التمرين 4 في دليل المتعلم
-
قم بإنشاء قاعدة برنامج باستخدام برنامج بطاقة علاج السل
-
- حساب عمر المريض بناءً على تاريخ الميلاد
- اختبر القاعدة
-
توقف - اطلب من المشارك أداء التمرين 4 في دليل المتعلم
مرجع قواعد البرنامج¶
في الواقع، من الصعب تذكر جميع عوامل تشغيل القواعد والإجراءات التي يمكن استخدامها. من المحتمل أنك ستحتاج إلى الرجوع إلى الوثائق من وقت لآخر لأنه مصدر مفيد فيما يتعلق بأنواع التعبيرات وعوامل التشغيل والإجراءات التي يمكنك استخدامها.
العرض التجريبي المباشر خطوة بخطوة¶
من أجل إنشاء قاعدة للبرنامج، يمكننا اتباع هذه القواعد الإرشادية العامة:
- تصور منطق القاعدة التي تريد إنشاءها
- قم بإنشاء متغير قاعدة برنامج يشير إلى عنصر/سمة البيانات التي ستؤدي إلى تشغيل المنطق الخاص بك
- إنشاء قاعدة برنامج جديدة
- املأ تفاصيل قاعدة البرنامج
- حدد البرنامج
- قم بإدخال اسم ووصف
- قم بتعيين الأولوية إن أمكن
- املأ تفاصيل قاعدة البرنامج
- أدخل تعبير قاعدة البرنامج
- راجع الوثائق للاطلاع على العديد من الأمثلة على العناصر التي يمكن استخدامها داخل التعبير، بالإضافة إلى أمثلة التعبيرات
- تحديد إجراءات قواعد البرنامج
- ارجع إلى الوثائق لمزيد من التفاصيل حول كل إجراء
- امسح ذاكرة التخزين المؤقت واختبر
القاعدة 1 - في المثال الأول، سنقوم بإنشاء قاعدة برنامج لبرنامج السل والتي تخفي عنصر بيانات "موقع EPTB" إذا لم يتم تصنيف مرض السل على أنه مرض خارج الرئة.¶
يجب أن تبدأ هذه الجلسة بتقديم الشرائح 1-4 فقط هنا:
الخطوة 1 - الوصول إلى تطبيق البرنامج والسمات¶
** قم بتسجيل الدخول إلى البيئة الفارغة وانتقل إلى تطبيق الصيانة **

واضغط على البرنامج

ملاحظة: لإنشاء قاعدة برنامج جديدة، قد تحتاج إلى إنشاء متغيرات قاعدة البرنامج أولاً
الخطوة 2 - إنشاء متغير قاعدة البرنامج¶
يمكنك شرح مفهوم المتغير باستخدام الشرائح 6-7
لإنشاء متغير قاعدة برنامج جديد، عليك أولاً إنشاء متغيرات قاعدة البرنامج
انقر على متغير قاعدة البرنامج ثم أضف

- استخدام الكود لمجموعة الخيارات: عندما يستخدم المتغير الخاص بك مجموعة خيارات، فإن هذا يسمح لك بتحديد ما إذا كنت ستستخدم كود مجموعة الخيارات بدلاً من القيمة عند إنشاء تعبيرات قاعدة البرنامج أم لا. غالبًا ما يكون من المفيد استخدام الكود لأنه أقل عرضة للتغيير من القيمة. قد لا ترغب في استخدام الرمز ولكن على سبيل المثال إذا كنت تعرض تغذية راجعة من نوع ما.
- نوع المصدر: يحدد نوع المصدر كيفية تعبئة الحقل المصدر بقيمة. يرجى الرجوع إلى الوثائق للحصول على أحدث المعلومات .
ستستخدم في أغلب الأحيان "data element in current event" أو "Tracked entity attribute" ولكن هناك استخدامات للحقول الأخرى. يمكننا شرحها أكثر في أمثلة إضافية.
الخطوة 3 - إنشاء قاعدة البرنامج¶
لإنشاء قاعدة برنامج جديدة، انقر على قاعدة البرنامج ثم أضف (الرمز “+” **)
أدخل تفاصيل قاعدة البرنامج

لا تقلق بشأن الأولوية في الوقت الحالي. سيتم تغطية هذا في الدورات التدريبية / الأكاديميات الأخرى.
** أدخل تعبير قاعدة البرنامج **
يمكنك الرجوع إلى الشريحتين 8 و9 بشأن التعبيرات وعوامل التشغيل: (https://docs.google.com/presentation/d/1igu8J5ybDOPHJnxMX6n5Ah2gHhL1Ri54v9lX4ZvZGSA/edit#slide=id.g3bdf14aaf4_0_0)
إنشاء تعبير #{TBDiseaseSite_current} == '' || #{TBDiseaseSite_current} == 'الرئوي'
قم باستدعاء عوامل التشغيل من الوثائق الموجودة الآن على طول الصف السفلي وقم بمراجعة معلومات سريعة عما تعنيه هذه العوامل. ستستخدم تعبيرًا يتضمن عوامل التشغيل المنطقية يساوي و**OR**.

قم بإنشاء الإجراء ("إخفاء الحقل" في عنصر بيانات موقع EBTB).
في هذه المرحلة، اشرح الإجراءات المختلفة المتوفرة مرة أخرى.
يمكن الاطلاع على القائمة الكاملة للإجراءات في الوثائق.

** وانقر على COMMIT للحفظ. احفظ قاعدة البرنامج قبل المتابعة.**
الخطوة 3 -اختبار قاعدة البرنامج¶
قد تحتاج إلى مسح ذاكرة التخزين المؤقت أو إعادة التحميل في وضع التصفح المتخفي حتى تعمل القاعدة بشكل صحيح.
** انتقل إلى tracker capture لإظهار القاعدة أثناء العمل **

تسجيل شخص جديد

يمكننا أن نرى على الفور أن القاعدة تعمل، حيث لا توجد قيمة لموقع المرض (disease site) وتم إخفاء عنصر بيانات EPTB site.
اختيار الرئة (Pulmonary) يعطي نفس النتيجة

فقط عندما نختار Extra Pulmonary، يظهر عنصر بيانات EPTB site. هذا هو الإجراء المقصود من القاعدة.

لاحظ أنه إذا قمت بتحديد EPTB site

ومع ذلك، ارجع وقم بتغيير TB Disease site إلى رئوي (Pulmonary)

سوف تحصل على رسالة خطأ تفيد بأنه تم حذف قيمة EPTB Site. المنطق هنا هو أنه ما لم يكن موقع المرض خارج الرئة، فإن قيمة EPTB Site تكون مخفية وبالتالي لا يمكن إدخال قيمة ذات صلة بداخلها.

توقف - اطلب من المشارك أداء التمرين 1 في دليل المتعلم¶
القاعدة 2 - أنشئ قاعدة برنامج لإخفاء سؤال الحمل إذا كان الجنس ذكرًا باستخدام برنامج السل¶
الوصول إلى قواعد البرامج من تطبيق الصيانة → البرنامج
** قم بتسجيل الدخول إلى البيئة الفارغة وانتقل إلى تطبيق الصيانة **

واضغط على البرنامج

** إضافة متغير قاعدة البرنامج الجديد **

قم بإنشاء قاعدة البرنامج
إخفاء سؤال الحمل إذا كان الجنس ذكرا
أدخل تفاصيل قاعدة البرنامج.
في التعبير، نستخدم خيار الذكر من "الجنس" الذي قمنا بإنشائه

اختبر القاعدة مع المشاركين
قم بمسح ذاكرة التخزين المؤقت إذا لزم الأمر، ثم انتقل إلى tracker capture لاختبار القاعدة
يجب أن يكون سؤال الحمل مخفياً إذا كان الجنس ذكراً

ينبغي أن يظهر

توقف - اطلب من المشاركين أداء التمرين 2 في دليل المتعلم¶
القاعدة 3 - قم بإنشاء قاعدة برنامج أخرى لبطاقة علاج السل والتي تعرض رسالة تحذير عندما يكون الوزن خارج النطاق¶
الوصول إلى قواعد البرامج من تطبيق الصيانة → البرنامج
** قم بتسجيل الدخول إلى البيئة الفارغة وانتقل إلى تطبيق الصيانة **

واضغط على البرنامج

** إضافة متغير قاعدة البرنامج الجديد **
الوزن، عنصر البيانات في الحدث الحالي، الوزن (بالكجم)

قم بإنشاء قاعدة البرنامج¶
** تقديم تفاصيل قاعدة البرنامج **

في التعبير، نجمع بين عدة مبادئ لإنشاء مخرجاتنا باستخدام الدالة المخصصة والمشغلين المنطقيين "AND" و"OR" بالإضافة إلى الأقواس لتحديد النطاقات القصوى لقيمة الوزن. نظرًا لأن الوزن هو قيمة عددية، فيمكننا تطبيق منطق مشابه لقاعدة التحقق من الصحة لتحديد القيم التي نعتبرها خارج النطاق. تأكد من شرح كل ما تفعله للمشاركين (لماذا تعتبر الأقواس مهمة لتجميع عناصر القاعدة معًا، ولماذا نستخدم بعض العوامل المنطقية هنا).

** قم بتقديم إجراء قاعدة البرنامج **

اختبر قاعدة البرنامج كما في السابق
** امسح ذاكرة التخزين المؤقت للمتصفح الخاص بك باستخدام تطبيق منظف ذاكرة التخزين المؤقت للمتصفح **

"تحديد الكل" -> مسح

عندما تكون قيمة الوزن خارج النطاق الذي حددته، يجب أن تعرض رسالة تحذير.


عندما يكون الوزن ضمن النطاق الذي حددته، أو عندما لا يكون لعنصر بيانات الوزن قيمة، يجب ألا تظهر أي رسالة تحذير.

توقف - اطلب من المشارك أداء التمرين 3 في دليل المتعلم¶
القاعدة 4 - قم بإنشاء قاعدة برنامج باستخدام بطاقة علاج السل.¶
قم بإظهار موقع المرض في قسم التغذية الراجعة (feedback)
الوصول إلى قواعد البرامج من تطبيق الصيانة → البرنامج
** قم بتسجيل الدخول إلى البيئة الفارغة وانتقل إلى تطبيق الصيانة **

واضغط على البرنامج

** إضافة متغير قاعدة البرنامج الجديد **

نريد أن نرى موقع المرض بغض النظر عن المرحلة التي نستعرضها. يتم التقاط موقع المرض فقط في المرحلة الأولية، لذلك نريد الرجوع إليه لعرض المعلومات الضرورية في الشاشة. هذا مثال على متى يمكننا استخدام حقل مصدر مختلف عما لدينا حتى الآن.
إنشاء القاعدة الجديدة

إنشاء وشرح التعبير. سوف نستخدم دالة تسمى d2:hasValue للتحقق مما إذا كان هناك أي قيمة لعنصر البيانات

** تحديد الإجراء **

بالنسبة للإجراء، سنعرض القيمة التي تم جمعها في قسم التغذية الراجعة.
**اختبر القاعدة. امسح ذاكرة التخزين المؤقت إذا لزم الأمر **

توقف - اطلب من المشارك أداء التمرين 4 في دليل المتعلم¶
القاعدة 5 - قم بإنشاء قاعدة برنامج أخرى لبطاقة علاج السل لتعيين العمر بناءً على تاريخ الميلاد¶
الوصول إلى قواعد البرامج من تطبيق الصيانة → البرنامج
** قم بتسجيل الدخول إلى البيئة الفارغة وانتقل إلى تطبيق الصيانة **

واضغط على البرنامج

** إضافة متغير قاعدة البرنامج الجديد **
متغير قاعدة البرنامج "dateofbirth" مع نوع المصدر "Tracked entity attribute"

قم بإنشاء قاعدة البرنامج
** تقديم تفاصيل قاعدة البرنامج **

في التعبير، سوف نستخدم دالّة عددية. يمكنك توجيه المشاركين إلى الوثائق للحصول على قائمة كاملة بالدوالّ المخصصة المتاحة للمستخدم، حيث لن تتم تغطية الدوالّ الأخرى بالتفصيل هنا. هذا بالأحرى لمنحهم فكرة عما هو ممكن مع هذه الدوالّ.

** قم بتقديم إجراء قاعدة البرنامج **

اختبر قاعدة البرنامج كما في السابق
** امسح ذاكرة التخزين المؤقت للمتصفح الخاص بك باستخدام تطبيق منظف ذاكرة التخزين المؤقت للمتصفح **

"تحديد الكل" -> مسح

تسجيل كيان جديد وإدخال تاريخ الميلاد

بعد إدخال تاريخ الميلاد سيتم حساب العمر
