Package: episomer 3.0.35

Laura Espinosa

episomer: Early Detection of Public Health Threats from Social Media Data

It allows you to automatically monitor trends of social media messages by time, place and topic aiming at detecting public health threats early through the detection of signals (i.e., an unusual increase in the number of messages per time, topic and location). It was designed to focus on infectious diseases, and it can be extended to all hazards or other fields of study by modifying the topics and keywords. More information on the original package 'epitweetr' is available in the peer-review publication Espinosa et al. (2022) <doi:10.2807/1560-7917.ES.2022.27.39.2200177>.

Authors:Laura Espinosa [aut, fnd, cre], Francisco Orchard [aut, ctr], Gianfranco Spiteri [ctb, fnd], Ariana Wijermans [ctb], Thomas Mollet [ctb], Adrian Prodan [ctb], Martin Norling [ctb], Enrique Delgado [ctb], Thomas Czernichow [ctb], Maria Prieto Gonzalez [ctb], Esther Kissling [ctb], Michael Höhle [ctb], Yohann Mansiaux [ctb]

episomer_3.0.35.tar.gz
episomer_3.0.35.zip(r-4.7)episomer_3.0.35.zip(r-4.6)episomer_3.0.35.zip(r-4.5)
episomer_3.0.35.tgz(r-4.6-any)episomer_3.0.35.tgz(r-4.5-any)
episomer_3.0.35.tar.gz(r-4.7-any)episomer_3.0.35.tar.gz(r-4.6-any)
episomer_3.0.35.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
episomer/json (API)

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

Bug tracker:https://github.com/eu-ecdc/episomer/issues

On CRAN:

Conda:

early-warning-systemsepidemic-surveillancelucenemachine-learningsignal-detectionsparktwitter

8.22 score 68 stars 41 scripts 614 downloads 45 exports 112 dependencies

Last updated from:98169519c8. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK238
source / vignettesOK281
linux-release-x86_64OK195
macos-release-arm64OK236
macos-oldrel-arm64OK199
windows-develOK182
windows-releaseOK128
windows-oldrelOK136
wasm-releaseOK157

Exports:%>%add_new_social_mediaadmin_appbluesky_create_sessioncalculate_region_alertscalculate_regions_alertscheck_allcreate_mapcreate_snapshotcreate_topchartcreate_topwordsdashboard_appdetect_loopdownload_dependenciesears_t_reweightedepisomer_appfs_loopgenerate_alertsgeolocate_textget_aggregatesget_alertsget_taskshealth_checkis_detect_runningis_fs_runningis_search_runningmissing_search_jobsregister_detect_runner_taskregister_fs_monitorregister_fs_runner_taskregister_search_runner_tasksave_configsearch_loopsearch_loop_workersearch_postssetup_configsm_api_get_token_blueskysm_api_search_blueskysm_api_set_auth_blueskystop_detect_runner_taskstop_fs_runner_taskstop_search_runner_tasktrend_lineupdate_geonamesupdate_languages

Dependencies:askpassbase64encbslibcachemcellrangerclassclassIntclicodetoolscommonmarkcpp11crayoncrosstalkcurldata.tableDBIdigestdplyrDTe1071emayilievaluatefarverfastmapfilelockfontawesomefsfuturegenericsggplot2globalsgluegtablehighrhmshtmltoolshtmlwidgetshttpuvhttrhttr2isobandjanitorjquerylibjsonliteKernSmoothkeyringknitrlabelinglaterlazyevallifecyclelistenvloggerlubridatemagrittrMASSmemoisemimeopensslopenxlsxotelparallellypillarpkgconfigplotlyprettyunitsprocessxprogresspromisesproxypspurrrR6rappdirsRColorBrewerRcppreadxlrematchrlangrmarkdownrnaturalearthdatarvests2S7sassscalesselectrsfshinysnakecasesourcetoolsstringistringrsystibbletidyrtidyselecttimechangetinytextriebeardunitsurltoolsutf8vctrsviridisLitewithrwkxfunxml2xtableyamlzip

Add a new social media

Rendered fromadd_new_social_media.Rmdusingknitr::rmarkdownon Jun 07 2026.

Last update: 2025-11-28
Started: 2025-11-28

episomer: user documentation

Rendered fromepisomer-vignette.Rmdusingknitr::rmarkdownon Jun 07 2026.

Last update: 2026-03-03
Started: 2025-11-28

Readme and manuals

Help Manual

