
cd "D:\Policy"

************ 
* Province *
************

clear

set obs 31
gen province=11 if _n==1
replace province=province[_n-1]+1 if _n<=5 & province==.
gen province_name="Beijing" if province==11
replace province_name="Tianjin" if province==12
replace province_name="Hebei" if province==13
replace province_name="Shanxi" if province==14
replace province_name="Inner Mongolia" if province==15
replace province=21 if _n==6
replace province=province[_n-1]+1 if _n<=8 & province==.
replace province_name="Liaoning" if province==21
replace province_name="Jilin" if province==22
replace province_name="Heilongjiang" if province==23
replace province=31 if _n==9
replace province=province[_n-1]+1 if _n<=15 & province==.
replace province_name="Shanghai" if province==31
replace province_name="Jiangsu" if province==32
replace province_name="Zhejiang" if province==33
replace province_name="Anhui" if province==34
replace province_name="Fujian" if province==35
replace province_name="Jiangxi" if province==36
replace province_name="Shandong" if province==37
replace province=41 if _n==16
replace province=province[_n-1]+1 if _n<=21 & province==.
replace province_name="Henan" if province==41
replace province_name="Hubei" if province==42
replace province_name="Hunan" if province==43
replace province_name="Guangdong" if province==44
replace province_name="Guangxi" if province==45
replace province_name="Hainan" if province==46
replace province=50 if _n==22
replace province=province[_n-1]+1 if _n<=26 & province==.
replace province_name="Chongqing" if province==50
replace province_name="Sichuan" if province==51
replace province_name="Guizhou" if province==52
replace province_name="Yunnan" if province==53
replace province_name="Tibet" if province==54
replace province=61 if _n==27
replace province=province[_n-1]+1 if province==.
replace province_name="Shaanxi" if province==61
replace province_name="Gansu" if province==62
replace province_name="Qinghai" if province==63
replace province_name="Ningxia" if province==64
replace province_name="Xinjiang" if province==65

save "province.dta", replace

****************
* Dummy sample *
****************

*We generate a dummy sample of three women, as described in the Appendix C.
*Woman A was born in 1955 in Beijing. She is Manchu (ethnic minority) and has an agricultural Hukou.
*Woman B was born in 1955 in Heilongjiang. She belongs to an ethnic group that has a national population less than 10 million, and has a non-agricultural Hukou.
*Woman C was born in 1955 in Shandong. She is Han, and has an agricultural Hukou.

clear
set obs 3

gen household=_n

gen m_name="A" if household==1
replace m_name="B" if household==2
replace m_name="C" if household==3

gen province=11 if m_name=="A"
replace province=23 if m_name=="B"
replace province=37 if m_name=="C"

gen province_name="Beijing" if m_name=="A"
replace province_name="Heilongjiang" if m_name=="B"
replace province_name="Shandong" if m_name=="C"

gen birth_year=1955 if m_name=="A"
replace birth_year=1955 if m_name=="B"
replace birth_year=1955 if m_name=="C"

gen mother_minority=1 if m_name=="A" 
replace mother_minority=1 if m_name=="B"
replace mother_minority=0 if m_name=="C"

gen women_man=1 if m_name=="A"
replace women_man=0 if m_name=="B"
replace women_man=0 if m_name=="C"

gen women_zhuang=0 if m_name=="A"
replace women_zhuang=0 if m_name=="B"
replace women_zhuang=0 if m_name=="C"

gen mother_agricultural=1 if m_name=="A"
replace mother_agricultural=0 if m_name=="B"
replace mother_agricultural=1 if m_name=="C"

gen time1971=1971 /*The oldest women in the data were born in 1950 and entered fertile years in 1971.*/
gen time1972=1972
gen time1973=1973
gen time1974=1974
gen time1975=1975
gen time1976=1976
gen time1977=1977
gen time1978=1978
gen time1979=1979
gen time1980=1980
gen time1981=1981
gen time1982=1982
gen time1983=1983
gen time1984=1984
gen time1985=1985
gen time1986=1986
gen time1987=1987
gen time1988=1988
gen time1989=1989
gen time1990=1990
gen time1991=1991
gen time1992=1992
gen time1993=1993
gen time1994=1994
gen time1995=1995
gen time1996=1996
gen time1997=1997
gen time1998=1998
gen time1999=1999
gen time2000=2000

reshape long time, i(household) j(year)

gen fertility_age=0 
replace fertility_age=1 if year-birth_year>=21 & year-birth_year<=35

save "fertility_data.dta", replace


