mudnester: Surveillance Data Cleaning and Preparation for Public Health
Clean, prepare, and aggregate surveillance data for public health analysis.
Provides structural data cleaning and standardisation (clean_the_nest()),
age categorisation against ~50 published schemes with publication-ready
labelling (preening()), time-unit aggregation with zero-filling and
seasonal awareness (roost()), joint aggregation of several linked event
dates (e.g. onset, admission, ICU, complication, fatality) into one table of
comparable rate columns (flyway()), under-ascertainment correction via a
stratified, time-varying multiplier factor supplied directly, derived by the
ratio (multiplier) method, or derived by inverting an externally sourced
severity rate (e.g. an infection-fatality-rate anchor) against an observed
severity ratio (corncrake()), comorbidity detection from ICD-10-AM
clinical coding (plumage()), vaccine coverage data construction
(brood()), hash-based de-identification (molting()), and relinking
of previously de-identified data (homing()). brood() produces a
brood_df object supporting two population models: pre-aggregated
denominators (population_model = "pre_aggregated") and record-level cohort
designs (population_model = "cohort"). The cohort model handles single
time-point coverage snapshots, interrupted time series analysis via a
built-in sweep returning monthly coverage rates (time_series = TRUE), and
birth cohort designs with person-time computation. This cohort/time-series
coverage model was applied in Roughan et al. (2026)
<doi:10.33321/cdi.2026.50.031> to estimate infant immunisation coverage
against respiratory syncytial virus over an 18-month period. Both wide
format (one row per person with dose columns, from
'starling'::murmuration()) and long format (one row per dose) are accepted.
corncrake() returns both a point-corrected count and uncertainty bounds
wherever they can be derived, including the inverse relationship between a
severity-anchored factor and the bounds of its own reference rate. Built for
Australian public health surveillance practice but not specific to it – see
individual function documentation for notes on non-Australian use (e.g.
Northern Hemisphere season boundaries).
| Version: |
0.7.8 |
| Depends: |
R (≥ 4.1) |
| Imports: |
dplyr (≥ 1.1.0), tidyr (≥ 1.3.0), lubridate (≥ 1.9.0), stringr (≥ 1.5.0), rlang (≥ 1.1.0), tibble (≥ 3.2.0), digest (≥ 0.6.30), janitor (≥ 2.2.0), utils, stats |
| Suggests: |
testthat (≥ 3.0.0), knitr (≥ 1.42), rmarkdown (≥ 2.20), usethis (≥ 2.1.0), gtsummary, ggplot2 |
| Published: |
2026-10-02 |
| DOI: |
10.32614/CRAN.package.mudnester (may not be active yet) |
| Author: |
Nicolas Smoll
[aut, cre],
Moderna [fnd] (Support for this package's development was provided via
the Moderna Global Research Fellowship) |
| Maintainer: |
Nicolas Smoll <nicolas.smoll at health.qld.gov.au> |
| BugReports: |
https://github.com/nrsmoll/mudnester/issues |
| License: |
MIT + file LICENSE |
| URL: |
https://github.com/nrsmoll/mudnester |
| NeedsCompilation: |
no |
| Language: |
en-GB |
| Citation: |
mudnester citation info |
| CRAN checks: |
mudnester results |
Documentation:
| Reference manual: |
mudnester.html , mudnester.pdf
|
| Vignettes: |
Age Scheme Catalogue (source, R code)
brood(): Vaccine Coverage Data Structures (source, R code)
clean_the_nest(): Standardising Surveillance Data (source, R code)
corncrake(): Correcting Surveillance Counts for Under-Ascertainment (source, R code)
flyway(): Aggregating Several Linked Event Dates in One Table (source, R code)
homing(): Relinking De-identified Data (source, R code)
molting(): Hash-Based De-identification (source, R code)
Getting Started with mudnester (source, R code)
plumage(): Comorbidity Detection from ICD-10-AM Coding (source, R code)
preening(): Age Categorisation Against ~50 Named Schemes (source, R code)
roost(): Time-Unit Aggregation for Surveillance Data (source, R code)
|
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=mudnester
to link to this page.