Complete one Stage before another Stage

Dear All,
Is there a way to set DHIS2 Tracker to force a user complete one stage before completing another stage? (Clicking Complete button)
Let’s say there are two stages in a program namely Registration and Service Delivery. I don’t want the Service Delivery stage completed before the Registration Stage is completed.

You can recommend any version of DHIS2 which can do that.

Jhpiego Malawi

I was able to solve this…

Step 1: Create an Attribute (lets call it Attr X), attache it to Attribute type, assign it to Programme, create an entry form but leave out this particular Attribute “Attr X”.
Step2: Go to Programe Rule Variable: create a to pull the attribute;
Step3: Go to Programe Rule (Show ERROR): create a rule checking for the value of the attribute, if its set.
Step 3:Creater Programme rule: to set the value to a value to check at the second stage;

Perform this on each stage check the value set by the previous stage…

A good way to trick the system but works for me.

Mail me if you need further explanation.

1 Like

Hi @adulojusm,

I am also very interested in this post. I have been looking for ways to hide program stages unless the previous has been completed. But I can not understand the steps you have mentioned to achieve this.


which step are you having issue with?

Hi @adulojusm,

I can not figure out the steps you mentioned in the previous post.


Looks like this way will only make sure that someone has filled all the fields, What I want is that someone has clicked the “Complete” button and the record is complete.

Yes, if a field is mandatory, they wont be able to complete in the first place (you need to set that)

In that case some users just leave that stage and go to the next stage. That is what I don’t want. If you see my original post it says one should complete one stage before they complete another stage.
In other words if there are two stages Registration and Service Delivery, the user should not complete Service Delivery before they completing Registration. Complete in this case means clicking the “Complete” button.

The stage will not be there until the user fill that particular field you want them to fill.

In other words, the stage is only available depending on the value of that particular field.

Ok. That works then. Let me play around with it.

I’m reviving this topic.
I’ve tried everything and it does not work. The thing is about clicking “Complete” not filling a field. The field can be filled or not and the hide stage works BUT whether a stage status is “Complete” or NOT there’s no function which checks so as to hide the stage.

1 Like

Thank you for reviving your post since it’s still relevant to you @kabango_Malewezi! After all this time, I hope we’ll find a solution to your question. Thanks! (: