For us here in Rwanda, we are much more interested in having feature #2. We want to automatically sync everything from the child to the parent server, but only few objects (…like patient identifiers, concepts, locations and other metadata) back to the child servers.
Other patient data (…like encounters and obs) would only be synced back to the child servers if requested.
We have two sync networks, one with a parent server and 21 child servers and another with 1 parent server and 12 child servers. Syncing everything back to the child servers results in a lot of errors and much of it is unnecessary traffic on the network as some patients may never travel to that particular health center/hospital where the data is being sent.
I’m also in favor of spending more time investigating other solutions but having this feature added to the sync module would help implementations that are already using the module while we are searching for better solutions.
For feature #1, the only objects I can think of that would be filtered base on location (health center/hospital location) in our case are reporting objects. Trying to limit obs and encounters or even forms and other metadata would probably results in a lot of errors and bugs as they always have
references/dependencies among them.
@jdick, …based on the kind of errors thrown by the module, I think it would be better to have a developer doing the maintenance. You can check the sync bug blog to see the frequent errors and how they are fixed.