import gradio as gr def submit_form( patient_name, dob, ssn, goal_met, goal_reason, discharge_date, wound1_location, wound1_status, wound1_measure_date, wound1_length, wound1_width, wound1_depth, wound2_location, wound2_status, wound2_measure_date, wound2_length, wound2_width, wound2_depth, provider_name, provider_phone, info_date ): result = f""" Patient Information: Name: {patient_name} DOB: {dob} SSN: {ssn} Physician's Goal Met: {'Yes' if goal_met else 'No'} Reason (if no): {goal_reason} Discharge Date: {discharge_date} Wound #1: Location: {wound1_location} Status: {', '.join(wound1_status)} Measurement Date: {wound1_measure_date} Length: {wound1_length} cm, Width: {wound1_width} cm, Depth: {wound1_depth} cm Wound #2: Location: {wound2_location} Status: {', '.join(wound2_status)} Measurement Date: {wound2_measure_date} Length: {wound2_length} cm, Width: {wound2_width} cm, Depth: {wound2_depth} cm Provider Information: Name: {provider_name} Phone: {provider_phone} Information Date: {info_date} """ return result with gr.Blocks() as app: gr.Markdown("### Discharge Form") with gr.Row(): patient_name = gr.Textbox(label="Patient's Name (Last, First, MI)") dob = gr.Textbox(label="Date of Birth (MM/DD/YYYY)") ssn = gr.Textbox(label="Social Security Number (XXX-XX-XXXX)") goal_met = gr.Checkbox(label="Was the Physician’s Goal Met?") goal_reason = gr.Textbox(label="If No, Explain Why") discharge_date = gr.Textbox(label="Therapy Discharge Date (MM/DD/YYYY)") gr.Markdown("### Wound #1") with gr.Row(): wound1_location = gr.Textbox(label="Wound Location") wound1_status = gr.CheckboxGroup(["Adequate granulation", "Patient in hospital", "Wound unresponsive", "Pain", "Wound healed", "Delayed primary closure", "Patient non-compliant", "Patient expired", "Wound sutured closed", "Tunnel dimensions decreased or closed", "Undermining improved or resolved", "4 months of treatment completed", "Other"], label="Wound Status") wound1_measure_date = gr.Textbox(label="Final Measurement Date (MM/DD/YYYY)") with gr.Row(): wound1_length = gr.Number(label="Length (cm)") wound1_width = gr.Number(label="Width (cm)") wound1_depth = gr.Number(label="Depth (cm)") gr.Markdown("### Wound #2 (if applicable)") with gr.Row(): wound2_location = gr.Textbox(label="Wound Location") wound2_status = gr.CheckboxGroup(["Adequate granulation", "Patient in hospital", "Wound unresponsive", "Pain", "Wound healed", "Delayed primary closure", "Patient non-compliant", "Patient expired", "Wound sutured closed", "Tunnel dimensions decreased or closed", "Undermining improved or resolved", "4 months of treatment completed", "Other"], label="Wound Status") wound2_measure_date = gr.Textbox(label="Final Measurement Date (MM/DD/YYYY)") with gr.Row(): wound2_length = gr.Number(label="Length (cm)") wound2_width = gr.Number(label="Width (cm)") wound2_depth = gr.Number(label="Depth (cm)") gr.Markdown("### Provider Information") provider_name = gr.Textbox(label="Print Name, Title, Employer") provider_phone = gr.Textbox(label="Phone Number") info_date = gr.Textbox(label="Information Date (MM/DD/YYYY)") submit = gr.Button("Submit") output = gr.Textbox(label="Form Output", interactive=False) submit.click(submit_form, inputs=[ patient_name, dob, ssn, goal_met, goal_reason, discharge_date, wound1_location, wound1_status, wound1_measure_date, wound1_length, wound1_width, wound1_depth, wound2_location, wound2_status, wound2_measure_date, wound2_length, wound2_width, wound2_depth, provider_name, provider_phone, info_date ], outputs=output) app.launch()