← Back to team overview

dhis2-devs team mailing list archive

Re: Generating sequential numbers in program rule

 

Dear Zubair

Thank you for this recommendation. I have created the JIRA issue as
suggested: DHIS2-5094 <https://jira.dhis2.org/browse/DHIS2-5094>

Kind regards,
Terence

Terence Scott

Global Alliance for Rabies Control (GARC)
Pan-African Rabies Control Network (PARACON) Steering Committee
terence.scott@xxxxxxxxxxxxxxxxxx
https://paracon.rabiesalliance.org
Skype: tpscott1987



On Thu, Nov 1, 2018 at 10:54 AM Zubair Asghar Raja <zubair@xxxxxxxxx> wrote:

> Hi Terence,
> Create a JIRA issue for this enhancement (ENROLLMENT_DATE) and we will
> look into it.
>
>
>
>
>
> Den tor. 1. nov. 2018, 9:21 a.m. skrev Terence Scott <
> terence.scott@xxxxxxxxxxxxxxxxxx:
>
>> Dear Shurajit
>>
>> Thanks for the advice. This worked fantastically - however, the
>> documentation is a little confusing with regards to the required format. Is
>> there somewhere where I can possibly make suggestions for clarification?
>>
>> The string that eventually worked under the Auto-generate section is as
>> follows:
>> CURRENT_DATE(yyyy-MM)-"-"-ORG_UNIT_CODE(...........)-"-"-SEQUENTIAL(####)
>>
>> The '+' did not work for me and gave a parse error - this is what is
>> specified in some parts of the documentation, whereas using the '-' worked
>> (as is shown in one example under "SEQUENTIAL(format)".
>>
>> It seems that currently only CURRENT_DATE is supported and not enrollment
>> date? Is there some way to include Enrollment date instead? I tried to
>> simply include ENROLLMENT_DATE(yyyy-MM) and this did not work.
>>
>> Thank you once again for the help! Really appreciate it as I have been
>> struggling with this for a while.
>>
>> Kind regards,
>> Terence
>>
>> Terence Scott
>>
>> Global Alliance for Rabies Control (GARC)
>> Pan-African Rabies Control Network (PARACON) Steering Committee
>> terence.scott@xxxxxxxxxxxxxxxxxx
>> https://paracon.rabiesalliance.org
>> Skype: tpscott1987
>>
>>
>>
>> On Thu, Nov 1, 2018 at 3:46 AM Shurajit Dutta <shurajitdutta@xxxxxxxxx>
>> wrote:
>>
>>> Hi Terence
>>>
>>> This textpattern applies to generating unique tracked entity attributes.
>>> So if you make the attribute unique and then system generated you can enter
>>> the pattern accordingly:
>>>
>>> [image: image.png]
>>>
>>> On Wed, Oct 31, 2018 at 5:58 PM Terence Scott <
>>> terence.scott@xxxxxxxxxxxxxxxxxx> wrote:
>>>
>>>> Hi MSP
>>>>
>>>> Thank you for the suggestion. I have also attempted this and was unable
>>>> to have any success. I tried to create a new rule with simply having
>>>> "Sequential(###)" alone, and did not have any success either. Therefore, I
>>>> assumed that there would be some sort of additional text that is required
>>>> to make it work.
>>>>
>>>> Kind regards,
>>>> Terence
>>>>
>>>> Terence Scott
>>>>
>>>> Global Alliance for Rabies Control (GARC)
>>>> Pan-African Rabies Control Network (PARACON) Steering Committee
>>>> terence.scott@xxxxxxxxxxxxxxxxxx
>>>> https://paracon.rabiesalliance.org
>>>> Skype: tpscott1987
>>>>
>>>>
>>>>
>>>> On Tue, Oct 30, 2018 at 5:49 PM M.Selvaraaj Prabu <msp.cbe@xxxxxxxxx>
>>>> wrote:
>>>>
>>>>> Hi Terrance,
>>>>>
>>>>> Sometime back I read about this. I think you need to use the
>>>>> expression like
>>>>>
>>>>>    -
>>>>>
>>>>>    ORG_UNIT_CODE(…) + "-" + CURRENT_DATE(yyyyww) + "-" + SEQUENTIAL(#####)
>>>>>
>>>>>
>>>>> Instead of using the function concatenate. Please refer the below link
>>>>> for more details:
>>>>>
>>>>>    -
>>>>>    https://docs.dhis2.org/master/en/user/html/working-with-textpattern.html
>>>>>
>>>>> Hope this helps.
>>>>>
>>>>> Thanks and regards
>>>>>
>>>>> MSP
>>>>>
>>>>>
>>>>> On Tue, Oct 30, 2018 at 4:56 PM Terence Scott <
>>>>> terence.scott@xxxxxxxxxxxxxxxxxx> wrote:
>>>>>
>>>>>> Dear Zubair, Nick
>>>>>>
>>>>>> I have upgraded the instance to 2.30 now and am attempting to once
>>>>>> again implement the sequential numbering using the TextPattern option. I am
>>>>>> using it on a TEAttribute, but have not had any success.
>>>>>>
>>>>>> Thus far, my Defined program rule action looks as follows:
>>>>>>
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-')
>>>>>>
>>>>>> This is currently working and generating the UID, but of course,
>>>>>> without the sequential numbers. I have attempted the following combinations
>>>>>> to try include the sequential numbers to no avail:
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-',
>>>>>> SEQUENTIAL(###))
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-',
>>>>>> Sequential(###))
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-',
>>>>>> V{Sequential(###)})
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-',
>>>>>> V{sequential(###)})
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-',
>>>>>> V{sequential###})
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-',
>>>>>> 'SEQUENTIAL(###)') - this one simply added the text in (as suspected).
>>>>>> d2:concatenate( V{enrollment_date}, '-', V{orgunit_code}, '-') +
>>>>>> SEQUENTIAL(###)
>>>>>>
>>>>>> None of these combinations have worked thus far. Clearly I am
>>>>>> misunderstanding something or missing something and would appreciate any
>>>>>> help.
>>>>>>
>>>>>> Kind regards,
>>>>>> Terence
>>>>>>
>>>>>>
>>>>>> Terence Scott
>>>>>>
>>>>>> Global Alliance for Rabies Control (GARC)
>>>>>> Pan-African Rabies Control Network (PARACON) Steering Committee
>>>>>> terence.scott@xxxxxxxxxxxxxxxxxx
>>>>>> https://paracon.rabiesalliance.org
>>>>>> Skype: tpscott1987
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Oct 10, 2018 at 3:06 PM Zubair Asghar Raja <zubair@xxxxxxxxx>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Terence,
>>>>>>> There could be many reasons for that.
>>>>>>> Have you tried implementing what Nick suggested? The only limitation
>>>>>>> is that the TextPattern option is only available for TEAttribute and not to
>>>>>>> DataElement.
>>>>>>>
>>>>>>>
>>>>>>> Zubair Asghar
>>>>>>> DHIS-2 Developer
>>>>>>> University of Oslo
>>>>>>> zubair@xxxxxxxxx <lars@xxxxxxxxx>
>>>>>>> https://www.dhis2.org
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 10, 2018 at 2:48 PM Terence Scott <
>>>>>>> terence.scott@xxxxxxxxxxxxxxxxxx> wrote:
>>>>>>>
>>>>>>>> Dear Zubair
>>>>>>>>
>>>>>>>> Thank you for your rapid response. I have attempted to do this
>>>>>>>> without success. I think I am misunderstanding.
>>>>>>>>
>>>>>>>> 1) I created the program variable "auto-increment' as suggested
>>>>>>>> 2) In this step - is this a new program rule? I created a program
>>>>>>>> rule as follows: "d2:hasValue #UID", Assign "#auto-increment + 1" to field
>>>>>>>> "auto-increment". I then set this as priority 2.
>>>>>>>> 3) I created my UID program rule as with the following action:
>>>>>>>> "d2:concatenate( V{enrollment_date}, '-', A{Closest Health Center},
>>>>>>>> #{auto-increment})" assigned to the attribute for UID. This is set as
>>>>>>>> priority 1.
>>>>>>>>
>>>>>>>> Unfortunately, this does not create the sequential number, but the
>>>>>>>> concatenated sequence is showing in the UID Attribute.
>>>>>>>>
>>>>>>>> Do I have my priorities incorrect or have I done something else
>>>>>>>> incorrectly?
>>>>>>>>
>>>>>>>> Kind regards,
>>>>>>>> Terence
>>>>>>>>
>>>>>>>> Terence Scott
>>>>>>>>
>>>>>>>> Global Alliance for Rabies Control (GARC)
>>>>>>>> Pan-African Rabies Control Network (PARACON) Steering Committee
>>>>>>>> terence.scott@xxxxxxxxxxxxxxxxxx
>>>>>>>> https://paracon.rabiesalliance.org
>>>>>>>> Skype: tpscott1987
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Oct 10, 2018 at 2:01 PM Zubair Asghar Raja <
>>>>>>>> zubair@xxxxxxxxx> wrote:
>>>>>>>>
>>>>>>>>> Hi Terence,
>>>>>>>>> Should be possible using CALCULATED_VALUE.
>>>>>>>>> Program rule variable having source type as CALCULATED_VALUE will
>>>>>>>>> get its value assigned by some other program rule. Try these steps
>>>>>>>>> 1. create program rule variable of source type CALCULATED_VALUE //
>>>>>>>>> Let say "auto-increment"
>>>>>>>>> 2. create program rule with Program Rule Action as Assign Value
>>>>>>>>> and select variable created in step 1 and assign it "#{auto-increment} + 1"
>>>>>>>>> 3. Use it in your program rule where ever needed for example
>>>>>>>>> v{current-date}-#{orgunit}-#{auto-increment}
>>>>>>>>>
>>>>>>>>> In order to use CALCULATED_CALUE make sure you are correctly
>>>>>>>>> setting rule *priority*.
>>>>>>>>>
>>>>>>>>> Zubair Asghar
>>>>>>>>> DHIS-2 Developer
>>>>>>>>> University of Oslo
>>>>>>>>> zubair@xxxxxxxxx <lars@xxxxxxxxx>
>>>>>>>>> https://www.dhis2.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Oct 10, 2018 at 1:25 PM Terence Scott <
>>>>>>>>> terence.scott@xxxxxxxxxxxxxxxxxx> wrote:
>>>>>>>>>
>>>>>>>>>> Dear All
>>>>>>>>>>
>>>>>>>>>> I am creating a program rule to develop a UID for the patient. I
>>>>>>>>>> have currently created a program rule using d2:concatenate to bring various
>>>>>>>>>> attributes and DEs together into the Unique ID (such as date and OrgUnit
>>>>>>>>>> code). However, I would also like to include sequential numbering after
>>>>>>>>>> this to ensure that more than 1 case can be registered on a single day.
>>>>>>>>>>
>>>>>>>>>> I have looked through all of the documentation and am unable to
>>>>>>>>>> find anything along these lines. Is it possible?
>>>>>>>>>>
>>>>>>>>>> Example:
>>>>>>>>>> 2018-10-10-OrgUnit code-1;
>>>>>>>>>> 2018-10-10-OrgUnit code-2;
>>>>>>>>>> 2018-10-10-OrgUnit code-3; etc.  (where 1,2 and 3 are the
>>>>>>>>>> sequential numbers generated).
>>>>>>>>>>
>>>>>>>>>> I have also looked at Program Rule variables and am unsure as to
>>>>>>>>>> what the "Calculated value" source type is, as in the documentation it is
>>>>>>>>>> listed as "TBA" with no further information.
>>>>>>>>>>
>>>>>>>>>> I would appreciate any help or advise.
>>>>>>>>>>
>>>>>>>>>> Kind regards,
>>>>>>>>>> Terence
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Terence Scott
>>>>>>>>>>
>>>>>>>>>> Global Alliance for Rabies Control (GARC)
>>>>>>>>>> Pan-African Rabies Control Network (PARACON) Steering Committee
>>>>>>>>>> terence.scott@xxxxxxxxxxxxxxxxxx
>>>>>>>>>> https://paracon.rabiesalliance.org
>>>>>>>>>> Skype: tpscott1987
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>
>>>
>>> --
>>> Shurajit Dutta (MPH, MHI)
>>> Health Information Systems Adviser
>>>
>>

PNG image


References