Package: starling 1.1.0

Nicolas Smoll

starling: Record Linkage for Public Health Surveillance

Record linkage for public health surveillance datasets using either the Fellegi-Sunter probabilistic framework (via reclin2) or deterministic exact-key matching. Provides pre-linkage data quality auditing (preflight()), Medicare number checksum validation (check_medicare()), blocking variable construction (flock()), and the murmuration() linkage engine. murmuration() expresses linkage as a single cohort-to-event concept (linking a linelist of people to a dated stream of vaccination, hospitalisation, or case events within a before/during/after time window), with the historical four-code taxonomy (case-to-hospitalisation, vaccination-to-case, vaccination-to-hospitalisation, vaccination-to-event) retained as deprecated aliases. Also provides linkage weight distribution visualisation (murmuration_plot()) and threshold sensitivity analysis (perch()) with annotated AIHW, WA Data Linkage Unit, and PHRN reference benchmarks. perch() can be called standalone or triggered automatically mid-linkage via murmuration(perch_before_linking = TRUE). Includes synthetic datasets (cases_notifiable, vax_air) and three vignettes demonstrating the complete linkage workflow. Part of the aviary public health surveillance ecosystem.

Authors:Nicolas Smoll [aut, cre]

starling_1.1.0.tar.gz
starling_1.1.0.zip(r-4.7-any)starling_1.1.0.zip(r-4.6-any)starling_1.1.0.zip(r-4.5-any)
starling_1.1.0.tgz(r-4.6-any)starling_1.1.0.tgz(r-4.5-any)
starling_1.1.0.tar.gz(r-4.7-any)starling_1.1.0.tar.gz(r-4.6-any)
starling_1.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION
card.svg |card.png
starling/json (API)

# Install 'starling' in R:
install.packages('starling', repos = c('https://nrsmoll.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/nrsmoll/starling/issues

Datasets:
  • cases_notifiable - Synthetic Notifiable Disease Case Linelist
  • vax_air - Synthetic Australian Immunisation Register Extract

On CRAN:

Conda:

4.18 score 213 downloads 6 exports 34 dependencies

Last updated from:e2fd02791b. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK186
source / vignettesOK204
linux-release-x86_64OK216
macos-release-arm64OK106
macos-oldrel-arm64OK113
windows-develOK120
windows-releaseOK118
windows-oldrelOK139
wasm-releaseOK135

Exports:check_medicareflockmurmurationmurmuration_plotperchpreflight

Dependencies:clicpp11data.tabledplyrfarvergenericsggplot2gluegtableisobandlabelinglifecyclelpSolvelubridatemagrittrpillarpkgconfigR6RColorBrewerRcppreclin2rlangS7scalesstringdiststringistringrtibbletidyselecttimechangeutf8vctrsviridisLitewithr

Linked Cohort Analysis: Linking Case Records to Vaccination History
Overview | Step 1: Pre-linkage audit with preflight() | Step 2: Medicare checksum validation with check_medicare() | Step 3: Blocking variable construction with flock() | Step 4: Threshold sensitivity analysis with perch() | Step 5: Probabilistic linkage with murmuration() | Step 6: Visualise the score distribution with murmuration_plot() | Step 7: Post-linkage validation | Summary: the complete starling workflow | Session information

Last update: 2026-07-13
Started: 2026-07-13

Pre-Linkage Data Quality: preflight(), check_medicare(), and flock()
Why pre-linkage quality matters | preflight() — structured pre-linkage audit | check_medicare() — Modulus 10 checksum validation | What to do with invalid Medicare numbers | flock() — blocking variable construction | Choosing blocking variables for Australian datasets | Putting it together | Session information

Last update: 2026-07-13
Started: 2026-07-13

Threshold Selection: Using perch() and murmuration_plot()
Why the threshold matters | Australian linkage authority benchmarks | Example: running perch() on scored pairs | Example: visualising the score distribution | Using perch_before_linking = TRUE inside murmuration() | Clerical review zone | Session information

Last update: 2026-07-13
Started: 2026-07-13