{
  "_id": "6aabf0c23d719c1f84070238",
  "Package": "carwatch",
  "Title": "Processing of 'CARWatch' Sampling Logs and Saliva Data",
  "Version": "1.0.1",
  "Authors@R": "person(\n\"Robert\", \"Richer\",\nemail = \"robert.richer@fau.de\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0003-0272-5403\")\n)",
  "Description": "Import and reconstruct saliva-sampling studies recorded by\nthe 'CARWatch' application. Registration metadata and raw\nbarcode events are converted into auditable study days and\nscheduled sample positions using a two-pass issue-review\nworkflow. Functions assess sampling-time compliance, merge\nlaboratory saliva measurements, calculate response features,\nand create quality-control visualizations. The application is\ndescribed by Richer et al. (2023)\n<doi:10.1016/j.psyneuen.2023.106073>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://carwatch-tools.github.io/carwatch-r/,\nhttps://github.com/carwatch-tools/carwatch-r",
  "BugReports": "https://github.com/carwatch-tools/carwatch-r/issues",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-17 13:46:37 UTC",
    "User": "root"
  },
  "Author": "Robert Richer [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-0272-5403>)",
  "Maintainer": "Robert Richer <robert.richer@fau.de>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-09-17 11:50:08 UTC",
  "RemoteUrl": "https://github.com/cran/carwatch",
  "RemoteRef": "HEAD",
  "RemoteSha": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
  "_user": "cran",
  "_type": "src",
  "_file": "carwatch_1.0.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/bf03e716c1c581d0a0b3bfa7cb563f0d47bfd4bd215a359a99e2afa4d28b4b95",
  "_filesize": 975702,
  "_sha256": "bf03e716c1c581d0a0b3bfa7cb563f0d47bfd4bd215a359a99e2afa4d28b4b95",
  "_expires": "2026-12-26T13:53:04.000Z",
  "_created": "2026-09-17T13:46:37.000Z",
  "_published": "2026-09-17T13:53:06.516Z",
  "_jobs": [
    {
      "job": 105228772488,
      "time": 304,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10500308121"
    },
    {
      "job": 105228772605,
      "time": 302,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10499764691"
    },
    {
      "job": 105227425894,
      "time": 214,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10500496596"
    },
    {
      "job": 105228772512,
      "time": 136,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10500596660"
    },
    {
      "job": 105228772624,
      "time": 258,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10499739619"
    },
    {
      "job": 105228772725,
      "time": 193,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10500327166"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/35228827080",
  "_status": "success",
  "_upstream": "https://github.com/cran/carwatch",
  "_commit": {
    "id": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
    "author": "Robert Richer <robert.richer@fau.de>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.1\n",
    "time": 1789645808
  },
  "_maintainer": {
    "name": "Robert Richer",
    "email": "robert.richer@fau.de",
    "login": "richrobe",
    "bluesky": "@richrobe.bsky.social",
    "orcid": "0000-0003-0272-5403",
    "description": "PostDoctoral Researcher & Research Group Leader @mad-lab-fau, @empkins ",
    "uuid": 7548496
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.3",
      "role": "Depends"
    },
    {
      "package": "boot",
      "role": "Imports"
    },
    {
      "package": "clock",
      "version": ">= 0.7.0",
      "role": "Imports"
    },
    {
      "package": "digest",
      "version": ">= 0.6.0",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "fs",
      "version": ">= 1.6.0",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.5.0",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "version": ">= 1.8.0",
      "role": "Imports"
    },
    {
      "package": "readr",
      "version": ">= 2.1.0",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "version": ">= 3.2.0",
      "role": "Imports"
    },
    {
      "package": "vctrs",
      "version": ">= 0.6.0",
      "role": "Imports"
    },
    {
      "package": "withr",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "roxygen2",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.2.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-38",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.1",
      "date": "2026-09-17"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "richrobe",
      "count": 1,
      "uuid": 7548496
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 630,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/carwatch"
  },
  "_devurl": "https://github.com/carwatch-tools/carwatch-r",
  "_pkgdown": "https://carwatch-tools.github.io/carwatch-r/",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/carwatch.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "LICENSE"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.1",
      "date": "2026-09-17"
    }
  ],
  "_exports": [
    "as_sample_events",
    "as_study_days",
    "auc",
    "compute_features",
    "compute_features_from_carwatch",
    "conversion_report_editor",
    "convert_raw_logs",
    "drop_non_compliant_samples",
    "extract_registration_schedule",
    "find_non_compliant_samples",
    "find_sampling_anomalies",
    "generate_synthetic_study_data",
    "initial_value",
    "interactive_sampling_timeline",
    "max_increase",
    "max_value",
    "mean_se",
    "merge_saliva",
    "new_carwatch_results",
    "new_sampling_compliance_checker",
    "plot_compliance_overview",
    "plot_saliva_curve",
    "plot_sampling_timeline",
    "plot_timing_deviation",
    "read_conversion_report",
    "read_manual_diary",
    "read_raw_logs",
    "read_raw_logs_from_participant_dirs",
    "read_saliva",
    "read_study_manager_export",
    "read_study_results",
    "saliva_feature_wide_to_long",
    "sample_times_datetime_to_minute",
    "slope",
    "standard_features",
    "summarize_compliance",
    "summarize_protocol",
    "summarize_source_audit",
    "write_conversion_report",
    "write_study_results"
  ],
  "_help": [
    {
      "page": "as_sample_events",
      "title": "Extract the explicit sample-level table",
      "topics": [
        "as_sample_events"
      ]
    },
    {
      "page": "as_study_days",
      "title": "Extract the explicit day-level table",
      "topics": [
        "as_study_days"
      ]
    },
    {
      "page": "auc",
      "title": "Compute area under the curve with respect to ground and increase",
      "topics": [
        "auc"
      ]
    },
    {
      "page": "compute_features",
      "title": "Compute the standard CARWatch saliva response feature set",
      "topics": [
        "compute_features"
      ]
    },
    {
      "page": "compute_features_from_carwatch",
      "title": "Compute CARWatch saliva features using sample position and actual time",
      "topics": [
        "compute_features_from_carwatch"
      ]
    },
    {
      "page": "conversion_report_editor",
      "title": "Edit conversion decisions interactively",
      "topics": [
        "conversion_report_editor"
      ]
    },
    {
      "page": "convert_raw_logs",
      "title": "Convert immutable CARWatch raw logs to canonical Study Results",
      "topics": [
        "convert_raw_logs"
      ]
    },
    {
      "page": "drop_non_compliant_samples",
      "title": "Remove non-compliant observations",
      "topics": [
        "drop_non_compliant_samples"
      ]
    },
    {
      "page": "extract_registration_schedule",
      "title": "Extract the registration-aware protocol schedule",
      "topics": [
        "extract_registration_schedule"
      ]
    },
    {
      "page": "find_non_compliant_samples",
      "title": "Identify non-compliant samples",
      "topics": [
        "find_non_compliant_samples"
      ]
    },
    {
      "page": "find_sampling_anomalies",
      "title": "Identify tube and day mismatches",
      "topics": [
        "find_sampling_anomalies"
      ]
    },
    {
      "page": "generate_synthetic_study_data",
      "title": "Generate deterministic local CARWatch example data",
      "topics": [
        "generate_synthetic_study_data"
      ]
    },
    {
      "page": "initial_value",
      "title": "Return the initial value in each saliva curve",
      "topics": [
        "initial_value"
      ]
    },
    {
      "page": "interactive_sampling_timeline",
      "title": "Open an interactive participant-day sampling timeline",
      "topics": [
        "interactive_sampling_timeline"
      ]
    },
    {
      "page": "max_increase",
      "title": "Compute maximum increase from the initial sample",
      "topics": [
        "max_increase"
      ]
    },
    {
      "page": "max_value",
      "title": "Compute the maximum measured value in each saliva curve",
      "topics": [
        "max_value"
      ]
    },
    {
      "page": "mean_se",
      "title": "Compute mean and standard error by sample",
      "topics": [
        "mean_se"
      ]
    },
    {
      "page": "merge_saliva",
      "title": "Merge laboratory saliva values into canonical Study Results",
      "topics": [
        "merge_saliva"
      ]
    },
    {
      "page": "new_carwatch_results",
      "title": "Construct canonical CARWatch results",
      "topics": [
        "new_carwatch_results"
      ]
    },
    {
      "page": "new_sampling_compliance_checker",
      "title": "Configure CARWatch sampling-compliance tolerances",
      "topics": [
        "new_sampling_compliance_checker"
      ]
    },
    {
      "page": "plot_compliance_overview",
      "title": "Plot cohort sampling compliance",
      "topics": [
        "plot_compliance_overview"
      ]
    },
    {
      "page": "plot_saliva_curve",
      "title": "Plot CARWatch-aligned saliva response curves",
      "topics": [
        "plot_saliva_curve"
      ]
    },
    {
      "page": "plot_sampling_timeline",
      "title": "Plot an individual sampling timeline",
      "topics": [
        "plot_sampling_timeline"
      ]
    },
    {
      "page": "plot_timing_deviation",
      "title": "Plot signed sampling-time deviations",
      "topics": [
        "plot_timing_deviation"
      ]
    },
    {
      "page": "read_conversion_report",
      "title": "Read a conversion-issue report CSV",
      "topics": [
        "read_conversion_report"
      ]
    },
    {
      "page": "read_manual_diary",
      "title": "Read a manual measurement diary",
      "topics": [
        "read_manual_diary"
      ]
    },
    {
      "page": "read_raw_logs",
      "title": "Read CARWatch raw log files",
      "topics": [
        "read_raw_logs"
      ]
    },
    {
      "page": "read_raw_logs_from_participant_dirs",
      "title": "Read raw logs from one explicitly mapped folder per participant",
      "topics": [
        "read_raw_logs_from_participant_dirs"
      ]
    },
    {
      "page": "read_saliva",
      "title": "Read a BioPsyKit-style saliva CSV",
      "topics": [
        "read_saliva"
      ]
    },
    {
      "page": "read_study_manager_export",
      "title": "Read a flat CARWatch Study Manager export",
      "topics": [
        "read_study_manager_export"
      ]
    },
    {
      "page": "read_study_results",
      "title": "Read canonical CARWatch Study Results",
      "topics": [
        "read_study_results"
      ]
    },
    {
      "page": "saliva_feature_wide_to_long",
      "title": "Convert wide saliva features to an analysis-friendly long table",
      "topics": [
        "saliva_feature_wide_to_long"
      ]
    },
    {
      "page": "sample_times_datetime_to_minute",
      "title": "Convert clock-time sample columns to minutes from the first sample",
      "topics": [
        "sample_times_datetime_to_minute"
      ]
    },
    {
      "page": "slope",
      "title": "Compute the slope between two saliva samples",
      "topics": [
        "slope"
      ]
    },
    {
      "page": "standard_features",
      "title": "Summarize descriptive saliva features",
      "topics": [
        "standard_features"
      ]
    },
    {
      "page": "summarize_compliance",
      "title": "Summarize sampling compliance",
      "topics": [
        "summarize_compliance"
      ]
    },
    {
      "page": "summarize_protocol",
      "title": "Summarize the reconstructed study protocol",
      "topics": [
        "summarize_protocol"
      ]
    },
    {
      "page": "summarize_source_audit",
      "title": "Compactly summarize a source audit",
      "topics": [
        "summarize_source_audit"
      ]
    },
    {
      "page": "write_conversion_report",
      "title": "Write an editable conversion report",
      "topics": [
        "write_conversion_report"
      ]
    },
    {
      "page": "write_study_results",
      "title": "Write canonical CARWatch Study Results",
      "topics": [
        "write_study_results"
      ]
    }
  ],
  "_rundeps": [
    "bit",
    "bit64",
    "boot",
    "cli",
    "clipr",
    "clock",
    "cpp11",
    "crayon",
    "digest",
    "dplyr",
    "farver",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "hms",
    "isoband",
    "jsonlite",
    "labeling",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "R6",
    "RColorBrewer",
    "readr",
    "rlang",
    "S7",
    "scales",
    "tibble",
    "tidyselect",
    "tzdb",
    "utf8",
    "vctrs",
    "viridisLite",
    "vroom",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "examples.Rmd",
      "filename": "examples.html",
      "title": "CARWatch examples",
      "engine": "knitr::rmarkdown",
      "headings": [
        "End-to-end walkthroughs",
        "Focused research workflows",
        "Protocol variants and example data"
      ],
      "created": "2026-09-17 11:50:08",
      "modified": "2026-09-17 11:50:08",
      "commits": 1
    },
    {
      "source": "tutorials.Rmd",
      "filename": "tutorials.html",
      "title": "CARWatch tutorials",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Before you start",
        "Choose a tutorial",
        "Use your own study data",
        "Interactive tutorials"
      ],
      "created": "2026-09-17 11:50:08",
      "modified": "2026-09-17 11:50:08",
      "commits": 1
    },
    {
      "source": "development.Rmd",
      "filename": "development.html",
      "title": "Developing carwatch",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Local package checks",
        "Validate all R Markdown examples",
        "Regenerate README figures",
        "Cross-implementation checks",
        "Continuous integration",
        "Release workflow",
        "Command-line CRAN submission"
      ],
      "created": "2026-09-17 11:50:08",
      "modified": "2026-09-17 11:50:08",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started with CARWatch",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Import the raw logs",
        "Convert in two passes",
        "Save and restore Study Results",
        "Continue with laboratory data"
      ],
      "created": "2026-09-17 11:50:08",
      "modified": "2026-09-17 11:50:08",
      "commits": 1
    },
    {
      "source": "saliva-analysis.Rmd",
      "filename": "saliva-analysis.html",
      "title": "Saliva analysis with CARWatch",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Merge laboratory values",
        "Calculate response features",
        "Inspect timing and measurements"
      ],
      "created": "2026-09-17 11:50:08",
      "modified": "2026-09-17 11:50:08",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": false,
  "_nocasepkg": "carwatch",
  "_universes": [
    "cran",
    "richrobe",
    "carwatch-tools"
  ],
  "_indexurl": "https://carwatch-tools.r-universe.dev/carwatch",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-09-17T13:49:48.000Z",
      "distro": "resolute",
      "commit": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
      "fileid": "https://r2.ropensci.org/1318171a18d0c29421fd112612ca312d3c99600169fa8d3a55ba13ab8cf9efd3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228827080"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-09-17T13:49:13.000Z",
      "distro": "resolute",
      "commit": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
      "fileid": "https://r2.ropensci.org/80336efa5375bd3cfdf64312a646b3572ba7ca3ee8033affefb5226635e62e2a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228827080"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.1",
      "date": "2026-09-17T13:49:12.000Z",
      "commit": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
      "fileid": "https://r2.ropensci.org/deacbcde0a6f60f5cad21889c8361613436dae77df5e1534a7ece19253a3d796",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228827080"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-09-17T13:47:59.000Z",
      "commit": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
      "fileid": "https://r2.ropensci.org/483bd653bafe411db93f86f5a6b9a8cf81a073872c15eba31b19552a3453f48f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228827080"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-09-17T13:48:22.000Z",
      "commit": "25bfd0aa37a48b59cff876ca9fee3c386a02b7c6",
      "fileid": "https://r2.ropensci.org/bd7a2bc62b59d831fae08faaddd16ff387285b9d66f985d94d4973d48a7967f4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228827080"
    }
  ]
}