remove js=True in all remaining functions
Browse files- callbackmanager.py +21 -32
callbackmanager.py
CHANGED
|
@@ -907,15 +907,13 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 907 |
extract_code_button.click(
|
| 908 |
fn=process_redirected_url,
|
| 909 |
inputs=redirected_url_input,
|
| 910 |
-
outputs=[extracted_code_output, auth_result]
|
| 911 |
-
js=True# Reusing auth_result for extraction status
|
| 912 |
)
|
| 913 |
|
| 914 |
auth_submit.click(
|
| 915 |
fn=CALLBACK_MANAGER.set_auth_code,
|
| 916 |
inputs=extracted_code_output, # Using extracted code as input for authentication
|
| 917 |
outputs=auth_result,
|
| 918 |
-
js=True
|
| 919 |
)
|
| 920 |
|
| 921 |
with gr.Tab("Patient Dashboard", elem_classes="cyberpunk-tab"): # Optional: Class for tab styling
|
|
@@ -977,36 +975,36 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 977 |
|
| 978 |
with gr.Tab("Discharge Form", elem_classes="cyberpunk-tab"): # Optional: Class for tab styling
|
| 979 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Patient Details</h2>") # Neon Tab Header
|
| 980 |
-
with gr.Row(
|
| 981 |
first_name = gr.Textbox(label="First Name")
|
| 982 |
last_name = gr.Textbox(label="Last Name")
|
| 983 |
middle_initial = gr.Textbox(label="Middle Initial")
|
| 984 |
-
with gr.Row(
|
| 985 |
dob = gr.Textbox(label="Date of Birth")
|
| 986 |
age = gr.Textbox(label="Age")
|
| 987 |
sex = gr.Textbox(label="Sex")
|
| 988 |
address = gr.Textbox(label="Address")
|
| 989 |
-
with gr.Row(
|
| 990 |
city = gr.Textbox(label="City")
|
| 991 |
state = gr.Textbox(label="State")
|
| 992 |
zip_code = gr.Textbox(label="Zip Code")
|
| 993 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Primary Healthcare Professional Details</h2>") # Neon Sub-header
|
| 994 |
-
with gr.Row(
|
| 995 |
doctor_first_name = gr.Textbox(label="Doctor's First Name")
|
| 996 |
doctor_last_name = gr.Textbox(label="Doctor's Last Name")
|
| 997 |
doctor_middle_initial = gr.Textbox(label="Doctor's Middle Initial")
|
| 998 |
hospital_name = gr.Textbox(label="Hospital/Clinic Name")
|
| 999 |
doctor_address = gr.Textbox(label="Address")
|
| 1000 |
-
with gr.Row(
|
| 1001 |
doctor_city = gr.Textbox(label="City")
|
| 1002 |
doctor_state = gr.Textbox(label="State")
|
| 1003 |
doctor_zip = gr.Textbox(label="Zip Code")
|
| 1004 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Admission and Discharge Details</h2>") # Neon Sub-header
|
| 1005 |
-
with gr.Row(
|
| 1006 |
admission_date = gr.Textbox(label="Date of Admission")
|
| 1007 |
referral_source = gr.Textbox(label="Source of Referral")
|
| 1008 |
admission_method = gr.Textbox(label="Method of Admission")
|
| 1009 |
-
with gr.Row(
|
| 1010 |
discharge_date = gr.Textbox(label="Date of Discharge")
|
| 1011 |
discharge_reason = gr.Radio(
|
| 1012 |
["Treated", "Transferred", "Discharge Against Advice", "Patient Died"],
|
|
@@ -1019,12 +1017,12 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1019 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Medication Details</h2>") # Neon Sub-header
|
| 1020 |
medications = gr.Textbox(label="Medication on Discharge")
|
| 1021 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Prepared By</h2>") # Neon Sub-header
|
| 1022 |
-
with gr.Row(
|
| 1023 |
preparer_name = gr.Textbox(label="Name")
|
| 1024 |
preparer_job_title = gr.Textbox(label="Job Title")
|
| 1025 |
|
| 1026 |
# Add buttons for both display form and generate PDF
|
| 1027 |
-
with gr.Row(
|
| 1028 |
submit_display = gr.Button("Display Form", elem_classes="cyberpunk-button") # Cyberpunk button style
|
| 1029 |
submit_pdf = gr.Button("Generate PDF (No AI)", elem_classes="cyberpunk-button") # Renamed button to clarify no AI and styled
|
| 1030 |
|
|
@@ -1066,8 +1064,7 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1066 |
preparer_name,
|
| 1067 |
preparer_job_title,
|
| 1068 |
],
|
| 1069 |
-
outputs=form_output
|
| 1070 |
-
js=True
|
| 1071 |
)
|
| 1072 |
|
| 1073 |
# Connect the generate PDF button (No AI version)
|
|
@@ -1104,13 +1101,12 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1104 |
preparer_name,
|
| 1105 |
preparer_job_title,
|
| 1106 |
],
|
| 1107 |
-
outputs=pdf_output
|
| 1108 |
-
js=True
|
| 1109 |
)
|
| 1110 |
|
| 1111 |
with gr.Tab("Medical File Analysis", elem_classes="cyberpunk-tab"): # Optional: Class for tab styling
|
| 1112 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Analyze Medical Files with Discharge Guard AI</h2>") # Neon Tab Header
|
| 1113 |
-
with gr.Column(
|
| 1114 |
dicom_file = gr.File(
|
| 1115 |
file_types=[".dcm"], label="Upload DICOM File (.dcm)"
|
| 1116 |
)
|
|
@@ -1159,32 +1155,27 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1159 |
analyze_dicom_button.click(
|
| 1160 |
analyze_dicom_file_with_ai, # Call REAL AI function
|
| 1161 |
inputs=dicom_file,
|
| 1162 |
-
outputs=dicom_ai_output
|
| 1163 |
-
js=True
|
| 1164 |
)
|
| 1165 |
analyze_hl7_button.click(
|
| 1166 |
analyze_hl7_file_with_ai, # Call REAL AI function
|
| 1167 |
inputs=hl7_file,
|
| 1168 |
-
outputs=hl7_ai_output
|
| 1169 |
-
js=True
|
| 1170 |
)
|
| 1171 |
analyze_xml_button.click(
|
| 1172 |
analyze_cda_xml_file_with_ai, # Call REAL AI function
|
| 1173 |
inputs=xml_file,
|
| 1174 |
-
outputs=xml_ai_output
|
| 1175 |
-
js=True
|
| 1176 |
)
|
| 1177 |
analyze_ccda_button.click(
|
| 1178 |
analyze_cda_xml_file_with_ai, # Call REAL AI function
|
| 1179 |
inputs=ccda_file,
|
| 1180 |
-
outputs=ccda_ai_output
|
| 1181 |
-
js=True
|
| 1182 |
)
|
| 1183 |
analyze_ccd_button.click( # Redundant button, but kept for UI if needed
|
| 1184 |
analyze_cda_xml_file_with_ai, # Call REAL AI function
|
| 1185 |
inputs=ccd_file,
|
| 1186 |
-
outputs=ccd_ai_output
|
| 1187 |
-
js=True
|
| 1188 |
)
|
| 1189 |
analyze_pdf_button.click(
|
| 1190 |
analyze_pdf_file_with_ai, inputs=pdf_file, outputs=pdf_ai_output
|
|
@@ -1198,7 +1189,7 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1198 |
): # New Tab for One-Click Discharge Paper with AI, styled
|
| 1199 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>One-Click Medical Discharge Paper Generation with AI Content</h2>") # Neon Tab Header
|
| 1200 |
one_click_ai_pdf_button = gr.Button(
|
| 1201 |
-
"Generate Discharge Paper with AI (One-Click)", elem_classes="cyberpunk-button"
|
| 1202 |
) # Updated button label and styled
|
| 1203 |
one_click_ai_pdf_status = gr.Textbox(
|
| 1204 |
label="Discharge Paper Generation Status (AI)"
|
|
@@ -1217,8 +1208,7 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1217 |
patient_data_button.click(
|
| 1218 |
fn=CALLBACK_MANAGER.get_patient_data,
|
| 1219 |
inputs=None,
|
| 1220 |
-
outputs=patient_data_output
|
| 1221 |
-
js=True
|
| 1222 |
)
|
| 1223 |
|
| 1224 |
# Connect refresh button to update dashboard
|
|
@@ -1230,8 +1220,7 @@ with gr.Blocks(theme=cyberpunk_theme) as demo: # Apply the theme here
|
|
| 1230 |
meldrx_pdf_button.click(
|
| 1231 |
fn=generate_pdf_from_meldrx,
|
| 1232 |
inputs=patient_data_output,
|
| 1233 |
-
outputs=[meldrx_pdf_download, meldrx_pdf_status]
|
| 1234 |
-
js=True
|
| 1235 |
)
|
| 1236 |
|
| 1237 |
# Connect patient data updates to dashboard
|
|
|
|
| 907 |
extract_code_button.click(
|
| 908 |
fn=process_redirected_url,
|
| 909 |
inputs=redirected_url_input,
|
| 910 |
+
outputs=[extracted_code_output, auth_result],# Reusing auth_result for extraction status
|
|
|
|
| 911 |
)
|
| 912 |
|
| 913 |
auth_submit.click(
|
| 914 |
fn=CALLBACK_MANAGER.set_auth_code,
|
| 915 |
inputs=extracted_code_output, # Using extracted code as input for authentication
|
| 916 |
outputs=auth_result,
|
|
|
|
| 917 |
)
|
| 918 |
|
| 919 |
with gr.Tab("Patient Dashboard", elem_classes="cyberpunk-tab"): # Optional: Class for tab styling
|
|
|
|
| 975 |
|
| 976 |
with gr.Tab("Discharge Form", elem_classes="cyberpunk-tab"): # Optional: Class for tab styling
|
| 977 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Patient Details</h2>") # Neon Tab Header
|
| 978 |
+
with gr.Row():
|
| 979 |
first_name = gr.Textbox(label="First Name")
|
| 980 |
last_name = gr.Textbox(label="Last Name")
|
| 981 |
middle_initial = gr.Textbox(label="Middle Initial")
|
| 982 |
+
with gr.Row():
|
| 983 |
dob = gr.Textbox(label="Date of Birth")
|
| 984 |
age = gr.Textbox(label="Age")
|
| 985 |
sex = gr.Textbox(label="Sex")
|
| 986 |
address = gr.Textbox(label="Address")
|
| 987 |
+
with gr.Row():
|
| 988 |
city = gr.Textbox(label="City")
|
| 989 |
state = gr.Textbox(label="State")
|
| 990 |
zip_code = gr.Textbox(label="Zip Code")
|
| 991 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Primary Healthcare Professional Details</h2>") # Neon Sub-header
|
| 992 |
+
with gr.Row():
|
| 993 |
doctor_first_name = gr.Textbox(label="Doctor's First Name")
|
| 994 |
doctor_last_name = gr.Textbox(label="Doctor's Last Name")
|
| 995 |
doctor_middle_initial = gr.Textbox(label="Doctor's Middle Initial")
|
| 996 |
hospital_name = gr.Textbox(label="Hospital/Clinic Name")
|
| 997 |
doctor_address = gr.Textbox(label="Address")
|
| 998 |
+
with gr.Row():
|
| 999 |
doctor_city = gr.Textbox(label="City")
|
| 1000 |
doctor_state = gr.Textbox(label="State")
|
| 1001 |
doctor_zip = gr.Textbox(label="Zip Code")
|
| 1002 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Admission and Discharge Details</h2>") # Neon Sub-header
|
| 1003 |
+
with gr.Row():
|
| 1004 |
admission_date = gr.Textbox(label="Date of Admission")
|
| 1005 |
referral_source = gr.Textbox(label="Source of Referral")
|
| 1006 |
admission_method = gr.Textbox(label="Method of Admission")
|
| 1007 |
+
with gr.Row():
|
| 1008 |
discharge_date = gr.Textbox(label="Date of Discharge")
|
| 1009 |
discharge_reason = gr.Radio(
|
| 1010 |
["Treated", "Transferred", "Discharge Against Advice", "Patient Died"],
|
|
|
|
| 1017 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Medication Details</h2>") # Neon Sub-header
|
| 1018 |
medications = gr.Textbox(label="Medication on Discharge")
|
| 1019 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Prepared By</h2>") # Neon Sub-header
|
| 1020 |
+
with gr.Row():
|
| 1021 |
preparer_name = gr.Textbox(label="Name")
|
| 1022 |
preparer_job_title = gr.Textbox(label="Job Title")
|
| 1023 |
|
| 1024 |
# Add buttons for both display form and generate PDF
|
| 1025 |
+
with gr.Row():
|
| 1026 |
submit_display = gr.Button("Display Form", elem_classes="cyberpunk-button") # Cyberpunk button style
|
| 1027 |
submit_pdf = gr.Button("Generate PDF (No AI)", elem_classes="cyberpunk-button") # Renamed button to clarify no AI and styled
|
| 1028 |
|
|
|
|
| 1064 |
preparer_name,
|
| 1065 |
preparer_job_title,
|
| 1066 |
],
|
| 1067 |
+
outputs=form_output
|
|
|
|
| 1068 |
)
|
| 1069 |
|
| 1070 |
# Connect the generate PDF button (No AI version)
|
|
|
|
| 1101 |
preparer_name,
|
| 1102 |
preparer_job_title,
|
| 1103 |
],
|
| 1104 |
+
outputs=pdf_output
|
|
|
|
| 1105 |
)
|
| 1106 |
|
| 1107 |
with gr.Tab("Medical File Analysis", elem_classes="cyberpunk-tab"): # Optional: Class for tab styling
|
| 1108 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>Analyze Medical Files with Discharge Guard AI</h2>") # Neon Tab Header
|
| 1109 |
+
with gr.Column():
|
| 1110 |
dicom_file = gr.File(
|
| 1111 |
file_types=[".dcm"], label="Upload DICOM File (.dcm)"
|
| 1112 |
)
|
|
|
|
| 1155 |
analyze_dicom_button.click(
|
| 1156 |
analyze_dicom_file_with_ai, # Call REAL AI function
|
| 1157 |
inputs=dicom_file,
|
| 1158 |
+
outputs=dicom_ai_output
|
|
|
|
| 1159 |
)
|
| 1160 |
analyze_hl7_button.click(
|
| 1161 |
analyze_hl7_file_with_ai, # Call REAL AI function
|
| 1162 |
inputs=hl7_file,
|
| 1163 |
+
outputs=hl7_ai_output
|
|
|
|
| 1164 |
)
|
| 1165 |
analyze_xml_button.click(
|
| 1166 |
analyze_cda_xml_file_with_ai, # Call REAL AI function
|
| 1167 |
inputs=xml_file,
|
| 1168 |
+
outputs=xml_ai_output
|
|
|
|
| 1169 |
)
|
| 1170 |
analyze_ccda_button.click(
|
| 1171 |
analyze_cda_xml_file_with_ai, # Call REAL AI function
|
| 1172 |
inputs=ccda_file,
|
| 1173 |
+
outputs=ccda_ai_output
|
|
|
|
| 1174 |
)
|
| 1175 |
analyze_ccd_button.click( # Redundant button, but kept for UI if needed
|
| 1176 |
analyze_cda_xml_file_with_ai, # Call REAL AI function
|
| 1177 |
inputs=ccd_file,
|
| 1178 |
+
outputs=ccd_ai_output
|
|
|
|
| 1179 |
)
|
| 1180 |
analyze_pdf_button.click(
|
| 1181 |
analyze_pdf_file_with_ai, inputs=pdf_file, outputs=pdf_ai_output
|
|
|
|
| 1189 |
): # New Tab for One-Click Discharge Paper with AI, styled
|
| 1190 |
gr.Markdown("<h2 style='color:#00FFFF; text-shadow: 0 0 3px #00FFFF;'>One-Click Medical Discharge Paper Generation with AI Content</h2>") # Neon Tab Header
|
| 1191 |
one_click_ai_pdf_button = gr.Button(
|
| 1192 |
+
"Generate Discharge Paper with AI (One-Click)", elem_classes="cyberpunk-button"
|
| 1193 |
) # Updated button label and styled
|
| 1194 |
one_click_ai_pdf_status = gr.Textbox(
|
| 1195 |
label="Discharge Paper Generation Status (AI)"
|
|
|
|
| 1208 |
patient_data_button.click(
|
| 1209 |
fn=CALLBACK_MANAGER.get_patient_data,
|
| 1210 |
inputs=None,
|
| 1211 |
+
outputs=patient_data_output
|
|
|
|
| 1212 |
)
|
| 1213 |
|
| 1214 |
# Connect refresh button to update dashboard
|
|
|
|
| 1220 |
meldrx_pdf_button.click(
|
| 1221 |
fn=generate_pdf_from_meldrx,
|
| 1222 |
inputs=patient_data_output,
|
| 1223 |
+
outputs=[meldrx_pdf_download, meldrx_pdf_status]
|
|
|
|
| 1224 |
)
|
| 1225 |
|
| 1226 |
# Connect patient data updates to dashboard
|