Open source · Built on Google's A2A protocol

A collective of AI agents for healthcare

Health Agents Collective is an open-source, multi-agent system that triages symptoms, reads and writes FHIR clinical data, and automates the revenue cycle — coordinating autonomous specialist agents into one coherent clinical workflow.

Python 3.13+ Pydantic AI FHIR R4 MIT licensed
4
Autonomous agents
A2A
Agent-to-agent protocol
100%
Runtime discovery
R4
FHIR interoperability
Architecture

One orchestrator. Specialist agents.

A lightweight orchestration agent receives a natural-language prompt, discovers available agents at runtime, and chains their skills to produce a single, comprehensive response.

User query Orchestration Agent discovers · plans · synthesizes PORT 10024 delegate delegate delegate Triage Agent Symptom assessment Priority + acuity scoring Writes FHIR Observations PORT 10020 FHIR Agent Patient lookup Clinical history Reads / writes FHIR R4 PORT 10028 Finance Agent CPT / HCPCS / ICD-10 EDI X12 837P · 276/277 · 835 Denials + appeals PORT 10030
The agents

Each capability, its own autonomous agent.

Every agent exposes its skills over HTTP using the A2A SDK, so agents can be developed, deployed, and scaled independently.

Orchestration Agent

:10024

The entry point. It receives natural-language requests, discovers the agents that are online, plans a chain of tool calls, and merges their findings into one answer.

runtime discoveryplanningsynthesis

Triage Agent

:10020

Assesses reported symptoms, assigns an acuity priority, and records the assessment as a FHIR Observation so the encounter persists beyond the conversation.

symptomspriorityobservations

FHIR Agent

:10028

Connects to a FHIR R4 server to retrieve patient records, clinical history, and resources — and to write new resources created by the other agents.

patient lookuphistoryR4

Finance Agent

:10030

Handles the US revenue cycle: medical coding, 837P claim submission, claim status, 835 remittance, denial management, appeals, and payer correspondence. Runs sandboxed without a clearinghouse.

CPT / ICD-10EDI X12denials
In practice

From a sentence to a coordinated response.

The orchestrator decides which agents to call, in what order, and how to reconcile their output — no hard-coded pipeline required.

health-agents-collective — live trace
CLINICIAN
I have a patient, John Doe, who has swollen lymph nodes in the neck and a mild fever.
orchestrationdiscovered 3 agents · planning…
→ fhirfind_patient(name="John Doe") ✓ record found
→ triageassess(["swollen lymph nodes","mild fever"]) ✓ moderate priority
→ fhircreate(Observation / symptoms) ✓ written to server
ORCHESTRATION AGENT
Patient John Doe is reporting swollen lymph nodes and fever. Triage assessment indicates Moderate priority. An Observation has been recorded in the FHIR server. Please schedule a follow-up appointment.
Why it matters

Built for the messy reality of healthcare.

The barriers that protected legacy records vendors for decades are shrinking. Agents turn that opening into adaptable, interoperable software.

Discover, don't hard-code

Agents announce their skills at runtime. Add a new capability and the orchestrator can find and use it without a rewrite.

Interoperable by default

Native FHIR R4 reads and writes mean clinical context moves with the patient, not between siloed apps.

Cross the whole encounter

From initial triage through coding and claims, agents cover the clinical and financial arcs of care.

Safe by default

The finance agent runs in a sandbox that simulates clearinghouse responses until you connect a real one.

Observable

Optional Logfire tracing gives you a full view of every agent call, tool invocation, and hand-off.

Open and extensible

MIT licensed, typed with Pydantic AI, and designed so distributed teams can own individual agents.

Python 3.13 Google A2A Pydantic AI FHIR R4 OpenAI-compatible LLMs Logfire
Quickstart

Run the collective locally.

Bring your own OpenAI-compatible key and a FHIR endpoint — the public HAPI test server works out of the box.

  1. Clone & installuv sync, then activate the virtual environment.
  2. ConfigureCopy .env.example to .env and add your API keys.
  3. LaunchRun python app.py and all agents start together.
Read the full setup guide
terminal — quickstart
# clone and install dependencies
git clone https://github.com/micklynch/health-agents-collective.git
cd health-agents-collective
uv sync && source .venv/bin/activate

# configure your environment
cp .env.example .env

# start the orchestrator and all agents
python app.py

# or run a single agent on its own
uvicorn src.agents.triage_agent.agent:app --port 10020 --reload

Help build the collective.

Developers, clinicians, designers, and researchers are all welcome. Open a collaboration request and tell us what you want to work on.