From 8781656f3d8636654d4d48ad08974f601b81c1d9 Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Sun, 22 Sep 2019 15:39:21 -0500 Subject: [PATCH 1/3] Updating URLs ref #253 --- NEWS.md | 3 ++- README.md | 4 ++-- utility/refresh.R | 2 +- vignettes/TroubleshootingApiCalls.Rmd | 19 +++++++++++++++++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/NEWS.md b/NEWS.md index 93480fd1..fc0296f6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,7 +5,7 @@ In the future: * `redcap_read()` and `redcap_read_oneshot()` allows caller to specify data types for columns. -Version 0.10 (to be released) +Version 0.10 (Released 2019-09-22) ========================================================== ### Minor New Features @@ -39,6 +39,7 @@ Version 0.10 (to be released) * the checkmate package inspects most function parameters now (instead of `testit::assert()` and `base:stop()` ) (#190 & #208). * `collapse_vector()` is refactored and tested (#209) * remove dependency on `pkgload` package (#218) +* Update Markdown syntax to new formatting problems (#253) ### Deprecated Features * `retrieve_token_mssql()`, because `retrieve_credential_mssql()` is more general and more useful. diff --git a/README.md b/README.md index bbe85384..ab1dccfb 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [REDCapR](https://github.com/OuhscBbmc/REDCapR) ======= -We’ve been using R with [REDCap](https://projectredcap.org/)’s API since 2012 and have developed [`REDCapR`](https://github.com/OuhscBbmc/REDCapR). Before encapsulating these functions in a package, we were replicating 50+ lines of code to contact REDCap and robustly transform the returned [csv](https://en.wikipedia.org/wiki/Comma-separated_values) into an R [`data.frame`](https://stat.ethz.ch/R-manual/R-devel/library/base/html/data.frame.html); it took twice that much to implement batching. All this can be done in one call to [`redcap_read()`](https://ouhscbbmc.github.io/REDCapR/reference/redcap_read.html): +We’ve been using R with [REDCap](https://projectredcap.org/)’s API since 2012 and have developed [`REDCapR`](https://github.com/OuhscBbmc/REDCapR). Before encapsulating these functions in a package, we were replicating 50+ lines of code to contact REDCap and robustly transform the returned [csv](https://en.wikipedia.org/wiki/Comma-separated_values) into an R `data.frame`; it took twice that much to implement batching. All this can be done in one call to [`redcap_read()`](https://ouhscbbmc.github.io/REDCapR/reference/redcap_read.html): ```r ds <- redcap_read(redcap_uri=uri, token=token)$data @@ -52,7 +52,7 @@ Also checkout the other packages that exist for communicating with REDCap, which ### Collaborative Development -We encourage input and collaboration. If you're familiar with GitHub and R packages, feel free to submit a [pull request](https://github.com/OuhscBbmc/REDCapR/pulls). If you'd like to report a bug or make a suggestion, please create a GitHub [issue](https://github.com/OuhscBbmc/REDCapR/issues); issues are a usually a good place to ask public questions too. However, feel free to email Will (). Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md); by participating in this project you agree to abide by its terms. We have some starting material described in the [`./documentation-for-developers/`](https://github.com/OuhscBbmc/REDCapR/tree/master/documentation-for-developers) directory. +We encourage input and collaboration. If you're familiar with GitHub and R packages, feel free to submit a [pull request](https://github.com/OuhscBbmc/REDCapR/pulls). If you'd like to report a bug or make a suggestion, please create a GitHub [issue](https://github.com/OuhscBbmc/REDCapR/issues); issues are a usually a good place to ask public questions too. However, feel free to email Will (). Please note that this project is released with a [Contributor Code of Conduct](https://github.com/OuhscBbmc/REDCapR/blob/master/CONDUCT.md); by participating in this project you agree to abide by its terms. We have some starting material described in the [`./documentation-for-developers/`](https://github.com/OuhscBbmc/REDCapR/tree/master/documentation-for-developers) directory. We'd like to thank the following developers for their [advice](https://github.com/OuhscBbmc/REDCapR/issues?q=is%3Aissue+is%3Aclosed) and [code contributions](https://github.com/OuhscBbmc/REDCapR/graphs/contributors): [Benjamin Nutter](https://github.com/nutterb), [Rollie Parrish](https://github.com/rparrish), [Scott Burns](https://github.com/sburns), [John Aponte](https://github.com/johnaponte), [Andrew Peters](https://github.com/ARPeters), and [Hao Zhu](https://github.com/haozhu233). diff --git a/utility/refresh.R b/utility/refresh.R index 368bd6e0..7ea78e3d 100644 --- a/utility/refresh.R +++ b/utility/refresh.R @@ -22,5 +22,5 @@ test_results_not_checked <- testthat::test_dir("./tests/manual/") devtools::check(cran=T) # devtools::check_rhub(email="wibeasley@hotmail.com") # devtools::check_win_devel() # CRAN submission policies encourage the development version -# devtools::revdep_check(pkg="REDCapR", recursive=TRUE) +# devtools::revdepcheck(recursive=TRUE) # devtools::release(check=FALSE) #Careful, the last question ultimately uploads it to CRAN, where you can't delete/reverse your decision. diff --git a/vignettes/TroubleshootingApiCalls.Rmd b/vignettes/TroubleshootingApiCalls.Rmd index 8ebfea3e..b173d44f 100644 --- a/vignettes/TroubleshootingApiCalls.Rmd +++ b/vignettes/TroubleshootingApiCalls.Rmd @@ -74,6 +74,7 @@ This section group examines potential problems that occur after it leaves a work 1. **Can an user query the API successfully with Postman with the their own token?** The values they enter should be exactly the same as those entered in the previous step. A failure here (assuming the previous step was successful) suggests a network or firewall issue. If the server is behind your institution's firewall, verify the user is connecting successfully through the VPN. 1. **Can a user query the API with cURL?** [cURL](http://curl.haxx.se/docs/manpage.html) is a command line tool that's underneath a lot of libraries. If it's installed correctly on your location machine, it can be executed from the terminal or command line. + ```shell curl -X POST -H "Cache-Control: no-cache" -F "token=9A81268476645C4E5F03428B8AC3AA7B" -F "content=record" -F "format=csv" "https://bbmc.ouhsc.edu/redcap/api/" ``` @@ -189,18 +190,21 @@ Exporting from REDCap to R, using REDCapR If you're not using REDCapR, you can skip this section and proceed to 'Importing into REDCap from R' below. 1. **Is REDCapR installed on the user's machine?** Currently the easiest way to install REDCapR is with the [devtools](https://github.com/hadley/devtools). The follow code installs devtools, then installs REDCapR. + ```r install.packages("devtools", repos="http://cran.rstudio.com") - devtools::install_github(repo="OuhscBbmc/REDCapR") + remotes::install_github(repo="OuhscBbmc/REDCapR") ``` 1. **Does REDCapR load successfully on the user's machine?** If so, running `library(REDCapR)` should produce the following output if you're starting with a fresh session of R: + ```r library(REDCapR) ## Loading required package: REDCapR ``` 1. **Can the user export from an example project?** This is the same fake data hosted by the [OUHSC BBMC](http://ouhsc.edu/bbmc/) as in the previous section. + ```r library(REDCapR) #Load the package into the current R session. uri <- "https://bbmc.ouhsc.edu/redcap/api/" @@ -209,6 +213,7 @@ If you're not using REDCapR, you can skip this section and proceed to 'Importing ``` The previous code should produce similar output. Notice there are five rows and the columns will wrap around if your console window is too narrow. + ``` 5 records and 1 columns were read from REDCap in 0.41 seconds. Starting to read 5 records at 2014-06-27 17:19:49 @@ -245,6 +250,7 @@ If you're not using REDCapR, you can skip this section and proceed to 'Importing ``` 1. **Can the user export from their own project?** The code is similar to the previous check, but the `uri` and `token` values will need to be modified. + ```r library(REDCapR) #Load the package into the current R session, if you haven't already. redcap_uri <- "https://the.urlofyourinsitution.edu/api/" @@ -253,6 +259,7 @@ If you're not using REDCapR, you can skip this section and proceed to 'Importing ``` Alternatively, a `redcap_project` object can be declared initially, which makes subsequent calls cleaner when the token and url are required only the when the object is declared. + ```r library(REDCapR) #Load the package into the current R session, if you haven't already. uri <- "https://bbmc.ouhsc.edu/redcap/api/" @@ -279,23 +286,27 @@ Exporting from REDCap to R, using redcapAPI If you're not using redcapAPI, you can skip this section and proceed to 'Importing into REDCap from R' below. More specific discussion about `redcapAPI` can be found at the [package's wiki](https://github.com/nutterb/redcapAPI/wiki). 1. **Is redcapAPI installed on the user's machine?** Currently, the easiest way to install `redcapAPI` is from CRAN. + ```r install.packages("redcapAPI") ``` Developmental versions may be available on GitHub. + ```r install.packages("devtools", repos="http://cran.rstudio.com") - devtools::install_github(repo="nutterb/redcapAPI") + remotes::install_github(repo="nutterb/redcapAPI") ``` 1. **Does redcapAPI load successfully on the user's machine?** If so, running `library(redcapAPI)` should produce the following output if you're starting with a fresh session of R: + ```r library(redcapAPI) ## Loading required package: redcapAPI ``` 1. **Can the user export from an example project?** This is the same fake data hosted by the [OUHSC BBMC](http://ouhsc.edu/bbmc/) as in the previous section. + ```r library(redcapAPI) #Load the package into the current R session. rcon <- redcapConnection( @@ -306,6 +317,7 @@ If you're not using redcapAPI, you can skip this section and proceed to 'Importi ``` The previous code should produce similar output. Notice there are five rows and the columns will wrap around if your console window is too narrow. + ``` record_id name_first name_last address telephone email 1 1 Nutmeg Nutmouse 14 Rose Cottage St.\nKenning UK, 323232 (432) 456-4848 nutty@mouse.com @@ -337,6 +349,7 @@ If you're not using redcapAPI, you can skip this section and proceed to 'Importi ``` 1. **Can the user export from their own project?** The code is similar to the previous check, but the `uri` and `token` values will need to be modified. + ``` r library(redcapAPI) #Load the package into the current R session, if you haven't already. rcon <- redcapConnection( @@ -380,9 +393,11 @@ Other good resources ------------------------------------------------------------------ * The basic API documentation is available on your REDCap server, typically at + ``` http://<*your server name*>/redcap/api/help ``` + * If you have access to the REDCap wiki, some newer examples might exist at . The official documentation can be found on the `API Help Page` and `API Examples' pages on the REDCap wiki (*i.e.*, and ). If you do not have an account for the wiki, please ask your campus REDCap administrator to send you the static material. * Scott Burns, the primary developer of [PyCap](https://github.com/redcap-tools/PyCap) has a good intro at http://sburns.org/2013/07/22/intro-to-redcap-api.html * Benjamin Nutter, the primary developer of [redcapAPI](https://github.com/nutterb/redcapAPI/wiki) has a good wiki at https://github.com/nutterb/redcapAPI/wiki From c2830c824ad1fed511d6d8df36a8d7e7f0992dea Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Sun, 22 Sep 2019 15:43:16 -0500 Subject: [PATCH 2/3] update website closes #253 --- docs/404.html | 2 +- docs/CONDUCT.html | 2 +- docs/apple-touch-icon-120x120.png | Bin 11270 -> 0 bytes docs/apple-touch-icon-152x152.png | Bin 15963 -> 0 bytes docs/apple-touch-icon-180x180.png | Bin 20313 -> 0 bytes docs/apple-touch-icon-60x60.png | Bin 4808 -> 0 bytes docs/apple-touch-icon-76x76.png | Bin 6537 -> 0 bytes docs/apple-touch-icon.png | Bin 20313 -> 0 bytes docs/articles/BasicREDCapROperations.html | 200 ++++++------ docs/articles/SecurityDatabase.html | 4 +- docs/articles/TroubleshootingApiCalls.html | 287 ++++++++++++------ .../articles/advanced-redcapr-operations.html | 146 +++++---- docs/articles/index.html | 2 +- docs/authors.html | 2 +- docs/favicon-16x16.png | Bin 1570 -> 0 bytes docs/favicon-32x32.png | Bin 2302 -> 0 bytes docs/favicon.ico | Bin 15086 -> 0 bytes docs/index.html | 6 +- docs/news/index.html | 8 +- docs/reference/REDCapR-package.html | 2 +- docs/reference/collapse_vector.html | 2 +- docs/reference/constant.html | 2 +- docs/reference/create_batch_glossary.html | 2 +- docs/reference/index.html | 2 +- docs/reference/kernel_api.html | 4 +- docs/reference/metadata_utilities.html | 2 +- docs/reference/redcap_column_sanitize.html | 2 +- .../redcap_download_file_oneshot.html | 2 +- docs/reference/redcap_metadata_read.html | 2 +- .../redcap_next_free_record_name.html | 4 +- docs/reference/redcap_project.html | 2 +- docs/reference/redcap_read.html | 2 +- docs/reference/redcap_read_oneshot.html | 2 +- docs/reference/redcap_read_oneshot_eav.html | 2 +- .../reference/redcap_upload_file_oneshot.html | 2 +- docs/reference/redcap_users_export.html | 4 +- docs/reference/redcap_variables.html | 2 +- docs/reference/redcap_version.html | 4 +- docs/reference/redcap_write.html | 2 +- docs/reference/redcap_write_oneshot.html | 2 +- docs/reference/replace_nas_with_explicit.html | 2 +- docs/reference/retrieve_credential.html | 2 +- docs/reference/sanitize_token.html | 2 +- docs/reference/validate.html | 2 +- vignettes/styles.css | 8 - 45 files changed, 406 insertions(+), 319 deletions(-) delete mode 100644 docs/apple-touch-icon-120x120.png delete mode 100644 docs/apple-touch-icon-152x152.png delete mode 100644 docs/apple-touch-icon-180x180.png delete mode 100644 docs/apple-touch-icon-60x60.png delete mode 100644 docs/apple-touch-icon-76x76.png delete mode 100644 docs/apple-touch-icon.png delete mode 100644 docs/favicon-16x16.png delete mode 100644 docs/favicon-32x32.png delete mode 100644 docs/favicon.ico delete mode 100644 vignettes/styles.css diff --git a/docs/404.html b/docs/404.html index 81def52c..fe4dd76b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -82,7 +82,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/CONDUCT.html b/docs/CONDUCT.html index 903f6fb6..4fb758c0 100644 --- a/docs/CONDUCT.html +++ b/docs/CONDUCT.html @@ -82,7 +82,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/apple-touch-icon-120x120.png b/docs/apple-touch-icon-120x120.png deleted file mode 100644 index c357b3685c8d82ed3dd97133e96869ed8f166fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11270 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 diff --git a/docs/apple-touch-icon-152x152.png b/docs/apple-touch-icon-152x152.png deleted file mode 100644 index 1ba8038101f35e89290827194b009d4100965d38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15963 zcmZ{LWmMeU_w@{3+@XVZkmBwX_hLl`9i+H3xWfRY#ap1bmZF2Z6d5R5tWaDBDQ*uG zw?Ds+?}v9~B{#Xrxi{;an`CF7ePiBfsSx0TZ~*`SftsqK?sJ*(zZD1Tc}v~P`0Ba9 zu$R-60|4qidna|2YcoOYcz z&nK{~)KwG#PybsAI!jZYYp}i5G?lP7Ur?YC;jz$B1pokV?$s3K^!*o)I-S2T8>a5u zNX|)t&&-Tdiz{_g^Hdo>eEH(=&mdg(x9qutL&^L0^h~g}w5{8_TNRIez_EXfoGfp%vjlfTF^nmb|OG!X|Hrtasa8owm!wwGBBTB!;0 zS5&sKvw7=G+mI|ECAC~*@iZ84Khd_+Tl05LKrU&89w3W#{{n{7N^6A4&zSktjfM+` z`wUJ$Rl->dD7|ro(9_^Qe>}X){(4f%u2wU6d*5M{grTa)j7h2^Y?Jw_LzIM~HWXKo zWSCrFxW2Njxn!1l)%B=adZHS5C}&B~id#f5<@qGaPJJ-IvVmj?%_;1!3qCY?^T8?O z&`$9C!l=HmDcK|?Y%mJ%hsbc`)(gg^A5>!kJsDVhQA3SoTGmJ8zX7^HIYj^kq}D*E zX`|aR+Nif7?w?|ldRkMRuh}>5-<{u9n#1N?&Z@QSRq{PlfR_yLFw8dze^kx*u;L|t zQ@@(i2flkB?}LhcNqoL;t%8VTQi&74i5s^>fRTq{O5gy@iQ9pdt%R zF#51(5mVpZ11oAjI1EZ2eMChxrTDV(cpjENl3ouey(bQF^V z{c#;Z*m-^`fXguSCvF(+HAP0+kD3@E@~?8tp|CnE1#AGP%mj6k0iN){gPE`l5v1bx ze<>@+^1LMLmrYGEGEd*{u2KLmi=s#4n(lN~ut#x6wogwvHIe*Bo>nS+vc@TlY9!c7?k|K5X`D{q?YdlNbdF*;@jU{v|oYvmfec@?F zSd18qMU9ZhU0MmRAnMMxteIjKV=)HNG;o?1N7Zt1!(e9aJ5eIRgcw1}Sprpy(b!&? zlm$JYyt||%ndwg*bV`*sxIG0_gJ;l$k z!ziRy1&W~~Arh~pDIWu1uf|FovIep^JC+|OC_qv^uVV#&wB!Vpqz#J38vor`3gEdK+;;*p3GDRhxf~RU_t198 z$Kwzo0TcA0JAE;({XL3+ONMZF;1k|Z)_K!y<7c?y_`NJaKMdC9=+uM@0|I4f;1$2& z$Nhfc6gr)!Mx}p#NNKh;%+VaQedgi)KK{uBZ52#tGkDGHGFcgH}&q*VNRaqHH-<+gRC1Pq`3T=eixr0LjJ#L`~?+(WvA`iQu8ku(eEPEpLw8nWQ%wrcP@DLG`FEh*le1R)nS+#4zZQ1;f&p^36!`% zmL_QqbGE8!xr-pnWeISJjqFD6Iutg%2XCggD#0l11T~}V^c4H(Xs~#Qx}?K+eIJz+ zQ!xG`DeF$e9LLMa5-4fNvR!U#-$(i^*!E1c`!(Ja-nF_BoB5CTAiNQ1$!0OqU*FifRB-gMBLj1{d`8{Go!5pM`WVW|Xi zfx`M_ho1;>)WB0t;_nn?_t3}6P-sG$O7TfJmHetph(LKu%-=KpO2nCR7iMVg*r2@Y zM)HzsK1T|MIQeV}P!(Uc?c2ifd`}bh%dw%81Aq}B$cc?0I=DUb?PdhFvF{S)O|L6( zUKCCb8@l0d+jL`sLF9B3KuoZHGIwA_!GHx3ab}hPvs&So4V)4E9#qbS39LV>@vW&t zay0WWBP?pu0A*u!bg+|_b{RL6TSh?z#^7_k;~ux46}I>M zO2PB46FHx7hJTE1gtP0H>bPF-u*ov`H#rf%JFv3y%B7DeL#Mc+pk;3cXIF$fbB-=`<>5a|Kis`BaN!2$h z8h$9}65NQ06R%u}+oy;6BHbdUc3*TL5YCG(o`ac!l0B$BxUfCgkfqDZFhWu8u3;|4g0`bSL3YJ zc>Xf}Qb-e>QqbS~f;p`u5wFEpzDR2?it+FUTagfV37;XwJ8nLp-}?fMin zU|fp9b_}r4gWUrcCmFS}xzVbEY0;6X&Qqby7H?YLB^60Y-f3l*oPdjb6&E=?O}?4U zSh6ILtHA1F@V(_d+_2v8B4jj`3?vcDKa{4<|GNnwCaD?bQL#yUj#i1#ZPUw+LfER! z%NEy&c0TK{-jM?_2tPV0(iRJ5uv+&i0{y3K5dG{xM~5dvv-w!FKkn7dc`Atd z#8DsU>*h9sLTh!ljWSOzi_YoKuqP3ZB=a#1Nwp|3^zp+nxN)iVI#l;e zv4R3i2%Q!Q5r{5f-*Ay_TLho|>3h&zYG^R@EiG9k(opFl6N8~F2yrX+Wevn0de%5( z4X;IPe|N(7zsv5dzAzAe6Nm!DFlm*Bw|ti%yRX5q@%f5{JZPQ^5?0f5yLy8vt7j*> zQ4v#NMpwhC{TI5S-jN2BB*=}^po9WiT9$g$E%c0rW2Q-ZW^%Jk4z)B_Vuql6UOo4d z?zlUBH^JkLAG*Z_t@%nOTml7~5{LAt|9qRw*bSx?56#iQ(CNhKh`{OLQf6)7TT$B> zZKFBwQ2V1V>anH?Jmd*3w-uLIj#kCot(JRi%4l4kb^AU59}3V+b|Xl_{R-9qOlLF- z3ZBzAjRLvzUTOFOG9|a~`8VnIj0w7f!qhvvl`yz)*A4@YF0?pcC+fVK!P1F2(nr%} z`|J>@nlF|bghkQ?FRfKc_-+30QRL==i%A>yKi8UbeAe=HmtL{9yL zK<&oZfr3^!F%$5V)~#@wu*0oSb(D)-Gt8MRYS)*&z5Z8A(~RMLnH{8a`aav%=WJg( z(Y@UUOQweDsCZ!aTWaJ6O!)LN+n(ZOj(M|Sh+!aMV~|tfVE}R zuEy4fUPsL1CEyXo)_9@77Oj>cH9^jM<7~B}F;a>bive5<C$Q zV3vaeBNbB&xLS?{e#&ZY)}nRFmO#YzSInsl-@-^gF2(FK&2E>|k(ph9%c?C;gx}P;~_%)L-6rC*r@*|N3n+Wer|_zuu4T12sg) zo&F+MJgw{XxZU?$+4PGG$NI2=<%lze zZRH)bfmusn(mD%7-P1`!`*8OpOI6xM!0MC+eE_4&*+faB?BkGd`j!Hbbc{n8GX&x@ z*dNBjb*>HRyXL?pa}=zA>A;D)uQ#ekqhbrdR+X+B=H=%^o!x))h77~0Hyf)>_tF5% z0?M=RUEsElPcOuWEH_nk;Wj(yXZ6t|VDb`nIA^?RFpsoYv$XGj09=YixswlGefgiU z7$t}?6J*UDb}g8HFU&+QieJZo1X&Vya3}sofJo$fmjZAiO7%#W*Oa?vO4i!w2%v3j z%r8%K&9e0HyyJ|1I%c9lt)L8_tRFwj7hxW;g3je%*-pFD)5#_bJE5b$HZ@hNgLr@t zF?h;Fir+riS4!Ny=c%;K>DZeGaVcvTI~CsU-23_P3QaO6VSMGT)?bLn`Az<+Vb+nG zih!b7JGJpoz_&SvMh`Q$Wzj|P*6`SO`d$f2|5XtQeVi!%12HsCDln;3`?oLan@#4u z=zulD-jS?hkNXo*TEEb!lbVcUmki?a@8BOSe%R)_uiB-VbSbfO`lVVSe9YaVQdu0* zV_1FjNKqW2K=Q}PLWTuVs?R)}>;I(52b< zU^So4XpV&)9MpUc?ydu-t=AWco&PqB)CThS6-?rUFya3mQoNqzao{KEDJk!X+J1Fq zG;1R}wbz0153QE`R+chVRUPw|NPV0asWGDi?fNwhrUJ10j>)YD`voMJOcWI$Nve5 zAXj6)vw>BFvEQ*LYv@hdHPoVyv%7&7=(=X8hDANNg2E_!Yrbi;ui#l7yANoGElou$%o>D{d6Nv*%PmmgO1se;p#M~8C_*Bjm|Vl|}ADVJNsq-6iD z&o5q8qzsokjHBQ^(G|9HEA>hm@bHQ0eWjS(5eo)X*;SHTd=aMDOOV{I>iAn5{f$1UmaCFJtPZyP#b2fJ4GF~sCJh5Mi%~(5Eov*FlAf%0GxefOFh=<<{ zA#|+oHvpG6n01mO*u;4zmyGo}-8HRNEl+qPVVUDhg}$Tw?zomO_$Z3a&U!#hQ!b>D zoHcITzmiL*Z{#Jp-_MA?AC)$vOQ~j4opQ^UzmPA!Ty-$ErkI4h7YOQ;HdRC#G%g5% z-614h|IM}>5B-$!Ua-C1k;E8HD@$kVHsQ~HaZC$I^1@w~RK|FbjWI7#eH;b$`YMWI zaYCAwi6&HV>xQ$VzmXOc{4eHV{qf;iXoA))#HKEk5i9*kw=7z%eMMMDDoVAmj){S# z&01@e!3z*aHfW2G2WzG?dgdZW6GJ8y-&yM_R_m8CA^s|t6phjT?u)D(V?CIAMh%iU zW-_}s&}`L)7z2YNoF)Q)f@-3UBFS1cWVX8m z@eJO7g+#Ya$!ydI8i~cXN1vOFjSn!-+ZkFhGcq#o4@P*2E-XGxXV}ITD7~$ixEm|E zwsav#YRC@7&VE28?Bq_o=E-SM2r5$Uv+I-5jBy$%JL|(}ocFste6j6OBk}0W42!CJ z-D$og8jcs=6%#BFGva?gGHhj1__mSow_Qx^G6Ed*y0~8>xs?)FZTj=;KnbsTh{1Gz9kdyY$cTJdPGm4aEtVw(WuTO#P16!~>UNeNv^9+I}qtBqjA0EcQ! zW4;Ra1PagQ`KlD7ek`lAd04JuOd7(esn`f-?bu;0?c3~297NC%ABVm`y4oQWtz)-{ z*G$C$hbL6&dMy9mM$dYl6zOJR@mf#m+h+RT^d87|H_l+8R~EIPdfI3)hBapweEGb7}2w#v83m8FIk^F=r$@7Yhy zQOQTR0bQXNGsnh?tA*h7_SXrrW;;v+!MXfpLvb9*dz5H(+}$&IO+8NzJG{TTkvLZ& zIT;|PWajYiSroKYwGf?B9n;nluO>w&??4Ku+j19+?9_o7`P@%Vee$h~_iYPaPmMe$ zMx{*!A~>>2gmFV8$scOEtPkkk^ifxuN?h?2h!-TOH*F0m${|6gxQOMevyp82!8D++ z$`87?9<%>V+RQLixFWN+`m2=9LXy>5RE^&>*CP9s(Zg*mMObw?Q5@N48D!_|Jc@lb z#xyf=ELCK`ym7lVgb*EN6@_JAZ}4aBU_`U#Z8Lsnb8}F#&<^~h7RAg@as>Yni(ER^ z<_Z_f27~q7zQc1SJ~~IJi>S073g#M<-@WAF74LHlP=nb;TwRhfpLJ}TmvYI(P-7cN z&*S@y(wA&I+PSO^&7bz2s_U@y4Tw3|I8tk@odkQ7IvCKVsvP(U&Url>Vn+w83weBI zh(a;*=9ueDi?y2v|Em)@jPaY4L9u0PLNXtuIKT&c+XAYc8v#5JYm?Bwqm0!R0K?Q~ z#>LA46V7q{4}VPqV$_Q|nfb1LvJexZ6(!lf#MO!02$KB3y@n!q0)DxXt!~D;F(%F- z)o=g#(ncWr!X|AfAHe~RX8oKRi@<3n3s`bCy=UAg_h=1*&eoaH|MQwdn zW%H4w+y{j)XaPqU1=X2Ik<9IUD${e;uwrl0*JLIt5qjs34ZbS)Ww;+-^G9im$~eoZnZWsVGl3<0==+kTR`#z@@zZP9Gb|+!9pc*Sm4$^_G2f@U zD9n=TR2KVLDs{iw&QQ3XF&ouyj`>jocS@&n>`JucRFRLx2zjbUg=Dtck zl43kSqx~|qBffYncKXjN)c5G3P7-l>h6f%-&+LzMyT7(usztczKe4@u9J=*wx?EmO zrK;wB_whjQb#dA%mHrEJugBILUP{6EH1MurdO2!{FtuN+(>wm5I+e6wR;$6N21;f|t(~7MmZ<$vvc_NguOfVZ>&26(2j|yx4ixUx z;1o8@QL6R!UPR~UCLNNYZ1};@p;jWVybE5ls8{*cQGcXrCtQ2OS7Z6zbcQiXi^36K zXym=iGcMIh+EMiRSGA)2#nnQxL@fgJCyBXDRjT#=758i8D{WOyE@SJD$6W6djn0=5~2Nz|qig?CWC~kp8Hi3Zp&rwzmPbu(;y=_#@vcL5a zRMC4NAsR|HpueB5qmcRTQP&%uZ)B}6qDC<@+>BnC%B-4&=nWuPap2H_YP|T`s7kUh zw&ApUqouj|Gtof zHZJ>LVpMyMlt!%hZR)P@B0@|KcQ?TF@6N^GGtSIJu|qFv-1#ZO)eAjz9Td64IeZV9 z&gZca^V3Rpj+KnaKa7v!GC-lH`ojLMz@G%+Mx8)^Q_SmE*JYZXDr!NPq4BCgKb+5- z=_~<8>f68ktm>=Dn;h>8S3<@9i^H5_v>`&afGxN@7&ZDb2WHcvr)3L1cD~|7P1QCi z1;`8qPgV`EmUJCxeQVo~gsKz-Khk#F3*Dw(9HVigt*i6WPlyYK7-JMcJ3R z;R*A5z*m~vK|H}g`=vMn>CJR%@imiK&~;#uEuNZ@&-qcmQvL`m@xdTQUziok(1VUj zP8VeQbt^IFzX*GT#AK@G+Za8O>`A+E*K6|Hxv-aJGfLk&-A*lOI_L|uD%yERKUeYZ zu+|+6*$7d8&`fVf22=&b0HHb|!Pk`^{fV{-xInbuVsQpSOo=KE=;w*5J));yp{A^$ z#b3WrvX;5fACN8zFLDL$g%J8qFwp7r9ZD>MjV$cs~XCU|HIXf8buYh@x-on^H#q2hzZw#0ovG%X30`IN%?@mvzmX|n3kyf;+IJxu&yE{4g!Dl)@TPj_a#}I&#c3RnxtB# zd$iRTlZ;^Dopx^wFl1zLB7{ev3c!&(V8{QYp=kV1DcWbz#i+h*K(r!3Yh~FC0nSG@ z0Ua36UgdOiG;P;XtLOrKBZfFm&4iU@ZqM_(ZvegrQFu`AtnJE=kN+k&;-C%sZLi;| z-;pU2MyqnbhD58!fI2`!w`~!dJ!g#yWfJ?=L~J9_Us`Lj1%_9YT2Gd)20o3SFo6#` z#Q>FeA+KSby+6E;gyEM3PM#|P<+1nVNmQ&c;W4~xSMauI=ck75sg<^Arc{pBoX ztPXko^hOIWeyslim;TV`^%F!j)B9E1k5-=#YGn+*naR6{kW{#(uqTK($;PhUuHG@Z zR6_nO@Lrz#27IV}CBKWg1%mJb!nDmYZ#xin|6QElMLFMby9oX3@$0t0pf{W&aj+5y zfE(jEA`pQl@eAr5+V9%@sJ{vu5@xBAVJ6T-s?RegWqtlOq(hnSL!%hOs+Q7G&NQxa zZhD1+6W?0OcRxE1f*VqoZNPT6_yYIxEVpSy%!K484 z&vJNt6my1a@zAZEvPU!$>C1nA$bz28gp&Y%<{i#zU-L^rI4SM{C~Qp3c9f>HLU+dx)7W3M^BZpb{?=N=&#!&uPE|# z{CiW1ZO2_}EIvb-_FmR43;dr`~1 z;b%zP{tM;ljOAsihF^^%JDXv=k!Rsiy0@`o^L0jo#;M`eUdh}3y*YgwiaDZ98nKZt zeOZ--W1gWJN)jArd;^t4oUHzOKz!7N0iMs^_c`I|BSSsO2lYEayur$7$WDrFbVn@z zO`_wHY!M}Z>%RL7m2eibS9nQuYjKYE(H~v@-%hI9$}@I8mfmmXwZmT*mWN>ZlTuN* z>3gN2$zbQ{qR6scuunf?%)i#kf%)7aI5#-Be{Gi;y?%+bg}Ks90GC5<8&x86faCAB z+xMpw`nTL~B9g&>lSiBBOz(mwe%48Qa7U`@lnGP%W|QG$NODaFzT*2B?BBpy zmZ#8%zeiJ7qNV5YoRNe7v66o928rpVEOFiGK+?M277bjTH>!5vuCS^(rP!F`og3-v zk}p>Fwd-Lw0x8IKL<$VDmAYSx9bKez)RW$6J-(j}cMqg0bX!-87?L<8P~_19mrJSo zl3M~~JT(Kj!GnAyR32u3AFE+gWxg&fD%*3Kc1TY0A9HSrs@xHA(y(u_nt#}RY)57w z8#7qm0dw0X*xiV+kJ!NC*&K8A5~MbK5E!~M{QCUn`iSA4u`w}_ROK(TFh~$`O#+rt z{Gk1~t0H;X(sIFHpUj zCM*A7eMY1HnBk^r;E7@*+=4Hhs);^@NGCr;pYdpf25HAz7H zFX51dKOEzJG(nshRlgF^@sZvVuc|!pEqE!ne?3V??(Y{&TrGdFLyl0V5Nx&!nXBn5 z*eaq51+ePvytEQBS*I+;*+GRvXf93M+518>8DEuShyEa20HHfS){e42Yd@f{0c>v& zVEe}Tp^@v|vmm4%Apd@y$nVnZWOt=w*<(FoX~Sp>4OVY8D-cD-Q5czQb0X=5mCfvs zoTHocrz}fO(FwnrbdCZ!Lv(D3wkMn&G@Zeo03J$KBOKBoTw=Vkey zEHt3Ytnp##2O-tP-pS)vgTPJXX17IV`i2I-DOX>NgAzhynH(xwU9xa&@L|W!jm9Ji zvw9$iYZ_Wu+z=BWKVTy!{CwTjkI0`m=^`5N$a<=W`8d=4bS3$i=SN^ErirhEa!4MoOVTArkS#KjsUioiA4$7a;JJkV~$+<%mS<))~}6 zbPihUQi~b`YghLB>i*Lb&AX9WTXfh>Lrw|lMEC;p0+G@ZfPJ(y=Argoh$OzOLP$e9 zMoZj%XyK_Qd?NU6iDu%{-5Ty`ZF|>)h5FLbj_+dKXWKd93`{;dI{#-UPnsFEmND_% zzwzAHpO4(ZNTi`rE!tPsS3Yd4uu3U%OtG;D?pDqIyQ8j=Ls(u}He>gbJ%JuY@q_rWHegEsnIb&-bEd=N%V(;B?|avjM7Vp14UV2{VxTRcc|FTExyDbA4<1 zQs-zUwTUUB$`_o-zl3E|&O#+K8U6c55h8eVpH=4;`{@*#7A)Hfzk#(Yh9Wt7Poy8O zhyJX`_J|dqvgFv#L!O%tu|6?}rPMRR#1U!|$`%Nw*IFME^0ZLFb)HrL$sRYgPG|Xt9QbgNv1um#0b-WQkm19!sv_LR~MCCd!8rPY|Z5 zX4vzU{6?aQ=wa$B;9L{yGR@aqG*+e@ z|Fda<@$L6-r$XQ`g42aTdYS|N9%M)m`jD%vsWKYf1r^Skxo z=S{8xUpUpfCSep}vz=CjlAHX6?4B@a#9CTQ&Tv{Op615xxPbr~GB*d1zN>Oi@bK#q zUBCN;Y@D<6V}t%6i;9Z0F$A*mm}H}+730G>2~B>ez*VkJ81_t55*e;IS^q&4$CYU* z^m{0>o66E;6r)7cbhAq~(c-VozdJSH{?=FODjSGz;@`|)3wS+i%kn5)ogn)KJvx|} zq|5*Ah%6*M(q<0e>%G=>I*^WGr@khTt-aw6c|mA$#X3O$LlKzc{=l zVR%3ZCy?+qUgkses1N834lOZimnA*kdn`yRug?e%QBx3@_a>6G+T3l2c~VM&{d3ur ztH{nwhSbt&MiW<5KZl@6bF?`7yt-X2fe` zTy(G+d`&XYyD08)=f?@5OelU5k<)U1A>e`>-2FHA(KWbe(#8NxZb;5k5`kPl_vP z{Gc0iH6>FXj{7ta)BnOj7TlQSSNGiyy$kY=Xau)9!yT4LZ22}JAiKoTdfNReiR^VN zDe{8W3~#OyX7&z9#h6t>kX@33Vbtor{QcmdEV1L`p-lHx=Q{WVUD`0^MVXVj+?Kh1 zP1dQ`#c;I)pU=uSB3-z%U=us#`(p!R7K;YPRyk>Hh z;+M^6fIVa@RM>6{qY_i!##rf*0NjI%Uol0D!i6dhYdO`?Va|V7TJ>P4<$Jq^Q`1C> zTGUG829eNHW7-%~`oe?E^(BGO)M+ip{+3pbS6VYE5_kM@rv8BHCyxrGhe4ELRb=Z?R}`OarVQUR=`AG-X;o zSlt|yqtKBm=83WaS98KE0NE8^isxK-623$(^EjekZMMiQt3DpC2CWbw{5bE)mLn|e z2}OC_^p{1#{TO@msYrGeZ3h9DxZgyRco^%8j-v?87cC}*T4xnLkyjsjOT6(sMGc7h zRD=tl(z_&tM0-L|XEIk=W9WynrkuQM*z{=EHT1!-pD7{4^$gc1#NzsT5p*rAHKxYW zaYL_39FO%=`xAkOHxG9Kos)28@v?!&(-D3SlvQNxG`V%PdTA*Y#r1z!Q88Ctms!qq zwxj$Ow^jw@-_kC57Q=A_C^5U>ocxRL9{)X@47PV-JhFpNu0Z8HHJJ`!UqOv8#ilN9 z=>i9G(KBLe*A^WqJa~VnN?y(UBtkRPPm=h&FR3pqB^juuZMtrFov357%xg1@$*7)e zmsav!iNrL02VR35SUk{{ISv0p7|08L5^y7t?e@y&l^>P_q&6+o_YO{*bipR1$ijx` zfb-TPJnmd>+WQM{6ZwXId+z)e?G3vW2yYqH(Dd*Q@YlM1sObW^{Ue3FLQ5xBsX;s| zJ1RkffiDJUw>YEU$oz_trt_9ndL$Ox>Zab*cl;VGs39P{me!4tSfz%;_bj<#Jy6b`b5taXM zS+2?bLy9o8Gf>pv?&*pYRX4$8w*n3=l#^XhP-hD8koOlvX3}2E)!W z!_|foGgQOH!_`Gl?Y}@yjh^=C9cHN7Xg++KeX&*^L^p13S`30+pLyXG_R|T@bRRmA zi}x}9sSMglb^h$*xKs!PbTP7v(PFky3b#pS%wR*(|3^W*@6?4B@G`O@Yo2w=De_ji z@9%i@QpP%^J{5+)P1kDFEpmkS2YKB0ErS>2QP`~(*y1L`1G8H|eG6LO-iND|9SPzd z8MILM$OD3ksWP57YG7Ba(;l^SeQk2fyd9_YU!KprFlKA)A~%*nQQCtLW*Tu@CbQ#w zRMfXke#FkSPsMnUM!{QNP5b>>Ik$#NU|3AF)AugWuD0|k@JgY^596BQG$`q_*b0r? zExn_l+?J;W=RkhvNeEd0Dh9~KQMI5w?-j_GB%!+&t=s1HrcR5@EMecrs)|<1+X2;D z$sap}7r^wsWnF$q&domQeeN5AH!n_aYQj1%F&GY@SobxpQv8ES9#nbENO!%jnyx=I z@GUpWV*0doN$qMDS2BCc8O)nEdsw0zxo+M)(uK6?wh{Jg&Czde!v z48r{wBZ2{QVl@WOvOV;BZKQ$GZyl<<0@(N7J95^-epV;&18JkI?!}3X!TUY-^rNqo zHd~r%W!!#*JL7E2C86CXpPXe`Wx@5a&NQi140Z_vr2UI_{Mz>^{E2?2#VsBGYz(dVTPp-5s=e{; zH5wmNuS?cAF0Ca_(taozmZzCcTSKBj5=a9DL2HS2Iy<#ZPaU|NG_)WXee{5y=;~Nc zIlaz(G1LUK(uP%P1gau_G=Z-9&#?fwo@Y%O0rc9Esa!1xF2Y?+_BT2k4ja~ z_2p3N1O7!iQzvmG{i3e|3p-KnT!_#iTo2Zv{3ze)rGPA^OPCwjRj{qafAB5jYeR!6|l9Z2sP(~q+pwuZP#2msP z+?Enpl+j3J5-Zu<89RDn9EWl8DE>iF1HqZZsWp7<^F6OS$Ua;KLt3Ke&al`?`v3&vBHC+E|dUJ|5l zBT09FxEHGPWx4l!3b}f}oFPMW4-EL_YslQngu9IEauEB)6*GgP2P9Yn{-*lu;4GPE zj!Oi(NK|}0UK~5U>mHTAee7kl9^KnGCQwLI6ElRl43oYfn0wqPJVbTOb6{OT`n(SI3CDYzPtE=z{wwEBUkT3}srLBOOH7!=_ zCYcBnPln`*leb|dH6y^cvBHZvGw$EODC!MuR>l}F;C5DTbr=iX^lQ%i@>nsn%9@&i=3yDd-wI2$NM zFB6*M&LGoM*W?pukg1lkWi@-FvLl&G)~b58g8THk8hTT<>8IZsSJlN$+3 z{3m2zwb8>yMTAIJ=@~|M&}LX1$v71E#R&XW7WX`Yj>qj`4yCY3^Y zQV6Z1F)&>4D46EISIMU%=Tt^V7rr_F7C$UUI^Q+2EC?W>UE#*^ijA1yrV{r)K5&zM zk_phTT(d+cwPCiI$7EY&T~IJe@aS^Lt9EsymI*Uoe$ZqU1B4HCZ(hT+;k5Hq2S`4T zUDCl%@Rt_vj1FzKi*T#&uW+FK&0OZn%(~VRg=y;OwP1l1W@7~hs<>&aIGoY=*4zZN zyAl&2l`OT9JUgZm&eh#B{$}ccda z_3P0Y!#^PFZe~ovvGMwvnXSJw=as&aTL;6#4%8#ucUPxGYnKLT_I9gWi=0C&$Sb(L zwAYw$@Lqa1?ZMA%U#$CoN5C}O51u=xZ85~<7pOw-5J(;PKC-_*-+aL(@8Rqw)zo6w zxB58K=0rbB%S=LWgbq8c%{3siTr-0Ycr5P!#rf)RUFEg*Sw$*dV?%sr73<0Tk93;L zBWnpwg{tLjwGxl7{d4b*67SYEl}6S&wn(?9zRsARD3i3&ThEt)Qw8W=MFtkRC985v z-p$y0gqB13zLiJ&R%x0a`Ic&*tUWzGr~Zy_lp_t2KWJ)+a=$9gEH6Yb-)y=Zwg2E6 z^f~WAf<65ODazZ$VQmdqj>z{YPo|;I7t5??&{daeGjYi!)2yt* z_xQdvvZy=Q76k?FlIMz98alF6$;ZVm%mpr0-+^CUz9bi)SyOgT@SI3{9%n|uZer>( zUsR9O)gkEd`w|*+E?Qg}8b$xH3Yq?Rm9LxRG3S^_#OE^}i~y%sIMrc}!k$^J0fZ_Y zR`ue;$6F+Y>Ke5RJv8YiZ%eo7NoM$>RhRylsA59pOC7+s(SfJ_gHzXP619-WV@(&h zi4b~RNe$&ARc9FZJ=ejr?~(Lb5Y6zh%>vy;UkyHi*6_0(4Pwg$kKq^q?%>9DSWCr8 zo40v|v1>;i?EeUTQz_88za&qAD)d~fcK>zDn*0O41U!EF{Ym*2X_Rt6Hyc2Z&8Em} z!U;`JA0sXo;7KxRw|EJ~oOe!~fnUrCKq+B;74Q3k_lE$Ifv1)z7~y8}lH6H3Z)A+V zpLym1hlf3jt0*;8%PCs_V`N;``G$3O+T`Ew$R%Z|02_E)nyVFT)GZ)vu)X-VP`mke0RiY}MKDCye-x%MZN$Th^!OQ^3X z$&A(K!y^{m75hO(-JkZ2AD=j?hV_dl-MZsV7oVJ8a@oVA9-e@wywu+f!t@>oCx3pb z8({2Q6{_WOi%Yk)q_+l5la&9YwE6dk#5RFEye#biBwKWeiRq^OD_OZQLHS_$>})Wo zYF5(simvNh-^Ojm1IC>8r8~UzU1ynE@6OYj>G&<-+LQL=1*h7jWb@I!&r5R^R z!!=hh*oQnVl)PG9`ER@D*s~u7r(K&UdAYbB>}nQ*4}3?5v)=`Zwd|y~(u1^768zGi z_^E1r|BTEv`v@?Ic}Kr2IMO%~;(4C!Geimw(#h3p`BES^X+Xo_^7H{ok=KI3b0V4i zOw>Ea#kF|b*}3JxN^@7z=wbA8rI+c*wGGOJN7|N&n*gMnkCe@qm@rcYiC}8Hpc5~kGJzw&k1H5A3ymq_1?9*9Z z-m=KNPy_z4AZo=q1vG$_91EiYP%lx&w6*5I@mPL32widUZHbNHXwMq0#0OuAB0W8< zIXg$(j2_ob0U|C8)GL9_pi&Vy`3&<^D5RPb3tCOkBsPo9^UKCHTAIaK$gW*aZ)C;b z0QO8GJ|{==L4p-a-NyHJeQ0LO(kYy+bW2(r@PA-8i;{F0U5NQ$X19+{lf}dQVC&P` z;}RXsF3tFw|Ml-z?^x9Jn7$zRHE98*?{Wu#9+dVGr8>C=NomnSGsQKavXbbc4_&9# zugrGUoFWF$td6!tA*B72{8E)iXs+2ME9MQEKBXn~Y-S;vE}I>GF2+`HiMwH(&? zZ$>kcY^JECOKXq*dnsB62{8#vg1Lz&G(yHwcDOehc8=cTym(lsDWu9#Mk;nB zMd&eVU<&>E9%qTCJ8A0)eH%SbJ6&{7`FUzIi?@=Ix6ONRTM27V+vfrxz{fAn%_q(+ zz^~6IAi*yz!Oze6yu-(L#j&~n{}{Ns+c??<{QnI;`k5L$8yE)a8+q%#_hW>4y4yLr z*fM$tz-$>EVcymNfPc>B89t7O0UO&d?U7Nnzq$Z)COjT%JTfLS^%Qb+GDbzX&`%q5 trUre+k@@MNzR^C~KI{>=YQb9`z&;g;_nEwK>T?$WH6<;@YI)0u{{x@GlPLfI diff --git a/docs/apple-touch-icon-180x180.png b/docs/apple-touch-icon-180x180.png deleted file mode 100644 index 5d9ce0e57f8395808e0955bce6ec15184bdfa0a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20313 zcmV*8Kykl`P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 diff --git a/docs/apple-touch-icon-60x60.png b/docs/apple-touch-icon-60x60.png deleted file mode 100644 index 6efeee7d8813c5fe1454ddd686c092840515aefb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4808 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 b*C4>E5Kqh>GwtUmEdVPE8}m9d@B9A;;VVEx diff --git a/docs/apple-touch-icon-76x76.png b/docs/apple-touch-icon-76x76.png deleted file mode 100644 index 5ba4fa2f0e5b04177585f7e92311ba63fcdbcaa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6537 zcmV;48FuE0P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 diff --git a/docs/articles/BasicREDCapROperations.html b/docs/articles/BasicREDCapROperations.html index 4fdbea1e..c1185d65 100644 --- a/docs/articles/BasicREDCapROperations.html +++ b/docs/articles/BasicREDCapROperations.html @@ -40,7 +40,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -108,7 +108,7 @@

-
The data dictionary describing 16 fields was read from REDCap in 0.5 seconds.  The http status code was 200.
-
2 records and 1 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
-
Starting to read 2 records  at 2019-09-20 18:16:16.
+
The data dictionary describing 16 fields was read from REDCap in 0.2 seconds.  The http status code was 200.
+
2 records and 1 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
+
Starting to read 2 records  at 2019-09-22 15:36:58.
Reading batch 1 of 1, with subjects 1 through 3 (ie, 2 unique subject records).
-
2 records and 24 columns were read from REDCap in 1 seconds.  The http status code was 200.
+
2 records and 24 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
The data dictionary describing 16 fields was read from REDCap in 0.3 seconds.  The http status code was 200.
-
2 records and 1 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
-
Starting to read 2 records  at 2019-09-20 18:16:18.
+
2 records and 1 columns were read from REDCap in 0.2 seconds.  The http status code was 200.
+
Starting to read 2 records  at 2019-09-22 15:36:59.
Reading batch 1 of 1, with subjects 1 through 3 (ie, 2 unique subject records).
-
2 records and 24 columns were read from REDCap in 0.5 seconds.  The http status code was 200.
+
2 records and 24 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
  record_id name_first name_last                                 address
 1         1     Nutmeg  Nutmouse 14 Rose Cottage St.\nKenning UK, 323232
