Since this app is exclusively being used for EXPECT’s AEP copper data extraction right now, I’m writing these instructions for myself, Pierre, Camden, Li, Knut Erik, and anyone else I’ve roped in to help with data extraction.

Some tips:
  1. Paper list here. Columns should be self-explanatory.
  2. Save extractions (ongoing and completed) on Google Drive so others can take over if needed.
  3. Use Download All frequently. The app is stable, but this prevents lost work.
  4. Check for Supplementary Information/Supporting Information (ESI) first. If it contains raw data tables, merge it with the main PDF before uploading.
  5. Use two screens - one for the app, one for the paper. Some UI elements need wider screens.
  6. You can work in Excel if easier, but use the controlled vocabulary.
  7. Since the migration to NIVA’s cloud server, entered data has started being retained between sessions. This can be useful, but hit Ctrl + Shift + R before starting a new extraction to clear existing data.

If something breaks, email saw@niva.no or log an issue here with screenshots and your extraction file.

Instructions and tooltips ( , mouse over for more information) are available on each page. For an FAQ and more details instructions, go to the Info tab ( ).
Quick Start Buttons
Convenience
  • Download extracted/entered data as a .zip of CSVs, then reupload via the landing page to continue later.
  • The app should now crash less often, and return at least vaguely informative error notifications when something does go wrong.
  • Added a manual field for setting extraction token limit (i.e. maximum document size). Not tested a great deal, but for one paper (15 pages) I had to bump the limit up to 10,000 to get data out.
Sites
  • When adding sites from the map you can now choose what precision to report coordinates at.
  • Replaced COUNTRY with COUNTRY_ISO and AREA with OCEAN_IHO
Compartments
  • Added Aquatic Sediment, Sludge, and Porewater as subcompartments of Aquatic
Samples
  • Sample REPLICATE has been changed to SUBSAMPLE and now takes text values. This allows splitting samples into e.g. different sediment core depths, different combinations of tissues and organisms, etc.
Measurements
  • w/w dry weight and wet weight units (both conventional SI and ppm/ppb/etc.) can now be selected as options.
  • MEASURED_SD has been replaced with UNCERTAINTY_TYPE, UNCERTAINTY_UPPER, UNCERTAINTY_LOWER and MEASURED_N, which allow more precise reporting of uncertainty.
  • EXPERIMENTAL: As part of the extraction process the LLM now scores the paper and its job extracting data from it. I don’t know how effective this is, but I’d be interested to hear all your experiences with it.
CREED
  • CREED assessment is now possible in the Quality module. Currently it uses a set of Relevance criteria specific to Copper concentrations in Arctic and Near-Arctic compartments (EXPECT Project), but in the future this will be tweakable.
  • The final assessment results are displayed as a table and can be downloaded using the regular button.

  • This module uses the Claude Sonnet 4 Large Language Model (last updated 14th May 2025) to automatically extract environmental exposure data from uploaded PDFs. Upload a research paper or report, provide your Anthropic API key (note that this requires an Anthropic developer account, which is not the same as a subscription to Claude), and the system will attempt to populate all form fields automatically.
  • LLMs can and do make mistakes, including hallucinating information that is not present in the source document, so please carefully review and correct the extracted data in subsequent modules before validation.
  • If you don’t have an API key to hand, click “Load Dummy Data” for example data.
  • LLM extractions are stochastic, not deterministic. It is not guaranteed you will get the same output each time you extract data from the same source.
  • Note that LLM data extraction will overwrite existing manually entered data.

                        
This is an experiment in getting the LLM to report on its own opinion of the extraction. I don't yet know how good its assessment is, but I'm interested to hear your feedback.
  • Enter basic campaign metadata for environmental sampling data. Required fields are marked in red.

                    
  • Enter bibliographic information on your dataset.
  • Required fields change with reference type.
  • Use the DOI lookup or BibTeX import features to auto-populate fields when available.

                    
  • Enter sampling site information. Use COUNTRY_ISO for terrestrial sites and OCEAN_IHO for marine sites. If ambiguous, use both.
  • Add blank sites by clicking ‘Add Site(s)’ below, or selecting a point on the map (right) and clicking ‘Add’. Use an appropriate level of precision based on the source data - 3 d.p. (within 111 m) or 4 d.p. (within 11 m) may be most appropriate.
  • Edit fields directly in the table. Use the map to verify coordinates are correct.
  • Sites added via the table will appear on the map, and the inverse.
  • Delete uneeded rows with the right-click menu, and use the blue handle in the bottom right of a selected cell to copy its contents to another cell (just like Excel!)
  • Click the Expand icon in the bottom-right of the map and table panels to view them in full screen
  • When searching for locations by name, it can be easier to look them up in Google Maps. If you right-click a location there you can copy its coordinates to the clipboard. Do note that Google normally returns coordinates to 14 d.p., which is a completely unrealistic level of precision.

                        
  • This module manages measured parameters (stressors, quality parameters, etc.). Select parameter type, subtype and name from dropdowns, then add to table. You can add existing parameters (with pre-filled chemical IDs) or create new ones.
  • Edit fields directly in the table. Stressor subtypes are derived from the ClassyFire taxonomy.
  • Search for parameters by name by selecting the ‘Parameter Name’ field, hitting Backspace to delete the current entry, then typing the name of your parameter.
  • LLM extraction tends to include any parameters in the paper, even if you specifically ask it not to. Please remove any irrelevant parameters from the table before continuing.

                      

                    
  • Enter environmental compartment combinations that will be sampled. Select an environmental compartment (e.g., Aquatic), then choose the appropriate sub-compartment (e.g., Freshwater) and measurement category (e.g. inside an organism, on the surface of an organism, or in the external environment).
  • Each combination represents a different sampling context used in the study or dataset. If there really isn’t a good option for your reported compartment, mark it as “Other” and let me know.
  • For biota, use the compartment they reproduce in. This is potentially a little ambiguous, but I interpret it as follows:
    • Aquatic: Fish, cetaceans, marine amphibians, etc.
    • Terrestrial: All land animals, birds (inc. penguins and seabirds), pinnipeds, etc.
    • Atmospheric: Maybe some bacteria? You are unlikely to need this category.
    • Other: Included just in case I have missed something obvious.
  • This is probably one of the most conceptually confusing parts of the workflow, so please let me know if you have any clever ideas to tweak it!

                    
  • Sampling, fractionation, extraction, and analytical protocols can affect ultimate measured concentrations by order of magnitude.
  • Please report the relevant protocol types/classes here. In the Measurements module, you will be able to match specific protocols to samples.
  • What’s the exact difference between extraction and fractionation? It’s not entirely clear to me, and different papers use different language. Methods may also report a series of techniques that don’t fit well into a single protocol option. I am open to suggestions and constructive criticism here.
  • LLM extraction is particularly bad at matching protocols to categories. Please exercise caution when validating results.

                    
  • Create sample combinations by selecting sites, parameters, compartments, and sampling dates.
  • Each combination represents a specific sample that will be collected. Select multiple values from each category to generate all possible combinations.
  • In cases where samples need to be further split, use the SUBSAMPLE field to split samples. For example 5cm, 10cm, 15cm ; trout liver, trout kidney, salmon liver, salmon kidney; etc.

                    
  • Enter detailed biological information for samples from living organisms.
  • All biota samples require species identification, tissue type, life stage, and gender information to be considered valid.
  • In cases where biodiversity indices are reported, use the Species Group “Ecosystem”.
  • Species not in the database can be added manually in the table, but please check if they are synonyms beforehand.
  • I’ve kept tissue types and life stage options intentionally short to avoid impractically large dropdowns. Mark as Other and add a comment if needed.
  • Additional comments judged relevant to biota can also be added.
Study Species Selection

First select a species group, then choose specific species for your study. Selected species will be available in the sample table below.

Species sampled in dataset

                      

                      

                    
  • This module consolidates all setup data and presents sample-parameter combinations for measurement data entry.
  • Entered data can be downloaded at any time, even if not fully complete or valid. Click “Save Table Data” to make it available for download.
  • Enter measured concentrations, detection limits, and associated metadata for each combination. Where levels below detection or quantification (LOD, LOQ) limits are reported, use the MEASURED_FLAG dropdowns and dedicated LOD/LOQ columns.
  • Numbers default to displaying 4 d.p., but full precision is retained (e.g. a lot more than 4 d.p.)
  • Columns can be sorted by clicking the column name (numeric, chronological, alphabetical order).
  • Due to issues with data entry, I’ve disabled some visual validation feedback temporarily.
  • If summarised data are reported (averages, SDs, ranges, etc.), report these using the new UNCERTAINTY_UPPER/_LOWER and MEASURED_N columns. Where MEASURED_N = 1 or otherwise too low for summary statistics, report UNCERTAINTY_TYPE as “Not Relevant”.
Measurement Data Entry

Complete measurement data for all sample-parameter combinations below. All fields marked as required must be filled.


                    
Some data populated from LLM extraction - please review for accuracy
  • Explore measured values across different parameters, sites, compartments, and sampling dates (early prototype).
  • Use the controls below to customize the visualisations and identify any data patterns or potential issues before export.
Visualization Controls
Measurement Data Overview
Data Summary
Data Completeness & Quality Indicators

                      

This module provides a Criteria for Reporting and Evaluating Exposure Datasets (CREED) assessment (version 1), based on Di Paolo et al., 2024. The Dataset Details section summarises key characteristics of your dataset that are relevant for quality evaluation. Fields are auto-populated where possible from your imported data. This module is currently designed for exposure assessment of copper, and the data summarised may not be relevant for other pollutants (especially non-metals).

The CREED assessment process assumes that exposure data are being assessed in the context of a broader chemical/ecological assessment, and thus not all criteria will necessarily be relevant to you the user’s needs. In this case, you are encouraged to record this in the relevant fields.

CREED assigns a dataset Gold status if all Recommended criteria (11 reliability, 4 relevance) are met, or Silver status if all Required criteria (7 reliability, 7 relevance are met). Once you complete this module, you will be able to mark your dataset as Gold or Silver if it meets appropriate criteria.

Required criteria ( ) are needed for Silver level scoring. Recommended criteria ( ) are additional requirements for Gold level scoring.

Auto-population: Fields marked with this icon are auto-populated from data entered in earlier modules. This data can be overwritten as needed, but note that if you populate fields from data again, your changes will not be saved.

1. Purpose Statement
  • The CREED grading process begins with laying out the purpose of your overall chemical/ecological impact or risk assessment, which shapes the criteria used.
  • As it is usual to include multiple datasets in such an assessment, we recommend reusing a single Purpose Statement per assessment.

Describe the objective for which the usability of the dataset is assessed, including any required dataset thresholds. CREED Relevance Questions (RV01 - RV11) are based on the study purpose. Reliability Questions (RB01 - RB19) are common across all studies.


You can usually import/export purpose statements here, but since we're just doing a copper AEP for now I've hard-coded it.

Enter thresholds for 'Partly Met' (minimum requirements) and 'Fully Met' (optimal requirements). Leave fields blank if no specific threshold is needed.

RV1: Was the sampling medium/matrix appropriate for the given purpose?
RV2: Was the sample collection method adequate for the given purpose?
RV3: Were the study area and number of locations sampled suitable for the given purpose?
RV4: Was the rationale for selection of sampling locations provided and is it suitable for the given purpose?
RV5: Were the samples collected over a time scale that was appropriate for the given purpose?
RV6: Over the timespan, was the sampling frequency appropriate for the given purpose?
RV7: Were conditions during sampling events documented and relevant for the given purpose?
RV8: Was/were the analyte(s) reported appropriate for the given purpose?
RV9: The method was sensitive enough for the given purpose
RV10: The summary statistics provided were appropriate for the given purpose
RV11: All supporting parameters that were needed to achieve the given purpose were provided
2. Dataset Details - Key Attributes
  • This section provides a summary of basic details for the dataset.
  • Review the auto-populated fields below and add any missing information.

3. Gateway Criteria
  • CREED's gateway criteria are designed to allow for the easy rejection of a study without requiring methodical examination.

  • Most studies processed using this tool can be expected to pass these criteria without issue.

  • Nevertheless they are included for the sake of completeness.

  • Each criterion is auto-evaluated based on your entered data, but can be manually overridden.

1. Does the study specify which medium/matrix is sampled?
Relevant data:
2. Does the study specify which unique analyte is measured?
Relevant data:
3. Does the study specify where samples were collected?
At a minimum, there is enough information for the given purpose (e.g., country).
Relevant data:
4. Does the study indicate when samples were collected?
At a minimum, there is enough information for the given purpose (e.g., sampling year).
Relevant data:
5. Does the study specify units of measurement?
Relevant data:
6. Does the study cite the source of data and/or is a suitable bibliographic reference available for the study?
Relevant data:
4. Reliability Criteria

Assess how reliable the dataset is for answering your assessment questions.

RB1: Sample Medium/Matrix (Required)

Criterion: Was the sampling medium/matrix reported in detail (for water: dissolved fraction or whole water; for sediment: sieved or whole; for soil, grain size; for biota, species, age, sex, tissue type), and was the matrix appropriate for the analyte of interest?

RB2: Collection Method/Sample Type (Recommended)

Criterion: Was the sample collection method reported? Examples include grab, depth- and width-integrated, discrete, composite, or time-integrated samples, or continuous monitoring.

RB3: Sample Handling (Recommended)

Criterion: Was information reported on sample handling (transport conditions, preservation, filtration, storage)? Was the type of container suitable for use with the analyte of interest (i.e., no loss or contamination)?

RB4: Site Location (Required)

Criterion: Were the site locations reported?

RB5: Date and Time (Required)

Criterion: Were the date and time of sample collection reported?

RB6: Analyte(s) Measured (Required)

Criterion: Was/were the analyte(s) of interest suitably and definitively identified?

RB7: Limit of Detection and/or Limit of Quantification (Required)

Criterion: Were limits of detection and/or quantification provided?

RB8: Accreditation/Quality Management System (Required - Shortcut Criterion)

Criterion: Were the laboratory and method accredited for all or almost all samples? Several national and international accreditation bodies are available (e.g., ISO, UKAS); was that laboratory and/or method certified to these standards? Was a quality system (such as, e.g., ISO 17025) adopted?

Shortcut Criterion: If you answer 'Fully Met' to this question, you may skip questions RB9-RB12. If not, please complete those questions.

RB9: Method (Required)

Criterion: Was the method sufficiently described or referenced, such that it can be reproduced if necessary? Was method validation included?

RB10: Lab Blank Contamination (Recommended)

Criterion: Was method blank contamination assessed with laboratory blanks?

RB11: Recovery/Accuracy (Recommended)

Criterion: Were method recovery/accuracy and/or uncertainty assessed by recovery of standard reference material (SRM) and/or were lab spike samples assessed?

RB12: Reproducibility/Precision (Recommended)

Criterion: Were method reproducibility and/or uncertainty assessed with lab replicates and long-term control recoveries?

RB13: Field QC (Recommended)

Criterion: Were quality control (QC) samples collected during field sampling (such as field blanks, spikes, replicates) to demonstrate the method performance for a given field study?

RB14: Calculations (if dataset contains calculated values) (Recommended)

Criterion: If chemical concentrations were normalised or adjusted (e.g., to represent bioavailability or toxicity), then were the calculations explained and were they appropriate?

RB15: Significant Figures (if dataset contains calculated values) (Recommended)

Criterion: During calculations, were data reported to the appropriate number of significant figures or decimal places?

RB16: Outliers (if dataset mentions outliers) (Recommended)

Criterion: For any outliers deleted from the data set, was evidence provided that these outliers were due to an error in measurement or contamination?

RB17: Censored Data (if dataset contains censored values) (Required)

Criterion: Were censored data reported correctly (e.g., as a numerical value plus a less-than sign or another indicator of a nondetect)? If a substitution method was used for nondetects (e.g., censored data were replaced by zero, or by 1/2 or another fraction of the LOD/LOQ), then can the original censored data be restored by back-calculation using the reported LOD/LOQ?

RB18: Summary Statistics Procedures (if dataset contains summary statistics) (Recommended)

Criterion: Were summary statistics calculated appropriately? If the dataset contained censored data, then were censored data included and were appropriate procedures used to determine summary statistics?

RB19: Supporting Data Quality (if supporting parameters are required for the purpose) (Recommended)

Criterion: If any supporting parameters are required for the assessment purpose, then were the supporting parameter data provided, and were their methods and data quality addressed?

5. Relevance Criteria

Assess how relevant the dataset is to the purpose as described in your Purpose Statement.

RV1: Was the sampling medium/matrix appropriate? (Required)

Criterion: Was the sampling medium/matrix appropriate for the given purpose?

