Skip to content

Commit

Permalink
populate_config()
Browse files Browse the repository at this point in the history
ref #10
  • Loading branch information
wibeasley committed May 24, 2019
1 parent a8f2dbf commit 64e2a6c
Show file tree
Hide file tree
Showing 9 changed files with 317 additions and 16 deletions.
1 change: 1 addition & 0 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Depends:
stats
Imports:
dplyr,
glue,
httr (>= 1.3.0),
magrittr,
purrr,
Expand Down
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Generated by roxygen2: do not edit by hand

export(download_file_list)
export(populate_config)
export(retrieve_file_list)
export(start_cdw_skeleton_1)
export(start_r_analysis_skeleton)
Expand Down
46 changes: 46 additions & 0 deletions R/populate-config.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#' @name populate_config
#'
#' @title Populated the configuration value with project-specific values.
#'
#' @description `populate_config()` starts with config file and replaces the
#' template values with project-specific values.
#'
#' @param path_in [character] of the config file to populate. Required.
#' @param project_name [character] of the new project. Required.
#' @param path_out [character] of the config file to populate. Required.
#'
#' @importFrom magrittr %>%
#'
#' @author Will Beasley
#'
#' @examples
#' library(pluripotent)
#'
#' \dontrun{
#' url_config <- "https://github.com/OuhscBbmc/cdw-skeleton-1/blob/master/config.yml?raw=true"
#' path_in <- "~/config.yml"
#' path_out <- "~/config-out.yml"
#' utils::download.file(url=url_config, destfile=path_in)
#' populate_config(
#' path_in = path_in,
#' project_name = "thumann-awesomeness-1",
#' path_out = path_out
#' )
#' }

#' @export
populate_config <- function( path_in, project_name, path_out = path_in ) {

template <- readr::read_file(path_in)

value <-
glue::glue(
paste0(template, "\n"),
project_name = project_name,
schema_name = gsub("-", "_", project_name),
path_directory = "{path_directory}",
path_directory_output = "{path_directory_output}"
)

readr::write_file(value, path_out)
}
4 changes: 3 additions & 1 deletion R/start-project.R
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#' @aliases start_r_analysis_skeleton start_cdw_skeleton_1
#'
#'
#' @title Start specific projects project
#' @title Start specific projects
#'
#' @description `start_r_analysis_skeleton()` copies the files
#' to the `destination_directory` on your local maachine.
Expand Down Expand Up @@ -95,5 +95,7 @@ start_skeleton <- function(
directories[!dir.exists(directories)] %>%
purrr::walk(~dir.create(., recursive = T))

# browser()

purrr::walk2(.x=d$source, .y=d$destination, .f=~utils::download.file(url=.x, destfile=.y))
}
107 changes: 107 additions & 0 deletions inst/tests/config-out.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
default:

project_name : "thumann-awesomeness-1"
dsn_staging : "cdw_cache_staging"
# dsn_centricity : "cdw_outpost"
# dsn_idx : "cdw_waystation_idx"
schema_name : "thumann_awesomeness_1"
path_directory : "//pedsis/peds/data/BBMC/prairie-outpost/thumann-awesomeness-1"
path_directory_output : "{path_directory}/data/derived/%Y-%m-%d"
path_output_summary : "{path_directory}/data/derived/%Y-%m-%d/_summary.csv"
path_output_description : "{path_directory}/data/derived/%Y-%m-%d/_description.md"
# path_output_summary : "{path_directory_output}/_summary.csv"
# path_output_description : "{path_directory_output}/_description.md"

tables_to_scribe:
-
name: person
sql: "SELECT * FROM thumann_awesomeness_1.person"
columns_include: ""
#columns_exclude: ""
path_output: "{path_directory_output}/person.csv"
#path_output: "data-public/derived/%Y-%m-%d/person.csv"
row_unit: each row represents a distinct patient.
-
name: obs
sql: ""
columns_include: "mrn_flowcast, obs_date, obs_term, obs_value"
path_output: "{path_directory_output}/obs.csv"
#path_output: "data-public/derived/%Y-%m-%d/obs.csv"
row_unit: each row represents a distinct measurement
-
name: medicate
columns_include: "*"
#columns_exclude: "start_date, stop_date"
path_output: "{path_directory_output}/medicate.csv"
#path_output: "data-public/derived/%Y-%m-%d/medicate.csv"
row_unit: each row represents a distinct prescription

# #sweep and specify
# fs_input_review_required_centricity_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-required/diagnosis"
# fs_input_review_required_centricity_location : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-required/location"
# fs_input_review_required_centricity_medication : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-required/medication"
# fs_input_review_required_centricity_obs : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-required/obs"
# fs_input_review_required_idx_cpt : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-required/cpt"
# fs_input_review_required_idx_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-required/diagnosis"
# fs_input_review_required_idx_location : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-required/location"
# fs_input_review_required_idx_sched_location : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-required/sched-location"
# fs_input_review_skip_centricity_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-skip/diagnosis"
# fs_input_review_skip_centricity_location : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-skip/location"
# fs_input_review_skip_centricity_medication : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-skip/medication"
# fs_input_review_skip_centricity_obs : "{path_directory_output}/data-public/sweep-and-specify-centricity/input/review-skip/obs"
# fs_input_review_skip_idx_cpt : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-skip/cpt"
# fs_input_review_skip_idx_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-skip/diagnosis"
# fs_input_review_skip_idx_location : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-skip/location"
# fs_input_review_skip_idx_sched_location : "{path_directory_output}/data-public/sweep-and-specify-idx/input/review-skip/sched-location"
# fs_review_centricity_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-centricity/review/diagnosis"
# fs_review_centricity_location : "{path_directory_output}/data-public/sweep-and-specify-centricity/review/location"
# fs_review_centricity_medication : "{path_directory_output}/data-public/sweep-and-specify-centricity/review/medication"
# fs_review_centricity_obs : "{path_directory_output}/data-public/sweep-and-specify-centricity/review/obs"
# fs_review_idx_cpt : "{path_directory_output}/data-public/sweep-and-specify-idx/review/cpt"
# fs_review_idx_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-idx/review/diagnosis"
# fs_review_idx_location : "{path_directory_output}/data-public/sweep-and-specify-idx/review/location"
# fs_review_idx_sched_location : "{path_directory_output}/data-public/sweep-and-specify-idx/review/sched-location"
# fs_review_original_centricity_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-original/diagnosis"
# fs_review_original_centricity_location : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-original/location"
# fs_review_original_centricity_medication : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-original/medication"
# fs_review_original_centricity_obs : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-original/obs"
# fs_review_original_idx_cpt : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-original/cpt"
# fs_review_original_idx_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-original/diagnosis"
# fs_review_original_idx_location : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-original/location"
# fs_review_original_idx_sched_location : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-original/sched-location"
# fs_to_database_centricity_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-to-database/diagnosis"
# fs_to_database_centricity_location : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-to-database/location"
# fs_to_database_centricity_medication : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-to-database/medication"
# fs_to_database_centricity_obs : "{path_directory_output}/data-public/sweep-and-specify-centricity/reviewed-to-database/obs"
# fs_to_database_idx_cpt : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-to-database/cpt"
# fs_to_database_idx_diagnosis : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-to-database/diagnosis"
# fs_to_database_idx_location : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-to-database/location"
# fs_to_database_idx_sched_location : "{path_directory_output}/data-public/sweep-and-specify-idx/reviewed-to-database/sched-location"

# gt_sql_review_required_centricity_diagnosis : "manipulation/sweep-and-specify/sql/review-required-centricity-diagnosis.sql"
# gt_sql_review_required_centricity_location : "manipulation/sweep-and-specify/sql/review-required-centricity-location.sql"
# gt_sql_review_required_centricity_medication : "manipulation/sweep-and-specify/sql/review-required-centricity-medication.sql"
# gt_sql_review_required_centricity_obs : "manipulation/sweep-and-specify/sql/review-required-centricity-obs.sql"
# gt_sql_review_required_idx_cpt : "manipulation/sweep-and-specify/sql/review-required-idx-cpt.sql"
# gt_sql_review_required_idx_diagnosis : "manipulation/sweep-and-specify/sql/review-required-idx-diagnosis.sql"
# gt_sql_review_required_idx_location : "manipulation/sweep-and-specify/sql/review-required-idx-location.sql"
# gt_sql_review_required_idx_sched_location : "manipulation/sweep-and-specify/sql/review-required-idx-sched-location.sql"
# gt_sql_review_skip_centricity_diagnosis : "manipulation/sweep-and-specify/sql/review-skip-centricity-diagnosis.sql"
# gt_sql_review_skip_centricity_location : "manipulation/sweep-and-specify/sql/review-skip-centricity-location.sql"
# gt_sql_review_skip_centricity_medication : "manipulation/sweep-and-specify/sql/review-skip-centricity-medication.sql"
# gt_sql_review_skip_centricity_obs : "manipulation/sweep-and-specify/sql/review-skip-centricity-obs.sql"
# gt_sql_review_skip_idx_cpt : "manipulation/sweep-and-specify/sql/review-skip-idx-cpt.sql"
# gt_sql_review_skip_idx_diagnosis : "manipulation/sweep-and-specify/sql/review-skip-idx-diagnosis.sql"
# gt_sql_review_skip_idx_location : "manipulation/sweep-and-specify/sql/review-skip-idx-location.sql"
# gt_sql_review_skip_idx_sched_location : "manipulation/sweep-and-specify/sql/review-skip-idx-sched-location.sql"

# fs_archive_centricity : "{path_directory_output}/data-public/sweep-and-specify-centricity/archive"
# fs_archive_idx : "{path_directory_output}/data-public/sweep-and-specify-idx/archive"

# #csv report generator
# gt_sql_queries_to_csv : "manipulation/sql-queries-to-csv-report/sql-to-generate-csv"
# gt_sql_csv_report_generated : "manipulation/sql-queries-to-csv-report/sql-csv-report-generated"
# fs_csv_report : "//pedsis/peds/data/BBMC/prairie-outpost/thumann-awesomeness-1/csv-report"

path_database : "data-public/raw/emr-mock.sqlite"
# project_name : !expr basename(getwd())
Loading

0 comments on commit 64e2a6c

Please sign in to comment.