@@ -237,11 +237,11 @@ 

token = token, fields = desired_fields_v1 )$data

-
The data dictionary describing 16 fields was read from REDCap in 1.2 seconds.  The http status code was 200.
-
5 records and 1 columns were read from REDCap in 1.1 seconds.  The http status code was 200.
-
Starting to read 5 records  at 2019-09-20 18:16:21.
+
The data dictionary describing 16 fields was read from REDCap in 0.2 seconds.  The http status code was 200.
+
5 records and 1 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
+
Starting to read 5 records  at 2019-09-22 15:37:01.
Reading batch 1 of 1, with subjects 1 through 5 (ie, 5 unique subject records).
-
5 records and 3 columns were read from REDCap in 1.1 seconds.  The http status code was 200.
+
5 records and 3 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
-
The data dictionary describing 16 fields was read from REDCap in 0.6 seconds.  The http status code was 200.
-
5 records and 1 columns were read from REDCap in 0.9 seconds.  The http status code was 200.
-
Starting to read 5 records  at 2019-09-20 18:16:24.
+
The data dictionary describing 16 fields was read from REDCap in 0.5 seconds.  The http status code was 200.
+
5 records and 1 columns were read from REDCap in 0.2 seconds.  The http status code was 200.
+
Starting to read 5 records  at 2019-09-22 15:37:02.
Reading batch 1 of 1, with subjects 1 through 5 (ie, 5 unique subject records).
-
5 records and 3 columns were read from REDCap in 1.9 seconds.  The http status code was 200.
+
5 records and 3 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
  record_id name_first age
 1         1     Nutmeg  11