RV2: Collection Method/Sample Type (Recommended)

Criterion: Was the sample collection method adequate for the given purpose?

RV3: Study Area (Required)

Criterion: Were the study area and number of locations sampled suitable for the given purpose?

RV4: Site Type (Recommended)

Criterion: Was the rationale for selection of sampling locations provided and was it suitable for the given purpose?

RV5: Sampling Timespan (Required)

Criterion: Were the samples collected over a time scale that was appropriate for the given purpose?

RV6: Sampling Frequency (Required)

Criterion: Over the timespan, was the sampling frequency appropriate for the given purpose?

RV7: Temporal Conditions (Recommended)

Criterion: Were conditions during sampling events documented and relevant for the given purpose?

RV8: Analyte (Required)

Criterion: Was/were the reported analyte(s) appropriate for the given purpose?

RV9: Sensitivity/LOD/LOQ (Required)

Criterion: The method was sensitive enough for the given purpose

RV10: Summary Statistics Type (Recommended)

Criterion: The summary statistics provided were appropriate for the given purpose

RV11: Supporting Parameters (Required)

Criterion: All supporting parameters that were needed to achieve the given purpose were provided

FAQ

Something’s gone wrong with the extraction!

Extraction reporting currently isn’t very good. Check your internet connection, whether your PDF is corrupted, and if the Claude service is up. If the Raw Data Extraction is showing a lot of NULL and NA values, this may mean that the paper is too big for the extraction token limit (how much information the LLM can take on at one time). Let me know if that’s the case.

I can’t find the unit/organism/compartment/etc. I need!

Use the most appropriate available option for now, and let me know.

Why can we extract sites, parameter, campaign, etc. data but not actual measurements?

This is something I’m working on, but it’s harder than simple data like the above.

A module is showing that my data isn’t validated, but I think it is.

Send me a screenshot + a copy of your files.

The screen has gone grey/the app has crashed.

My mistake! But I’m very interested in hearing how this happened and what you were doing when it did. Please let me know ASAP.

Methods or protocols?

I’m not really sure. It seems there are methods, protocols and techniques. LibreTexts Chemistry says:

A technique is any chemical or physical principle that we can use to study an analyte A method is the application of a technique for a specific analyte in a specific matrix. A procedure is a set of written directions that tell us how to apply a method to a particular sample. Finally, a protocol is a set of stringent guidelines that specify a procedure that an analyst must follow if an agency is to accept the results.

So I am certainly using the term “protocol” wrong here. But I haven’t reworked this section yet because, frankly, I don’t know who will be using the app. But I’m open to input.

The following packages, software, and data resources were used in this application:

US EPA ECOTOX Knowledgebase

Olker, J. H., Elonen, C. M., Pilli, A., Anderson, A., Kinziger, B., Erickson, S., Skopinski, M., Pomplun, A., LaLone, C. A., Russom, C. L., & Hoff, D. (2022). The ECOTOXicology Knowledgebase: A Curated Database of Ecologically Relevant Toxicity Tests to Support Environmental Research and Risk Assessment. Environmental Toxicology and Chemistry, 41(6):1520-1539. https://doi.org/10.1002/etc.5324

Curated toxicity data (species, chemicals) were retrieved from the ECOTOXicology Knowledgebase, U.S. Environmental Protection Agency. http:/www.epa.gov/ecotox/ (2025.06.12).

ClassyFire Chemical Taxonomy

Djoumbou Feunang Y, Eisner R, Knox C, Chepelev L, Hastings J, Owen G, Fahy E, Steinbeck C, Subramanian S, Bolton E, Greiner R, and Wishart DS. ClassyFire: Automated Chemical Classification With A Comprehensive, Computable Taxonomy. Journal of Cheminformatics, 2016, 8:61. DOI: 10.1186/s13321-016-0174-y

Criteria for Reporting and Evaluating Exposure Datasets (CREED)

Carolina Di Paolo, Irene Bramke, Jenny Stauber, Caroline Whalley, Ryan Otter, Yves Verhaegen, Lisa H. Nowell, Adam C. Ryan, Implementation of the CREED approach for environmental assessments, Integrated Environmental Assessment and Management, Volume 20, Issue 4, 1 July 2024, Pages 1019–1034, https://doi.org/10.1002/ieam.4909

IHO Sea Areas

