Agents on FHIR

haau3: a caregiver-facing FHIR PHR, and the debate on AI liability and de-skilling — Sep 17, 2026

Brian Fung
Brian Fung
Founder at haau3
Nikolai Ryzhikov
Nikolai Ryzhikov
CTO at Health Samurai
Gino Canessa
Gino Canessa
Principal Software Engineer at Microsoft
Matt Berg
Matt Berg
CEO and Co-Founder at Ona
Malte Sussdorff
Malte Sussdorff
Agentic Engineer at cognovis GmbH
Giulia Baldini
Giulia Baldini
Senior AI Engineer at Coforix
Sep 17, 2026
Add to your calendar:Every Thursday9:00 AM ET3:00 PM ET
Add your demo to the agenda

Register to get the calendar and joining links for the weekly calls

One registration covers every upcoming Agents on FHIR call.

Sign in to register

Don't have an account? Signing in creates one in seconds.

From pharmacy to caregiver to building haau3

Brian Fung is a pharmacist by training — seven years at Mayo Clinic across four Epic go-lives, three of them in direct inpatient care, then a subspecialty in infectious-disease informatics. A 2013 report flagging a shortage of pharmacists able to bridge clinical and technical work nudged him into informatics; a stint at the ONC in 2019–2020 on the 21st Century Cures Act got him deep into FHIR; and three years as a data architect at Verley let him work cross-functionally with engineering, product, and clinical teams on care products.

He resigned in June 2025 to care for his grandmother full-time. Feeding, mobility, bathroom assistance — none of it was familiar, and neither was the coordination her care demanded: paper printouts, faxes, and seven different patient portals with no shared state between them. In November 2025, still caregiving, he built the first version of haau3. His grandmother passed in January 2026; after a few months he opened the app to the public in late July on the CMS Medicare App Library, where it now has around 80 caregivers and patients using it.

Brian Fung
Brian Fung
Founder at haau3

She had like seven different patient portals, and I always had to manage all these passwords and usernames. So this was a very nice feature.

Demo: haau3, a caregiver-facing PHR on FHIR

The app is built around the three steps of CMS's Kill the Clipboard initiative: verify identity via IAL2/AAL2 (CLEAR or ID.me — no username/password anywhere), retrieve records from the CMS Aligned Networks, and share them out as a Smart Health Link or QR code. Record retrieval runs through Fasten Health as the individual access service; Fasten hits the record locator services on both TEFCA and CMS networks and returns ndjson bundles. The sharing screen lets a caregiver pick which record types to include and set an expiration on the link; the resulting Smart Health Link carries a FHIR bundle conformant to the CMS Health Tech ecosystem's shared profile, questionnaire responses, and PACIO observations for advance directives.

Cora is the conversational AI layer, tightly scoped to labs today. Brian's grandmother didn't speak English well and his own Chinese isn't strong, so a bilingual lab explainer was the first thing he needed — English and Spanish are first-class, more languages sit behind the scenes. A "My Story" screen captures patient preferences (what matters to them, treatment wishes, dislikes) as PACIO-conformant Observation resources that ride along in the shared bundle. A separate Find Care flow aggregates real-time slot availability from SMART Scheduling Links publishers (Zocdoc included), filtered by the caregiver's insurance and location, and deep-links to the provider's booking portal — no live scheduling, just a shortcut to the right button.

Under the hood: ingestion pipeline and the haau3 platform APIs

Records arrive as ndjson and land in a haau3-landing layer (Google Cloud Firestore) as close to source as possible, with conformance intentionally not enforced. A staging layer runs a few hundred cleaning, standardization, and normalization rules, enriching labs, vitals, social history, and medications against LOINC and RxNorm — this is where the internal terminology API sees roughly 90% of its usage. The operational store enforces US Core 6.1.0 plus haau3-specific identifiers and clinical enrichments; Brian's pharmacy background shows up in the depth of the medication work. The whole retrieval-to-production process is asynchronous, takes about five minutes, and was recently rewritten to be significantly faster.

About a month and a half before the meeting, Brian extracted the platform layer into a set of B2B microservices accessible via API key:

  • Scheduling — aggregates SMART Scheduling Links publishers on a 6-hour refresh; ~22,000 normalized slots at the time of demo, filterable by status, city, and publisher
  • Provider Directory — a proxy of the CMS National Provider Directory, focused on Practitioner with rev-include for PractitionerRole, Organization, Location, and Endpoint; enriches names and the ~20% of records missing gender
  • Terminology — LOINC and RxNorm with lookup, validate-code, and expand
  • Questionnaires — proxies LOINC's FHIR terminology service to fetch standard definitions (PHQ-9, GAD-7); being built out for CMS early check-in and caregiver-research questionnaires planned for Q4

