Thank you, @rtmill, @esholle, and @Dymshyts. Your input are very helpful. If I summarize it, it seems:
@esholle proposes to use the OBSERVATION_PERIOD.observation_period_start_date
@Dymshyts proposes to use the ( OBSERVATION_PERIOD.observation_period_start_date + OBSERVATION_PERIOD.observation_period_end_date) /2
But I think OBSERVATION_PERIOD.observation_period_end_date is more reasonable because I think the source database updates the demographic information every time the patient visits, and the data reflects the status of the patient during their last encounter.
I am not sure if other developers have had similar issue and how they dealt with it. Also do we want to put it as a Themis subject?