EXCEPTIONS

InvalidMeasurement raised when measurement is invalid for requested indicator

InvalidAge raised when age is invalid for requested indicator

DataNotFound raised when WHO/CDC data is not found for the requested observation (e.g., box-cox, median, coeffeciant of vairance for age)

DataError raised when an error occurs while loading WHO/CDC data into memory

TESTING

install nose to execute tests:
pip install nose

the included tests use example anthropometric data taken from
demonstration data shipped with WHO’s igrowup software.
pygrowup performs the same calculations and compares the results
to the WHO results.
please see the sofware licence agreement for WHO’s igrowup, which
is the souce of the test data files:
http://www.who.int/childgrowth/software/license2.pdf

currently, 4 cases fail to produce results within 1 standard deviation
of the WHO resuts. I believe these discrepencies are due to WHO’s use
of floating point arithmetic in their igrowup software, which leads to less
precise calculations compared to pygrowup. In the absence of any other
trusted test data, please be aware that no claims are made to the
accuracy or reliability of pygroup’s calculations.

to run the tests:
$ nosetests tests.py

DEVELOPING

The source WHO .txt tables can be easily converted to json with the help of
two amazing python utilities: