---
title: "Shiny-app"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Shiny-app}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

To make the easiest possible transition from spreadsheet/dataset to REDCap, I have created a small app, which adds a graphical interface to the casting of a data dictionary and data upload. Install the package and launch the app as follows:

```{r eval=FALSE}
REDCapCAST::shiny_cast()
```

The app primarily wraps one function: `ds2dd_detailed()`.

```{r}
REDCap_split(
    records = redcapcast_data,
    metadata = redcapcast_meta,
    forms = "all"
  ) |> 
  sanitize_split() |> 
  redcap_wider() |> 
  ds2dd_detailed()|>  
  purrr::pluck("data") |> 
  readr::type_convert( 
      col_types = readr::cols(.default = readr::col_guess()))
```


```{r}
redcapcast_data |> 
  dplyr::mutate(dplyr::across(dplyr::everything(),as.character)) |>  
  readr::type_convert( 
      col_types = readr::cols(.default = readr::col_guess()))
```


