WRT the algorithm for calculating WHZ or other z-scores ... I can only say what Ernest and I used in the R zscorer library which is available as open-source software (this means that you can see the algorithms and lookup tables for yourself).
We treated the problem as a table lookup problem just as we would if we were doing the calculations by hand but having the computer do that for us. We had a table which looked like this:
index sex given l m s
wfh 1 65.0 -0.3521 7.4327 0.08217
wfh 1 65.1 -0.3521 7.4563 0.08216
wfh 1 65.2 -0.3521 7.4799 0.08216
wfh 1 65.3 -0.3521 7.5034 0.08215
wfh 1 65.4 -0.3521 7.5269 0.08214
wfh 1 65.5 -0.3521 7.5504 0.08214
.
.
.
wfh 2 119.5 -0.3833 22.6012 0.09808
wfh 2 119.6 -0.3833 22.6444 0.09812
wfh 2 119.7 -0.3833 22.6877 0.09816
wfh 2 119.8 -0.3833 22.7309 0.09820
wfh 2 119.9 -0.3833 22.7741 0.09824
wfh 2 120.0 -0.3833 22.8173 0.09828
The "index" column allows us to select the index, from many available, that we want to calculate. The "sex" column is the sex of the child (1 = Male, 2 = Female), and the "given" column is the measures height of the child. The "l", "m", and "s" columns are the L, M, and S values used to calculate the z-score as described in "WHO Child Growth Standards : Methods and development: Length/height-for-age, weight-for-age, weight-for-length, weight-for-height and body mass index-for-age" on pages 301-304:
WHO Guide
The process is to (1) Look up the L, M, S values for the the child given the sex and height and (2) plug these values with the measured weight into the formulae provided by the WHO (see above). Excel's VLOOKUP() function makes looking up data in a table very easy and the rest is just simple arithmetic. I have knocked together a simple proof-of-concept demonstration for WHZ in Excel and put it here:
Excel Demo for WHZ
This is a simplified WHZ calculator and does not correct extreme values when WHZ > +3 or WHZ < -3. You or someone else here can add that from the formulae presented in "WHO Child Growth Standards : Methods and development: Length/height-for-age, weight-for-age, weight-for-length, weight-for-height and body mass index-for-age" on pages 301-304. It could be made prettier. As I say ... I "knocked this together" so you really should test it before using it for screening &c.
There is nothing here that should overload Excel running on a PC. I do not know if it would overload ODK running on a basic mobile phone ... You can run Excel on an Android or Apple's IOS. You could give it a try.
You can get the lookup table data from the source code of the R zscorer library. This has tables for BMI/A, head-circumference/A. H/A, L/A, MUAC/A, sun-scapular skinfold/A, triceps skinfold/A, W/A, W/H, and W/L. Tables are also available from the WHO child growth standards section of the WHO website:
WHO Child Growth Standards
I hope this is of some use.