A harmonized dossier is a named list containing one or more data frames,
which are harmonized datasets. A harmonized dossier is generally the
product of applying processing to a dossier object The name of each
harmonized dataset (data frame) is taken from the reference input dataset.
A harmonized dossier also contains the DataSchema and
Data Processing Elements used in processing as attributes.
A DataSchema is the list of core variables to generate across datasets and
related metadata. A DataSchema object is a list of data frames with elements
named 'Variables' (required) and 'Categories' (if any). The 'Variables'
element must contain at least the name column, and the 'Categories'
element must contain at least the variable and name columns to be usable
in any function. In 'Variables' the name column must also have unique
entries, and in 'Categories' the combination of variable and name columns
must also be unique.
The Data Processing Elements specifies the input elements and processing algorithms
to generate harmonized variables in the DataSchema formats. It is also
contains metadata used to generate documentation of the processing.
A Data Processing Elements object is a data frame with specific columns
used in data processing: dataschema_variable, input_dataset,
input_variables, Mlstr_harmo::rule_category and Mlstr_harmo::algorithm.
To initiate processing, the first entry must be the creation of a harmonized
primary identifier variable (e.g., participant unique ID).