The following diagram illustrates the complete architecture of Form Lab and how its components interact:
Form Lab combines several open-source components to deliver a standards-based, interoperable solution for clinical data management, SMART-on-FHIR integration, and structured form rendering.
-
SMART Launcher/Proxy
Simulates an EHR environment for testing and development. It enables SMART-on-FHIR app launches in a controlled context, mimicking real-world workflows without requiring a production EHR. Adds SMART-on-FHIR capabilities to FHIR servers that do not natively support them. Acts as an intermediary for authentication, authorization, and token exchange, ensuring secure SMART contexts.
SMART Launcher GitHub -
Smart Forms
Implements Structured Data Capture (SDC) for clinical forms. Handles rendering, layout, and data collection, and integrates with both HAPI FHIR (CDR) and a Forms FHIR server for seamless data flow.
Smart Forms GitHub -
HAPI FHIR Server
Serves as the Clinical Data Repository (CDR), storing patient and clinical data in compliance with FHIR standards. It provides the foundational FHIR API for interoperability and data exchange.
HAPI FHIR GitHub
Data Flow
- Initial setup loads sample data into HAPI FHIR
- Smart Launcher establishes connection context
- Smart Forms retrieves and submits data through FHIR APIs
- All services communicate via RESTful FHIR interfaces