Transforming HL7 version 2 to FHIR
summary
A practical, code-first account of turning HL7 v2 event feeds (ADT and lab) into a FHIR-backed clinical data repository, showing a Python generic translator that exposes identity gaps, duplicate creation, out-of-order messages and merge logic needs. Uses conditional operations and transactions where possible, but relies on Provenance to detect dropped allergies and on caching/event replay to reorder and dedupe. Real-world scale: ~5M v2 messages/day → ~100M FHIR resources (~73 TB), so performance and nightly duplicate-merge jobs matter.
AI-written summary · about
chapters (18)
- 0:00Introduction to HL7 v2 to FHIR
- 1:03Use case and transformation goals
- 3:33Messaging vs clinical data repository
- 5:40Initial transformation approach with transactions
- 7:53Identity management challenges
- 11:47Logical vs business identifiers
- 13:10Practitioner resource mapping issues
- 15:01Allergy intolerance state handling
- 18:53Why transactions don't work
- 19:35Patch operations and partial updates
- 22:00Merge logic requirements
- 23:24Caching and event replay strategies
- 24:51Message filtering and deduplication
- 26:41Concurrency and out-of-order messages
- 27:44Data enrichment and cleansing
- 28:25Performance and scalability concerns
- 29:30Summary of challenges and solutions
- 31:58Q&A session
related talks
21mEvents with FHIR: a Simplified Way to Unify Health Data
20mRevolutionize Health Apps: Leverage Legacy for Massive Scale
19mTurning data into better healthcare: data for hemophilia
44mThinking in FHIR: The Curious Case of the Encounter++
43mManaging multiple versions
02h 01mLet's Build a FHIR App: Introduction HAPI Library for FHIR
43mEnglish introduction to FHIR
54mPlenary Session
