Inferensys

Glossary

FHIR Facade

An architectural pattern where a FHIR-compliant API layer is placed in front of a non-FHIR data source, translating FHIR requests into the backend's native query language.
Large-scale analytics wall displaying performance trends and system relationships.
INTEROPERABILITY ARCHITECTURE

What is FHIR Facade?

A FHIR Facade is an architectural pattern that provides a standards-compliant FHIR API interface in front of a non-FHIR backend system, translating FHIR requests into the native query language of the underlying data source.

A FHIR Facade is a translation layer that presents a non-FHIR data source—such as a legacy SQL database, HL7 v2 interface, or proprietary EHR repository—as a fully compliant FHIR server. It intercepts incoming FHIR RESTful API calls, dynamically converts them into the backend's native query language or API calls, and transforms the returned data into valid FHIR Resources like Patient or Observation before responding to the client.

This pattern enables rapid interoperability without migrating or restructuring existing data stores. The facade handles the complex mapping logic, including terminology binding and FHIR Profile conformance, while the source system remains untouched. It is a pragmatic bridge for legacy systems to participate in modern healthcare networks governed by SMART on FHIR and US Core standards.

ARCHITECTURAL PATTERN

Key Characteristics of a FHIR Facade

A FHIR Facade is a strategic interoperability layer that provides a standards-compliant FHIR API while masking the complexity of a non-FHIR backend. It translates modern RESTful requests into the native query language of legacy systems, enabling seamless data exchange without costly rip-and-replace.

01

Protocol Translation Engine

The core function is translating a FHIR RESTful request (GET, POST, PUT) into the backend's native protocol. This often involves converting a FHIR Search Parameter into a legacy SQL query against a proprietary schema or an HL7 v2 MLLP message. The facade must handle the impedance mismatch between a stateless, resource-oriented API and a stateful, message-oriented backend, ensuring the correct FHIR Bundle is assembled and returned.

02

On-Demand Resource Mapping

The facade executes just-in-time transformation of backend data into FHIR Resources. Unlike a bulk ETL process, mapping logic is applied at query time. This requires a robust mapping engine that can:

  • Normalize legacy identifiers into a FHIR Identifier data type.
  • Construct a CodeableConcept from local code tables.
  • Assemble a FHIR Provenance resource to track the data's origin and transformation history, maintaining a clear chain of custody.
03

Terminology Service Integration

A critical characteristic is the ability to call an external FHIR Terminology Service during translation. When a legacy code like 'M-123' is encountered, the facade performs a $translate operation to map it to a standard SNOMED CT or LOINC code. This ensures semantic interoperability, allowing the facade to populate the coding array within a CodeableConcept with both the proprietary code and its standard equivalent.

04

Profile Conformance Layer

The facade is responsible for shaping backend data to conform to specific FHIR Profiles, such as US Core. It must enforce cardinality, apply FHIR Extensions for data elements missing in the base resource, and ensure mandatory terminology bindings are satisfied. This layer validates that the generated resource meets the exact structural and semantic requirements of the target Implementation Guide before returning it to the client.

05

Idempotent Transaction Handling

To support write-back scenarios, the facade must manage FHIR Transaction Bundles. It decomposes a bundle containing multiple resources into discrete backend operations, ensuring atomicity. If the backend lacks native transaction support, the facade must implement compensating actions to roll back partial changes on failure, returning a detailed FHIR OperationOutcome resource that lists any errors or warnings for each entry.

06

Stateless Caching Strategy

To reduce latency on the non-FHIR backend, the facade often implements a read-through cache for frequently accessed reference data like Patient or Practitioner resources. This cache is populated using FHIR Bulk Data Access exports or incremental FHIR Subscription notifications. The caching layer must respect the FHIR Consent resource, ensuring that cached data is not served to unauthorized clients, thereby maintaining privacy directives.

FHIR FACADE ARCHITECTURE

Frequently Asked Questions

Clear, technical answers to the most common questions about implementing a FHIR Facade to bridge legacy healthcare systems with modern interoperability standards.

A FHIR Facade is an architectural pattern where a standards-compliant FHIR API layer is placed in front of a non-FHIR data source, translating incoming FHIR requests into the backend's native query language in real-time. The facade acts as a protocol translator and data mapper, intercepting RESTful FHIR calls—such as GET /Patient/123 or POST /Observation—and dynamically converting them into the SQL queries, HL7v2 messages, or proprietary API calls required by the underlying legacy system. Critically, the facade does not persist data; it performs just-in-time transformation, mapping the backend's relational tables or flat files into FHIR resources like Patient, Observation, and MedicationRequest on the fly. This allows organizations to achieve HL7 FHIR compliance without replacing or migrating their existing clinical data repositories, providing a bridge between legacy infrastructure and modern SMART on FHIR applications.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.