I have 3 forms:
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
I have 3 forms:
You should be able to use the queries and linked tables for follow-up forms. See an example with households and household members here:
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:
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!
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.
Many Thanks for the good feedback.Let me do as you have advised and revert back
many many thanks once again
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): https://docs.odk-x.org/tables-sample-app-plot/
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:
And async_assign here:
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)
- For the close_case_form, I am not seeing any choices in the form… the choices tab is blank.
- Note that aggregate is no longer recommended for use with ODK-X but sync endpoint instead, see: https://docs.odk-x.org/cloud-endpoints-intro/
Generally you will need to use services to point your tablet to the server, see:
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.
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
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
see the attached to see the error
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?