Case study 03
EMR results integration
Lab results delivered into client EMRs over SMART on FHIR without asking a single clinician to change how they work.
Context
Client practices receive results from our lab and record them in their own EMR, most often Epic. Integration work is gated by each client's IT calendar, not ours, which makes sequencing the real design problem.
The problem
Results arrived as PDFs. Staff opened them and typed values into the chart, which introduced transcription errors and put a clinical result behind a manual step.
I sized it from client support tickets and two site visits: how many results per day, how long each took to enter, and how often a value was corrected after the fact. I ran the same discovery process with 10+ clients and partners to define each site's integration roadmap, which cut integration scoping time by 40% once the pattern was repeatable.
Why this and not something else
Several sites asked for an SFTP drop with a custom CSV. I refused to build per-client formats. Each one becomes a permanent maintenance obligation, and none of them put the result inside the chart where the clinician actually looks.
I also did not build a portal. A portal is another login and another workflow; the point was to require no new behaviour from clinicians at all.
Decisions and tradeoffs
Standards over convenience: FHIR resources with a narrow HL7 v2 bridge for sites that could not move yet, on a documented sunset.
Phase one covered the four highest-volume result types and four sites. Discrete observation coding, amendments, and reflex ordering were deferred and written into the roadmap with the reason attached.
Constraints
Compliance review sat on the critical path, so I front-loaded the security questionnaire before engineering started. Client IT windows were narrow and rare. Timezone spread meant integration testing had to be scripted rather than watched.
Outcome
Results land in the chart on their own. The clinician workflow is unchanged, which was the constraint the whole design was built around.
Sales started using the integration as a reason to switch labs, which was not a goal I had written down.
What I'd do differently
I underestimated how long client-side IT approvals would take and framed the timeline around our engineering capacity. Next time I would sequence the roadmap around client windows first and treat our build as the flexible part.
Open to technical product management roles.