The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Nutrition and Anthropometry » Minimum acceptable diet
Minimum acceptable diet [message #29782] Sat, 03 August 2024 23:08 Go to next message
geoK is currently offline  geoK
Messages: 56
Registered: May 2014
Senior Member
Hello,
I'm having difficult matching the Burkina Faso MAD indicators to the estimates in the DHS report. I used the GitHub code to generate the estimates for 2010 and 2021. I limited the code to only children who responded to questions on feeding other than breastmilk (m55 in 2021 dataset). I've also double-checked all foods with the reports to include all country-specific reports. The 2010 estimates are much closer than the 2021. For 2010 I get 3.1% against 5.1%, while for 2021 it's 11.8% against 19% in StatCompiler. Could you please help me to be match the DHS figures.

Thank you.
Re: Minimum acceptable diet [message #29819 is a reply to message #29782] Thu, 08 August 2024 15:14 Go to previous messageGo to next message
Janet-DHS is currently offline  Janet-DHS
Messages: 888
Registered: April 2022
Senior Member
Following is a response from DHS staff member, Tom Pullum:

Can you be more specific about identifying the percentages you are trying to match? If they are in tables in the reports, please say which tables. If you are getting them from STATcompiler, please identify the specific indicator on the STATcompiler list of indicators.
Re: Minimum acceptable diet [message #29831 is a reply to message #29819] Fri, 09 August 2024 14:47 Go to previous messageGo to next message
geoK is currently offline  geoK
Messages: 56
Registered: May 2014
Senior Member
Thank you for the response.

The indicator I refer to on StatCompiler is "Children 6-23 months fed 5+ food groups". I included all country specific foods, but I'm still unable to match the figures in StatCompiler for 2010 and 2021 for Burkina Faso.

I look forward to your response.
Re: Minimum acceptable diet [message #29851 is a reply to message #29831] Tue, 13 August 2024 14:41 Go to previous messageGo to next message
Janet-DHS is currently offline  Janet-DHS
Messages: 888
Registered: April 2022
Senior Member
Following is a response from DHS staff member, Tom Pullum:

In the 2021 BF survey, the age of the child in months is determined by b19 (6-23, inclusive). In older surveys, age in months was given by v008-b3. Are you using b19?

The indicator is limited to the youngest child in this age range. This would be the child with the minimum value of bidx among the children with b19 in the 6-23 range and with b5=1 (the child is alive). In addition, although I don't see it stated, there may be a requirement that the child is living with the mother (b9=0). That is, it would be the child with the minimum value of bidx among children who have b19 in the 6-23 range and have b9=0 (b5 is always 1 if b9=0). Are you ok with all of those things?

If you still don't get a match, can you post the Stata code for how you recoded v414 into the 5 food groups? I just don't have time to do that from scratch.
Re: Minimum acceptable diet [message #29865 is a reply to message #29851] Wed, 14 August 2024 16:25 Go to previous messageGo to next message
geoK is currently offline  geoK
Messages: 56
Registered: May 2014
Senior Member
Thank you for the response.

I set the data using all the conditions mentioned, but the numbers still don't match.

Here is the Stata code I used:



egen sequence=seq() if b9==0 & b19>=6 & b19<=23 & m55<., by(v001 v002 v003)
gen in_sample=1 if sequence==1
tab in_sample [iweight=v005/1000000]

keep if in_sample==1

gen nt_formula= v411a==1
label values nt_formula yesno
label var nt_formula "Child given infant formula in day/night before survey - last-born under 2 years"

gen nt_milk= v411==1
label values nt_milk yesno 
label var nt_milk "Child given other milk in day/night before survey- last-born under 2 years"

gen nt_liquids= v410==1 | v410a==1 |v410as==1 | v412c==1 | v413==1| v413s==1|v413a==1| v413as==1| v413b==1| v413bs==1|v413c==1| v413d ==1
label values nt_liquids yesno 
label var nt_liquids "Child given other liquids in day/night before survey- last-born under 2 years"

gen nt_bbyfood= v412a==1
label values nt_bbyfood yesno 
label var nt_bbyfood "Child given fortified baby food in day/night before survey- last-born under 2 years"

gen nt_grains= v412a==1 | v414e==1 
label values nt_grains yesno 
label var nt_grains "Child given grains in day/night before survey- last-born under 2 years"

gen nt_vita= v414i==1 | v414j==1 | v414k==1
label values nt_vita yesno 
label var nt_vita "Child given vitamin A rich food in day/night before survey- last-born under 2 years"

gen nt_frtveg= v414a == 1 |v414l==1|v414wa==1
label values nt_frtveg yesno 
label var nt_frtveg "Child given other fruits or vegetables in day/night before survey- last-born under 2 years"

gen nt_root= v414f==1
label values nt_root yesno 
label var nt_root "Child given roots or tubers in day/night before survey- last-born under 2 years"

gen nt_nuts= v414c==1 |v414o==1
label values nt_nuts yesno 
label var nt_nuts "Child given legumes or nuts in day/night before survey- last-born under 2 years"

gen nt_meatfish= v414h==1 | v414m==1 | v414n==1
replace nt_meatfish= 1 if v414b==1
replace nt_meatfish= 1 if v414d==1
label values nt_meatfish yesno 
label var nt_meatfish "Child given meat, fish, shellfish, or poultry in day/night before survey- last-born under 2 years"

gen nt_eggs= v414g==1
label values nt_eggs yesno 
label var nt_eggs "Child given eggs in day/night before survey- last-born under 2 years"

gen nt_dairy= v414p==1 | v414v==1
label values nt_dairy yesno 
label var nt_dairy "Child given cheese, yogurt, or other milk products in day/night before survey- last-born under 2 years"

gen nt_solids= nt_bbyfood==1 | nt_grains==1 | nt_vita==1 | nt_frtveg==1 | nt_root==1 | nt_nuts==1 | nt_meatfish==1 | nt_eggs==1 | nt_dairy==1 | v414s==1| v414t==1| v414r==1
label values nt_solids yesno 
label var nt_solids "Child given any solid or semisolid food in day/night before survey- last-born under 2 years"

gen totmilkf = 0
replace totmilkf=totmilkf + v469e if v469e<8
replace totmilkf=totmilkf + v469f if v469f<8
replace totmilkf=totmilkf + v469x if v469x<8

gen nt_fed_milk= ( totmilkf>=2 | m4==95) if inrange(b19,6,23)
label values nt_fed_milk yesno
label var nt_fed_milk "Child given milk or milk products- last-born 6-23 months"

gen group1= m4==95
gen group2= nt_formula==1 | nt_milk==1 | nt_dairy==1
gen group3= nt_grains==1 | nt_root==1 | nt_bbyfood==1
gen group4= nt_vita==1
gen group5= nt_frtveg==1
gen group6= nt_eggs==1
gen group7= nt_meatfish==1
gen group8= nt_nuts==1

egen foodsum = rsum(group1 group2 group3 group4 group5 group6 group7 group8) 
recode foodsum (1/4 .=0 "No") (5/8=1 "Yes"), gen(nt_mdd)
replace nt_mdd=. if b19<6
label values nt_mdd yesno 
label var nt_mdd "Child with minimum dietary diversity, 5 out of 8 food groups- last-born 6-23 months"

gen feedings=totmilkf
replace feedings= feedings + m39 if m39>0 & m39<8

gen nt_mmf = (m4==95 & inrange(m39,2,7) & inrange(b19,6,8)) | (m4==95 & inrange(m39,3,7) & inrange(b19,9,23)) | (m4!=95 & feedings>=4 & inrange(b19,6,23))
replace nt_mmf=. if b19<6
label values nt_mmf yesno
label var nt_mmf "Child with minimum meal frequency- last-born 6-23 months"

egen foodsum2 = rsum(nt_grains nt_root nt_nuts nt_meatfish nt_vita nt_frtveg nt_eggs)
gen nt_mad = (m4==95 & nt_mdd==1 & nt_mmf==1) | (m4!=95 & foodsum2>=4 & nt_mmf==1 & totmilkf>=2)
replace nt_mad=. if b19<6
label values nt_mad yesno
label var nt_mad "Child with minimum acceptable diet- last-born 6-23 months"
tab nt_mad

gen wt=v005/1000000
svyset [pw=wt],  psu( v021 ) singleunit(centered) strata (v022)

gen childage6to23=0
replace childage6to23=1 if inrange(b19, 6,23)
svy, subpop (childage6to23): tab nt_mad, obs per

Re: Minimum acceptable diet [message #29885 is a reply to message #29865] Fri, 16 August 2024 10:20 Go to previous messageGo to next message
Janet-DHS is currently offline  Janet-DHS
Messages: 888
Registered: April 2022
Senior Member
Following is a response from DHS staff member, Tom Pullum:
Before I check your construction of the food groups, I suggest that you replace this line:
egen sequence=seq() if b9==0 & b19>=6 & b19<=23 & m55<., by(v001 v002 v003)

with this line:
egen sequence=seq() if b9==0 & b19>=6 & b19<=23 & m55<., by(v001 v002 v003 bidx)

You want the youngest child for each mother, so bidx must be included in the "by()". Please let us know if this works.
Re: Minimum acceptable diet [message #29888 is a reply to message #29885] Fri, 16 August 2024 16:55 Go to previous messageGo to next message
geoK is currently offline  geoK
Messages: 56
Registered: May 2014
Senior Member
Thank you so much for the response.

I've used the suggested code, but still not able to match the numbers in StatCompiler.

Thank you!
Re: Minimum acceptable diet [message #29928 is a reply to message #29888] Fri, 23 August 2024 11:57 Go to previous message
Janet-DHS is currently offline  Janet-DHS
Messages: 888
Registered: April 2022
Senior Member
Following is a response from DHS staff member, Tom Pullum:

I spent some time on this but gave up. I can see why you are puzzled.

We do not often post CSPro code, but attached is the CSPro code for all of Chapter 11 in the BF2021 survey.  The main thing to look for is how the v414 variables were assigned to the different food groups.  That's something that can vary from one survey to another, and is probably the reason why the GitHub code is not working. Please let us know if you figure it out.
Previous Topic: DHS Burundi 1987
Next Topic: Missing women's weight and height measurements in DHS-8
Goto Forum:
  


Current Time: Fri Nov 22 23:11:47 Coordinated Universal Time 2024