Skip to contents

Data model

A casualty is a patient card; an ordered set of them is a cohort; a cohort plus board capacities is a scenario. Validation is vectorised over the cohort, so a bad import names every offending row and column at once.

sdt_patient_card()
Create a patient card
validate_patient_card()
Validate a patient card
format(<patient_card>)
Format a patient card
sdt_cohort()
Build a validated casualty cohort
validate_cohort()
Validate a casualty cohort
sdt_as_patient_cards()
Explode a cohort into patient cards
sdt_scenario()
Build a mass-casualty scenario
as_tibble(<scenario>)
Coerce a scenario to a tibble
autoplot(<scenario>)
Plot a scenario
sdt_triage_levels() sdt_therapy_levels() sdt_diagnostics() sdt_board_areas() sdt_life_range() sdt_injury_regions() sdt_sex_levels()
Controlled vocabularies for the mass-casualty domain

Reference distributions

The published marginals the package calibrates against, kept apart from sandtablR’s own modelling choices so a calibration test cannot quietly check the model against its own assumptions.

sdt_reference()
Reference distributions for the mass-casualty domain
sdt_reference_scenario()
The scenario the engine is calibrated on
sdt_reference_horizon()
The horizon the engine is calibrated on

Synthetic data

Generate a cohort from marginals, or synthesise a releasable replica of a real one.

sdt_synthetic_cohort()
Generate a synthetic mass-casualty cohort
sdt_synthesise()
Synthesise a releasable replica of a real cohort
sdt_synthesis_utility()
Score a synthetic replica against its seed cohort
sdt_add_decisions()
Add participant decisions to a cohort

Simulation

A discrete-event model of the board. The event log it records, not the summary, is what everything downstream is built on.

sdt_simulate()
Run a mass-casualty patient-flow simulation
summary(<game_run>)
End-of-game location distribution

Decision paths

Casualty pathways as state sequences: their shape, their groupings, and how repeatably the same casualty is handled.

sdt_decision_paths()
Build decision paths from a game run
sdt_decision_consistency()
Score decision consistency
sdt_seqdef()
Build a TraMineR state-sequence object
sdt_seq_cluster()
Cluster decision paths

Machine learning

One interface over interpretable and black-box engines, scored on the same held-out split.

sdt_fit()
Fit a triage or therapy classification model
sdt_workflowset()
Screen every engine on one cohort
sdt_engines()
Model engines available to the workbench
sdt_transformer()
A tabular transformer specification
sdt_metric_set()
The metric set the workbench scores on
sdt_metrics()
Metrics for a fitted model
sdt_predictions()
Held-out predictions from a fitted model
predict(<sdt_model>)
Predict from a fitted mass-casualty model
sdt_consistency_score()
Agreement between two labellings of the same casualties

Explainability

sdt_explain()
Explain a fitted mass-casualty model
sdt_importance()
Permutation variable importance
sdt_profile()
Dependence profiles for a fitted model
sdt_shap()
Attribution for one casualty

Visualisation

sdt_plot_triage_mix()
Plot the triage mix of a scenario
sdt_plot_utilisation()
Plot resource utilisation from a game run
sdt_plot_flow()
Plot patient flow through the board
sdt_plot_end_state()
Plot the end-of-game distribution against the published reference
sdt_plot_sequences()
Plot decision-path sequences
sdt_roc()
ROC curve for a fitted model

The workbench

sdt_run_app()
Launch the sandtablR workbench
sdt_app()
The sandtablR workbench as a Shiny app object
sdt_app_ui()
User interface for the sandtablR workbench
sdt_app_server()
Server for the sandtablR workbench

Additional analysis interfaces

sandtablR sandtablR-package
sandtablR: Mass-Casualty Incident Simulation and Machine Learning Workbench
sdt_apply_gold_standard()
Overwrite a cohort's placeholders with the gold standard
sdt_area_labels()
Display labels for board areas
sdt_course_composition()
Aggregate participant metadata to course composition
sdt_describe() format(<sdt_describe>) print(<sdt_describe>)
Describe a table without hiding what is missing
sdt_describe_participants()
Describe a participant register
sdt_describe_render()
The display-ready shape of a descriptive table
sdt_error_fidelity()
Score how faithfully a simulation reproduces triage error
sdt_export_simulation()
Export a simulation run as a self-describing bundle
sdt_fidelity()
Score how faithful a simulation is to the real thing
sdt_fit_behaviour()
Fit a hierarchical model of how teams behave
sdt_fit_triage_error()
Fit a model of triage error, with its between-team variance
sdt_participant_dictionary()
Normalisation dictionary for participant metadata
sdt_participant_summary()
Descriptives that state their denominator
sdt_plot_board()
Draw the board, with the casualties standing on it
sdt_plot_fidelity()
Draw a fidelity table
sdt_read_gold_standard()
Read the gold-standard triage codebook
sdt_read_participants()
Read the TDSC course and group metadata register
sdt_run_behaviour()
Turn a discrete-event game run into a (group, card) behaviour frame
sdt_simulate_groups()
Simulate new groups from a fitted behaviour model
sdt_simulate_triage()
Simulate triage calls from a fitted error model
sdt_triage_accuracy()
Score triage calls against the truth