Spaces:
Sleeping
Sleeping
| import re | |
| import gradio as gr | |
| def extract_study_timeline(text): | |
| """ | |
| Extracts Screening, Treatment, and Follow-up durations from study timeline text. | |
| """ | |
| screening = re.search(r'(?:Screening(?:\s*phase| period)?|Pre-study observation)\s*(?:of|:|-)?\s*(\d+)\s*weeks?', text, re.IGNORECASE) | |
| treatment = re.search(r'(?:Treatment(?:\s*period)?|Intervention|Therapy|Dosing phase)[^,]*?\s*(\d+)\s*weeks?', text, re.IGNORECASE) | |
| follow_up = re.search(r'(?:Follow[-\s]*up(?:\s*phase| period)?|Recovery|Post-study monitoring|Observation phase)\s*(?:of|:|-)?\s*(\d+)\s*weeks?', text, re.IGNORECASE) | |
| timeline = { | |
| "Screening": int(screening.group(1)) if screening else None, | |
| "Treatment": int(treatment.group(1)) if treatment else None, | |
| "Follow-Up": int(follow_up.group(1)) if follow_up else "Not Mentioned" # Default to "Not Mentioned" | |
| } | |
| return timeline | |
| # Gradio Interface | |
| iface = gr.Interface( | |
| fn=extract_study_timeline, | |
| inputs=gr.Textbox(lines=5, placeholder="Enter study timeline text..."), | |
| outputs="json", | |
| title="Study Timeline Extractor", | |
| description="Enter a study timeline description, and the model will extract the phases (Screening, Treatment, Follow-Up)." | |
| ) | |
| iface.launch() | |