Software
Some of the packages and tools I've produced. All prompted by my desire to solve a work-related problem.
runcharter
Plots and analyses multiple run charts at once, finds successive
improvement signals, and revises the median when one occurs.
I used to build hundreds of these charts and do the analysis by hand,
then update a database so that signals of improvement were reflected and easier to spot. It was a huge
process. This is the package I wanted at the time.
{runcharter} has become an indispensable tool in our QI analytics workflow. Thank you for authoring such a robust and usable package!
Robert L. Lobato, MD, August 2022
CRAN Source Used at R/Medicine 2022
cusumcharter
CUSUM control charts from simple vectors or dataframes.
Returns a single plot, or a small-multiple chart, generating as many
plots as you need from one call.
CUSUM charts pick up small sustained shifts that a Shewhart chart won't
flag. The control chart versions are hard to build by hand, and the y-axis limits are not intuitive.
But, they are incredibly useful as an early warning system for your process reliability.
CRAN Docs Source
spccharter
Multiple SPC or process behaviour charts at once, detecting signals of
process change and revising the centre line and limits as it goes.
Still a work in progress, (and currently no time to enhance it) but it is functional and reliable.
Source
Small area population estimates
Population pyramids for the community partnership areas of Highland and
Argyll and Bute, drawn in base R, using open data.
The associated Shiny app runs in your browser, there is no need for R to already be installed on your machine.
Try it Source
tidy-scotland-census
Makes Scotland's 2022 census open data easier to analyse.
Seventy-one CSV files, each with multiple non-data rows at the top,
additional rows at the bottom, occasionally multiple header rows to stitch back together,
varying column counts, and stray delimiters for good measure.
Reads each file once, keeps nothing temporary on disk, and can optionally write the
results out as Parquet.
Source
patientcounter
Fast, flexible census tables. Quickly count patients or resources by interval. No SQL, no problem.
How many patients were in our hospital during every hour of the day, over the last 6 months? A potential nightmare question, easily answered.
Given a range of check-in and check-out times, the package will provide a breakdown at the frequency you specify, grouped as desired.
This package was rewritten as juncture, with fewer dependencies and a name that reflects its potential for use beyond healthcare.
Source juncture, the rewrite
A database explorer in Shiny
A Shiny dashboard that connects to a remote SQL Server, executes dynamic SQL according to parameters and queries you specify, and visualises the results.
Run the same queries against multiple tables, consolidate the results and plot them. Example uses include comparison of records in test and production databases.
Source