Spaces:
No application file
No application file
| import streamlit as st | |
| import pandas as pd | |
| from datetime import datetime | |
| st.set_page_config(page_title="NICU Handover", layout="wide") | |
| st.title("📝 NICU Handover Form") | |
| # Initialize session state | |
| if "data" not in st.session_state: | |
| st.session_state.data = [] | |
| with st.form("handover_form"): | |
| col1, col2 = st.columns(2) | |
| with col1: | |
| name = st.text_input("👶 اسم الطفل") | |
| file_id = st.text_input("🆔 رقم الملف (اختياري)") | |
| ga = st.number_input("📆 العمر الرحمي (GA بالأسبوع)", min_value=20, max_value=45, step=1) | |
| pna = st.number_input("📅 العمر بعد الولادة (PNA بالأيام)", min_value=0, max_value=200) | |
| weight = st.number_input("⚖️ الوزن (كجم)", min_value=0.3, max_value=7.0, step=0.1) | |
| with col2: | |
| diagnosis = st.text_input("🩺 التشخيص") | |
| condition = st.selectbox("🔍 الحالة العامة", ["مستقر", "غير مستقر", "على جهاز تنفس"]) | |
| fluids = st.text_input("💧 السوائل") | |
| feeding = st.selectbox("🍽️ التغذية", ["فموي", "IV", "NPO"]) | |
| treatment = st.text_area("💊 العلاج") | |
| plan = st.text_area("🗓️ خطة اليوم") | |
| notes = st.text_area("📝 ملاحظات إضافية") | |
| submitted = st.form_submit_button("➕ أضف الحالة") | |
| if submitted: | |
| time_now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") | |
| st.session_state.data.append({ | |
| "اسم الطفل": name, | |
| "رقم الملف": file_id, | |
| "GA": ga, | |
| "PNA": pna, | |
| "الوزن": weight, | |
| "التشخيص": diagnosis, | |
| "الحالة": condition, | |
| "السوائل": fluids, | |
| "التغذية": feeding, | |
| "العلاج": treatment, | |
| "خطة اليوم": plan, | |
| "ملاحظات": notes, | |
| "الوقت": time_now | |
| }) | |
| st.success("✅ تم تسجيل الحالة بنجاح") | |
| st.markdown("---") | |
| st.header("📋 الحالات المُسجلة") | |
| if st.session_state.data: | |
| df = pd.DataFrame(st.session_state.data) | |
| st.dataframe(df, use_container_width=True) | |
| csv = df.to_csv(index=False).encode("utf-8") | |
| st.download_button("⬇️ تحميل البيانات CSV", data=csv, file_name="NICU_handover.csv", mime="text/csv") | |
| else: | |
| st.info("لم يتم تسجيل أي حالة بعد.") | |