$load & /fhir/$load
You can efficiently load data into Aidbox in ndjson gz format from external web service or bucket. There are two versions of $load - /$load
and /[resourceType]/$load
. First can load multiple resource types from one ndjson file, second is more efficient, but loads only for a specific resource type. Both operations accept body with source element, which should be publicly available url. If you want to secure your import use Signed URLs by Amazon S3 or Google Storage.
There are two versions of this operation - /fhir/$load
accepts data in FHIR format, /$load
works with Aidbox format.
Resource requirements for all load operations:
Operation | id | resourceType |
---|---|---|
| Required | Required |
| Required | Required |
| Required | Not required |
| Required | Not required |
Keep in mind that $load does not validate inserted resources for the sake of performance. Pay attention to the structure of data you insert and use the correct URL for your data format, i.e.: use /fhir prefix for FHIR data.
When loading resources with references, remember that '<resourceType>/<id>'
is FHIR format and should be used in /fhir/$load
operation, as well as {"resourceType": "<resourceType>","id": "<id>"}
should be used in /$load endpoint.
Please consider using Asynchronous validation API to validate data after $load
Load 100 synthea Patients to Aidbox (see tutorial):
update: true
By default for performance reasons $load
does raw upsert into resource table without updating history. If you want to store the previous version of resources in history, you have to set update = true,
with this flag Aidbox will update history for updated resources.
strip-nulls: true
By default for performance reasons $load
does raw upsert into the resource table without cleaning up null
values from imported resources. To make import behave in the same way as the Create
operation, use options strip-nulls: true
merge: object literal
object literal
It's possible to merge some data into every loaded resource using merge
option. A shallow merge will be used.
$load multiple resource types
Or load the whole synthea package:
Import local file
Sometimes you want to import local file into local Aidbox. Possible solutions for local development:
Add volume to the aidboxone
container (not aidboxdb
):
aidboxone
container (not aidboxdb
):Use tunneling e.g. ngrok:
Last updated