Patient database?

Hello, I am in charge of managing the collection and analysis of data for a team of social streetworkers. The team uses Kobo on a daily basis to keep track of services rendered.

We have a question: is it possible to use Kobo to create and feed “patient files” and thus create a data-base of our beneficiaries. In concrete terms, the idea would be to be able to create a single file per person followed, containing their basic social and medical information. The key function that we currently lack is to know, when we type a name in a free text tab provided for this purpose, if the person is already in the database. This would allow us to avoid duplicates.

I hope I was clear.

Thanks in advance,


1 Like

Hi @transitoutreach and welcome to the community!

That feature is called dynamic data attachment or case management. There is a help article to how to use this:

A forum search will give you some examples of people using it.


It is applicable with two methods;

1 - one is you can reference the form to itself, so if there is any match, it will bring the information from the submitted data.

2- Another one is the create a different form, where you store some basic information, such as name, gender, age, and contact information, and in the other form, you can bring information from there with the name.

You can find both method in the form, If you need further details please feel free to ask


Could you add the form, please?

You can find it above,

1- If you would like to connect it to the form itself, just use the same form name instead of a second form.

1 Like

Thank you very much.

I just tried, with a default form (Last Name, First Name, Nationality), to ask it to share information with itself. I have made several encodings with the same surnames and first names but I have no reminder in the form to warn me that this name is already registered in the database. Do I have to go through specific xml functions? Sorry, i’m a noobie ^^

So you need to have a parent and child from,


In Parent form, you will have Name and Surname Together and Gender.
In child form, you will have Name and surname again and Gender and the rest of the information.

And you will connect these two forms by Name and surname when you entered a new value to the child form, and if it matches, it will bring the Gender. If it is not getting any information, then you need to go to the parent form and fill the parent form first. After that, you will be able to fill out the child form.

If it brings you a gender, that means this person is already registered.

Important: It will not warn you if the person exists, It will just bring the gender and when you see it you will understand it is duplicating

As you can detect that the case exists, you can also combine this with a (blocking) error message.

Attention: A duplicate can be created if two enumerators enter the same (new) person in parallel. This could happen for the parent or for the child form.

@transitoutreach, you could avoid duplicate entries in dynamic data as outlined in this post discussed previously:

1 Like


Thanks a lot ! This is exactly what we need !

What à community :heart: !

1 Like


I wanted to test the generic form you sent (The form is well linked on itself)…but I have a systematic loading error. It says: “Failed to load survey.xml.”…I don’t really have any expertise in this area. Can someone help me again? Thanks

@transitoutreach, this is a dynamic data attachment feature, so you will need to go through its documentation here.