---
title: "Age Scheme Catalogue"
subtitle: "All ~50 schemes available to preening() and list_age_schemes()"
author: "Dr Nicolas Smoll, SCPHU, Sunshine Coast Hospital and Health Service"
date: "`r Sys.Date()`"
output:
  html_document:
    toc: true
    toc_depth: 3
    toc_float: true
    theme: flatly
  pdf_document:
    toc: true
    toc_depth: 3
    number_sections: true
    latex_engine: xelatex
vignette: >
  %\VignetteIndexEntry{Age Scheme Catalogue}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", warning = FALSE, message = FALSE)
library(mudnester)
library(dplyr)
```

## Using this catalogue

This vignette is the reference listing for the ~50 age-banding schemes available to `preening()` and `list_age_schemes()`. Each scheme is identified by a unique `snake_case` name that you pass directly to `preening(scheme = ...)`. 

Browse interactively with:

```{r browse}
# All schemes
list_age_schemes()
```

```{r browse-filtered}
# Filter by family and focus
list_age_schemes(family = "vaccination", focus = "national_au")
```

---

## Design rules that apply to every scheme

**Full-lifespan coverage**: every scheme spans `0` to `Inf`. Bands marked with ⁺ below are catch-alls added so that `preening()` never returns `NA` for an out-of-scope record. A non-trivial count in a ⁺-band is almost always a signal that the wrong scheme was chosen, not a real finding.

**Risk-group flags**: a handful of scheme definitions in the source guidance include risk-group distinctions (e.g. "18–64, immunocompromised" as a distinct band). These cannot be represented on a strictly increasing numeric age axis and have been collapsed to plain age bands with inline notes. If risk-group stratification is needed, capture it as a separate covariate and cross-tabulate with `age_group`.

**Illustrative schemes**: entries marked **(illustrative)** follow a documented convention but are not tied to a single citable primary source. Verify against current SCPHU practice before using in a published report.

---

## Family A — National statistical standards (Australia)

```{r family-a}
list_age_schemes(family = "national_stats")
```

| Scheme | Bands | Notes |
|---|---|---|
| `abs_5yr` | 0–4, 5–9, …, 80–84, 85+ | ABS Age Standard; primary age-standardisation reference for Australian epidemiology |
| `abs_5yr_extended` | 0–4, …, 100–104, 105+ | Life-table extension for aged-care and mortality analyses |
| `abs_10yr` | 0–9, 10–19, …, 70–79, 80+ | 10-year aggregation for small-count settings |
| `aihw_5yr_75plus` | 0–4, …, 70–74, 75+ | AIHW convention with 75+ ceiling |
| `aihw_10yr_65plus` | 0–<15⁺, 15–24, …, 55–64, 65+ | AIHW small-sample convention; `0–<15` is a catch-all |
| `aihw_10yr_55plus` | 0–<15⁺, 15–24, …, 45–54, 55+ | Lower ceiling variant |
| `abs_broad_lifecourse` | 0, 1–14, 15–24, 25–44, 45–64, 65+ | ABS international-guideline-aligned broad bands — the former `"general"` default |
| `census_age5p` | 0–4, …, 95–99, 100+ | ABS Census AGE5P variable |
| `census_age10p` | 0–9, …, 90–99, 100+ | ABS Census AGE10P variable |
| `labour_force_15plus` | 0–<15⁺, 15–19, …, 60–64, 65+ | ABS Labour Force Survey convention; `0–<15` catch-all **(illustrative)** |

---

## Family B — International statistical standards

```{r family-b}
list_age_schemes(family = "international_stats")
```

| Scheme | Bands | Notes |
|---|---|---|
| `who_life_course` | <1, 1–4, 5–14, 15–24, 25–64, 65+ | WHO standard life-course bands; default for international comparisons |
| `who_5yr_85plus` | 0–4, …, 80–84, 85+ | WHO standard population (5-year, 85+ ceiling) |
| `who_5yr_100plus` | 0–4, …, 95–99, 100+ | WHO extended standard population for aged-care settings |
| `un_world_population` | 0–4, …, 95–99, 100+ | UN World Population Prospects **(illustrative)** |
| `eurostat_5yr` | 0–4, …, 85–89, 90+ | Eurostat demographic standard |
| `us_census_bridged` | 0–4, …, 80–84, 85+ | US Census Bureau bridged-race bands **(illustrative)** |
| `unicef_child_bands` | 0–1, 1–4, 5–9, 10–14, 15–<18, 18+⁺ | UNICEF child/adolescent standard; `18+` is a catch-all |

---

## Family C — Vaccination & immunisation guidance

```{r family-c}
list_age_schemes(family = "vaccination")
```

| Scheme | Bands | Notes |
|---|---|---|
| `atagi_covid19_2025` | 0–<5⁺, 5–<18, 18–64, 65–74, 75+ | ATAGI 2025 COVID-19 statement; verified 2026-06-19 |
| `atagi_influenza` | 0–<6m⁺, 6m–<5y, 5–64, 65+ | ATAGI seasonal influenza guidance |
| `atagi_nip_schedule` | Birth–<2m, …, 13–<70yr, 70yr+ | NIP schedule timepoints as age intervals |
| `who_sage_priority` | 0–<18⁺, 18–59, 60+ | WHO SAGE roadmap; risk-group bands collapsed **(illustrative)** |
| `acip_us` | 0–<6m⁺, 6m–4y, 5–11, 12–17, 18–49, 50–64, 65+ | US ACIP **(illustrative)** |
| `air_dose_eligibility` | 0–<5, 5–<12, 12–<18, 18–<65, 65+ | AIR dose eligibility **(illustrative)** |
| `rsv_maternal_infant` | 0–<6m, 6m–<2y, 2y+ | RSV maternal/infant program |
| `rsv_older_adult` | 0–<60⁺, 60–74, 75+ | RSV older-adult program, ATAGI-consistent |
| `shingles_zoster` | 0–<50⁺, 50–64, 65–69, 70–79, 80+ | Herpes zoster program **(illustrative)** |
| `pneumococcal_program` | 0–<2, 2–<5, 5–<70, 70+ | National pneumococcal program; at-risk band collapsed |

---

## Family D — Surveillance-system conventions

```{r family-d}
list_age_schemes(family = "surveillance")
```

| Scheme | Bands | Notes |
|---|---|---|
| `nndss_standard` | 0–4, 5–9, 10–19, 20–29, …, 70–79, 80+ | NNDSS standard **(illustrative)** |
| `nndss_decadal` | 0–9, 10–19, …, 70–79, 80+ | NNDSS decadal aggregation **(illustrative)** |
| `flucan_sentinel` | 0–4, 5–15, 16–49, 50–64, 65+ | FluCAN sentinel hospital surveillance |
| `ed_syndromic` | 0–4, 5–14, 15–24, 25–44, 45–64, 65+ | ED syndromic surveillance **(illustrative)** |
| `nors_outbreak` | 0–4, 5–17, 18–49, 50–64, 65+ | Foodborne/enteric outbreak **(illustrative)** |
| `racf_aged_care` | 0–<65⁺, 65–74, 75–84, 85–94, 95+ | Residential Aged Care Facility; `0–<65` catch-all |
| `hospital_admitted_patient` | 0–4, 5–14, 15–34, 35–54, 55–74, 75+ | Admitted-patient collection **(illustrative)** |
| `notifiable_std_bbv` | 0–14, 15–19, 20–24, 25–29, 30–39, 40+ | STI/BBV surveillance **(illustrative)** |

---

## Family E — Clinical & developmental staging

```{r family-e}
list_age_schemes(family = "clinical_developmental")
```

| Scheme | Bands | Age unit | Notes |
|---|---|---|---|
| `neonatal_early` | 0–<24h, 24–<72h, 72h–<7d, 7–<28d, 28d+ | **days** | Requires `age_unit = "days"` |
| `who_paediatric_growth` | 0–<3m, 3–<6m, 6–<12m, 1–<2y, 2–<5y, 5y+ | years | WHO Child Growth Standards |
| `paediatric_developmental` | Neonate, Infant, Toddler, Preschool, School-age, Adolescent, Adult | years | Standard paediatric staging |
| `school_entry_bands` | 0–4, 5–11, 12–17, 18+ | years | Education-aligned **(illustrative)** |
| `geriatric_frailty` | 0–<65⁺, 65–74 (young-old), 75–84 (middle-old), 85+ (oldest-old) | years | Standard geriatric convention |
| `geriatric_fine` | 0–<65⁺, 65–69, …, 85–89, 90+ | years | Fine-grained RACF research **(illustrative)** |
| `perinatal_maternal` | 0–<15⁺, 15–19, 20–24, …, 35–39, 40+ | years | Perinatal maternal-age **(illustrative)** |
| `reproductive_age` | 0–<15⁺, 15–19, …, 45–49, 50+⁺ | years | WHO reproductive-age standard |

---

## Family F — Disease- and research-specific bands

```{r family-f}
list_age_schemes(family = "disease_specific")
```

| Scheme | Bands | Notes |
|---|---|---|
| `rsv_research` | 0–<3m, 3–<6m, 6–<12m, 1–<2y, 2–<5y, 5–<18y, 18–64, 65+ | RSV burden-of-disease research |
| `influenza_research` | 0–<6m, 6m–<2y, 2–<5y, 5–<18y, 18–49, 50–64, 65+ | Influenza VE test-negative design |
| `covid19_severity_strata` | 0–<18⁺, 18–29, 30–39, …, 70–79, 80+ | COVID-19 severity research **(illustrative)** |
| `oncology_trial_bands` | 0–<18, 18–39 (AYA), 40–64, 65–74, 75+ | AYA oncology trial convention **(illustrative)** |
| `sepsis_research` | 0–<1, 1–17, 18–44, 45–64, 65–79, 80+ | Sepsis epidemiology **(illustrative)** |
| `cardiovascular_risk` | 0–<45, 45–54, 55–64, 65–74, 75+ | Cardiovascular risk stratification **(illustrative)** |
| `mental_health_lifecourse` | 0–11 (child), 12–17 (youth), 18–24, 25–64, 65+ | Mental health service planning **(illustrative)** |

---

## Verifying illustrative schemes

Before using any **(illustrative)** scheme in a published report or regulatory submission, verify the exact cut-points against the most recent published guidance for your program. Record the verification date and source URL in your analysis log. The `age_schemes` data object stores `last_checked` and `source_url` for each scheme to support this audit trail.

```{r audit}
# Check the source and last_checked date for any scheme
age_schemes[age_schemes$scheme == "atagi_covid19_2025",
            c("scheme","source","source_url","last_checked","is_illustrative")]
```