@@ -274,11 +274,11 @@ 

token = token, fields = desired_fields_v3 )$data

-
The data dictionary describing 16 fields was read from REDCap in 0.3 seconds.  The http status code was 200.
-
5 records and 1 columns were read from REDCap in 0.5 seconds.  The http status code was 200.
-
Starting to read 5 records  at 2019-09-20 18:16:28.
+
The data dictionary describing 16 fields was read from REDCap in 0.2 seconds.  The http status code was 200.
+
5 records and 1 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
+
Starting to read 5 records  at 2019-09-22 15:37:04.
Reading batch 1 of 1, with subjects 1 through 5 (ie, 5 unique subject records).
-
5 records and 3 columns were read from REDCap in 0.5 seconds.  The http status code was 200.
+
5 records and 3 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
  record_id        dob weight
 1         1 2003-08-30      1
@@ -303,10 +303,10 @@ 

records = desired_records_v3 )$data

The data dictionary describing 16 fields was read from REDCap in 0.3 seconds.  The http status code was 200.
-
2 records and 1 columns were read from REDCap in 0.6 seconds.  The http status code was 200.
-
Starting to read 2 records  at 2019-09-20 18:16:29.
+
2 records and 1 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
+
Starting to read 2 records  at 2019-09-22 15:37:05.
Reading batch 1 of 1, with subjects 3 through 5 (ie, 2 unique subject records).
-
2 records and 24 columns were read from REDCap in 0.8 seconds.  The http status code was 200.
+
2 records and 24 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
  record_id name_first name_last                            address
 1         3     Marcus      Wood     243 Hill St.\nGuthrie OK 73402
@@ -346,11 +346,11 @@ 

token = token, fields = desired_fields_v1 )

-
The data dictionary describing 16 fields was read from REDCap in 0.8 seconds.  The http status code was 200.
-
5 records and 1 columns were read from REDCap in 0.5 seconds.  The http status code was 200.
-
Starting to read 5 records  at 2019-09-20 18:16:32.
+
The data dictionary describing 16 fields was read from REDCap in 0.3 seconds.  The http status code was 200.
+
5 records and 1 columns were read from REDCap in 0.2 seconds.  The http status code was 200.
+
Starting to read 5 records  at 2019-09-22 15:37:07.
Reading batch 1 of 1, with subjects 1 through 5 (ie, 5 unique subject records).
-
5 records and 3 columns were read from REDCap in 1 seconds.  The http status code was 200.
+
5 records and 3 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
$data
   record_id name_first age
@@ -367,7 +367,7 @@ 

[1] "200" $outcome_messages -[1] "5 records and 3 columns were read from REDCap in 1 seconds. The http status code was 200." +[1] "5 records and 3 columns were read from REDCap in 0.3 seconds. The http status code was 200." $records_collapsed [1] "" @@ -385,7 +385,7 @@

[1] "" $elapsed_seconds -[1] 2.970515

+[1] 1.336262
@@ -402,80 +402,78 @@

