
ClinicAgent Review
A FastAPI clinical-intake agent that chats through structured intake stages and outputs a JSON Clinical Brief.
Each review covers deployability, value versus commercial alternatives, and privacy model. Tools that can run locally were started and exercised; mobile or backend-dependent tools were assessed from published builds, source code, and deploy guides. Ratings reflect what we were able to verify.
ClinicAgent — Open Source Clinical Intake Agent
A FastAPI clinical-intake agent that chats through structured intake stages and outputs a JSON Clinical Brief. Last updated: 2026-06-21.
One-sentence verdict: A well-scoped intake prototype with explicit clinical stages and a generated brief; useful as a scaffold, not a HIPAA-compliant production intake system.
What the System Is
ClinicAgent (published as clinical-agent) is a Python FastAPI application with a browser UI. The deploy guide reports the service was started on port 8003. It walks a patient through a structured intake flow and synthesizes the conversation into a JSON ClinicalBrief.
The documented stages are:
- Greeting — welcome and reason for visit.
- Chief Complaint — primary symptom or issue.
- History of Present Illness (HPI) — onset, location, duration, character, aggravating/alleviating factors.
- Focused Review of Systems (ROS) — associated symptoms.
- Clarification — missing context.
- Brief Generation — structured JSON output for the clinician.
The repository includes unit, integration, and Playwright end-to-end tests under tests/.
| Key data | |
|---|---|
| Category | Clinical Intake |
| Language | Python / FastAPI |
| License | MIT |
| Self-hosted | Yes |
| AI provider | Cerebras or OpenRouter (configurable) |
| Frontend | Static HTML / CSS / JS |
| Code size | ~300 lines (main.py) |
How to Install and Deploy
cd /data2/docker/going-global/repos/clinical-agent
pip install -r requirements.txt
cp .env.example .env
# Edit .env: set LLM_PROVIDER and the matching API key (CEREBRAS_API_KEY or OPENROUTER_API_KEY)
python main.py
The README defaults to http://localhost:8080; the deploy guide changed the port to 8003. Open the URL shown in the terminal.
There is no Docker Compose for this project.
How to Test
The documented test flow is:
- Open the running URL in a browser.
- Start a new intake session and confirm the greeting stage appears.
- Enter a chief complaint and answer the HPI and ROS questions.
- Reach the
COMPLETEstage and verify the right-hand panel shows a generated Clinical Brief. - Run the test suite with
pytest tests/ -v.
The Playwright E2E tests automate a full patient journey; they require the app and browser dependencies to be installed.
Privacy & Compliance
ClinicAgent is not HIPAA compliant. Symptom and patient-history text are sent to the configured cloud LLM provider (Cerebras or OpenRouter). There is no encryption, access control, or audit log beyond the test fixtures. Do not enter real PHI.
ClinicAgent vs Commercial Intake Systems
| Dimension | ClinicAgent | Commercial Intake (e.g., Notable Health, Phreesia, Mend) |
|---|---|---|
| Cost | Free / self-hosted | Subscription per provider |
| Data model | Cloud LLM call; local server | Cloud-hosted, integrated with EHR |
| Clinical validation | None | Medically reviewed, often FDA-registered |
| Setup effort | Python venv + API key | Vendor-managed rollout |
| Offline use | No (needs LLM provider) | No |
| Customizability | Full source code | Limited configuration |
Who Should Use It
- Developers building structured clinical-intake chat flows.
- Teams evaluating FastAPI + LLM provider switching for intake forms.
- Hackathon or research projects that need a generated clinical brief.
Who Shouldn't Use It
- Organizations that need HIPAA-compliant patient intake.
- Clinics expecting EHR integration, scheduling, or billing.
- Users who require medically validated triage or decision support.
FAQ
Is ClinicAgent a medical diagnosis tool?
No. It collects and structures patient-reported information; it does not diagnose or replace a clinician.
Which LLM providers does it support?
The code supports Cerebras and OpenRouter. Configure the provider and API key in .env.
Does it store patient data?
The deploy guide does not describe persistent storage. Conversations are processed in memory during the intake session and sent to the configured LLM provider.
Verdict
ClinicAgent is a clean, stage-based clinical intake prototype. It demonstrates a practical pattern for turning a patient conversation into a structured brief, and it includes real tests. It is not a validated or compliant clinical system, but it is a credible starting point for developers.
Ratings: Deployability 4/5 · Value vs Commercial 2/5 · Privacy Compliance 2/5
