diff --git a/README.Rmd b/README.Rmd
index 44ecc52..b2428b0 100644
--- a/README.Rmd
+++ b/README.Rmd
@@ -12,13 +12,13 @@ knitr::opts_chunk$set(
)
```
-# metacore
+# metacore
-[](https://RValidationHub.slack.com)
+[](https://RValidationHub.slack.com)
[](https://github.com/atorus-research/xportr/actions?workflow=R-CMD-check)
-[](https://app.codecov.io/gh/atorus-research/metacore)
-[](https://github.com/atorus-research/metacore/blob/master/LICENSE)
+[](https://app.codecov.io/gh/atorus-research/metacore)
+[](https://github.com/atorus-research/metacore/blob/master/LICENSE)
[](https://lifecycle.r-lib.org/articles/stages.html#experimental-1)
[](https://CRAN.R-project.org/package=metacore)
[](https://github.com/atorus-research/metacore/actions/workflows/R-CMD-check.yaml)
@@ -56,9 +56,9 @@ A metacore object is made-up of 6 different tables, which are connected with a s
Here is a schema of how all this fits together:
-
+
-### ds_spec
+### ds_spec
This table covers the basic information about each dataset. There is only a single row per dataset, with the following information:
@@ -68,7 +68,7 @@ This table covers the basic information about each dataset. There is only a sing
- *label*: Dataset label
-### ds_vars
+### ds_vars
This table contains the information that bridges between purely dataset level and purely variable level. There is one row per dataset per variable:
@@ -86,7 +86,7 @@ This table contains the information that bridges between purely dataset level an
- *supp_flag*: Logical to determine if the variable is in the supplemental datasets
-### var_spec
+### var_spec
This table contains the purely variable level information. The goal is there is a single row per variable, which is common across all datasets. This helps ensure variables follow the CDISC standard. But, this isn't always possible, so if information for a given variable differs across datasets, the variable will be recorded as dataset.variable in the variable column.
@@ -102,7 +102,7 @@ This table contains the purely variable level information. The goal is there is
- *format*: Variable format
-### value_spec
+### value_spec
This table contains the information the information at the value level. There will be at least one row per dataset/variable combination. There is more than one row per dataset/variable combination if the combination has values which have differing metadata. For instance LBORRES that are different data types depending on the value. The information contained are as follows:
@@ -122,7 +122,7 @@ This table contains the information the information at the value level. There wi
- *derivation_id*: ID for the derivation to match with the **derivation** table
-### derivations
+### derivations
This table has all the derivation information, with one row per derivation ID and the following information:
@@ -130,7 +130,7 @@ This table has all the derivation information, with one row per derivation ID an
- *derivation*: Text describing the derivation
-### codelist
+### codelist
This table contains the code lists, permitted value lists, and external libraries nested within a tibble. There is only a single row per list/library, with the following information:
@@ -144,7 +144,7 @@ This table contains the code lists, permitted value lists, and external librarie
-### supp
+### supp
This table contains the information needed to create supplemental tables. If you want to add a variable which will go into a supplemental qualifier then you can create as normal (i.e. label information going to the **var_spec** table and derivation and origin going into the **value_spec** table), but you need to flag it as supplemental in the **ds_vars** table and add a row to the **supp** table. There is only a single row per dataset/variable, with the following information:
@@ -159,7 +159,7 @@ This table contains the information needed to create supplemental tables. If you
To get more information about the metacore objects and how to build a specification reader, please see our vignettes.
-
+
## Future Development
diff --git a/README.md b/README.md
index 6413cf5..511b4f2 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,15 @@
-# metacore
+# metacore
-[](https://RValidationHub.slack.com)
+[](https://RValidationHub.slack.com)
[](https://github.com/atorus-research/xportr/actions?workflow=R-CMD-check)
-[](https://app.codecov.io/gh/atorus-research/metacore)
-[](https://github.com/atorus-research/metacore/blob/master/LICENSE)
+[](https://app.codecov.io/gh/atorus-research/metacore)
+[](https://github.com/atorus-research/metacore/blob/master/LICENSE)
[](https://lifecycle.r-lib.org/articles/stages.html#experimental-1)
[
+
+
+Schema diagram showing the relationships
+between all metacore tables (variable names not included)
+
-### ds_spec
+### ds_spec
This table covers the basic information about each dataset. There is
only a single row per dataset, with the following information:
@@ -87,7 +93,7 @@ only a single row per dataset, with the following information:
- *label*: Dataset label
-### ds_vars
+### ds_vars
This table contains the information that bridges between purely dataset
level and purely variable level. There is one row per dataset per
@@ -116,7 +122,7 @@ variable:
- *supp_flag*: Logical to determine if the variable is in the
supplemental datasets
-### var_spec
+### var_spec
This table contains the purely variable level information. The goal is
there is a single row per variable, which is common across all datasets.
@@ -141,7 +147,7 @@ variable column.
- *format*: Variable format
-### value_spec
+### value_spec
This table contains the information the information at the value level.
There will be at least one row per dataset/variable combination. There
@@ -169,7 +175,7 @@ are as follows:
- *derivation_id*: ID for the derivation to match with the
**derivation** table
-### derivations
+### derivations
This table has all the derivation information, with one row per
derivation ID and the following information:
@@ -178,7 +184,7 @@ derivation ID and the following information:
- *derivation*: Text describing the derivation
-### codelist
+### codelist
This table contains the code lists, permitted value lists, and external
libraries nested within a tibble. There is only a single row per
@@ -195,7 +201,7 @@ list/library, with the following information:
- *type*: An indicator of if the information in the code column is a
code/decode table, permitted value, or external library
-### supp
+### supp
This table contains the information needed to create supplemental
tables. If you want to add a variable which will go into a supplemental
@@ -218,7 +224,13 @@ single row per dataset/variable, with the following information:
To get more information about the metacore objects and how to build a
specification reader, please see our vignettes.
-
+
+
+Schema diagram showing the relationships
+between all metacore tables
+
## Future Development
diff --git a/vignettes/Building_Specification_Readers.Rmd b/vignettes/Building_Specification_Readers.Rmd
index 5bb7574..9ba7582 100644
--- a/vignettes/Building_Specification_Readers.Rmd
+++ b/vignettes/Building_Specification_Readers.Rmd
@@ -47,7 +47,7 @@ As we can see, the mock spec we are using here doesn't match the format. Therefo
Here is a schema of how all this fits together
-
+
ds_spec is connected to ds_vars by the 'dataset' variable and ds_vars is connected to var_spec by the 'variable' variable, etc. For more information on the make-up of metacore objects please see the README.