Define week start day for Weekly periods

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason

···

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Thanks.

Regards,

Paulo Grácio

···

From: Jason Pickering [mailto:jason.p.pickering@gmail.com]
Sent: segunda-feira, 13 de Maio de 2013 19:19
To: Paulo Grácio
Cc: dhis2-users@lists.launchpad.net
Subject: Re: [Dhis2-users] Define week start day for Weekly periods

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp

Devs: Is this something which could be targeted for 2.13?

Knut

···

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob

···

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

···

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?

···

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

···

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

how do they determine which day is day 1 of week 1?

···

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Will have to investigate and get back to you

···

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes

···

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

···

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola

···

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Aggregating from weeks to months will always be approximate so these anomalies will happen. Maybe some clever pro-rata scaling can be done.

···

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

I’m not sure it is important to aggregate along the time dimension for weekly data. But it is important to do so spatially, ie upwards in the hierarchy.

···

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Dear All,

Coming back to the possibility to define the different “type of weeks” in the setting.

Does anyone know a library in Java handling this easily?

In case this will not be addressed soon in the next versions. What would be the workaround for a given scenario/country - has anyone addressed this already?

Best regards,

Johannes

···

On 15 June 2013 18:18, Knut Staring knutst@gmail.com wrote:

I’m not sure it is important to aggregate along the time dimension for weekly data. But it is important to do so spatially, ie upwards in the hierarchy.

Sent from my mobile

On Jun 15, 2013 11:36 AM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

Aggregating from weeks to months will always be approximate so these anomalies will happen. Maybe some clever pro-rata scaling can be done.


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

I haven’t use it yet, but Joda-Time looks impressive at first glance. They claim it’s “the de facto standard library for advanced date and time in Java” and “The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included” (besides the default ISO8601). http://joda.sourceforge.net/

Cheers,

Jim

···

On 15 June 2013 18:18, Knut Staring knutst@gmail.com wrote:

I’m not sure it is important to aggregate along the time dimension for weekly data. But it is important to do so spatially, ie upwards in the hierarchy.

Sent from my mobile

On Jun 15, 2013 11:36 AM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

Aggregating from weeks to months will always be approximate so these anomalies will happen. Maybe some clever pro-rata scaling can be done.


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Thanks Jim - Joda-Time certainly looks like a good candidate for non-ISO8601 calendar support, though I see this blog mention additional work needed for Nepal:
http://forjavaprogrammers.blogspot.com/2012/06/how-to-convert-nepali-date-to-english.html

Still, it may be possible to come up with a simpler workaround for Johannes’ problem which is limited to just weeks - perhaps most of the issues could there could be handled by relabeling the current ISO weeks?

Knut

···

On Mon, Jun 17, 2013 at 8:36 AM, Jim Grace jimgrace@gmail.com wrote:

I haven’t use it yet, but Joda-Time looks impressive at first glance. They claim it’s “the de facto standard library for advanced date and time in Java” and “The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included” (besides the default ISO8601). http://joda.sourceforge.net/

Cheers,

Jim

On Jun 17, 2013, at 12:21 AM, Johannes Schnitzler schnitzlerj@gmail.com wrote:

Dear All,

Coming back to the possibility to define the different “type of weeks” in the setting.

Does anyone know a library in Java handling this easily?

In case this will not be addressed soon in the next versions. What would be the workaround for a given scenario/country - has anyone addressed this already?

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 15 June 2013 18:18, Knut Staring knutst@gmail.com wrote:

I’m not sure it is important to aggregate along the time dimension for weekly data. But it is important to do so spatially, ie upwards in the hierarchy.

Sent from my mobile

On Jun 15, 2013 11:36 AM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

Aggregating from weeks to months will always be approximate so these anomalies will happen. Maybe some clever pro-rata scaling can be done.


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Dear All,

Is there anything which can be done in the near future to accommodate a week configuration (start day of the week and rule which week belongs to the new year)?

It would be good to have a generic approach:

Either allowing to define this in the set up of DHIS or to even allow it on a data set level which would open the possibility to use one DHIS installation by several countries.

If a generic approach is not feasible, would there be the possibility to define the dates and corresponding Year-Weeks in a table including dates/Year-Weeks in the future; allowing to select the correct week during data entry? How could this be handled in the analysis / how are week currently handled in the analysis?.

Otherwise this might be a showstopper for the use of DHIS.

Thank you!

Johannes

···

On 17 June 2013 09:57, Knut Staring knutst@gmail.com wrote:

Thanks Jim - Joda-Time certainly looks like a good candidate for non-ISO8601 calendar support, though I see this blog mention additional work needed for Nepal:
http://forjavaprogrammers.blogspot.com/2012/06/how-to-convert-nepali-date-to-english.html

