As you know that it is possible to enroll Tracked Entity Instances (TEIs) in more than one program; therefore, TEIs has specific attributes; however, for each program it is possible to add even more attributes that are relevant to the program.
For instance, a Tracked Entity can have two main attributes (First Name, and Last Name); however, a program might require more attributes such as (Gender and DoB). As a result, this is why in the API request you are able to see the attributes twice (once the TEI attributes and then in the program they are enrolled in, you can see the TEI attributes including the attributes that are related to the program they are enrolled in.)
I hope this helps! Thanks!
Yes sir. It’s the same attribute but in different sections. One section for the TE attribute and one section for all the attributes in the program including the TE attributes.
OH. I konw , thanks.
but , the value for tei can be differ from value for program?
The TEI attribute should be the same in enrollment as well as without enrollment. For instance, TEI attribute “first name” should be the same whether the person enrolled in a program or not, and even the same if the TEI enrolled in more than one program.
On the other hand, attributes that are not directly linked to the TEI only through the program can be different from one program to another. For example, if a person registered in “Arts program” with attribute “learning level” value as 1, but this same person registered in “Mathematics program” with attribute “learning level” value as 10, so the attribute “learning level” is the same but the value is different from program to another. However, if “learning level” was linked directly to the TEIs then it should have the same value in all programs.
I hope the examples make it clearer. Please let me know if something is still not clear about this.