External FHIR servers as a data backend
This article outlines how to use Aidbox Forms with external FHIR servers.
Overview
Aidbox Forms module uses Aidbox's FHIR API capabilities to store all it's data. But sometimes it's appropriate to use other FHIR backends. Aidbox Forms provides a simple and granular way to specify external FHIR servers for data management.
Data Domains
Data used by Aidbox Forms
has different nature and can have different storage requirements and strategies.
We split data in 4 domains, and last 3 of them can have it's own FHIR backend:
Because
system resources
are non FHIR resources - there is no FHIR backend configuration for them.
System resources
- non-FHIR resources, used byAidbox Forms
for extended functionality.Content resources
-Questionnaire
resource (the main focus and result ofForms Builder
).Terminology resources
-ValueSets
andConcepts
.Production resources
-QuestionnaireResponse
resource and other FHIR resources that contain PHI/Production data.
Storage Defaults
By default all data is stored in Aidbox and there is no need for any configuration.
Storage Configuration
Storage configuration lives in default SDCConfig
resource. (read more)
IMPORTANT: config should have default: true
property set
Storage Configuration structure
For every domain we have separate key:
form-store
- content resources domaindata-store
- production resources domainterm-server
- terminology resources domain
To enable external FHIR Backend we should specify next fields for it:
endpoint
- URI to FHIR APIheaders
(optional) - Additional HTTP headers for requests (Authorization for example)
Example:
Form Storage
Store Questionnaire
resource only
WARN: assembled forms and components are not yet supported with external storage.
Data Storage
Store QuestionnaireResponse
and all FHIR Resources except Questionnaire
.
This store will be used as source in $populate
operations, and as target in $extract
+$process-response
operations
Terminology service
ValueSet
search andValueSet/$expand
operation
Full config example:
Multitenancy Support
Default system
SDCCOnfig
(forroot
Organization) does not take effect on tenantsEvery tenant have their own default config and thus separate FHIR backends setup
Last updated