Still, it may be possible to come up with a simpler workaround for Johannes’ problem which is limited to just weeks - perhaps most of the issues could there could be handled by relabeling the current ISO weeks?

Knut

On Mon, Jun 17, 2013 at 8:36 AM, Jim Grace jimgrace@gmail.com wrote:

I haven’t use it yet, but Joda-Time looks impressive at first glance. They claim it’s “the de facto standard library for advanced date and time in Java” and “The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included” (besides the default ISO8601). http://joda.sourceforge.net/

Cheers,

Jim

On Jun 17, 2013, at 12:21 AM, Johannes Schnitzler schnitzlerj@gmail.com wrote:

Dear All,

Coming back to the possibility to define the different “type of weeks” in the setting.

Does anyone know a library in Java handling this easily?

In case this will not be addressed soon in the next versions. What would be the workaround for a given scenario/country - has anyone addressed this already?

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 15 June 2013 18:18, Knut Staring knutst@gmail.com wrote:

I’m not sure it is important to aggregate along the time dimension for weekly data. But it is important to do so spatially, ie upwards in the hierarchy.

Sent from my mobile

On Jun 15, 2013 11:36 AM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

Aggregating from weeks to months will always be approximate so these anomalies will happen. Maybe some clever pro-rata scaling can be done.


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob


Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Hi Johannes,

I’m not sure how DHIS-2 automatically creates the entries in the period table, but once they are created would one of the following options work?

· Pre-fill the period tables with weekly records for several years forward, then hack the period table to reset the start/end dates for weekly periods using an update query – adding or subtracting days depending upon when you want the start day.

· Create a period translation table (periodid, newstartdate, newenddate) that you can link to the datavalue table and produce your analyses according to the desired time frames.

In Rwanda we end up doing a lot of our analyses with custom SQL queries so option 2 would probably work for us – though users would have to be told to disregard the start date displayed during data entry – and focus on the week number.

Randy

···

Dear All,

Is there anything which can be done in the near future to accommodate a week configuration (start day of the week and rule which week belongs to the new year)?

It would be good to have a generic approach:

Either allowing to define this in the set up of DHIS or to even allow it on a data set level which would open the possibility to use one DHIS installation by several countries.

If a generic approach is not feasible, would there be the possibility to define the dates and corresponding Year-Weeks in a table including dates/Year-Weeks in the future; allowing to select the correct week during data entry? How could this be handled in the analysis / how are week currently handled in the analysis?.

Otherwise this might be a showstopper for the use of DHIS.

Thank you!

Johannes

On 17 June 2013 09:57, Knut Staring knutst@gmail.com wrote:

Thanks Jim - Joda-Time certainly looks like a good candidate for non-ISO8601 calendar support, though I see this blog mention additional work needed for Nepal:

http://forjavaprogrammers.blogspot.com/2012/06/how-to-convert-nepali-date-to-english.html

Still, it may be possible to come up with a simpler workaround for Johannes’ problem which is limited to just weeks - perhaps most of the issues could there could be handled by relabeling the current ISO weeks?

Knut

On Mon, Jun 17, 2013 at 8:36 AM, Jim Grace jimgrace@gmail.com wrote:

I haven’t use it yet, but Joda-Time looks impressive at first glance. They claim it’s “the de facto standard library for advanced date and time in Java” and “The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included” (besides the default ISO8601). http://joda.sourceforge.net/

Cheers,

Jim

On Jun 17, 2013, at 12:21 AM, Johannes Schnitzler schnitzlerj@gmail.com wrote:

Dear All,

Coming back to the possibility to define the different “type of weeks” in the setting.

Does anyone know a library in Java handling this easily?

In case this will not be addressed soon in the next versions. What would be the workaround for a given scenario/country - has anyone addressed this already?

Best regards,

Johannes

On 15 June 2013 18:18, Knut Staring knutst@gmail.com wrote:

I’m not sure it is important to aggregate along the time dimension for weekly data. But it is important to do so spatially, ie upwards in the hierarchy.

Sent from my mobile

On Jun 15, 2013 11:36 AM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

Aggregating from weeks to months will always be approximate so these anomalies will happen. Maybe some clever pro-rata scaling can be done.

On 15 June 2013 10:39, Ola Hodne Titlestad olati@ifi.uio.no wrote:

Not very related, but one issue with weeks that came up in Uganda recently is that monthly aggregates of the reporting rates of weekly datasets got above 100% for months with 5 weeks. Seems the aggregation code here assumes 4 weeks per month throughout the year and with 5 weeks of reported datasets for some months the reporting rate got too high.

Ola


On 15 Jun 2013 11:24, “John Lewis” johnlewis.hisp@gmail.com wrote:

