If you are using the igrowup syntax you will not be able to match exactly what DHS produces for a number of reasons. See message 892 for a discussion of the differences in the flagging. Principally DHS used to flag and exclude cases that were flagged on any of the three anthropometric Z-scores, and flags cases if either the month or year of birth was not given (hc33 > 1) (and, if I remember correctly, the igrowup routines included these cases for Height-for-age or weight-for-age, which we disagree with).
Below is code in SPSS to calculate stunting. I tested this with Niger 2012 PR file and found 43.9% stunted as in the report:
recode hc70 (lo thru -201 = 1) (-200 thru 9990 = 0 ) (else=sysmis) into stunting.
variable labels stunting "Stunting".
value labels stunting 0 "Not stunted" 1 "Stunted".
formats stunting (f1.0).
compute wgt = hv005/1000000.
weight by wgt.
compute filter_$=(hc70 < 9990 & hv103=1).
variable labels filter_$ 'hc70 < 9990 & hv103=1 (FILTER)'.
value labels filter_$ 0 'Not Selected' 1 'Selected'.
formats filter_$ (f1.0).
filter by filter_$.
execute.
frequencies stunting.