-
-
Notifications
You must be signed in to change notification settings - Fork 106
Description
Submitting Author Name: Simon Parker
Submitting Author Github Handle: @simpar1471
Repository: https://www.github.com/simpar1471/openFDA
Version submitted: 0.1.0.9000
Submission type: Standard
Editor: @maelle
Reviewers: @tanho63, @nrennie
Archive: TBD
Version accepted: TBD
Language: en
- Paste the full DESCRIPTION file inside a code block below:
Package: openFDA
Title: 'openFDA' API
Version: 0.1.0.9000
Authors@R:
person("Simon", "Parker", , "[email protected]",
role = c("aut", "cre", "cph"),
comment = c(ORCID = "0009-0003-8214-4496"))
Description: The 'openFDA' API facilitates access to U.S. Food and Drug
Administration (FDA) data on drugs, devices, foodstuffs, tobacco, and more.
This package makes the API easily accessible with 'httr2', returning
objects which the user can convert to JSON data and parse. Kass-Hout TA, Xu
Z, Mohebbi M et al. (2016) <doi:10.1093/jamia/ocv153>.
License: GPL (>= 3)
URL: https://github.com/simpar1471/openFDA,
https://simpar1471.github.io/openFDA/
BugReports: https://github.com/simpar1471/openFDA/issues
Depends:
R (>= 4.1.0)
Imports:
cli,
httr2,
checkmate,
purrr,
rlang,
vctrs
Config/Needs/website: rmarkdown
Suggests:
knitr,
rmarkdown,
testthat (>= 3.0.0),
stringr
Config/testthat/edition: 3
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.2
VignetteBuilder: knitr
Scope
-
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
- data retrieval
- data extraction
- data munging
- data deposition
- data validation and testing
- workflow automation
- version control
- citation management and bibliometrics
- scientific software wrappers
- field and lab reproducibility tools
- database software bindings
- geospatial data
-
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
openFDA
retrieves data from the elastic-search based openFDA API, using httr2
. The package can be used to query the API on different fields, and successful queries return httr2
response objects with JSON data that R users can manipulate further.
- Who is the target audience and what are scientific applications of this package?
The package is intended for anyone wanting to use the openFDA API through R. These include researchers focused on pharmacovigilance (e.g. with the device adverse event endpoints) or veterinary researchers (e.g. with the animal product adverse event endpoints) - really, any user interested in accessing FDA data.
- Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
There are other packages. These include the rOpenHealth/openfda package, in which queries are built up in an httr2
-like manner. It automatically converts the response data to data frames, but this package returns the underlying httr2
response object, which users can then choose how to parse themselves. Their package does not have a CI suite, nor a documentation website. There is also ck2136/FDAopenR, which has a test suite with 100% coverage and a now-defunct link to Travis CI. It takes an object-oriented approach which I haven't quite wrapped my head around from looking at the README.
Personally, I prefer 'one function, more parameters' approach in my package - but to each their own. I also believe that this package has a wider and more useful array of error handlers, which point the user to commonly encountered problems with the openFDA API itself. This package is also cleared by the relatively more stringent pkgcheck()
checks.
This package is also already on CRAN. I know the guide for authors specifies you'd rather not have it this way round, but I didn't intend to submit the package for review when I first made it.
- (If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
Not applicable
- If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or
@tag
the editor you contacted.
Not applicable
- Explain reasons for any
pkgcheck
items which your package is unable to pass.
Everything passes on CI. My functions get_api_key()
and set_api_key()
are not unique to this package, but I think the names are appropriate to the actions these functions perform.
Technical checks
Confirm each of the following by checking the box.
- I have read the rOpenSci packaging guide.
- I have read the author guide and I expect to maintain this package for at least 2 years or to find a replacement.
This package:
- does not violate the Terms of Service of any service it interacts with.
- has a CRAN and OSI accepted license.
- contains a README with instructions for installing the development version.
- includes documentation with examples for all functions, created with roxygen2.
- contains a vignette with examples of its essential functions and uses.
- has a test suite.
- has continuous integration, including reporting of test coverage.
Publication options
-
Do you intend for this package to go on CRAN?
-
Do you intend for this package to go on Bioconductor?
-
Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
MEE Options
- The package is novel and will be of interest to the broad readership of the journal.
- The manuscript describing the package is no longer than 3000 words.
- You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
- (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
- (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
- (Please do not submit your package separately to Methods in Ecology and Evolution)
Code of conduct
- I agree to abide by rOpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.