Flanders Marine Institute (2018). IHO Sea Areas, version 3. Available online at https://www.marineregions.org/. https://doi.org/10.14284/323.

ISO Countries

ISO 3166: Country Codes (https://www.iso.org/iso-3166-country-codes.html) Imported via the R Package ISOcodes (https://cran.r-project.org/web/packages/ISOcodes/index.html)

Sounds

Beep: https://pixabay.com/sound-effects/beep-329314/, u_edtmwfwu7c

R packages used

Allaire, JJ. 2023. config: Manage Environment Specific Configuration Values. https://doi.org/10.32614/CRAN.package.config.

Atkins, Aron, Toph Allen, Hadley Wickham, Jonathan McPherson, and JJ Allaire. 2025. rsconnect: Deploy Docs, Apps, and APIs to “Posit Connect,” “shinyapps.io,” and “RPubs”. https://doi.org/10.32614/CRAN.package.rsconnect.

Attali, Dean. 2021. shinyjs: Easily Improve the User Experience of Your Shiny Apps in Seconds. https://doi.org/10.32614/CRAN.package.shinyjs.

Barbone, Jordan Mark, and Jan Marvin Garbuszus. 2025. Openxlsx2: Read, Write and Edit “xlsx” Files. https://janmarvin.github.io/openxlsx2/.

Buchta, Christian, and Kurt Hornik. 2025. ISOcodes: Selected ISO Codes. https://doi.org/10.32614/CRAN.package.ISOcodes.

Chamberlain, Scott, Hao Zhu, Najko Jahn, Carl Boettiger, and Karthik Ram. 2025. rcrossref: Client for Various “CrossRef” “APIs”. https://doi.org/10.32614/CRAN.package.rcrossref.

Chang, Winston, Joe Cheng, JJ Allaire, Carson Sievert, Barret Schloerke, Yihui Xie, Jeff Allen, Jonathan McPherson, Alan Dipert, and Barbara Borges. 2025. shiny: Web Application Framework for r. https://doi.org/10.32614/CRAN.package.shiny.

Cheng, Joe, Winston Chang, Steve Reid, James Brown, Bob Trower, and Alexander Peslyak. 2025. httpuv: HTTP and WebSocket Server Library. https://doi.org/10.32614/CRAN.package.httpuv.

Cheng, Joe, Barret Schloerke, Bhaskar Karambelkar, and Yihui Xie. 2024. leaflet: Create Interactive Web Maps with the JavaScript “Leaflet” Library. https://doi.org/10.32614/CRAN.package.leaflet.

Cheng, Joe, Carson Sievert, Barret Schloerke, Winston Chang, Yihui Xie, and Jeff Allen. 2024. htmltools: Tools for HTML. https://doi.org/10.32614/CRAN.package.htmltools.

Csárdi, Gábor, Kirill Müller, and Jim Hester. 2023. desc: Manipulate DESCRIPTION Files. https://doi.org/10.32614/CRAN.package.desc.

Eddelbuettel, Dirk. 2024. digest: Create Compact Hash Digests of r Objects. https://doi.org/10.32614/CRAN.package.digest.

Fay, Colin. 2020. attempt: Tools for Defensive Programming. https://doi.org/10.32614/CRAN.package.attempt.

Fay, Colin, Vincent Guyader, Sébastien Rochette, and Cervan Girard. 2024. golem: A Framework for Robust Shiny Applications. https://doi.org/10.32614/CRAN.package.golem.

Gagolewski, Marek. 2022. “stringi: Fast and Portable Character String Processing in R.” Journal of Statistical Software 103 (2): 1–59. https://doi.org/10.18637/jss.v103.i02.

Garbett, Shawn P, Jeremy Stephens, Kirill Simonov, Yihui Xie, Zhuoer Dong, Hadley Wickham, Jeffrey Horner, et al. 2024. yaml: Methods to Convert r Data to YAML and Back. https://doi.org/10.32614/CRAN.package.yaml.

Guyader, Vincent, Sébastien Rochette, Murielle Delmotte, and Swann Floc’hlay. 2025. attachment: Deal with Dependencies. https://doi.org/10.32614/CRAN.package.attachment.

Hester, Jim, and Jennifer Bryan. 2024. glue: Interpreted String Literals. https://doi.org/10.32614/CRAN.package.glue.

Hester, Jim, Lionel Henry, Kirill Müller, Kevin Ushey, Hadley Wickham, and Winston Chang. 2024. withr: Run Code “With” Temporarily Modified Global State. https://doi.org/10.32614/CRAN.package.withr.

Müller, Kirill. 2020. here: A Simpler Way to Find Your Files. https://doi.org/10.32614/CRAN.package.here.

Ottolinger, Philipp. 2024. Bib2df: Parse a BibTeX File to a Data Frame. https://doi.org/10.32614/CRAN.package.bib2df.

Owen, Jonathan. 2021. rhandsontable: Interface to the “Handsontable.js” Library. https://doi.org/10.32614/CRAN.package.rhandsontable.

Perrier, Victor, Fanny Meyer, and David Granjon. 2025. shinyWidgets: Custom Inputs Widgets for Shiny. https://doi.org/10.32614/CRAN.package.shinyWidgets.

R Core Team. 2025a. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

———. 2025b. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

Richardson, Neal, Ian Cook, Nic Crane, Dewey Dunnington, Romain François, Jonathan Keane, Dragoș Moldovan-Grünfeld, Jeroen Ooms, Jacob Wujciak-Jens, and Apache Arrow. 2025. arrow: Integration to “Apache” “Arrow”. https://doi.org/10.32614/CRAN.package.arrow.

Rodriguez-Sanchez, Francisco, and Connor P. Jackson. 2024. grateful: Facilitate Citation of R Packages. https://pakillo.github.io/grateful/.

Schloerke, Barret. 2025. Shinytest2: Testing for Shiny Applications. https://doi.org/10.32614/CRAN.package.shinytest2.

Sievert, Carson. 2020. Interactive Web-Based Data Visualization with r, Plotly, and Shiny. Chapman; Hall/CRC. https://plotly-r.com.

———. 2023. bsicons: Easily Work with “Bootstrap” Icons. https://doi.org/10.32614/CRAN.package.bsicons.

Sievert, Carson, Joe Cheng, and Garrick Aden-Buie. 2025. bslib: Custom “Bootstrap” “Sass” Themes for “shiny” and “rmarkdown”. https://doi.org/10.32614/CRAN.package.bslib.

Sievert, Carson, Richard Iannone, and Joe Cheng. 2023. shinyvalidate: Input Validation for Shiny Apps. https://doi.org/10.32614/CRAN.package.shinyvalidate.

Wickham, Hadley. 2011. “testthat: Get Started with Testing.” The R Journal 3: 5–10. https://journal.r-project.org/archive/2011-1/RJournal_2011-1_Wickham.pdf.

Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. “Welcome to the tidyverse.” Journal of Open Source Software 4 (43): 1686. https://doi.org/10.21105/joss.01686.

Wickham, Hadley, Jennifer Bryan, Malcolm Barrett, and Andy Teucher. 2024. usethis: Automate Package and Project Setup. https://doi.org/10.32614/CRAN.package.usethis.

Wickham, Hadley, Winston Chang, Jim Hester, and Lionel Henry. 2024. pkgload: Simulate Package Installation and Attach. https://doi.org/10.32614/CRAN.package.pkgload.

Wickham, Hadley, Joe Cheng, Aaron Jacobs, Garrick Aden-Buie, and Barret Schloerke. 2025. ellmer: Chat with Large Language Models. https://doi.org/10.32614/CRAN.package.ellmer.

Wickham, Hadley, Jim Hester, Winston Chang, and Jennifer Bryan. 2022. devtools: Tools to Make Developing r Packages Easier. https://doi.org/10.32614/CRAN.package.devtools.

Xie, Yihui, JJ Allaire, and Jeffrey Horner. 2025. markdown: Render Markdown with “commonmark”. https://doi.org/10.32614/CRAN.package.markdown.

Xie, Yihui, Joe Cheng, and Xianying Tan. 2024. DT: A Wrapper of the JavaScript Library “DataTables”. https://doi.org/10.32614/CRAN.package.DT.

STOP eData is developed by Sam Welch with assistance from Viviane Giradin and Knut Erik Tollefsen. Work on this tool has been funded by PARC, EXPECT, and NCTP. This app is currently in development and no responsibility is accepted for crashes or data loss. App Version: 0.0.0.9006.