Is there a way to select your case and then get the list of available forms?

Let me describe in more detail as to what I mean in the title here.

So this is my Test App:

I have a registration form which allows you to create an owner, this owner has a checkbox list where you can select both dog and cat or just one of them. If dog or cat is selected a case for a dog or cat is created as a child case automatically on the creation of an owner case. This is setup in the Add Owner Case Management tab. See pic below

Here is the question from a user point of view. Is there a way to first select the Owner case and then only show the cat form if cat was selected for that owner or only show dog form if the dog was selected, or show both cat and dog forms if they were both selected. Im not sure if this is possible, as its a one to one relationship.

Any ideas of how to achieve this or something similar would be much appreciated!
I am currently doing it as explained in my above picture, but this means it will always show the cat and dog forms meaning you select the form and then get the list of available cases.

Not sure if this is the same thing you're talking about, but, if you "select parent first" in the caselist, and have a display condition looking at a case property "has cats" and "has dogs", you can probably hide the cat form if there are no cats, and same for dogs. if both exist, they'll both show up.

the only nuisance here is that you would have to structure things in a way that allows for this to happen. so, one caselist that is only used for registration of owners, and another caselist for followup. This second caselist will have 2 forms. Dog followup and Cat followup.
There would also be two hidden calculations in the registration form that read
owns_dogs -> Calc condition is : selected(cat_dog_list,"dog")
owns_cats -> calc condition is : selected(cat_dog_list, "cat")
those functions should return "true/false"
in the display conditions against the followup forms, you would have "has_dogs" and "has_cats" respectively.

That should do the trick. from there, the user would select only the child cases, i.e. the "Pet" cases.

i do not recommend that you have two different case types for the cats and the dogs. one case type with a property of "pet type" is probably better. you can also use that property to display and hide other forms if you wish to. with the same approach, you can have forms hidden if the property reads "cat" or "dog".

Hope this helps,

Mazz

that should do the trick.

Hi!

You can accomplish this without needing subcases as well.

Any Module which doesn't include a registration form will by default ask the user to select a case from the case list then afterwards show the user the forms in the module. The selected case can be used in Form Display Conditions to hide relevant followup

Add-Ins to Activate

  • Menu Mode
  • Display Conditions
    Module 1 - Only contains a registration form. Menu Mode set to "Display Only Forms." Registration form captures "Pet Type" -> dog or cat into the case

Module 2 - Registration form deleted. Case type the same as Module 1.

  • Dog Followup form condition (Settings -> Logic -> Display Condition): ./pet_type = 'dog'
  • Cat Followup form condition (Settings -> Logic -> Display Condition): ./pet_type = 'cat'

This produces the following user experience, which is (I believe) what you are looking for

-Clayton

Thank you so much for the response guys! Super appreciate it as I was able to use what you guys suggested to make the necessary changes to get it to work in a similar fashion. Sorry about the late response.