Clinical Intake Agent
Clinical IntakeTypeScript / Next.js

Clinical Intake Agent Review

A Next.js 16 app that conducts pre-visit clinical intake via web chat or VAPI phone calls and produces a structured clinical brief.

Deployability
3/5
Value
3/5
Privacy
2/5

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.

Clinical Intake Agent — Web Chat & Voice Intake for Clinicians

A Next.js 16 app that conducts pre-visit clinical intake via web chat or VAPI phone calls and produces a structured clinical brief. Last updated: 2026-06-21.

One-sentence verdict: A feature-rich intake agent with web and phone modalities and solid brief extraction, but VAPI setup and in-memory state keep it in the prototype category.


What the System Is

Clinical Intake Agent — also referred to as Wardly Clinical Intake Agent — is a Next.js 16 application that collects pre-visit patient information through two surfaces: a streaming web chat and inbound/outbound phone calls via VAPI. The conversation is powered by Claude Sonnet 4.5 (chat) or Claude 4 (voice). When the user finalizes the chat or hangs up the phone, a separate call extracts a structured clinical brief containing chief complaint, HPI in OLDCARTS form, ROS by body system, red flags, pertinent negatives, allergies, medications, past medical history, narrative summary, and recommended triage.

The deploy guide reports the service was started on port 5012.

Key data
Category Clinical Intake
Language TypeScript / Next.js
License Unknown (no LICENSE file)
Self-hosted Yes
AI provider Anthropic Claude (Sonnet 4.5 chat, Sonnet 4 voice)
Voice platform VAPI
Database None; in-memory globalThis Map, with optional Upstash Redis
Auth None
Tests 13 Vitest unit tests for schema validation and store mutations

How to Install and Deploy

cd /data2/docker/going-global/repos/clinical-intake-agent
cp .env.example .env.local
# Add ANTHROPIC_API_KEY (required for web chat and brief extraction)
# Add VAPI_API_KEY and VAPI_PHONE_NUMBER_ID only if enabling voice
npm install
PORT=5012 npm run dev

Then open http://localhost:5012 for the web chat interface.

To enable voice locally, expose the dev server with ngrok, set PUBLIC_BASE_URL to the ngrok URL, run npm run setup:vapi, copy the printed VAPI_ASSISTANT_ID into .env.local, and restart.


How to Test

The documented test flow is:

  1. Open http://localhost:5012.
  2. Start a chat intake and describe a symptom.
  3. Verify the conversation streams and the brief view renders after clicking Finalize.
  4. Review the structured brief (CC, OLDCARTS HPI, ROS, red flags, narrative summary).
  5. Run npm test for the 13 unit tests covering Zod schema validation and in-memory store mutations.
  6. If voice is configured, call the VAPI number or trigger an outbound call and verify the end-of-call webhook generates a brief.

Privacy & Compliance

Clinical Intake Agent is not HIPAA compliant. It has no authentication by default, stores sessions in an in-memory Map (or optional Redis), and sends transcripts to Anthropic. The README notes that a real deployment would use Postgres or KV, add clinician auth, and address PHI handling. Do not use it for real patient data without those additions.


Clinical Intake Agent vs Commercial Intake Tools

Dimension Clinical Intake Agent Commercial Tools (e.g., Notable, Nabla, Ambience Healthcare)
Cost Free / self-hosted + Anthropic + VAPI usage Enterprise subscription
Channels Web chat + inbound/outbound phone Phone, portal, EHR-embedded
Structured output Zod-validated ClinicalBrief JSON EHR-compatible notes
Voice platform VAPI Proprietary or integrated telephony
State storage In-memory (optional Redis) Persistent, audited cloud storage
Auth / HIPAA None documented BAA, SSO, audit logs
Customization Full source code Vendor-controlled
Clinical validation None claimed Often reviewed by clinicians

Who Should Use It

  • Developers exploring multi-modal intake (chat + phone) with Claude and VAPI.
  • Teams that need a working example of structured brief extraction via tool-use.
  • Prototypers who want a clinician-facing brief view alongside a patient chat.

Who Shouldn't Use It

  • Clinics needing persistent, authenticated, or HIPAA-compliant intake.
  • Users who want a fully self-contained voice solution without VAPI.
  • Organizations requiring EHR integration or enterprise audit controls.

FAQ

Is Clinical Intake Agent free?

There is no LICENSE file, so reuse rights are unclear. Running it requires an Anthropic API key, and voice features require a VAPI account.

Does it need VAPI?

No. The web chat works with only an Anthropic API key. VAPI is required only for inbound or outbound phone calls.

Why does voice use Claude 4 instead of Claude 4.5?

The README states that the VAPI SDK type union does not yet include Claude 4.5, so the voice assistant uses Claude 4. The chat path uses Claude 4.5.


Verdict

Clinical Intake Agent is the most feature-complete web + phone intake prototype in this batch. The structured brief extraction and dual-modal design are genuinely useful references. Production use would require replacing the in-memory store, adding authentication, and building out HIPAA safeguards.

Ratings: Deployability 3/5 · Value vs Commercial 3/5 · Privacy Compliance 2/5