hm_normalize() — post-computation normalisation helper (new function).
Apply z-score, rank-based inverse-normal transform (Rankit), min-max, or
robust median/MAD scaling to any marker output data frame. Use cols to
target specific columns and skip_cols to protect covariates (e.g. age, BMI)
from being rescaled. This covers domain functions whose internal normalize
argument currently has no effect (glycemic_markers(), lipid_markers(),
renal_markers(), etc.). See ?hm_normalize.
Multi-biobank column inference (major). The internal synonym dictionary
(.hm_default_col_patterns_exact()) now recognises column-naming conventions
from 15+ major cohort studies and biobanks for all primary analytes:
_0_0 / _1_0 field naming (e.g. glucose_0_0,
creatinine_0_0, vitamin_d_0_0); standing_height, 25OHD.LBXGLU,
LBXSCH, BPXSY1, URXUMA).NPU01994
for creatinine, NPU01567 for cholesterol, NPU03609 for haemoglobin,
etc.) and Danish clinical labels (kreatinin, kolesterol, blodsukker,
leukocytter, trombocytter, d_vitamin).blodsukkerfasting, systolisk_blodtrykk, triglyserider, karbamid,
kjonn, midjeomkrets).glukos,
urinsyra, leukocyter, trombocyter, kön, längd, vikt).glukoosi, kolesteroli, kreatiniini, hemoglobiini, sukupuoli,
virtsahappo, leukosyytit, ferritiini, D_vitamiini).glukoos, kolesterool,
kreatiniin, hemoglobiin, naatrium, kaalium, vanus, sugu).nuchtere_glucose, totaal_cholesterol, urinezuur, ureum,
leukocyten, hemoglobine, vitamine_D, tailleomtrek).SBP_mean, DBP_mean,
genetic_sex, ethnic_group.LOINC_XXXX_X format for
all major analytes (e.g. LOINC_2345_7 for fasting glucose,
LOINC_2160_0 for creatinine, LOINC_718_7 for haemoglobin).Cholesterin,
Triglyzeride, Harnsäure, Harnstoff, Leukozyten, Thrombozyten).Added hm_col_report() — an interactive column-mapping diagnostic. Call
hm_col_report(your_data) before running any computation to see a
formatted table of which internal keys were matched to columns in your data
and how (exact synonym, case-insensitive, substring, or fuzzy), plus a
ready-to-paste col_map template for any unmatched keys.
The function uses a five-layer matching pipeline and returns the matched
mappings invisibly so the result can be passed directly as col_map to any
HealthMarkers function.
Auto-derivation of computed inputs. .hm_global_precompute() now
automatically derives 18+ secondary columns before marker computation begins,
so functions that require (e.g.) eGFR, UACR, WHR, LDL_c, or waist
no longer fail silently when only the raw inputs are present. Affected keys
include eGFR (from creatinine/age/sex via CKD-EPI), WHR (from waist
and hip), UACR (from u_albumin / u_creatinine), LDL_c (Friedewald
from TC/HDL_c/TG), MAP, PP, BMI (from height/weight), and more.
Expanded the internal synonym dictionary (R/utils_infer-cols.R) for all
variable groups, additionally incorporating:
TryG, TAG, TRIG, triacylglycerol;
SGPT/GPT/ALAT; hsCRP/hs_CRP)_0, _1, _3, _5)adiposity_sds(): fixed fn_name lookup bug that caused incorrect
error messages when validation failed on non-standard column names.hm_col_report() to
hm_fmt_col_map() to avoid a name collision with the new exported function.liver_fat_markers() for hepatic steatosis and fibrosis index calculation.nfl_marker() for plasma neurofilament light chain (NfL) z-score computation.impute_missing() for within-row imputation of missing biomarker values.pulmo_markers(): fixed column-inference logic for spirometry z-score inputs."debug" level when verbose = FALSE, so that getOption("healthmarkers.verbose")
controls visibility consistently across every function."debug" level
(independent of the per-call verbose argument) in bone_markers(),
ckd_stage(), and corrected_calcium().all_health_markers(): column inference is now keyed to the requested
groups, falls back to regex-based infer_cols() when exact matches fail, and
reports per-group status (including missing optional packages) in verbose
summaries.cvd_risk_qrisk3() now prefers the correctly
named ethnicity column (typo tolerated for backward compatibility), and
optional dependency errors now report the missing package name consistently.hm_validate_inputs()
so duplicate/empty mappings are caught uniformly._pkgdown.yml that lists all 46 vignettes in the articles
index for the pkgdown site.