Hi Em Le Hong, If I well understand: You capture the age at a different moment than you would like the program rule to be executed?
If no, program rule executed on the same stage as you capture the age: To be checked (never used the age value type so far), but age should be an integer. So you could just do: #{age_value_type} < 5 If yes, program rule executed later on a different program stage: Well, first you would be better off taking a date rather than the age. The d2 functions you mentioned are only for comparing dates, but age is not a date. If you really want to use the age type, you have to convert it first in a date following the DHIS2 date pattern: YYYY-MM-DD For that, you need to choose how to approximate a date of birth. Will you use the first day of the year? the last day? the 30 of June? The day you collected the information? Then you have to use the diverse d2 functions to create your date of birth. As an example, in an enrollment form of a program I calculate the date of birth automatically (note that the age here is just a value type integer, and here all the program rules are performed in the same event: the enrollment): Program rule, priority 1, I calculate the age in days: A{Age at enrollment} * 365.25 Program rule, priority 2, I calculate the date of birth according to the day of data capture d2:addDays(V{enrollment_date}, -#{Age at enrollment in days}) Program rule, priority 3, I round the date of birth to the 15 of June d2:concatenate(d2:substring(#{Date of birth calculated}, 0, 4), '-06-15') After that I obtain an approximate date of birth I can use in the d2 date functions. Best, Edouard 2018-04-11 11:59 UTC+02:00, Em Le Hong <em.hispviet...@gmail.com>: > Dear all, > > I create a tracker data element value type: Age > > For event program, I want to use program to check and show error if Age is > under 5 > I tried 2 functions d2:yearsBetween; d2:daysBetween with the expression as > below but it doesn't work: > > d2:daysBetween(#{age_value_type}, V{event_date}) > d2:yearsBetween(#{age_value_type}, V{event_date}) > > I check the manual Table 21.13. Custom functions to use in a program rule > expression > https://docs.dhis2.org/2.29/en/user/html/configure_program_rule.html#create_program_rule > and don't see any functions for Age value type. > > I created a ticket on DHIS2 Jira https://jira.dhis2.org/browse/DHIS2-3381 > > > I'm really appreciated if anyone has experience on this can share. > > > Regards, > > > > -- > *Em Le Hong* > DHIS2 Implementation| *HISP Vietnam * > em.hispviet...@gmail.com | *Skype:* em.hispviet...@gmail.com > -- *Edouard Lavaud, * *MSc in Health Policy, Planning & FinancingMEng in TelecommunicationUniversity Diploma in ICT for Health* *Email:* edouard.lav...@gmail.com *Mobile:* 0033 6 7210 23 59 _______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp