← Back to team overview

dhis2-devs team mailing list archive

Re: [Bug 745473] Re: validation-rules-NULL-operands

 

Does it possible to check no effective-elements in the one side of validation 
rule?
If possible, when you found no effective-elements in the one side of the rule, 
then you could skip evaluation of this validation rule.
If impossible, there no easy way found for me.
Best regards,
     Suzuki
-----Original Message-----
From: dhis2-devs-bounces+shin461=gmail.com@xxxxxxxxxxxxxxxxxxx 
[mailto:dhis2-devs-bounces+shin461=gmail.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
jason.p.pickering
Sent: Monday, July 04, 2011 8:07 PM
To: dhis2-devs@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Dhis2-devs] [Bug 745473] Re: validation-rules-NULL-operands

I agree it is a tricky issue, but I was just surprised that DHIS2 handled 
NULLS/blank values in this case differently than aggregation. The situation in 
this case was that data has been entered via the mobile client, and therefore 
not subject to data entry form validation (through the web interface). When 
trying to perform a data validation analysis, I was very surprised that this 
rule did not work as I expected, as there were a number of situations where 
people have entered something for positive cases, but nothing for total cases 
tested (reminiscent of DHIS 1.4 compulsory pairs).

Anyway, it is of course not a big deal to deal with this type of violation 
through a custom SQL query, but it does of course get rather time consuming to 
make reports and custom SQL.

One possibility around this might be to apply the validation rules to 
aggregated data instead of raw data?

Regards,
jason


2011/7/4 Lars Helge Overland <larshelge@xxxxxxxxx>

> This is not really a bug but yes its a tricky issue. DHIS by default
> does not store zero values, this has some disadvantages like the the
> one mentioned here, but also the big advantage that it reduces overall
> database size by approx 70 %. This however is completely configurable
> and if you want to save the zero values you can set all data elements
> to "store significant zeros".
>
> Regarding validation rules: in some cases it will make sense to treat
> missing values as zero, like Suzuki points out above. If the user has
> actually entered an (ignored) zero value, the validation rule should
> report a violation. On the other hand, if the data is missing I don't
> think it makes sense to report a violation as we simply don't know the
> underlying situation.
>
> So there are advantages about treating missing values as zeros, but
> there are also disadvantages. First, consider when doing a "bulk"
> validation of for instance a province for many months. In this case
> there are typically large gaps in the data - many facilities have not
> reported since they do not provide certain services, they haven't
> bothered to enter, they had technical problems or whatever. In this
> case the resulting list of violations would be "spammed" and rendered
> effectively unusable - there would be thousands of violations as a
> result of missing data since most validation rules are on the form A <
> B and if there is no data this would return a violation.
>
> Second, when doing validation directly in data entry forms, for the
> usual, very large "integrated form" there are typically several
> sections within that form which don't apply to all facilities. The
> validation rules dealing with those irrelevant sections would then
> return violations as there would be no data and potentially cause
> confusion for users.
>
> So there are benefits and drawbacks on both sides. This issue maybe
> qualifies for an option - when doing "bulk" validation the user can
> select whether to treat missing values as zeros or not (?).
>
> --
> You received this bug notification because you are a member of DHIS 2
> India Developers, which is subscribed to DHIS.
> https://bugs.launchpad.net/bugs/745473
>
> Title:
>  validation-rules-NULL-operands
>
> Status in DHIS 2 - District Health Information Software:
>  New
>
> Bug description:
>  I defined a validation rule.. RDT positive cases <= RDT tested cases.
>  When the user enters a zero or a blank for the RHS and a value for
> the  LHS, the validation rule is passed, which in fact should not be
> the  case. Setting the data elements to "Store significant zeroes"
> solves  the problem when users enter a zero for the RHS, but it does
> not solve  the problem when they leave the field blank.
>
>  I think one possible fix would be that if the value is NULL then it
> should be treated as a zero. This seems to be more or less the
> behaviour elsewhere in DHIS 2.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/dhis2/+bug/745473/+subscriptions
>

--
You received this bug notification because you are a member of DHIS 2 
developers, which is subscribed to DHIS.
https://bugs.launchpad.net/bugs/745473

Title:
  validation-rules-NULL-operands

Status in DHIS 2 - District Health Information Software:
  New

Bug description:
  I defined a validation rule.. RDT positive cases <= RDT tested cases.
  When the user enters a zero or a blank for the RHS and a value for the
  LHS, the validation rule is passed, which in fact should not be the
  case. Setting the data elements to "Store significant zeroes" solves
  the problem when users enter a zero for the RHS, but it does not solve
  the problem when they leave the field blank.

  I think one possible fix would be that if the value is NULL then it
  should be treated as a zero. This seems to be more or less the
  behaviour elsewhere in DHIS 2.

To manage notifications about this bug go to:
https://bugs.launchpad.net/dhis2/+bug/745473/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~dhis2-devs
More help   : https://help.launchpad.net/ListHelp




Follow ups

References