****************
*    Policy    *
****************

use "province.dta", clear

gen time1971=1971
gen time1972=1972
gen time1973=1973
gen time1974=1974
gen time1975=1975
gen time1976=1976
gen time1977=1977
gen time1978=1978
gen time1979=1979
gen time1980=1980
gen time1981=1981
gen time1982=1982
gen time1983=1983
gen time1984=1984
gen time1985=1985
gen time1986=1986
gen time1987=1987
gen time1988=1988
gen time1989=1989
gen time1990=1990
gen time1991=1991
gen time1992=1992
gen time1993=1993
gen time1994=1994
gen time1995=1995
gen time1996=1996
gen time1997=1997
gen time1998=1998
gen time1999=1999
gen time2000=2000
reshape long time, i(province) j(year)
drop time


gen ocp_coverage=0
replace ocp_coverage=1 if province==11 & year>=1979
replace ocp_coverage=1 if province==12 & year>=1979
replace ocp_coverage=1 if province==13 & year>=1982
replace ocp_coverage=1 if province==14 & year>=1982
replace ocp_coverage=1 if province==15 & year>=1982
replace ocp_coverage=1 if province==21 & year>=1980
replace ocp_coverage=1 if province==22 & year>=1984
replace ocp_coverage=1 if province==23 & year>=1979
replace ocp_coverage=1 if province==31 & year>=1979
replace ocp_coverage=1 if province==32 & year>=1979
replace ocp_coverage=1 if province==33 & year>=1982
replace ocp_coverage=1 if province==34 & year>=1981
replace ocp_coverage=1 if province==35 & year>=1982
replace ocp_coverage=1 if province==36 & year>=1981
replace ocp_coverage=1 if province==37 & year>=1980
replace ocp_coverage=1 if province==41 & year>=1981
replace ocp_coverage=1 if province==42 & year>=1981
replace ocp_coverage=1 if province==43 & year>=1982
replace ocp_coverage=1 if province==44 & year>=1980
replace ocp_coverage=1 if province==45 & year>=1982
replace ocp_coverage=1 if province==46 & year>=1980
replace ocp_coverage=1 if province==50 & year>=1980
replace ocp_coverage=1 if province==51 & year>=1980
replace ocp_coverage=1 if province==52 & year>=1982
replace ocp_coverage=1 if province==53 & year>=1979
replace ocp_coverage=0 if province==54 
replace ocp_coverage=1 if province==61 & year>=1981
replace ocp_coverage=1 if province==62 & year>=1982
replace ocp_coverage=1 if province==63 & year>=1982
replace ocp_coverage=1 if province==64 & year>=1982
replace ocp_coverage=1 if province==65 & year>=1992

gen policy=1
replace policy=0 if ocp_coverage==0

save "policy_data.dta", replace 

use "fertility_data.dta", clear
joinby province year using "policy_data.dta"

sort province household year


replace policy=0 if mother_minority==1 & year>=1984 & year<=1994 & province==13
replace policy=0 if mother_minority==1 & (women_zhuang==0 & women_man==0) & year>=1995 & year<=2000 & province==13
replace policy=0 if mother_agricultural==1 & year>=1989 & year<=2000 & province==13

replace policy=0 if mother_minority==1 & year>=1982 & year<=2000 & province==14
replace policy=0 if mother_agricultural==1 & year>=1990 & year<=2000 & province==14

replace policy=0 if mother_minority==1 & year>=1982 & year<=1995 & province==15
replace policy=0 if mother_minority==1 & (women_zhuang==0 & women_man==0) & year>=1996 & year<=2000 & province==15
replace policy=0 if mother_agricultural==1 & year>=1988 & year<=2000 & province==15

replace policy=0 if mother_minority==1 & year>=1982 & year<=1984 & province==21
replace policy=0 if mother_minority==1 & mother_agricultural==1 & year>=1985 & year<=2000 & province==21
replace policy=0 if mother_agricultural==1 & mother_minority==1 & (women_zhuang==0 & women_man==0) & year>=1985 & year<=2000 & province==21
replace policy=0 if mother_agricultural==1 & year>=1985 & year<=2000 & province==21 

replace policy=0 if mother_minority==1 & (women_zhuang==0 & women_man==0) & year>=1994 & year<=2000 & province==22
replace policy=0 if mother_minority==1 & year>=1985 & year<=1993 & province==22

