minagri-rwanda / DHIS2-Agriculture

DHIS2 for Rwanda MINAGRI
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

MINAGRI annual collection is not yearly. Which are the consequences? #122

Open Aleglise opened 8 years ago

Aleglise commented 8 years ago

Today we got an intresting feedback from end users:

Annual collection is not yearly but from 1st of July to 31th of June.

Fortunaly this period is managed in DHIS2 through Financial-July period. So, it means that every dataset have te be updated to change frequency from yearly to Financial-July.

Before to change the Annual dataset periodicity, I would like to know if there are others consequences. Thank you.

abyot commented 8 years ago

I can't clearly see the exact consequences. We can just change one data set and try out to find out issues.

One thing I can think of is how will this financial July period plays out with quarterly periods.

Just a question: how many data sets do we have yearly? Do we have baseline for these yearly data sets?

Aleglise commented 8 years ago

There are 240 datasets in the system 80 Baseline, 80 Target and 80 Progress. Among the 80 Baseline data sets, 45 are Annual.

abyot commented 8 years ago

We have 80 baseline of which 45 are annual. This means, the remaining 35 are quarterly (but treated in data entry as annual). Is this correct?

Also, does this mean we have 45 target annual data set, 45 progress annual data set? If this correct? If the above is correct - how was the corresponding baseline data set defined? It should be as annual?

Aleglise commented 8 years ago

We have 80 baseline of which 45 are annual. This means, the remaining 35 are quarterly (but treated in data entry as annual). This is correct.

Also, this mean we have 45 target annual data set, 45 progress annual data set. This is correct.

As you know, baseline data sets always have to be annual.

abyot commented 8 years ago

ok, let's just change one data set to "financial july" and see how baseline, target and progress data sets entry behaves.

Aleglise commented 8 years ago

Ok Abyot.

Do you know if there is a way to do data sets mass update. There are 240 and we are already spending lot of time to rename them one by one using the UI.

Thank you for your help.

abyot commented 8 years ago

First, let's change one data set and see how it goes. After that I will write either web-api or sql script to do batch update.

abyot commented 8 years ago

I will do the batch update. But first, please check if everything works fine with a single data set - change this data set to financial july and see if everything (data entry, report, including performance contract) is working fine.

Let me know the status of this and I will do batch update.

Aleglise commented 8 years ago

Datasets Target/Baseline/Progress (OC) Improved use of scarce land resources through sustainable intensification of crop and livestock production systems District Level Annual Dataset test Financial-July period were modified

Aleglise commented 8 years ago

When I enter values for baseline: selection_2016081004 54 36

And then using Target and progress data sets selection_2016081004 57 20

It looks like ok.

Aleglise commented 8 years ago

But coming to approval step, baseline approval is ok but target approval fails: image

Console

Failed to load resource: the server responded with a status of 500 (Erreur Interne de Servlet) jquery.min.js?_rev=22005:2 POST http://62.210.124.144:9090/demo/api/dataApprovals/approvals 500 (Erreur Interne de Servlet)send @ jquery.min.js?_rev=22005:2ajax @ jquery.min.js?_rev=22005:2dhis2.appr.approveData @ dataApproval.js?_rev=22005:646onclick @ showDataApprovalForm.action:260

To reproduce, you can access to these approval data criteria: image

abyot commented 8 years ago

I have looked into this and managed to approve baseline, target and progress data sets, of type Financial-July, independently.

Below is my observation:

The error we were getting was:

image

This happens when trying to do a second approval. The error makes sense as we are trying to save a second approval of the same nature (rather workflow).

This is what we have in db:

image

Looking at the db and data model, we are not saving approval as such per dataset, rather per workflow. Unfortunately, all the mentioned data sets have the same workflow. This means approving one dataset, will also approve all other datasets sharing the same workflow.

The solution is to create independent workflows. This is necessary only if the intention is to approve each data set independently.

I know this is a little misleading in the approval UI as we have only dataset not approval workflow to choose.

arunimam commented 8 years ago

@abyot

This means we need to create 240 workflows for each dataset?

arunimam commented 8 years ago

@abyot

1) So a workflow will be Province Approval for_Dataset Name For e.g. Province Approval for Vision 2020 and EDPRS-2 targets for economic growth and poverty reduction supported by agriculture sector District Level Annual Dataset

2) For the Annual datasets do we need to select period as Financial July

abyot commented 8 years ago

How many workflows to create is irrelevant for me.

The bottom line is - IF YOU WANT TO APPROVE DATASETS INDEPENDENTLY EACH DATASET NEEDS TO HAVE ITS OWN APPROVAL WORKFLOW.

arunimam commented 8 years ago

Ok

arunimam commented 8 years ago

Also let me know if we need to change the frequency of yearly datasets to Financial July since i will be updating the workflows so i can do that also

Do we need to keep Financial July as frequency in approval of yearly datasets?

arunimam commented 8 years ago

240 workflows have been created and assigned for each dataset PFA the attached file with approval workflows name Approval Workflows.xlsx

Aleglise commented 8 years ago

Testing on demo I didn't faced the error message anymore. image

Why the data is displayed for 2012 and also for July 2012-Jun 2013 ?