android-fhir
android-fhir copied to clipboard
Decoupling Sync APIs from FhirEngine for Broader Functionality
Describe the Issue FhirEngine package is reponsible for handling all apis related to storage. Sync package is reponsible for handling all apis related to sync.
However we identified certain issues in the current implementation of placing the sync APIs in the FhirEngine interface:-
- Tightly coupled Sync and FhirEngine packages.
- Misplaced responsibilities like UploadProgress in FhirEngine package
- Redundant data models like SyncUploadProgress and SyncJobStatus.InProgress
- #2386
- #2363
We realized that these issues stem from the assumption that the custom sync APIs (syncUpload and syncDownload) are used against a FHIR-server. This makes using the sync APIs in the FhirEngine interface difficult.
Hence we decided to refactor the sync APIs and move them to an internal interface just like FhirEngine called FhirSyncDbInteractor. More information in this doc.
Would you like to work on the issue?