Package index
Try it out
The fastest way to see what EpiSODIC does, with no data or configuration of your own required.
-
episodic_demo() - Try EpiSODIC With Synthetic Outbreak Data
Run EpiSODIC
The two calls that run a real instance: detect on a schedule, and open the dashboard for your board to review the results.
-
episodic_run_cron() - Run One Surveillance Detection Cycle
-
episodic_run_app() - Open the EpiSODIC Dashboard
Connect your own data
How to plug in your laboratory results and, optionally, testing volume and hospital activity data - and how to check your extract against the requirements before you run anything.
-
episodic_case_data - Connect your own laboratory data
-
episodic_check_cases() - Check Your Case Data Before You Hand It to EpiSODIC
-
episodic_check_denominators() - Check Your Positivity Data Before You Hand It to EpiSODIC
-
episodic_check_institution_activity() - Check Your Hospital Activity Data Before You Hand It to EpiSODIC
-
episodic_synthetic_cases() - Generate Synthetic Outbreak Data
-
episodic_synthetic_cases_calibration() - Generate Synthetic Data at Tunable Cluster Volume
-
episodic_synthetic_denominators() - Add a Testing-Volume (Positivity) Feed
-
episodic_synthetic_institution_activity() - Add a Hospital Activity Feed (Patient-Days)
-
episodic_synthetic_ground_truth() - Read Back What Was Injected Into Synthetic Data
Measure how well detection works
Replay generated history through the detectors week by week and compare what they found against the outbreaks that were put there - sensitivity, timeliness and alarm burden against known truth, rather than against your board’s own verdicts.
-
episodic_validate_detection()print(<episodic_validation>) - Measure Detection Against Known Truth
-
episodic_validate_comparator() - Measure a Trivial Rule Against the Same Known Truth
-
episodic_validate_rethreshold() - Re-Match a Validation Result at Different Thresholds
Add clusters from another system
Add clusters detected by another algorithm or system - never connected to your own case data.
-
episodic_add_manual_cluster() - Add One or More Manual (External) Clusters
-
episodic_db_create() - Set Up a New EpiSODIC Database
-
episodic_db_connect() - Connect to an Existing EpiSODIC Database
-
episodic_db_open() - Connect Using the
EPISODIC_DBEnvironment Variable -
episodic_db_migrate() - Bring an Existing Database up to the Current Schema
-
episodic_db_truncate() - Empty Every EpiSODIC Table, Keeping the Schema Itself
-
episodic_db_dsn_mariadb()episodic_db_dsn_mysql() - Connect EpiSODIC to a MariaDB or MySQL Server
-
episodic_auth - How sign-in works
-
episodic_add_user() - Create an Account for a New Epidemiologist or Viewer
-
episodic_report_render() - Render an Outbreak Report for Clinical Colleagues
-
episodic_scheduled_reports - How scheduled reports work
Notifications
Send alerts to your team when new clusters are detected or a detection run fails. Supports ntfy, SMTP, sendmail, Microsoft 365, Teams, and Slack.
-
episodic_notifications - How notifications work
-
episodic_notify_test() - Send a Test Notification Through All Configured Channels
-
episodic_mail_template_preview() - Preview an Email Template
-
episodic_setup_microsoft365() - Set Up Microsoft 365 Authentication for Notifications
Customise the look and feel
House colours, maps, translations, and dashboard chart building blocks - useful if you are adapting EpiSODIC or writing your own report template.
-
episodic_palette() - The Dashboard's Colour Palette and Typography
-
episodic_geo_overlay_resolve()episodic_geo_source_resolve() - Show Clusters on a Map
-
episodic_ui_epi_curve_chart()episodic_ui_trend_chart()episodic_ui_rt_chart() - Draw the Dashboard Charts (Epidemic Curve, Trend, and Rt)
-
episodic_ui_italicise_taxon()episodic_ui_code_join() - Format Text for Outbreak Reports and the Dashboard
-
episodic_config_export() - Export the Resolved Configuration as a Zip File