Assistance: Periodic program stage setting in tracker capture

Hi all,

I have a program in Tracker (DHIS v2.34) configured with some program stages. My problem is on program stages which are repeatable on different frequencies.

How Could I configure a repeatable stage for periodic schedules?

Let’s say 15 days after 1st event, 30 days after 2nd event, 60 days after 3rd event and 90 days after 4th event.

Is this possible? If not, what would the right path?

Thank you

Hello Davuya

Here is a suggestion, you can use the program rule to hide a program stage which can be accessed only after a specific period; example 30days period, but this cannot be done with more than one fixed period.

Program rule expression; “d2:daysBetween( V{event_date}, V{current_date} ) < 30”.

Program rule action; “Hide program stage”.

Another suggestion is creating multiple program stages and creating program rules based on the periods to hide each of the program stages.

I hope our response is able to solve the issue you were facing.

With :hearts: from the Dhistance Team.

DHISTANCE.com: The Easiest DHIS2 Setup. Up and running in 5 minutes!
No technical knowledge needed! Great Support with Data Security/Confidentiality.
image

@e4eDHIS2, from the explanation, it is not possible to schedule events automatically with more than one fixed period in repeatable stages. Correct me if I have misunderstood the explanation.

If I were to make multiple program stages, how would the program rules be like to hide program stages based on the fixed periods I have mentioned in my posts? I mean this part:

“Let’s say 5 days after 1st event, 30 days after 2nd event, 60 days after 3rd event and 90 days after 4th event.”

For 15 days after first event, would the PR be: Program rule expression; “d2:daysBetween( V{event_date}, V{current_date} ) < 15”?

For 30 days after second: Program rule expression; “d2:daysBetween( V{event_date}, V{current_date} ) < 30”? and so on.

Thanks

Hi @dmbantu,
I believe this will not work as you intend because both of one are part of this set. Because less than 30 is also less than 15, unless you say it must be greater than or equal to 15 and less than 30.

“Let’s say 5 days after 1st event, 30 days after 2nd event, 60 days after 3rd event and 90 days after 4th event.”

If is the same event you have to have AND in your condition like this
< 5 days
greater than or equal 5 AND < 30
greater than or equal 30 AND <60

Hi @asacur,

I am talking about point 2 ( multiple program stages); not the same event.

Stage A ----15 days from start— Stage B ---- 30 days from start — stage 3 — 60 days from start and stage 4 ---- 90 days from start.

Thanks

Hello Davuya

Yes, you are accurate. Each program stage created will be available based on the event date of the preceding program stage. As shown in the diagram below. A program rule will be developed for the third stage to guarantee that the first program stage cannot add the third program stage as the preceding stage is the second and that the second stage only allows access after 30 days.
image

Here is the program rule that ensures the third stage is not available until 30days after the second stage and prevents the first program stage from adding the third stage

  • Program rule details: “Trigger rule only for program stage” should be left as non.
  • Program rule expression: (d2:daysBetween( V{event_date}, V{current_date} ) < 30) || (V{program_stage_id} != 'f3AfNh26mra’)
    (Where, ‘f3AfNh26mra’ is the second program stage ID. )
  • Program rule action: Hide program stage “third”
    image

When establishing the program rule, ensure that the option “Trigger rule only for program stage” is appropriately chosen in the program rule details.

I hope our response helps you further with this issue.

With :hearts: from the Dhistance Team.

DHISTANCE.com: The Easiest DHIS2 Setup. Up and running in 5 minutes!

No technical knowledge needed! Great Support with Data Security/Confidentiality.
image