I would put the smaller provider status data into a wide format, with two date
variables, one for contract start and one for contract stop. Then
sort individual startdate
by individual: assert startdate>=stopdate[_n-1] if _n>1
*if assert fails, which status do you want to use?
ren startdate date
merge individual date using Big_Data
sort individual date
by individual: replace stopdate = stopdate[_n-1] if _merge==2
by individual: replace providerstatus = providerstatus[_n-1] ///
if _merge==2 & date<=stopdate
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/