Spaces:
Sleeping
Sleeping
import streamlit as st | |
def calculate_bmi(weight, height): | |
return weight / ((height / 100) ** 2) | |
def determine_weight_status(bmi): | |
if bmi < 18.5: | |
return 'Underweight' | |
elif 18.5 <= bmi < 25: | |
return 'Normal' | |
elif 25 <= bmi < 30: | |
return 'Overweight' | |
else: | |
return 'Obese' | |
def determine_height_status(height, age_months): | |
# You'd typically use growth charts or specific data for this calculation | |
# Here's a placeholder example | |
if age_months < 60: | |
if height < 110: | |
return 'Stunted (Low Height-for-Age)' | |
elif 110 <= height <= 150: | |
return 'Normal Height' | |
else: | |
return 'Tall for Age' | |
else: | |
return 'Height Status Not Applicable' | |
def poshan_tracker_calculator(gender, age_months, weight, height): | |
bmi = calculate_bmi(weight, height) | |
weight_status = determine_weight_status(bmi) | |
height_status = determine_height_status(height, age_months) | |
st.write(f"Child Gender: {gender.capitalize()}") | |
st.write(f"Child Age: {age_months} Months") | |
st.write(f"Child Weight: {weight:.2f} kg") | |
st.write(f"Child Height: {height:.2f} cm") | |
st.write(f"Child BMI: {bmi:.2f}") | |
st.write(f"Weight Status: {weight_status}") | |
st.write(f"Height Status: {height_status}") | |
st.write("Recommended Height Range: 110 - 150 cm") # Placeholder range | |
st.write("Growth Status: Abnormal Growth") # Placeholder status | |
st.write("Disclaimer: Don't Rely on the calculator, Consult With Medical Professional") | |
# Streamlit UI | |
st.title('Poshan Tracker Calculator') | |
gender = st.radio('Select Child Gender:', ('Male', 'Female')) | |
age_months = st.number_input('Enter Child Age in Months:', min_value=0, max_value=300, value=24) | |
weight = st.number_input('Enter Child Weight in kg:', min_value=0.1, max_value=200.0, value=10.0) | |
height = st.number_input('Enter Child Height in cm:', min_value=30, max_value=200, value=100) | |
if st.button('Calculate'): | |
poshan_tracker_calculator(gender, age_months, weight, height) |