{
  "_id": "6a25124d4b233be19838a388",
  "Package": "episomer",
  "Title": "Early Detection of Public Health Threats from Social Media Data",
  "Version": "3.0.35",
  "Authors@R": "c( \nperson(given = \"Laura\",\nfamily = \"Espinosa\",\nrole = c(\"aut\", \"fnd\", \"cre\"),\nemail = \"laura.espinosa@ecdc.europa.eu\",\ncomment = c(ORCID = \"0000-0003-0748-9657\", \"Project manager, author of the design and concept of the package, and package maintainer\")),\nperson(given = \"Francisco\",\nfamily = \"Orchard\",\nrole = c(\"aut\", \"ctr\"),\nemail = \"f.orchard@epiconcept.fr\",\ncomment = c(ORCID = \"0000-0001-5793-3301\", \"Author of the package and original code\")),\nperson(given = \"Gianfranco\",\nfamily = \"Spiteri\",\nrole = c(\"ctb\", \"fnd\"),\nemail = \"gianfranco.spiteri@ecdc.europa.eu\"),\nperson(given = \"Ariana\",\nfamily = \"Wijermans\",\nrole = \"ctb\",\nemail = \"ariana.wijermans@ecdc.europa.eu\",\ncomment = \"Contributor to the design and concept of the original version of the package\"),\nperson(given = \"Thomas\",\nfamily = \"Mollet\",\nrole = c(\"ctb\"),\nemail = \"thomas.mollet@ecdc.europa.eu\",\ncomment = \"Contributor to the design and concept of the original version of the package\"),\nperson(given = \"Adrian\",\nfamily = \"Prodan\",\nrole = \"ctb\",\nemail = \"adrian.prodan@ecdc.europa.eu\"),\nperson(given = \"Martin\",\nfamily = \"Norling\",\nrole = \"ctb\",\nemail = \"martin.norling@ecdc.europa.eu\"),\nperson(given = \"Enrique\",\nfamily = \"Delgado\",\nrole = \"ctb\",\nemail = \"enrique.delgado@ecdc.europa.eu\"),\nperson(given = \"Thomas\",\nfamily = \"Czernichow\",\nrole = \"ctb\",\nemail = \"thomas.czernichow@epiconcept.fr\"),\nperson(given = \"Maria\",\nfamily = \"Prieto Gonzalez\",\nrole = \"ctb\",\nemail = \"m.gonzalez@epiconcept.fr\"),\nperson(given = \"Esther\",\nfamily = \"Kissling\",\nrole = \"ctb\",\nemail = \"e.kissling@epiconcept.fr\"),\nperson(given = \"Michael\",\nfamily = \"Höhle\",\nrole = \"ctb\",\nemail = \"hoehle@math.su.se\"),\nperson(given = \"Yohann\",\nfamily = \"Mansiaux\",\nrole = \"ctb\",\nemail = \"y.mansiaux@epiconcept.fr\")\n)",
  "Description": "It allows you to automatically monitor trends of social\nmedia messages by time, place and topic aiming at detecting\npublic health threats early through the detection of signals\n(i.e., an unusual increase in the number of messages per time,\ntopic and location). It was designed to focus on infectious\ndiseases, and it can be extended to all hazards or other fields\nof study by modifying the topics and keywords. More information\non the original package 'epitweetr' is available in the\npeer-review publication Espinosa et al. (2022)\n<doi:10.2807/1560-7917.ES.2022.27.39.2200177>.",
  "License": "EUPL",
  "URL": "https://github.com/EU-ECDC/episomer",
  "BugReports": "https://github.com/EU-ECDC/episomer/issues",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nmake libicu-dev libsecret-1-dev libuv1-dev libxml2-dev\nlibssl-dev libproj-dev libsqlite3-dev libudunits2-dev\nzlib1g-dev",
  "Repository": "https://eu-ecdc.r-universe.dev",
  "Date/Publication": "2026-05-08 07:48:27 UTC",
  "RemoteUrl": "https://github.com/eu-ecdc/episomer",
  "RemoteRef": "HEAD",
  "RemoteSha": "98169519c8166fc5ef8e8604090e78ab36508d9d",
  "RemoteSubdir": "episomer",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-07 06:35:23 UTC",
    "User": "root"
  },
  "Author": "Laura Espinosa [aut, fnd, cre] (ORCID:\n<https://orcid.org/0000-0003-0748-9657>, Project manager, author of\nthe design and concept of the package, and package maintainer),\nFrancisco Orchard [aut, ctr] (ORCID:\n<https://orcid.org/0000-0001-5793-3301>, Author of the package and\noriginal code),\nGianfranco Spiteri [ctb, fnd],\nAriana Wijermans [ctb] (Contributor to the design and concept of the\noriginal version of the package),\nThomas Mollet [ctb] (Contributor to the design and concept of the\noriginal version of the package),\nAdrian Prodan [ctb],\nMartin Norling [ctb],\nEnrique Delgado [ctb],\nThomas Czernichow [ctb],\nMaria Prieto Gonzalez [ctb],\nEsther Kissling [ctb],\nMichael Höhle [ctb],\nYohann Mansiaux [ctb]",
  "Maintainer": "Laura Espinosa <laura.espinosa@ecdc.europa.eu>",
  "MD5sum": "6885305a43b2c564b181198723c9b74f",
  "_user": "eu-ecdc",
  "_type": "src",
  "_file": "episomer_3.0.35.tar.gz",
  "_fileid": "e31542e7d571e6069e190b35844174ff90837b0334053ede6376df03bb76488d",
  "_filesize": 2319995,
  "_sha256": "e31542e7d571e6069e190b35844174ff90837b0334053ede6376df03bb76488d",
  "_created": "2026-06-07T06:35:23.000Z",
  "_published": "2026-06-07T06:40:13.629Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79937885673,
      "time": 238,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7461535880"
    },
    {
      "job": 79937885672,
      "time": 195,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7461531028"
    },
    {
      "job": 79937885688,
      "time": 199,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7461528117"
    },
    {
      "job": 79937885674,
      "time": 236,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7461530062"
    },
    {
      "job": 79937599553,
      "time": 281,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7461504342"
    },
    {
      "job": 79937885669,
      "time": 157,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7461525918"
    },
    {
      "job": 79937885684,
      "time": 182,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7461529191"
    },
    {
      "job": 79937885691,
      "time": 136,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7461523504"
    },
    {
      "job": 79937885692,
      "time": 128,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7461522251"
    }
  ],
  "_buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/eu-ecdc/episomer",
  "_commit": {
    "id": "98169519c8166fc5ef8e8604090e78ab36508d9d",
    "author": "Laura Espinosa <laura.espinosa@ecdc.europa.eu>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #106 from EU-ECDC/dev\n\nFixing Issue #105 error on search loop after discard history is clicked",
    "time": 1778226507
  },
  "_maintainer": {
    "name": "Laura Espinosa",
    "email": "laura.espinosa@ecdc.europa.eu",
    "login": "lauespinosa",
    "twitter": "@LauraVet87",
    "description": "",
    "uuid": 41120589,
    "orcid": "0000-0003-0748-9657"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "curl",
      "role": "Imports"
    },
    {
      "package": "DT",
      "role": "Imports"
    },
    {
      "package": "emayili",
      "role": "Imports"
    },
    {
      "package": "future",
      "role": "Imports"
    },
    {
      "package": "httr",
      "role": "Imports"
    },
    {
      "package": "htmltools",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "keyring",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "janitor",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "plotly",
      "role": "Imports"
    },
    {
      "package": "processx",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Imports"
    },
    {
      "package": "rnaturalearthdata",
      "role": "Imports"
    },
    {
      "package": "openxlsx",
      "role": "Imports"
    },
    {
      "package": "shiny",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "xtable",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "taskscheduleR",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "eu-ecdc",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-29",
      "n": 1
    },
    {
      "week": "2025-48",
      "n": 2
    },
    {
      "week": "2025-50",
      "n": 1
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-09",
      "n": 1
    },
    {
      "week": "2026-10",
      "n": 3
    },
    {
      "week": "2026-11",
      "n": 1
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-17",
      "n": 1
    },
    {
      "week": "2026-19",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v3.0.34",
      "date": "2026-04-20"
    }
  ],
  "_topics": [
    "early-warning-systems",
    "epidemic-surveillance",
    "lucene",
    "machine-learning",
    "signal-detection",
    "spark",
    "twitter"
  ],
  "_stars": 68,
  "_contributors": [
    {
      "user": "forchard",
      "count": 457,
      "uuid": 26870718
    },
    {
      "user": "epi-ymx",
      "count": 166,
      "uuid": 198601386
    },
    {
      "user": "lauespinosa",
      "count": 121,
      "uuid": 41120589
    },
    {
      "user": "mariapg",
      "count": 27,
      "uuid": 38687544
    },
    {
      "user": "estherki",
      "count": 17,
      "uuid": 3163173
    },
    {
      "user": "epi-ccn",
      "count": 5,
      "uuid": 52416799
    },
    {
      "user": "casparecdc",
      "count": 2,
      "uuid": 99500194
    }
  ],
  "_userbio": {
    "uuid": 42175592,
    "type": "organization",
    "name": "European Centre for Disease Prevention and Control (ECDC)",
    "description": "ECDC is an agency of the European Union aimed at strengthening Europe's defenses against infectious diseases."
  },
  "_downloads": {
    "count": 614,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/episomer"
  },
  "_devurl": "https://github.com/eu-ecdc/episomer",
  "_searchresults": 41,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/episomer.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/eu-ecdc/episomer",
  "_realowner": "eu-ecdc",
  "_cranurl": true,
  "_releases": [
    {
      "version": "3.0.32",
      "date": "2026-03-18"
    },
    {
      "version": "3.0.34",
      "date": "2026-04-20"
    },
    {
      "version": "3.0.35",
      "date": "2026-05-08"
    }
  ],
  "_exports": [
    "%>%",
    "add_new_social_media",
    "admin_app",
    "bluesky_create_session",
    "calculate_region_alerts",
    "calculate_regions_alerts",
    "check_all",
    "create_map",
    "create_snapshot",
    "create_topchart",
    "create_topwords",
    "dashboard_app",
    "detect_loop",
    "download_dependencies",
    "ears_t_reweighted",
    "episomer_app",
    "fs_loop",
    "generate_alerts",
    "geolocate_text",
    "get_aggregates",
    "get_alerts",
    "get_tasks",
    "health_check",
    "is_detect_running",
    "is_fs_running",
    "is_search_running",
    "missing_search_jobs",
    "register_detect_runner_task",
    "register_fs_monitor",
    "register_fs_runner_task",
    "register_search_runner_task",
    "save_config",
    "search_loop",
    "search_loop_worker",
    "search_posts",
    "setup_config",
    "sm_api_get_token_bluesky",
    "sm_api_search_bluesky",
    "sm_api_set_auth_bluesky",
    "stop_detect_runner_task",
    "stop_fs_runner_task",
    "stop_search_runner_task",
    "trend_line",
    "update_geonames",
    "update_languages"
  ],
  "_help": [
    {
      "page": "add_new_social_media",
      "title": "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()",
      "topics": [
        "add_new_social_media"
      ]
    },
    {
      "page": "bluesky_check_token_validity",
      "title": "check the current bluesky token validity",
      "topics": [
        "bluesky_check_token_validity"
      ]
    },
    {
      "page": "bluesky_create_session",
      "title": "Get bearer token",
      "topics": [
        "bluesky_create_session"
      ]
    },
    {
      "page": "bluesky_format_date",
      "title": "formats a date in the expected bluesky format",
      "topics": [
        "bluesky_format_date"
      ]
    },
    {
      "page": "bluesky_parse_date",
      "title": "parse a date as provided by bluesky into a date_time object",
      "topics": [
        "bluesky_parse_date"
      ]
    },
    {
      "page": "bluesky_parse_features",
      "title": "extracts features from the post structure returned by the bluesky api",
      "topics": [
        "bluesky_parse_features"
      ]
    },
    {
      "page": "bluesky_parse_quoted",
      "title": "extracts the quotes information from a post in one of the many possible locations found in bluesky format",
      "topics": [
        "bluesky_parse_quoted"
      ]
    },
    {
      "page": "bluesky_parse_response",
      "title": "parses the response of bluesky API into the standardised episomer format. For more details see the vignette.",
      "topics": [
        "bluesky_parse_response"
      ]
    },
    {
      "page": "bluesky_rate_limited_check",
      "title": "function to check if there has been a rate limit error returned by the bluesky API",
      "topics": [
        "bluesky_rate_limited_check"
      ]
    },
    {
      "page": "bluesky_rerun_after_rate_limit",
      "title": "function to extract the number of seconds to wait after a rate limit has been reached",
      "topics": [
        "bluesky_rerun_after_rate_limit"
      ]
    },
    {
      "page": "calculate_region_alerts",
      "title": "calculate alerts for for a particular region",
      "topics": [
        "calculate_regions_alerts",
        "calculate_region_alerts"
      ]
    },
    {
      "page": "check_all",
      "title": "Run automatic sanity checks",
      "topics": [
        "check_all"
      ]
    },
    {
      "page": "create_api_and_plan_files_for_new_social_media",
      "title": "internal function for producing the code template for a new social media",
      "topics": [
        "create_api_and_plan_files_for_new_social_media"
      ]
    },
    {
      "page": "create_map",
      "title": "Plot the map report on the episomer dashboard",
      "topics": [
        "create_map"
      ]
    },
    {
      "page": "create_snapshot",
      "title": "Snapshot of your episomer installation",
      "topics": [
        "create_snapshot"
      ]
    },
    {
      "page": "create_topchart",
      "title": "Plot the top elements for a specific series on the episomer dashboard",
      "topics": [
        "create_topchart"
      ]
    },
    {
      "page": "create_topwords",
      "title": "Plot the top words report on the episomer dashboard",
      "topics": [
        "create_topwords"
      ]
    },
    {
      "page": "detect_loop",
      "title": "Runs the detect loop",
      "topics": [
        "detect_loop"
      ]
    },
    {
      "page": "download_dependencies",
      "title": "Updates Java dependencies",
      "topics": [
        "download_dependencies"
      ]
    },
    {
      "page": "ears_t_reweighted",
      "title": "algorithm for outbreak detection, extends the EARS algorithm",
      "topics": [
        "ears_t_reweighted"
      ]
    },
    {
      "page": "episomer_app",
      "title": "Run the episomer Shiny app",
      "topics": [
        "admin_app",
        "dashboard_app",
        "episomer_app"
      ]
    },
    {
      "page": "fs_loop",
      "title": "Runs the episomer embedded database loop",
      "topics": [
        "fs_loop"
      ]
    },
    {
      "page": "generate_alerts",
      "title": "Execute the alert task",
      "topics": [
        "generate_alerts"
      ]
    },
    {
      "page": "geolocate_text",
      "title": "geolocate text in a data frame given a text column and optionally a language column",
      "topics": [
        "geolocate_text"
      ]
    },
    {
      "page": "get_aggregates",
      "title": "Getting already aggregated time series produced by 'detect_loop'",
      "topics": [
        "get_aggregates"
      ]
    },
    {
      "page": "get_alerts",
      "title": "Getting signals produced by the task 'generate_alerts' of 'detect_loop'",
      "topics": [
        "get_alerts"
      ]
    },
    {
      "page": "get_tasks",
      "title": "Get the 'detect_loop' task status",
      "topics": [
        "get_tasks"
      ]
    },
    {
      "page": "health_check",
      "title": "Send email to administrator if a failure of episomer is detected",
      "topics": [
        "health_check"
      ]
    },
    {
      "page": "is_detect_running",
      "title": "Check whether the alert detection task is running",
      "topics": [
        "is_detect_running"
      ]
    },
    {
      "page": "is_fs_running",
      "title": "Check whether the database is running",
      "topics": [
        "is_fs_running"
      ]
    },
    {
      "page": "is_r_folder_present",
      "title": "check whether the R folder is present in the current directory",
      "topics": [
        "is_r_folder_present"
      ]
    },
    {
      "page": "is_search_running",
      "title": "Check whether the post collection task is running",
      "topics": [
        "is_search_running"
      ]
    },
    {
      "page": "keep_roxygen_and_function_declarations",
      "title": "internal function for exporting code of necessary functions for creating templates for a new social media",
      "topics": [
        "keep_roxygen_and_function_declarations"
      ]
    },
    {
      "page": "missing_search_jobs",
      "title": "Missing search jobs if any",
      "topics": [
        "missing_search_jobs"
      ]
    },
    {
      "page": "register_detect_runner_task",
      "title": "Registers the alert detection task",
      "topics": [
        "register_detect_runner_task"
      ]
    },
    {
      "page": "register_fs_monitor",
      "title": "Registers the fs_monitor for the current process or exits",
      "topics": [
        "register_fs_monitor"
      ]
    },
    {
      "page": "register_fs_runner_task",
      "title": "Registers the episomer database task",
      "topics": [
        "register_fs_runner_task"
      ]
    },
    {
      "page": "register_search_runner_task",
      "title": "Registers the social media message collection task",
      "topics": [
        "register_search_runner_task"
      ]
    },
    {
      "page": "save_config",
      "title": "Save the configuration changes",
      "topics": [
        "save_config"
      ]
    },
    {
      "page": "search_loop",
      "title": "Runs the search loop",
      "topics": [
        "search_loop",
        "search_loop_worker"
      ]
    },
    {
      "page": "search_posts",
      "title": "perform full text search on posts collected with episomer",
      "topics": [
        "search_posts"
      ]
    },
    {
      "page": "search_topic",
      "title": "performs a search following the given plan, query and topic.",
      "topics": [
        "search_topic"
      ]
    },
    {
      "page": "search_touch",
      "title": "updates the modificatin date of a flag file indicating that messages have been sent to the embedded database.",
      "topics": [
        "search_touch"
      ]
    },
    {
      "page": "setup_config",
      "title": "Load episomer application settings",
      "topics": [
        "setup_config"
      ]
    },
    {
      "page": "sm_api_get_token",
      "title": "Get social media token",
      "topics": [
        "sm_api_get_token"
      ]
    },
    {
      "page": "sm_api_get_token_bluesky",
      "title": "Get social media token",
      "topics": [
        "sm_api_get_token_bluesky"
      ]
    },
    {
      "page": "sm_api_got_rows_bluesky",
      "title": "Receive the results provided by a request and return a logical value indicating whether the request returned results.",
      "topics": [
        "sm_api_got_rows_bluesky"
      ]
    },
    {
      "page": "sm_api_search",
      "title": "Search posts for a given query and produce standardised results",
      "topics": [
        "sm_api_search"
      ]
    },
    {
      "page": "sm_api_search_bluesky",
      "title": "Search posts for a given query and produce standardised results",
      "topics": [
        "sm_api_search_bluesky"
      ]
    },
    {
      "page": "sm_api_set_auth",
      "title": "Save credentials for a social media provider and store them securely",
      "topics": [
        "sm_api_set_auth"
      ]
    },
    {
      "page": "sm_api_set_auth_bluesky",
      "title": "Save bluesky credentials (login and password) and store them securely",
      "topics": [
        "sm_api_set_auth_bluesky"
      ]
    },
    {
      "page": "sm_api_translate_query",
      "title": "Translate a parsed query to the social media query format",
      "topics": [
        "sm_api_translate_query"
      ]
    },
    {
      "page": "sm_api_translate_query_bluesky",
      "title": "Translate a parsed query to the social media query format",
      "topics": [
        "sm_api_translate_query_bluesky"
      ]
    },
    {
      "page": "sm_api_update_plan_after_request",
      "title": "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 messages",
      "topics": [
        "sm_api_update_plan_after_request"
      ]
    },
    {
      "page": "sm_api_update_plan_after_request_bluesky",
      "title": "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 messages",
      "topics": [
        "sm_api_update_plan_after_request_bluesky"
      ]
    },
    {
      "page": "sm_plan_first_attributes",
      "title": "returns a list with the custom social media plan attributes with the default values for a first plan in a topic.",
      "topics": [
        "sm_plan_first_attributes"
      ]
    },
    {
      "page": "sm_plan_first_attributes_bluesky",
      "title": "returns a list with the custom social media plan attributes with the default values for a first plan in a topic.",
      "topics": [
        "sm_plan_first_attributes_bluesky"
      ]
    },
    {
      "page": "sm_plan_format",
      "title": "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 functions",
      "topics": [
        "sm_plan_format"
      ]
    },
    {
      "page": "sm_plan_format_bluesky",
      "title": "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 functions",
      "topics": [
        "sm_plan_format_bluesky"
      ]
    },
    {
      "page": "sm_plan_get_progress",
      "title": "calculates and returns the estimated progress of a plan using custom attributes",
      "topics": [
        "sm_plan_get_progress"
      ]
    },
    {
      "page": "sm_plan_get_progress_bluesky",
      "title": "calculates and returns the estimated progress of a plan using custom attributes",
      "topics": [
        "sm_plan_get_progress_bluesky"
      ]
    },
    {
      "page": "sm_plan_next_attributes",
      "title": "returns a list with the custom social media plan attributes with the values for the plan to be run after the plans provided as parameter",
      "topics": [
        "sm_plan_next_attributes"
      ]
    },
    {
      "page": "sm_plan_next_attributes_bluesky",
      "title": "returns a list with the custom social media plan attributes with the values for the plan to be run after the plans provided as parameter",
      "topics": [
        "sm_plan_next_attributes_bluesky"
      ]
    },
    {
      "page": "sm_plan_next_search_info",
      "title": "Return a message to log what the next query is going to be for the current plan",
      "topics": [
        "sm_plan_next_search_info"
      ]
    },
    {
      "page": "sm_plan_parse_attributes",
      "title": "parse custom attributes for a plan in this specific social media and returns them as a named list with attributes in the proper type",
      "topics": [
        "sm_plan_parse_attributes"
      ]
    },
    {
      "page": "sm_plan_parse_attributes_bluesky",
      "title": "parse custom attributes for a plan in this specific social media and returns them as a named list with attributes in the proper type",
      "topics": [
        "sm_plan_parse_attributes_bluesky"
      ]
    },
    {
      "page": "sm_plan_search_info_bluesky",
      "title": "Return a message to log what the next query is going to be for the current plan",
      "topics": [
        "sm_plan_search_info_bluesky"
      ]
    },
    {
      "page": "stop_detect_runner_task",
      "title": "Stops the alert detection task",
      "topics": [
        "stop_detect_runner_task"
      ]
    },
    {
      "page": "stop_fs_runner_task",
      "title": "Stops the episomer database task",
      "topics": [
        "stop_fs_runner_task"
      ]
    },
    {
      "page": "stop_search_runner_task",
      "title": "Stops the post collection task",
      "topics": [
        "stop_search_runner_task"
      ]
    },
    {
      "page": "trend_line",
      "title": "Plot the trendline report of episomer dashboard",
      "topics": [
        "trend_line"
      ]
    },
    {
      "page": "update_geonames",
      "title": "Updates the local copy of the GeoNames database",
      "topics": [
        "update_geonames"
      ]
    },
    {
      "page": "update_languages",
      "title": "Updates local copies of languages",
      "topics": [
        "update_languages"
      ]
    }
  ],
  "_readme": "https://github.com/eu-ecdc/episomer/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "bslib",
    "cachem",
    "cellranger",
    "class",
    "classInt",
    "cli",
    "codetools",
    "commonmark",
    "cpp11",
    "crayon",
    "crosstalk",
    "curl",
    "data.table",
    "DBI",
    "digest",
    "dplyr",
    "DT",
    "e1071",
    "emayili",
    "evaluate",
    "farver",
    "fastmap",
    "filelock",
    "fontawesome",
    "fs",
    "future",
    "generics",
    "ggplot2",
    "globals",
    "glue",
    "gtable",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "httr",
    "httr2",
    "isoband",
    "janitor",
    "jquerylib",
    "jsonlite",
    "KernSmooth",
    "keyring",
    "knitr",
    "labeling",
    "later",
    "lazyeval",
    "lifecycle",
    "listenv",
    "logger",
    "lubridate",
    "magrittr",
    "MASS",
    "memoise",
    "mime",
    "openssl",
    "openxlsx",
    "otel",
    "parallelly",
    "pillar",
    "pkgconfig",
    "plotly",
    "prettyunits",
    "processx",
    "progress",
    "promises",
    "proxy",
    "ps",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "readxl",
    "rematch",
    "rlang",
    "rmarkdown",
    "rnaturalearthdata",
    "rvest",
    "s2",
    "S7",
    "sass",
    "scales",
    "selectr",
    "sf",
    "shiny",
    "snakecase",
    "sourcetools",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "tinytex",
    "triebeard",
    "units",
    "urltools",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "wk",
    "xfun",
    "xml2",
    "xtable",
    "yaml",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "add_new_social_media.Rmd",
      "filename": "add_new_social_media.html",
      "title": "Add a new social media",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Common post format",
        "Pre-requisites",
        "Add a new social media",
        "Creates API and plan files",
        "Edit config.R",
        "Adapt the shiny app"
      ],
      "created": "2025-11-28 07:19:03",
      "modified": "2025-11-28 07:19:03",
      "commits": 1
    },
    {
      "source": "episomer-vignette.Rmd",
      "filename": "episomer-vignette.html",
      "title": "episomer: user documentation",
      "author": "European Centre for Disease Prevention and Control (ECDC)",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Description",
        "Background",
        "Epidemic Intelligence at ECDC",
        "Monitoring social media trends",
        "Objectives of episomer",
        "Repository of episomer material and training",
        "Hardware requirements",
        "Installation",
        "Installation steps",
        "Prerequisites",
        "Mandatory for running episomer",
        "Mandatory for some of the functionalities in episomer",
        "Only for R developers",
        "External dependencies",
        "Installing episomer from CRAN",
        "Environment variables",
        "Launching the episomer Shiny app",
        "Setting up data collection and alert detection loop",
        "How does it work? General architecture behind episomer",
        "Collection of posts",
        "Use of the Bluesky search API version",
        "Bluesky authentication",
        "Topics and post collection queries",
        "Scheduled plans to collect posts",
        "progress              Double      Progress of the current plan as a percentage. It is calculated as (current$plan_max_date - current$current_min_date)/(current$plan_max_date - current$plan_min_date). If the underlying API returns no posts the progress is set to 100%. This only applies for non error responses containing an empty list of posts.",
        "Geolocating locations referenced in message content",
        "Improving and evaluating geolocation performance",
        "Stored geolocated post information",
        "Most frequent elements found in and extracted from posts",
        "Aggregation of data",
        "Signal detection",
        "Details of the algorithm underlying signal detection",
        "Downweighting previous signals",
        "Timing of signal detection",
        "The alpha parameter: the false positive rate of the signal detection",
        "Bonferroni correction",
        "Using same weekdays as baseline",
        "Sending email alerts",
        "Folder structure",
        "Fs folder > posts",
        "Fs folder > country_counts, geolocated, tags, topwords, urls",
        "The interactive user application (Shiny app)",
        "Dashboard: The interactive user interface for visualisation",
        "Filters",
        "The timeline",
        "Map",
        "Most frequent words, tags and URLs found in or extracted from posts",
        "The alerts page",
        "Find alerts",
        "Alerts annotations",
        "The geotag page",
        "The data protection page",
        "The configuration page",
        "The troubleshoot page",
        "Create a snapshot file",
        "Diagnostic",
        "Downloading outputs from the interactive user interface (Shiny app)",
        "Annex I: Downweighting the previous signals",
        "Introduction",
        "EARS as a Linear Model",
        "Downweighting",
        "Example of the downweighting approach using Ebola data",
        "Annex II: Troubleshooting and tips",
        "Management of episomer pipelines ('episomer database', 'Data collection & processing', 'Requirements & alerts') in Windows",
        "Management of episomer pipelines ('episomer database', 'Data collection & processing', 'Requirements & alerts') in Linux and Mac",
        "Running 'episomer database', 'Data collection and processing' and 'Requirements and alerts' pipelines",
        "\"Cannot execute task #####: the task is already running\"",
        "\"Failed while processing alerts\"",
        "Change the user of the Bluesky authentication",
        "Downloading GeoNames and/or languages",
        "Languages to be added or deleted",
        "\"The specified size exceeds the maximum representable size. Error: Could not create the Java Virtual Machine\"",
        "The \"Launch slots\" in the configuration page show NAs instead of the time slots",
        "Downloading PDF of the dashboard",
        "\"Error in: LaTeX failed to compile C:\\Users\\name~1\\...\\file######.tex.\"",
        "\"Error: pandoc document conversion failed with error 6\"",
        "Different totals in dashboard outputs",
        "Receiving only real-time alerts",
        "Not receiving email alerts",
        "References"
      ],
      "created": "2025-11-28 07:19:03",
      "modified": "2026-03-03 15:03:40",
      "commits": 4
    }
  ],
  "_score": 8.223444019809616,
  "_indexed": true,
  "_nocasepkg": "episomer",
  "_universes": [
    "eu-ecdc",
    "lauespinosa"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "3.0.35",
      "date": "2026-06-07T06:38:56.000Z",
      "distro": "noble",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "a89fc3b5b2b1160ea3566eaf90fe809e33984776d4509e616234c0d1e3b751d9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "3.0.35",
      "date": "2026-06-07T06:38:12.000Z",
      "distro": "noble",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "ab9f2e0c7be562d92fdc25b35782ac6fcc846f61ef16b5cfedde1c203b331f75",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "3.0.35",
      "date": "2026-06-07T06:37:58.000Z",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "09fb949d4060ec3375c003c92e607d3a4e70c46214974bd86126e05aa32c5752",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "3.0.35",
      "date": "2026-06-07T06:38:13.000Z",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "263205692b18efe4721c684a31125864a3f7bfa88b718ff8de1785005eaec7d9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "3.0.35",
      "date": "2026-06-07T06:38:28.000Z",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "18a6ece5fb8901f67dbf70ac97c521efcb75eef87fd3c28fe7588887e46a85a1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "3.0.35",
      "date": "2026-06-07T06:37:45.000Z",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "65f591a43415b8c5b745b5206a01472a2810c590ceb3c798ee0341814064c553",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "3.0.35",
      "date": "2026-06-07T06:36:58.000Z",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "d7dfb877b63ff9391ec12a7419db0e33842a2832d7a1b42d2e56977ae4bf794b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "3.0.35",
      "date": "2026-06-07T06:36:55.000Z",
      "commit": "98169519c8166fc5ef8e8604090e78ab36508d9d",
      "fileid": "5d24e7997332f18b9a97dd0a9f270d0447c013e8cfbf122b575e1629fab6caa1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/eu-ecdc/actions/runs/27084987027"
    }
  ]
}