I have this relationship: participant - training (tracker capture). A participant can take part in 3 trainings at most.
I register a participant as an entity and in the program stage I select the training (from an option set) is participating in. How to guarantee that a data clerk does not select a training twice for the same participant?
So you will register a program stage per training? Have you considered having a a non-repeatable program stage per training?
I am also thinking there are some options with Program Rules: Home - DHIS2 Documentation
For example hiding an option if the option was chosen in a previous event, showing an error if the option was chosen in a previous event…
I don’t know what would be suitable to do: create 3 non repeatble stage per training or create a repeatable stage with the following data elements: title of training; training completed (1,2,3), as an optionset; because at the end of the day I would like to know how many participants took in all 3 trainings, hown many took part in only two trainings and how many took part in only one training.
I have been reading about program rules as you suggested because I also want to
prevent data clerk from multiple selection of the same value (training completed) for the same participant.
Looking into my use case, I would like to know which way to follow.