Skip to content

Commit

Permalink
Merge pull request #516 from OHDSI/issue-445
Browse files Browse the repository at this point in the history
Add three new temporal checks: `plausibleAfterBirth`, `plausibleBeforeDeath`, `plausibleStartBeforeEnd`
  • Loading branch information
katy-sadowski authored Jan 6, 2024
2 parents 2883027 + cdb6db7 commit 1c48fcb
Show file tree
Hide file tree
Showing 12 changed files with 1,445 additions and 1,197 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,16 @@ inst/results.json
# Other
.DS_Store

# Visual Studio Code
.vscode/

errorReport.txt
output/
results/
thresholds/
hs_err_pid*.log
docs/Gemfile
docs/Gemfile.lock
sql
vignettes/*.log
/doc/
/Meta/
9 changes: 9 additions & 0 deletions R/executeDqChecks.R
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ executeDqChecks <- function(connectionDetails,
}
}


# temporary patch to work around vroom 1.6.4 bug
readr::local_edition(1)

Expand Down Expand Up @@ -258,6 +259,14 @@ executeDqChecks <- function(connectionDetails,
stop("No checks are available based on excluded tables. Please review tablesToExclude.")
}

if ("plausibleDuringLife" %in% checkDescriptionsDf$checkName) {
warning("DEPRECATION WARNING - The plausibleDuringLife check has been reimplemented with the plausibleBeforeDeath check.")
}

if ("plausibleTemporalAfter" %in% checkDescriptionsDf$checkName) {
warning("DEPRECATION WARNING - The plausibleTemporalAfter check has been reimplemented with the plausibleAfterBirth and plausibleStartBeforeEnd checks.")
}

checkDescriptions <- split(checkDescriptionsDf, seq_len(nrow(checkDescriptionsDf)))

connection <- NULL
Expand Down
3 changes: 3 additions & 0 deletions inst/csv/OMOP_CDMv5.2_Check_Descriptions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,8 @@ FIELD,plausibleValueHigh,The number and percent of records with a value in the @
FIELD,plausibleTemporalAfter,The number and percent of records with a value in the @cdmFieldName field of the @cdmTableName that occurs prior to the date in the @plausibleTemporalAfterFieldName field of the @plausibleTemporalAfterTableName table.,Verification,Plausibility,Temporal,field_plausible_temporal_after.sql,plausibleTemporalAfter=='Yes'
FIELD,plausibleDuringLife,"If yes, the number and percent of records with a date value in the @cdmFieldName field of the @cdmTableName table that occurs after death.",Verification,Plausibility,Temporal,field_plausible_during_life.sql,plausibleDuringLife=='Yes'
FIELD,withinVisitDates,The number and percent of records not within one week on either side of the corresponding visit occurrence start and end date,Verification,Conformance,,field_within_visit_dates.sql,withinVisitDates=='Yes'
FIELD,plausibleAfterBirth,"The number and percent of records with a date value in the @cdmFieldName field of the @cdmTableName table that occurs prior to birth.",Verification,Plausibility,Temporal,field_plausible_after_birth.sql,plausibleAfterBirth=='Yes'
FIELD,plausibleBeforeDeath,"The number and percent of records with a date value in the @cdmFieldName field of the @cdmTableName table that occurs after death.",Verification,Plausibility,Temporal,field_plausible_before_death.sql,plausibleBeforeDeath=='Yes'
FIELD,plausibleStartBeforeEnd,"The number and percent of records with a value in the @cdmFieldName field of the @cdmTableName that occurs after the date in the @plausibleStartBeforeEndFieldName.",Verification,Plausibility,Temporal,field_plausible_start_before_end.sql,plausibleStartBeforeEnd=='Yes'
CONCEPT,plausibleGender,"For a CONCEPT_ID @conceptId (@conceptName), the number and percent of records associated with patients with an implausible gender (correct gender = @plausibleGender).",Validation,Plausibility,Atemporal,concept_plausible_gender.sql,plausibleGender!=''
CONCEPT,plausibleUnitConceptIds,"The number and percent of records for a given CONCEPT_ID @conceptId (@conceptName) with implausible units (i.e., UNIT_CONCEPT_ID NOT IN (@plausibleUnitConceptIds)).",Verification,Plausibility,Atemporal,concept_plausible_unit_concept_ids.sql,plausibleUnitConceptIdsThreshold!=''
608 changes: 304 additions & 304 deletions inst/csv/OMOP_CDMv5.2_Field_Level.csv

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions inst/csv/OMOP_CDMv5.3_Check_Descriptions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,8 @@ FIELD,plausibleValueHigh,The number and percent of records with a value in the @
FIELD,plausibleTemporalAfter,The number and percent of records with a value in the @cdmFieldName field of the @cdmTableName that occurs prior to the date in the @plausibleTemporalAfterFieldName field of the @plausibleTemporalAfterTableName table.,Verification,Plausibility,Temporal,field_plausible_temporal_after.sql,plausibleTemporalAfter=='Yes'
FIELD,plausibleDuringLife,"If yes, the number and percent of records with a date value in the @cdmFieldName field of the @cdmTableName table that occurs after death.",Verification,Plausibility,Temporal,field_plausible_during_life.sql,plausibleDuringLife=='Yes'
FIELD,withinVisitDates,The number and percent of records not within one week on either side of the corresponding visit occurrence start and end date,Verification,Conformance,,field_within_visit_dates.sql,withinVisitDates=='Yes'
FIELD,plausibleAfterBirth,"The number and percent of records with a date value in the @cdmFieldName field of the @cdmTableName table that occurs prior to birth.",Verification,Plausibility,Temporal,field_plausible_after_birth.sql,plausibleAfterBirth=='Yes'
FIELD,plausibleBeforeDeath,"The number and percent of records with a date value in the @cdmFieldName field of the @cdmTableName table that occurs after death.",Verification,Plausibility,Temporal,field_plausible_before_death.sql,plausibleBeforeDeath=='Yes'
FIELD,plausibleStartBeforeEnd,"The number and percent of records with a value in the @cdmFieldName field of the @cdmTableName that occurs after the date in the @plausibleStartBeforeEndFieldName.",Verification,Plausibility,Temporal,field_plausible_start_before_end.sql,plausibleStartBeforeEnd=='Yes'
CONCEPT,plausibleGender,"For a CONCEPT_ID @conceptId (@conceptName), the number and percent of records associated with patients with an implausible gender (correct gender = @plausibleGender).",Validation,Plausibility,Atemporal,concept_plausible_gender.sql,plausibleGender!=''
CONCEPT,plausibleUnitConceptIds,"The number and percent of records for a given CONCEPT_ID @conceptId (@conceptName) with implausible units (i.e., UNIT_CONCEPT_ID NOT IN (@plausibleUnitConceptIds)).",Verification,Plausibility,Atemporal,concept_plausible_unit_concept_ids.sql,plausibleUnitConceptIdsThreshold!=''
Loading

0 comments on commit 1c48fcb

Please sign in to comment.