dhis2-users team mailing list archive
-
dhis2-users team
-
Mailing list archive
-
Message #02541
Re: Define week start day for Weekly periods
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
From: Dhis2-users [mailto:dhis2-users-bounces+rwilson=msh.org@xxxxxxxxxxxxxxxxxxx] On Behalf Of Johannes Schnitzler
Sent: Friday, June 28, 2013 10:54 PM
To: Knut Staring
Cc: dhis2-users@xxxxxxxxxxxxxxxxxxx; Ola Hodne Titlestad
Subject: Re: [Dhis2-users] Define week start day for Weekly periods
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@xxxxxxxxx<mailto:knutst@xxxxxxxxx>> 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@xxxxxxxxx<mailto:jimgrace@xxxxxxxxx>> 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@xxxxxxxxx<mailto:schnitzlerj@xxxxxxxxx>> 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@xxxxxxxxx<mailto:knutst@xxxxxxxxx>> 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@xxxxxxxxx<mailto:bobjolliffe@xxxxxxxxx>> 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@xxxxxxxxxx<mailto:olati@xxxxxxxxxx>> 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@xxxxxxxxx<mailto:johnlewis.hisp@xxxxxxxxx>> 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@xxxxxxxxx<mailto:schnitzlerj@xxxxxxxxx>> 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@xxxxxxxxx<mailto:knutst@xxxxxxxxx>> wrote:
Will have to investigate and get back to you
Sent from my mobile
On Jun 14, 2013 6:06 PM, "Bob Jolliffe" <bobjolliffe@xxxxxxxxx<mailto:bobjolliffe@xxxxxxxxx>> wrote:
how do they determine which day is day 1 of week 1?
On 14 June 2013 17:52, Knut Staring <knutst@xxxxxxxxx<mailto:knutst@xxxxxxxxx>> 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@xxxxxxxxx<mailto:bobjolliffe@xxxxxxxxx>> 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@xxxxxxxxx<mailto:knutst@xxxxxxxxx>> 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@xxxxxxxxx<mailto:bobjolliffe@xxxxxxxxx>> 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@xxxxxxxxx<mailto:knutst@xxxxxxxxx>> 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@xxxxxxxxx<mailto:jason.p.pickering@xxxxxxxxx>> 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@xxxxxxxxxxxxxxxxxxxx<mailto:pgracio@xxxxxxxxxxxxxxxxxxxx>> 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@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
--
Knut Staring
Dept. of Informatics, University of Oslo
+4791880522<tel:%2B4791880522>
http://dhis2.org<http://dhis2.org/>
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
--
Knut Staring
Dept. of Informatics, University of Oslo
+4791880522<tel:%2B4791880522>
http://dhis2.org<http://dhis2.org/>
--
Knut Staring
Dept. of Informatics, University of Oslo
+4791880522<tel:%2B4791880522>
http://dhis2.org<http://dhis2.org/>
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to : dhis2-users@xxxxxxxxxxxxxxxxxxx<mailto:dhis2-users@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~dhis2-users
More help : https://help.launchpad.net/ListHelp
--
Knut Staring
Dept. of Informatics, University of Oslo
+4791880522<tel:%2B4791880522>
http://dhis2.org
Follow ups
References
-
Define week start day for Weekly periods
From: Paulo Grácio, 2013-05-13
-
Re: Define week start day for Weekly periods
From: Jason Pickering, 2013-05-13
-
Re: Define week start day for Weekly periods
From: Knut Staring, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Bob Jolliffe, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Knut Staring, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Bob Jolliffe, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Knut Staring, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Bob Jolliffe, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Knut Staring, 2013-06-14
-
Re: Define week start day for Weekly periods
From: Johannes Schnitzler, 2013-06-14
-
Re: Define week start day for Weekly periods
From: John Lewis, 2013-06-15
-
Re: Define week start day for Weekly periods
From: Ola Hodne Titlestad, 2013-06-15
-
Re: Define week start day for Weekly periods
From: Bob Jolliffe, 2013-06-15
-
Re: Define week start day for Weekly periods
From: Knut Staring, 2013-06-15
-
Re: Define week start day for Weekly periods
From: Johannes Schnitzler, 2013-06-16
-
Re: Define week start day for Weekly periods
From: Jim Grace, 2013-06-17
-
Re: Define week start day for Weekly periods
From: Knut Staring, 2013-06-17
-
Re: Define week start day for Weekly periods
From: Johannes Schnitzler, 2013-06-28