language (EN) collate en_US.UTF-8 ctype en_US.UTF-8 - tz America/Denver - date 2019-09-20 + tz America/Chicago + date 2019-09-22 ─ Packages ────────────────────────────────────────────────────────────── - package * version date lib source - assertthat 0.2.1 2019-03-21 [2] CRAN (R 3.6.0) - backports 1.1.4 2019-04-10 [2] CRAN (R 3.6.0) - callr 3.3.1 2019-07-18 [2] CRAN (R 3.6.1) - checkmate 1.9.4 2019-07-04 [2] CRAN (R 3.6.0) - cli 1.1.0 2019-03-19 [2] CRAN (R 3.6.0) - colorspace 1.4-1 2019-03-18 [2] CRAN (R 3.6.0) - crayon 1.3.4 2017-09-16 [2] CRAN (R 3.6.0) - curl 4.1 2019-09-16 [2] CRAN (R 3.6.1) - desc 1.2.0 2018-05-01 [2] CRAN (R 3.6.0) - devtools 2.2.0 2019-09-07 [2] CRAN (R 3.6.1) - digest 0.6.20 2019-07-04 [2] CRAN (R 3.6.0) - dplyr 0.8.3 2019-07-04 [2] CRAN (R 3.6.0) - DT 0.8 2019-08-07 [2] CRAN (R 3.6.1) - ellipsis 0.2.0.1 2019-07-02 [2] CRAN (R 3.6.0) - evaluate 0.14 2019-05-28 [2] CRAN (R 3.6.0) - fs 1.3.1 2019-05-06 [2] CRAN (R 3.6.0) - glue 1.3.1 2019-03-12 [2] CRAN (R 3.6.0) - hms 0.5.1 2019-08-23 [2] CRAN (R 3.6.1) - htmltools 0.3.6 2017-04-28 [2] CRAN (R 3.6.0) - htmlwidgets 1.3 2018-09-30 [2] CRAN (R 3.6.0) - httr 1.4.1 2019-08-05 [2] CRAN (R 3.6.1) - kableExtra 1.1.0.9001 2019-05-18 [2] local - knitr * 1.24 2019-08-08 [2] CRAN (R 3.6.1) - magrittr * 1.5 2014-11-22 [2] CRAN (R 3.6.0) - MASS 7.3-51.4 2019-04-26 [2] CRAN (R 3.6.0) - memoise 1.1.0 2017-04-21 [2] CRAN (R 3.6.0) - munsell 0.5.0 2018-06-12 [2] CRAN (R 3.6.0) - pillar 1.4.2 2019-06-29 [2] CRAN (R 3.6.0) - pkgbuild 1.0.5 2019-08-26 [2] CRAN (R 3.6.1) - pkgconfig 2.0.2 2018-08-16 [2] CRAN (R 3.6.0) - pkgdown 1.4.1 2019-09-15 [2] CRAN (R 3.6.1) - pkgload 1.0.2 2018-10-29 [2] CRAN (R 3.6.0) - prettyunits 1.0.2 2015-07-13 [2] CRAN (R 3.6.0) - processx 3.4.1 2019-07-18 [2] CRAN (R 3.6.1) - ps 1.3.0 2018-12-21 [2] CRAN (R 3.6.0) - purrr 0.3.2 2019-03-15 [2] CRAN (R 3.6.0) - R6 2.4.0 2019-02-14 [2] CRAN (R 3.6.0) - Rcpp 1.0.2 2019-07-25 [2] CRAN (R 3.6.1) - readr 1.3.1 2018-12-21 [2] CRAN (R 3.6.0) - REDCapR * 0.9.10.9003 2019-09-21 [1] local - remotes 2.1.0 2019-06-24 [2] CRAN (R 3.6.0) - rlang 0.4.0 2019-06-25 [2] CRAN (R 3.6.0) - rmarkdown 1.15 2019-08-21 [2] CRAN (R 3.6.1) - rprojroot 1.3-2 2018-01-03 [2] CRAN (R 3.6.0) - rstudioapi 0.10 2019-03-19 [2] CRAN (R 3.6.0) - rvest 0.3.4 2019-05-15 [2] CRAN (R 3.6.0) - scales 1.0.0 2018-08-09 [2] CRAN (R 3.6.0) - sessioninfo 1.1.1 2018-11-05 [2] CRAN (R 3.6.0) - stringi 1.4.3 2019-03-12 [2] CRAN (R 3.6.0) - stringr 1.4.0 2019-02-10 [2] CRAN (R 3.6.0) - testthat 2.2.1 2019-07-25 [2] CRAN (R 3.6.1) - tibble 2.1.3 2019-06-06 [2] CRAN (R 3.6.0) - tidyselect 0.2.5 2018-10-11 [2] CRAN (R 3.6.0) - usethis 1.5.1 2019-07-04 [2] CRAN (R 3.6.0) - vctrs 0.2.0 2019-07-05 [2] CRAN (R 3.6.0) - viridisLite 0.3.0 2018-02-01 [2] CRAN (R 3.6.0) - webshot 0.5.1 2018-09-28 [2] CRAN (R 3.6.0) - withr 2.1.2 2018-03-15 [2] CRAN (R 3.6.0) - xfun 0.9 2019-08-21 [2] CRAN (R 3.6.1) - xml2 1.2.2 2019-08-09 [2] CRAN (R 3.6.1) - yaml 2.2.0 2018-07-25 [2] CRAN (R 3.6.0) - zeallot 0.1.0 2018-01-28 [2] CRAN (R 3.6.0) + package * version date lib source + assertthat 0.2.1 2019-03-21 [2] CRAN (R 3.6.0) + backports 1.1.4 2019-04-10 [2] CRAN (R 3.6.0) + callr 3.3.1 2019-07-18 [2] CRAN (R 3.6.1) + checkmate 1.9.4 2019-07-04 [2] CRAN (R 3.6.0) + cli 1.1.0 2019-03-19 [2] CRAN (R 3.6.0) + colorspace 1.4-1 2019-03-18 [2] CRAN (R 3.6.0) + crayon 1.3.4 2017-09-16 [2] CRAN (R 3.6.0) + curl 4.1 2019-09-16 [2] CRAN (R 3.6.1) + desc 1.2.0 2018-05-01 [2] CRAN (R 3.6.0) + devtools 2.2.0.9000 2019-09-21 [2] Github (r-lib/devtools@2765fbe) + digest 0.6.21 2019-09-20 [2] CRAN (R 3.6.1) + dplyr 0.8.3 2019-07-04 [2] CRAN (R 3.6.0) + ellipsis 0.3.0 2019-09-20 [2] CRAN (R 3.6.1) + evaluate 0.14 2019-05-28 [2] CRAN (R 3.6.0) + fs 1.3.1 2019-05-06 [2] CRAN (R 3.6.0) + glue 1.3.1 2019-03-12 [2] CRAN (R 3.6.0) + hms 0.5.1 2019-08-23 [2] CRAN (R 3.6.1) + htmltools 0.3.6 2017-04-28 [2] CRAN (R 3.6.0) + httr 1.4.1 2019-08-05 [2] CRAN (R 3.6.1) + kableExtra 1.1.0.9001 2019-05-18 [2] local + knitr * 1.25 2019-09-18 [2] CRAN (R 3.6.1) + magrittr * 1.5 2014-11-22 [2] CRAN (R 3.6.0) + MASS 7.3-51.4 2019-04-26 [2] CRAN (R 3.6.0) + memoise 1.1.0 2017-04-21 [2] CRAN (R 3.6.0) + munsell 0.5.0 2018-06-12 [2] CRAN (R 3.6.0) + pillar 1.4.2 2019-06-29 [2] CRAN (R 3.6.0) + pkgbuild 1.0.5 2019-08-26 [2] CRAN (R 3.6.1) + pkgconfig 2.0.2 2018-08-16 [2] CRAN (R 3.6.0) + pkgdown 1.4.1 2019-09-15 [2] CRAN (R 3.6.1) + pkgload 1.0.2 2018-10-29 [2] CRAN (R 3.6.0) + prettyunits 1.0.2 2015-07-13 [2] CRAN (R 3.6.0) + processx 3.4.1 2019-07-18 [2] CRAN (R 3.6.1) + ps 1.3.0 2018-12-21 [2] CRAN (R 3.6.0) + purrr 0.3.2 2019-03-15 [2] CRAN (R 3.6.0) + R6 2.4.0 2019-02-14 [2] CRAN (R 3.6.0) + Rcpp 1.0.2 2019-07-25 [2] CRAN (R 3.6.1) + readr 1.3.1 2018-12-21 [2] CRAN (R 3.6.0) + REDCapR * 0.10.1 2019-09-22 [1] local + remotes 2.1.0 2019-06-24 [2] CRAN (R 3.6.0) + rlang 0.4.0 2019-06-25 [2] CRAN (R 3.6.0) + rmarkdown 1.15 2019-08-21 [2] CRAN (R 3.6.1) + rprojroot 1.3-2 2018-01-03 [2] CRAN (R 3.6.0) + rstudioapi 0.10 2019-03-19 [2] CRAN (R 3.6.0) + rvest 0.3.4 2019-05-15 [2] CRAN (R 3.6.0) + scales 1.0.0 2018-08-09 [2] CRAN (R 3.6.0) + sessioninfo 1.1.1 2018-11-05 [2] CRAN (R 3.6.0) + stringi 1.4.3 2019-03-12 [2] CRAN (R 3.6.0) + stringr 1.4.0 2019-02-10 [2] CRAN (R 3.6.0) + testthat 2.2.1 2019-07-25 [2] CRAN (R 3.6.1) + tibble 2.1.3 2019-06-06 [2] CRAN (R 3.6.0) + tidyselect 0.2.5 2018-10-11 [2] CRAN (R 3.6.0) + usethis 1.5.1 2019-07-04 [2] CRAN (R 3.6.0) + vctrs 0.2.0 2019-07-05 [2] CRAN (R 3.6.0) + viridisLite 0.3.0 2018-02-01 [2] CRAN (R 3.6.0) + webshot 0.5.1 2018-09-28 [2] CRAN (R 3.6.0) + withr 2.1.2 2018-03-15 [2] CRAN (R 3.6.0) + xfun 0.9 2019-08-21 [2] CRAN (R 3.6.1) + xml2 1.2.2 2019-08-09 [2] CRAN (R 3.6.1) + yaml 2.2.0 2018-07-25 [2] CRAN (R 3.6.0) + zeallot 0.1.0 2018-01-28 [2] CRAN (R 3.6.0) -[1] /tmp/RtmpdqBkOl/temp_libpath4e0f587a791c +[1] /tmp/RtmpsgrWgH/temp_libpath740257cb29b9 [2] /home/wibeasley/R/x86_64-pc-linux-gnu-library/3.6 [3] /usr/local/lib/R/site-library [4] /usr/lib/R/site-library [5] /usr/lib/R/library -

Report rendered by wibeasley at 2019-09-20, 18:16 -0600 in 28 seconds.

+

Report rendered by wibeasley at 2019-09-22, 15:37 -0500 in 15 seconds.

