Files
Dss/Chililabdata/newcode/currentlist.do
admin 8c43da1d1c Uloading
Uloading
2025-08-02 05:26:16 +07:00

98 lines
2.7 KiB
Plaintext

clear all
cd ..\data
use observation
sort observeid
save, replace
use membership.dta
sort individid mem_sdate
replace mem_sdate = mem_sdate/86400000
egen maxdate = max( mem_sdate), by (individid)
keep if mem_sdate==maxdate
keep if mem_edate==.
gen observeid = mem_sobserveid
gen round = substr( mem_sobserveid, 10,3)
duplicates drop individid round, force
gen individkey = individid + round
gen householdkey = socialgpid + round
duplicates drop individid, force
merge m:1 observeid using observation, keepusing(locationid)
keep if _merge ==3
drop _merge observeid mem_episodeid mem_sobserveid mem_seventtype mem_eobserveid mem_eeventtype mem_no round mem_sdate mem_edate maxdate socialgpidGuid mem_sobserveidGuid mem_eobserveidGuid
/* get individual core information */
sort individid
merge m:1 individid using ..\newcode\data\std_individual
keep if _merge ==3
drop _merge
/* get education information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_education.dta
keep if _merge!=2
drop _merge
/* get occupation information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_occupation.dta
keep if _merge!=2
drop _merge
/* get marial status information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_marstatus.dta
keep if _merge!=2
drop _merge
/* get religion information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_religion.dta
keep if _merge!=2
drop _merge
/* get marriage information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_relationship.dta, keepusing(partnerid marriagedate marriagetype)
keep if _merge!=2
drop _merge
replace marstatusid = 1 if marriagetype =="MAR"
/* get Insurance information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_medinsurance.dta, keepusing(hinsid)
keep if _merge!=2
drop _merge
/* get househead information */
sort individkey
merge 1:1 individkey using ..\newcode\data\std_househeadlist
keep if _merge!=2
gen ishousehead =0
replace ishousehead =0 if _merge ==1
replace ishousehead =1 if _merge==3
drop _merge
merge 1:1 individkey using ..\newcode\data\std_recidency.dta
keep if _merge!=2
gen isresident =0
replace isresident=1 if _merge==3
drop _merge
sort individid
merge m:1 individid using ..\newcode\data\std_enterexit
keep if _merge!=2
drop _merge
label drop _merge
gen CommuneId = substr(locationid, 1,2)
/* recode */
label variable sex "Gioi tinh"
label variable socialgpid "Ma ho"
label variable fatherid "Ma so bo"
label variable motherid "Ma so me"
label variable hinsid "Bao hiem y te"
label variable ishousehead "La chu ho"
label define chuho 1 "La chu ho" 0 "Khong la chu ho"
label values ishousehead chuho
label variable marriagetype "Hinh thuc hon nhan"
label variable CommuneId "Ma xa"
save ..\newcode\data\currentlist,replace