FHIR Core / OpenSRP 2 is a Kotlin application for delivering offline-capable, mobile-first healthcare project implementations from local community to national and international scale using FHIR and WHO Smart Guidelines on Android.
Client - An entity that has data collected against it (e.g. Family/Household, Family/Household member, Patient, Service Point or Product).
Client Location - This term is used to refer to location(s) associated with the client.
This would mean the location where the family or family member lives, for the case of the SID (Summit Institute for Development) applications
This would mean the service point where data collected belongs to, for the case of EUSM (End User Supply Monitoring)
Sync Locations - These are the locations used to filter the data to be synced to the application.
Context
Sync by Client Location means getting all the resources that have a Client Location ID that is a child or equal to the user sync locations.
The Sync Locations will be part of the request parameters. These will be found on the syncLocation param.
This ticket is to add the ability to define how the Client Location sync strategy defines the syncLocation param
If the ClientLocation.userAssignedLocation == true the mobile application does not need to generate the syncLocation params. This will be handled by the FHIR Info Gateway as defined here
This config should also be set to true by default
Technical Description of enhancement
[ ] Update the gradle to add the ClientLocation.userAssignedLocation config
[ ] This should be added to the flavours configs since each flavour can define its own value.
Acceptance criteria
[ ] Fhircore flavours should be able to define the ClientLocation.userAssignedLocation on their own
Implementation plan (For Engineers)
The plan for implementing the solution e.g. via a description or a check list for the various ordered tasks that will need to be completed.
i.e. Describe how you intend to solve the problem
Keyword Definition
Context
syncLocation
param.Client Location
sync strategy defines thesyncLocation
paramClientLocation.userAssignedLocation == true
the mobile application does not need to generate the syncLocation params. This will be handled by the FHIR Info Gateway as defined heretrue
by defaultTechnical Description of enhancement
ClientLocation.userAssignedLocation
configAcceptance criteria
ClientLocation.userAssignedLocation
on their ownImplementation plan (For Engineers) The plan for implementing the solution e.g. via a description or a check list for the various ordered tasks that will need to be completed. i.e. Describe how you intend to solve the problem