diff --git a/NAMESPACE b/NAMESPACE index a9a5cd9..5a563e6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,21 +1,12 @@ # Generated by roxygen2: do not edit by hand -S3method(set_metadata_ref,data_metadata) -S3method(set_metadata_ref,datasetjson) -S3method(set_metadata_ref,default) -S3method(set_metadata_version,data_metadata) -S3method(set_metadata_version,datasetjson) -S3method(set_metadata_version,default) -S3method(set_study_oid,data_metadata) -S3method(set_study_oid,datasetjson) -S3method(set_study_oid,default) -export(data_metadata) export(dataset_json) -export(dataset_metadata) -export(file_metadata) export(read_dataset_json) -export(set_data_type) +export(set_as_reference_data) +export(set_dataset_label) +export(set_dataset_name) export(set_file_oid) +export(set_item_oid) export(set_metadata_ref) export(set_metadata_version) export(set_originator) diff --git a/R/archive/data_metadata.R b/R/archive/data_metadata.R new file mode 100644 index 0000000..1ab098a --- /dev/null +++ b/R/archive/data_metadata.R @@ -0,0 +1,56 @@ +#' Create the data metadata container for a Dataset JSON object +#' +#' @param study Study OID value +#' @param metadata_version Metadata version OID value +#' @param metadata_ref Metadata reference (i.e. path to Define.xml) +#' +#' @return data_metadata object +#' @export +#' +#' @examples +#' # Create object directly +#' data_meta <- data_metadata( +#' study = "SOMESTUDY", +#' metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", +#' metadata_ref = "some/define.xml" +#' ) +#' +#' # Use setter functions +#' data_meta <- data_metadata() +#' data_meta_updated <- set_metadata_ref(data_meta, "some/define.xml") +#' data_meta_updated <- set_metadata_version(data_meta_updated, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") +#' data_meta_updated <- set_study_oid(data_meta_updated, "SOMESTUDY") +#' +data_metadata <- function(study = NULL, metadata_version = NULL, metadata_ref = NULL) { + + x <- list( + studyOID = study, + metaDataVersionOID = metadata_version, + metaDataRef = metadata_ref, + itemGroupData = NULL + ) + + structure( + x, + class = c("data_metadata", "list") + ) +} + +#' Set data metadata parameters +#' +#' This set of functions +#' @param x data metadata or datasetjson object +#' @param study Study OID value +#' @param ... Additional parameters +#' +#' @return A datasetjson or data_metadata object +#' @export +#' +#' @family Data metadata setters +#' @rdname data_metadata_setters +#' +#' @examples +#' data_meta <- data_metadata() +#' data_meta_updated <- set_metadata_ref(data_meta, "some/define.xml") +#' data_meta_updated <- set_metadata_version(data_meta_updated, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") +#' data_meta_updated <- set_study_oid(data_meta_updated, "SOMESTUDY") \ No newline at end of file diff --git a/R/dataset_metadata.R b/R/archive/dataset_metadata.R similarity index 100% rename from R/dataset_metadata.R rename to R/archive/dataset_metadata.R diff --git a/R/column_classes.R b/R/column_classes.R new file mode 100644 index 0000000..2e19aac --- /dev/null +++ b/R/column_classes.R @@ -0,0 +1,32 @@ +# This file contains several helpers for reading and writing date / datetime +# columns from a Dataset JSON file + +#' Get the column classes off a data frame +#' +#' @param x A data.frame +#' +#' @return Named character vector of columns and types +#' @noRd +get_column_classes <- function(x) { + vapply(x, function(X) class(X)[1], FUN.VALUE=character(1)) +} + +#' Get the columns with a class of Date from a data.frame +#' +#' @param x A data.frame +#' +#' @return A data.frame +#' @noRd +get_date_cols <- function(x) { + x[get_column_classes(x) == "Date"] +} + +#' Get the columns with a class of POSIXct from a data.frame +#' +#' @param x A data.frame +#' +#' @return A data.frame +#' @noRd +get_datetime_cols <- function(x) { + x[get_column_classes(x) == "POSIXct"] +} diff --git a/R/data.R b/R/data.R index bc658f8..124a1ef 100644 --- a/R/data.R +++ b/R/data.R @@ -15,45 +15,12 @@ #' } "iris_items" -#' A List of valid SAS(c) date formats +#' Dataset JSON Schema Version 1.1.0 #' -#' Valid SAS(c) date formats pulled from -#' https://documentation.sas.com/doc/en/vdmmlcdc/8.1/ds2pg/p0bz5detpfj01qn1kz2in7xymkdl.htm +#' This object is a character vector holding the schema for Dataset JSON Version 1.1.0 #' -#' @format ## `sas_date_formats` -#' \describe{ -#' A character vector with 45 elements -#' } -"sas_date_formats" - -#' A List of valid SAS(c) datetime formats -#' -#' Valid SAS(c) datetime formats pulled from -#' https://documentation.sas.com/doc/en/vdmmlcdc/8.1/ds2pg/p0bz5detpfj01qn1kz2in7xymkdl.htm -#' -#' @format ## `sas_datetime_formats` -#' \describe{ -#' A character vector with 7 elements -#' } -"sas_datetime_formats" - -#' A List of valid SAS(c) time formats -#' -#' Valid SAS(c) time formats pulled from -#' https://documentation.sas.com/doc/en/vdmmlcdc/8.1/ds2pg/p0bz5detpfj01qn1kz2in7xymkdl.htm -#' -#' @format ## `sas_time_formats` -#' \describe{ -#' A character vector with 4 elements -#' } -"sas_time_formats" - -#' Dataset JSON Schema Version 1.0.0 -#' -#' This object is a character vector holding the schema for Dataset JSON Version 1.0.0 -#' -#' @format ## `schema_1_0_0` +#' @format ## `schema_1_1_0` #' \describe{ #' A character vector with 1 element #' } -"schema_1_0_0" +"schema_1_1_0" diff --git a/R/data_metadata.R b/R/data_metadata.R deleted file mode 100644 index 0bf84d2..0000000 --- a/R/data_metadata.R +++ /dev/null @@ -1,138 +0,0 @@ -#' Create the data metadata container for a Dataset JSON object -#' -#' @param study Study OID value -#' @param metadata_version Metadata version OID value -#' @param metadata_ref Metadata reference (i.e. path to Define.xml) -#' -#' @return data_metadata object -#' @export -#' -#' @examples -#' # Create object directly -#' data_meta <- data_metadata( -#' study = "SOMESTUDY", -#' metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", -#' metadata_ref = "some/define.xml" -#' ) -#' -#' # Use setter functions -#' data_meta <- data_metadata() -#' data_meta_updated <- set_metadata_ref(data_meta, "some/define.xml") -#' data_meta_updated <- set_metadata_version(data_meta_updated, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") -#' data_meta_updated <- set_study_oid(data_meta_updated, "SOMESTUDY") -#' -data_metadata <- function(study = NULL, metadata_version = NULL, metadata_ref = NULL) { - - x <- list( - studyOID = study, - metaDataVersionOID = metadata_version, - metaDataRef = metadata_ref, - itemGroupData = NULL - ) - - structure( - x, - class = c("data_metadata", "list") - ) -} - -#' Set data metadata parameters -#' -#' This set of functions -#' @param x data metadata or datasetjson object -#' @param study Study OID value -#' @param ... Additional parameters -#' -#' @return A datasetjson or data_metadata object -#' @export -#' -#' @family Data metadata setters -#' @rdname data_metadata_setters -#' -#' @examples -#' data_meta <- data_metadata() -#' data_meta_updated <- set_metadata_ref(data_meta, "some/define.xml") -#' data_meta_updated <- set_metadata_version(data_meta_updated, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") -#' data_meta_updated <- set_study_oid(data_meta_updated, "SOMESTUDY") -set_study_oid <- function(x, study, ...) { - UseMethod("set_study_oid") -} - -#' @export -#' @noRd -set_study_oid.data_metadata <- function(x, study, ...) { - x[['studyOID']] <- study - x -} - -#' @export -#' @noRd -set_study_oid.datasetjson <- function(x, study, ...) { - data_type <- get_data_type(x) - x[[data_type]][['studyOID']] <- study - x -} - -#' @export -#' @noRd -set_study_oid.default <- function(x, study, ...) { - stopifnot_data_metadata(x) -} - -#' @param metadata_version Metadata version OID value -#' @family Data metadata setters -#' @rdname data_metadata_setters -#' @export -set_metadata_version <- function(x, metadata_version, ...) { - UseMethod("set_metadata_version") -} - -#' @export -#' @noRd -set_metadata_version.data_metadata <- function(x, metadata_version, ...) { - x[['metaDataVersionOID']] <- metadata_version - x -} - -#' @export -#' @noRd -set_metadata_version.datasetjson <- function(x, metadata_version, ...) { - data_type <- get_data_type(x) - x[[data_type]][['metaDataVersionOID']] <- metadata_version - x -} - -#' @export -#' @noRd -set_metadata_version.default <- function(x, metadata_version, ...) { - stopifnot_data_metadata(x) -} - -#' @param metadata_ref Metadata reference (i.e. path to Define.xml) -#' @family Data metadata setters -#' @rdname data_metadata_setters -#' @export -set_metadata_ref <- function(x, metadata_ref) { - UseMethod("set_metadata_ref") -} - -#' @export -#' @noRd -set_metadata_ref.data_metadata <- function(x, metadata_ref) { - x[['metaDataRef']] <- metadata_ref - x -} - -#' @export -#' @noRd -set_metadata_ref.datasetjson <- function(x, metadata_ref) { - data_type <- get_data_type(x) - x[[data_type]][['metaDataRef']] <- metadata_ref - x -} - -#' @export -#' @noRd -set_metadata_ref.default <- function(x, metadata_ref) { - stopifnot_data_metadata(x) -} diff --git a/R/datasetjson.R b/R/datasetjson.R index 9b015ac..f3279ba 100644 --- a/R/datasetjson.R +++ b/R/datasetjson.R @@ -2,24 +2,30 @@ #' #' Create the base object used to write a Dataset JSON file. #' +#' @details +#' +#' Note that DatasetJSON is on version 1.1.0. Based off findings from the pilot, +#' version 1.1.0 reflects feedback from the user community. Support for 1.0.0 has +#' been deprecated. +#' #' @param .data Input data to contain within the Dataset JSON file. Written to #' the itemData parameter. -#' @param item_id ID used to label dataset with the itemGroupData parameter. +#' @param sys sourceSystem parameter, defined as "The computer system or +#' database management system that is the source of the information in this +#' file." +#' @param sys_version sourceSystemVersion, defined as "The version of the +#' sourceSystem" +#' @param originator originator parameter, defined as "The organization that +#' generated the Dataset-JSON file." +#' @param file_oid fileOID parameter, defined as "A unique identifier for this +#' file." +#' @param study Study OID value +#' @param metadata_version Metadata version OID value +#' @param metadata_ref Metadata reference (i.e. path to Define.xml) +#' @param item_oid ID used to label dataset with the itemGroupData parameter. #' Defined as "Object of Datasets. Key value is a unique identifier for #' Dataset, corresponding to ItemGroupDef/@OID in Define-XML." -#' @param name Dataset name -#' @param label Dataset Label -#' @param items Variable metadata -#' @param dataset_meta A dataset_metadata object holding pre-specified -#' dataset metadata. -#' @param version Version of Dataset JSON schema to follow. -#' @param data_type Type of data being written. clinicalData for subject level -#' data, and referenceData for non-subject level data (i.e. TDMs, Associated -#' Persons) -#' @param file_meta A file_metadata object holding pre-specified file -#' metadata -#' @param data_meta A data_metadata object holding pre-specified data -#' metadata +#' @param version The DatasetJSON version to use. Currently only 1.1.0 is supported. #' #' @return dataset_json object pertaining to the specific Dataset JSON version #' specific @@ -27,7 +33,19 @@ #' #' @examples #' # Create a basic object -#' ds_json <- dataset_json(iris, "IG.IRIS", "IRIS", "Iris", iris_items) +#' ds_json <- dataset_json( +#' iris, +#' file_oid = "/some/path" +#' originator = "Some Org", +#' sys = "source system", +#' sys_version = "1.0", +#' study = "SOMESTUDY", +#' metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", +#' metadata_ref = "some/define.xml", +#' item_oid = "IG.IRIS", +#' name = "IRIS", +#' dataset_label = "Iris" +#' ) #' #' # Attach attributes directly #' ds_json_updated <- set_data_type(ds_json, "referenceData") @@ -37,40 +55,15 @@ #' ds_json_updated <- set_originator(ds_json_updated, "Some Org") #' ds_json_updated <- set_source_system(ds_json_updated, "source system", "1.0") #' ds_json_updated <- set_study_oid(ds_json_updated, "SOMESTUDY") -#' -#' # Create independent objects for metadata sections first -#' file_meta <- file_metadata( -#' originator = "Some Org", -#' sys = "source system", -#' sys_version = "1.0" -#' ) -#' -#' data_meta <- data_metadata( -#' study = "SOMESTUDY", -#' metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", -#' metadata_ref = "some/define.xml" -#' ) -#' -#' dataset_meta <- dataset_metadata( -#' item_id = "IG.IRIS", -#' name = "IRIS", -#' label = "Iris", -#' items = iris_items -#' ) -#' -#' ds_json_from_meta <- dataset_json( -#' iris, -#' dataset_meta = dataset_meta, -#' file_meta = file_meta, -#' data_meta = data_meta -#' ) -dataset_json <- function(.data, item_id, name, label, items, dataset_meta, - version="1.0.0", data_type = c('clinicalData', 'referenceData'), - file_meta = file_metadata(), - data_meta = data_metadata() - ) { - data_type = match.arg(data_type) - new_dataset_json(version, item_id, data_type, name, label, items, dataset_meta, file_meta, data_meta, .data) +#' ds_json_updated <- set_item_oid(ds_json_updated, "IG.IRIS") +#' ds_json_updated <- set_dataset_name(ds_json_updated, "IRIS") +#' ds_json_updated <- set_dataset_label(ds_json_updated, "Iris") +dataset_json <- function(.data, file_oid = NULL, originator=NULL, sys=NULL, + sys_version = NULL, study=NULL, metadata_version=NULL, + metadata_ref=NULL, item_oid=NULL, name=NULL, + dataset_label=NULL, version="1.1.0") { + new_dataset_json(.data, file_oid, originator, sys, sys_version, study, metadata_version, + metadata_ref, item_oid, name, dataset_label, version) } #' Create a base Dataset JSON Container @@ -82,47 +75,55 @@ dataset_json <- function(.data, item_id, name, label, items, dataset_meta, #' @return datasetjson object #' #' @noRd -new_dataset_json <- function(version, item_id, data_type, name, label, items, - dataset_meta, file_meta, data_meta, .data) { +new_dataset_json <- function(.data, file_oid, originator, sys, sys_version, study, + metadata_version, metadata_ref, item_oid, name, dataset_label, + version) { - if (!(version %in% c("1.0.0"))) { - stop("Unsupported version specified - currently only version 1.0.0 is supported", call.=FALSE) + if (!(version %in% c("1.1.0"))) { + stop("Unsupported version specified - currently only version 1.1.0 is supported", call.=FALSE) } # List of version specific generators funcs <- list( - "1.0.0" = new_dataset_json_v1_0_0 + "1.1.0" = new_dataset_json_v1_1_0 ) # Extract the function and call it to return the base structure - funcs[[version]](item_id, data_type, name, label, items, dataset_meta, file_meta, data_meta, .data) + funcs[[version]](.data, file_oid, originator, sys, sys_version, study, + metadata_version, metadata_ref, item_oid, name, dataset_label) } -#' Dataset JSON v1.0.0 Generator +#' Dataset JSON v1.1.0 Generator #' -#' @return datasetjson_v1_0_0 object +#' @return datasetjson_v1_1_0 object #' @noRd -new_dataset_json_v1_0_0 <- function(item_id, data_type, name, label, items, dataset_meta, file_meta, data_meta, .data) { - - if (missing(dataset_meta)) { - if (any(missing(item_id), missing(name), missing(label), missing(items))) { - stop("If dataset_meta is not provided, then name, label, and items must be provided", call.=FALSE) - } +new_dataset_json_v1_1_0 <- function(.data, file_oid, originator, sys, sys_version, study, + metadata_version, metadata_ref, item_oid, name, dataset_label) { - # Create the dataset metadata with provided info - dataset_meta <- dataset_metadata(item_id, name, label, items) + if (!inherits(.data, 'data.frame')) { + stop("datasetjson objects must inherit from a data.frame", call.=FALSE) } - # Attach .data into dataset_meta - dataset_meta <- set_item_data(dataset_meta, .data) - - # Combine file_meta, data_meta, and dataset_meta together - ds_json <- file_meta - ds_json[[data_type]] <- data_meta - ds_json[[data_type]][['itemGroupData']] <- dataset_meta + if (!is.null(sys) && !is.null(sys_version)) { + attr(.data, 'sourceSystem') <- list( + "name" = sys, + "version" = sys_version + ) + } + attr(.data, 'fileOID') <- file_oid + attr(.data, 'originator') <- originator + attr(.data, 'studyOID') <- study + attr(.data, 'metaDataVersionOID') <- metadata_version + attr(.data, 'metaDataRef') <- metadata_ref + attr(.data, "itemGroupOID") <- item_oid + attr(.data, 'records') <- nrow(x) + attr(.data, 'name') <- name + attr(.data, 'label') <- dataset_label + attr(.data, 'isReferenceData') <- FALSE + structure( - ds_json, - class = c("datasetjson_v1_0_0", "datasetjson", "list") + .data, + class = c("datasetjson_v1_1_0", "datasetjson", "data.frame") ) } diff --git a/R/date_time_conversions.R b/R/date_time_conversions.R deleted file mode 100644 index 9097c0c..0000000 --- a/R/date_time_conversions.R +++ /dev/null @@ -1,65 +0,0 @@ -# This file contains several helpers for reading and writing date / datetime -# columns from a Dataset JSON file - -#' Get the column classes off a data frame -#' -#' @param x A data.frame -#' -#' @return Named character vector of columns and types -#' @noRd -get_column_classes <- function(x) { - vapply(x, function(X) class(X)[1], FUN.VALUE=character(1)) -} - -#' Get the columns with a class of Date from a data.frame -#' -#' @param x A data.frame -#' -#' @return A data.frame -#' @noRd -get_date_cols <- function(x) { - x[get_column_classes(x) == "Date"] -} - -#' Get the columns with a class of POSIXct from a data.frame -#' -#' @param x A data.frame -#' -#' @return A data.frame -#' @noRd -get_datetime_cols <- function(x) { - x[get_column_classes(x) == "POSIXct"] -} - -#' Convert a Date object in R to a SAS date origin -#' -#' R uses POSIX date origins, and SAS uses a date origin of 1960-01-01, so to -#' convert you need to add 10 years (plus three leap year days) in days -#' -#' @param x A data.frame -#' -#' @return A data.frame -#' @noRd -convert_to_sas_datenum <- function(x) { - col_names <- names(get_date_cols(x)) - # Add 10 years in days (including 3 leap year days) - x[col_names] <- lapply(get_date_cols(x) + (365 * 10) + 3, as.numeric) - x -} - -#' Convert a POSIXct object in R to a SAS date origin -#' -#' R uses POSIX date origins, and SAS uses a date origin of 1960-01-01, so to -#' convert you need to add 10 years (plus three leap year days) in seconds -#' -#' @param x A data.frame -#' -#' @return A data.frame -#' @noRd -convert_to_sas_datetimenum <- function(x) { - col_names <- names(get_datetime_cols(x)) - # Add 10 years in seconds (including 3 leap year days) - x[col_names] <- lapply(get_datetime_cols(x) + (365 * 24 * 60 * 60 * 10) + (3 * 24 * 60 * 60), as.numeric) - - x -} diff --git a/R/file_metadata.R b/R/file_metadata.R index 10a2f1f..e0ca4cd 100644 --- a/R/file_metadata.R +++ b/R/file_metadata.R @@ -1,69 +1,6 @@ -#' Create a file metadata object +#' Dataset Metadata Setters #' -#' @param originator originator parameter, defined as "The organization that -#' generated the Dataset-JSON file." -#' @param sys sourceSystem parameter, defined as "The computer system or -#' database management system that is the source of the information in this -#' file." -#' @param sys_version sourceSystemVersion, defined as "The version of the -#' sourceSystem" -#' @param file_oid fileOID parameter, defined as "A unique identifier for this -#' file." -#' @param version Dataset JSON schema version being used -#' -#' @return file_metadata object -#' @export -#' -#' @examples -#' # Create using parameters -#' file_meta <- file_metadata( -#' originator = "Some Org", -#' sys = "source system", -#' sys_version = "1.0" -#' ) -#' -#' # Set parameters after -#' file_meta <- file_metadata() -#' -#' file_meta_updated <- set_file_oid(file_meta, "/some/path") -#' file_meta_updated <- set_originator(file_meta_updated, "Some Org") -#' file_meta_updated <- set_source_system(file_meta_updated, "source system", "1.0") -file_metadata <- function(originator=NULL, sys = NULL, sys_version = NULL, file_oid = NULL, version = "1.0.0") { - - if (!(version %in% c("1.0.0"))) { - stop("Unsupported version specified - currently only version 1.0.0 is supported", call.=FALSE) - } - - x <- list( - "creationDateTime"= character(), - "datasetJSONVersion"= version, - "fileOID" = file_oid, - "asOfDateTime" = NULL, # Not sure we want this to exist? - "originator" = originator, - "sourceSystem" = sys, - "sourceSystemVersion" = sys_version - ) - - structure( - x, - class = c("file_metadata", "list") - ) -} - -#' Create an ISO8601 formatted datetime of the current time -#' -#' This is used to create the creationDateTime and asOfDateTime attributes of -#' the Dataset JSON object, called at the appropriate time for each attribute -#' -#' @return ISO8601 formatted datetime -#' @noRd -get_datetime <- function() { - format(Sys.time(), "%Y-%m-%dT%H:%M:%S") -} - -#' File Metadata Setters -#' -#' Set information about the file and source system used to generate the Dataset +#' Set information about the file, source system, study, and dataset used to generate the Dataset #' JSON object. #' #' @details @@ -86,54 +23,134 @@ get_datetime <- function() { #' generated the Dataset-JSON file." #' @param file_oid fileOID parameter, defined as "A unique identifier for this #' file." -#' @param data_type Type of data being written. clinicalData for subject level -#' data, and referenceData for non-subject level data (i.e. TDMs, Associated -#' Persons) +#' @param study Study OID value +#' @param metadata_version Metadata version OID value +#' @param metadata_ref Metadata reference (i.e. path to Define.xml) +#' @param item_oid ID used to label dataset with the itemGroupData parameter. +#' Defined as "Object of Datasets. Key value is a unique identifier for +#' Dataset, corresponding to ItemGroupDef/@OID in Define-XML." +#' @param name Dataset name +#' @param dataset_label Dataset Label #' -#' @return datasetjson or file_metadata object +#' @return datasetjson object #' @export -#' @family File Metadata Setters -#' @rdname file_metadata_setters +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters #' #' @examples -#' file_meta <- file_metadata() -#' -#' file_meta_updated <- set_file_oid(file_meta, "/some/path") -#' file_meta_updated <- set_originator(file_meta_updated, "Some Org") -#' file_meta_updated <- set_source_system(file_meta_updated, "source system", "1.0") +#' ds_json <- dataset_json(iris) +#' ds_json <- set_file_oid(ds_json, "/some/path") +#' ds_json <- set_study_oid(ds_json, "SOMESTUDY") +#' ds_json <- set_originator(ds_json, "Some Org") +#' ds_json <- set_source_system(ds_json, "source system", "1.0") +#' ds_json <- set_metadata_ref(ds_json, "some/define.xml") +#' ds_json <- set_metadata_version(ds_json, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") +#' ds_json <- set_item_oid(ds_json, "IG.IRIS") +#' ds_json <- set_dataset_name(ds_json, "IRIS") +#' ds_json <- set_dataset_label(ds_json, "Iris") set_source_system <- function(x, sys, sys_version) { - stopifnot_file_metadata(x) - x[['sourceSystem']] <- sys - x[['sourceSystemVersion']] <- sys_version + stopifnot_datasetjson(x) + attr(x, 'sourceSystem') <- list( + "name" = sys, + "version" = sys_version + ) x } #' @export -#' @family File Metadata Setters -#' @rdname file_metadata_setters +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters set_originator <- function(x, originator) { - stopifnot_file_metadata(x) - x[['originator']] <- originator + stopifnot_datasetjson(x) + attr(x, 'originator') <- originator x } #' @export -#' @family File Metadata Setters -#' @rdname file_metadata_setters +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters set_file_oid <- function(x, file_oid) { - stopifnot_file_metadata(x) - x[['fileOID']] <- file_oid + stopifnot_datasetjson(x) + attr(x, 'fileOID') <- file_oid x } #' @export -#' @family File Metadata Setters -#' @rdname file_metadata_setters -set_data_type <- function(x, data_type = c('clinicalData', 'referenceData')) { +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters +set_study_oid <- function(x, study) { stopifnot_datasetjson(x) - data_type = match.arg(data_type) + attr(x, 'studyOID') <- study + x +} + +#' @export +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters +set_metadata_version <- function(x, metadata_version) { + stopifnot_datasetjson(x) + attr(x, 'metaDataVersionOID') <- metadata_version + x +} - # For the clinicalData or referenceData, set the parameter correctly - names(x) <- c(names(x[1:7]), data_type) +#' @export +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters +set_metadata_ref <- function(x, metadata_ref) { + stopifnot_datasetjson(x) + attr(x, 'metaDataRef') <- metadata_ref x } + +#' @export +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters +set_item_oid <- function(x, item_oid) { + stopifnot_datasetjson(x) + attr(x, "itemGroupOID") <- item_oid +} + +#' @export +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters +set_dataset_name <- function(x, name) { + stopifnot_datasetjson(x) + attr(x, 'name') <- name +} + +#' @export +#' @family Dataset Metadata Setters +#' @rdname dataset_metadata_setters +set_dataset_label <- function(x, dataset_label) { + stopifnot_datasetjson(x) + attr(x, 'label') <- dataset_label +} + +#' Declare as reference data +#' +#' Sets DatasetJSON file to have the isReferenceData attribute set to TRUE +#' +#' @param x datasetjson object +#' +#' @return datasetjson object +#' @export +#' +#' @examples +#' ds_json <- dataset_json(iris) +#' ds_json <- set_as_reference_data(ds_json) +set_as_reference_data <- function(x) { + stopifnot_datasetjson(x) + attr(x, 'isReferenceData') <- TRUE +} + + +#' Create an ISO8601 formatted datetime of the current time +#' +#' This is used to create the creationDateTime and asOfDateTime attributes of +#' the Dataset JSON object, called at the appropriate time for each attribute +#' +#' @return ISO8601 formatted datetime +#' @noRd +get_datetime <- function() { + format(Sys.time(), "%Y-%m-%dT%H:%M:%S") +} diff --git a/R/global.R b/R/global.R index 3bf88eb..089e027 100644 --- a/R/global.R +++ b/R/global.R @@ -1,5 +1,3 @@ globalVariables(c( - "schema_1_0_0", - "sas_date_formats", - "sas_datetime_formats" + "schema_1_1_0" )) diff --git a/R/validate_dataset_json.R b/R/validate_dataset_json.R index ae37d0c..096365d 100644 --- a/R/validate_dataset_json.R +++ b/R/validate_dataset_json.R @@ -29,12 +29,12 @@ validate_dataset_json <- function(x) { js <- x } - v <- jsonvalidate::json_validate(js, schema_1_0_0, engine="ajv", verbose=TRUE) + v <- jsonvalidate::json_validate(js, schema_1_1_0, engine="ajv", verbose=TRUE) if (!v) { warning("File contains errors!") return(attr(v, 'errors')) } else { - message("File is valid per the Dataset JSON v1.0.0 schema\n") + message("File is valid per the Dataset JSON v1.1.0 schema\n") data.frame( instancePath = character(), schemaPath = character(), diff --git a/data-raw/data.R b/data-raw/data.R index 83a1dc9..5a737e4 100644 --- a/data-raw/data.R +++ b/data-raw/data.R @@ -64,80 +64,7 @@ iris_items_bad <- tibble::tribble( NA_character_, 5, 'Flower Species', 'character', 10L, 1, ) -# Code for SAS date formats -sas_date_formats <- c( - 'DATE.', - 'DATE9.', - 'DAY.', - 'DDMMYY.', - 'DDMMYY10.', - 'DDMMYYB.', - 'DDMMYYB10.', - 'DDMMYYC.', - 'DDMMYYC10.', - 'DDMMYYD.', - 'DDMMYYD10.', - 'DDMMYYN6.', - 'DDMMYYN8.', - 'DDMMYYP.', - 'DDMMYYP10.', - 'DDMMYYS.', - 'DDMMYYS10.', - 'DOWNAME.', - 'JULIAN.', - 'MMDDYY.', - 'MMDDYY10.', - 'MMDDYYB.', - 'MMDDYYB10.', - 'MMDDYYC.', - 'MMDDYYC10.', - 'MMDDYYD.', - 'MMDDYYD10.', - 'MMDDYYN6.', - 'MMDDYYN8.', - 'MMDDYYP.', - 'MMDDYYP10.', - 'MMDDYYS.', - 'MMDDYYS10.', - 'MMYY.', - 'MMYYC.', - 'MMYYD.', - 'MMYYN.', - 'MMYYP.', - 'MMYYS.', - 'MONNAME.', - 'MONTH.', - 'MONYY.', - 'WEEKDATE.', - 'WEEKDATX', - 'WEEKDAY.' -) - -usethis::use_data(sas_date_formats, overwrite = TRUE) - -# Code for SAS datetime formats -sas_datetime_formats <- c( - 'DATEAMPM.', - 'DATETIME.', - 'DTDATE.', - 'DTMONYY.', - 'DTWKDATX.', - 'DTYEAR.', - 'DTYYQC.' -) - -usethis::use_data(sas_datetime_formats, overwrite = TRUE) - -# Code for SAS time formats -sas_time_formats <- c( - 'HOUR.', - 'TIME.', - 'TIMEAMPM.', - 'TOD.' -) -usethis::use_data(sas_time_formats, overwrite = TRUE) - # Dataset JSON Schema V1.0.0 as Character Vector -schema_file <- test_path("testdata", "dataset.schema.json") -schema_1_0_0 = readChar(schema_file, file.info(schema_file)$size) -usethis::use_data(schema_1_0_0, overwrite=TRUE) +schema_file <- testthat::test_path("testdata", "dataset.schema.json") +schema_1_1_0 = readChar(schema_file, file.info(schema_file)$size) +usethis::use_data(schema_1_1_0, overwrite=TRUE) diff --git a/data/iris_items.rda b/data/iris_items.rda index f26da5c..c817b7b 100644 Binary files a/data/iris_items.rda and b/data/iris_items.rda differ diff --git a/data/schema_1_0_0.rda b/data/schema_1_0_0.rda deleted file mode 100644 index 226d54d..0000000 Binary files a/data/schema_1_0_0.rda and /dev/null differ diff --git a/data/schema_1_1_0.rda b/data/schema_1_1_0.rda new file mode 100644 index 0000000..76d9a66 Binary files /dev/null and b/data/schema_1_1_0.rda differ diff --git a/man/data_metadata.Rd b/man/data_metadata.Rd deleted file mode 100644 index 9786158..0000000 --- a/man/data_metadata.Rd +++ /dev/null @@ -1,36 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_metadata.R -\name{data_metadata} -\alias{data_metadata} -\title{Create the data metadata container for a Dataset JSON object} -\usage{ -data_metadata(study = NULL, metadata_version = NULL, metadata_ref = NULL) -} -\arguments{ -\item{study}{Study OID value} - -\item{metadata_version}{Metadata version OID value} - -\item{metadata_ref}{Metadata reference (i.e. path to Define.xml)} -} -\value{ -data_metadata object -} -\description{ -Create the data metadata container for a Dataset JSON object -} -\examples{ -# Create object directly -data_meta <- data_metadata( - study = "SOMESTUDY", - metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", - metadata_ref = "some/define.xml" -) - -# Use setter functions -data_meta <- data_metadata() -data_meta_updated <- set_metadata_ref(data_meta, "some/define.xml") -data_meta_updated <- set_metadata_version(data_meta_updated, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") -data_meta_updated <- set_study_oid(data_meta_updated, "SOMESTUDY") - -} diff --git a/man/data_metadata_setters.Rd b/man/data_metadata_setters.Rd deleted file mode 100644 index f02fe01..0000000 --- a/man/data_metadata_setters.Rd +++ /dev/null @@ -1,38 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_metadata.R -\name{set_study_oid} -\alias{set_study_oid} -\alias{set_metadata_version} -\alias{set_metadata_ref} -\title{Set data metadata parameters} -\usage{ -set_study_oid(x, study, ...) - -set_metadata_version(x, metadata_version, ...) - -set_metadata_ref(x, metadata_ref) -} -\arguments{ -\item{x}{data metadata or datasetjson object} - -\item{study}{Study OID value} - -\item{...}{Additional parameters} - -\item{metadata_version}{Metadata version OID value} - -\item{metadata_ref}{Metadata reference (i.e. path to Define.xml)} -} -\value{ -A datasetjson or data_metadata object -} -\description{ -This set of functions -} -\examples{ -data_meta <- data_metadata() -data_meta_updated <- set_metadata_ref(data_meta, "some/define.xml") -data_meta_updated <- set_metadata_version(data_meta_updated, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") -data_meta_updated <- set_study_oid(data_meta_updated, "SOMESTUDY") -} -\concept{Data metadata setters} diff --git a/man/dataset_json.Rd b/man/dataset_json.Rd index c84ffc6..cd9f37d 100644 --- a/man/dataset_json.Rd +++ b/man/dataset_json.Rd @@ -6,45 +6,47 @@ \usage{ dataset_json( .data, - item_id, - name, - label, - items, - dataset_meta, - version = "1.0.0", - data_type = c("clinicalData", "referenceData"), - file_meta = file_metadata(), - data_meta = data_metadata() + file_oid = NULL, + originator = NULL, + sys = NULL, + sys_version = NULL, + study = NULL, + metadata_version = NULL, + metadata_ref = NULL, + item_oid = NULL, + name = NULL, + dataset_label = NULL, + version = "1.1.0" ) } \arguments{ \item{.data}{Input data to contain within the Dataset JSON file. Written to the itemData parameter.} -\item{item_id}{ID used to label dataset with the itemGroupData parameter. -Defined as "Object of Datasets. Key value is a unique identifier for -Dataset, corresponding to ItemGroupDef/@OID in Define-XML."} +\item{file_oid}{fileOID parameter, defined as "A unique identifier for this +file."} -\item{name}{Dataset name} +\item{originator}{originator parameter, defined as "The organization that +generated the Dataset-JSON file."} -\item{label}{Dataset Label} +\item{sys}{sourceSystem parameter, defined as "The computer system or +database management system that is the source of the information in this +file."} -\item{items}{Variable metadata} +\item{sys_version}{sourceSystemVersion, defined as "The version of the +sourceSystem"} -\item{dataset_meta}{A dataset_metadata object holding pre-specified -dataset metadata.} +\item{study}{Study OID value} -\item{version}{Version of Dataset JSON schema to follow.} +\item{metadata_version}{Metadata version OID value} -\item{data_type}{Type of data being written. clinicalData for subject level -data, and referenceData for non-subject level data (i.e. TDMs, Associated -Persons)} +\item{metadata_ref}{Metadata reference (i.e. path to Define.xml)} -\item{file_meta}{A file_metadata object holding pre-specified file -metadata} +\item{item_oid}{ID used to label dataset with the itemGroupData parameter. +Defined as "Object of Datasets. Key value is a unique identifier for +Dataset, corresponding to ItemGroupDef/@OID in Define-XML."} -\item{data_meta}{A data_metadata object holding pre-specified data -metadata} +\item{version}{The DatasetJSON version to use. Currently only 1.1.0 is supported.} } \value{ dataset_json object pertaining to the specific Dataset JSON version @@ -53,9 +55,26 @@ specific \description{ Create the base object used to write a Dataset JSON file. } +\details{ +Note that DatasetJSON is on version 1.1.0. Based off findings from the pilot, +version 1.1.0 reflects feedback from the user community. Support for 1.0.0 has +been deprecated. +} \examples{ # Create a basic object -ds_json <- dataset_json(iris, "IG.IRIS", "IRIS", "Iris", iris_items) +ds_json <- dataset_json( + iris, + file_oid = "/some/path" + originator = "Some Org", + sys = "source system", + sys_version = "1.0", + study = "SOMESTUDY", + metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", + metadata_ref = "some/define.xml", + item_oid = "IG.IRIS", + name = "IRIS", + dataset_label = "Iris" +) # Attach attributes directly ds_json_updated <- set_data_type(ds_json, "referenceData") @@ -65,31 +84,7 @@ ds_json_updated <- set_metadata_version(ds_json_updated, "MDV.MSGv2.0.SDTMIG.3.3 ds_json_updated <- set_originator(ds_json_updated, "Some Org") ds_json_updated <- set_source_system(ds_json_updated, "source system", "1.0") ds_json_updated <- set_study_oid(ds_json_updated, "SOMESTUDY") - -# Create independent objects for metadata sections first -file_meta <- file_metadata( - originator = "Some Org", - sys = "source system", - sys_version = "1.0" -) - -data_meta <- data_metadata( - study = "SOMESTUDY", - metadata_version = "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7", - metadata_ref = "some/define.xml" -) - -dataset_meta <- dataset_metadata( - item_id = "IG.IRIS", - name = "IRIS", - label = "Iris", - items = iris_items -) - -ds_json_from_meta <- dataset_json( - iris, - dataset_meta = dataset_meta, - file_meta = file_meta, - data_meta = data_meta - ) +ds_json_updated <- set_item_oid(ds_json_updated, "IG.IRIS") +ds_json_updated <- set_dataset_name(ds_json_updated, "IRIS") +ds_json_updated <- set_dataseT_label(ds_json_updated, "Iris") } diff --git a/man/dataset_metadata.Rd b/man/dataset_metadata.Rd deleted file mode 100644 index 9dea9fc..0000000 --- a/man/dataset_metadata.Rd +++ /dev/null @@ -1,34 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/dataset_metadata.R -\name{dataset_metadata} -\alias{dataset_metadata} -\title{Generate an individual element that fills the itemGroupData field} -\usage{ -dataset_metadata(item_id, name, label, items, .data) -} -\arguments{ -\item{item_id}{Data Object ID for item in Dataset JSON object, corresponding to -ItemGroupDef/@OID in Define-XML.} - -\item{name}{Dataset name} - -\item{label}{Dataset Label} - -\item{items}{Variable metadata} - -\item{.data}{Dataframe to be written to Dataset JSON file} -} -\value{ -dataset_metadata object -} -\description{ -Generate an individual element that fills the itemGroupData field -} -\examples{ -dataset_meta <- dataset_metadata( - item_id = "IG.IRIS", - name = "IRIS", - label = "Iris", - items = iris_items -) -} diff --git a/man/dataset_metadata_setters.Rd b/man/dataset_metadata_setters.Rd new file mode 100644 index 0000000..dcbab0a --- /dev/null +++ b/man/dataset_metadata_setters.Rd @@ -0,0 +1,91 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/file_metadata.R +\name{set_source_system} +\alias{set_source_system} +\alias{set_originator} +\alias{set_file_oid} +\alias{set_study_oid} +\alias{set_metadata_version} +\alias{set_metadata_ref} +\alias{set_item_oid} +\alias{set_dataset_name} +\alias{set_dataset_label} +\title{Dataset Metadata Setters} +\usage{ +set_source_system(x, sys, sys_version) + +set_originator(x, originator) + +set_file_oid(x, file_oid) + +set_study_oid(x, study) + +set_metadata_version(x, metadata_version) + +set_metadata_ref(x, metadata_ref) + +set_item_oid(x, item_oid) + +set_dataset_name(x, name) + +set_dataset_label(x, dataset_label) +} +\arguments{ +\item{x}{datasetjson object} + +\item{sys}{sourceSystem parameter, defined as "The computer system or +database management system that is the source of the information in this +file."} + +\item{sys_version}{sourceSystemVersion, defined as "The version of the +sourceSystem"} + +\item{originator}{originator parameter, defined as "The organization that +generated the Dataset-JSON file."} + +\item{file_oid}{fileOID parameter, defined as "A unique identifier for this +file."} + +\item{study}{Study OID value} + +\item{metadata_version}{Metadata version OID value} + +\item{metadata_ref}{Metadata reference (i.e. path to Define.xml)} + +\item{item_oid}{ID used to label dataset with the itemGroupData parameter. +Defined as "Object of Datasets. Key value is a unique identifier for +Dataset, corresponding to ItemGroupDef/@OID in Define-XML."} + +\item{name}{Dataset name} + +\item{dataset_label}{Dataset Label} +} +\value{ +datasetjson object +} +\description{ +Set information about the file, source system, study, and dataset used to generate the Dataset +JSON object. +} +\details{ +The fileOID parameter should be structured following description outlined in +the ODM V2.0 specification. "FileOIDs should be universally unique if at all +possible. One way to ensure this is to prefix every FileOID with an internet +domain name owned by the creator of the ODM file or database (followed by a +forward slash, "/"). For example, +FileOID="BestPharmaceuticals.com/Study5894/1" might be a good way to denote +the first file in a series for study 5894 from Best Pharmaceuticals." +} +\examples{ +ds_json <- dataset_json(iris) +ds_json <- set_file_oid(ds_json, "/some/path") +ds_json <- set_study_oid(ds_json, "SOMESTUDY") +ds_json <- set_originator(ds_json, "Some Org") +ds_json <- set_source_system(ds_json, "source system", "1.0") +ds_json <- set_metadata_ref(ds_json, "some/define.xml") +ds_json <- set_metadata_version(ds_json, "MDV.MSGv2.0.SDTMIG.3.3.SDTM.1.7") +ds_json <- set_item_oid(ds_json, "IG.IRIS") +ds_json <- set_dataset_name(ds_json, "IRIS") +ds_json <- set_dataset_label(ds_json, "Iris") +} +\concept{Dataset Metadata Setters} diff --git a/man/file_metadata.Rd b/man/file_metadata.Rd deleted file mode 100644 index 342285d..0000000 --- a/man/file_metadata.Rd +++ /dev/null @@ -1,51 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_metadata.R -\name{file_metadata} -\alias{file_metadata} -\title{Create a file metadata object} -\usage{ -file_metadata( - originator = NULL, - sys = NULL, - sys_version = NULL, - file_oid = NULL, - version = "1.0.0" -) -} -\arguments{ -\item{originator}{originator parameter, defined as "The organization that -generated the Dataset-JSON file."} - -\item{sys}{sourceSystem parameter, defined as "The computer system or -database management system that is the source of the information in this -file."} - -\item{sys_version}{sourceSystemVersion, defined as "The version of the -sourceSystem"} - -\item{file_oid}{fileOID parameter, defined as "A unique identifier for this -file."} - -\item{version}{Dataset JSON schema version being used} -} -\value{ -file_metadata object -} -\description{ -Create a file metadata object -} -\examples{ -# Create using parameters -file_meta <- file_metadata( - originator = "Some Org", - sys = "source system", - sys_version = "1.0" - ) - -# Set parameters after -file_meta <- file_metadata() - -file_meta_updated <- set_file_oid(file_meta, "/some/path") -file_meta_updated <- set_originator(file_meta_updated, "Some Org") -file_meta_updated <- set_source_system(file_meta_updated, "source system", "1.0") -} diff --git a/man/file_metadata_setters.Rd b/man/file_metadata_setters.Rd deleted file mode 100644 index 4b5dd0f..0000000 --- a/man/file_metadata_setters.Rd +++ /dev/null @@ -1,61 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_metadata.R -\name{set_source_system} -\alias{set_source_system} -\alias{set_originator} -\alias{set_file_oid} -\alias{set_data_type} -\title{File Metadata Setters} -\usage{ -set_source_system(x, sys, sys_version) - -set_originator(x, originator) - -set_file_oid(x, file_oid) - -set_data_type(x, data_type = c("clinicalData", "referenceData")) -} -\arguments{ -\item{x}{datasetjson object} - -\item{sys}{sourceSystem parameter, defined as "The computer system or -database management system that is the source of the information in this -file."} - -\item{sys_version}{sourceSystemVersion, defined as "The version of the -sourceSystem"} - -\item{originator}{originator parameter, defined as "The organization that -generated the Dataset-JSON file."} - -\item{file_oid}{fileOID parameter, defined as "A unique identifier for this -file."} - -\item{data_type}{Type of data being written. clinicalData for subject level -data, and referenceData for non-subject level data (i.e. TDMs, Associated -Persons)} -} -\value{ -datasetjson or file_metadata object -} -\description{ -Set information about the file and source system used to generate the Dataset -JSON object. -} -\details{ -The fileOID parameter should be structured following description outlined in -the ODM V2.0 specification. "FileOIDs should be universally unique if at all -possible. One way to ensure this is to prefix every FileOID with an internet -domain name owned by the creator of the ODM file or database (followed by a -forward slash, "/"). For example, -FileOID="BestPharmaceuticals.com/Study5894/1" might be a good way to denote -the first file in a series for study 5894 from Best Pharmaceuticals." -} -\examples{ -file_meta <- file_metadata() - -file_meta_updated <- set_file_oid(file_meta, "/some/path") -file_meta_updated <- set_originator(file_meta_updated, "Some Org") -file_meta_updated <- set_source_system(file_meta_updated, "source system", "1.0") -} -\concept{File Metadata Setters} diff --git a/man/sas_date_formats.Rd b/man/sas_date_formats.Rd deleted file mode 100644 index ebf3449..0000000 --- a/man/sas_date_formats.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data.R -\docType{data} -\name{sas_date_formats} -\alias{sas_date_formats} -\title{A List of valid SAS(c) date formats} -\format{ -\subsection{\code{sas_date_formats}}{ - -\describe{ -A character vector with 45 elements -} -} -} -\usage{ -sas_date_formats -} -\description{ -Valid SAS(c) date formats pulled from -https://documentation.sas.com/doc/en/vdmmlcdc/8.1/ds2pg/p0bz5detpfj01qn1kz2in7xymkdl.htm -} -\keyword{datasets} diff --git a/man/sas_datetime_formats.Rd b/man/sas_datetime_formats.Rd deleted file mode 100644 index d8358a6..0000000 --- a/man/sas_datetime_formats.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data.R -\docType{data} -\name{sas_datetime_formats} -\alias{sas_datetime_formats} -\title{A List of valid SAS(c) datetime formats} -\format{ -\subsection{\code{sas_datetime_formats}}{ - -\describe{ -A character vector with 7 elements -} -} -} -\usage{ -sas_datetime_formats -} -\description{ -Valid SAS(c) datetime formats pulled from -https://documentation.sas.com/doc/en/vdmmlcdc/8.1/ds2pg/p0bz5detpfj01qn1kz2in7xymkdl.htm -} -\keyword{datasets} diff --git a/man/sas_time_formats.Rd b/man/sas_time_formats.Rd deleted file mode 100644 index 60588f4..0000000 --- a/man/sas_time_formats.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data.R -\docType{data} -\name{sas_time_formats} -\alias{sas_time_formats} -\title{A List of valid SAS(c) time formats} -\format{ -\subsection{\code{sas_time_formats}}{ - -\describe{ -A character vector with 4 elements -} -} -} -\usage{ -sas_time_formats -} -\description{ -Valid SAS(c) time formats pulled from -https://documentation.sas.com/doc/en/vdmmlcdc/8.1/ds2pg/p0bz5detpfj01qn1kz2in7xymkdl.htm -} -\keyword{datasets} diff --git a/man/schema_1_0_0.Rd b/man/schema_1_1_0.Rd similarity index 64% rename from man/schema_1_0_0.Rd rename to man/schema_1_1_0.Rd index 633c00b..189a927 100644 --- a/man/schema_1_0_0.Rd +++ b/man/schema_1_1_0.Rd @@ -1,11 +1,11 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/data.R \docType{data} -\name{schema_1_0_0} -\alias{schema_1_0_0} -\title{Dataset JSON Schema Version 1.0.0} +\name{schema_1_1_0} +\alias{schema_1_1_0} +\title{Dataset JSON Schema Version 1.1.0} \format{ -\subsection{\code{schema_1_0_0}}{ +\subsection{\code{schema_1_1_0}}{ \describe{ A character vector with 1 element @@ -13,9 +13,9 @@ A character vector with 1 element } } \usage{ -schema_1_0_0 +schema_1_1_0 } \description{ -This object is a character vector holding the schema for Dataset JSON Version 1.0.0 +This object is a character vector holding the schema for Dataset JSON Version 1.1.0 } \keyword{datasets} diff --git a/man/set_as_reference_data.Rd b/man/set_as_reference_data.Rd new file mode 100644 index 0000000..173bd93 --- /dev/null +++ b/man/set_as_reference_data.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/file_metadata.R +\name{set_as_reference_data} +\alias{set_as_reference_data} +\title{Declare as reference data} +\usage{ +set_as_reference_data(x) +} +\arguments{ +\item{x}{datasetjson object} +} +\value{ +datasetjson object +} +\description{ +Sets DatasetJSON file to have the isReferenceData attribute set to TRUE +} +\examples{ +ds_json <- dataset_json(iris) +ds_json <- set_as_reference_data(ds_json) +}