← Blog

Operations

Intake triage at a zorgaanbieder: agent, human, or hybrid

A sub-€9M zorgaanbieder asked us how to triage 1,640 monthly aanmeldingen without breaking the bank or the Wkkgz. Here is the three-column score we use.

Jacob Molkenboer· Founder · A Brand New Company· 21 Jun 2026· 8 min
Forest-green leather blotter with three cream index cards, brass divider, green ribbon, red wax seal on ivory paper.

A medical director sits in a Tilburg practice on a Thursday in May, looking at last month's triage numbers. 1,640 aanmeldingen handled by a rotation of three doktersassistentes. Average time-to-callback: 4.2 hours. Two near-misses where a chest-pain ticket got lost behind a back-to-back lunch slot. The clinic clears under €9M in revenue and cannot simply hire two more FTE. The question that lands on our desk: should we ship a Claude-driven chat agent for the next twelve months of intake, keep the rotation, or build something hybrid?

This is the method we use to answer that. Not a pitch — a scoring sheet you can run in an afternoon, and a list of the questions that decide more than the spreadsheet does.

The three options on the table

For any sub-€9M Dutch zorgaanbieder at this load, the answer space narrows to three.

Option A — pure agent. A Claude-driven chat agent handles the entire intake conversation, asks the symptom questions, applies an NHG-style decision tree, books the slot, and writes the transcript into the EPD. Humans only see the cases the agent escalates.

Option B — pure rotation. Three trained doktersassistentes split the inbox and the phone, follow the NHG-triagewijzer, and document in the EPD. The way most practices have run since 2007.

Option C — hybrid, agent-first. The agent runs the first pass: identificatie, klacht, urgentie-bucket. Anything above U3 or anything tagged GGZ hard-routes to a POH-GGZ or doktersassistente. The agent never closes a triage above U3 on its own.

We score all three against three axes: per-intake cost at 1,640 monthly aanmeldingen, IGJ-defensibility under the Wkkgz, and who owns the spoed-doorverwijzing when the agent compromises at 21:14 op 1e Paasdag.

Per-intake cost at 1,640 monthly aanmeldingen

Volume matters. At 1,640 per month you are running 19,680 intakes a year. Every euro per intake is €19,680 in annual budget. The numbers below are calibrated to a practice in Noord-Brabant we worked with in Q1 2026; your loaded costs will differ but the ratios hold.

Option A — pure agent
  Claude Sonnet (8k in / 1.5k out per intake)           €0.05
  Eval + spot-check (10% of intakes, human review)      €0.04
  Telephony + speech-to-text fallback                   €0.08
  Logging, EPD integration, monitoring                  €0.08
  Per-intake                                            €0.25

Option B — pure rotation (3 doktersassistentes)
  Loaded cost per FTE @ schaal 5                      €42,000
  3 FTE                                              €126,000
  ÷ 19,680 intakes                                      €6.40

Option C — hybrid (agent + 0.5 POH-GGZ)
  Agent at 70% deflection                               €0.18
  POH-GGZ @ 0.5 FTE, loaded                           €34,000
  ÷ 19,680                                              €1.73
  Per-intake                                            €1.91

The naive read: Option A wins by an order of magnitude. That read is wrong. Cost is one column of three, and the next two are where the pure agent loses points fast.

IGJ-defensibility under the Wkkgz

The Wet kwaliteit, klachten en geschillen zorg holds the zorgaanbieder accountable for goede zorg in Article 2, and for a working quality system in Article 3. The IGJ inspects against this. Translated for intake triage: every decision that affects access to care has to be traceable to a competent decision-maker, with a documented protocol, an audit trail, and a complaint route in plain Dutch.

How the three options sit in front of an inspector:

Pure agent. Defensible only with explicit BIG-supervision on every U1–U2 case. Without a human gate, you are betting the practice on the agent's symptom-recognition recall. The IGJ is not anti-AI, but they will ask for the agent's evaluation set, the false-negative rate on spoed-classification, the change-log on the system prompt, and the name of the person who signs off on weekly performance. If you cannot produce that documentation on demand, the inspector writes it up.

Pure rotation. Defensible by default — this is the path the protocol was written for. The risk is the boring one: protocol-drift, undertrained zij-instromers, unfilled shifts in the school holidays.

Hybrid. Defensible with a fraction of the documentation work, because the human stays in the loop above U3. The agent becomes a tool used by the practice rather than a delegated decision-maker. Wkkgz Art. 7 — incident registration — maps onto agent logs naturally if you treat every override and every escalation as a registrable event.

Warning

If your agent both classifies urgentie and closes the call without human review, you have made the agent a zorgverlener in the eyes of the IGJ. There is no Wkkgz path for that today. Don't ship it.

Who owns the spoed-doorverwijzing at 21:14 op een feestdagavond

This is the column most agent pilots skip. The pure-cost spreadsheet always loves Option A. The on-call spreadsheet always kills it.