The near-term CMS-ecosystem roadmap is a scheduling MVP in November, GA in March 2027, and real-time benefits (cost of care) as the other tent-pole item.

How Cora stays scoped — no tools, deterministic context

Cora runs on Gemini 2.5 Flash with no agentic loop and no tools. For each lab the app deterministically retrieves the LOINC code, fetches the patient-friendly explanation from the National Library of Medicine, and builds a compact summary before the LLM sees anything. Brian tried fine-tuning Gemma; performance was worse than off-the-shelf. An earlier version of Cora had tools that could query the Firestore and discuss anything in the record — Brian deprecated it because the maintenance surface and the hallucination surface were both too large.

Brian Fung
Brian Fung
Founder at haau3

I have a very low tolerance for hallucinations. So I don't feel comfortable integrating any sort of agentic loops yet — until I have a better grasp of it.

Nikolai's counter-move for hallucination control is to make the agent produce receipts: inline quotes and links, then a second agent checks that each cited source exists. Matt Berg extended the point in a different direction — with today's coding agents, teams can write vastly more deterministic code than any human would ever bother with, so the AI's job at the end is often just to render a deterministic result in natural language. Malte added that clinicians in his group get real value from passing patient records into the prompt on-demand — it replaces the copy-paste-into-ChatGPT workflow that's happening anyway.

Matt Berg
Matt Berg
CEO and Co-Founder at Ona

Using agentic coding, you can actually just write super extensive deterministic code. So all it's doing at the end is just interpreting — the patient is positive for X, tell them in natural language.

Clinician vibe-coding bootcamp

Brian runs a coding bootcamp for clinicians with no prior coding experience — dentists, pharmacists, nurses, physicians, social workers. Two-week cohorts teach the fundamentals of building an application and then ship a full-stack Next.js prototype deployed on Vercel, using Claude Code as the primary tool. The first cohort all shipped; some landed new jobs at the clinical-technical intersection. Current-cohort projects include an AI companion for CAR-T patients, a topical-steroid safety assistant, a medication tracker, a benefits lookup tool, and a crowdsourced prior-authorization app that's actively seeking users.

Over a hundred people have expressed interest in the last two months, but Brian still sees it as early-adopter territory — plenty of clinicians push back that coding isn't what they trained for, and the ones who do jump in still weigh the trade-off carefully.

Liability, de-skilling, and where trust lands

The same question kept surfacing: what happens when a physician's vibe-coded tool contributes to a bad outcome? Gino argued a physician's liability insurance probably doesn't cover software they wrote themselves, and discovery in a real suit would surface the software's role. Malte suggested the liability question only bites if the clinician lets the tool give the answer rather than making the decision personally. Matt pointed at the split between a licensed AI diagnostic (where the vendor takes the hit) and an in-workflow tool the clinician uses to think — the diagnosis is still the doctor's.

Gino Canessa
Gino Canessa
Principal Software Engineer at Microsoft

I don't think the physician's liability insurance covers software.

Nikolai's framing was that the human is ultimately paid to take responsibility for decisions, not to make them a specific way — the tool is beside the point if the human owns the outcome. Matt agreed and pushed further:

Matt Berg
Matt Berg
CEO and Co-Founder at Ona

In five years, are you gonna trust your doctor more, or an AI? I'm gonna trust an AI more in five years than any doctor.

Brian was more cautious. Research already shows clinicians over-trust AI even when it's wrong, and new physicians trained with heavy AI reliance may lose the foundational skills that let them override a wrong answer. Gino agreed de-skilling is real but framed it as a normal technology-adoption pattern — dive tables, car maintenance, dozens of other skills have been displaced by reliable tech, and medicine is no exception. Matt and Malte both raised continuous ambient observation (Apple Watch signals, video, respiratory patterns) as the next inflection, though Brian pushed back that consumer-device data carries systematic error — his weight scale's heart-rate reading is elevated every time because he walks upstairs to reach it — and that even in clinical settings, charting timing and rounding introduce bias.

Malte Sussdorff
Malte Sussdorff
Agentic Engineer at cognovis GmbH

Observations in FHIR contain the device they were made on. This is exactly for that reason, so whoever is the AI can take that into account.

Denmark FHIR hackathon on October 6

Giulia flagged a FHIR hackathon in Denmark on October 6 that she'll be joining after recently moving there. One track, led by Jens Willadsen — who has presented in this group before — focuses on building FHIR proxies over non-FHIR portals; a second track covers Smart Health Links and cross-border data sharing for the Denmark–Germany border, including consent management. Nikolai pointed out the contrast with Brian's work: Brian benefits from an existing US FHIR infrastructure, while Jens is building the proxy layer that would make the same stack possible in Denmark.