Spaces:
Sleeping
Sleeping
import streamlit as st | |
import time | |
# Initialize session state variables | |
if "scene" not in st.session_state: | |
st.session_state["scene"] = 1 # Start at Scene 1 | |
if "pain_increase" not in st.session_state: | |
st.session_state["pain_increase"] = False # Tracks whether pain has worsened | |
# Function to change the scene | |
def change_scene(next_scene): | |
st.session_state["scene"] = next_scene | |
# Scene 1: Patient arrives at ER | |
if st.session_state["scene"] == 1: | |
st.title("Scene 1: Patient Arrives at ER") | |
st.image("1.jpg", caption="Patient presenting with leg pain and swelling", use_container_width=True) | |
st.write("The patient presents with severe pain in the lower leg after a motorcycle accident.") | |
choice = st.radio( | |
"What will you do first?", | |
["Select an option", "Examine the leg", "Send for X-ray", "Administer painkillers"] | |
) | |
if choice == "Examine the leg": | |
st.image("2.jpg", caption="Exam findings: Swollen leg, no significant tension", use_container_width=True) | |
st.write("Findings: Swollen leg with mild tenderness. Compartment Syndrome is not confirmed.") | |
if st.button("Proceed to next step"): | |
change_scene(2) | |
elif choice == "Send for X-ray": | |
st.image("3.jpg", caption="X-ray: Tibial fracture observed", use_container_width=True) | |
st.write("Findings: Tibial fracture confirmed. This does not rule out Compartment Syndrome.") | |
if st.button("Go Back to Scene 1"): | |
change_scene(1) | |
elif choice == "Administer painkillers": | |
st.image("4.jpg", caption="Painkillers administered", use_container_width=True) | |
st.success("The patient reports feeling better for now.") | |
st.session_state["pain_increase"] = True # Set pain to increase later | |
if st.button("Proceed to next step"): | |
change_scene(2) | |
# Scene 2: Monitoring or Further Action | |
elif st.session_state["scene"] == 2: | |
st.title("Scene 2: Monitoring or Further Action") | |
st.write("The patient is stable for now. What would you like to do?") | |
choice = st.radio( | |
"Choose your next step:", | |
["Select an option", "Observe and Monitor", "Repeat Exam", "Measure Compartment Pressure"] | |
) | |
if choice == "Observe and Monitor": | |
st.write("Monitoring the patient... Please wait.") | |
time.sleep(5) # Simulate waiting | |
st.warning("The patient reports severe pain again.") | |
if st.button("Proceed to next step"): | |
change_scene(3) | |
elif choice == "Repeat Exam": | |
st.image("5.jpg", caption="Repeat examination shows no major changes", use_container_width=True) | |
st.write("Findings: The swelling remains mild. Compartment Pressure is not elevated yet.") | |
if st.button("Go Back to Scene 2"): | |
change_scene(2) | |
elif choice == "Measure Compartment Pressure": | |
st.image("6.jpg", caption="Compartment pressure measurement", use_container_width=True) | |
st.write("Results: Compartment pressure is within normal limits at this time.") | |
if st.button("Proceed to next step"): | |
change_scene(2) | |
# Scene 3: Progression of Symptoms | |
elif st.session_state["scene"] == 3: | |
st.title("Scene 3: Worsening Symptoms") | |
st.write("The patient's symptoms are worsening: severe pain, tense swelling.") | |
choice = st.radio( | |
"Choose your next step:", | |
["Select an option", "Re-check Compartment Pressure", "Administer additional painkillers", "Continue Observation"] | |
) | |
if choice == "Re-check Compartment Pressure": | |
st.image("7.jpg", caption="Re-measurement of Compartment Pressure", use_container_width=True) | |
st.success("Pressure >30 mmHg. Confirmed Compartment Syndrome.") | |
if st.button("Proceed to next step"): | |
change_scene(4) | |
elif choice == "Administer additional painkillers": | |
st.image("4.jpg", caption="Painkillers administered again", use_container_width=True) | |
st.warning("The patient reports temporary relief but symptoms persist.") | |
if st.button("Go Back to Scene 3"): | |
change_scene(3) | |
elif choice == "Continue Observation": | |
st.error("The patient's condition worsens further. Necrosis has begun.") | |
if st.button("Proceed to next step"): | |
change_scene(4) | |
# Scene 4: Treatment | |
elif st.session_state["scene"] == 4: | |
st.title("Scene 4: Treatment") | |
st.write("What action will you take?") | |
choice = st.radio( | |
"Choose your treatment:", | |
["Select an option", "Perform Fasciotomy", "Observe further without Fasciotomy"] | |
) | |
if choice == "Perform Fasciotomy": | |
st.image("8.jpg", caption="Fasciotomy performed", use_container_width=True) | |
st.success("Outcome: Patient recovers with minimal damage.") | |
elif choice == "Observe further without Fasciotomy": | |
st.image("9.jpg", caption="Continued observation leads to necrosis", use_container_width=True) | |
st.error("Outcome: Permanent damage or amputation required.") | |