Nicuhandover / app.py
Ryonaly's picture
Upload 2 files
e859b0f verified
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("لم يتم تسجيل أي حالة بعد.")