Analysis of repeated measurements and time-to-event data via random
    effects joint models. Fits the joint models proposed by Henderson and colleagues
    <doi:10.1093/biostatistics/1.4.465> (single event time) and by Williamson and
    colleagues (2008) <doi:10.1002/sim.3451> (competing risks events time) to a
    single continuous repeated measure. The time-to-event data is modelled using a 
    (cause-specific) Cox proportional hazards regression model with time-varying 
    covariates. The longitudinal outcome is modelled using a linear mixed effects
    model. The association is captured by a latent Gaussian process. The model is 
    estimated using an Expectation Maximization algorithm. Some plotting functions 
    and the variogram are also included. This project is funded by the Medical 
    Research Council (Grant numbers G0400615 and MR/M013227/1).

Fits the joint model proposed by Henderson and colleagues (2000) 
    <doi:10.1093/biostatistics/1.4.465>, but extended to the case of multiple 
    continuous longitudinal measures. The time-to-event data is modelled using a 
    Cox proportional hazards regression model with time-varying covariates. The 
    multiple longitudinal outcomes are modelled using a multivariate version of the 
    Laird and Ware linear mixed model. The association is captured by a multivariate
    latent Gaussian process. The model is estimated using a Monte Carlo Expectation 
    Maximization algorithm. This project was funded by the Medical Research Council 
    (Grant number MR/M013227/1).

Links records that refer to the same entity across sources that
    share no common key, such as people, firms, or addresses with spelling
    variation, abbreviations, or reordered words. Linkage is described
    declaratively as a strategy that normalises, tokenises, phonetically
    encodes, weights, and blocks each field; candidate pairs are then scored
    by the rarity-weighted overlap of their tokens and every score is
    attributed back to individual tokens for explainability. Strategies
    compose into staged pipelines of exact, fuzzy, and optional
    embedding-based matching that carry unmatched records forward and resolve
    entities as connected components. The same strategy runs on an in-memory
    'data.table' backend or an out-of-core 'DuckDB' backend, and diagnostic
    and calibration tools help tune a strategy and filter false positives.
    The token-retrieval heuristic follows Doherr (2023)
    <doi:10.2139/ssrn.4326848>.