File size: 6,119 Bytes
33e5216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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)