File size: 9,637 Bytes
a0c69c3
 
02c133e
3b32444
871378f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
02c133e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3b32444
 
 
 
 
dc207d7
871378f
 
 
3b32444
 
871378f
dc207d7
3b32444
871378f
cdb2eb0
3b32444
a0c69c3
02c133e
 
 
 
 
 
 
71d165d
2a6b818
e6a50e7
02c133e
 
e6a50e7
 
02c133e
 
 
a0c69c3
e5e542e
dc207d7
cfeafdc
2a6b818
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
import gradio as gr

# Dictionary y'indwara 50 hamwe na symptoms na treatments
indwara_dict = {
    "Cancer": {
        "symptoms": ["umuriro", "kubabara umutwe", "gucika intege"],
        "treatment": "Kubagwa, chemotherapy, radiotherapy"
    },
    "Diabetes": {
        "symptoms": ["inyota nyinshi", "gucika intege", "kugabanuka k'ibiro"],
        "treatment": "Insulin, imiti yo kugenzura isukari mu maraso"
    },
    "Flu": {
        "symptoms": ["umuriro", "umutwe", "gukorora"],
        "treatment": "Kuruhuka, imiti yo kugabanya umuriro nka paracetamol"
    },
    "COVID-19": {
        "symptoms": ["umuriro", "guhumeka nabi", "kuruha", "kubura impumuro"],
        "treatment": "Kuruhuka, gufata amazi menshi, imiti y’ibanze, kubonana na muganga"
    },
    "Malaria": {
        "symptoms": ["umuriro", "gucika intege", "kubira ibyuya"],
        "treatment": "Artemisinin-based combination therapy (ACT)"
    },
    "Tuberculosis": {
        "symptoms": ["inkorora ikomeye", "umuriro", "gucika intege"],
        "treatment": "Isoniazid, rifampicin, pyrazinamide, ethambutol"
    },
    "Asthma": {
        "symptoms": ["guhumeka nabi", "kubura umwuka", "gukorora"],
        "treatment": "Inhalers (bronchodilators, corticosteroids)"
    },
    "Hypertension": {
        "symptoms": ["umutwe", "gukorora umutwe", "kuribwa mu mutima"],
        "treatment": "Imiti igabanya umuvuduko w’amaraso nka ACE inhibitors, beta blockers"
    },
    "Stroke": {
        "symptoms": ["kuribwa umutwe ukabije", "kubura ubushobozi bwo kugenda", "kudakora neza kw’uruhande rumwe rw’umubiri"],
        "treatment": "Muganga hakenewe kwihutirwa, imiti ishinzwe kugabanya amaraso, kuboneza umuvuduko"
    },
    # Hano hari izindi 40 zumvikana (ngwino ngerageze)
    "Bronchitis": {
        "symptoms": ["inkorora", "kubabara mu gituza", "guhumeka nabi"],
        "treatment": "Kuruhuka, imiti y’inkorora, antibiotics niba ari bacterial"
    },
    "Pneumonia": {
        "symptoms": ["inkorora ikomeye", "umuriro", "guhumeka nabi"],
        "treatment": "Antibiotics, kuruhuka, gufata amazi menshi"
    },
    "Migraine": {
        "symptoms": ["kubabara umutwe ukabije", "kumva urusaku cyane", "guhumeka nabi"],
        "treatment": "Iminsi y’ikiruhuko, imiti yo kugabanya ububabare nka ibuprofen"
    },
    "Depression": {
        "symptoms": ["guhangayika", "kubura ubushake bwo gukora", "kwiheba"],
        "treatment": "Psychotherapy, imiti nka antidepressants"
    },
    "Anxiety": {
        "symptoms": ["guhangayika cyane", "umutima guhagarara vuba", "kubura ibitotsi"],
        "treatment": "Psychotherapy, imiti yo kugabanya guhangayika"
    },
    "Arthritis": {
        "symptoms": ["ububabare mu ngingo", "kubura umuvuduko mu ngingo", "kugabanya imbaraga"],
        "treatment": "Anti-inflammatory drugs, physiotherapy"
    },
    "Allergy": {
        "symptoms": ["kuribwa umutwe", "kuribwa mu mazuru", "guhumeka nabi"],
        "treatment": "Antihistamines, avoiding allergens"
    },
    "Appendicitis": {
        "symptoms": ["kubabara mu nda y'ibumoso", "umuriro", "gucika intege"],
        "treatment": "Kubagwa"
    },
    "Gastritis": {
        "symptoms": ["kubabara mu nda", "kuribwa umutima", "kuribwa mu gatuza"],
        "treatment": "Imiti yo kugabanya aside mu nda"
    },
    "Hepatitis": {
        "symptoms": ["kunyeganyega", "kubabara mu gatuza", "guhinduka ibara ry'uruhu"],
        "treatment": "Kuruhuka, imiti yihariye"
    },
    "Kidney Stones": {
        "symptoms": ["ububabare mu nda", "kuruka", "kugira umuriro"],
        "treatment": "Amazi menshi, kubagwa niba bikomeye"
    },
    "Chickenpox": {
        "symptoms": ["ibisebe ku ruhu", "umuriro", "gucika intege"],
        "treatment": "Kuruhuka, imiti yo kugabanya ububabare"
    },
    "Eczema": {
        "symptoms": ["kubabara uruhu", "gusohoka imyanda", "gucika intege"],
        "treatment": "Creams za corticosteroids, moisturizing"
    },
    "Food Poisoning": {
        "symptoms": ["kuruka", "impiswi", "umuriro"],
        "treatment": "Amazi menshi, imiti yo kugabanya impiswi"
    },
    "Sinusitis": {
        "symptoms": ["kubabara umutwe", "kubabara mu mazuru", "gukorora"],
        "treatment": "Antibiotics, kuruhuka"
    },
    "Conjunctivitis": {
        "symptoms": ["ijisho rirabura", "kubabara ijisho", "gusohora amavuta"],
        "treatment": "Antibiotic eye drops"
    },
    "Gout": {
        "symptoms": ["ububabare mu ngingo", "kubura ubushobozi bwo kugenda", "kubyimba"],
        "treatment": "Anti-inflammatory drugs"
    },
    "Obesity": {
        "symptoms": ["kugabanuka kw’imbaraga", "ibiro byinshi", "kunanirwa guhumeka neza"],
        "treatment": "Imirire iboneye, imyitozo ngororamubiri"
    },
    "Osteoporosis": {
        "symptoms": ["ububabare mu ngingo", "gucika intege", "kugira amagufa yoroshye"],
        "treatment": "Calcium supplements, vitamin D"
    },
    "Psoriasis": {
        "symptoms": ["uruhu rucyeye", "gukorora", "imyanda ku ruhu"],
        "treatment": "Creams za corticosteroids"
    },
    "Sleep Apnea": {
        "symptoms": ["kubura umwuka mu gihe cyo kuryama", "kuryama nabi", "kuribwa umutwe"],
        "treatment": "CPAP machine, kugabanya ibiro"
    },
    "Ulcers": {
        "symptoms": ["kubabara mu nda", "kuribwa umutima", "kunanirwa kurya"],
        "treatment": "Imiti yo kugabanya aside, kurya neza"
    },
    "Varicose Veins": {
        "symptoms": ["kubyimba mu maguru", "kuribwa amaguru", "kumva uburemere"],
        "treatment": "Compression stockings, exercise"
    },
    "Alzheimer's Disease": {
        "symptoms": ["kubura ubushobozi bwo kwibuka", "guhinduka imyitwarire", "kugabanuka kw’ubushobozi bwo gutekereza"],
        "treatment": "Imiti ifasha ubwonko, psychotherapy"
    },
    "Parkinson's Disease": {
        "symptoms": ["gucika intege", "gukorora", "kunanirwa kugenda neza"],
        "treatment": "Levodopa, physiotherapy"
    },
    "Epilepsy": {
        "symptoms": ["guterura", "kubura ubushobozi bwo kugenzura umubiri", "kurwara umutwe ukabije"],
        "treatment": "Antiepileptic drugs"
    },
    "HIV/AIDS": {
        "symptoms": ["gucika intege", "kubura ibiro", "umuriro udakira"],
        "treatment": "Antiretroviral therapy (ART)"
    },
    "Cholera": {
        "symptoms": ["impiswi nyinshi", "kunyeganyega", "gucika intege"],
        "treatment": "Amazi y’ibanze, imiti yo kongera amazi mu mubiri"
    },
    "Dengue": {
        "symptoms": ["umuriro ukabije", "kubabara amagufa", "kunanirwa"],
        "treatment": "Kuruhuka, imiti yo kugabanya ububabare"
    },
    "Meningitis": {
        "symptoms": ["kubabara umutwe ukabije", "umuriro", "kubura ubushobozi bwo kwibuka"],
        "treatment": "Antibiotics, kuruhuka"
    },
    "Polio": {
        "symptoms": ["kunanirwa kugenda", "gucika intege", "kubabara amaguru"],
        "treatment": "Kugororwa, imiti yunganira"
    },
    "Rabies": {
        "symptoms": ["gukorora", "kubabara umutwe", "gucika intege"],
        "treatment": "Vaccine, kurwanya ubwandu"
    },
    "Scabies": {
        "symptoms": ["kubabara uruhu", "gukorora", "imyanda ku ruhu"],
        "treatment": "Creams za permethrin"
    },
    "Tuberculosis (TB)": {
        "symptoms": ["inkorora ikomeye", "umuriro", "gucika intege"],
        "treatment": "Isoniazid, rifampicin, pyrazinamide, ethambutol"
    },
    "Typhoid": {
        "symptoms": ["umuriro", "kubabara mu nda", "kunanirwa"],
        "treatment": "Antibiotics"
    },
    "Urinary Tract Infection": {
        "symptoms": ["kubabara igihe uciye mu nkari", "umuriro", "gucika intege"],
        "treatment": "Antibiotics"
    },
    "Whooping Cough": {
        "symptoms": ["inkorora ikabije", "kubabara umutwe", "umuriro"],
        "treatment": "Antibiotics, kuruhuka"
    },
    "Zika Virus": {
        "symptoms": ["umuriro", "kubabara amagufa", "gucika intege"],
        "treatment": "Kuruhuka, gufata amazi menshi"
    },
}

