What feature do you want to improve?
The muting feature as it works right now requires Sentinel Transitions to update the relevant contact docs following a muting form submitted by the CHW. Because of very slow/unstable connectivity in the field, we notice some weird situations that arise from it. The most frequent one is that the muting form don't get synced for days/weeks, in the mean time the household or place and its descendants remain active and users sometimes continue to submit forms.
A part from the form submissions, from a UX perspective it is not ideal if the contact is not muted immediately, the users sometimes submit extra muting forms as they don't understand what's happening. Some of our UX features like UHC are affected as well.
Describe the improvement you'd like
We would want ideally a muting feature that can work fully offline and that would be immediately effective after it was triggered.
Another solution that would only prevent the form submissions after the muting, could be a improvement in configuration that would make it possible to check if the last form submitted for any of the parents of a contact or the contact itself is a muting form. we could add that check to the form properties to prevent it from being submitted in those cases ( this might be already possible and i'm just not aware of that ).
Additional context
We have noticed this issue for our partner MUSO, where CHWs continue to submit forms for a place/contact supposed to be muted, this make it confusing and difficult specially from a data analysis perspective, the reasons why those submissions are being done is unclear, is it a mistake ? Was the family not supposed to be muted in the first place ? Would the CHW had unmuted the family first before submitting the visit if the family was muted in time ? Are the chws submitting visits forms without actually visiting the family to not be penalized by the UHC scoring ?
initial ticket : https://github.com/medic/config-muso/issues/44https://github.com/medic/config-muso/issues/44
Replacing https://github.com/medic/cht-core/issues/6683 in 3.13 with this issue.
Can someone indicate who to discuss the solution / workaround with (since Bara is no longer available)?
Thanks!
@dianabarsan I can help with this.
And @eljhkrr
Unsure of what is going on here? is this no longer ready for dev? why have I been unassigned?
Looks like @Fatoufall unassigned, i assume that was an accident?
hey my bad...I wanted to add @maremegaye as PO of Muso
This is ready for AT on 6737-validation-shared-lib. (looking back, I picked a terrible name for this branch :) )
For a more technical explanation, please see: https://github.com/medic/cht-core/pull/7087#issue-631375395
Updated documentation here: https://github.com/medic/cht-docs/pull/504
There are no configuration changes that need to be made in order for client-side muting to work - having muting configured correctly in general is enough. You can opt out from running muting on the client by adding an "client: false" param to the config - check documentation for full details.
I tried to cover most situations that could come up and make up for late syncs, avoid generating conflicts. In the end, we still have two processes that execute an action at different times and in different circumstances, so the results of these actions might not always be the same. The documentation has a notes section that ennumerates some situations where we know that muting on the server will have different results than muting on the client:
muting_history for contactsExcept for some edge cases, you should be able to:
muted property) and does not silence/un-silence registrations. The silence part still only happens on the server. Also, in order to "cancel"/"re-enable" tasks, you configuration needs to handle muted contacts itself (just like before).Please be aware that
Most helpful comment
hey my bad...I wanted to add @maremegaye as PO of Muso