{
  "_id": "6acb41a8fe5cc25786e8ce77",
  "Package": "ggsurveillance",
  "Title": "Tools for Outbreak Investigation/Infectious Disease Surveillance",
  "Version": "0.4.0",
  "Authors@R": "person(\"Alexander\", \"Bartel\", , \"alexander.bartel@fu-berlin.de\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-1280-6138\"))",
  "Description": "Create epicurves or epigantt charts in 'ggplot2'. Prepare\ndata for visualisation or other reporting for infectious\ndisease surveillance and outbreak investigation. Includes tidy\nfunctions to solve date based transformations for common\nreporting tasks, like (A) seasonal date alignment for\nrespiratory disease surveillance, (B) date-based case binning\nbased on specified time intervals like isoweek, epiweek, month\nand more, (C) automated detection and marking of the new year\nbased on the date/datetime axis of the 'ggplot2'. An\nintroduction on how to use epicurves can be found on the US CDC\nwebsite (2012,\n<https://www.cdc.gov/training/quicklearns/epimode/index.html>).",
  "License": "GPL (>= 3)",
  "URL": "https://ggsurveillance.biostats.dev,\nhttps://github.com/biostats-dev/ggsurveillance",
  "BugReports": "https://github.com/biostats-dev/ggsurveillance/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "LazyData": "true",
  "NeedsCompilation": "no",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://epiverse-connect.r-universe.dev",
  "Date/Publication": "2025-06-16 13:38:10 UTC",
  "RemoteUrl": "https://github.com/biostats-dev/ggsurveillance",
  "RemoteRef": "HEAD",
  "RemoteSha": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
  "Packaged": {
    "Date": "2026-10-10 09:09:48 UTC",
    "User": "root"
  },
  "Author": "Alexander Bartel [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-1280-6138>)",
  "Maintainer": "Alexander Bartel <alexander.bartel@fu-berlin.de>",
  "_user": "epiverse-connect",
  "_type": "src",
  "_file": "ggsurveillance_0.4.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/e3838981f7598cf53b18332c074a91abaccc363e9d223722dc29f712ea2ac52f",
  "_filesize": 1727252,
  "_sha256": "e3838981f7598cf53b18332c074a91abaccc363e9d223722dc29f712ea2ac52f",
  "_expires": "2027-01-18T09:25:49.000Z",
  "_created": "2026-10-10T09:09:48.000Z",
  "_published": "2026-10-11T07:58:32.081Z",
  "_buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114418245533,
      "time": 186,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "11695279235"
    },
    {
      "job": 114418245517,
      "time": 232,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "11694888221"
    },
    {
      "job": 114418245471,
      "time": 147,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "11696061365"
    },
    {
      "job": 114418245470,
      "time": 155,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "11696425938"
    },
    {
      "job": 114418246081,
      "time": 189,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11665401962"
    },
    {
      "job": 114418246221,
      "time": 119,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11665234667"
    },
    {
      "job": 114418245552,
      "time": 158,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "11694989377"
    },
    {
      "job": 114418245486,
      "time": 193,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "11695747165"
    },
    {
      "job": 114418245509,
      "time": 171,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "11695856960"
    }
  ],
  "_upstream": "https://github.com/biostats-dev/ggsurveillance",
  "_commit": {
    "id": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
    "author": "Alexander Bartel <ndevln@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Create FUNDING.yml",
    "time": 1750081090
  },
  "_maintainer": {
    "name": "Alexander Bartel",
    "email": "alexander.bartel@fu-berlin.de",
    "login": "ndevln",
    "orcid": "0000-0002-1280-6138",
    "description": "",
    "uuid": 5631424
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "forcats",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.5.0",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "ISOweek",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "scales",
      "version": ">= 1.4.0",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    },
    {
      "package": "Hmisc",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "outbreaks",
      "role": "Suggests"
    },
    {
      "package": "plotly",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "tsibble",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "version": ">= 1.0.8",
      "role": "Suggests"
    }
  ],
  "_owner": "biostats-dev",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [],
  "_tags": [
    {
      "name": "0.5.2",
      "date": "2025-11-27"
    }
  ],
  "_topics": [
    "epidemiology",
    "infectious-disease-surveillance",
    "infectious-diseases",
    "outbreaks"
  ],
  "_stars": 12,
  "_contributors": [
    {
      "user": "ndevln",
      "count": 164,
      "uuid": 5631424
    }
  ],
  "_userbio": {
    "uuid": 114159794,
    "type": "organization",
    "name": "Epiverse-CONNECT",
    "followers": 6
  },
  "_downloads": {
    "count": 480,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggsurveillance"
  },
  "_devurl": "https://github.com/biostats-dev/ggsurveillance",
  "_pkgdown": "https://ggsurveillance.biostats.dev",
  "_searchresults": 7,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggsurveillance.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/biostats-dev/ggsurveillance",
  "_realowner": "biostats-dev",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2025-01-31"
    },
    {
      "version": "0.1.2",
      "date": "2025-02-11"
    },
    {
      "version": "0.2.0",
      "date": "2025-03-02"
    },
    {
      "version": "0.3.0",
      "date": "2025-04-11"
    },
    {
      "version": "0.4.0",
      "date": "2025-05-09"
    },
    {
      "version": "0.5.0",
      "date": "2025-07-01"
    },
    {
      "version": "0.5.1",
      "date": "2025-07-02"
    },
    {
      "version": "0.5.2",
      "date": "2025-11-27"
    }
  ],
  "_exports": [
    "align_and_bin_dates_seasonal",
    "align_dates_seasonal",
    "create_agegroups",
    "expand_counts",
    "geom_area_diverging",
    "geom_bar_diverging",
    "geom_col_range",
    "geom_epicurve",
    "geom_epigantt",
    "geom_hline_year",
    "geom_label_last_value",
    "geom_label_last_value_repel",
    "geom_text_last_value",
    "geom_text_last_value_repel",
    "geom_vline_year",
    "geometric_mean",
    "label_date",
    "label_date_short",
    "label_skip",
    "scale_x_cases_5er",
    "scale_x_continuous_diverging",
    "scale_x_discrete_reverse",
    "scale_y_cases_5er",
    "scale_y_continuous_diverging",
    "scale_y_discrete_reverse",
    "stat_bin_date",
    "stat_date_count",
    "stat_diverging",
    "stat_last_value",
    "StatBinDate",
    "StatDateCount",
    "StatEpicurve",
    "StatLastValue",
    "StatLastValueRepel",
    "theme_mod_disable_legend",
    "theme_mod_legend_bottom",
    "theme_mod_legend_left",
    "theme_mod_legend_position",
    "theme_mod_legend_right",
    "theme_mod_legend_top",
    "theme_mod_remove_legend_title",
    "theme_mod_remove_minor_grid",
    "theme_mod_remove_minor_grid_x",
    "theme_mod_remove_minor_grid_y",
    "theme_mod_remove_panel_grid",
    "theme_mod_rotate_x_axis_labels",
    "theme_mod_rotate_x_axis_labels_30",
    "theme_mod_rotate_x_axis_labels_45",
    "theme_mod_rotate_x_axis_labels_60",
    "theme_mod_rotate_x_axis_labels_90",
    "theme_mod_rotate_y_axis_labels",
    "uncount"
  ],
  "_datasets": [
    {
      "name": "influenza_germany",
      "title": "German Influenza (FLU) Surveillance data",
      "object": "influenza_germany",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "ReportingWeek",
        "AgeGroup",
        "Cases",
        "Incidence"
      ],
      "rows": 1037,
      "table": true,
      "tojson": true
    },
    {
      "name": "linelist_hospital_outbreak",
      "title": "Line list of a fictional hospital outbreak (Data)",
      "object": "linelist_hospital_outbreak",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "Patient",
        "ward_name_1",
        "ward_start_of_stay_1",
        "ward_end_of_stay_1",
        "ward_name_2",
        "ward_start_of_stay_2",
        "ward_end_of_stay_2",
        "pathogen_detection_1",
        "pathogen_detection_2"
      ],
      "rows": 8,
      "table": true,
      "tojson": true
    },
    {
      "name": "population_german_states",
      "title": "Population of the German states (2023)",
      "object": "population_german_states",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "reporting_date",
        "state",
        "sex",
        "age",
        "n"
      ],
      "rows": 2912,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "align_dates_seasonal",
      "title": "Align dates for seasonal comparison",
      "topics": [
        "align_and_bin_dates_seasonal",
        "align_dates_seasonal"
      ]
    },
    {
      "page": "create_agegroups",
      "title": "Create Age Groups from Numeric Values",
      "topics": [
        "create_agegroups"
      ]
    },
    {
      "page": "geom_bar_diverging",
      "title": "Create diverging bar charts, diverging area charts or other plots for opposing categorical data.",
      "topics": [
        "geom_area_diverging",
        "geom_bar_diverging",
        "stat_diverging"
      ]
    },
    {
      "page": "geom_col_range",
      "title": "Create a ranged bar chart",
      "topics": [
        "geom_col_range"
      ]
    },
    {
      "page": "geom_epicurve",
      "title": "Create an epidemic curve plot or bin/count observations by date periods",
      "topics": [
        "geom_epicurve",
        "StatBinDate",
        "StatDateCount",
        "StatEpicurve",
        "stat_bin_date",
        "stat_date_count"
      ]
    },
    {
      "page": "geom_epigantt",
      "title": "Epi Gantt Chart: Visualize Epidemiological Time Intervals",
      "topics": [
        "geom_epigantt"
      ]
    },
    {
      "page": "stat_last_value",
      "title": "Add labels or points to the last value of a line chart",
      "topics": [
        "geom_label_last_value",
        "geom_label_last_value/ stat_last_value",
        "geom_label_last_value_repel",
        "geom_text_last_value",
        "geom_text_last_value_repel",
        "StatLastValue",
        "StatLastValueRepel",
        "stat_last_value"
      ]
    },
    {
      "page": "geom_vline_year",
      "title": "Automatically create lines at the turn of every year",
      "topics": [
        "geom_hline_year",
        "geom_vline_year"
      ]
    },
    {
      "page": "geometric_mean",
      "title": "Compute a Geometric Mean",
      "topics": [
        "geometric_mean"
      ]
    },
    {
      "page": "influenza_germany",
      "title": "German Influenza (FLU) Surveillance data",
      "topics": [
        "influenza_germany"
      ]
    },
    {
      "page": "label_date",
      "title": "Date labeller",
      "topics": [
        "label_date",
        "label_date_short"
      ]
    },
    {
      "page": "label_skip",
      "title": "Skip labels on an axis",
      "topics": [
        "label_skip"
      ]
    },
    {
      "page": "linelist_hospital_outbreak",
      "title": "Line list of a fictional hospital outbreak (Data)",
      "topics": [
        "linelist_hospital_outbreak"
      ]
    },
    {
      "page": "population_german_states",
      "title": "Population of the German states (2023)",
      "topics": [
        "population_german_states"
      ]
    },
    {
      "page": "scale_continuous_diverging",
      "title": "Diverging continuous scales for diverging bar charts with symmetrical limits",
      "topics": [
        "scale_continuous_diverging",
        "scale_x_continuous_diverging",
        "scale_y_continuous_diverging"
      ]
    },
    {
      "page": "scale_y_cases_5er",
      "title": "Continuous x-axis and y-axis scale for (case) counts",
      "topics": [
        "scale_x_cases_5er",
        "scale_y_cases_5er"
      ]
    },
    {
      "page": "scale_y_discrete_reverse",
      "title": "Reversed discrete scale for 'ggplot2'",
      "topics": [
        "scale_x_discrete_reverse",
        "scale_y_discrete_reverse"
      ]
    },
    {
      "page": "theme_mod_disable_legend",
      "title": "Quickly adjust the legend position",
      "topics": [
        "theme_mod_disable_legend",
        "theme_mod_disable_legend, theme_mod_legend_position",
        "theme_mod_legend_bottom",
        "theme_mod_legend_left",
        "theme_mod_legend_position",
        "theme_mod_legend_right",
        "theme_mod_legend_top",
        "theme_mod_remove_legend_title"
      ]
    },
    {
      "page": "theme_mod_remove_minor_grid",
      "title": "Quickly remove the minor lines of the panel grid",
      "topics": [
        "theme_mod_remove_minor_grid",
        "theme_mod_remove_minor_grid_x",
        "theme_mod_remove_minor_grid_y",
        "theme_mod_remove_panel_grid"
      ]
    },
    {
      "page": "theme_mod_rotate_axis_labels",
      "title": "Rotate axis labels",
      "topics": [
        "theme_mod_rotate_axis_labels",
        "theme_mod_rotate_x_axis_labels",
        "theme_mod_rotate_x_axis_labels_30",
        "theme_mod_rotate_x_axis_labels_45",
        "theme_mod_rotate_x_axis_labels_60",
        "theme_mod_rotate_x_axis_labels_90",
        "theme_mod_rotate_y_axis_labels"
      ]
    },
    {
      "page": "uncount",
      "title": "Duplicate rows according to a weighting variable",
      "topics": [
        "expand_counts",
        "uncount",
        "uncount, expand_counts"
      ]
    }
  ],
  "_pkglogo": "https://github.com/biostats-dev/ggsurveillance/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/biostats-dev/ggsurveillance/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "dplyr",
    "farver",
    "forcats",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "ISOweek",
    "labeling",
    "lifecycle",
    "lubridate",
    "magrittr",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "Epicurves_with_ggsurveillance.Rmd",
      "filename": "Epicurves_with_ggsurveillance.html",
      "title": "EpiCurves: epicurves in ggplot with ggsurveillance",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Epi Curve examples",
        "Ebola Outbreak in Kikwit, Democratic Republic of the Congo 1995",
        "SARS Outbreak in Canada 2003",
        "Influenza Data from Germany 2020-2025",
        "Extra"
      ],
      "created": "2025-01-25 15:01:41",
      "modified": "2025-02-02 20:25:56",
      "commits": 9
    },
    {
      "source": "Epigantt_with_ggsurveillance.Rmd",
      "filename": "Epigantt_with_ggsurveillance.html",
      "title": "EpiGantt: epigantt charts in ggplot with ggsurveillance",
      "engine": "knitr::rmarkdown",
      "headings": [
        "EpiGantt examples",
        "Start with the Line List",
        "Transform the Line List into long format for ggplot",
        "Plot the Epigantt chart",
        "Outbreak 2: Fictional Varicella Outbreak in Berlin"
      ],
      "created": "2025-01-25 15:01:41",
      "modified": "2025-04-11 14:59:20",
      "commits": 12
    },
    {
      "source": "align_dates_seasonal.Rmd",
      "filename": "align_dates_seasonal.html",
      "title": "Seasonal Plots: Align case data for seasonal analysis",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The seasonal plot",
        "Seasonal alignment and plot",
        "Combining everything for the seasonal plot",
        "Other visualisations"
      ],
      "created": "2025-01-25 15:01:41",
      "modified": "2025-04-11 14:59:20",
      "commits": 13
    }
  ],
  "_score": 5.2552725051033065,
  "_indexed": false,
  "_nocasepkg": "ggsurveillance",
  "_universes": [
    "epiverse-connect"
  ],
  "_indexurl": "https://biostats-dev.r-universe.dev/ggsurveillance",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-10-11T07:38:15.000Z",
      "distro": "resolute",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/6e91713f76de2c2d2e6d6f05cbc59797aecca2814822b95f2a0ce50fff3e5eb8",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-10-11T07:38:44.000Z",
      "distro": "resolute",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/2ed9b25bd3ebd577048c5f63f21726d65c9ba15ffb839df9928e4ad9e71bdbe7",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-10-11T07:53:49.000Z",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/1fc201f807931ed1402677c17f6b2981b12a2d057893ee3dd224a77e4c8ae65d",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-10-11T07:57:03.000Z",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/411aa984b66a7b5a33bcb1ce995c9a068c53200a14f246acf018b8d823f5f7b2",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0",
      "date": "2026-10-10T09:12:08.000Z",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/5edc94968c5512177b55e5d740ea26035b4446e59d230f2c15f2a18665bb9bc1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-10-11T07:37:17.000Z",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/df818177a6dfb66fa0577433ede45d849a57d0e290ad6569b3bcd4f24f4eba4b",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-10-11T07:37:36.000Z",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/5a45ef97fbe016f0725845a96491c737aeaed646e633891330230e0449bdfae2",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-10-11T07:37:28.000Z",
      "commit": "7e55cd9f0d7f612a5f38d578208bb1fc761daf8f",
      "fileid": "https://r2.ropensci.org/30568e488308933b48a06f9bce8f36584f961b06ea4f4cbe6a72e744839fec5c",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/epiverse-connect/actions/runs/38040231940"
    }
  ]
}