def susuzuma_indwara(ibimenyetso):
    ibimenyetso = [i.strip().lower() for i in ibimenyetso.split(',')]
    indwara_ishoboka = []

    for indwara, data in indwara_dict.items():
        symptoms = data["symptoms"]
        treatment = data["treatment"]
        count = sum(symptom in ibimenyetso for symptom in symptoms)
        if count >= len(symptoms) / 2:
            indwara_ishoboka.append(f"{indwara} (ibimenyetso bihuye: {count} / {len(symptoms)})\nImiti: {treatment}")

    if indwara_ishoboka:
        return "Indwara ishoboka hamwe n'imiti:\n\n" + "\n\n".join(indwara_ishoboka)
    else:
        return "Ntibishoboka kumenya indwara ishingiye ku bimenyetso watanze. Nyamuneka saba muganga."

with gr.Blocks(css="""
    body {background-color: #e0f7e9;}
    .gradio-container {border-radius: 15px; box-shadow: 0 8px 16px rgba(0, 128, 0, 0.3);}
    h2, h3 {color: #2e7d32; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}
    .gr-button {background-color: #43a047; color: white; border-radius: 12px; font-weight: bold;}
    .gr-button:hover {background-color: #2e7d32;}
""") as iface:
    gr.Markdown("## 🏥 VIATEUR AI Kwamuganga\n### Saba ubufasha bwo gusuzuma indwara ukurikije ibimenyetso byawe")

    gr.Image(
        value="https://media.giphy.com/media/xT0BKqhdlKCxCNsVTq/giphy.gif",
        label="Uragana kwa Muganga"
    )

    textbox = gr.Textbox(lines=3, placeholder="Andika ibimenyetso byawe (urugero: umuriro, umutwe, gukorora)", label="Ibimenyetso")
    output = gr.Textbox(label="Indwara Ishoboka n'Imiti", lines=15)
    submit_btn = gr.Button("Ohereza")

    submit_btn.click(fn=susuzuma_indwara, inputs=textbox, outputs=output)

iface.launch()