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....@lists.launchpad.net] On Behalf Of 
Johannes Schnitzler
Sent: Friday, June 28, 2013 10:54 PM
To: Knut Staring
Cc: dhis2-users@lists.launchpad.net; 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 <knu...@gmail.com<mailto:knu...@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 
<jimgr...@gmail.com<mailto:jimgr...@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 
<schnitzl...@gmail.com<mailto:schnitzl...@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 <knu...@gmail.com<mailto:knu...@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" 
<bobjolli...@gmail.com<mailto:bobjolli...@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 
<ol...@ifi.uio.no<mailto:ol...@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.h...@gmail.com<mailto:johnlewis.h...@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" 
<schnitzl...@gmail.com<mailto:schnitzl...@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 <knu...@gmail.com<mailto:knu...@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" 
<bobjolli...@gmail.com<mailto:bobjolli...@gmail.com>> wrote:
how do they determine which day is day 1 of week 1?

On 14 June 2013 17:52, Knut Staring <knu...@gmail.com<mailto:knu...@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 
<bobjolli...@gmail.com<mailto:bobjolli...@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 <knu...@gmail.com<mailto:knu...@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 
<bobjolli...@gmail.com<mailto:bobjolli...@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 <knu...@gmail.com<mailto:knu...@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.picker...@gmail.com<mailto:jason.p.picker...@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 
<pgra...@criticalsoftware.com<mailto:pgra...@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<mailto: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<mailto: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<tel:%2B4791880522>
http://dhis2.org<http://dhis2.org/>

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to     : 
dhis2-users@lists.launchpad.net<mailto: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<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@lists.launchpad.net<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<tel:%2B4791880522>
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

Reply via email to