Help pageTopics
Create new social media template files, so a developer can extend episomer and support a new social media. this function has to be called within episomer subfolder containing thr R subfolder after executing devtools::load_all()add_new_social_media
check the current bluesky token validitybluesky_check_token_validity
Get bearer tokenbluesky_create_session
formats a date in the expected bluesky formatbluesky_format_date
parse a date as provided by bluesky into a date_time objectbluesky_parse_date
extracts features from the post structure returned by the bluesky apibluesky_parse_features
extracts the quotes information from a post in one of the many possible locations found in bluesky formatbluesky_parse_quoted
parses the response of bluesky API into the standardised episomer format. For more details see the vignette.bluesky_parse_response
function to check if there has been a rate limit error returned by the bluesky APIbluesky_rate_limited_check
function to extract the number of seconds to wait after a rate limit has been reachedbluesky_rerun_after_rate_limit
calculate alerts for for a particular regioncalculate_regions_alerts calculate_region_alerts
Run automatic sanity checkscheck_all
internal function for producing the code template for a new social mediacreate_api_and_plan_files_for_new_social_media
Plot the map report on the episomer dashboardcreate_map
Snapshot of your episomer installationcreate_snapshot
Plot the top elements for a specific series on the episomer dashboardcreate_topchart
Plot the top words report on the episomer dashboardcreate_topwords
Runs the detect loopdetect_loop
Updates Java dependenciesdownload_dependencies
algorithm for outbreak detection, extends the EARS algorithmears_t_reweighted
Run the episomer Shiny appadmin_app dashboard_app episomer_app
Runs the episomer embedded database loopfs_loop
Execute the alert taskgenerate_alerts
geolocate text in a data frame given a text column and optionally a language columngeolocate_text
Getting already aggregated time series produced by 'detect_loop'get_aggregates
Getting signals produced by the task 'generate_alerts' of 'detect_loop'get_alerts
Get the 'detect_loop' task statusget_tasks
Send email to administrator if a failure of episomer is detectedhealth_check
Check whether the alert detection task is runningis_detect_running
Check whether the database is runningis_fs_running
check whether the R folder is present in the current directoryis_r_folder_present
Check whether the post collection task is runningis_search_running
internal function for exporting code of necessary functions for creating templates for a new social mediakeep_roxygen_and_function_declarations
Missing search jobs if anymissing_search_jobs
Registers the alert detection taskregister_detect_runner_task
Registers the fs_monitor for the current process or exitsregister_fs_monitor
Registers the episomer database taskregister_fs_runner_task
Registers the social media message collection taskregister_search_runner_task
Save the configuration changessave_config
Runs the search loopsearch_loop search_loop_worker
perform full text search on posts collected with episomersearch_posts
performs a search following the given plan, query and topic.search_topic
updates the modificatin date of a flag file indicating that messages have been sent to the embedded database.search_touch
Load episomer application settingssetup_config
Get social media tokensm_api_get_token
Get social media tokensm_api_get_token_bluesky
Receive the results provided by a request and return a logical value indicating whether the request returned results.sm_api_got_rows_bluesky
Search posts for a given query and produce standardised resultssm_api_search
Search posts for a given query and produce standardised resultssm_api_search_bluesky
Save credentials for a social media provider and store them securelysm_api_set_auth
Save bluesky credentials (login and password) and store them securelysm_api_set_auth_bluesky
Translate a parsed query to the social media query formatsm_api_translate_query
Translate a parsed query to the social media query formatsm_api_translate_query_bluesky
Takes a plan after a request has been performed and the standardised results provided as returned by the function sm_api_search_xxx it should return a plan with necessary information updated so next request will continue paginating as expected to obtain targeted messagessm_api_update_plan_after_request
Takes a plan after a request has been performed and the standardised results provided as returned by the function sm_api_search_xxx it should return a plan with necessary information updated so next request will continue paginating as expected to obtain targeted messagessm_api_update_plan_after_request_bluesky
returns a list with the custom social media plan attributes with the default values for a first plan in a topic.sm_plan_first_attributes
returns a list with the custom social media plan attributes with the default values for a first plan in a topic.sm_plan_first_attributes_bluesky
prepare a plan for serialisation by transforming attributes with non standard serialisation types e.g. dates to string on the format expected by the parse functionssm_plan_format
prepare a plan for serialisation by transforming attributes with non standard serialisation types e.g. dates to string on the format expected by the parse functionssm_plan_format_bluesky
calculates and returns the estimated progress of a plan using custom attributessm_plan_get_progress
calculates and returns the estimated progress of a plan using custom attributessm_plan_get_progress_bluesky
returns a list with the custom social media plan attributes with the values for the plan to be run after the plans provided as parametersm_plan_next_attributes
returns a list with the custom social media plan attributes with the values for the plan to be run after the plans provided as parametersm_plan_next_attributes_bluesky
Return a message to log what the next query is going to be for the current plansm_plan_next_search_info
parse custom attributes for a plan in this specific social media and returns them as a named list with attributes in the proper typesm_plan_parse_attributes
parse custom attributes for a plan in this specific social media and returns them as a named list with attributes in the proper typesm_plan_parse_attributes_bluesky
Return a message to log what the next query is going to be for the current plansm_plan_search_info_bluesky
Stops the alert detection taskstop_detect_runner_task
Stops the episomer database taskstop_fs_runner_task
Stops the post collection taskstop_search_runner_task
Plot the trendline report of episomer dashboardtrend_line
Updates the local copy of the GeoNames databaseupdate_geonames
Updates local copies of languagesupdate_languages