I've run into a rule structure issue that I am not sure how to resolve.
I have "address" and "person" entities, and am looking to assign multiple persons to a single address, where each person should only have one address. I setup a screen collecting all persons, then a screen collecting all addresses, then a "Address Assignment" set of screens that run through each address and identify which persons live at that address.
I created a visibility rule on this "Address Assignment" set of screens where once a person has been assigned to an address, they are removed from any additional screen in that set. However, when I return to any of those screens to change a previous answer, I do not have any persons to select from since they have all already been assigned.
Can this be resolved? Should I instead look to use error messages that are displayed when the user selects someone that has already been assigned?
Here's how I wrote the visibility rule (it uses a relationship between contacts and addresses that is defined as "the household members at address"): the person should be displayed on the address assignment screen if
the contact is not a member of the contacts at address
"Returning to a screen" does not undo a prior answer nor change what is already "known" based on prior responses / submission of screens. My suggestion would be to avoid using visibility for your scenario as it appears you want to support changing answers and returning to prior screens. You could use error messages or change your screens to select one address to each person rather than select people for each address. (i.e. run through the assignment screen for each person, thus supporting assignment of multiple people to the same address, but never assigning the same person to multiple addresses.)