replace policy=0 if mother_minority==1 & year>=1981 & year<=1993 & province==23
replace policy=0 if mother_minority==1 & year>=1994 & (women_zhuang==0 & women_man==0) & year<=2000 & province==23
replace policy=0 if mother_agricultural==1 & year>=1990 & year<=2000 & province==23

replace policy=0 if mother_minority==1 & women_zhuang==0 & year>=1990 & year<=2000 & province==33
replace policy=0 if mother_minority==1 & year>=1982 & year<=1989 & province==33

replace policy=0 if mother_minority==1 & year>=1981 & year<=2000 & province==34
replace policy=0 if mother_agricultural==1 & year>=1988 & year<=2000 & province==34

replace policy=0 if mother_minority==1 & women_zhuang==0 & year>=1984 & year<=1991 & province==35
replace policy=0 if mother_minority==1 & women_zhuang==0 & mother_agricultural==1 & year>=1992 & year<=2000 & province==35

replace policy=0 if mother_minority==1 & year>=1990 & year<=2000 & province==36
replace policy=0 if mother_agricultural==1 & year>=1985 & year<=2000 & province==36

replace policy=0 if mother_minority==1 & year>=1984 & year<=2000 & province==37
replace policy=0 if mother_agricultural==1 & year>=1986 & year<=2000 & province==37

replace policy=0 if mother_minority==1 & mother_agricultural==1 & year>=1990 & year<=2000 & province==41
replace policy=0 if mother_agricultural==1 & year>=1990 & year<=2000 & province==41

replace policy=0 if mother_agricultural==1 & year>=1988 & year<=2000 & province==42

replace policy=0 if mother_minority==1 & mother_agricultural==1 & year>=1990 & year<=2000 & province==43
replace policy=0 if mother_agricultural==1 & mother_minority==1 & year>=1990 & year<=2000 & province==43
replace policy=0 if mother_agricultural==1 & year>=1987 & year<=2000 & province==43

replace policy=0 if mother_minority==1 & year>=1980 & year<=1997 & province==44
replace policy=0 if mother_minority==1 & mother_agricultural==1 & year>=1998 & year<=2000 & province==44
replace policy=0 if mother_agricultural==1 & year>=1986 & year<=2000 & province==44

replace policy=0 if mother_minority==1 & (women_zhuang==0 & women_man==0) & year>=1989 & year<=2000 & province==45
replace policy=0 if mother_minority==1 & (women_zhuang==0 & women_man==0) & year>=1985 & year<=1988 & province==45
replace policy=0 if mother_agricultural==1 & year>=1989 & year<=2000 & province==45

replace policy=0 if mother_minority==1 & year>=1980 & year<=1989 & province==46
replace policy=0 if mother_minority==1 & women_zhuang==0 & year>=1990 & year<=2000 & province==46
replace policy=0 if mother_agricultural==1 & year>=1986 & year<=2000 & province==46

replace policy=0 if mother_minority==1 & year>=1982 & year<=1998 & province==52
replace policy=0 if mother_agricultural==1 & year>=1982 & year<=1987 & province==52
replace policy=0 if mother_agricultural==1 & mother_minority==1 & year>=1988 & year<=2000 & province==52
replace policy=0 if mother_agricultural==1 & year>=1998 & year<=2000 & province==52

replace policy=0 if mother_agricultural==1 & year>=1979 & year<=2000 & province==53

replace policy=0 if province==54
replace policy=0 if province==54

replace policy=0 if mother_minority==1 & year>=1981 & year<=2000 & province==61
replace policy=0 if mother_agricultural==1 & year>=1986 & year<=2000 & province==61

replace policy=0 if mother_minority==1 & year>=1982 & year<=1989 & province==62
replace policy=0 if mother_minority==1 & mother_agricultural==1 & year>=1990 & year<=2000 & province==62
replace policy=0 if mother_agricultural==1 & year>=1990 & year<=2000 & province==62

replace policy=0 if mother_minority==1 & year>=1986 & year<=2000 & province==63

replace policy=0 if mother_minority==1 & year>=1982 & year<=2000 & province==64
replace policy=0 if mother_agricultural==1 & year>=1982 & year<=2000 & province==64

replace policy=0 if mother_minority==1 & year>=1992 & year<=2000 & province==65
replace policy=0 if mother_agricultural==1 & year>=1992 & year<=2000 & province==65

gen P_coverage=fertility_age*ocp_coverage*policy

bysort household: egen coverage_year=sum(P_coverage)

gen coverage_percent=coverage_year/15

keep if year==1971
drop year time fertility_age ocp_coverage policy P_coverage coverage_year  
saveold "household_policy_data", replace 

