=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java 2015-09-08 18:09:55 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java 2015-09-10 19:45:19 +0000 @@ -766,7 +766,7 @@ for ( String uid : ProgramIndicator.getDataElementAndAttributeIdentifiers( expression ) ) { - sql += "case when " + statementBuilder.columnQuote( uid ) + " > 0 then 1 else 0 end + "; + sql += "case when " + statementBuilder.columnQuote( uid ) + " >= 0 then 1 else 0 end + "; } return TextUtils.removeLast( sql, "+" ).trim() + "),0)"; === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java 2015-09-07 20:02:22 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java 2015-09-10 19:45:19 +0000 @@ -498,7 +498,7 @@ String expected = "coalesce(case when \"EZq9VbPWgML\" < 0 then 0 else \"EZq9VbPWgML\" end, 0) + " + "coalesce(\"GCyeKSqlpdk\",0) + " + - "nullif((case when \"EZq9VbPWgML\" > 0 then 1 else 0 end + case when \"GCyeKSqlpdk\" > 0 then 1 else 0 end),0)"; + "nullif((case when \"EZq9VbPWgML\" >= 0 then 1 else 0 end + case when \"GCyeKSqlpdk\" >= 0 then 1 else 0 end),0)"; String expression = "d2:zing(#{OXXcwl6aPCQ.EZq9VbPWgML}) + " +