We may want to perform SQL-like operations on a set of tables. This
data table will form the "backbone" for future join operations. It creates
one record per person in each study for each day in those studies (when
persons_df is set to "everybody"), or it creates one record
per person contained in the table persons_df for each day in those
studies. The default behavior is to use the supplied "everybody"
table for all consenting subjects in the CTN-0027, CTN-0030, and CTN-0051
clinical trials. However, users may only care about a smaller subset of
these patients, so a subset of the "everybody" data frame can be
supplied to the persons_df argument if desired.
NOTE: this function is only appropriate for trial with fixed start and
end days (such as CTN-0027 or CTN-0051). For studies with variable-length
(i.e., subject-specific) protocol lengths, please use
CreateSubjectProtocolHistory() instead.