import { useEffect, useState } from 'react'; import { api } from './api'; import type { Project } from './types'; const order = ['corpus', 'benchmark', 'code', 'demo']; export default function App() { const [project, setProject] = useState(null); const [error, setError] = useState(''); const [attempt, setAttempt] = useState(0); useEffect(() => { const controller = new AbortController(); setError(''); api.project(controller.signal) .then(data => { if (!controller.signal.aborted) setProject(data); }) .catch(cause => { if (!controller.signal.aborted) { setError(cause instanceof Error ? cause.message : 'Unable to load project information.'); } }); return () => controller.abort(); }, [attempt]); if (error) { return

MedCaseAgent

{error}

; } if (!project) { return
Loading MedCaseAgent…
; } const resources = order.flatMap(id => project.resources.filter(resource => resource.id === id)); return

{project.organization}

{project.name}

{project.title}

{project.description}

MedCaseAgent overview from the paper: fragmented clinical evidence and medical images are processed by planning, writing, and refinement agents with external medical tools to produce a case report.
MedCaseAgent at a glance. View figure

Resources

; }