Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| def evaluate_ocd(q1="لا شيء", q2="لا تعارض", q3="لا شيء", q4="دائماً أحاول", | |
| q5="سيطرة تامة", q6="لا شيء", q7="لا تعارض", q8="لا شيء", | |
| q9="دائما أحاول", q10="سيطرة تامة"): | |
| points = { | |
| q1: {"لا شيء": 1, "أقل من ساعة في اليوم": 2, "1-3 ساعات/ يومياً": 3, "3-8 ساعات/ يومياً": 4, "أكثر من 8 ساعات يومياً": 5}, | |
| q2: {"لا تعارض": 1, "تعارض خفيف": 2, "تعارض واضح": 3, "يسبب خلل في النشاطات اليومية": 4, "تعارض شديد": 5}, | |
| q3: {"لا شيء": 1, "بسيط": 2, "متوسط": 3, "شديد": 4, "دائم ويسبب العجز": 5}, | |
| q4: {"دائماً أحاول": 1, "أحاول معظم الأوقات": 2, "أحاول بعض الأحيان": 3, "نادراً ما أحاول": 4, "لا أحاول نهائياً": 5}, | |
| q5: {"سيطرة تامة": 1, "سيطرة كبيرة": 2, "سيطرة متوسطة": 3, "سيطرة قليلة": 4, "لا سيطرة": 5}, | |
| q6: {"لا شيء": 1, "أقل من ساعة في اليوم": 2, "1-3 ساعات/يومياً": 3, "3-8 ساعات/يومياً": 4, "أكثر من 8 ساعات يومياً": 5}, | |
| q7: {"لا تعارض": 1, "تعارض خفيف": 2, "تعارض واضح": 3, "تسبب خلل كبيرا": 4, "تسبب عجزا كبيرا": 5}, | |
| q8: {"لا شيء": 1, "بسيط عند الامتناع": 2, "متوسط": 3, "شديد": 4, "دائم ويسبب العجز": 5}, | |
| q9: {"دائما أحاول": 1, "أحاول معظم الوقت": 2, "أعمل بعض المحاولات": 3, "استسلم لكل الأفعال": 4, "أستسلم كلية": 5}, | |
| q10: {"سيطرة تامة": 1, "عادة أوقف الأفعال": 2, "أحيانا أستطيع إيقافها": 3, "أستطيع بصعوبة ان أؤخر الأفعال القهريه-لكن يجب القيام بها": 4, "نادرا ما أستطيع تأخير الأفعال": 5}, | |
| } | |
| total = points[q1][q1] + points[q2][q2] + points[q3][q3] + points[q4][q4] + points[q5][q5] + points[q6][q6] + points[q7][q7] + points[q8][q8] + points[q9][q9] + points[q10][q10] | |
| result = round(total / 50 * 10, 1) | |
| if result <= 2: | |
| note = f"إذاً تقييم حالة هذا المريض من 10 هو {result} بناءً على إجابات الاستبيان. يشير هذا إلى اضطراب وسواسي قهري خفيف." | |
| elif result <= 4: | |
| note = f"إذاً تقييم حالة هذا المريض من 10 هو {result} بناءً على إجابات الاستبيان. يشير هذا إلى اضطراب وسواسي قهري متوسط الشدة." | |
| elif result <= 6: | |
| note = f"إذاً تقييم حالة هذا المريض من 10 هو {result} بناءً على إجابات الاستبيان. يشير هذا إلى اضطراب وسواسي قهري شديد." | |
| else: | |
| note = f"إذاً تقييم حالة هذا المريض من 10 هو {result} بناءً على إجابات الاستبيان. يشير هذا إلى اضطراب وسواسي قهري شديد جدًا." | |
| return f"النتيجة: {result}\n{note}" | |
| interface= gr.Interface( | |
| fn=evaluate_ocd, | |
| inputs=[ | |
| gr.components.Radio(choices=["لا شيء","أقل من ساعة في اليوم","1-3 ساعات/ يومياً","3-8 ساعات/ يومياً","أكثر من 8 ساعات يومياً"], label="الوقت المستغرق في الوسوسة"), | |
| gr.components.Radio(choices=["لا تعارض","تعارض خفيف","تعارض واضح","يسبب خلل في النشاطات اليومية","تعارض شديد"], label="مدى تعارض الوسوسة مع الأنشطة اليومية"), | |
| gr.components.Radio(choices=["لا شيء","بسيط","متوسط","شديد","دائم ويسبب العجز"], label="مدى الضيق بسبب الأفكار الوسواسية"), | |
| gr.components.Radio(choices=["دائماً أحاول","أحاول معظم الأوقات","أحاول بعض الأحيان","نادراً ما أحاول","لا أحاول نهائياً"], label="مدى مقاومة الوسوسة"), | |
| gr.components.Radio(choices=["سيطرة تامة","سيطرة كبيرة","سيطرة متوسطة","سيطرة قليلة","لا سيطرة"], label="مدى القدرة على التحكم بالوسوسة"), | |
| gr.components.Radio(choices=["لا شيء","أقل من ساعة في اليوم","1-3 ساعات/يومياً","3-8 ساعات/يومياً","أكثر من 8 ساعات يومياً"], label="الوقت المستغرق في الأفعال القهرية"), | |
| gr.components.Radio(choices=["لا تعارض","تعارض خفيف","تعارض واضح","تسبب خلل كبيرا","تسبب عجزا كبيرا"], label="مدى تعارض الأفعال القهرية مع الحياة اليومية"), | |
| gr.components.Radio(choices=["لا شيء","بسيط عند الامتناع","متوسط","شديد","دائم ويسبب العجز"], label="مدى الضيق عند امتناع الأفعال القهرية"), | |
| gr.components.Radio(choices=["دائما أحاول","أحاول معظم الوقت","أعمل بعض المحاولات","استسلم لكل الأفعال","أستسلم كلية"], label="مقدار الجهد في مقاومة الأفعال القهرية") , | |
| gr.components.Radio(choices=["سيطرة تامة","عادة أوقف الأفعال","أحيانا أستطيع إيقافها","أستطيع بصعوبة ان أؤخر الأفعال القهريه-لكن يجب القيام بها","نادرا ما أستطيع تأخير الأفعال"], label="مدى السيطرة على الأفعال القهرية"), | |
| ], | |
| outputs= gr.components.Label() | |
| ) | |
| interface.launch(share=True) |