FHIR Platform
Edenlab's Kodjin data platform: FHIR server, terminology service, data mapper and profiler, plus custom FHIR development services.
- FHIR Server
- HL7 FHIR Consulting
- FHIR Implementation
FHIR service
FHIR migration covers three distinct jobs: moving interfaces from HL7 v2, CDA or proprietary APIs onto FHIR; upgrading existing FHIR implementations from DSTU2 or STU3 to R4; and moving FHIR data from one server or platform to another. Each carries its own risks, but all share one rule: consumers of the old interface must keep working until they have moved.
| Migration type | Main challenge | Helpful references |
|---|---|---|
| HL7 v2 / CDA / proprietary to FHIR | Semantic mapping and replacing event-driven behavior | HL7 v2-to-FHIR IG, C-CDA on FHIR IG |
| DSTU2 or STU3 to R4 | Breaking structural changes in resources and profiles | FHIR R4 version maps and change logs |
| FHIR server or platform switch | Preserving IDs, history, references and search behavior | Bulk Data export, transaction Bundles |
Many organizations combine types, for example retiring an STU3 server and moving to a managed R4 service in one program. Treat each as a separate risk register even if they share a timeline.
This is rarely a full replacement. HL7 v2 remains the norm for many real-time hospital feeds, so a typical migration converts v2 messages into FHIR resources for downstream consumers while the source keeps sending v2. Our FHIR vs HL7 v2 guide explains why the two coexist.
FHIR R4 (4.0.1) was the first release with normative content, and US Core and the CMS-referenced IGs are built on it. Older implementations face real breaking changes rather than renames. Examples that affect most upgrades:
{
"resourceType": "Condition",
"clinicalStatus": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
"code": "active"
}]
},
"code": { "coding": [{ "system": "http://snomed.info/sct", "code": "44054006" }] },
"subject": { "reference": "Patient/example" }
}If you are weighing a jump beyond R4, see FHIR R4 vs R5; for US regulatory work, R4 remains the target.
Even when both servers run R4, a move can break consumers. Decide up front whether resource IDs must be preserved (clients often store them), whether version history and `meta.lastUpdated` values matter, how references between resources are rewritten if IDs change, and whether search results and paging behave identically. Export via `$export` or paged reads, load via transaction Bundles or the target's bulk import, then reconcile counts and sample records resource type by resource type.
Run in parallel, with a rollback path
Keep the old interface or server live while consumers move, compare outputs between old and new, and define in advance what would trigger a rollback and how long one would take.
Migration is often the first phase of a broader FHIR implementation; when that is the case, evaluate partners for both.
Migrations suit a fixed-price assessment that inventories sources, consumers and mapping complexity, followed by a delivery phase priced against that inventory. Cost rises with the number of message types or resource types, the proportion of custom extensions and local codes, data volume and history depth, the number of consumers to coordinate, and the length of the parallel-run period.
Conversion tooling and the HL7 v2-to-FHIR mapping work can handle standard segments, but every real-world interface has local conventions and Z-segments. Expect to review and extend any automated mapping, and to test with production-like message samples.
No. R4 introduced structural changes to several commonly used resources and to search parameters, and profiles must be re-targeted. Data, server and client code all need changes and testing.
For US regulatory use cases, no: US Core and the CMS-referenced IGs target R4. R5 may make sense for specific non-regulatory features, but check that your server, partners and tooling support it before committing.
Inventory consumers, publish the new endpoint alongside the old one, run both in parallel, communicate a deprecation date and monitor traffic on the old endpoint before switching it off.
Vendors in our directory that state they offer this service. Not a ranking · affiliated company shown first and labelled · others alphabetical.
FHIR Platform
Edenlab's Kodjin data platform: FHIR server, terminology service, data mapper and profiler, plus custom FHIR development services.
Tell us what you need to build or connect. We review every request and share a short list of relevant vendors from our directory — no obligation.