Picture the failure mode. It is 1e Paasdag, 21:14. A patient types into the chat: "ik voel me niet goed, mijn linkerarm tintelt." The agent has handled this scenario ten thousand times in eval. Tonight, for whatever reason — a long preamble, a code-mix with English, an unusual symptom order — the agent compromises. It books a reguliere afspraak for Tuesday morning. Nobody on the rotation sees the transcript until 08:00.

The Wkkgz does not care that the agent was 99.4% accurate in eval. It cares who the zorgaanbieder named as accountable for that ticket between 17:00 and 08:00 op een nationale feestdag. The three options answer that question very differently.

Option A. You need a BIG-geregistreerde achterwacht reachable in under fifteen minutes for every flagged case, and the agent must hard-route any uncertainty above a low threshold to that person or to the regional HAP. If you cannot staff this, the agent cannot run after-hours. Period.

Option B. The on-call assistente owns it, escalates to the HAP, and the phone number is on the practice website. Boring, durable, audit-proof.

Option C. The agent runs after-hours only as a router. Every conversation outside business hours opens with a one-line disclaimer and a hard "voor spoed: bel 112 of de huisartsenpost." Symptom triage above U3 is refused with the HAP number and a phone link. The practice owns nothing more dangerous than a structured intake form.

If you take one thing from this section: design the after-hours behaviour first. The daytime behaviour is the easy half.

Combining the three columns

We weight each axis by stakes, not by ease of measurement. Cost is easy to count and tempts overweighting. Don't.

Axis                       Weight   A (agent)   B (rotation)   C (hybrid)
Per-intake cost              0.20         5             1             4
IGJ-defensibility            0.45         1             4             4
Spoed-ownership clarity      0.35         1             4             4

Weighted score                          1.70          3.20          4.00

The hybrid wins by structure, not by salesmanship. The agent absorbs the boring 70% — naam, geboortedatum, BSN, verzekering, klacht in eigen woorden, allergieën, medicatielijst, contact-voorkeur — and the human takes the part that the law and the patient both care about.

Two notes on the score. First: the weights move. A koepelorganisatie with shared on-call infrastructure can absorb Option A risk that a solo praktijk cannot. Second: if your IGJ-defensibility score for any option is a 1, you don't ship it. A column with a 1 in the defensibility row is a veto, not an input.

Takeaway

Score intake-triage on three axes — cost, IGJ-defensibility, after-hours ownership — and treat any 1 in defensibility as a veto, not a trade-off.

A note on the regulatory wind

While we were finishing this scorecard, the front page of Hacker News carried the news that Norway is moving to a near-total ban on AI in elementary schools. That is education, not care, and Norway is not the Netherlands. But the signal is consistent across European public-sector regulators in 2025 and 2026: AI in high-stakes, high-trust workflows is being scoped tighter, not looser. The pure-agent path is getting harder to defend over time, not easier. The hybrid path is getting cheaper, because the tooling and the eval discipline are maturing fast.

Plan your intake stack for the regulator you will face in 2028, not for the demo you want to ship in 2026.

The five-minute audit you can run today

Before you score anything, answer four questions in writing. They take five minutes and decide more than the spreadsheet does.

  1. Who is the BIG-geregistreerde achterwacht for every intake your practice handles between 17:00 and 08:00, including feestdagen?
  2. What is the explicit U-classification threshold above which a human must review the conversation before it closes?
  3. Where do agent decisions land in your incident-registration system, and who reads them weekly?
  4. What is the practice's complaint route for a triage decision the patient disagrees with, and is it on the website in plain Dutch?

If any of those answers is "we would have to figure that out," you are not ready to ship an agent — pure or hybrid. Ship the answers first. The agent is the easy part.

When we built the intake-triage agent for a regional zorggroep last quarter, the slow part was not the prompt or the EPD integration — it was the after-hours router and the mapping from agent-logs onto Wkkgz Art. 7 incident-registration. Once those existed, the AI agent shipped in three weeks and per-intake cost landed inside €0.30 of the cost model above.

Key takeaway

Score intake-triage on three axes — cost, IGJ-defensibility, after-hours ownership — and treat any 1 in defensibility as a veto, not a trade-off.

FAQ

Can a pure agent handle after-hours triage if we already contract a huisartsenpost?

Yes, but only as a router: the agent must refuse triage above U3 outside business hours and hand the patient the HAP number and 112. The HAP contract does not cover decisions the agent made first.

How large should the eval set be before we ship a triage agent?

At minimum a few hundred real, labelled intake transcripts spanning a full year, including feestdagen and griepgolf weeks. False-negative rate on spoed-classification is the metric that matters; aim for zero in eval.

How does an agent fit Wkkgz Art. 7 incident registration?

Treat every agent override, every escalation, and every patient complaint about an agent decision as a registrable event. The agent logs become the primary record; the POH or assistente confirms or annotates them weekly.

What deflection rate is realistic for a well-designed hybrid?

We see 65–75% of intakes closed by the agent alone for a general GP practice. GGZ-heavy or chronic-care-heavy practices land closer to 50%, because the conversation needs a human earlier.

ai agentschat agentsoperationsprocess automationworkflowstrategy

Building something?

Start a project