diff --git a/docs/articles/SecurityDatabase.html b/docs/articles/SecurityDatabase.html index 35476b24..292a694b 100644 --- a/docs/articles/SecurityDatabase.html +++ b/docs/articles/SecurityDatabase.html @@ -40,7 +40,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -108,7 +108,7 @@ @@ -108,7 +108,7 @@
@@ -181,84 +184,84 @@

  1. Is httr installed on the user’s local machine? If so, running library(httr) should not produce any error messages if you’re starting with a fresh session of R:

    -
    > library(httr)
    +
    > library(httr)
  2. Does the user have the most recent version of httr? There are several ways to do this, but the easiest is probably to run update.packages(ask=FALSE, repos="http://cran.rstudio.com"). The optional argument ask prevents the user from needing to respond ‘Y’ to each outdated package.

  3. Can the user query a test project using httr? Both the redcapAPI and REDCapR packages employ something similar to the following function in httr. If you’re curious, here is the relevant source code for redcapAPI and REDCapR.

    If this check fails, consider attempting again with the uri and token used above in the Postman example.

    This check avoids checking the SSL certificate in order to simplify the troubleshooting. SSL verification is supported by default in the PyCap, redcapAPI, and REDCapR packages.

    - +

    Alternatively, you can try using the httr package, which uses RCurl underneath. REDCapR and a recent fork of redcap actually uses httr directly, instead of RCurl. As of 2014-07-06, this works with the Windows 8 version for libcurl (which is underneath `RCurl), but not with some Linux versions; in this case pass the location of the SSL cert file.

    - +
  4. Can the user query a subset of their project using RCurl? This step is like the previous one, but with two differences. First, it’s using their REDCap project (instead of the test project). Second, it pulls fewer records, and a smaller collection of fields. Subsetting can help troubleshoot by avoiding (and thus identifying) cells with problematic values.

    Notice this call to RCurl::postForm() now passes values to the records and fields parameters. Also notice the value is a single long string, rather a vector of shorter strings (which is more natural to most R users).

    - +
  5. Can the user query an entire project using RCurl? There are two advantages of trying a subset of the data. First, small datasets avoid the time-out errors that plague large datasets. Second, it may avoid problematic values being passed through the pipeline. If the current check fails but the previous check succeeds, then experiment with different expanses of records and fields. This should help determine which values are causing the problems, or if there’s simply too much data being pulled in one pass.

    If the desired dataset is too large, consider if you can prune unnecessary records or fields. If not, one solution is to pull smaller, multiple batches using the API, then reassemble them. The redcap_read() function in REDCapR does this automatically, and allows the user to specify a batch_size.

    - +

@@ -268,24 +271,75 @@

REDCapR is a package that uses cURL (via httr) to communicate with REDCap, and wraps convenience functions around it to reduce the size and complexity of the user’s code. The package’s basic functions are demonstrated in a vignette and are documented in its reference manual (a downloadable pdf of the functions are also available).

If you’re not using REDCapR, you can skip this section and proceed to ‘Importing into REDCap from R’ below.

    -
  1. Is REDCapR installed on the user’s machine? Currently the easiest way to install REDCapR is with the devtools. The follow code installs devtools, then installs REDCapR. r install.packages("devtools", repos="http://cran.rstudio.com") devtools::install_github(repo="OuhscBbmc/REDCapR")

  2. -
  3. Does REDCapR load successfully on the user’s machine? If so, running library(REDCapR) should produce the following output if you’re starting with a fresh session of R: r library(REDCapR) ## Loading required package: REDCapR

  4. -

    Can the user export from an example project? This is the same fake data hosted by the OUHSC BBMC as in the previous section. r library(REDCapR) #Load the package into the current R session. uri <- "https://bbmc.ouhsc.edu/redcap/api/" token <- "9A81268476645C4E5F03428B8AC3AA7B" redcap_read(redcap_uri=uri, token=token)$data

    -

    The previous code should produce similar output. Notice there are five rows and the columns will wrap around if your console window is too narrow. ``` 5 records and 1 columns were read from REDCap in 0.41 seconds. Starting to read 5 records at 2014-06-27 17:19:49 Reading batch 1 of 1, with ids 1 through 5. 5 records and 16 columns were read from REDCap in 0.42 seconds.

    -

    record_id name_first name_last address telephone email 1 1 Nutmeg Nutmouse 14 Rose Cottage St.UK, 323232 (432) 456-4848 2 2 Tumtum Nutmouse 14 Rose Cottage Blvd.UK 34243 (234) 234-2343 3 3 Marcus Wood 243 Hill St.OK 73402 (433) 435-9865 4 4 Trudy DAG 342 ElmTX, 75116 (987) 654-3210 5 5 John Lee Walker Hotel SuiteOrleans LA, 70115 (333) 333-4444

    -
          dob age ethnicity race sex height weight   bmi
    -

    1 2003-08-30 10 1 2 0 5.00 1 400.0 2 2003-03-10 10 1 6 1 6.00 1 277.8 3 1934-04-09 79 0 4 1 180.00 80 24.7 4 1952-11-02 61 1 4 0 165.00 54 19.8 5 1955-04-15 58 1 4 1 193.04 104 27.9

    -
                                                                                                      comments
    -

    1 Character in a book, with some guessing 2 A mouse character from a good book 3 completely made up 4 This record doesn’t have a DAG assignedcall up Trudy on the telephoneher a letter in the mail 5 Had a hand for trouble and a eye for cashhad a gold watch chain and a black mustache

    -

    demographics_complete 1 2 2 2 3 2 4 2 5 2 ```

    +

    Is REDCapR installed on the user’s machine? Currently the easiest way to install REDCapR is with the devtools. The follow code installs devtools, then installs REDCapR.

    +
    install.packages("devtools", repos="http://cran.rstudio.com")
    +remotes::install_github(repo="OuhscBbmc/REDCapR")
    +
  5. +
  6. +

    Does REDCapR load successfully on the user’s machine? If so, running library(REDCapR) should produce the following output if you’re starting with a fresh session of R:

    + +
  7. +
  8. +

    Can the user export from an example project? This is the same fake data hosted by the OUHSC BBMC as in the previous section.

    +
    library(REDCapR) #Load the package into the current R session.
    +uri   <- "https://bbmc.ouhsc.edu/redcap/api/"
    +token <- "9A81268476645C4E5F03428B8AC3AA7B"
    +redcap_read(redcap_uri=uri, token=token)$data
    +

    The previous code should produce similar output. Notice there are five rows and the columns will wrap around if your console window is too narrow.

    +
    5 records and 1 columns were read from REDCap in 0.41 seconds.
    +Starting to read 5 records  at 2014-06-27 17:19:49
    +Reading batch 1 of 1, with ids 1 through 5.
    +5 records and 16 columns were read from REDCap in 0.42 seconds.
    +
    +  record_id name_first name_last                                 address      telephone               email
    +1         1     Nutmeg  Nutmouse 14 Rose Cottage St.\nKenning UK, 323232 (432) 456-4848     nutty@mouse.com
    +2         2     Tumtum  Nutmouse 14 Rose Cottage Blvd.\nKenning UK 34243 (234) 234-2343    tummy@mouse.comm
    +3         3     Marcus      Wood          243 Hill St.\nGuthrie OK 73402 (433) 435-9865        mw@mwood.net
    +4         4      Trudy       DAG          342 Elm\nDuncanville TX, 75116 (987) 654-3210 peroxide@blonde.com
    +5         5   John Lee    Walker      Hotel Suite\nNew Orleans LA, 70115 (333) 333-4444  left@hippocket.com
    +
    +         dob age ethnicity race sex height weight   bmi
    +1 2003-08-30  10         1    2   0   5.00      1 400.0
    +2 2003-03-10  10         1    6   1   6.00      1 277.8
    +3 1934-04-09  79         0    4   1 180.00     80  24.7
    +4 1952-11-02  61         1    4   0 165.00     54  19.8
    +5 1955-04-15  58         1    4   1 193.04    104  27.9
    +
    +                                                                                                     comments
    +1                                                                     Character in a book, with some guessing
    +2                                                                          A mouse character from a good book
    +3                                                                                          completely made up
    +4 This record doesn't have a DAG assigned\n\nSo call up Trudy on the telephone\nSend her a letter in the mail
    +5                 Had a hand for trouble and a eye for cash\n\nHe had a gold watch chain and a black mustache
    +
    +  demographics_complete
    +1                     2
    +2                     2
    +3                     2
    +4                     2
    +5                     2
  9. -

    Can the user export from their own project? The code is similar to the previous check, but the uri and token values will need to be modified. r library(REDCapR) #Load the package into the current R session, if you haven't already. redcap_uri <- "https://the.urlofyourinsitution.edu/api/" token <- "your-secret-token" redcap_read(redcap_uri=uri, token=token)$data

    -

    Alternatively, a redcap_project object can be declared initially, which makes subsequent calls cleaner when the token and url are required only the when the object is declared. ```r library(REDCapR) #Load the package into the current R session, if you haven’t already. uri <- “https://bbmc.ouhsc.edu/redcap/api/” token <- “9A81268476645C4E5F03428B8AC3AA7B” project <- redcap_project$new(redcap_uri=uri, token=token)

    -

    ds_three_columns <- project\(read(fields=c("record_id", "sex", "age"))\)data

    -

    ids_of_males <- ds_three_columns\(record_id[ds_three_columns\)sex==1] ids_of_minors <- ds_three_columns\(record_id[ds_three_columns\)age < 18]

    -

    ds_males <- project\(read(records=ids_of_males, batch_size=2)\)data ds_minors <- project\(read(records=ids_of_minors)\)data ```

    +

    Can the user export from their own project? The code is similar to the previous check, but the uri and token values will need to be modified.

    +
    library(REDCapR) #Load the package into the current R session, if you haven't already.
    +redcap_uri       <- "https://the.urlofyourinsitution.edu/api/"
    +token            <- "your-secret-token"
    +redcap_read(redcap_uri=uri, token=token)$data
    +

    Alternatively, a redcap_project object can be declared initially, which makes subsequent calls cleaner when the token and url are required only the when the object is declared.

    +
  10. Is the export operation still unsuccessful using REDCapR? If so the “Can the user query a entire REDCap project using RCurl?” check succeeded, but the REDCapR checks did not, consider posting a new GitHub issue to the package developers.

@@ -297,20 +351,63 @@

If you’re not using redcapAPI, you can skip this section and proceed to ‘Importing into REDCap from R’ below. More specific discussion about redcapAPI can be found at the package’s wiki.

  1. -

    Is redcapAPI installed on the user’s machine? Currently, the easiest way to install redcapAPI is from CRAN. r install.packages("redcapAPI")

    -

    Developmental versions may be available on GitHub. r install.packages("devtools", repos="http://cran.rstudio.com") devtools::install_github(repo="nutterb/redcapAPI")

    +

    Is redcapAPI installed on the user’s machine? Currently, the easiest way to install redcapAPI is from CRAN.

    +
    install.packages("redcapAPI")
    +

    Developmental versions may be available on GitHub.

    +
    install.packages("devtools", repos="http://cran.rstudio.com")
    +remotes::install_github(repo="nutterb/redcapAPI")
    +
  2. +
  3. +

    Does redcapAPI load successfully on the user’s machine? If so, running library(redcapAPI) should produce the following output if you’re starting with a fresh session of R:

    +
  4. -
  5. Does redcapAPI load successfully on the user’s machine? If so, running library(redcapAPI) should produce the following output if you’re starting with a fresh session of R: r library(redcapAPI) ## Loading required package: redcapAPI

  6. -

    Can the user export from an example project? This is the same fake data hosted by the OUHSC BBMC as in the previous section. r library(redcapAPI) #Load the package into the current R session. rcon <- redcapConnection( url = "https://bbmc.ouhsc.edu/redcap/api/", token = "9A81268476645C4E5F03428B8AC3AA7B" ) exportRecords(rcon)

    -

    The previous code should produce similar output. Notice there are five rows and the columns will wrap around if your console window is too narrow. ``` record_id name_first name_last address telephone email 1 1 Nutmeg Nutmouse 14 Rose Cottage St.UK, 323232 (432) 456-4848 2 2 Tumtum Nutmouse 14 Rose Cottage Blvd.UK 34243 (234) 234-2343 3 3 Marcus Wood 243 Hill St.OK 73402 (433) 435-9865 4 4 Trudy DAG 342 ElmTX, 75116 (987) 654-3210 5 5 John Lee Walker Hotel SuiteOrleans LA, 70115 (333) 333-4444

    -
        dob age ethnicity race sex height weight   bmi
    -

    1 2003-08-30 10 1 2 0 5.00 1 400.0 2 2003-03-10 10 1 6 1 6.00 1 277.8 3 1934-04-09 79 0 4 1 180.00 80 24.7 4 1952-11-02 61 1 4 0 165.00 54 19.8 5 1955-04-15 58 1 4 1 193.04 104 27.9

    -
                                                                                                    comments
    -

    1 Character in a book, with some guessing 2 A mouse character from a good book 3 completely made up 4 This record doesn’t have a DAG assignedcall up Trudy on the telephoneher a letter in the mail 5 Had a hand for trouble and a eye for cashhad a gold watch chain and a black mustache

    -

    demographics_complete 1 2 2 2 3 2 4 2 5 2 ```

    +

    Can the user export from an example project? This is the same fake data hosted by the OUHSC BBMC as in the previous section.

    + +

    The previous code should produce similar output. Notice there are five rows and the columns will wrap around if your console window is too narrow.

    +
    record_id name_first name_last                                 address      telephone               email
    +1         1     Nutmeg  Nutmouse 14 Rose Cottage St.\nKenning UK, 323232 (432) 456-4848     nutty@mouse.com
    +2         2     Tumtum  Nutmouse 14 Rose Cottage Blvd.\nKenning UK 34243 (234) 234-2343    tummy@mouse.comm
    +3         3     Marcus      Wood          243 Hill St.\nGuthrie OK 73402 (433) 435-9865        mw@mwood.net
    +4         4      Trudy       DAG          342 Elm\nDuncanville TX, 75116 (987) 654-3210 peroxide@blonde.com
    +5         5   John Lee    Walker      Hotel Suite\nNew Orleans LA, 70115 (333) 333-4444  left@hippocket.com
    +
    +       dob age ethnicity race sex height weight   bmi
    +1 2003-08-30  10         1    2   0   5.00      1 400.0
    +2 2003-03-10  10         1    6   1   6.00      1 277.8
    +3 1934-04-09  79         0    4   1 180.00     80  24.7
    +4 1952-11-02  61         1    4   0 165.00     54  19.8
    +5 1955-04-15  58         1    4   1 193.04    104  27.9
    +
    +                                                                                                   comments
    +1                                                                     Character in a book, with some guessing
    +2                                                                          A mouse character from a good book
    +3                                                                                          completely made up
    +4 This record doesn't have a DAG assigned\n\nSo call up Trudy on the telephone\nSend her a letter in the mail
    +5                 Had a hand for trouble and a eye for cash\n\nHe had a gold watch chain and a black mustache
    +
    +demographics_complete
    +1                     2
    +2                     2
    +3                     2
    +4                     2
    +5                     2
    +
  7. +
  8. +

    Can the user export from their own project? The code is similar to the previous check, but the uri and token values will need to be modified.

    +
  9. -
  10. Can the user export from their own project? The code is similar to the previous check, but the uri and token values will need to be modified. r library(redcapAPI) #Load the package into the current R session, if you haven't already. rcon <- redcapConnection( url = "https://the.urlofyourinsitution.edu/api/", # Adapt this to your server. token = "your-secret-token" # Adapt this to your user's token. ) exportRecords(rcon)

  11. Is the export operation still unsuccessful using redcapAPI? If so the “Can the user query a entire REDCap project using RCurl?” check succeeded, but the redcapAPI checks did not, consider posting a new GitHub issue to the package developers.

@@ -343,14 +440,16 @@

Other good resources

diff --git a/docs/articles/advanced-redcapr-operations.html b/docs/articles/advanced-redcapr-operations.html index ea891e37..3e2b739e 100644 --- a/docs/articles/advanced-redcapr-operations.html +++ b/docs/articles/advanced-redcapr-operations.html @@ -40,7 +40,7 @@ REDCapR - 0.9.10.9003 + 0.10.1
@@ -108,7 +108,7 @@ -
#> 18 records and 125 columns were read from REDCap in 0.6 seconds.  The http status code was 200.
+
#> 18 records and 125 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
ds_long %>%
   dplyr::select(study_id, redcap_event_name, pmq1, pmq2, pmq3, pmq4)
#>    study_id        redcap_event_name pmq1 pmq2 pmq3 pmq4
@@ -252,14 +252,14 @@ 

token = token_simple, config_options = config_options )$data

-
#> 5 records and 24 columns were read from REDCap in 0.5 seconds.  The http status code was 200.
+
#> 5 records and 24 columns were read from REDCap in 0.3 seconds.  The http status code was 200.
-
#> 5 records and 24 columns were read from REDCap in 0.5 seconds.  The http status code was 200.
+
#> 5 records and 24 columns were read from REDCap in 0.2 seconds.  The http status code was 200.

@@ -275,82 +275,80 @@

#> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 -#> tz America/Denver -#> date 2019-09-20 +#> tz America/Chicago +#> date 2019-09-22 #> #> ─ Packages ────────────────────────────────────────────────────────────── -#> package * version date lib source -#> assertthat 0.2.1 2019-03-21 [2] CRAN (R 3.6.0) -#> backports 1.1.4 2019-04-10 [2] CRAN (R 3.6.0) -#> callr 3.3.1 2019-07-18 [2] CRAN (R 3.6.1) -#> checkmate 1.9.4 2019-07-04 [2] CRAN (R 3.6.0) -#> cli 1.1.0 2019-03-19 [2] CRAN (R 3.6.0) -#> colorspace 1.4-1 2019-03-18 [2] CRAN (R 3.6.0) -#> crayon 1.3.4 2017-09-16 [2] CRAN (R 3.6.0) -#> curl 4.1 2019-09-16 [2] CRAN (R 3.6.1) -#> desc 1.2.0 2018-05-01 [2] CRAN (R 3.6.0) -#> devtools 2.2.0 2019-09-07 [2] CRAN (R 3.6.1) -#> digest 0.6.20 2019-07-04 [2] CRAN (R 3.6.0) -#> dplyr 0.8.3 2019-07-04 [2] CRAN (R 3.6.0) -#> DT 0.8 2019-08-07 [2] CRAN (R 3.6.1) -#> ellipsis 0.2.0.1 2019-07-02 [2] CRAN (R 3.6.0) -#> evaluate 0.14 2019-05-28 [2] CRAN (R 3.6.0) -#> fs 1.3.1 2019-05-06 [2] CRAN (R 3.6.0) -#> glue 1.3.1 2019-03-12 [2] CRAN (R 3.6.0) -#> hms 0.5.1 2019-08-23 [2] CRAN (R 3.6.1) -#> htmltools 0.3.6 2017-04-28 [2] CRAN (R 3.6.0) -#> htmlwidgets 1.3 2018-09-30 [2] CRAN (R 3.6.0) -#> httr 1.4.1 2019-08-05 [2] CRAN (R 3.6.1) -#> kableExtra 1.1.0.9001 2019-05-18 [2] local -#> knitr * 1.24 2019-08-08 [2] CRAN (R 3.6.1) -#> lifecycle 0.1.0 2019-08-01 [2] CRAN (R 3.6.1) -#> magrittr * 1.5 2014-11-22 [2] CRAN (R 3.6.0) -#> MASS 7.3-51.4 2019-04-26 [2] CRAN (R 3.6.0) -#> memoise 1.1.0 2017-04-21 [2] CRAN (R 3.6.0) -#> munsell 0.5.0 2018-06-12 [2] CRAN (R 3.6.0) -#> pillar 1.4.2 2019-06-29 [2] CRAN (R 3.6.0) -#> pkgbuild 1.0.5 2019-08-26 [2] CRAN (R 3.6.1) -#> pkgconfig 2.0.2 2018-08-16 [2] CRAN (R 3.6.0) -#> pkgdown 1.4.1 2019-09-15 [2] CRAN (R 3.6.1) -#> pkgload 1.0.2 2018-10-29 [2] CRAN (R 3.6.0) -#> prettyunits 1.0.2 2015-07-13 [2] CRAN (R 3.6.0) -#> processx 3.4.1 2019-07-18 [2] CRAN (R 3.6.1) -#> ps 1.3.0 2018-12-21 [2] CRAN (R 3.6.0) -#> purrr 0.3.2 2019-03-15 [2] CRAN (R 3.6.0) -#> R6 2.4.0 2019-02-14 [2] CRAN (R 3.6.0) -#> Rcpp 1.0.2 2019-07-25 [2] CRAN (R 3.6.1) -#> readr 1.3.1 2018-12-21 [2] CRAN (R 3.6.0) -#> REDCapR * 0.9.10.9003 2019-09-21 [1] local -#> remotes 2.1.0 2019-06-24 [2] CRAN (R 3.6.0) -#> rlang 0.4.0 2019-06-25 [2] CRAN (R 3.6.0) -#> rmarkdown 1.15 2019-08-21 [2] CRAN (R 3.6.1) -#> rprojroot 1.3-2 2018-01-03 [2] CRAN (R 3.6.0) -#> rstudioapi 0.10 2019-03-19 [2] CRAN (R 3.6.0) -#> rvest 0.3.4 2019-05-15 [2] CRAN (R 3.6.0) -#> scales 1.0.0 2018-08-09 [2] CRAN (R 3.6.0) -#> sessioninfo 1.1.1 2018-11-05 [2] CRAN (R 3.6.0) -#> stringi 1.4.3 2019-03-12 [2] CRAN (R 3.6.0) -#> stringr 1.4.0 2019-02-10 [2] CRAN (R 3.6.0) -#> testthat 2.2.1 2019-07-25 [2] CRAN (R 3.6.1) -#> tibble 2.1.3 2019-06-06 [2] CRAN (R 3.6.0) -#> tidyr 1.0.0 2019-09-11 [2] CRAN (R 3.6.1) -#> tidyselect 0.2.5 2018-10-11 [2] CRAN (R 3.6.0) -#> usethis 1.5.1 2019-07-04 [2] CRAN (R 3.6.0) -#> vctrs 0.2.0 2019-07-05 [2] CRAN (R 3.6.0) -#> viridisLite 0.3.0 2018-02-01 [2] CRAN (R 3.6.0) -#> webshot 0.5.1 2018-09-28 [2] CRAN (R 3.6.0) -#> withr 2.1.2 2018-03-15 [2] CRAN (R 3.6.0) -#> xfun 0.9 2019-08-21 [2] CRAN (R 3.6.1) -#> xml2 1.2.2 2019-08-09 [2] CRAN (R 3.6.1) -#> yaml 2.2.0 2018-07-25 [2] CRAN (R 3.6.0) -#> zeallot 0.1.0 2018-01-28 [2] CRAN (R 3.6.0) +#> package * version date lib source +#> assertthat 0.2.1 2019-03-21 [2] CRAN (R 3.6.0) +#> backports 1.1.4 2019-04-10 [2] CRAN (R 3.6.0) +#> callr 3.3.1 2019-07-18 [2] CRAN (R 3.6.1) +#> checkmate 1.9.4 2019-07-04 [2] CRAN (R 3.6.0) +#> cli 1.1.0 2019-03-19 [2] CRAN (R 3.6.0) +#> colorspace 1.4-1 2019-03-18 [2] CRAN (R 3.6.0) +#> crayon 1.3.4 2017-09-16 [2] CRAN (R 3.6.0) +#> curl 4.1 2019-09-16 [2] CRAN (R 3.6.1) +#> desc 1.2.0 2018-05-01 [2] CRAN (R 3.6.0) +#> devtools 2.2.0.9000 2019-09-21 [2] Github (r-lib/devtools@2765fbe) +#> digest 0.6.21 2019-09-20 [2] CRAN (R 3.6.1) +#> dplyr 0.8.3 2019-07-04 [2] CRAN (R 3.6.0) +#> ellipsis 0.3.0 2019-09-20 [2] CRAN (R 3.6.1) +#> evaluate 0.14 2019-05-28 [2] CRAN (R 3.6.0) +#> fs 1.3.1 2019-05-06 [2] CRAN (R 3.6.0) +#> glue 1.3.1 2019-03-12 [2] CRAN (R 3.6.0) +#> hms 0.5.1 2019-08-23 [2] CRAN (R 3.6.1) +#> htmltools 0.3.6 2017-04-28 [2] CRAN (R 3.6.0) +#> httr 1.4.1 2019-08-05 [2] CRAN (R 3.6.1) +#> kableExtra 1.1.0.9001 2019-05-18 [2] local +#> knitr * 1.25 2019-09-18 [2] CRAN (R 3.6.1) +#> lifecycle 0.1.0 2019-08-01 [2] CRAN (R 3.6.1) +#> magrittr * 1.5 2014-11-22 [2] CRAN (R 3.6.0) +#> MASS 7.3-51.4 2019-04-26 [2] CRAN (R 3.6.0) +#> memoise 1.1.0 2017-04-21 [2] CRAN (R 3.6.0) +#> munsell 0.5.0 2018-06-12 [2] CRAN (R 3.6.0) +#> pillar 1.4.2 2019-06-29 [2] CRAN (R 3.6.0) +#> pkgbuild 1.0.5 2019-08-26 [2] CRAN (R 3.6.1) +#> pkgconfig 2.0.2 2018-08-16 [2] CRAN (R 3.6.0) +#> pkgdown 1.4.1 2019-09-15 [2] CRAN (R 3.6.1) +#> pkgload 1.0.2 2018-10-29 [2] CRAN (R 3.6.0) +#> prettyunits 1.0.2 2015-07-13 [2] CRAN (R 3.6.0) +#> processx 3.4.1 2019-07-18 [2] CRAN (R 3.6.1) +#> ps 1.3.0 2018-12-21 [2] CRAN (R 3.6.0) +#> purrr 0.3.2 2019-03-15 [2] CRAN (R 3.6.0) +#> R6 2.4.0 2019-02-14 [2] CRAN (R 3.6.0) +#> Rcpp 1.0.2 2019-07-25 [2] CRAN (R 3.6.1) +#> readr 1.3.1 2018-12-21 [2] CRAN (R 3.6.0) +#> REDCapR * 0.10.1 2019-09-22 [1] local +#> remotes 2.1.0 2019-06-24 [2] CRAN (R 3.6.0) +#> rlang 0.4.0 2019-06-25 [2] CRAN (R 3.6.0) +#> rmarkdown 1.15 2019-08-21 [2] CRAN (R 3.6.1) +#> rprojroot 1.3-2 2018-01-03 [2] CRAN (R 3.6.0) +#> rstudioapi 0.10 2019-03-19 [2] CRAN (R 3.6.0) +#> rvest 0.3.4 2019-05-15 [2] CRAN (R 3.6.0) +#> scales 1.0.0 2018-08-09 [2] CRAN (R 3.6.0) +#> sessioninfo 1.1.1 2018-11-05 [2] CRAN (R 3.6.0) +#> stringi 1.4.3 2019-03-12 [2] CRAN (R 3.6.0) +#> stringr 1.4.0 2019-02-10 [2] CRAN (R 3.6.0) +#> testthat 2.2.1 2019-07-25 [2] CRAN (R 3.6.1) +#> tibble 2.1.3 2019-06-06 [2] CRAN (R 3.6.0) +#> tidyr 1.0.0 2019-09-11 [2] CRAN (R 3.6.1) +#> tidyselect 0.2.5 2018-10-11 [2] CRAN (R 3.6.0) +#> usethis 1.5.1 2019-07-04 [2] CRAN (R 3.6.0) +#> vctrs 0.2.0 2019-07-05 [2] CRAN (R 3.6.0) +#> viridisLite 0.3.0 2018-02-01 [2] CRAN (R 3.6.0) +#> webshot 0.5.1 2018-09-28 [2] CRAN (R 3.6.0) +#> withr 2.1.2 2018-03-15 [2] CRAN (R 3.6.0) +#> xfun 0.9 2019-08-21 [2] CRAN (R 3.6.1) +#> xml2 1.2.2 2019-08-09 [2] CRAN (R 3.6.1) +#> yaml 2.2.0 2018-07-25 [2] CRAN (R 3.6.0) +#> zeallot 0.1.0 2018-01-28 [2] CRAN (R 3.6.0) #> -#> [1] /tmp/RtmpdqBkOl/temp_libpath4e0f587a791c +#> [1] /tmp/RtmpsgrWgH/temp_libpath740257cb29b9 #> [2] /home/wibeasley/R/x86_64-pc-linux-gnu-library/3.6 #> [3] /usr/local/lib/R/site-library #> [4] /usr/lib/R/site-library #> [5] /usr/lib/R/library -

Report rendered by wibeasley at 2019-09-20, 18:17 -0600 in 5 seconds.

+

Report rendered by wibeasley at 2019-09-22, 15:37 -0500 in 4 seconds.

diff --git a/docs/articles/index.html b/docs/articles/index.html index 949f2d2a..31d6f053 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -82,7 +82,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/authors.html b/docs/authors.html index 6db4fc32..cc13dae3 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -82,7 +82,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/favicon-16x16.png b/docs/favicon-16x16.png deleted file mode 100644 index 20d5957754577f371ae4ba3bf6b8a1d22a8042de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 zcma)6X;4#V6#bHrog^#a1cM|7vJfhutm1}MK?s(LiWsZXR^!rEwAR+G z*dl5zo8p3?vWN&oWC<#2tz9*xbUIE)XXp<*)~UUjXlMGPGktUOzW3fe_ndR@m-ni& zGiNbq;WUI0BQ4dD3oGXTQ3!BWMYHC@612jWVMC~8Fa3ET5$>f$sks>lRVom2??C7o zJaYev(0VOGj|vbnRU;HuUelRlMhJf)drn@;077>V8m3TgA~YBrd;_5oGPy@6^l&(% za80GUD=WLEP8~zYOCk-?=^c@g15D->k?68S(kYV-2?T=-Mq55$;rKZ{uQwpsZ<~V-2m(wn|+k|i;0$1ZK@4CR^fF2y zcqtUpKS`s8H5)Y5!H>~=o`Z1k%XYH!b0oIpvf)wV$!S8KH%N=$n3;zix~zN_$Wd+5r|^uGlE>%ftj z9E?a)7_^Zr9EpTQ%vii6K2)e?1W|E#`Ic&DFisswVd0bqo6AVJ1U-dM4vML2ui`WF zV}m5TFtfY=)O>?W6t2dmJKVRrkL%a3Bn9iE9O=6s-t_D|l7yFV?Kwv$#|Q1pFdjv- zsQqa*J0*x{Qeun7es|34k@B;01nCo9@pu0y#Tg2+7ED&3?Z>d}WzN;zPyT$Gp;=n8 zYF+*FS^_U2YkB#u+m9w6Kkyu$vvzymW@r$%eD*BIFTG{?{mG*Qtpv09xzZaN+jR0ehYj0B@;ra3XmVhut>n?0H2 zNO^5mY8p9x_8bbLW@Kj3=-D~BbMu1d&0oMk%!P~cS&Ls^vUFJiR=B)~jA+Hq684HW zO5a>r7P4yf8VB<{J|+t=?IAHO!>^Iad5BgN40h)~-SV=vhDH{@dh{{R30 diff --git a/docs/favicon-32x32.png b/docs/favicon-32x32.png deleted file mode 100644 index 02f147c021cd999d02e00b4b2182616b6940e289..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2302 zcmZ`)dpHyN8~<*@T!z+kqFibPx)=v4HhnHjZ6Lb=RXxvbe3N?WCNDwoc(HWa60 zgyfndw|1gaGUSqLSh?hW55H2*`t$e4?|Gm1{k+fT^L(DqU+?q&cFYZ@s=PxP0HBI@ zb|lFV{i78XWHTx*Zbb%iAr3?b07_F-HUi{-h(XRIA^>rQ0I;tC@I^+kCjek#0GRRz zz)k?bc3Nij@n22sVFIc3mD%#=sePq7!^XX&Y31t3&kjXEG)W@95xhsv*g1 zAjOZV<#+y4{Cw1`Z~vsLIm!9_&yP~USRm3o6uNknEf9nTau)};>s>^Da9>EmUHTo~ zwI1kdwMPRAL2(qf61SZ@p#n$Ro&>Eo{s&%`MK=14JIGH)vpvZxG?<_i|Z91=#l=q_n=Bv$Pa=qk75X@?D?% z540UV{OrR}{DmG?ZDP}83lG#QN_VjVRFxKx4USb6C~G+N=FTd;-ly^M%hX0~kX3r# zrK=V(Sj*5Ji8eOMG2StrCp`ap!~E6AKAiMP`ve_&IsCGwqO};pR+!=1=XI72miw_y zOt7M)B%x5g*QWi+X)%#vX1t8BunFB>Q6sUMy#?I9?8UKtL8xFq>WoVBcM%0Ek@uLO4a(f3< z(dh+w#;2QjVgWl6PMb!#i-pv$wYLIM_F)Kx8%Dvgc_MipK@01g-^#U_DyS~8)&96V zJ)LBklXkZ?r|YRz7O4$+4@J|Dso3ogp0#ApF{BSMGq?77jzp}T#7WX;(%%Qu4fVT8 zc3E5N<37p(>BN$SHUt+&b~F+N6m}Uv2M~RNWJG0lCv)wMvMbbnmfL|mVDa!C@*r-- zGSHt&-)!PBE8h{lT%7ZR^5?k;E}oTgH)ox8Y{{W{dNPkc){iPYVBXU5w=fAmZFeWu zx_OCmCow$3gu3>fwSYDapN)?mK2-GtLccfr^Uk0hM64>OD9@m};01|OZFX9}GI)3T zC2gP>Tz~k^u34y9fvq+J<12vfO0N{|6(L;E2e-YzyPm@GkM5phoFmB3C`apoGx@)S z>3eJSQuDcstd}H;qmBN}+Y`BrI#C0E;cG_3xz&A3^KO&&M^{KYd`>@?z;J+Nb%lcs z>oYrjBC$}}TOzUX+&(WwjxpYMYj!N{jND&lNF9sg|$UsuBY z@7?-Q?jNFL{h@S^ce#HddvzNqnq8kMM}14I@aR&b+LLJKd z#|5ibPG)oNk3aqFL|g*cDxa-E`)lc zqq@%20K<|4MX$b-?v2r14exEcD1=9x^$Tw-o@Vll(E-wmrWoQw`QbC)GDU9ZOLFB~ zn5oEO!9_dKn#D(77juZ%X6WLw1=On|Ti}YBVj#Z4fC1anN@|Q=OGg0g-sS{9jb(np zNyrrhnU5Z3j?eq@n+v8t0kWT`USs9e*Phz|`#?`m-iZr39a_#plIqeZU)kQZ;GA{F z`|W#~<-)~pt3|BaVxRD`?P*}Gc_AZP zMo)Na@bKQc6)U{k0>Wej0cY}I@=shbQJR>TIQfAL5ohB6u%%sW9aSUjG~DDl9e?Lk z%Gd@qhq2npuR7c+9~77ZF8B4kYAY_atVtmG0_s{8+b%!#6TX_BNgW&BQRB1bFS`xuyswUXWinkU`|kDo-08)|Lb-*(qScDohEkD1cI@VG zPqNQb=}T)p4fL(C>bd$My+b9D)J2tYPbE-=5lY{WD-!C=TqaTb{k6n4klLy-j&)oO zm|0z^q4i%O=sim02vQ!+3$pw&W<5GDX==!;A>f0(=`;BD_1`}A8Yx_Tj@JKS168rxR zsCnH)nZYa0;}nAw5QC=CBPrCdU^F9^7L2CS7(oEAGDnsWiWg4q+4IJ|S%M!U0hqpu zS&#}!A4TA4z))yMwp9ZereE%XZtm@R-6(0)ZiF|powHrcz|?jmW9i7gG+6||JGnVN IIpTliUu8WY00000 diff --git a/docs/favicon.ico b/docs/favicon.ico deleted file mode 100644 index d334a2998d97727848c7cfdc593ff8e2beda6cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 diff --git a/docs/index.html b/docs/index.html index aedf4c3a..e3abca39 100644 --- a/docs/index.html +++ b/docs/index.html @@ -45,7 +45,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -114,7 +114,7 @@ -

We’ve been using R with REDCap’s API since 2012 and have developed REDCapR. Before encapsulating these functions in a package, we were replicating 50+ lines of code to contact REDCap and robustly transform the returned csv into an R data.frame; it took twice that much to implement batching. All this can be done in one call to redcap_read():

+

We’ve been using R with REDCap’s API since 2012 and have developed REDCapR. Before encapsulating these functions in a package, we were replicating 50+ lines of code to contact REDCap and robustly transform the returned csv into an R data.frame; it took twice that much to implement batching. All this can be done in one call to redcap_read():

ds <- redcap_read(redcap_uri=uri, token=token)$data

The redcap_read() function also accepts values for subsetting/filtering the records and fields. Here are two examples; the first selects only a portion of the rows, while the second selects only a portion of the columns. Documentation for the additional 20+ functions are found at ouhscbbmc.github.io/REDCapR/reference.

# Return only records with IDs of 1 and 4
@@ -148,7 +148,7 @@ 

Collaborative Development

-

We encourage input and collaboration. If you’re familiar with GitHub and R packages, feel free to submit a pull request. If you’d like to report a bug or make a suggestion, please create a GitHub issue; issues are a usually a good place to ask public questions too. However, feel free to email Will (). Please note that this project is released with a Contributor Code of Conduct; by participating in this project you agree to abide by its terms. We have some starting material described in the ./documentation-for-developers/ directory.

+

We encourage input and collaboration. If you’re familiar with GitHub and R packages, feel free to submit a pull request. If you’d like to report a bug or make a suggestion, please create a GitHub issue; issues are a usually a good place to ask public questions too. However, feel free to email Will (). Please note that this project is released with a Contributor Code of Conduct; by participating in this project you agree to abide by its terms. We have some starting material described in the ./documentation-for-developers/ directory.

We’d like to thank the following developers for their advice and code contributions: Benjamin Nutter, Rollie Parrish, Scott Burns, John Aponte, Andrew Peters, and Hao Zhu.

diff --git a/docs/news/index.html b/docs/news/index.html index f85771cc..9820f475 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -82,7 +82,7 @@ REDCapR - 0.9.10.9003 + 0.10.1
@@ -152,9 +152,9 @@

Changelog

Source: NEWS.md
-
+

-Version 0.10 (to be released) Unreleased +Version 0.10 (Released 2019-09-22) Unreleased

@@ -460,7 +460,7 @@

Contents

diff --git a/docs/reference/collapse_vector.html b/docs/reference/collapse_vector.html index 613e74d3..583f6456 100644 --- a/docs/reference/collapse_vector.html +++ b/docs/reference/collapse_vector.html @@ -85,7 +85,7 @@ REDCapR - 0.9.10.9003 + 0.10.1

diff --git a/docs/reference/constant.html b/docs/reference/constant.html index e2652a5d..62d0b6d8 100644 --- a/docs/reference/constant.html +++ b/docs/reference/constant.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1
diff --git a/docs/reference/create_batch_glossary.html b/docs/reference/create_batch_glossary.html index 0c5cf3f6..37e2d5f1 100644 --- a/docs/reference/create_batch_glossary.html +++ b/docs/reference/create_batch_glossary.html @@ -85,7 +85,7 @@ REDCapR - 0.9.10.9003 + 0.10.1
diff --git a/docs/reference/index.html b/docs/reference/index.html index df875415..ab228d78 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -82,7 +82,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/kernel_api.html b/docs/reference/kernel_api.html index db7e3d7c..9d8c3849 100644 --- a/docs/reference/kernel_api.html +++ b/docs/reference/kernel_api.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -199,7 +199,7 @@

Examp # Consume the results in a few different ways. kernel$result
#> Response [https://bbmc.ouhsc.edu/redcap/api/] -#> Date: 2019-09-21 00:15 +#> Date: 2019-09-22 20:35 #> Status: 200 #> Content-Type: text/csv; charset=utf-8 #> Size: 557 B diff --git a/docs/reference/metadata_utilities.html b/docs/reference/metadata_utilities.html index 7ac14999..4a664e5b 100644 --- a/docs/reference/metadata_utilities.html +++ b/docs/reference/metadata_utilities.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1
diff --git a/docs/reference/redcap_column_sanitize.html b/docs/reference/redcap_column_sanitize.html index 5b3a29d6..90e7437a 100644 --- a/docs/reference/redcap_column_sanitize.html +++ b/docs/reference/redcap_column_sanitize.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_download_file_oneshot.html b/docs/reference/redcap_download_file_oneshot.html index 8d12259d..cd453419 100644 --- a/docs/reference/redcap_download_file_oneshot.html +++ b/docs/reference/redcap_download_file_oneshot.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_metadata_read.html b/docs/reference/redcap_metadata_read.html index 67865182..8363ccb0 100644 --- a/docs/reference/redcap_metadata_read.html +++ b/docs/reference/redcap_metadata_read.html @@ -85,7 +85,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_next_free_record_name.html b/docs/reference/redcap_next_free_record_name.html index c846e73d..7412ce6a 100644 --- a/docs/reference/redcap_next_free_record_name.html +++ b/docs/reference/redcap_next_free_record_name.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -200,7 +200,7 @@

Note

Examples

uri <- "https://bbmc.ouhsc.edu/redcap/api/" token <- "9A81268476645C4E5F03428B8AC3AA7B" -REDCapR::redcap_next_free_record_name(redcap_uri=uri, token=token) # Should return "6"
#> The next free record name in REDCap was successfully determined in 0.8 seconds. The http status code was 200. It is 6.
#> [1] "6"
+REDCapR::redcap_next_free_record_name(redcap_uri=uri, token=token) # Should return "6"
#> The next free record name in REDCap was successfully determined in 0.3 seconds. The http status code was 200. It is 6.
#> [1] "6"
diff --git a/docs/reference/redcap_read.html b/docs/reference/redcap_read.html index ba20b119..79e3f8d6 100644 --- a/docs/reference/redcap_read.html +++ b/docs/reference/redcap_read.html @@ -86,7 +86,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_read_oneshot.html b/docs/reference/redcap_read_oneshot.html index 2d6992c1..9060fe96 100644 --- a/docs/reference/redcap_read_oneshot.html +++ b/docs/reference/redcap_read_oneshot.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_read_oneshot_eav.html b/docs/reference/redcap_read_oneshot_eav.html index 5753e03f..4e3b499d 100644 --- a/docs/reference/redcap_read_oneshot_eav.html +++ b/docs/reference/redcap_read_oneshot_eav.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_upload_file_oneshot.html b/docs/reference/redcap_upload_file_oneshot.html index 7204c6e5..1fdfa384 100644 --- a/docs/reference/redcap_upload_file_oneshot.html +++ b/docs/reference/redcap_upload_file_oneshot.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/redcap_users_export.html b/docs/reference/redcap_users_export.html index 53d9c29c..e72cbc61 100644 --- a/docs/reference/redcap_users_export.html +++ b/docs/reference/redcap_users_export.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -196,7 +196,7 @@

Note

Examples

uri <- "https://bbmc.ouhsc.edu/redcap/api/" token <- "06DEFB601F9B46847DAA9DF0CFA951B4" -result <- REDCapR::redcap_users_export(redcap_uri=uri, token=token)
#> The REDCap users were successfully exported in 0.6 seconds. The http status code was 200.
result$data_user
#> # A tibble: 2 x 31 +result <- REDCapR::redcap_users_export(redcap_uri=uri, token=token)
#> The REDCap users were successfully exported in 0.2 seconds. The http status code was 200.
result$data_user
#> # A tibble: 2 x 31 #> username email firstname lastname expiration data_access_gro… data_access_gro… #> <chr> <chr> <chr> <chr> <date> <chr> <chr> #> 1 unittes… wibe… Unit Test PHI Free NA daga 331 diff --git a/docs/reference/redcap_variables.html b/docs/reference/redcap_variables.html index a18e15be..5156abc6 100644 --- a/docs/reference/redcap_variables.html +++ b/docs/reference/redcap_variables.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1
diff --git a/docs/reference/redcap_version.html b/docs/reference/redcap_version.html index a20bd94a..c8a95dd2 100644 --- a/docs/reference/redcap_version.html +++ b/docs/reference/redcap_version.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 @@ -194,7 +194,7 @@

Details

Examples

uri <- "https://bbmc.ouhsc.edu/redcap/api/" token <- "9A81268476645C4E5F03428B8AC3AA7B" -REDCapR::redcap_version(redcap_uri=uri, token=token)
#> The REDCap version was successfully determined in 0.6 seconds. The http status code was 200. It is 9.0.0.
#> [1] ‘9.0.0’
+REDCapR::redcap_version(redcap_uri=uri, token=token)
#> The REDCap version was successfully determined in 0.2 seconds. The http status code was 200. It is 9.0.0.
#> [1] ‘9.0.0’
diff --git a/docs/reference/redcap_write_oneshot.html b/docs/reference/redcap_write_oneshot.html index 2f868fcb..42ff6581 100644 --- a/docs/reference/redcap_write_oneshot.html +++ b/docs/reference/redcap_write_oneshot.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/replace_nas_with_explicit.html b/docs/reference/replace_nas_with_explicit.html index f322c42f..3e97c114 100644 --- a/docs/reference/replace_nas_with_explicit.html +++ b/docs/reference/replace_nas_with_explicit.html @@ -85,7 +85,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/retrieve_credential.html b/docs/reference/retrieve_credential.html index 5df6a4db..9d9502c8 100644 --- a/docs/reference/retrieve_credential.html +++ b/docs/reference/retrieve_credential.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/sanitize_token.html b/docs/reference/sanitize_token.html index a4b40a02..026c5d24 100644 --- a/docs/reference/sanitize_token.html +++ b/docs/reference/sanitize_token.html @@ -84,7 +84,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/docs/reference/validate.html b/docs/reference/validate.html index 91d71218..bfe011eb 100644 --- a/docs/reference/validate.html +++ b/docs/reference/validate.html @@ -83,7 +83,7 @@ REDCapR - 0.9.10.9003 + 0.10.1 diff --git a/vignettes/styles.css b/vignettes/styles.css deleted file mode 100644 index a204b4f5..00000000 --- a/vignettes/styles.css +++ /dev/null @@ -1,8 +0,0 @@ -#nextsteps { - color: blue; -} - -.emphasized { - font-size: 1.2em; -} - From 887fb2efd9024cef1a8fd5fbf0f46d7f0f32400b Mon Sep 17 00:00:00 2001 From: Will Beasley Date: Sun, 22 Sep 2019 17:47:31 -0500 Subject: [PATCH 3/3] Cran comments & bump version closes #253 --- CRAN-RELEASE | 4 ++-- DESCRIPTION | 2 +- cran-comments.md | 27 ++++++++++++++------------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CRAN-RELEASE b/CRAN-RELEASE index 486d6b54..0c47ce39 100644 --- a/CRAN-RELEASE +++ b/CRAN-RELEASE @@ -1,2 +1,2 @@ -This package was submitted to CRAN on 2019-09-21. -Once it is accepted, delete this file and tag the release (commit 6d76e90b4c). +This package was submitted to CRAN on 2019-09-22. +Once it is accepted, delete this file and tag the release (commit c2830c824a). diff --git a/DESCRIPTION b/DESCRIPTION index 4a657853..ef0ebef4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -6,7 +6,7 @@ Description: Encapsulates functions to streamline calls from R to the REDCap University. The Application Programming Interface (API) offers an avenue to access and modify data programmatically, improving the capacity for literate and reproducible programming. -Version: 0.10.1 +Version: 0.10.2 Date: 2019-09-20 Authors@R: c(person("Will", "Beasley", role = c("aut", "cre"), email = "wibeasley@hotmail.com", comment = c(ORCID = "0000-0002-5613-5006")), diff --git a/cran-comments.md b/cran-comments.md index 31ada9c0..50d8c1d3 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -2,32 +2,33 @@ Description ----------------------------------------------- This submission includes new features and also addresses some (soon-to-be) breaking changes in the libraries underneath. +I have fixed the three points described in your previous response (documented in [our issue](https://github.com/OuhscBbmc/REDCapR/issues/253)). For the first point, I fixed some markdown syntax so the API's url is correctly interpreted. I'm sorry the test builds below didn't uncover the last two. + Thank you for taking the time to review my submission, and please tell me if there's something else I should do for CRAN. -Will Beasley Test environments ----------------------------------------------- -The win-builder and a local machine have used the CRAN version of dplyr. The others have used the current GitHub master version of dplyr. - -* Local Ubuntu, R 3.6.1 patched -* Local Win8, R 3.6.1 patched -* [r-hub](https://builder.r-hub.io/status/REDCapR_0.10.1.tar.gz-b2178285b2ac4196bce254c553eaab50) - * Ubuntu Linux 16.04 LTS, R-release, GCC - * Fedora Linux, R-devel, clang, gfortran -* [win-builder](https://win-builder.r-project.org/3wAMI67afYVu/), development version. -* [Travis CI](https://travis-ci.org/OuhscBbmc/REDCapR), Ubuntu 14.04 LTS -* [AppVeyor](https://ci.appveyor.com/project/wibeasley/REDCapR), Windows Server 2012 +1. Local Ubuntu, R 3.6.1 patched +1. Local Win8, R 3.6.1 patched +1. r-hub + 1. [Ubuntu Linux 16.04 LTS, R-release, GCC](https://builder.r-hub.io/status/REDCapR_0.10.1.tar.gz-ffc36a958fe44f3fb3263929670f8138) + 1. [Fedora Linux, R-devel, clang, gfortran](https://builder.r-hub.io/status/REDCapR_0.10.1.tar.gz-2e2bed0d3cda44429a8f830c2b9d8e92) + 1. [Windows Server](https://builder.r-hub.io/status/REDCapR_0.10.1.tar.gz-0c79ee0f9b3e49f7b381348e9f7283b0) +1. [win-builder](https://win-builder.r-project.org/a9ub2IBAb24W), development version. +1. [Travis CI](https://travis-ci.org/OuhscBbmc/REDCapR), Ubuntu 14.04 LTS +1. [AppVeyor](https://ci.appveyor.com/project/wibeasley/REDCapR), Windows Server 2012 R CMD check results ----------------------------------------------- -* No ERRORs or WARNINGs on any builds. -* There is one NOTE related to the url `https://bbmc.ouhsc.edu/redcap/api/`. This url is the root of the API, and not intended to be navigated to by humans. +* No ERRORs, WARNINGs, or NOTEs on any builds. Downstream dependencies ----------------------------------------------- -No other packages depend/import this one. +No downstream pakcages are affecteed. Only one package depends/imports REDCapR, and it passes my local checks. + * [codified](https://CRAN.R-project.org/package=codified)