Validation Rules for Immunization data

I am new to the platform and using version 2.28. In a test-system, I want to capture immunization data monthly.

We need to establish complex validation rules such as the difference between the number of children who received three vaccines ( ex- Hepatitis B, Oral Polio, Influenza) should not exceed the 5% of the maximum one.

A data set like
Hepatitis B - 100
O.Polio - 99
Influenza - 90

should be not be validated as the maximum difference allowed between each vaccine is 5.

if this difference occurred due to the real-life scenario, the data entry person could be able to override it with valid reasoning.


Hi Hasinda.

That is a good question.

If I understand correctly, another way to state the requirement is that each count must be at least 95% of each other count. In this case, you could write 6 validation rules:

  1. Hepatitis B >= Oral Polio * .95
  2. Hepatitis B >= Influenza * .95
  3. Oral Polio >= Hepatitis B * .95
  4. Oral Polio >= Influenza * .95
  5. Influenza >= Hepatitis B * .95
  6. Influenza >= Oral Polio * .95

The user may always enter data even if the validation rules are not satisfied. The principle in DHIS 2 is that it’s better to have known data that does not match the validation rules, than to have missing data and not know what is missing.



Hello Jim,
Sorry for being this late to reply. This approach solved the validation rule which I was stuck at.

I wanted to know if it’s possible to proceed with a comment to a violated validation rule. But yeah, validation rule is a Rule!. It’s better to continue with the entry and sort things at the Data Quality application at a higher level.

Thanks for the quick reply. Cheers!

1 Like