How do I add another case of follow up to a follow up form

I have 3 forms:
registration
follow up and close up
My question is:I have filled the follow up form.How do I fill another follow up form that is linked to the registration and the previously filled follow up form
Many thanks

Hi @Duncan_Otieno!

You should be able to use the queries and linked tables for follow-up forms. See an example with households and household members here:
https://docs.odk-x.org/xlsx-converter-using/#linked-tables
If the issue is just linking the data with some identifier, then having a follow-up form as a subform with the queries feeding in the ID will do it.
To link to specific data from the previously filled follow-up form, you can pull in data using async_assign, see the details and examples here:
https://docs.odk-x.org/xlsx-converter-using/#customizing-prompts
For example, if you want to pull in blood pressure last visit, you can do that with async_assign

Let us know how that goes and any follow-up questions!

1 Like

Many many thanks @elmps2018.
Attached are my forms .I think am still missing something
Please have a look
CBS_Case_Report.xlsx (25.6 KB) CBS_follow_up.xlsx (20.9 KB) CBS_Close_case.xlsx (15.7 KB)

So looking at your forms, it looks like you have one table, called CBS_Case_Report, and then you are having the forms CBS_follow_up and CBS_Close_case write to that same table (they have a table_id of CBS_Case_Report). What that is going to mean is you have one observation for a case and you keep updating their data by going into the different forms. So each visit it will update their data, but you won’t have data after that about previous visits. If you want an observation/instance to be a case or person, this structure works fine, and all the data from the first visit will still be there at the second visit and you can update it. If you want to have an observation/instance be a visit, you’ll need a separate table – so a visit table that the CBS_follow_up would write to for each additional visit. You could then display the data from the first or most recent visit (using async_assign), and each time have a separate record for a visit.

@elmps2018
Many Thanks for the good feedback.Let me do as you have advised and revert back
many many thanks once again

1 Like

Many many thanks
I was guided by femaleClients table that has all these forms
addClient, client6Month,client6Week,femaleAllFields,femaleClients and screenClient

I am still stuck on how to make the 1st follow-up form populate CBS_Report_Form and the subsequent follow-up to populate the visit table

A breakthrough will be much appreciated

If the initial information is collected in CBS_Report_Form, why would the first follow-up fill in the CBS_Report_Form? Do you know how many visits you will have? The femaleClientstable has two defined visits at 6 weeks and 6 months. If you want to have additional visits for many visits, I think you want to collect the initial data in CBS_Report_Form and then have each visit after in a visit table. Then you can create a form (and corresponding separate table) for each visit, where the table_id is CBS_follow_up and the form_id is also CBS_follow_up. You would need to update the config>tables folders to have another for CBS_follow_up, then you can record each visit. This would be like the plot visits example (visit): Plot Demo — ODK-X Docs

1 Like

Hello @elmps2018
Exactly I want to have the initial data in CBS_Report_Form and then subsequents visits in a follow up form then final should there be close case(incase a client dies )

The plot visit example is the thing but I dont get it how to link the tables since they are 2 separate tables and am missing where they link

To link the tables, you are going to need to use queries and likely async_assign. The queries are what link/feed data across forms, and async_assign lets you pluck out a value from another form. The visit form has a few good examples of queries using async_assign; for example min_max_yield is used to find the maximum yield in one case and the minimum in another – you can see the implementation in the queries and surveys sheets. You could do something similar to calculate blood pressure last visit, or highest blood pressure.

The queries are documented here:
https://docs.odk-x.org/xlsx-converter-using/?highlight=queries#linked-tables
And async_assign here:
https://docs.odk-x.org/xlsx-converter-using/?highlight=async_assign#customizing-prompts

Many many Thanks @elmps2018
Am now somewhere see the attached
Now am having 2 problems:
1.The close_case_form now does not take in questions with choices.It malfunctions
2.I have successfully installed aggregate on digital ocean and mapped domain name to a dns. How can I now set my tablet to point this aggregate server
Thanks a million once againCBS_Case_Report.xlsx (27.4 KB) CBS_follow_up.xlsx (22.2 KB) CBS_Close_case.xlsx (15.7 KB)

  1. For the close_case_form, I am not seeing any choices in the form… the choices tab is blank.
  2. Note that aggregate is no longer recommended for use with ODK-X but sync endpoint instead, see: ODK-X Cloud Endpoints — ODK-X Docs
    Generally you will need to use services to point your tablet to the server, see:
    Managing ODK-X Services — ODK-X Docs

Many thanks
These are the forms am referring to:
The close_case_form is unable to move past any question with choices.
Please see the attachment and adviceCBS_Case_Report.xlsx (27.4 KB) CBS_follow_up.xlsx (22.2 KB) CBS_Close_case.xlsx (15.8 KB)

Many many thanks @elmps2018

At least one issue I can see in the forms is that since the close_case is writing to the follow_up table, the follow_up table needs to have all the close_case variables in the model statement. So the model needs to include close_case, for example, but does not. All the choices should also be in the follow_up form, since that is the one (where table_id==form_id) that defines the properties and definitions of the table.

1 Like

Many many thanks
I have dried aggregate on google cloud and failed
Tried again with digital ocean with little success-am able to login to aggregate but cannot upload the forms
I have move to cloud endpoint with digital ocean again have been successful but cannot log in to LDAP server despite keying in these credentials

login DN: cn=admin,dc=example,dc=org

  • password: admin
    Am getting the attached error

I have gone through this:
../_images/setup-user8.png

Note

If you are unable to log in, you may need to take the docker stack down and bring it back up again. That can be done with the following commands below:

$ docker stack rm syncldap

$ docker stack deploy -c /root/sync-endpoint-default-setup/docker-compose.yml syncldap
without success
see the attached to see the error
Please assist

At least the error messsage says can’t contact LDAP server for user – the instructions above are for the login to be cn=admin,dc=example,dc=org, so perhaps this is part of the problem?