Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from reportlab.lib.pagesizes import letter | |
| from reportlab.pdfgen import canvas | |
| from datetime import datetime | |
| import os | |
| os.environ["STREAMLIT_WATCHER_DISABLE_MODULES"] = "True" | |
| st.set_page_config(page_title="نموذج بيانات الرجل", layout="wide") | |
| st.title("🏥 نموذج استبيان الرجل") | |
| st.header("المعلومات العامة") | |
| الاسم = st.text_input("الاسم") | |
| العمر = st.number_input("العمر", min_value=0, max_value=120) | |
| تاريخ_الميلاد = st.date_input("تاريخ الميلاد") | |
| البريد_الإلكتروني = st.text_input("البريد الإلكتروني") | |
| العنوان = st.text_input("العنوان") | |
| المدينة = st.text_input("المدينة") | |
| المحافظة = st.text_input("المحافظة") | |
| الرمز_البريدي = st.text_input("الرمز البريدي") | |
| st.header("معلومات الاتصال") | |
| الهاتف_المنزلي = st.text_input("الهاتف (المنزل)") | |
| الهاتف_المحمول = st.text_input("الهاتف (المحمول)") | |
| الهاتف_العمل = st.text_input("الهاتف (العمل)") | |
| st.header("معلومات الطوارئ") | |
| اسم_الطوارئ = st.text_input("اسم جهة الاتصال في حالة الطوارئ") | |
| العلاقة = st.text_input("العلاقة") | |
| طوارئ_منزل = st.text_input("هاتف الطوارئ (المنزل)") | |
| طوارئ_جوال = st.text_input("هاتف الطوارئ (الجوال)") | |
| طوارئ_عمل = st.text_input("هاتف الطوارئ (العمل)") | |
| st.header("الخلفية الجينية") | |
| الخلفية_الجينية = st.multiselect("اختر خلفيتك الجينية", [ | |
| "أفريقي أمريكي", "إسباني", "متوسطي", "آسيوي", | |
| "أمريكي أصلي", "قوقازي", "أوروبي شمالي", "أخرى" | |
| ]) | |
| st.header("التغذية") | |
| أنظمة_غذائية = st.multiselect("هل تتبع أي من الأنظمة الغذائية التالية؟", [ | |
| "نباتي", "نباتي صارم", "إزالة الحساسيات", "منخفض الدهون", | |
| "منخفض الكربوهيدرات", "عالي البروتين", "حسب فصيلة الدم", | |
| "منخفض الصوديوم", "بدون ألبان", "بدون قمح", "خالي من الغلوتين", "أخرى" | |
| ]) | |
| حساسية_غذائية = st.radio("هل لديك حساسيات من أطعمة معينة؟", ["نعم", "لا"]) | |
| st.text_area("إذا كانت الإجابة نعم، اذكر الطعام والأعراض") | |
| كره_أطعمة = st.radio("هل لديك نفور من بعض الأطعمة؟", ["نعم", "لا"]) | |
| st.text_area("إذا كانت الإجابة نعم، فسر") | |
| ردود_فعل = st.multiselect("هل لديك ردود فعل سلبية على أي مما يلي؟", [ | |
| "الغلوتامات أحادية الصوديوم (MSG)", "المحليات الصناعية", "الثوم/البصل", | |
| "الجبن", "الحمضيات", "الشوكولاتة", "الكحول", "النبيذ الأحمر", | |
| "أطعمة تحتوي على الكبريت", "المواد الحافظة", "ملونات الطعام", "أخرى" | |
| ]) | |
| شهوة_الطعام = st.radio("هل تشتهي أو تتناول كميات كبيرة من أطعمة معينة؟", ["نعم", "لا"]) | |
| st.text_input("إذا كانت الإجابة نعم، ما هي الأطعمة؟") | |
| وجبات_يومية = st.radio("هل تأكل ٣ وجبات في اليوم؟", ["نعم", "لا"]) | |
| عدد_الوجبات = st.text_input("إذا كانت الإجابة لا، كم وجبة؟") | |
| تخطي_وجبات = st.radio("هل يؤثر تخطي وجبة بشكل كبير عليك؟", ["نعم", "لا"]) | |
| عدد_الوجبات_الخارج = st.selectbox("كم مرة تتناول وجبات خارج المنزل في الأسبوع؟", [ | |
| "0-1", "1-3", "3-5", "أكثر من 5 مرات" | |
| ]) | |
| عادات_غذائية = st.multiselect("ما العوامل التي تنطبق على نمطك الغذائي الحالي؟", [ | |
| "آكل بسرعة", "آكل كثيرًا", "أكل ليلي متأخر", "أكره الأطعمة الصحية", | |
| "قصر الوقت", "أسافر كثيرًا", "أكثر من 50% من الوجبات خارج المنزل", | |
| "صعوبة توفر الأطعمة الصحية", "اختيارات خفيفة غير صحية", | |
| "أفراد الأسرة لا يحبون الأطعمة الصحية", "لديهم احتياجات غذائية خاصة", | |
| "أحب الأكل", "آكل لأنني مضطر", "علاقة سلبية مع الطعام", | |
| "أعاني من مشاكل في الأكل", "آكل بسبب المشاعر", "آكل كثيرًا عند التوتر", | |
| "آكل قليلًا عند التوتر", "لا أحب الطبخ", "مشوش بشأن النصائح الغذائية" | |
| ]) | |
| st.header("النظام الغذائي") | |
| st.text_input("الفطور") | |
| st.text_input("الغداء") | |
| st.text_input("العشاء") | |
| st.text_input("الوجبات الخفيفة") | |
| st.text_input("السوائل") | |
| تناول_الأطعمة = st.text_area("كم عدد الحصص التي تتناولها في الأسبوع من هذه الأطعمة؟") | |
| st.header("الكافيين") | |
| كافيين = st.radio("هل تشرب مشروبات تحتوي على كافيين؟", ["نعم", "لا"]) | |
| if كافيين == "نعم": | |
| st.selectbox("القهوة (أكواب يوميًا)", ["1", "2-4", "أكثر من 4"]) | |
| st.selectbox("الشاي (أكواب يوميًا)", ["1", "2-4", "أكثر من 4"]) | |
| st.selectbox("مشروبات غازية تحتوي كافيين (علب يوميًا)", ["1", "2-4", "أكثر من 4"]) | |
| رد_فعل_كافيين = st.radio("هل لديك ردود فعل سلبية من الكافيين؟", ["نعم", "لا"]) | |
| st.text_area("إذا كانت الإجابة نعم، فسر") | |
| شعور_مع_كافيين = st.multiselect("عند شرب الكافيين، هل تشعر بـ:", [ | |
| "توتر/انزعاج", "آلام", "تغير المزاج" | |
| ]) | |
| st.header("التدخين") | |
| يدخن = st.radio("هل تدخن حاليًا؟", ["نعم", "لا"]) | |
| st.text_input("عدد العلب يوميًا:") | |
| st.text_input("عدد السنوات:") | |
| نوع_تدخين = st.multiselect("ما النوع؟", ["سجائر", "بدون دخان", "بايب", "سيجار", "سجائر إلكترونية"]) | |
| محاولة_الإقلاع = st.radio("هل حاولت الإقلاع؟", ["نعم", "لا"]) | |
| st.text_input("إذا كانت الإجابة نعم، ما الطرق؟") | |
| دخن_سابقًا = st.radio("هل كنت تدخن سابقًا؟", ["نعم", "لا"]) | |
| st.text_input("عدد العلب يوميًا سابقًا:") | |
| st.text_input("عدد السنوات سابقًا:") | |
| تعرض_للدخان = st.radio("هل تتعرض للدخان الثانوي بانتظام؟", ["نعم", "لا"]) | |
| st.header("الكحول") | |
| كمية_الكحول = st.selectbox("كم مشروب كحولي تتناول أسبوعيًا؟", ["1-3", "4-6", "7-10", "أكثر من 10", "لا شيء"]) | |
| تناول_سابق = st.selectbox("هل كنت تتناول الكحول؟", ["نعم - خفيف", "نعم - متوسط", "نعم - كثير", "لا"]) | |
| مشكلة_كحول = st.radio("هل واجهت مشاكل مع الكحول؟", ["نعم", "لا"]) | |
| st.text_input("إذا كانت الإجابة نعم، متى؟") | |
| st.text_area("اشرح المشكلة:") | |
| تفكير_بالمساعدة = st.radio("هل فكرت بالحصول على مساعدة؟", ["نعم", "لا"]) | |
| st.header("المواد الأخرى") | |
| يستخدم_مواد = st.radio("هل تستخدم مواد ترفيهية؟", ["نعم", "لا"]) | |
| st.text_input("إذا كانت الإجابة نعم، ما النوع؟") | |
| استخدم_IV = st.radio("هل استخدمت مواد بالحقن أو الاستنشاق؟", ["نعم", "لا"]) | |
| st.header("التوتر") | |
| توتر_مفرط = st.radio("هل تشعر أن حياتك مليئة بالتوتر؟", ["نعم", "لا"]) | |
| تعامل_مع_توتر = st.radio("هل يمكنك التعامل بسهولة مع التوتر؟", ["نعم", "لا"]) | |
| st.slider("ما مدى توترك من العمل؟", 1, 10) | |
| st.slider("ما مدى توترك من العائلة؟", 1, 10) | |
| st.slider("ما مدى توترك من الأمور الاجتماعية؟", 1, 10) | |
| st.slider("ما مدى توترك من المال؟", 1, 10) | |
| st.slider("ما مدى توترك من صحتك؟", 1, 10) | |
| st.slider("ما مدى توترك من أمور أخرى؟", 1, 10) | |
| تقنيات_استرخاء = st.radio("هل تستخدم تقنيات استرخاء؟", ["نعم", "لا"]) | |
| if تقنيات_استرخاء == "نعم": | |
| st.text_input("كم مرة؟") | |
| st.multiselect("ما التقنيات التي تستخدمها؟", ["تأمل", "تنفس", "تاي تشي", "يوغا", "صلاة", "أخرى"]) | |
| استشارة_نفسية = st.radio("هل سبق واستشرت طبيبًا نفسيًا؟", ["نعم", "لا"]) | |
| حالياً_في_علاج = st.radio("هل أنت في علاج نفسي الآن؟", ["نعم", "لا"]) | |
| st.text_area("إذا كانت الإجابة نعم، صف ذلك:") | |
| تعرض_لصدمة = st.radio("هل تعرضت لصدمة أو اعتداء؟", ["نعم", "لا"]) | |
| st.text_area("ما هي هواياتك أو أنشطتك الترفيهية؟") | |
| st.header("العلاقات") | |
| st.selectbox("الحالة الاجتماعية", ["أعزب", "متزوج", "مطلق", "مثلي/مثلية", "شريك طويل الأمد", "أرمل"]) | |
| st.text_area("من يعيش معك؟") | |
| st.text_input("الوظيفة الحالية:") | |
| st.text_input("الوظائف السابقة:") | |
| دعم_عاطفي = st.radio("هل لديك دعم عاطفي؟", ["نعم", "لا"]) | |
| if دعم_عاطفي == "نعم": | |
| st.multiselect("من يقدم الدعم؟", ["الزوج/الزوجة", "العائلة", "الأصدقاء", "ديني/روحي", "الحيوانات الأليفة", "أخرى"]) | |
| ممارسة_دينية = st.radio("هل تمارس نشاطًا دينيًا أو روحيًا؟", ["نعم", "لا"]) | |
| if ممارسة_دينية == "نعم": | |
| st.text_input("ما هو نوع الممارسة؟") | |
| st.subheader("كيف تسير الأمور معك؟") | |
| st.text_input("بشكل عام") | |
| st.text_input("في الدراسة") | |
| st.text_input("في العمل") | |
| st.text_input("في الحياة الاجتماعية") | |
| st.text_input("مع الأصدقاء المقربين") | |
| st.text_input("مع الجنس") | |
| st.text_input("مع المزاج") | |
| st.text_input("مع شريك/ة الحياة") | |
| st.text_input("مع الأطفال") | |
| st.text_input("مع الوالدين") | |
| st.text_input("مع الزوج/ة") | |
| st.header("تاريخ الولادة والطفولة") | |
| st.radio("هل ولدت:", ["طبيعي", "مبكر", "لا أعرف"]) | |
| st.radio("هل كان هناك مضاعفات في الولادة؟", ["نعم", "لا"]) | |
| st.text_input("إذا كانت الإجابة نعم، فسر:") | |
| st.radio("هل كنت:", ["مرضع طبيعي", "مرضع صناعي", "لا أعرف"]) | |
| st.text_input("مدة الرضاعة الطبيعية:") | |
| st.text_input("نوع الحليب الصناعي:") | |
| st.text_input("عمر تقديم الطعام الصلب:") | |
| st.text_input("عمر تقديم القمح:") | |
| st.text_input("عمر تقديم الألبان:") | |
| st.radio("هل كان هناك أطعمة تتجنبها كطفل؟", ["نعم", "لا"]) | |
| st.text_area("إذا كانت الإجابة نعم، ما هي الأطعمة والأعراض؟") | |
| st.radio("هل تناولت كثيرًا من الحلوى وأنت طفل؟", ["نعم", "لا"]) | |
| st.header("تاريخ الأسنان") | |
| st.multiselect("اختر ما ينطبق عليك:", [ | |
| "حشوات زئبق فضية", "حشوات ذهبية", "علاج عصب", "زراعة أسنان", | |
| "تيجان/تلبيسات", "ألم في الأسنان", "نزيف في اللثة", "التهاب اللثة", "مشاكل في المضغ" | |
| ]) | |
| st.text_area("مشاكل أخرى في الأسنان:") | |
| st.radio("هل أزلت حشوات الزئبق من قبل؟", ["نعم", "لا"]) | |
| st.text_input("إذا كانت الإجابة نعم، متى؟") | |
| st.text_input("كم عدد الحشوات التي كانت لديك كطفل؟") | |
| st.radio("هل تنظف أسنانك بانتظام؟", ["نعم", "لا"]) | |
| st.radio("هل تستخدم الخيط بانتظام؟", ["نعم", "لا"]) | |
| st.header("تاريخ صحة الرجل") | |
| st.multiselect("اختر الحالات التي تنطبق:", [ | |
| "كتلة في الخصية", "ألم في الخصية", "تضخم البروستاتا", "عدوى البروستاتا", | |
| "تغير في الرغبة الجنسية", "عجز جنسي", "قذف مبكر", | |
| "صعوبة في الانتصاب", "صعوبة في الحفاظ على الانتصاب", | |
| "فقدان التحكم في البول", "تغير في تدفق البول", "قطع القناة المنوية", | |
| "التبول الليلي" | |
| ]) | |
| st.text_input("عدد مرات التبول الليلي:") | |
| st.text_input("هل لديك أمراض منقولة جنسيًا؟ (اذكرها):") | |
| st.subheader("الفحوصات") | |
| st.text_input("آخر فحص PSA:") | |
| st.selectbox("مستوى PSA:", ["0-2", "2-4", "4-10", "أكثر من 10"]) | |
| st.text_area("اختبارات/إجراءات أخرى (اكتب النوع والتواريخ):") | |
| st.header("تاريخ العائلة") | |
| أفراد_العائلة = [ | |
| "الأم", "الأب", "الأخ", "الأخت", "الابن/الابنة", "الجد/الجدة من الأم", "الجد/الجدة من الأب", "أخرى" | |
| ] | |
| أمراض = [ | |
| "سرطان", "أمراض القلب", "ارتفاع الضغط", "السمنة", "السكري", "الجلطات", "أمراض مناعة", | |
| "التهاب المفاصل", "أمراض الكلى", "مشاكل الغدة الدرقية", "الصرع", "اضطرابات نفسية", | |
| "القلق", "الاكتئاب", "الربو", "الحساسية", "الأكزيما", "فرط النشاط", "التوحد", | |
| "متلازمة القولون العصبي", "الخرف", "تعاطي المواد", "أمراض وراثية" | |
| ] | |
| for فرد in أفراد_العائلة: | |
| with st.expander(f"تاريخ {فرد}"): | |
| st.text_input(f"عمر {فرد} (إذا على قيد الحياة):", key=f"{فرد}_age") | |
| st.text_input(f"عمر الوفاة (إذا توفي/توفيت):", key=f"{فرد}_death_age") | |
| st.multiselect(f"اختر ما ينطبق على {فرد}:", أمراض, key=f"{فرد}_conditions") | |
| st.header("مراجعة الأعراض") | |
| أقسام_أعراض = { | |
| "عام": ["برودة اليدين والقدمين", "عدم تحمل البرد", "نعاس نهارًا", "صعوبة في النوم", "إرهاق", "حمى", "تعرق", "ارتفاع حرارة", "استيقاظ ليلي"], | |
| "الرأس والعينين والأذنين": ["احمرار العين", "ألم العين", "الصداع", "طنين الأذن", "مشاكل الرؤية", "تحسس من الأصوات"], | |
| "العضلات والمفاصل": ["تشنج عضلي", "ألم المفاصل", "احمرار المفاصل", "تصلب المفاصل", "ضعف العضلات"], | |
| "المزاج والأعصاب": ["قلق", "اكتئاب", "دوخة", "إغماء", "صعوبة في التركيز", "نوبات هلع", "رعشة", "هلوسة"], | |
| "القلب والأوعية": ["ألم في الصدر", "ضيق تنفس", "ضغط مرتفع", "اضطراب نبضات القلب", "تورم الكاحلين"], | |
| "الجهاز الهضمي": ["انتفاخ", "إمساك", "إسهال", "حرقة", "براز مع دم", "غثيان", "قيء", "عدم تحمل اللاكتوز/الغلوتين"], | |
| "الجهاز التنفسي": ["سعال", "صفير", "احتقان الأنف", "حساسية موسمية", "رائحة فم كريهة"], | |
| "الجلد والأظافر": ["حب شباب", "طفح جلدي", "جفاف الجلد", "حكة", "بقع بيضاء على الأظافر", "الفطريات"], | |
| "الجهاز البولي": ["تكرار التبول", "حرقان", "التهابات", "سلس البول"], | |
| "الجهاز التناسلي الذكري": ["ضعف الانتصاب", "ألم تناسلي", "إفرازات", "رغبة جنسية ضعيفة"] | |
| } | |
| for القسم, أعراض in أقسام_أعراض.items(): | |
| with st.expander(f"{القسم}"): | |
| for عرض in أعراض: | |
| st.selectbox(f"{عرض}", ["خفيف", "متوسط", "شديد"], key=f"{القسم}_{عرض}") | |