The Android FHIR SDK is a set of Kotlin libraries for building offline-capable, mobile-first healthcare applications using the HL7® FHIR® standard on Android.
Is your feature request related to a problem? Please describe.
Where there is existing patient records on a FHIR server, the process of doing the initial download over HTTP will likely lead to problems. We want to find an alternative approach to handling large initial downloads where we can optimise for low bandwidth and poor connectivity environments.
Describe the solution you'd like
Where a server supports the FHIR bulk data API, (e.g HAPI FHIR), we want to provide an option for invoking the Bulk Data API as part of initial import and then enable the files to be downloaded and imported into the database
Adapt current sync API to allow option for Bulk data API and error handling if Bulk data API not supported on server
Provide functionality within the SDK for handling file downloads (instead of over HTTP)
Add import API for unpacking the data and loading it into the database
For all of the above optimise for poor connectivity environments, be able to handle retries and failures, provide status updates to the client app via the SDK
Provide status messages via the API to the client side to be able to communicate the status with the application UI which should be able to run in the background once the data has been downloaded
NOTE: For GCP: there is a similar functionality on the server side for exporting bundles of resources of a specific type to GCP buckets and then downloading them - see here
Is your feature request related to a problem? Please describe.
Where there is existing patient records on a FHIR server, the process of doing the initial download over HTTP will likely lead to problems. We want to find an alternative approach to handling large initial downloads where we can optimise for low bandwidth and poor connectivity environments.
Describe the solution you'd like
Where a server supports the FHIR bulk data API, (e.g HAPI FHIR), we want to provide an option for invoking the Bulk Data API as part of initial import and then enable the files to be downloaded and imported into the database
NOTE: For GCP: there is a similar functionality on the server side for exporting bundles of resources of a specific type to GCP buckets and then downloading them - see here
Would you like to work on the issue?