...
Mark a structure as ineligible for the current plan if there is a RACD Register Family, IRS Spray, PAOT, Mosquito Collection Point or Larval Dipping task type assigned to it.
If a family is marked as ineligible, a card displays with the information and an edit button that opens the register family form.
Mark a structure as inactive if there is a RACD Register Family, IRS Spray, PAOT, Mosquito Collection Point or Larval Dipping task type assigned to it with status = “Ready”
Archive a family, all family members, associated tasks and events if it was already registered
Loop through each family member and archive them
Cancel every task that’s associated with the family where status = “Ready”
Archive every task that’s associated with the family where status != “Ready”
Archive each event that has been submitted
Generate a new task client side to RACD Register Family on that location if the location type is a residential structure.
Archive a family member if it was already registered
Loop through each task
Cancel it if status = “Ready”
Archive it if status != “Ready”
Loop through each event and archive it
Ensure each of these changes syncs to the server and no longer syncs down to new devices.
...
This workflow describes a scenario where the user has added a location that should shouldn’t be there and should be made inactive.
...
The user enters the household
The user taps the household member in the list of members
The user taps the three dot option menu in the top right corner and taps Archive Member
The user is presented with a confirmation dialogue to confirm that they want to archive the family member
The user taps “Confirm”
In the background:
The app loops through and cancels any tasks with status = Ready
The app archives events that have been submitted against that family member
The user is redirected back to the family profile view that lists all members and that member has been removed
In the background, the change is synced to the server and that information is no longer synced down to Android clients. Other Android clients that have these entities on their system need to have them archived as well. Users who do not have them in their system should not download the archived items.
Workflow 6: Archive Family
...
User navigates to the household
The user taps the three dot option menu in the top right menu and taps “Archive Household”
The user is presented with a modal window:
Title: Confirm Household Archival
Text: Please confirm that you want to archive this household. This will dissociate the household, all members and events that have been submitted against this location delete all information and can not be undone.
Buttons: Confirm, Cancel
The user taps “Confirm” and they are returned to the map view
In the background,
The family is archived
Each family member is archived
Each event that has been completed against the family is archived
All tasks with status = “Ready” are cancelled
All tasks with status != “Ready” are archived
A task is generated against that location with “RACD Register Family”
The user sees the location as yellow and can tap it again to complete a register family form.
...
Update every form to add eligibility skip logic to it. (i.e. “is this person eligible for _____?” default = yes) Each form should be updated in the data dictionary
Register Family
Bednet Distribution
Blood Screening
Mosquito Collection
Larval dipping
PAOT
Add logic to the post form save action to support ineligible skip logic in the forms defined in 1 above
Add a card view to the location when a register family task is marked as ineligible
Make sure this button opens the register family form so that a user can register a family
Add Archive Family Member to the option menu
Add the loops that archive the family member as defined in Workflow 5 above
Add Archive Family to the option menu
Add the loops that archive the family as defined in Workflow 6 above
Add support for displaying locations in black that have been marked as ineligible in the map view
Add support for displaying buttons in black background with white text that have been marked as ineligible in the family module’s task list view and the task list view
Update the family name that’s displayed in the task list view if the register family task is marked as ineligible.
By default, it displays “Unenumerated structure” (current behaviour)
If a family is registered, it says the name of the household (current behaviour)
If marked as ineligible display “Ineligible Location”
Add support for marking a location as Inactive as defined in Workflow 21
long press interaction
add a modal
perform the business logic once made inactive as defined in workflow 21
(Samuel Githengi , I’m not sure if this is already done) Create an archival process that:
Marks the “Client” as archived (family or family member)
Marks the task as archived
Marks the event as archived
Update the sync process to sync these archived items from the Android client to the server
Update the server side sync process to exclude archived tasks, events and clients from syncing to new clients