Update app.py
Browse filesA little fixes
app.py
CHANGED
@@ -301,18 +301,22 @@ Expected JSON format:
|
|
301 |
|
302 |
|
303 |
|
304 |
-
|
305 |
-
df = pd.DataFrame(lab_tests)
|
306 |
-
return df
|
307 |
|
308 |
# Gradio interface function
|
309 |
def process_pdf(pdf):
|
310 |
text = read_pdf(pdf.name) # Extract text from PDF
|
311 |
output = generate(text) # Generate structured JSON
|
312 |
|
313 |
-
|
314 |
-
|
315 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
|
317 |
metadata_str = f"**Patient Name:** {metadata['patient_name']}\n\n" \
|
318 |
f"**Age:** {metadata['age']}\n\n" \
|
@@ -320,24 +324,19 @@ def process_pdf(pdf):
|
|
320 |
f"**Lab Name:** {metadata['lab_name']}\n\n" \
|
321 |
f"**Report Date:** {metadata['report_date']}"
|
322 |
|
323 |
-
return metadata_str, labtests
|
324 |
|
325 |
# Define Gradio interface
|
326 |
with gr.Blocks() as demo:
|
327 |
gr.Markdown("# Medical Lab Report Processor")
|
328 |
-
|
329 |
with gr.Row():
|
330 |
pdf_input = gr.File(label="Upload PDF Report")
|
331 |
submit_btn = gr.Button("Process")
|
332 |
-
|
333 |
metadata_output = gr.Markdown(label="Metadata")
|
334 |
lab_test_output = gr.Dataframe(label="Lab Test Results")
|
335 |
|
336 |
-
submit_btn.click(
|
337 |
-
|
338 |
-
# Add API access but only expose JSON
|
339 |
-
demo.api(process_pdf, inputs=[gr.File(type="file")], outputs=gr.JSON(), route="/process")
|
340 |
-
|
341 |
|
342 |
-
|
343 |
-
demo.launch()
|
|
|
301 |
|
302 |
|
303 |
|
304 |
+
|
|
|
|
|
305 |
|
306 |
# Gradio interface function
|
307 |
def process_pdf(pdf):
|
308 |
text = read_pdf(pdf.name) # Extract text from PDF
|
309 |
output = generate(text) # Generate structured JSON
|
310 |
|
311 |
+
return output
|
312 |
+
|
313 |
+
def show_to_UI(pdf):
|
314 |
+
output = process_pdf(pdf) # Call process_pdf to get JSON
|
315 |
+
|
316 |
+
# Extract metadata
|
317 |
+
metadata = output["metadata"]
|
318 |
+
labtests = pd.DataFrame(output["lab_tests"])
|
319 |
+
reds = pd.DataFrame(output["reds"])
|
320 |
|
321 |
metadata_str = f"**Patient Name:** {metadata['patient_name']}\n\n" \
|
322 |
f"**Age:** {metadata['age']}\n\n" \
|
|
|
324 |
f"**Lab Name:** {metadata['lab_name']}\n\n" \
|
325 |
f"**Report Date:** {metadata['report_date']}"
|
326 |
|
327 |
+
return metadata_str, labtests # Return only processed data (not JSON)
|
328 |
|
329 |
# Define Gradio interface
|
330 |
with gr.Blocks() as demo:
|
331 |
gr.Markdown("# Medical Lab Report Processor")
|
332 |
+
|
333 |
with gr.Row():
|
334 |
pdf_input = gr.File(label="Upload PDF Report")
|
335 |
submit_btn = gr.Button("Process")
|
336 |
+
|
337 |
metadata_output = gr.Markdown(label="Metadata")
|
338 |
lab_test_output = gr.Dataframe(label="Lab Test Results")
|
339 |
|
340 |
+
submit_btn.click(show_to_UI, inputs=[pdf_input], outputs=[metadata_output, lab_test_output])
|
|
|
|
|
|
|
|
|
341 |
|
342 |
+
demo.launch()
|
|