Func_med_history / arab_form.py
drkareemkamal's picture
Create arab_form.py
c8dbf8c verified
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"{القسم}_{عرض}")