| 
		
			| PNC within 2 days [message #27520] | Tue, 29 August 2023 04:40  |  
			| 
				
				
					|  Ramesh_ad Messages: 2
 Registered: January 2019
 | Member |  |  |  
	| From the Nepal DHS 2022, I am deriving the result of PNC within 2 days by using the following syntax, but the figure is not matched with Table 9.17 Timing of first postnatal check for the mother. I have also checked the syntax with GitHub and found a similar result. Can anyone help me to figure out the problem in my syntax. Below is the syntax, 
 use "NPIR81FL", clear
 
 gen wt = v005/1000000
 
 gen birth2 =0
 replace birth2=1 if b19_01<24
 
 *generate general variable for if they had a check at all or not
 gen check =0 if birth2 ==1
 replace check =1 if (m62_1 ==1 |m66_1==1)  & birth2==1
 
 *code timing of check if health facility delivery
 recode m63_1 ( 100/103 =1 "less than 4 hours") (104/123= 2 "4 to 23 hours") (200 = 3 "assume 4-23 hours ") (124/171 201/202 = 4 "1-2 days") (172/197 203/206 =5 "3-6 days new") (207/241 300/305 = 6 "7-41 days new") (242/299 306/899 = 7 "past 41 days") ( 900/1000 =9 "dk") (else =99 "missing")  if birth2==1 , gen(pnctime_hf)
 *separate out women who had a check but not skilled provider
 replace pnctime_hf = 8 if (m64_1==96) & check==1 & birth2==1
 *add back in women who said they did not have a check to keep denominator women with birth in 2 yrs
 replace pnctime_hf = 0 if check==0 & birth2==1
 
 *code timing of pnc if woman delivered at home or had a check after discharge either regardless of health check before discharge
 recode m67_1 ( 100/103 =1 "less than 4 hours") (104/123= 2 "4 to 23 hours") (200 = 3 "assume 4-23 hours ") (124/171 201/202 = 4 "1-2 days") (172/197 203/206 =5 "3-6 days new") (207/241 300/305 = 6 "7-41 days new") (242/299 306/899 = 7 "past 41 days") (900/1000 =9 "dk")  (else =99 "missing") if birth2==1 , gen (pnctime_home)
 *separate out women who had a check but not skilled provider
 replace pnctime_home = 8 if (m68_1==96) & check==1 & birth2==1
 *add back in women who said they did not have a check to keep denominator women with birth in 2 yr
 replace pnctime_home = 0 if check==0 & birth2==1
 
 *combine two timing variables
 gen newpnctime = 0 if birth2==1
 replace newpnctime = pnctime_hf
 *if they delivered at home or only got checked after discharge
 replace newpnctime  = pnctime_home if (pnctime_hf==. | pnctime_hf==99) & birth2==1 & check ==1
 *for no pnc categories, combine women with a check after 41 days or check by a non-skilled provider
 replace newpnctime = 0 if newpnctime ==7 |newpnctime==8
 label values newpnctime pnctime_home
 
 *pnc by provider in 2 days
 recode newpnctime (1/4 =1 "within 2 days") (0 5 6 9 = 0 "not in 2 days"), gen(pnc2d)
 
 tab pnc2d [iw=wt]
 |  
	|  |  |