% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/health_markers.R
\name{all_health_markers}
\alias{all_health_markers}
\title{Compute all available HealthMarkers categories}
\usage{
all_health_markers(
  data,
  col_map,
  which = "all",
  include_insulin = TRUE,
  normalize = c("none", "z", "inverse", "range", "robust"),
  mode = c("both", "IS", "IR"),
  verbose = TRUE,
  na_action = c("keep", "omit", "error"),
  id_col = NULL,
  return_input = TRUE
)
}
\arguments{
\item{data}{A data.frame or tibble.}

\item{col_map}{Named list for column mapping forwarded to underlying functions.
If \code{col_map} is \code{NULL} or an empty list, \code{all_health_markers()} calls
\code{\link[=hm_col_report]{hm_col_report()}} once at the top level to guess a column map from common
synonyms (for example \code{TG} vs \code{triglycerides}, \code{BMI} vs \code{bmi},
\code{HDL_c} vs \code{HDL}). The inferred \code{col_map} is then reused for all groups
that require it, and an error is thrown if required keys (e.g. \code{TG},
\code{HDL_c}, \code{LDL_c}, \code{TC}, \code{BMI}, \code{age}, \code{sex}) cannot be inferred.}

\item{which}{"all" or a vector of registry keys (see Details).}

\item{include_insulin}{Logical; include all_insulin_indices() first.}

\item{normalize}{One of c("none","z","inverse","range","robust").}

\item{mode}{One of c("both","IS","IR") passed to insulin indices.}

\item{verbose}{Logical.}

\item{na_action}{One of c("keep","omit","error"); forwarded to underlying calculators (HM-CS v2).}

\item{id_col}{Optional character string naming a column in \code{data} to include
in the returned output when \code{return_input = FALSE}. Ignored when
\code{return_input = TRUE}. Typical use: participant ID or sample barcode.}

\item{return_input}{Logical (default \code{TRUE}). When \code{TRUE} the original input
columns are retained in the output (current behaviour). When \code{FALSE} only
the newly computed marker columns are returned, plus \code{id_col} if supplied.
Set to \code{FALSE} to avoid carrying a large input data frame through the
pipeline — join back later with \code{cbind()} or \code{dplyr::left_join()} on \code{id_col}.}
}
\value{
Data frame. When \code{return_input = TRUE} (default): original columns
plus all derived markers. When \code{return_input = FALSE}: only the newly
computed columns (and \code{id_col} if specified).
}
\description{
Compute all available HealthMarkers categories
}
\details{
Common group names for \code{which} include:
\itemize{
\item \code{"lipid"}, \code{"liver"}, \code{"glycemic"}, \code{"mets"}, \code{"oxidative"}
\item \code{"bone"}, \code{"allostatic_load"}, \code{"nutrient"}, \code{"vitamin"}, \code{"vitamin_d_status"}
\item \code{"renal"}, \code{"ckd_stage"}, \code{"kidney_kfre"}
\item \code{"frailty_index"}, \code{"charlson"}, \code{"sarc_f"}
\item \code{"nfl"}, \code{"iAge"}, \code{"calcium_corrected"}, \code{"kyn_trp"}
}
}
\note{
For academic / clinical references tied to each derived marker or
index, consult the help pages of the source functions (e.g. ?allostatic_load,
?bone_markers, ?vitamin_markers, ?inflammatory_markers, etc.). This
aggregator provides integration only and does not restate citations.

Aggregator wrapper. See underlying function help pages for full references
across categories included by \code{which}.
}
\examples{
# Quick smoke-test (lipid group only, no insulin)
df <- data.frame(TC = 200, HDL_c = 50, TG = 150, LDL_c = 120)
all_health_markers(df, col_map = list(), which = "lipid",
                   include_insulin = FALSE, normalize = "none",
                   verbose = FALSE, na_action = "keep")

\donttest{
# Lipid + liver groups
df <- data.frame(
  TC = 200, HDL_c = 50, TG = 150, LDL_c = 120,
  ALT = 30, AST = 20, BMI = 25
)
all_health_markers(df, col_map = list(), which = c("lipid","liver"),
                   include_insulin = FALSE, normalize = "none", mode = "both",
                   verbose = FALSE, na_action = "keep")
}
}
