From 91d24515f0ab7d4e0901e30434366ef4222fa25c Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko
Date: Sat, 15 Jul 2023 18:28:49 -0400
Subject: [PATCH 1/6] Add github action to codespell main on push and PRs
---
.github/workflows/codespell.yml | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 .github/workflows/codespell.yml
diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
new file mode 100644
index 0000000..3ebbf55
--- /dev/null
+++ b/.github/workflows/codespell.yml
@@ -0,0 +1,22 @@
+---
+name: Codespell
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ branches: [main]
+
+permissions:
+ contents: read
+
+jobs:
+ codespell:
+ name: Check for spelling errors
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Codespell
+ uses: codespell-project/actions-codespell@v2
From 320cc7a871b3124ac761a0b93907ab81e8bc1c78 Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko
Date: Sat, 15 Jul 2023 18:28:49 -0400
Subject: [PATCH 2/6] Add rudimentary codespell config
---
.codespellrc | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 .codespellrc
diff --git a/.codespellrc b/.codespellrc
new file mode 100644
index 0000000..da3c057
--- /dev/null
+++ b/.codespellrc
@@ -0,0 +1,4 @@
+[codespell]
+skip = .git,*.pdf,*.svg
+#
+# ignore-words-list =
From 53ab6acd2d42acab12c2e4e8659f638ad3e754a7 Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko
Date: Sat, 15 Jul 2023 18:34:06 -0400
Subject: [PATCH 3/6] various ignores including all short words - assuming they
are all "legit"
---
.codespellrc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.codespellrc b/.codespellrc
index da3c057..39844df 100644
--- a/.codespellrc
+++ b/.codespellrc
@@ -1,4 +1,4 @@
[codespell]
-skip = .git,*.pdf,*.svg
+skip = .git,*.pdf,*.svg,.*.min.js,*.pdf,site_libs
#
-# ignore-words-list =
+ignore-words-list = bu,eacg,ehr,infarction,2rd,aas,ags,alog,bui,caf,eacf,ede,edn,esy,fo,gage,ges,gud,iif,isnt,knwo,mor,nam,nd,ot,slq,tahn,te,tey,thn,tye,ue,vas,wel,whn,wih,wth,yau,pilon
From df61fe512cb20cbb8cf9c840600b3c54a3ef3067 Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko
Date: Thu, 28 Mar 2024 15:31:05 -0400
Subject: [PATCH 4/6] ignore embeded binary base64 blobs
---
.codespellrc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.codespellrc b/.codespellrc
index 39844df..7987ad9 100644
--- a/.codespellrc
+++ b/.codespellrc
@@ -1,4 +1,4 @@
[codespell]
skip = .git,*.pdf,*.svg,.*.min.js,*.pdf,site_libs
-#
+ignore-regex = src="data:image/png.*
ignore-words-list = bu,eacg,ehr,infarction,2rd,aas,ags,alog,bui,caf,eacf,ede,edn,esy,fo,gage,ges,gud,iif,isnt,knwo,mor,nam,nd,ot,slq,tahn,te,tey,thn,tye,ue,vas,wel,whn,wih,wth,yau,pilon
From 0c031eee1269bb7cb4a8630297adae0baad6a08f Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko
Date: Thu, 28 Mar 2024 15:31:21 -0400
Subject: [PATCH 5/6] [DATALAD RUNCMD] Fix fieds typo
=== Do not change lines below ===
{
"chain": [],
"cmd": "git-sedi fieds fields",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "."
}
^^^ Do not change lines above ^^^
---
docs/cdm54ToolingSupport.html | 2 +-
rmd/cdm54ToolingSupport.RMD | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/cdm54ToolingSupport.html b/docs/cdm54ToolingSupport.html
index 0a14222..1ef58a5 100644
--- a/docs/cdm54ToolingSupport.html
+++ b/docs/cdm54ToolingSupport.html
@@ -499,7 +499,7 @@ Support
make use of which OMOP CDM fields. The goal is to inform ETL developers,
tooling developers and CDM extensions.
-- For ETL developers it helps to have guidance on which fieds to
+
- For ETL developers it helps to have guidance on which fields to
prioritise in the mapping. Most value will be gained from populating
fields support across the OHDSI tooling.
- For OHDSI tooling developers, this page provides insight in the gaps
diff --git a/rmd/cdm54ToolingSupport.RMD b/rmd/cdm54ToolingSupport.RMD
index 04d5602..42c7dd6 100644
--- a/rmd/cdm54ToolingSupport.RMD
+++ b/rmd/cdm54ToolingSupport.RMD
@@ -10,7 +10,7 @@ output:
This tables below contain an overview of which standard OHDSI tools make use of which OMOP CDM fields.
The goal is to inform ETL developers, tooling developers and CDM extensions.
-- For ETL developers it helps to have guidance on which fieds to prioritise in the mapping. Most value will be gained from populating fields support across the OHDSI tooling.
+- For ETL developers it helps to have guidance on which fields to prioritise in the mapping. Most value will be gained from populating fields support across the OHDSI tooling.
- For OHDSI tooling developers, this page provides insight in the gaps of support and can drive future development efforts.
- For CDM extenstions, it helps to known what it means for an OMOP CDM table/field to be part of the standard. In other words: what OHDSI tooling do we at least expect to support the new extensions?
From dceb3a182bedbafa6df85b302d356ba32aa95cef Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko
Date: Thu, 28 Mar 2024 15:31:24 -0400
Subject: [PATCH 6/6] [DATALAD RUNCMD] run codespell throughout fixing typos
automagically
=== Do not change lines below ===
{
"chain": [],
"cmd": "codespell -w",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "."
}
^^^ Do not change lines above ^^^
---
R/buildRelease.R | 4 ++--
docs/cdm53.html | 2 +-
docs/cdm54.html | 2 +-
docs/cdm54ToolingSupport.html | 4 ++--
docs/cdm60.html | 2 +-
extras/archive/OMOP_CDM_PDF.html | 4 ++--
extras/archive/OMOP_CDM_v6_0test.html | 2 +-
extras/archive/testSpec.html | 10 +++++-----
inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv | 2 +-
inst/csv/OMOP_CDMv5.3_Table_Level.csv | 2 +-
inst/csv/OMOP_CDMv5.4_Table_Level.csv | 2 +-
inst/csv/OMOP_CDMv6.0_Table_Level.csv | 2 +-
man/buildRelease.Rd | 4 ++--
rmd/cdm54ToolingSupport.RMD | 4 ++--
14 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/R/buildRelease.R b/R/buildRelease.R
index 5d83fdb..784def9 100644
--- a/R/buildRelease.R
+++ b/R/buildRelease.R
@@ -17,7 +17,7 @@
#' Create OMOP CDM SQL files
#'
#' Writes DDL, ForeignKey, PrimaryKey and index SQL files for given cdmVersion
-#' and targetDialect to the 'ddl' folder in specifed output folder.
+#' and targetDialect to the 'ddl' folder in specified output folder.
#'
#' @param cdmVersions The versions of the CDM you are creating, e.g. 5.3, 5.4.
#' Defaults to all supported CDM versions.
@@ -26,7 +26,7 @@
#' @param outputfolder The base folder where the SQL files will be written.
#' Subfolders will be created for each cdmVersion and targetDialect.
#' @return Writes DDL, ForeignKey, PrimaryKey and index SQL files for given cdmVersion
-#' and targetDialect to the 'ddl' folder in specifed output folder.
+#' and targetDialect to the 'ddl' folder in specified output folder.
#' @export
buildRelease <- function(cdmVersions = listSupportedVersions(),
targetDialects = listSupportedDialects(),
diff --git a/docs/cdm53.html b/docs/cdm53.html
index dc24d90..bc193d5 100644
--- a/docs/cdm53.html
+++ b/docs/cdm53.html
@@ -1124,7 +1124,7 @@ CONCEPT
Table Description
This table contains records which define spans of time during which
two conditions are expected to hold: (i) Clinical Events that happened
-to the Person are recorded in the Event tables, and (ii) absense of
+to the Person are recorded in the Event tables, and (ii) absence of
records indicate such Events did not occur during this span of time.
User Guide
For each Person, one or more OBSERVATION_PERIOD records may be
diff --git a/docs/cdm54.html b/docs/cdm54.html
index ca9958e..6b9a0d1 100644
--- a/docs/cdm54.html
+++ b/docs/cdm54.html
@@ -1232,7 +1232,7 @@ CONCEPT
Table Description
This table contains records which define spans of time during which
two conditions are expected to hold: (i) Clinical Events that happened
-to the Person are recorded in the Event tables, and (ii) absense of
+to the Person are recorded in the Event tables, and (ii) absence of
records indicate such Events did not occur during this span of time.
User Guide
For each Person, one or more OBSERVATION_PERIOD records may be
diff --git a/docs/cdm54ToolingSupport.html b/docs/cdm54ToolingSupport.html
index 1ef58a5..021f2a2 100644
--- a/docs/cdm54ToolingSupport.html
+++ b/docs/cdm54ToolingSupport.html
@@ -504,7 +504,7 @@ prioritise in the mapping. Most value will be gained from populating
fields support across the OHDSI tooling.
- For OHDSI tooling developers, this page provides insight in the gaps
of support and can drive future development efforts.
-- For CDM extenstions, it helps to known what it means for an OMOP CDM
+
- For CDM extensions, it helps to known what it means for an OMOP CDM
table/field to be part of the standard. In other words: what OHDSI
tooling do we at least expect to support the new extensions?
@@ -582,7 +582,7 @@ Achilles only checked for a valid foreign key to the provider table.
diff --git a/docs/cdm60.html b/docs/cdm60.html
index 79aec79..951dd6b 100644
--- a/docs/cdm60.html
+++ b/docs/cdm60.html
@@ -1218,7 +1218,7 @@ CONCEPT
Table Description
This table contains records which define spans of time during which
two conditions are expected to hold: (i) Clinical Events that happened
-to the Person are recorded in the Event tables, and (ii) absense of
+to the Person are recorded in the Event tables, and (ii) absence of
records indicate such Events did not occur during this span of time.
User Guide
For each Person, one or more OBSERVATION_PERIOD records may be
diff --git a/extras/archive/OMOP_CDM_PDF.html b/extras/archive/OMOP_CDM_PDF.html
index f271b8b..be00a9e 100644
--- a/extras/archive/OMOP_CDM_PDF.html
+++ b/extras/archive/OMOP_CDM_PDF.html
@@ -1087,7 +1087,7 @@ $(document).ready(function () {
5 |
-Concept Relationships define direct relationships between Concepts. Indirect relationships through 3rd Concepts are not captured in this table. However, the CONCEPT_ANCESTOR table does this for hierachical relationships over several “generations” of direct relationships. |
+Concept Relationships define direct relationships between Concepts. Indirect relationships through 3rd Concepts are not captured in this table. However, the CONCEPT_ANCESTOR table does this for hierarchical relationships over several “generations” of direct relationships. |
@@ -5203,7 +5203,7 @@ Person, 2, Person, 1, child of
payer_concept_id |
Yes |
integer |
-A foreign key that refers to a standard Payer concept identifier in the Standarized Vocabularies |
+A foreign key that refers to a standard Payer concept identifier in the Standardized Vocabularies |
payer_source_value |
diff --git a/extras/archive/OMOP_CDM_v6_0test.html b/extras/archive/OMOP_CDM_v6_0test.html
index d18d6f2..870994f 100644
--- a/extras/archive/OMOP_CDM_v6_0test.html
+++ b/extras/archive/OMOP_CDM_v6_0test.html
@@ -1000,7 +1000,7 @@ $(document).ready(function () {
5 |
-Concept Relationships define direct relationships between Concepts. Indirect relationships through 3rd Concepts are not captured in this table. However, the CONCEPT_ANCESTOR table does this for hierachical relationships over several “generations” of direct relationships. |
+Concept Relationships define direct relationships between Concepts. Indirect relationships through 3rd Concepts are not captured in this table. However, the CONCEPT_ANCESTOR table does this for hierarchical relationships over several “generations” of direct relationships. |
diff --git a/extras/archive/testSpec.html b/extras/archive/testSpec.html
index d7f5bab..0c43f9f 100644
--- a/extras/archive/testSpec.html
+++ b/extras/archive/testSpec.html
@@ -1018,7 +1018,7 @@ NA
observation_period_start_date
-Use this date to determine the start date of the period for which we can assume that all events for a Person are recorded and any absense of records indicates an absence of events.
+Use this date to determine the start date of the period for which we can assume that all events for a Person are recorded and any absence of records indicates an absence of events.
|
It is often the case that the idea of observation periods does not exist in source data. In those cases the observation_period_start_date can be inferred as the earliest event date available for the Person. In US claims, the observation period can be considered as the time period the person is enrolled with an insurer. If a Person switches plans but stays with the same insurer, that change would be captured in payer_plan_period.
@@ -1050,7 +1050,7 @@ NA
observation_period_end_date
|
-Use this date to determine the end date of the period for which we can assume that all events for a Person are recorded and any absense of records indicates an absence of events.
+Use this date to determine the end date of the period for which we can assume that all events for a Person are recorded and any absence of records indicates an absence of events.
|
It is often the case that the idea of observation periods does not exist in source data. In those cases the observation_period_start_end_date can be inferred as the latest event date available for the Person. The event dates include insurance enrollment dates.
@@ -1667,7 +1667,7 @@ NA
preceding_visit_occurrence_id
|
-Use this field to find the visit that occured for the person prior to the given visit. There could be a few days or a few years in between.
+Use this field to find the visit that occurred for the person prior to the given visit. There could be a few days or a few years in between.
|
The preceding_visit_id can be used to link a visit immediately preceding the current visit. Note this is not symmetrical, and there is no such thing as a “following_visit_id”.
@@ -10200,7 +10200,7 @@ NA
The Drug Era End Date is the end date of the last Drug Exposure. The End Date of each Drug Exposure is either taken from the field drug_exposure_end_date or, as it is typically not available, inferred using the following rules:
For pharmacy prescription data, the date when the drug was dispensed plus the number of days of supply are used to extrapolate the End Date for the Drug Exposure. Depending on the country-specific healthcare system, this supply information is either explicitly provided in the day_supply field or inferred from package size or similar information.
For Procedure Drugs, usually the drug is administered on a single date (i.e., the administration date).
-A standard Persistence Window of 30 days (gap, slack) is permitted between two subsequent such extrapolated DRUG_EXPOSURE records to be considered to be merged into a single Drug Era. (ARENT WE REQUIRING TO USE DRUG_EXPOSURE_END_DATE NOW????)
+A standard Persistence Window of 30 days (gap, slack) is permitted between two subsequent such extrapolated DRUG_EXPOSURE records to be considered to be merged into a single Drug Era. (AREN'T WE REQUIRING TO USE DRUG_EXPOSURE_END_DATE NOW????)
|
datetime
@@ -20702,7 +20702,7 @@ NA
payer_concept_id
|
-A foreign key that refers to a standard Payer concept identifier in the Standarized Vocabularies
+A foreign key that refers to a standard Payer concept identifier in the Standardized Vocabularies
|
NA
diff --git a/inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv b/inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv
index 627efee..3d4ef6a 100644
--- a/inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv
+++ b/inst/csv/OMOP_CDM_Oncology_Ex_Field_Level.csv
@@ -10,7 +10,7 @@ episode,episode_parent_id,No,bigint,Use this field to find the Episode that subs
episode,episode_number,No,integer,"For sequences of episodes, this is used to indicate the order the episodes occurred. For example, lines of treatment could be indicated here. ",Please see [article] for the details of how to count episodes.,No,No,,,,
episode,episode_object_concept_id,Yes,integer,"A Standard Concept representing the disease phase, outcome, or other abstraction of which the episode consists. For example, if the episode_concept_id is [treatment regimen](https://athena.ohdsi.org/search-terms/terms/32531) then the episode_object_concept_id should contain the chemotherapy regimen concept, like [Afatinib monotherapy](https://athena.ohdsi.org/search-terms/terms/35804392). ",Episode entries from the 'Disease Episode' concept class should have an episode_object_concept_id that comes from the Condition domain. Episode entries from the 'Treatment Episode' concept class should have an episode_object_concept_id that scome from the 'Procedure' domain or 'Regimen' concept class.,No,Yes,concept,concept_id,"Procedure, Regimen",
episode,episode_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Episode record, as in whether the episode was from an EHR system, insurance claim, registry, or other sources.",Choose the episode_type_concept_id that best represents the provenance of the record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,concept,concept_id,Type Concept,
-episode,episode_source_value,No,varchar(50),The source code for the Episdoe as it appears in the source data. This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,,No,No,,,,
+episode,episode_source_value,No,varchar(50),The source code for the Episode as it appears in the source data. This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,,No,No,,,,
episode,episode_source_concept_id,No,integer,A foreign key to a Episode Concept that refers to the code used in the source.,Given that the Episodes are user-defined it is unlikely that there will be a Source Concept available. If that is the case then set this field to zero. ,No,Yes,concept,concept_id,,
episode_event,episode_id,Yes,bigint,Use this field to link the episode_event record to its episode.,Put the episode_id that subsumes the episode_event record here.,No,Yes,episode,episode_id,,
episode_event,event_id,Yes,bigint,"This field is the primary key of the linked record in the database. For example, if the Episode Event is a Condition Occurrence, then the condition_occurrence_id of the linked record goes in this field. ",Put the primary key of the linked record here. ,No,No,,,,
diff --git a/inst/csv/OMOP_CDMv5.3_Table_Level.csv b/inst/csv/OMOP_CDMv5.3_Table_Level.csv
index 9355bf7..21b7ac8 100644
--- a/inst/csv/OMOP_CDMv5.3_Table_Level.csv
+++ b/inst/csv/OMOP_CDMv5.3_Table_Level.csv
@@ -1,6 +1,6 @@
cdmTableName,schema,isRequired,conceptPrefix,measurePersonCompleteness,measurePersonCompletenessThreshold,validation,tableDescription,userGuidance,etlConventions
person,CDM,Yes,NA,No,NA,NA,"This table serves as the central identity management for all Persons in the database. It contains records that uniquely identify each person or patient, and some demographic information.",All records in this table are independent Persons.,"All Persons in a database needs one record in this table, unless they fail data quality requirements specified in the ETL. Persons with no Events should have a record nonetheless. If more than one data source contributes Events to the database, Persons must be reconciled, if possible, across the sources to create one single record per Person. The content of the BIRTH_DATETIME must be equivalent to the content of BIRTH_DAY, BIRTH_MONTH and BIRTH_YEAR."
-observation_period,CDM,Yes,NA,Yes,0,NA,"This table contains records which define spans of time during which two conditions are expected to hold: (i) Clinical Events that happened to the Person are recorded in the Event tables, and (ii) absense of records indicate such Events did not occur during this span of time.","For each Person, one or more OBSERVATION_PERIOD records may be present, but they will not overlap or be back to back to each other. Events may exist outside all of the time spans of the OBSERVATION_PERIOD records for a patient, however, absence of an Event outside these time spans cannot be construed as evidence of absence of an Event. Incidence or prevalence rates should only be calculated for the time of active OBSERVATION_PERIOD records. When constructing cohorts, outside Events can be used for inclusion criteria definition, but without any guarantee for the performance of these criteria. Also, OBSERVATION_PERIOD records can be as short as a single day, greatly disturbing the denominator of any rate calculation as part of cohort characterizations. To avoid that, apply minimal observation time as a requirement for any cohort definition.","Each Person needs to have at least one OBSERVATION_PERIOD record, which should represent time intervals with a high capture rate of Clinical Events. Some source data have very similar concepts, such as enrollment periods in insurance claims data. In other source data such as most EHR systems these time spans need to be inferred under a set of assumptions. It is the discretion of the ETL developer to define these assumptions. In many ETL solutions the start date of the first occurrence or the first high quality occurrence of a Clinical Event (Condition, Drug, Procedure, Device, Measurement, Visit) is defined as the start of the OBSERVATION_PERIOD record, and the end date of the last occurrence of last high quality occurrence of a Clinical Event, or the end of the database period becomes the end of the OBSERVATOIN_PERIOD for each Person. If a Person only has a single Clinical Event the OBSERVATION_PERIOD record can be as short as one day. Depending on these definitions it is possible that Clinical Events fall outside the time spans defined by OBSERVATION_PERIOD records. Family history or history of Clinical Events generally are not used to generate OBSERVATION_PERIOD records around the time they are referring to. Any two overlapping or adjacent OBSERVATION_PERIOD records have to be merged into one."
+observation_period,CDM,Yes,NA,Yes,0,NA,"This table contains records which define spans of time during which two conditions are expected to hold: (i) Clinical Events that happened to the Person are recorded in the Event tables, and (ii) absence of records indicate such Events did not occur during this span of time.","For each Person, one or more OBSERVATION_PERIOD records may be present, but they will not overlap or be back to back to each other. Events may exist outside all of the time spans of the OBSERVATION_PERIOD records for a patient, however, absence of an Event outside these time spans cannot be construed as evidence of absence of an Event. Incidence or prevalence rates should only be calculated for the time of active OBSERVATION_PERIOD records. When constructing cohorts, outside Events can be used for inclusion criteria definition, but without any guarantee for the performance of these criteria. Also, OBSERVATION_PERIOD records can be as short as a single day, greatly disturbing the denominator of any rate calculation as part of cohort characterizations. To avoid that, apply minimal observation time as a requirement for any cohort definition.","Each Person needs to have at least one OBSERVATION_PERIOD record, which should represent time intervals with a high capture rate of Clinical Events. Some source data have very similar concepts, such as enrollment periods in insurance claims data. In other source data such as most EHR systems these time spans need to be inferred under a set of assumptions. It is the discretion of the ETL developer to define these assumptions. In many ETL solutions the start date of the first occurrence or the first high quality occurrence of a Clinical Event (Condition, Drug, Procedure, Device, Measurement, Visit) is defined as the start of the OBSERVATION_PERIOD record, and the end date of the last occurrence of last high quality occurrence of a Clinical Event, or the end of the database period becomes the end of the OBSERVATOIN_PERIOD for each Person. If a Person only has a single Clinical Event the OBSERVATION_PERIOD record can be as short as one day. Depending on these definitions it is possible that Clinical Events fall outside the time spans defined by OBSERVATION_PERIOD records. Family history or history of Clinical Events generally are not used to generate OBSERVATION_PERIOD records around the time they are referring to. Any two overlapping or adjacent OBSERVATION_PERIOD records have to be merged into one."
visit_occurrence,CDM,No,VISIT_,Yes,0,NA,"This table contains Events where Persons engage with the healthcare system for a duration of time. They are often also called ""Encounters"". Visits are defined by a configuration of circumstances under which they occur, such as (i) whether the patient comes to a healthcare institution, the other way around, or the interaction is remote, (ii) whether and what kind of trained medical staff is delivering the service during the Visit, and (iii) whether the Visit is transient or for a longer period involving a stay in bed.","The configuration defining the Visit are described by Concepts in the Visit Domain, which form a hierarchical structure, but rolling up to generally familiar Visits adopted in most healthcare systems worldwide:
- [Inpatient Visit](https://athena.ohdsi.org/search-terms/terms/9201): Person visiting hospital, at a Care Site, in bed, for duration of more than one day, with physicians and other Providers permanently available to deliver service around the clock
diff --git a/inst/csv/OMOP_CDMv5.4_Table_Level.csv b/inst/csv/OMOP_CDMv5.4_Table_Level.csv
index 5790e7d..4ded3c5 100644
--- a/inst/csv/OMOP_CDMv5.4_Table_Level.csv
+++ b/inst/csv/OMOP_CDMv5.4_Table_Level.csv
@@ -1,6 +1,6 @@
cdmTableName,schema,isRequired,conceptPrefix,measurePersonCompleteness,measurePersonCompletenessThreshold,validation,tableDescription,userGuidance,etlConventions
person,CDM,Yes,NA,No,NA,NA,"This table serves as the central identity management for all Persons in the database. It contains records that uniquely identify each person or patient, and some demographic information.",All records in this table are independent Persons.,"All Persons in a database needs one record in this table, unless they fail data quality requirements specified in the ETL. Persons with no Events should have a record nonetheless. If more than one data source contributes Events to the database, Persons must be reconciled, if possible, across the sources to create one single record per Person. The content of the BIRTH_DATETIME must be equivalent to the content of BIRTH_DAY, BIRTH_MONTH and BIRTH_YEAR."
-observation_period,CDM,Yes,NA,Yes,0,NA,"This table contains records which define spans of time during which two conditions are expected to hold: (i) Clinical Events that happened to the Person are recorded in the Event tables, and (ii) absense of records indicate such Events did not occur during this span of time.","For each Person, one or more OBSERVATION_PERIOD records may be present, but they will not overlap or be back to back to each other. Events may exist outside all of the time spans of the OBSERVATION_PERIOD records for a patient, however, absence of an Event outside these time spans cannot be construed as evidence of absence of an Event. Incidence or prevalence rates should only be calculated for the time of active OBSERVATION_PERIOD records. When constructing cohorts, outside Events can be used for inclusion criteria definition, but without any guarantee for the performance of these criteria. Also, OBSERVATION_PERIOD records can be as short as a single day, greatly disturbing the denominator of any rate calculation as part of cohort characterizations. To avoid that, apply minimal observation time as a requirement for any cohort definition.","Each Person needs to have at least one OBSERVATION_PERIOD record, which should represent time intervals with a high capture rate of Clinical Events. Some source data have very similar concepts, such as enrollment periods in insurance claims data. In other source data such as most EHR systems these time spans need to be inferred under a set of assumptions. It is the discretion of the ETL developer to define these assumptions. In many ETL solutions the start date of the first occurrence or the first high quality occurrence of a Clinical Event (Condition, Drug, Procedure, Device, Measurement, Visit) is defined as the start of the OBSERVATION_PERIOD record, and the end date of the last occurrence of last high quality occurrence of a Clinical Event, or the end of the database period becomes the end of the OBSERVATOIN_PERIOD for each Person. If a Person only has a single Clinical Event the OBSERVATION_PERIOD record can be as short as one day. Depending on these definitions it is possible that Clinical Events fall outside the time spans defined by OBSERVATION_PERIOD records. Family history or history of Clinical Events generally are not used to generate OBSERVATION_PERIOD records around the time they are referring to. Any two overlapping or adjacent OBSERVATION_PERIOD records have to be merged into one."
+observation_period,CDM,Yes,NA,Yes,0,NA,"This table contains records which define spans of time during which two conditions are expected to hold: (i) Clinical Events that happened to the Person are recorded in the Event tables, and (ii) absence of records indicate such Events did not occur during this span of time.","For each Person, one or more OBSERVATION_PERIOD records may be present, but they will not overlap or be back to back to each other. Events may exist outside all of the time spans of the OBSERVATION_PERIOD records for a patient, however, absence of an Event outside these time spans cannot be construed as evidence of absence of an Event. Incidence or prevalence rates should only be calculated for the time of active OBSERVATION_PERIOD records. When constructing cohorts, outside Events can be used for inclusion criteria definition, but without any guarantee for the performance of these criteria. Also, OBSERVATION_PERIOD records can be as short as a single day, greatly disturbing the denominator of any rate calculation as part of cohort characterizations. To avoid that, apply minimal observation time as a requirement for any cohort definition.","Each Person needs to have at least one OBSERVATION_PERIOD record, which should represent time intervals with a high capture rate of Clinical Events. Some source data have very similar concepts, such as enrollment periods in insurance claims data. In other source data such as most EHR systems these time spans need to be inferred under a set of assumptions. It is the discretion of the ETL developer to define these assumptions. In many ETL solutions the start date of the first occurrence or the first high quality occurrence of a Clinical Event (Condition, Drug, Procedure, Device, Measurement, Visit) is defined as the start of the OBSERVATION_PERIOD record, and the end date of the last occurrence of last high quality occurrence of a Clinical Event, or the end of the database period becomes the end of the OBSERVATOIN_PERIOD for each Person. If a Person only has a single Clinical Event the OBSERVATION_PERIOD record can be as short as one day. Depending on these definitions it is possible that Clinical Events fall outside the time spans defined by OBSERVATION_PERIOD records. Family history or history of Clinical Events generally are not used to generate OBSERVATION_PERIOD records around the time they are referring to. Any two overlapping or adjacent OBSERVATION_PERIOD records have to be merged into one."
visit_occurrence,CDM,No,VISIT_,Yes,0,NA,"This table contains Events where Persons engage with the healthcare system for a duration of time. They are often also called ""Encounters"". Visits are defined by a configuration of circumstances under which they occur, such as (i) whether the patient comes to a healthcare institution, the other way around, or the interaction is remote, (ii) whether and what kind of trained medical staff is delivering the service during the Visit, and (iii) whether the Visit is transient or for a longer period involving a stay in bed.","The configuration defining the Visit are described by Concepts in the Visit Domain, which form a hierarchical structure, but rolling up to generally familiar Visits adopted in most healthcare systems worldwide:
- [Inpatient Visit](https://athena.ohdsi.org/search-terms/terms/9201): Person visiting hospital, at a Care Site, in bed, for duration of more than one day, with physicians and other Providers permanently available to deliver service around the clock
diff --git a/inst/csv/OMOP_CDMv6.0_Table_Level.csv b/inst/csv/OMOP_CDMv6.0_Table_Level.csv
index 9d5eaae..908c15d 100644
--- a/inst/csv/OMOP_CDMv6.0_Table_Level.csv
+++ b/inst/csv/OMOP_CDMv6.0_Table_Level.csv
@@ -1,6 +1,6 @@
cdmTableName,schema,isRequired,conceptPrefix,measurePersonCompleteness,measurePersonCompletenessThreshold,validation,tableDescription,userGuidance,etlConventions
person,CDM,Yes,NA,No,NA,NA,"This table serves as the central identity management for all Persons in the database. It contains records that uniquely identify each person or patient, and some demographic information.",All records in this table are independent Persons.,"All Persons in a database needs one record in this table, unless they fail data quality requirements specified in the ETL. Persons with no Events should have a record nonetheless. If more than one data source contributes Events to the database, Persons must be reconciled, if possible, across the sources to create one single record per Person. The BIRTH_DATETIME must be equivalent to the content of BIRTH_DAY, BIRTH_MONTH and BIRTH_YEAR. There is a helpful rule listed in table below for how to derive BIRTH_DATETIME if it is not available in the source. **New to CDM v6.0** The person's death date is now stored in this table instead of the separate DEATH table. In the case that multiple dates of death are given in the source data the ETL should make a choice as to which death date to put in the PERSON table. Any additional dates can be stored in the OBSERVATION table using the concept [4265167](https://athena.ohdsi.org/search-terms/terms/4265167) which stands for 'Date of death' . Similarly, the cause of death is stored in the CONDITION_OCCURRENCE table using the CONDITION_STATUS_CONCEPT_ID [32891](https://athena.ohdsi.org/search-terms/terms/32891) for 'Cause of death'."
-observation_period,CDM,Yes,NA,Yes,0,NA,"This table contains records which define spans of time during which two conditions are expected to hold: (i) Clinical Events that happened to the Person are recorded in the Event tables, and (ii) absense of records indicate such Events did not occur during this span of time.","For each Person, one or more OBSERVATION_PERIOD records may be present, but they will not overlap or be back to back to each other. Events may exist outside all of the time spans of the OBSERVATION_PERIOD records for a patient, however, absence of an Event outside these time spans cannot be construed as evidence of absence of an Event. Incidence or prevalence rates should only be calculated for the time of active OBSERVATION_PERIOD records. When constructing cohorts, outside Events can be used for inclusion criteria definition, but without any guarantee for the performance of these criteria. Also, OBSERVATION_PERIOD records can be as short as a single day, greatly disturbing the denominator of any rate calculation as part of cohort characterizations. To avoid that, apply minimal observation time as a requirement for any cohort definition.","Each Person needs to have at least one OBSERVATION_PERIOD record, which should represent time intervals with a high capture rate of Clinical Events. Some source data have very similar concepts, such as enrollment periods in insurance claims data. In other source data such as most EHR systems these time spans need to be inferred under a set of assumptions. It is the discretion of the ETL developer to define these assumptions. In many ETL solutions the start date of the first occurrence or the first high quality occurrence of a Clinical Event (Condition, Drug, Procedure, Device, Measurement, Visit) is defined as the start of the OBSERVATION_PERIOD record, and the end date of the last occurrence of last high quality occurrence of a Clinical Event, or the end of the database period becomes the end of the OBSERVATOIN_PERIOD for each Person. If a Person only has a single Clinical Event the OBSERVATION_PERIOD record can be as short as one day. Depending on these definitions it is possible that Clinical Events fall outside the time spans defined by OBSERVATION_PERIOD records. Family history or history of Clinical Events generally are not used to generate OBSERVATION_PERIOD records around the time they are referring to. Any two overlapping or adjacent OBSERVATION_PERIOD records have to be merged into one."
+observation_period,CDM,Yes,NA,Yes,0,NA,"This table contains records which define spans of time during which two conditions are expected to hold: (i) Clinical Events that happened to the Person are recorded in the Event tables, and (ii) absence of records indicate such Events did not occur during this span of time.","For each Person, one or more OBSERVATION_PERIOD records may be present, but they will not overlap or be back to back to each other. Events may exist outside all of the time spans of the OBSERVATION_PERIOD records for a patient, however, absence of an Event outside these time spans cannot be construed as evidence of absence of an Event. Incidence or prevalence rates should only be calculated for the time of active OBSERVATION_PERIOD records. When constructing cohorts, outside Events can be used for inclusion criteria definition, but without any guarantee for the performance of these criteria. Also, OBSERVATION_PERIOD records can be as short as a single day, greatly disturbing the denominator of any rate calculation as part of cohort characterizations. To avoid that, apply minimal observation time as a requirement for any cohort definition.","Each Person needs to have at least one OBSERVATION_PERIOD record, which should represent time intervals with a high capture rate of Clinical Events. Some source data have very similar concepts, such as enrollment periods in insurance claims data. In other source data such as most EHR systems these time spans need to be inferred under a set of assumptions. It is the discretion of the ETL developer to define these assumptions. In many ETL solutions the start date of the first occurrence or the first high quality occurrence of a Clinical Event (Condition, Drug, Procedure, Device, Measurement, Visit) is defined as the start of the OBSERVATION_PERIOD record, and the end date of the last occurrence of last high quality occurrence of a Clinical Event, or the end of the database period becomes the end of the OBSERVATOIN_PERIOD for each Person. If a Person only has a single Clinical Event the OBSERVATION_PERIOD record can be as short as one day. Depending on these definitions it is possible that Clinical Events fall outside the time spans defined by OBSERVATION_PERIOD records. Family history or history of Clinical Events generally are not used to generate OBSERVATION_PERIOD records around the time they are referring to. Any two overlapping or adjacent OBSERVATION_PERIOD records have to be merged into one."
visit_occurrence,CDM,No,VISIT_,Yes,0,NA,"This table contains Events where Persons engage with the healthcare system for a duration of time. They are often also called ""Encounters"". Visits are defined by a configuration of circumstances under which they occur, such as (i) whether the patient comes to a healthcare institution, the other way around, or the interaction is remote, (ii) whether and what kind of trained medical staff is delivering the service during the Visit, and (iii) whether the Visit is transient or for a longer period involving a stay in bed.","The configuration defining the Visit are described by Concepts in the Visit Domain, which form a hierarchical structure, but rolling up to generally familiar Visits adopted in most healthcare systems worldwide:
- [Inpatient Visit](https://athena.ohdsi.org/search-terms/terms/9201): Person visiting hospital, at a Care Site, in bed, for duration of more than one day, with physicians and other Providers permanently available to deliver service around the clock
diff --git a/man/buildRelease.Rd b/man/buildRelease.Rd
index 400b6d4..1ec9f10 100644
--- a/man/buildRelease.Rd
+++ b/man/buildRelease.Rd
@@ -22,9 +22,9 @@ Subfolders will be created for each cdmVersion and targetDialect.}
}
\value{
Writes DDL, ForeignKey, PrimaryKey and index SQL files for given cdmVersion
- and targetDialect to the 'ddl' folder in specifed output folder.
+ and targetDialect to the 'ddl' folder in specified output folder.
}
\description{
Writes DDL, ForeignKey, PrimaryKey and index SQL files for given cdmVersion
-and targetDialect to the 'ddl' folder in specifed output folder.
+and targetDialect to the 'ddl' folder in specified output folder.
}
diff --git a/rmd/cdm54ToolingSupport.RMD b/rmd/cdm54ToolingSupport.RMD
index 42c7dd6..364e933 100644
--- a/rmd/cdm54ToolingSupport.RMD
+++ b/rmd/cdm54ToolingSupport.RMD
@@ -12,7 +12,7 @@ The goal is to inform ETL developers, tooling developers and CDM extensions.
- For ETL developers it helps to have guidance on which fields to prioritise in the mapping. Most value will be gained from populating fields support across the OHDSI tooling.
- For OHDSI tooling developers, this page provides insight in the gaps of support and can drive future development efforts.
-- For CDM extenstions, it helps to known what it means for an OMOP CDM table/field to be part of the standard. In other words: what OHDSI tooling do we at least expect to support the new extensions?
+- For CDM extensions, it helps to known what it means for an OMOP CDM table/field to be part of the standard. In other words: what OHDSI tooling do we at least expect to support the new extensions?
Currently four OHDSI tools have been evaluated: DataQualityDashboard, Achilles, Atlas (Data Sources and Cohort creation) and Feature Extraction.
@@ -30,7 +30,7 @@ General criteria:
- `r emoji::emoji("exclamation")` if field is used by the tool, but not in a meaningful way. e.g. `provider_id` in Achilles only checked for a valid foreign key to the provider table.
# Tooling Support for OMOP fields
- **Abbrevations** |
+ **Abbreviations** |
--- | ---
**PK** | Primary Key
**SV** | Source Value (for data quality / etl validation)
|