Hi all,

Defining week start and end date is quite complicated. I had the same issue in bangladesh. The point also how do we aggregate it to month. Technically we break the data of a week which fall in two month, which is not a good idea.

Instead of rewriting.entire aggregation engine would it better to define as daily data set. Since we collect data once a week we can use daily data set and modify data enter screen to show weekly end date.

On 15 Jun 2013 03:40, “Johannes Schnitzler” schnitzlerj@gmail.com wrote:

Dear All,

How I have solved the issue in another application, also used for Cambodia, is that I’m allowing to define the start day of the week e.g. Monday, Tuesday, Wednesday … as well as how many days “touching the new year” are needed to qualify a week to be counted as week 1 of the new year. This is part of the setting of the application and is used to calculate it on the fly e.g. for data entry date / week selection. I have written the code for this in R (bad code… but it is working). This allows to deal with a lot of countries.

For ISO it is 4 days to qualify for the new year and the start day depends on the country,

For Cambodia it is 1 day and start day is Wednesday.

As in DHIS I’m storing the period type daily weekly monthly …

And for the actual date I’m storing always start date, end date of the period and in addition the Year and the TIme unit…

For weekly data: start date, end date, Week Number, Year of the week (which might be of course be different from the Year of the first day of the week for the first and last week of the year).

For daily data: start date, end date (which is of course the same), day number in year, Year

For monthly data: start date, end date, month number, Year

In this case one has all freedom to combine data sets from different “week definitions” as one can decide later on which week calculation to be applied across the piece based on the start date of the week knowing that the week counting might be off for some of the countries for a few days. But this is the best what we can do I assume …

Best regards,

Johannes

On 14 June 2013 19:08, Knut Staring knutst@gmail.com wrote:

Will have to investigate and get back to you

Sent from my mobile

On Jun 14, 2013 6:06 PM, “Bob Jolliffe” bobjolliffe@gmail.com wrote:

how do they determine which day is day 1 of week 1?

On 14 June 2013 17:52, Knut Staring knutst@gmail.com wrote:

For my purposes, that’s really all I know, and for my requirements it will be exactly parallel to countries that require Monday instead of Sunday.

But certainly the Nepali, Ethiopian and several others have more complex requirements, which I think partly must be treated as separate cases.

On Fri, Jun 14, 2013 at 5:42 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Explain the Cambodian calendar a bit more. I am sure there is more to it than when the weeks start. Or is that it?

On 14 June 2013 17:35, Knut Staring knutst@gmail.com wrote:

Thanks Jason and Bob.

Unfortunately, this seems to be a pressing requirement in several countries

I think one simplification that could be justified would be to have only one week type in one DHIS2 instance. Thus, the exact meaning of 2012W25 is defined by looking at the FIRSTDAYOFWEEK setting in the particular db (which probably should be displayed on the About DHIS 2 page.

Of course, that does not solve interoperability issues (but rather it deteriorate through obfuscation), but I think it is reasonable to think that everyone in Cambodia uses weeks starting on Wednesdays.

On Fri, Jun 14, 2013 at 5:29 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Weeks are as we all know something of a headache. What we have defined currently in DHIS2, as Jason points out, is the ISO standard week, which even itself is something of a headache.

I suspect that to incorporate all the variety which is called for (Wednesday week starts is the most exotic I’ve seen to date! But there are also Islamic calendar issues, Ethiopian/Amharic calendar, Monday vs Sunday starts etc) we might need to zoom right out to define a generic repeating period with rules around starting and stopping. But it could get quite complicated. Two immediate issues which come to mind

(i) we need a string representation of periods. So 2010W23 has a particular meaning in terms of the ISO week number. How to differentiate this from a week which starts on a Wednesday (and which day of the year would be day 1 of week 1?);

(ii) how to aggregate along the time axis ie, weeks->months->years

Its something which needs to be done, but I am not at all clear what the correct design approach would be. Would be interested to hear people’s thoughts.

Bob

On 14 June 2013 17:12, Knut Staring knutst@gmail.com wrote:

Devs: Is this something which could be targeted for 2.13?

Knut

On Mon, May 13, 2013 at 6:18 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

Currently not. This has come up before, but for now, ISO weeks are what has been implemented.

http://en.wikipedia.org/wiki/ISO_week_date

Regards,

Jason

On Mon, May 13, 2013 at 6:54 PM, Paulo Grácio pgracio@criticalsoftware.com wrote:

Hi,

Is there a way to define week start day for Weekly periods?

Regards,

Paulo Grácio


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-users

Post to : dhis2-users@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-users

More help : https://help.launchpad.net/ListHelp

Knut Staring

Dept. of Informatics, University of Oslo

+4791880522

http://dhis2.org