diff --git a/DESCRIPTION b/DESCRIPTION index 1fc2d162..37eb9e7a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -47,5 +47,5 @@ Suggests: Eunomia (>= 2.0.0), R.utils, devtools -RoxygenNote: 7.3.2 +RoxygenNote: 7.3.3 Encoding: UTF-8 diff --git a/NAMESPACE b/NAMESPACE index 5b6224e9..1f007fd6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,6 +2,7 @@ export(convertJsonResultsFileCase) export(executeDqChecks) +export(executeDqChecksOnExtension) export(listDqChecks) export(reEvaluateThresholds) export(viewDqDashboard) @@ -12,21 +13,29 @@ import(DatabaseConnector) import(magrittr) importFrom(SqlRender,camelCaseToSnakeCase) importFrom(SqlRender,snakeCaseToCamelCase) +importFrom(dplyr,all_of) importFrom(dplyr,case_when) +importFrom(dplyr,coalesce) importFrom(dplyr,mutate) +importFrom(dplyr,rename) importFrom(dplyr,rename_with) +importFrom(dplyr,select) +importFrom(dplyr,select_if) importFrom(jsonlite,fromJSON) importFrom(jsonlite,parse_json) importFrom(jsonlite,toJSON) importFrom(magrittr,"%>%") importFrom(readr,local_edition) importFrom(readr,read_csv) +importFrom(readr,write_csv) importFrom(rlang,.data) importFrom(stats,na.omit) importFrom(stats,setNames) importFrom(stringr,regex) importFrom(stringr,str_detect) +importFrom(tidyr,pivot_wider) importFrom(tidyselect,all_of) importFrom(tools,file_path_sans_ext) +importFrom(utils,getFromNamespace) importFrom(utils,packageVersion) importFrom(utils,write.table) diff --git a/R/executeDqChecks.R b/R/executeDqChecks.R index c4d0f4a8..2b9f4bea 100644 --- a/R/executeDqChecks.R +++ b/R/executeDqChecks.R @@ -202,7 +202,8 @@ executeDqChecks <- function(connectionDetails, "csv", sprintf("OMOP_CDMv%s_Check_Descriptions.csv", cdmVersion), package = "DataQualityDashboard" - ) + ), + show_col_types = FALSE ) checkDescriptionsDf <- as.data.frame(checkDescriptionsDf) diff --git a/R/executeDqChecksOnExtension.R b/R/executeDqChecksOnExtension.R new file mode 100644 index 00000000..7cdc3f39 --- /dev/null +++ b/R/executeDqChecksOnExtension.R @@ -0,0 +1,320 @@ +# Copyright 2026 Observational Health Data Sciences and Informatics +# +# This file is part of DataQualityDashboard +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#' Execute DQD for extension tables, using custom threshold files in long format. +#' +#' This function is a wrapper around DQD::executeDqChecks that allows for using the long-format threshold files. +#' @param connectionDetails A connectionDetails object for connecting to the CDM database +#' @param cdmDatabaseSchema The fully qualified database name of the CDM schema. All extension tables must be in this schema. +#' @param resultsDatabaseSchema The fully qualified database name of the results schema +#' @param vocabDatabaseSchema The fully qualified database name of the vocabulary schema (default is to set it as the cdmDatabaseSchema) +#' @param numThreads The number of concurrent threads to use to execute the queries +#' @param cdmSourceName The name of the CDM data source +#' @param tableCheckThresholdExtensionLoc The location of the long-format threshold file for the table-level checks for the extension tables +#' @param fieldCheckThresholdExtensionLoc The location of the long-format threshold file for the field-level checks for the extension tables +#' @param conceptCheckThresholdExtensionLoc The location of the long-format threshold file for the concept-level checks for the extension tables +#' @param sqlOnly Should the SQLs be executed (FALSE) or just returned (TRUE)? +#' @param sqlOnlyUnionCount (OPTIONAL) In sqlOnlyIncrementalInsert mode, how many SQL commands to union in each query to insert check results into results table (can speed processing when queries done in parallel). Default is 1. +#' @param sqlOnlyIncrementalInsert (OPTIONAL) In sqlOnly mode, boolean to determine whether to generate SQL queries that insert check results and associated metadata into results table. Default is FALSE (for backwards compatibility to <= v2.2.0) +#' @param outputFolder The folder to output logs, SQL files, and JSON results file to +#' @param outputFile (OPTIONAL) File to write results JSON object +#' @param verboseMode Boolean to determine if the console will show all execution steps. Default is FALSE +#' @param writeToTable Boolean to indicate if the check results will be written to the dqdashboard_results table in the resultsDatabaseSchema. Default is TRUE +#' @param writeTableName The name of the results table. Defaults to `dqdashboard_results`. Used when sqlOnly or writeToTable is True. +#' @param writeToCsv Boolean to indicate if the check results will be written to a csv file. Default is FALSE +#' @param csvFile (OPTIONAL) CSV file to write results +#' @param checkLevels Choose which DQ check levels to execute. Default is all 3 (TABLE, FIELD, CONCEPT) +#' @param checkSeverity Choose which DQ check severity levels to execute. Default is all 3 (fatal, convention, characterization) +#' @param checkNames (OPTIONAL) Choose which check names to execute. Names can be found in inst/csv/OMOP_CDM_v[cdmVersion]_Check_Descriptions.csv. Note that "cdmTable", "cdmField" and "measureValueCompleteness" are always executed. +#' @param cohortDefinitionId The cohort definition id for the cohort you wish to run the DQD on. The package assumes a standard OHDSI cohort table +#' with the fields cohort_definition_id and subject_id. +#' @param cohortDatabaseSchema The schema where the cohort table is located. +#' @param cohortTableName The name of the cohort table. Defaults to `cohort`. +#' @param tablesToExclude (OPTIONAL) Choose which CDM tables to exclude from the execution. +#' @param cdmVersion The CDM version to target for the data source. Options are "5.2", "5.3", or "5.4". By default, "5.3" is used. +#' +#' @importFrom DataQualityDashboard executeDqChecks +#' @importFrom utils packageVersion getFromNamespace +#' @return dqd results object +#' @export +executeDqChecksOnExtension <- function( + connectionDetails, + cdmDatabaseSchema, + resultsDatabaseSchema, + vocabDatabaseSchema = cdmDatabaseSchema, + cdmSourceName, + tableCheckThresholdExtensionLoc = NULL, + fieldCheckThresholdExtensionLoc = NULL, + conceptCheckThresholdExtensionLoc = NULL, + numThreads = 1, + sqlOnly = FALSE, + sqlOnlyUnionCount = 1, + sqlOnlyIncrementalInsert = FALSE, + outputFolder, + outputFile = "", + verboseMode = FALSE, + writeToTable = TRUE, + writeTableName = "dqdashboard_results", + writeToCsv = FALSE, + csvFile = "", + checkLevels = c("TABLE", "FIELD", "CONCEPT"), + checkNames = c(), + checkSeverity = c("fatal", "convention", "characterization"), + cohortDefinitionId = c(), + cohortDatabaseSchema = resultsDatabaseSchema, + cohortTableName = "cohort", + tablesToExclude = c("CONCEPT", "VOCABULARY", "CONCEPT_ANCESTOR", "CONCEPT_RELATIONSHIP", "CONCEPT_CLASS", "CONCEPT_SYNONYM", "RELATIONSHIP", "DOMAIN"), + cdmVersion = "5.3" +) { + hasThresholdFile <- function(path) { + !is.null(path) && length(path) == 1 && !is.na(path) && nzchar(path) + } + + runFieldChecks <- is.null(checkLevels) || "FIELD" %in% checkLevels + + if (runFieldChecks && + hasThresholdFile(tableCheckThresholdExtensionLoc) && + hasThresholdFile(fieldCheckThresholdExtensionLoc)) { + .validateFieldThresholdTables( + tableCheckThresholdExtensionLoc = tableCheckThresholdExtensionLoc, + fieldCheckThresholdExtensionLoc = fieldCheckThresholdExtensionLoc + ) + } + + # Transform long-format threshold files to wide-format and write to temporary files ------------------- + tableCheckThresholdLoc <- "default" + fieldCheckThresholdLoc <- "default" + conceptCheckThresholdLoc <- "default" + availableCheckLevels <- character(0) + + if ("TABLE" %in% checkLevels && hasThresholdFile(tableCheckThresholdExtensionLoc)) { + tableCheckThresholdLoc <- tempfile(fileext = ".csv") + .pivotTableLevelThreshold( + in_path = tableCheckThresholdExtensionLoc, + out_path = tableCheckThresholdLoc + ) + availableCheckLevels <- c(availableCheckLevels, "TABLE") + } + + if ("FIELD" %in% checkLevels && hasThresholdFile(fieldCheckThresholdExtensionLoc)) { + fieldCheckThresholdLoc <- tempfile(fileext = ".csv") + .pivotFieldLevelThreshold( + in_path = fieldCheckThresholdExtensionLoc, + out_path = fieldCheckThresholdLoc + ) + availableCheckLevels <- c(availableCheckLevels, "FIELD") + } + + if ("CONCEPT" %in% checkLevels && hasThresholdFile(conceptCheckThresholdExtensionLoc)) { + conceptCheckThresholdLoc <- tempfile(fileext = ".csv") + .pivotConceptLevelThreshold( + in_path = conceptCheckThresholdExtensionLoc, + out_path = conceptCheckThresholdLoc + ) + availableCheckLevels <- c(availableCheckLevels, "CONCEPT") + } + + if (is.null(checkLevels)) { + checkLevels <- availableCheckLevels + } else { + checkLevels <- intersect(checkLevels, availableCheckLevels) + } + + if (length(checkLevels) == 0) { + stop("No extension threshold file locations were provided for the requested check levels.") + } + + results <- executeDqChecks( + connectionDetails = connectionDetails, + cdmDatabaseSchema = cdmDatabaseSchema, + resultsDatabaseSchema = resultsDatabaseSchema, + vocabDatabaseSchema = vocabDatabaseSchema, + cdmSourceName = cdmSourceName, + numThreads = numThreads, + sqlOnly = sqlOnly, + sqlOnlyUnionCount = sqlOnlyUnionCount, + sqlOnlyIncrementalInsert = sqlOnlyIncrementalInsert, + outputFolder = outputFolder, + outputFile = outputFile, + verboseMode = verboseMode, + writeToTable = writeToTable, + writeTableName = writeTableName, + writeToCsv = writeToCsv, + csvFile = csvFile, + checkLevels = checkLevels, + checkNames = checkNames, + checkSeverity = checkSeverity, + cohortDefinitionId = cohortDefinitionId, + cohortDatabaseSchema = cohortDatabaseSchema, + cohortTableName = cohortTableName, + tablesToExclude = tablesToExclude, + cdmVersion = cdmVersion, + tableCheckThresholdLoc = tableCheckThresholdLoc, + fieldCheckThresholdLoc = fieldCheckThresholdLoc, + conceptCheckThresholdLoc = conceptCheckThresholdLoc + ) + + invisible(results) +} + + +#' Validate that all field-level threshold tables are present in the table-level threshold file. +#' @param tableCheckThresholdExtensionLoc Path to the long-format table-level threshold file +#' @param fieldCheckThresholdExtensionLoc Path to the long-format field-level threshold file +#' @return NULL +#' @noRd +.validateFieldThresholdTables <- function(tableCheckThresholdExtensionLoc, + fieldCheckThresholdExtensionLoc) { + tableThresholds <- read_csv(tableCheckThresholdExtensionLoc, show_col_types = FALSE) + fieldThresholds <- read_csv(fieldCheckThresholdExtensionLoc, show_col_types = FALSE) + + tableNames <- unique(trimws(stats::na.omit(tableThresholds$tableName))) + fieldTableNames <- unique(trimws(stats::na.omit(fieldThresholds$tableName))) + missingTableNames <- sort(setdiff(fieldTableNames, tableNames)) + + if (length(missingTableNames) > 0) { + stop( + paste0( + "All table names in the field-level threshold file must also exist in the table-level threshold file. At least specify a 'cdmTable' check. Missing table(s): ", + paste(missingTableNames, collapse = ", ") + ), + call. = FALSE + ) + } + + invisible(NULL) +} + + +#' Generic function for DQD Threshold long to wide format. +#' @param in_path Input path with long-format thresholds file +#' @param values_from list of column names to pivot, differs per check level +#' @return thresholds table in wide format +#' @importFrom dplyr mutate coalesce select_if all_of rename_with +#' @importFrom tidyr pivot_wider +#' @noRd +.pivot <- function(in_path, values_from) { + longLevel <- read_csv(in_path, show_col_types = FALSE) + + if (!('checkParameter' %in% names(longLevel))) { + longLevel$checkParameter <- NA + } + + wideLevel <- longLevel |> + # Allow two versions of column names, consistent (right) and in-line with wide-level threshold (left) + rename(any_of(c( + cdmTableName = 'tableName', + cdmFieldName = 'fieldName', + Threshold = 'threshold', + Notes = 'notes', + checkParameter_TableName = 'yTableName', + checkParameter_FieldName = 'yFieldName' + ))) |> + mutate( + checkParameter = coalesce(checkParameter, 'Yes'), + Threshold = coalesce(Threshold, 100), + Notes = coalesce(Notes, '') + ) |> + pivot_wider( + names_from = checkName, + names_glue = '{checkName}{.value}', + values_from = all_of(values_from), + names_sort = TRUE, + values_fill = list(checkParameter = NA, Notes = '') + ) |> + rename_with( + ~ sub('checkParameter_?', '', .x) + ) |> + select_if( + function(x) !(all(is.na(x))) + ) +} + + +#' Reads the Table-level DQD Thresholds file in long format and writes it in wide format. +#' The long format is more human readable and easier to maintain, but the wide format is expected for DQD. +#' @param in_path Input path with long-format thresholds file +#' @param out_path Output path to write wide-format thresholds file to +#' @return NULL +#' @importFrom dplyr select mutate +#' @importFrom readr write_csv +#' @noRd +.pivotTableLevelThreshold <- function(in_path, out_path) { + .pivot( + in_path, + values_from = c('checkParameter', 'Threshold', 'Notes') + ) |> + # remove columns for cdmTable check, these are just placeholders in long format to render row for each table + select( + !c('cdmTable', 'cdmTableThreshold', 'cdmTableNotes') + ) |> + mutate( + schema = 'CDM', + .after = cdmTableName + ) |> + write_csv( + out_path, + col_names = TRUE, + na = "" + ) +} + +#' Reads the Field-level DQD Thresholds file in long format and writes it in wide format. +#' The long format is more human readable and easier to maintain, but the wide format is expected for DQD. +#' @param in_path Input path with long-format thresholds file +#' @param out_path Output path to write wide-format thresholds file to +#' @return NULL +#' @importFrom dplyr rename +#' @importFrom readr write_csv +#' @noRd +.pivotFieldLevelThreshold <- function(in_path, out_path) { + .pivot( + in_path, + values_from = c('checkParameter', 'Threshold', 'Notes', 'checkParameter_TableName', 'checkParameter_FieldName') + ) |> + # Wide level threshold has inconsistent column names (left). Rename only if column exists + rename(any_of(c( + fkTableName = 'isForeignKeyTableName', + fkFieldName = 'isForeignKeyFieldName', + standardConceptFieldName = 'sourceValueCompletenessFieldName' + ))) |> + write_csv( + out_path, + col_names = TRUE, + na = "" + ) +} + +#' Reads the Concept-level DQD Thresholds file in long format and writes it in wide format. +#' The long format is more human readable and easier to maintain, but the wide format is expected for DQD. +#' NOTE: only tested for 'plausibleGenderUseDescendants' +#' @param in_path Input path with long-format thresholds file +#' @param out_path Output path to write wide-format thresholds file to +#' @return NULL +#' @importFrom dplyr rename +#' @importFrom readr write_csv +#' @noRd +.pivotConceptLevelThreshold <- function(in_path, out_path) { + .pivot( + in_path, + values_from = c('checkParameter', 'Threshold', 'Notes') + ) |> + write_csv( + out_path, + col_names = TRUE, + na = "" + ) +} diff --git a/R/runCheck.R b/R/runCheck.R index a94b7c15..259a5af2 100644 --- a/R/runCheck.R +++ b/R/runCheck.R @@ -64,7 +64,17 @@ tolower(checkDescription$checkLevel), checkDescription$evaluationFilter ) - checks <- eval(parse(text = filterExpression)) + checks <- tryCatch({ + eval(parse(text = filterExpression)) + }, error = function(e) { + NULL + }) + + # If check does not exist in threshold file, or is disabled for all checks. + if (is.null(checks) || nrow(checks) == 0) { + ParallelLogger::logWarn(sprintf("Evaluation resulted in no checks `%s`", filterExpression)) + return(data.frame()) + } if (length(cohortDefinitionId > 0)) { cohort <- TRUE @@ -72,71 +82,66 @@ cohort <- FALSE } - if (nrow(checks) > 0) { - dfs <- apply(X = checks, MARGIN = 1, function(check) { - columns <- lapply(names(check), function(c) { - setNames(check[c], c) - }) - - params <- c( - list(dbms = connectionDetails$dbms), - list(sqlFilename = checkDescription$sqlFile), - list(packageName = "DataQualityDashboard"), - list(warnOnMissingParameters = FALSE), - list(cdmDatabaseSchema = cdmDatabaseSchema), - list(cohortDatabaseSchema = cohortDatabaseSchema), - list(cohortTableName = cohortTableName), - list(cohortDefinitionId = cohortDefinitionId), - list(vocabDatabaseSchema = vocabDatabaseSchema), - list(cohort = cohort), - unlist(columns, recursive = FALSE) - ) - - sql <- do.call(SqlRender::loadRenderTranslateSql, params) - - if (sqlOnly && sqlOnlyIncrementalInsert) { - checkQuery <- .createSqlOnlyQueries( - params, - check, - tableChecks, - fieldChecks, - conceptChecks, - sql, - connectionDetails, - checkDescription - ) - data.frame(query = checkQuery) - } else if (sqlOnly) { - write(x = sql, file = file.path( - outputFolder, - sprintf("%s.sql", checkDescription$checkName) - ), append = TRUE) - data.frame() - } else { - .processCheck( - connection = connection, - connectionDetails = connectionDetails, - check = check, - checkDescription = checkDescription, - sql = sql, - outputFolder = outputFolder - ) - } + dfs <- apply(X = checks, MARGIN = 1, function(check) { + columns <- lapply(names(check), function(c) { + setNames(check[c], c) }) - dfs <- do.call(rbind, dfs) + params <- c( + list(dbms = connectionDetails$dbms), + list(sqlFilename = checkDescription$sqlFile), + list(packageName = "DataQualityDashboard"), + list(warnOnMissingParameters = FALSE), + list(cdmDatabaseSchema = cdmDatabaseSchema), + list(cohortDatabaseSchema = cohortDatabaseSchema), + list(cohortTableName = cohortTableName), + list(cohortDefinitionId = cohortDefinitionId), + list(vocabDatabaseSchema = vocabDatabaseSchema), + list(cohort = cohort), + unlist(columns, recursive = FALSE) + ) + + sql <- do.call(SqlRender::loadRenderTranslateSql, params) if (sqlOnly && sqlOnlyIncrementalInsert) { - sqlToUnion <- dfs$query - if (length(sqlToUnion) > 0) { - .writeSqlOnlyQueries(sqlToUnion, sqlOnlyUnionCount, resultsDatabaseSchema, writeTableName, connectionDetails$dbms, outputFolder, checkDescription) - return(NULL) - } + checkQuery <- .createSqlOnlyQueries( + params, + check, + tableChecks, + fieldChecks, + conceptChecks, + sql, + connectionDetails, + checkDescription + ) + data.frame(query = checkQuery) + } else if (sqlOnly) { + write(x = sql, file = file.path( + outputFolder, + sprintf("%s.sql", checkDescription$checkName) + ), append = TRUE) + data.frame() } else { - return(dfs) + .processCheck( + connection = connection, + connectionDetails = connectionDetails, + check = check, + checkDescription = checkDescription, + sql = sql, + outputFolder = outputFolder + ) + } + }) + + dfs <- do.call(rbind, dfs) + + if (sqlOnly && sqlOnlyIncrementalInsert) { + sqlToUnion <- dfs$query + if (length(sqlToUnion) > 0) { + .writeSqlOnlyQueries(sqlToUnion, sqlOnlyUnionCount, resultsDatabaseSchema, writeTableName, connectionDetails$dbms, outputFolder, checkDescription) + return(NULL) } } else { - ParallelLogger::logWarn(paste0("Warning: Evaluation resulted in no checks: ", filterExpression)) - return(data.frame()) + return(dfs) } } diff --git a/_pkgdown.yml b/_pkgdown.yml index ecc65e04..d75b41d0 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -48,6 +48,8 @@ navbar: href: articles/DqdForCohorts.html - text: SQL-only Mode href: articles/SqlOnly.html + - text: Execute DQD on Extension + href: articles/DqdForExtensionTables.html checks: text: Data Quality Check Types menu: @@ -111,6 +113,7 @@ reference: Function for running data quality checks contents: - executeDqChecks + - executeDqChecksOnExtension - writeJsonResultsToTable - title: "View Dashboard" desc: > diff --git a/extras/PackageMaintenance.R b/extras/PackageMaintenance.R index ad5174d4..36ad6ad8 100644 --- a/extras/PackageMaintenance.R +++ b/extras/PackageMaintenance.R @@ -70,5 +70,12 @@ rmarkdown::render("vignettes/SqlOnly.Rmd", number_sections = TRUE)) unlink("inst/doc/SqlOnly.tex") +rmarkdown::render("vignettes/DqdForExtensionTables.rmd", + output_file = "../inst/doc/DqdForExtensionTables.pdf", + rmarkdown::pdf_document(latex_engine = "pdflatex", + toc = TRUE, + number_sections = TRUE)) +unlink("inst/doc/DqdForExtensionTables.tex") + pkgdown::build_site() OhdsiRTools::fixHadesLogo() diff --git a/extras/thresholdWideToLong.R b/extras/thresholdWideToLong.R new file mode 100644 index 00000000..624d8cea --- /dev/null +++ b/extras/thresholdWideToLong.R @@ -0,0 +1,306 @@ +#' Converts the regular wide format thresholds file to a long format +#' Results are by default written in the extras folder. + +library(tidyverse) + +in_path <- "inst/csv" +out_path <- "extras/thresholdsLongFormat" +version <- "5.4" +tableLevelThreshold <- sprintf("OMOP_CDMv%s_Table_Level.csv", version) +fieldLevelThreshold <- sprintf("OMOP_CDMv%s_Field_Level.csv", version) +conceptLevelThreshold <- sprintf("OMOP_CDMv%s_Concept_Level.csv", version) + +dir.create(out_path, showWarnings = FALSE) + +# Table Level --------------------- +tableLevel <- read.csv( + file.path(in_path, tableLevelThreshold), + stringsAsFactors = TRUE +) + +checkValue <- tableLevel %>% + select( + cdmTableName, + !c( + conceptPrefix, + tableDescription, + validation, + userGuidance, + etlConventions, + ends_with("Threshold"), + ends_with("Notes") + ) + ) %>% + pivot_longer( + cols = !c(cdmTableName, schema), + names_to = "checkName", + values_to = "checkValue", + cols_vary = "slowest" + ) + +checkVars <- tableLevel %>% + select( + cdmTableName, + schema, + ends_with("Threshold"), + ends_with("Notes") + ) %>% + pivot_longer( + cols = !c(cdmTableName, schema), + names_to = c("checkName", ".value"), + names_pattern = "(.*)(Threshold|Notes)", + cols_vary = "slowest" + ) + +tableLevelChecks <- checkValue %>% + filter( + !(checkValue == 'No' | checkValue == '') + ) %>% + left_join( + checkVars, + by = join_by(cdmTableName, schema, checkName) + ) %>% + mutate( + checkValue = if_else(checkValue == 'Yes', NA, checkValue) + ) %>% + select( + cdmTableName, + checkName, + Threshold, + checkParameter = checkValue, + Notes + ) + +# Add cdmTable before +tableLevelChecks <- rbind( + tableLevel %>% + mutate( + cdmTableName, + checkName = 'cdmTable', + Threshold = 0, + checkParameter = NA, + Notes = NA, + .keep = 'none' + ), + tableLevelChecks +) + +#unique(tableLevelChecks$checkName) +# View(tableLevelChecks) + +write_csv( + tableLevelChecks, + file.path(out_path, paste0('long_', tableLevelThreshold)), + na = "" +) + +# Field Level --------------------- +fieldLevel <- read.csv( + file.path(in_path, fieldLevelThreshold), + # colClasses = "character", + stringsAsFactors = TRUE +) + +fieldLevel <- fieldLevel %>% rename( + isForeignKeyTableName = fkTableName, + isForeignKeyFieldName = fkFieldName, + # The field name used for sourceValueCompleteness is called standardConceptFieldName + sourceValueCompletenessFieldName = standardConceptFieldName +) + +checkValue <- fieldLevel %>% + select( + cdmTableName, + cdmFieldName, + !c( + databaseSchema, + userGuidance, + etlConventions, + runForCohort, + ends_with("Threshold"), + ends_with("Notes"), + ends_with("TableName"), + ends_with("FieldName") + ) + ) %>% + pivot_longer( + cols = !c(cdmTableName, cdmFieldName), + names_to = "checkName", + values_to = "checkValue", + cols_vary = "slowest" + ) + +checkVars <- fieldLevel %>% + select( + cdmTableName, + cdmFieldName, + ends_with("Threshold"), + ends_with("TableName"), + ends_with("FieldName"), + ends_with("Notes") + ) %>% + pivot_longer( + cols = !c(cdmTableName, cdmFieldName), + names_to = c("checkName", ".value"), + names_pattern = "(.*)(Threshold|Notes|TableName|FieldName)", + cols_vary = "slowest" + ) + +fieldLevelChecks <- checkValue %>% + filter( + !(checkValue == 'No' | checkValue == '') + ) %>% + left_join( + checkVars, + by = join_by(cdmTableName, cdmFieldName, checkName) + ) %>% + mutate( + checkValue = if_else(checkValue == 'Yes', NA, checkValue) + ) %>% + select( + cdmTableName, + cdmFieldName, + checkName, + Threshold, + checkParameter = checkValue, + checkParameter_TableName = TableName, + checkParameter_FieldName = FieldName, + Notes + ) + +# unique(fieldLevelChecks$checkName) +# View(fieldLevelChecks) + +write_csv( + fieldLevelChecks, + file.path(out_path, paste0('long_', fieldLevelThreshold)), + na = "" +) + +# Concept Level --------------------- +conceptLevel <- read.csv( + file.path(in_path, conceptLevelThreshold), + # colClasses = "character", + stringsAsFactors = F +) + +checkValue <- conceptLevel %>% + select( + cdmTableName, + cdmFieldName, + conceptId, + conceptName, + unitConceptId, + unitConceptName, + !c( + ends_with("Threshold"), + ends_with("Notes") + ) + ) %>% + pivot_longer( + cols = !1:6, + names_to = "checkName", + values_to = "checkValue", + cols_vary = "slowest", + values_transform = as.character + ) %>% + filter( + !(checkValue == 'No' | checkValue == '') + ) + +checkVars <- conceptLevel %>% + select( + cdmTableName, + cdmFieldName, + conceptId, + conceptName, + unitConceptId, + unitConceptName, + ends_with("Threshold"), + ends_with("TableName"), + ends_with("FieldName"), + ends_with("Notes") + ) %>% + pivot_longer( + cols = !1:6, + names_to = c("checkName", ".value"), + names_pattern = "(.*)(Threshold|Notes)", + cols_vary = "slowest" + ) %>% + mutate( + Threshold = as.integer(Threshold) + ) + +conceptLevelChecks <- checkValue %>% + left_join( + checkVars, + by = join_by( + cdmTableName, + cdmFieldName, + checkName, + conceptId, + conceptName, + unitConceptId, + unitConceptName, + ) + ) %>% + mutate( + checkValue = if_else(checkValue == 'Yes', NA, checkValue) + ) %>% + select( + cdmTableName, + cdmFieldName, + conceptId, + conceptName, + unitConceptId, + unitConceptName, + checkName, + Threshold, + checkParameter = checkValue, + Notes + ) + +# unique(conceptLevelChecks$checkName) +# View(conceptLevelChecks) + +write_csv( + conceptLevelChecks, + file.path(out_path, paste0('long_', conceptLevelThreshold)), + na = "" +) + +# Summary on all checks +checkThresholdSummary <- bind_rows(tableLevelChecks, fieldLevelChecks, conceptLevelChecks) %>% + summarise( + n = n(), + min_threshold = min(Threshold, na.rm = TRUE), + q25 = quantile(Threshold, 0.25, na.rm = TRUE), + median_threshold = median(Threshold, na.rm = TRUE), + q75 = quantile(Threshold, 0.75, na.rm = TRUE), + max_threshold = max(Threshold, na.rm = TRUE), + .by = checkName + ) +# View(checkThresholdSummary) + +write_csv( + checkThresholdSummary, + file.path(in_path, sprintf("OMOP_CDMv%s_threshold_summary.csv", version)), + na = "" +) + +# Count of 0,1,5,10,50,95 and 100% thresholds +# unique_thresholds <- bind_rows(tableLevelChecks, fieldLevelChecks, conceptLevelChecks) %>% +# summarise( +# n = n(), +# `0` = sum(Threshold == 0), +# `1` = sum(Threshold == 1), +# `5` = sum(Threshold == 5), +# `10` = sum(Threshold == 10), +# `50` = sum(Threshold == 50), +# `95` = sum(Threshold == 95), +# `100` = sum(Threshold == 100), +# `na` = sum(is.na(Threshold)), +# .by = checkName +# ) + +# bind_rows(tableLevelChecks, fieldLevelChecks, conceptLevelChecks) %>% filter(checkName == 'isRequired' & Threshold == 100) diff --git a/inst/sql/sql_server/is_foreign_key.sql b/inst/sql/sql_server/is_foreign_key.sql index 71ba4c93..249ed23e 100755 --- a/inst/sql/sql_server/is_foreign_key.sql +++ b/inst/sql/sql_server/is_foreign_key.sql @@ -40,9 +40,10 @@ FROM ( AND c.cohort_definition_id = @cohortDefinitionId } LEFT JOIN - {'@fkTableName' IN ('CONCEPT','DOMAIN','CONCEPT_CLASS','VOCABULARY','RELATIONSHIP')}?{@vocabDatabaseSchema.@fkTableName fkTable} - {'@fkTableName' == 'COHORT'}?{@cohortDatabaseSchema.@fkTableName fkTable} - {'@fkTableName' IN ('LOCATION','PERSON','PROVIDER','VISIT_DETAIL','VISIT_OCCURRENCE','PAYER_PLAN_PERIOD','NOTE','CARE_SITE','EPISODE')}?{@cdmDatabaseSchema.@fkTableName fkTable} + -- if the foreign key is to a vocabulary table, look in the vocabulary database schema; if table is cohrt, use cohort schema; otherwise look in the CDM database schema + {'@fkTableName' IN ('CONCEPT','DOMAIN','CONCEPT_CLASS','VOCABULARY','RELATIONSHIP')} ? {@vocabDatabaseSchema.@fkTableName fkTable}:{ + {'@fkTableName' == 'COHORT'} ? {@cohortDatabaseSchema.@fkTableName fkTable} : {@cdmDatabaseSchema.@fkTableName fkTable} + } ON cdmTable.@cdmFieldName = fkTable.@fkFieldName WHERE fkTable.@fkFieldName IS NULL AND cdmTable.@cdmFieldName IS NOT NULL diff --git a/man/executeDqChecksOnExtension.Rd b/man/executeDqChecksOnExtension.Rd new file mode 100644 index 00000000..686e65b1 --- /dev/null +++ b/man/executeDqChecksOnExtension.Rd @@ -0,0 +1,105 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/executeDqChecksOnExtension.R +\name{executeDqChecksOnExtension} +\alias{executeDqChecksOnExtension} +\title{Execute DQD for extension tables, using custom threshold files in long format.} +\usage{ +executeDqChecksOnExtension( + connectionDetails, + cdmDatabaseSchema, + resultsDatabaseSchema, + vocabDatabaseSchema = cdmDatabaseSchema, + cdmSourceName, + tableCheckThresholdExtensionLoc = NULL, + fieldCheckThresholdExtensionLoc = NULL, + conceptCheckThresholdExtensionLoc = NULL, + numThreads = 1, + sqlOnly = FALSE, + sqlOnlyUnionCount = 1, + sqlOnlyIncrementalInsert = FALSE, + outputFolder, + outputFile = "", + verboseMode = FALSE, + writeToTable = TRUE, + writeTableName = "dqdashboard_results", + writeToCsv = FALSE, + csvFile = "", + checkLevels = c("TABLE", "FIELD", "CONCEPT"), + checkNames = c(), + checkSeverity = c("fatal", "convention", "characterization"), + cohortDefinitionId = c(), + cohortDatabaseSchema = resultsDatabaseSchema, + cohortTableName = "cohort", + tablesToExclude = c("CONCEPT", "VOCABULARY", "CONCEPT_ANCESTOR", + "CONCEPT_RELATIONSHIP", "CONCEPT_CLASS", "CONCEPT_SYNONYM", "RELATIONSHIP", "DOMAIN"), + cdmVersion = "5.3" +) +} +\arguments{ +\item{connectionDetails}{A connectionDetails object for connecting to the CDM database} + +\item{cdmDatabaseSchema}{The fully qualified database name of the CDM schema. All extension tables must be in this schema.} + +\item{resultsDatabaseSchema}{The fully qualified database name of the results schema} + +\item{vocabDatabaseSchema}{The fully qualified database name of the vocabulary schema (default is to set it as the cdmDatabaseSchema)} + +\item{cdmSourceName}{The name of the CDM data source} + +\item{tableCheckThresholdExtensionLoc}{The location of the long-format threshold file for the table-level checks for the extension tables} + +\item{fieldCheckThresholdExtensionLoc}{The location of the long-format threshold file for the field-level checks for the extension tables} + +\item{conceptCheckThresholdExtensionLoc}{The location of the long-format threshold file for the concept-level checks for the extension tables} + +\item{numThreads}{The number of concurrent threads to use to execute the queries} + +\item{sqlOnly}{Should the SQLs be executed (FALSE) or just returned (TRUE)?} + +\item{sqlOnlyUnionCount}{(OPTIONAL) In sqlOnlyIncrementalInsert mode, how many SQL commands to union in each query to insert check results into results table (can speed processing when queries done in parallel). Default is 1.} + +\item{sqlOnlyIncrementalInsert}{(OPTIONAL) In sqlOnly mode, boolean to determine whether to generate SQL queries that insert check results and associated metadata into results table. Default is FALSE (for backwards compatibility to <= v2.2.0)} + +\item{outputFolder}{The folder to output logs, SQL files, and JSON results file to} + +\item{outputFile}{(OPTIONAL) File to write results JSON object} + +\item{verboseMode}{Boolean to determine if the console will show all execution steps. Default is FALSE} + +\item{writeToTable}{Boolean to indicate if the check results will be written to the dqdashboard_results table in the resultsDatabaseSchema. Default is TRUE} + +\item{writeTableName}{The name of the results table. Defaults to `dqdashboard_results`. Used when sqlOnly or writeToTable is True.} + +\item{writeToCsv}{Boolean to indicate if the check results will be written to a csv file. Default is FALSE} + +\item{csvFile}{(OPTIONAL) CSV file to write results} + +\item{checkLevels}{Choose which DQ check levels to execute. Default is all 3 (TABLE, FIELD, CONCEPT)} + +\item{checkNames}{(OPTIONAL) Choose which check names to execute. Names can be found in inst/csv/OMOP_CDM_v[cdmVersion]_Check_Descriptions.csv. Note that "cdmTable", "cdmField" and "measureValueCompleteness" are always executed.} + +\item{checkSeverity}{Choose which DQ check severity levels to execute. Default is all 3 (fatal, convention, characterization)} + +\item{cohortDefinitionId}{The cohort definition id for the cohort you wish to run the DQD on. The package assumes a standard OHDSI cohort table +with the fields cohort_definition_id and subject_id.} + +\item{cohortDatabaseSchema}{The schema where the cohort table is located.} + +\item{cohortTableName}{The name of the cohort table. Defaults to `cohort`.} + +\item{tablesToExclude}{(OPTIONAL) Choose which CDM tables to exclude from the execution.} + +\item{cdmVersion}{The CDM version to target for the data source. Options are "5.2", "5.3", or "5.4". By default, "5.3" is used.} + +\item{tableCheckThresholdLoc}{The location of the threshold file for evaluating the table checks. If not specified the default thresholds will be applied.} + +\item{fieldCheckThresholdLoc}{The location of the threshold file for evaluating the field checks. If not specified the default thresholds will be applied.} + +\item{conceptCheckThresholdLoc}{The location of the threshold file for evaluating the concept checks. If not specified the default thresholds will be applied.} +} +\value{ +dqd results object +} +\description{ +This function is a wrapper around DQD::executeDqChecks that allows for using the long-format threshold files. +} diff --git a/tests/testthat/inst/long_OMOP_CDMv5.3_Concept_Level.csv b/tests/testthat/inst/long_OMOP_CDMv5.3_Concept_Level.csv new file mode 100644 index 00000000..2944bc8c --- /dev/null +++ b/tests/testthat/inst/long_OMOP_CDMv5.3_Concept_Level.csv @@ -0,0 +1,626 @@ +cdmTableName,cdmFieldName,conceptId,conceptName,unitConceptId,unitConceptName,checkName,Threshold,checkParameter,Notes +OBSERVATION,OBSERVATION_CONCEPT_ID,37393449,Plasma total cholesterol level,8840,milligram per deciliter,plausibleValueLow,5,50, +OBSERVATION,OBSERVATION_CONCEPT_ID,37393449,Plasma total cholesterol level,8753,millimole per liter,plausibleValueLow,5,1, +OBSERVATION,OBSERVATION_CONCEPT_ID,37397989,Serum total cholesterol level,8840,milligram per deciliter,plausibleValueLow,5,50, +OBSERVATION,OBSERVATION_CONCEPT_ID,37397989,Serum total cholesterol level,8753,millimole per liter,plausibleValueLow,5,1, +OBSERVATION,OBSERVATION_CONCEPT_ID,44809580,Total cholesterol level,8840,milligram per deciliter,plausibleValueLow,5,50, +OBSERVATION,OBSERVATION_CONCEPT_ID,44809580,Total cholesterol level,8753,millimole per liter,plausibleValueLow,5,1, +OBSERVATION,OBSERVATION_CONCEPT_ID,37392176,Serum creatinine level,8749,micromole per liter,plausibleValueLow,5,10, +OBSERVATION,OBSERVATION_CONCEPT_ID,37392176,Serum creatinine level,8840,milligram per deciliter,plausibleValueLow,5,0.1, +OBSERVATION,OBSERVATION_CONCEPT_ID,37392176,Serum creatinine level,8751,milligram per liter,plausibleValueLow,5,10, +OBSERVATION,OBSERVATION_CONCEPT_ID,37393449,Plasma total cholesterol level,8840,milligram per deciliter,plausibleValueHigh,5,500, +OBSERVATION,OBSERVATION_CONCEPT_ID,37393449,Plasma total cholesterol level,8753,millimole per liter,plausibleValueHigh,5,15, +OBSERVATION,OBSERVATION_CONCEPT_ID,37397989,Serum total cholesterol level,8840,milligram per deciliter,plausibleValueHigh,5,500, +OBSERVATION,OBSERVATION_CONCEPT_ID,37397989,Serum total cholesterol level,8753,millimole per liter,plausibleValueHigh,5,15, +OBSERVATION,OBSERVATION_CONCEPT_ID,44809580,Total cholesterol level,8840,milligram per deciliter,plausibleValueHigh,5,500, +OBSERVATION,OBSERVATION_CONCEPT_ID,44809580,Total cholesterol level,8753,millimole per liter,plausibleValueHigh,5,15, +OBSERVATION,OBSERVATION_CONCEPT_ID,37392176,Serum creatinine level,8749,micromole per liter,plausibleValueHigh,5,200, +OBSERVATION,OBSERVATION_CONCEPT_ID,37392176,Serum creatinine level,8840,milligram per deciliter,plausibleValueHigh,5,5, +OBSERVATION,OBSERVATION_CONCEPT_ID,37392176,Serum creatinine level,8751,milligram per liter,plausibleValueHigh,5,30, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,26662,Testicular hypofunction,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,26935,Disorder of endocrine testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,30969,Testicular hyperfunction,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,73801,Scrotal varices,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,74322,Benign neoplasm of scrotum,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,78193,Orchitis and epididymitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,79758,Primary malignant neoplasm of scrotum,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,141917,Balanitis xerotica obliterans,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192367,Dysplasia of cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192676,Cervical intraepithelial neoplasia grade 1,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192683,Uterovaginal prolapse,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192854,Intramural leiomyoma of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192858,Ovarian hyperfunction,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193254,Disorder of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193261,Vaginospasm,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193262,Inflammatory disorder of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193277,Deliveries by cesarean,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193437,Neoplasm of uncertain behavior of female genital organ,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193439,Benign neoplasm of body of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193522,Acute prostatitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193530,Follicular cyst of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193739,Ovarian failure,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,193818,Calculus of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194092,Uterine prolapse without vaginal wall prolapse,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194286,"Malignant neoplasm of corpus uteri, excluding isthmus",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194412,Dysplasia of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194420,Endometriosis of fallopian tube,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194611,Carcinoma in situ of uterine cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194696,Dysmenorrhea,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194871,Trichomonal vulvovaginitis,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,194997,Prostatitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195009,Leukoplakia of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195012,Intermenstrual bleeding - irregular,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195197,Primary malignant neoplasm of vulva,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195316,Atypical endometrial hyperplasia,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195321,Postmenopausal bleeding,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195483,Primary malignant neoplasm of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195500,Benign neoplasm of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195501,Polycystic ovaries,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195683,Open wound of penis without complication,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195769,Submucous leiomyoma of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195770,Subserous leiomyoma of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195793,Neoplasm of uncertain behavior of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195867,Noninflammatory disorder of the vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,195873,Leukorrhea,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196048,Primary malignant neoplasm of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196051,Overlapping malignant neoplasm of female genital organs,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196068,Carcinoma in situ of male genital organ,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196157,Induratio penis plastica,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196158,Disorder of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196163,Cervicitis and endocervicitis,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196165,Cervical intraepithelial neoplasia grade 2,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196168,Irregular periods,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196359,Primary malignant neoplasm of uterine cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196364,Benign neoplasm of uterine cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196473,Hypertrophy of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196734,Disorder of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196738,Disorder of male genital organ,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,196758,Tumor of body of uterus affecting pregnancy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197032,Hyperplasia of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197039,Male genital organ vascular diseases,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197044,Female infertility associated with anovulation,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197236,Uterine leiomyoma,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197237,Benign neoplasm of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197507,Primary malignant neoplasm of male genital organ,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197601,Spermatocele,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197605,Inflammatory disorder of male genital organ,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197606,Female infertility of tubal origin,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197607,Excessive and frequent menstruation,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197609,"Cervical, vaginal and vulval inflammatory diseases",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197610,Cyst of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197938,Uterine inertia,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198082,Overlapping malignant neoplasm of body of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198108,Benign neoplasm of fallopian tubes and uterine ligaments,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198194,Female genital organ symptoms,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198197,Male infertility,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198198,Polyp of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198202,Cystocele,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198212,Spotting per vagina in pregnancy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198363,Candidiasis of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198471,Complex endometrial hyperplasia,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198483,Stricture or atresia of the vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198803,Benign prostatic hyperplasia,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,198806,Abscess of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199067,Female pelvic inflammatory disease,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199078,Vaginal wall prolapse,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199752,Secondary malignant neoplasm of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199764,Benign neoplasm of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199876,Prolapse of female genital organs,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199877,Mucous polyp of cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199878,Light and infrequent menstruation,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,199881,Endometriosis of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200051,Primary malignant neoplasm of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200052,Primary malignant neoplasm of uterine adnexa,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200147,Atrophy of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200445,Chronic prostatitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200452,Disorder of female genital organs,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200461,Endometriosis of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200670,Benign neoplasm of male genital organ,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200675,Neoplasm of uncertain behavior of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200775,Endometrial hyperplasia,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200779,Polyp of corpus uteri,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200780,Disorder of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200962,Primary malignant neoplasm of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200970,Carcinoma in situ of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201072,Benign prostatic hypertrophy without outflow obstruction,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201078,Atrophic vaginitis,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201211,Herpetic vulvovaginitis,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201238,Primary malignant neoplasm of female genital organ,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201244,Benign neoplasm of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201257,Disorder of endocrine ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201346,Edema of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201355,Erosion and ectropion of the cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201527,Neoplasm of uncertain behavior of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201617,Prostatic cyst,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201625,Malposition of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201801,Primary malignant neoplasm of fallopian tube,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201817,Benign neoplasm of female genital organ,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201823,Benign neoplasm of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201907,Edema of male genital organs,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201909,Female infertility,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201913,"Torsion of the ovary, ovarian pedicle or fallopian tube",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,314409,Vascular disorder of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,315586,Priapism,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,433716,Primary malignant neoplasm of testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,434251,Injury of male external genital organs,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,435315,Torsion of testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,435648,Retractile testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,436155,Redundant prepuce and phimosis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,436358,Primary malignant neoplasm of exocervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,436366,Benign neoplasm of testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,436466,Balanoposthitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,437501,Primary malignant neoplasm of labia majora,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,437655,Undescended testicle,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,438477,Atrophy of testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,439871,Hemospermia,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440971,Neoplasm of uncertain behavior of testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,441068,Torsion of appendix of testis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,441077,Stenosis of cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,441805,Primary malignant neoplasm of endocervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,442781,Disorder of uterine cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443211,Benign prostatic hypertrophy with outflow obstruction,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443435,Primary uterine inertia,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443800,Amenorrhea,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,444078,Inflammation of cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,444106,Candidiasis of vulva,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2003947,Closed [percutaneous] [needle] biopsy of prostate,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2003966,Other transurethral prostatectomy,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2003983,Other prostatectomy,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004031,Other repair of scrotum and tunica vaginalis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004063,Unilateral orchiectomy,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004070,Other repair of testis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004090,Excision of varicocele and hydrocele of spermatic cord,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004164,Local excision or destruction of lesion of penis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004263,Other removal of both ovaries and tubes at same operative episode,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004329,Other bilateral destruction or occlusion of fallopian tubes,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004342,Removal of both fallopian tubes at same operative episode,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004443,Closed biopsy of uterus,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2004627,Vaginal suspension and fixation,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109825,"Transurethral electrosurgical resection of prostate, including control of postoperative bleeding, complete (vasectomy, meatotomy, cystourethroscopy, urethral calibration and/or dilation, and internal urethrotomy are included)",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109833,"Laser vaporization of prostate, including control of postoperative bleeding, complete (vasectomy, meatotomy, cystourethroscopy, urethral calibration and/or dilation, internal urethrotomy and transurethral resection of prostate are included if performed)",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109900,"Destruction of lesion(s), penis (eg, condyloma, papilloma, molluscum contagiosum, herpetic vesicle), simple; chemical",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109902,"Destruction of lesion(s), penis (eg, condyloma, papilloma, molluscum contagiosum, herpetic vesicle), simple; cryosurgery",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109905,"Destruction of lesion(s), penis (eg, condyloma, papilloma, molluscum contagiosum, herpetic vesicle), extensive (eg, laser surgery, electrosurgery, cryosurgery, chemosurgery)",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109906,"Biopsy of penis, (separate procedure)",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109916,"Circumcision, using clamp or other device with regional dorsal penile or ring block",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109968,Foreskin manipulation including lysis of preputial adhesions and stretching,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109973,"Orchiectomy, simple (including subcapsular), with or without testicular prosthesis, scrotal or inguinal approach",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2109981,"Orchiopexy, inguinal approach, with or without hernia repair",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110004,Drainage of scrotal wall abscess,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110011,"Vasectomy, unilateral or bilateral (separate procedure), including postoperative semen examination(s)",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110026,"Biopsy, prostate; needle or punch, single or multiple, any approach",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110039,"Prostatectomy, retropubic radical, with or without nerve sparing; with bilateral pelvic lymphadenectomy, including external iliac, hypogastric, and obturator nodes",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110044,"Laparoscopy, surgical prostatectomy, retropubic radical, including nerve sparing, includes robotic assistance, when performed",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110078,Colposcopy of the vulva,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110116,"Colpopexy, vaginal; extra-peritoneal approach (sacrospinous, iliococcygeus)",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110142,"Laparoscopy, surgical, colpopexy (suspension of vaginal apex)",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110144,"Colposcopy of the cervix including upper/adjacent vagina, with biopsy(s) of the cervix and endocervical curettage",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110169,"Endometrial sampling (biopsy) with or without endocervical sampling (biopsy), without cervical dilation, any method (separate procedure)",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110175,"Total abdominal hysterectomy (corpus and cervix), with or without removal of tube(s), with or without removal of ovary(s)",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110194,Insertion of intrauterine device (IUD),,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110195,Removal of intrauterine device (IUD),,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110203,"Endometrial ablation, thermal, without hysteroscopic guidance",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110222,"Hysteroscopy, surgical; with sampling (biopsy) of endometrium and/or polypectomy, with or without D & C",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110227,"Hysteroscopy, surgical; with endometrial ablation (eg, endometrial resection, electrosurgical ablation, thermoablation)",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110230,"Laparoscopy, surgical, with total hysterectomy, for uterus 250 g or less; with removal of tube(s) and/or ovary(s)",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110307,"Routine obstetric care including antepartum care, vaginal delivery (with or without episiotomy, and/or forceps) and postpartum care",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110315,"Routine obstetric care including antepartum care, cesarean delivery, and postpartum care",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110316,Cesarean delivery only,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110317,"Cesarean delivery only, including postpartum care",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2110326,"Treatment of missed abortion, completed surgically; first trimester",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211747,"Ultrasound, pregnant uterus, real time with image documentation, fetal and maternal evaluation, first trimester (< 14 weeks 0 days), transabdominal approach; single or first gestation",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211749,"Ultrasound, pregnant uterus, real time with image documentation, fetal and maternal evaluation, after first trimester (> or = 14 weeks 0 days), transabdominal approach; single or first gestation",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211751,"Ultrasound, pregnant uterus, real time with image documentation, fetal and maternal evaluation plus detailed fetal anatomic examination, transabdominal approach; single or first gestation",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211753,"Ultrasound, pregnant uterus, real time with image documentation, first trimester fetal nuchal translucency measurement, transabdominal or transvaginal approach; single or first gestation",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211755,"Ultrasound, pregnant uterus, real time with image documentation, limited (eg, fetal heart beat, placental location, fetal position and/or qualitative amniotic fluid volume), 1 or more fetuses",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211756,"Ultrasound, pregnant uterus, real time with image documentation, follow-up (eg, re-evaluation of fetal size by measuring standard growth parameters and amniotic fluid volume, re-evaluation of organ system(s) suspected or confirmed to be abnormal on a prev",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211757,"Ultrasound, pregnant uterus, real time with image documentation, transvaginal",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211765,"Ultrasound, transvaginal",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2211769,"Ultrasound, scrotum and contents",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2617204,"Cervical or vaginal cancer screening, pelvic and clinical breast examination",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2721063,"Annual gynecological examination, new patient",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2721064,"Annual gynecological examination, established patient",,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2780478,"Resection of Prostate, Percutaneous Endoscopic Approach",,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,2780523,"Resection of Prepuce, External Approach",,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4005743,Female sterility,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4005933,"Hypospadias, penile",,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4012343,Vaginal discharge symptom,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4016155,Prostatism,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4021531,Total abdominal hysterectomy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4032594,Inflammation of scrotum,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4032622,Laparoscopic supracervical hysterectomy,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4038747,Obstetric examination,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4048225,Neoplasm of endometrium,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4050091,Open wound of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4051956,Vulvovaginal disease,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4052532,Hysteroscopy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4054550,Open wound of scrotum and testes,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4056903,Vaginitis associated with another disorder,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4058792,Douche of vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4060207,Vulval irritation,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4060556,"Uterine scar from previous surgery in pregnancy, childbirth and the puerperium",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4060558,"Uterine scar from previous surgery in pregnancy, childbirth and the puerperium - delivered",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4060559,"Uterine scar from previous surgery in pregnancy, childbirth and the puerperium with antenatal problem",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4061050,Subacute and chronic vaginitis,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4071874,Pain in scrotum,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4073700,Transurethral laser prostatectomy,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4081648,Acute vaginitis,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4083772,Echography of scrotum and contents,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4090039,Penile arterial insufficiency,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4092515,"Malignant neoplasm, overlapping lesion of cervix uteri",,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4093346,Large prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4095940,Finding of pattern of menstrual cycle,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4096783,Radical prostatectomy,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4109081,Pain in penis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4127886,Hysterectomy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4128329,Menopause present,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4129155,Vaginal bleeding,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4138738,Vaginal hysterectomy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4140828,Acute vulvitis,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4141940,Endometrial ablation,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4143116,Azoospermia,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4146777,Radical abdominal hysterectomy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4147021,"Contusion, scrotum or testis",,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4149084,Vaginitis,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4150042,Vaginal ulcer,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4150816,Bicornuate uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4155529,Mechanical complication of intrauterine contraceptive device,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4156113,Malignant neoplasm of body of uterus,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4161944,Low cervical cesarean section,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4162860,Primary malignant neoplasm of body of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4163261,Malignant tumor of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4171394,Abnormal menstrual cycle,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4171915,Orchitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4180978,Vulvovaginitis,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4181912,Cone biopsy of cervix,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4194652,Pruritus of vulva,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4199600,Candidal balanitis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4234536,Transurethral prostatectomy,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4235215,Swelling of testicle,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4238715,Removal of intrauterine device,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4243919,Incision of ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4260520,Balanitis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4270932,Pain in testicle,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4275113,Insertion of intrauterine contraceptive device,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4279913,Primary ovarian failure,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4281030,Secondary malignant neoplasm of right ovary,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4294393,Ulcer of penis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4294805,Laparoscopic-assisted vaginal hysterectomy,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4295261,Postmenopausal state,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4303258,Bacterial vaginosis,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4306780,Gynecologic examination,,,plausibleGender,5,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4310552,Orchidopexy,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4320332,Hydrocele of tunica vaginalis,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4321575,Lysis of penile adhesions,,,plausibleGender,5,Male, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4330583,Vasectomy,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4339088,Testicular mass,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40481080,Benign localized hyperplasia of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40482030,Dysplasia of prostate,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40482406,Low lying placenta,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40483613,Inflammatory disease of female genital structure,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40490888,Herniation of rectum into vagina,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,42709954,Phimosis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,45757415,Benign endometrial hyperplasia,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,45766654,Disorder of skin of penis,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,45770892,Primary malignant neoplasm of uterus,,,plausibleGender,5,Female, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,45772671,Nodular prostate without urinary obstruction,,,plausibleGender,5,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,"4090861, 4025213","Male genitalia finding, Male reproductive finding",,,plausibleGenderUseDescendants,2,Male, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,"4095793 , 443343, 4024004 , 4172857, 444094 , 197810, 4158481","Female genitalia finding, Disorder of intrauterine contraceptive device, Menopause finding, Disorder of female genital system, Malignant neoplasm of uterine adnexa, Finding related to pregnancy, Female reproductive finding",,,plausibleGenderUseDescendants,2,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,4041261,Procedure on female genital system,,,plausibleGenderUseDescendants,2,Female, +PROCEDURE_OCCURRENCE,PROCEDURE_CONCEPT_ID,"4250917, 4077750, 4043199, 4040577","Operation on prostate, Operation on scrotum, Procedure on penis, Procedure on testis",,,plausibleGenderUseDescendants,2,Male, +VISIT_OCCURRENCE,VISIT_CONCEPT_ID,9201,Inpatient visit,,,isTemporallyConstant,,, +VISIT_OCCURRENCE,VISIT_CONCEPT_ID,9202,Outpatient visit,,,isTemporallyConstant,,, +VISIT_OCCURRENCE,VISIT_CONCEPT_ID,9203,ER visit,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,80180,Osteoarthritis,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,80809,Rheumatoid arthritis,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,81893,Ulcerative colitis,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,81902,Urinary tract infectious disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,140168,Psoriasis,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192671,Gastrointestinal hemorrhage,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197494,Viral hepatitis C,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197508,Malignant tumor of urinary bladder,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200962,Primary malignant neoplasm of prostate,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201606,Crohn's disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201820,Diabetes mellitus,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,255573,Chronic obstructive lung disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,255848,Pneumonia,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,313217,Atrial fibrillation,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,316139,Heart failure,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,316866,Hypertensive disorder,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,317576,Coronary arteriosclerosis,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,318800,Gastroesophageal reflux disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,321052,Peripheral vascular disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,321588,Heart disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,381591,Cerebrovascular disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,432571,Malignant lymphoma,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,432867,Hyperlipidemia,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,433736,Obesity,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,435783,Schizophrenia,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,438409,Attention deficit hyperactivity disorder,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,439727,Human immunodeficiency virus infection,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440383,Depressive disorder,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440417,Pulmonary embolism,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443388,Malignant tumor of lung,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443392,Malignant neoplastic disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,444247,Venous thrombosis,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4006969,Acute respiratory disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4030518,Renal impairment,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4044013,Hematologic neoplasm,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4104000,Lesion of liver,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4112853,Malignant tumor of breast,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4134440,Visual system disorder,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4180790,Malignant tumor of colon,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4182210,Dementia,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4185932,Ischemic heart disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4212540,Chronic liver disease,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4279309,Substance abuse,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40481902,Malignant neoplasm of anorectum,,,isTemporallyConstant,,, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,80180,Osteoarthritis,,,validPrevalenceLow,,0.0584, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,80809,Rheumatoid arthritis,,,validPrevalenceLow,,0.0045, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,81893,Ulcerative colitis,,,validPrevalenceLow,,0.0014, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,81902,Urinary tract infectious disease,,,validPrevalenceLow,,0.0412, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,140168,Psoriasis,,,validPrevalenceLow,,0.0055, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192671,Gastrointestinal hemorrhage,,,validPrevalenceLow,,0.0135, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197494,Viral hepatitis C,,,validPrevalenceLow,,0.0017, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197508,Malignant tumor of urinary bladder,,,validPrevalenceLow,,0.0013, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200962,Primary malignant neoplasm of prostate,,,validPrevalenceLow,,0.0052, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201606,Crohn's disease,,,validPrevalenceLow,,0.0012, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201820,Diabetes mellitus,,,validPrevalenceLow,,0.039, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,255573,Chronic obstructive lung disease,,,validPrevalenceLow,,0.0194, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,255848,Pneumonia,,,validPrevalenceLow,,0.0218, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,313217,Atrial fibrillation,,,validPrevalenceLow,,0.0128, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,316139,Heart failure,,,validPrevalenceLow,,0.0161, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,316866,Hypertensive disorder,,,validPrevalenceLow,,0.0913, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,317576,Coronary arteriosclerosis,,,validPrevalenceLow,,0.0206, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,318800,Gastroesophageal reflux disease,,,validPrevalenceLow,,0.0337, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,321052,Peripheral vascular disease,,,validPrevalenceLow,,0.0426, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,321588,Heart disease,,,validPrevalenceLow,,0.061, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,381591,Cerebrovascular disease,,,validPrevalenceLow,,0.0142, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,432571,Malignant lymphoma,,,validPrevalenceLow,,0.0016, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,432867,Hyperlipidemia,,,validPrevalenceLow,,0.0712, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,433736,Obesity,,,validPrevalenceLow,,0.038, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,435783,Schizophrenia,,,validPrevalenceLow,,0.0021, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,438409,Attention deficit hyperactivity disorder,,,validPrevalenceLow,,0.0078, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,439727,Human immunodeficiency virus infection,,,validPrevalenceLow,,6e-04, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440383,Depressive disorder,,,validPrevalenceLow,,0.0392, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440417,Pulmonary embolism,,,validPrevalenceLow,,0.0024, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443388,Malignant tumor of lung,,,validPrevalenceLow,,0.0021, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443392,Malignant neoplastic disease,,,validPrevalenceLow,,0.0326, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,444247,Venous thrombosis,,,validPrevalenceLow,,0.0082, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4006969,Acute respiratory disease,,,validPrevalenceLow,,0.1703, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4030518,Renal impairment,,,validPrevalenceLow,,0.0174, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4044013,Hematologic neoplasm,,,validPrevalenceLow,,0.0037, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4104000,Lesion of liver,,,validPrevalenceLow,,0.0029, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4112853,Malignant tumor of breast,,,validPrevalenceLow,,0.0047, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4134440,Visual system disorder,,,validPrevalenceLow,,0.1181, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4180790,Malignant tumor of colon,,,validPrevalenceLow,,0.0019, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4182210,Dementia,,,validPrevalenceLow,,0.0086, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4185932,Ischemic heart disease,,,validPrevalenceLow,,0.0201, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4212540,Chronic liver disease,,,validPrevalenceLow,,0.0053, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4279309,Substance abuse,,,validPrevalenceLow,,0.0063, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40481902,Malignant neoplasm of anorectum,,,validPrevalenceLow,,0.001, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,80180,Osteoarthritis,,,validPrevalenceHigh,,0.5252, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,80809,Rheumatoid arthritis,,,validPrevalenceHigh,,0.0405, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,81893,Ulcerative colitis,,,validPrevalenceHigh,,0.0128, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,81902,Urinary tract infectious disease,,,validPrevalenceHigh,,0.371, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,140168,Psoriasis,,,validPrevalenceHigh,,0.0494, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,192671,Gastrointestinal hemorrhage,,,validPrevalenceHigh,,0.1219, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197494,Viral hepatitis C,,,validPrevalenceHigh,,0.0155, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,197508,Malignant tumor of urinary bladder,,,validPrevalenceHigh,,0.0113, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,200962,Primary malignant neoplasm of prostate,,,validPrevalenceHigh,,0.0471, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201606,Crohn's disease,,,validPrevalenceHigh,,0.0112, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,201820,Diabetes mellitus,,,validPrevalenceHigh,,0.3514, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,255573,Chronic obstructive lung disease,,,validPrevalenceHigh,,0.1742, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,255848,Pneumonia,,,validPrevalenceHigh,,0.1966, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,313217,Atrial fibrillation,,,validPrevalenceHigh,,0.1155, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,316139,Heart failure,,,validPrevalenceHigh,,0.1452, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,316866,Hypertensive disorder,,,validPrevalenceHigh,,0.8215, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,317576,Coronary arteriosclerosis,,,validPrevalenceHigh,,0.1852, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,318800,Gastroesophageal reflux disease,,,validPrevalenceHigh,,0.3033, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,321052,Peripheral vascular disease,,,validPrevalenceHigh,,0.3832, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,321588,Heart disease,,,validPrevalenceHigh,,0.5491, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,381591,Cerebrovascular disease,,,validPrevalenceHigh,,0.1274, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,432571,Malignant lymphoma,,,validPrevalenceHigh,,0.0143, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,432867,Hyperlipidemia,,,validPrevalenceHigh,,0.6412, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,433736,Obesity,,,validPrevalenceHigh,,0.3422, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,435783,Schizophrenia,,,validPrevalenceHigh,,0.0186, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,438409,Attention deficit hyperactivity disorder,,,validPrevalenceHigh,,0.0706, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,439727,Human immunodeficiency virus infection,,,validPrevalenceHigh,,0.0057, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440383,Depressive disorder,,,validPrevalenceHigh,,0.3531, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,440417,Pulmonary embolism,,,validPrevalenceHigh,,0.022, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443388,Malignant tumor of lung,,,validPrevalenceHigh,,0.0185, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,443392,Malignant neoplastic disease,,,validPrevalenceHigh,,0.2932, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,444247,Venous thrombosis,,,validPrevalenceHigh,,0.0737, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4006969,Acute respiratory disease,,,validPrevalenceHigh,,1, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4030518,Renal impairment,,,validPrevalenceHigh,,0.1568, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4044013,Hematologic neoplasm,,,validPrevalenceHigh,,0.0331, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4104000,Lesion of liver,,,validPrevalenceHigh,,0.0265, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4112853,Malignant tumor of breast,,,validPrevalenceHigh,,0.0421, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4134440,Visual system disorder,,,validPrevalenceHigh,,1, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4180790,Malignant tumor of colon,,,validPrevalenceHigh,,0.0173, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4182210,Dementia,,,validPrevalenceHigh,,0.0773, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4185932,Ischemic heart disease,,,validPrevalenceHigh,,0.1813, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4212540,Chronic liver disease,,,validPrevalenceHigh,,0.0476, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,4279309,Substance abuse,,,validPrevalenceHigh,,0.0568, +CONDITION_OCCURRENCE,CONDITION_CONCEPT_ID,40481902,Malignant neoplasm of anorectum,,,validPrevalenceHigh,,0.0089, +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3006315,Basophils [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3004410,Hemoglobin A1c/Hemoglobin.total in Blood,,,plausibleUnitConceptIds,5,"8554,8737,9225,9579",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,40487382,Total lymphocyte count,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013721,Aspartate aminotransferase [Enzymatic activity/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8645,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3019198,Lymphocytes [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3034426,Prothrombin time (PT),,,plausibleUnitConceptIds,5,8555,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3043688,Hemoglobin [Mass/volume] in Body fluid,,,plausibleUnitConceptIds,5,"8713,8859",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3046485,Urea nitrogen/Creatinine [Mass Ratio] in Blood,,,plausibleUnitConceptIds,5,"8523,8554,8596,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4216098,Eosinophil count,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4245152,Potassium measurement,,,plausibleUnitConceptIds,5,"8736,8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,43055141,Pain severity - 0-10 verbal numeric rating [Score] - Reported,,,plausibleUnitConceptIds,5,-1,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3006923,Alanine aminotransferase [Enzymatic activity/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8645,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3021044,Iron binding capacity [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8837,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3024171,Respiratory rate,,,plausibleUnitConceptIds,5,"8483,8541",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3027114,Cholesterol [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,40762499,Oxygen saturation in Arterial blood by Pulse oximetry,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3000963,Hemoglobin [Mass/volume] in Blood,,,plausibleUnitConceptIds,5,"8636,8713",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001604,Monocytes [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3019069,Monocytes/100 leukocytes in Blood,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3022509,Hyaline casts [#/area] in Urine sediment by Microscopy low power field,,,plausibleUnitConceptIds,5,8765,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3028288,Cholesterol in LDL [Mass/volume] in Serum or Plasma by calculation,,,plausibleUnitConceptIds,5,"8840,9028",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4148615,Neutrophil count,,,plausibleUnitConceptIds,5,"8784,8848,8961,8848,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,44806420,Estimation of glomerular filtration rate,,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3028437,Cholesterol in LDL [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8840,9028",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3016991,Thyroxine (T4) [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8837,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3026925,Triiodothyronine (T3) Free [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8820,8845",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3028615,Eosinophils [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8784,8816,8848,8961,9436,9444,8647",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3051205,Crystals [#/area] in Urine sediment by Microscopy high power field,,,plausibleUnitConceptIds,5,8786,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4098046,Pulse oximetry,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3005131,Glucose mean value [Mass/volume] in Blood Estimated from glycated hemoglobin,,,plausibleUnitConceptIds,5,"8840,9028",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3011163,Cholesterol.total/Cholesterol in HDL [Mass Ratio] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8523,8529,8554,8596,8606,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3044491,Cholesterol non HDL [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8576,8840,9028",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4017361,Blood urea nitrogen measurement,,,plausibleUnitConceptIds,5,"8753,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3006504,Eosinophils/100 leukocytes in Blood,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3000483,Glucose [Mass/volume] in Blood,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3033543,Specific gravity of Urine,,,plausibleUnitConceptIds,5,"8523,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3045716,Anion gap in Serum or Plasma,,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4101713,High density lipoprotein cholesterol measurement,,,plausibleUnitConceptIds,5,"8636,8736,8753,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4103762,Anion gap measurement,,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001008,Epithelial cells.squamous [#/area] in Urine sediment by Microscopy high power field,,,plausibleUnitConceptIds,5,"8765,8786,8889",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3009744,MCHC [Mass/volume] by Automated count,,,plausibleUnitConceptIds,5,"8564,8636,8713",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013115,Eosinophils [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8848,8961,9444,8784,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3019550,Sodium [Moles/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8753,9557,8784,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3020416,Erythrocytes [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"44777575,8734,8815,8647,8931,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3035583,Leukocytes [#/area] in Urine sediment by Microscopy high power field,,,plausibleUnitConceptIds,5,"8786,8889",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3035995,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8645,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3038553,Body mass index (BMI) [Ratio],,,plausibleUnitConceptIds,5,9531,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,35610320,Diastolic arterial pressure,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001490,Nucleated erythrocytes [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4195214,Cholesterol/HDL ratio measurement,,,plausibleUnitConceptIds,5,"8523,8554,8596,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,36306178,"Glomerular filtration rate/1.73 sq M.predicted among blacks [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (CKD-EPI)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37393850,MCHC - Mean corpuscular haemoglobin concentration,,,plausibleUnitConceptIds,5,"8636,8713,8554,8753",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3004501,Glucose [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8840,8753",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3008598,Thyroxine (T4) free [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8817,8845,8725",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3018010,Neutrophils/100 leukocytes in Blood,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3022192,Triglyceride [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8840,8753",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4151768,Pack years,,,plausibleUnitConceptIds,5,"9448,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4197602,Serum TSH measurement,,,plausibleUnitConceptIds,5,"8719,9040,9093,44777578,8750,8923,44777583",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,46236952,"Glomerular filtration rate/1.73 sq M.predicted [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (MDRD)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3006906,Calcium [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3007070,Cholesterol in HDL [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3020460,C reactive protein [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8751,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3023314,Hematocrit [Volume Fraction] of Blood by Automated count,,,plausibleUnitConceptIds,5,"44777604,8554",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3035941,MCH [Entitic mass],,,plausibleUnitConceptIds,5,"8564,9655",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3037072,Urobilinogen [Mass/volume] in Urine by Test strip,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4151358,Hematocrit determination,,,plausibleUnitConceptIds,5,"44777604,8554,8523",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4194332,Monocyte count,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001123,Platelet mean volume [Entitic volume] in Blood,,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3012888,Diastolic blood pressure,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013707,Erythrocyte sedimentation rate by Westergren method,,,plausibleUnitConceptIds,5,8752,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3037511,Lymphocytes/100 leukocytes in Blood by Automated count,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3040168,Immature granulocytes [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4097430,Sodium measurement,,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3005424,Body surface area,,,plausibleUnitConceptIds,5,8617,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013603,Prostate specific Ag [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8748,8842",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3020509,Albumin/Globulin [Mass Ratio] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8523,8554,8596,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3036277,Body height,,,plausibleUnitConceptIds,5,"8582,9327,9330,9546",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4301868,Pulse rate,,,plausibleUnitConceptIds,5,"8483,8541,8581",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,40762636,Body mass index (BMI) [Percentile],,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,40765040,25-Hydroxyvitamin D3+25-Hydroxyvitamin D2 [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8842,8845",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3024386,Platelet mean volume [Entitic volume] in Blood by Rees-Ecker,,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3009201,Thyrotropin [Units/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"44777578,8719,9040,9093,8860",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3024731,MCV [Entitic volume],,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3050479,Immature granulocytes/100 leukocytes in Blood,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4012479,Low density lipoprotein cholesterol measurement,,,plausibleUnitConceptIds,5,"8636,8753,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4152194,Systolic blood pressure,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37393840,Haematocrit,,,plausibleUnitConceptIds,5,"44777604,8523,8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3000593,Cobalamin (Vitamin B12) [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8845,8725",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3002888,Erythrocyte distribution width [Entitic volume],,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3010910,Erythrocytes [#/volume] in Body fluid,,,plausibleUnitConceptIds,5,"8647,8785,8815,8931,8784,8848,9257,8888,9428",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013290,Carbon dioxide [Partial pressure] in Blood,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3027970,Globulin [Mass/volume] in Serum by calculation,,,plausibleUnitConceptIds,5,"8636,8713,8950",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4239408,Heart rate,,,plausibleUnitConceptIds,5,"8483,8541,8581",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3010813,Leukocytes [#/volume] in Blood,,,plausibleUnitConceptIds,5,"44777588,8848,8961,9444,8647",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3023103,Potassium [Moles/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4030871,Red blood cell count,,,plausibleUnitConceptIds,5,"8734,8815,8931,9444,9445",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4154790,Diastolic blood pressure,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4217013,Systolic arterial pressure,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001318,Cholesterol.total/Cholesterol in HDL [Percentile],,,plausibleUnitConceptIds,5,"8554,8596,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3004249,Systolic blood pressure,,,plausibleUnitConceptIds,5,8876,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3009596,Cholesterol in VLDL [Mass/volume] in Serum or Plasma by calculation,,,plausibleUnitConceptIds,5,"8576,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3025315,Body weight,,,plausibleUnitConceptIds,5,"8739,9346,9373,9529",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3053283,"Glomerular filtration rate/1.73 sq M.predicted among blacks [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (MDRD)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4008265,Total cholesterol measurement,,,plausibleUnitConceptIds,5,"8736,8753,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,36303797,"Glomerular filtration rate/1.73 sq M.predicted among non-blacks [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (CKD-EPI)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37398460,Serum alkaline phosphatase level,,,plausibleUnitConceptIds,5,"32995,8645,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013682,Urea nitrogen [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3026361,Erythrocytes [#/volume] in Blood,,,plausibleUnitConceptIds,5,"32706,8785,8815,8931,8784,8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3027018,Heart rate,,,plausibleUnitConceptIds,5,"8483,8541,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4013965,"Oxygen saturation measurement, arterial",,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013429,Basophils [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8784,8816,8848,8961,9436,9444,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3023599,MCV [Entitic volume] by Automated count,,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3036588,Neutrophil cytoplasmic Ab.perinuclear [Presence] in Serum,,,plausibleUnitConceptIds,5,"8525,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4298431,White blood cell count,,,plausibleUnitConceptIds,5,"8848,8961,9444,8784,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3017732,Neutrophils [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3024561,Albumin [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8636,8713",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3034639,Hemoglobin A1c [Mass/volume] in Blood,,,plausibleUnitConceptIds,5,"8713,8840,9579,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013650,Neutrophils [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8784,8848,8961,9444,8647,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3021886,Globulin [Mass/volume] in Serum,,,plausibleUnitConceptIds,5,"8636,8713,8950",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4254663,Lymphocyte count,,,plausibleUnitConceptIds,5,"8848,9444,8961",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001420,Magnesium [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3007461,Platelets [#/volume] in Blood,,,plausibleUnitConceptIds,5,"8848,8961,9444,32706",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3012030,MCH [Entitic mass] by Automated count,,,plausibleUnitConceptIds,5,"8564,8704,9655,8504,8576",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,40764999,"Glomerular filtration rate/1.73 sq M.predicted [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (CKD-EPI)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3008893,Testosterone [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8817,8842",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3016723,Creatinine [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8840,8749",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3026910,Gamma glutamyl transferase [Enzymatic activity/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8645,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3033575,Monocytes [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8784,8816,8848,8961,9436,9444,8785,8647",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3041084,Immature granulocytes [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8848,8961,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4184637,Hemoglobin A1c measurement,,,plausibleUnitConceptIds,5,"8554,8632,8737,9579",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4313591,Respiratory rate,,,plausibleUnitConceptIds,5,"8483,8541",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37393851,MCV - Mean corpuscular volume,,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,1619025,"Glomerular filtration rate/1.73 sq M.predicted [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (CKD-EPI 2021)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3013869,Basophils/100 leukocytes in Blood by Automated count,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3035472,Albumin/Protein.total in Serum or Plasma,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3039000,Anion gap in Blood,,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3000905,Leukocytes [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8816,8848,8961,9436,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3015632,"Carbon dioxide, total [Moles/volume] in Serum or Plasma",,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3032710,Calcium.ionized/Calcium.total corrected for albumin in Blood,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4197971,HbA1c measurement (DCCT aligned),,,plausibleUnitConceptIds,5,"8554,8632,8737",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,42869452,Immature granulocytes/100 leukocytes in Blood by Automated count,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3002109,Cholesterol in LDL/Cholesterol in HDL [Mass Ratio] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8523,8596,8606,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3004327,Lymphocytes [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8784,8816,8848,8961,9436,9444,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3006322,Oral temperature,,,plausibleUnitConceptIds,5,"586323,9289",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3008342,Neutrophils/100 leukocytes in Blood by Automated count,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3020630,Protein [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8636,8713",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3001122,Ferritin [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8748,8842",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3009542,Hematocrit [Volume Fraction] of Blood,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3010189,Epithelial cells [#/area] in Urine sediment by Microscopy high power field,,,plausibleUnitConceptIds,5,"8765,8786",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3010457,Eosinophils/100 leukocytes in Blood by Automated count,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4192368,Platelet mean volume determination,,,plausibleUnitConceptIds,5,8583,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3014576,Chloride [Moles/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8753,9557",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3024128,Bilirubin.total [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8840,8749",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3018311,Urea nitrogen/Creatinine [Mass Ratio] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8523,8554,8596,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3020891,Body temperature,,,plausibleUnitConceptIds,5,"586323,9289",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3037556,Urate [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8840,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37399332,Serum TSH (thyroid stimulating hormone) level,,,plausibleUnitConceptIds,5,"44777578,9040",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3011904,Phosphate [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8840,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3019897,Erythrocyte distribution width [Ratio] by Automated count,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3025255,Bacteria [#/area] in Urine sediment by Microscopy high power field,,,plausibleUnitConceptIds,5,8786,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4076704,High density lipoprotein measurement,,,plausibleUnitConceptIds,5,"8753,8840",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4172647,Basophil count,,,plausibleUnitConceptIds,5,"8848,8961,9444,8785",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37393531,Serum alanine aminotransferase level,,,plausibleUnitConceptIds,5,"32995,8645,8923",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,40771529,Immature granulocytes/100 leukocytes in Body fluid,,,plausibleUnitConceptIds,5,"8554,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3000034,Microalbumin [Mass/volume] in Urine,,,plausibleUnitConceptIds,5,"8576,8723,8751,8840,8859,8636",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3035124,Erythrocytes [#/area] in Urine sediment by Microscopy high power field,,,plausibleUnitConceptIds,5,"8786,8889",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3002030,Lymphocytes/100 leukocytes in Blood,,,plausibleUnitConceptIds,5,"8554,8848",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3019170,Thyrotropin [Units/volume] in Serum or Plasma by Detection limit <= 0.005 mIU/L,,,plausibleUnitConceptIds,5,"44777578,8719,8860,9040,9093,9550",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3020149,25-hydroxyvitamin D3 [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,8842,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3022174,Leukocytes [#/volume] in Body fluid,,,plausibleUnitConceptIds,5,"8647,8784,8785,8848,8961,9257,8888",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3024929,Platelets [#/volume] in Blood by Automated count,,,plausibleUnitConceptIds,5,"8816,8848,8961,9436,9444",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3049187,"Glomerular filtration rate/1.73 sq M.predicted among non-blacks [Volume Rate/Area] in Serum, Plasma or Blood by Creatinine-based formula (MDRD)",,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,37398676,Basophil count,,,plausibleUnitConceptIds,5,8848,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4112223,BUN/Creatinine ratio,,,plausibleUnitConceptIds,5,"8523,8596,-1",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3017250,Creatinine [Mass/volume] in Urine,,,plausibleUnitConceptIds,5,"8840,8636",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,4191837,Calculated LDL cholesterol level,,,plausibleUnitConceptIds,5,"8840,8753",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3022096,Basophils/100 leukocytes in Blood,,,plausibleUnitConceptIds,5,8554,Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3034485,Albumin/Creatinine [Mass Ratio] in Urine,,,plausibleUnitConceptIds,5,"8523,8723,8838,9017,9072",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,44790183,Glomerular filtration rate testing,,,plausibleUnitConceptIds,5,"720870,8795",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3002400,Iron [Mass/volume] in Serum or Plasma,,,plausibleUnitConceptIds,5,"8749,8837",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID +MEASUREMENT,MEASUREMENT_CONCEPT_ID,3003338,MCHC [Mass/volume],,,plausibleUnitConceptIds,5,"8713,8753",Approved UNIT_CONCEPT_IDs for the given MEASUREMENT_CONCEPT_ID diff --git a/tests/testthat/inst/long_OMOP_CDMv5.3_Field_Level.csv b/tests/testthat/inst/long_OMOP_CDMv5.3_Field_Level.csv new file mode 100644 index 00000000..cb361adf --- /dev/null +++ b/tests/testthat/inst/long_OMOP_CDMv5.3_Field_Level.csv @@ -0,0 +1,1332 @@ +cdmTableName,cdmFieldName,checkName,Threshold,checkParameter,checkParameter_TableName,checkParameter_FieldName,Notes +PERSON,person_id,isRequired,0,,,, +PERSON,gender_concept_id,isRequired,0,,,, +PERSON,year_of_birth,isRequired,0,,,, +PERSON,race_concept_id,isRequired,0,,,, +PERSON,ethnicity_concept_id,isRequired,0,,,, +OBSERVATION_PERIOD,observation_period_id,isRequired,0,,,, +OBSERVATION_PERIOD,person_id,isRequired,0,,,, +OBSERVATION_PERIOD,observation_period_start_date,isRequired,0,,,, +OBSERVATION_PERIOD,observation_period_end_date,isRequired,0,,,, +OBSERVATION_PERIOD,period_type_concept_id,isRequired,0,,,, +VISIT_OCCURRENCE,visit_occurrence_id,isRequired,0,,,, +VISIT_OCCURRENCE,person_id,isRequired,0,,,, +VISIT_OCCURRENCE,visit_concept_id,isRequired,0,,,, +VISIT_OCCURRENCE,visit_start_date,isRequired,0,,,, +VISIT_OCCURRENCE,visit_end_date,isRequired,0,,,, +VISIT_OCCURRENCE,visit_type_concept_id,isRequired,0,,,, +CONDITION_OCCURRENCE,condition_occurrence_id,isRequired,0,,,, +CONDITION_OCCURRENCE,person_id,isRequired,0,,,, +CONDITION_OCCURRENCE,condition_concept_id,isRequired,0,,,, +CONDITION_OCCURRENCE,condition_start_date,isRequired,0,,,, +CONDITION_OCCURRENCE,condition_type_concept_id,isRequired,0,,,, +DRUG_EXPOSURE,drug_exposure_id,isRequired,0,,,, +DRUG_EXPOSURE,person_id,isRequired,0,,,, +DRUG_EXPOSURE,drug_concept_id,isRequired,0,,,, +DRUG_EXPOSURE,drug_exposure_start_date,isRequired,0,,,, +DRUG_EXPOSURE,drug_exposure_end_date,isRequired,0,,,, +DRUG_EXPOSURE,drug_type_concept_id,isRequired,0,,,, +PROCEDURE_OCCURRENCE,procedure_occurrence_id,isRequired,0,,,, +PROCEDURE_OCCURRENCE,person_id,isRequired,0,,,, +PROCEDURE_OCCURRENCE,procedure_concept_id,isRequired,0,,,, +PROCEDURE_OCCURRENCE,procedure_date,isRequired,0,,,, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,isRequired,0,,,, +DEVICE_EXPOSURE,device_exposure_id,isRequired,0,,,, +DEVICE_EXPOSURE,person_id,isRequired,0,,,, +DEVICE_EXPOSURE,device_concept_id,isRequired,0,,,, +DEVICE_EXPOSURE,device_exposure_start_date,isRequired,0,,,, +DEVICE_EXPOSURE,device_type_concept_id,isRequired,0,,,, +MEASUREMENT,measurement_id,isRequired,0,,,, +MEASUREMENT,person_id,isRequired,0,,,, +MEASUREMENT,measurement_concept_id,isRequired,0,,,, +MEASUREMENT,measurement_date,isRequired,0,,,, +MEASUREMENT,measurement_type_concept_id,isRequired,0,,,, +VISIT_DETAIL,visit_detail_id,isRequired,0,,,, +VISIT_DETAIL,person_id,isRequired,0,,,, +VISIT_DETAIL,visit_detail_concept_id,isRequired,0,,,, +VISIT_DETAIL,visit_detail_start_date,isRequired,0,,,, +VISIT_DETAIL,visit_detail_end_date,isRequired,0,,,, +VISIT_DETAIL,visit_detail_type_concept_id,isRequired,0,,,, +VISIT_DETAIL,visit_occurrence_id,isRequired,0,,,, +NOTE,note_id,isRequired,0,,,, +NOTE,person_id,isRequired,0,,,, +NOTE,note_date,isRequired,0,,,, +NOTE,note_type_concept_id,isRequired,0,,,, +NOTE,note_class_concept_id,isRequired,0,,,, +NOTE,note_text,isRequired,0,,,, +NOTE,encoding_concept_id,isRequired,0,,,, +NOTE,language_concept_id,isRequired,0,,,, +NOTE_NLP,note_nlp_id,isRequired,0,,,, +NOTE_NLP,note_id,isRequired,0,,,, +NOTE_NLP,lexical_variant,isRequired,0,,,, +NOTE_NLP,nlp_date,isRequired,0,,,, +OBSERVATION,observation_id,isRequired,0,,,, +OBSERVATION,person_id,isRequired,0,,,, +OBSERVATION,observation_concept_id,isRequired,0,,,, +OBSERVATION,observation_date,isRequired,0,,,, +OBSERVATION,observation_type_concept_id,isRequired,0,,,, +SPECIMEN,specimen_id,isRequired,0,,,, +SPECIMEN,person_id,isRequired,0,,,, +SPECIMEN,specimen_concept_id,isRequired,0,,,, +SPECIMEN,specimen_type_concept_id,isRequired,0,,,, +SPECIMEN,specimen_date,isRequired,0,,,, +FACT_RELATIONSHIP,domain_concept_id_1,isRequired,0,,,, +FACT_RELATIONSHIP,fact_id_1,isRequired,0,,,, +FACT_RELATIONSHIP,domain_concept_id_2,isRequired,0,,,, +FACT_RELATIONSHIP,fact_id_2,isRequired,0,,,, +FACT_RELATIONSHIP,relationship_concept_id,isRequired,0,,,, +LOCATION,location_id,isRequired,0,,,, +CARE_SITE,care_site_id,isRequired,0,,,, +PROVIDER,provider_id,isRequired,0,,,, +PAYER_PLAN_PERIOD,payer_plan_period_id,isRequired,0,,,, +PAYER_PLAN_PERIOD,person_id,isRequired,0,,,, +PAYER_PLAN_PERIOD,payer_plan_period_start_date,isRequired,0,,,, +PAYER_PLAN_PERIOD,payer_plan_period_end_date,isRequired,0,,,, +COST,cost_id,isRequired,0,,,, +COST,cost_event_id,isRequired,0,,,, +COST,cost_domain_id,isRequired,0,,,, +COST,cost_type_concept_id,isRequired,0,,,, +DRUG_ERA,drug_era_id,isRequired,0,,,, +DRUG_ERA,person_id,isRequired,0,,,, +DRUG_ERA,drug_concept_id,isRequired,0,,,, +DRUG_ERA,drug_era_start_date,isRequired,0,,,, +DRUG_ERA,drug_era_end_date,isRequired,0,,,, +DOSE_ERA,dose_era_id,isRequired,0,,,, +DOSE_ERA,person_id,isRequired,0,,,, +DOSE_ERA,drug_concept_id,isRequired,0,,,, +DOSE_ERA,unit_concept_id,isRequired,0,,,, +DOSE_ERA,dose_value,isRequired,0,,,, +DOSE_ERA,dose_era_start_date,isRequired,0,,,, +DOSE_ERA,dose_era_end_date,isRequired,0,,,, +CONDITION_ERA,condition_era_id,isRequired,0,,,, +CONDITION_ERA,person_id,isRequired,0,,,, +CONDITION_ERA,condition_concept_id,isRequired,0,,,, +CONDITION_ERA,condition_era_start_date,isRequired,0,,,, +CONDITION_ERA,condition_era_end_date,isRequired,0,,,, +DEATH,death_date,isRequired,0,,,, +DEATH,person_id,isRequired,0,,,, +PERSON,person_id,cdmDatatype,0,integer,,, +PERSON,gender_concept_id,cdmDatatype,0,integer,,, +PERSON,year_of_birth,cdmDatatype,0,integer,,, +PERSON,month_of_birth,cdmDatatype,0,integer,,, +PERSON,day_of_birth,cdmDatatype,0,integer,,, +PERSON,birth_datetime,cdmDatatype,0,datetime,,, +PERSON,race_concept_id,cdmDatatype,0,integer,,, +PERSON,ethnicity_concept_id,cdmDatatype,0,integer,,, +PERSON,location_id,cdmDatatype,0,integer,,, +PERSON,provider_id,cdmDatatype,0,integer,,, +PERSON,care_site_id,cdmDatatype,0,integer,,, +PERSON,person_source_value,cdmDatatype,0,varchar(50),,, +PERSON,gender_source_value,cdmDatatype,0,varchar(50),,, +PERSON,gender_source_concept_id,cdmDatatype,0,Integer,,, +PERSON,race_source_value,cdmDatatype,0,varchar(50),,, +PERSON,race_source_concept_id,cdmDatatype,0,Integer,,, +PERSON,ethnicity_source_value,cdmDatatype,0,varchar(50),,, +PERSON,ethnicity_source_concept_id,cdmDatatype,0,Integer,,, +OBSERVATION_PERIOD,observation_period_id,cdmDatatype,0,integer,,, +OBSERVATION_PERIOD,person_id,cdmDatatype,0,integer,,, +OBSERVATION_PERIOD,observation_period_start_date,cdmDatatype,0,date,,, +OBSERVATION_PERIOD,observation_period_end_date,cdmDatatype,0,date,,, +OBSERVATION_PERIOD,period_type_concept_id,cdmDatatype,0,Integer,,, +VISIT_OCCURRENCE,visit_occurrence_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,person_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,visit_concept_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,visit_start_date,cdmDatatype,0,date,,, +VISIT_OCCURRENCE,visit_start_datetime,cdmDatatype,0,datetime,,, +VISIT_OCCURRENCE,visit_end_date,cdmDatatype,0,date,,, +VISIT_OCCURRENCE,visit_end_datetime,cdmDatatype,0,datetime,,, +VISIT_OCCURRENCE,visit_type_concept_id,cdmDatatype,0,Integer,,, +VISIT_OCCURRENCE,provider_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,care_site_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,visit_source_value,cdmDatatype,0,varchar(50),,, +VISIT_OCCURRENCE,visit_source_concept_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,admitting_source_concept_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,admitting_source_value,cdmDatatype,0,varchar(50),,, +VISIT_OCCURRENCE,discharge_to_concept_id,cdmDatatype,0,integer,,, +VISIT_OCCURRENCE,discharge_to_source_value,cdmDatatype,0,varchar(50),,, +VISIT_OCCURRENCE,preceding_visit_occurrence_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,condition_occurrence_id,cdmDatatype,0,bigint,,, +CONDITION_OCCURRENCE,person_id,cdmDatatype,0,bigint,,, +CONDITION_OCCURRENCE,condition_concept_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,condition_start_date,cdmDatatype,0,date,,, +CONDITION_OCCURRENCE,condition_start_datetime,cdmDatatype,0,datetime,,, +CONDITION_OCCURRENCE,condition_end_date,cdmDatatype,0,date,,, +CONDITION_OCCURRENCE,condition_end_datetime,cdmDatatype,0,datetime,,, +CONDITION_OCCURRENCE,condition_type_concept_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,condition_status_concept_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,stop_reason,cdmDatatype,0,varchar(20),,, +CONDITION_OCCURRENCE,provider_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,visit_occurrence_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,visit_detail_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,condition_source_value,cdmDatatype,0,varchar(50),,, +CONDITION_OCCURRENCE,condition_source_concept_id,cdmDatatype,0,integer,,, +CONDITION_OCCURRENCE,condition_status_source_value,cdmDatatype,0,varchar(50),,, +DRUG_EXPOSURE,drug_exposure_id,cdmDatatype,0,bigint,,, +DRUG_EXPOSURE,person_id,cdmDatatype,0,bigint,,, +DRUG_EXPOSURE,drug_concept_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,drug_exposure_start_date,cdmDatatype,0,date,,, +DRUG_EXPOSURE,drug_exposure_start_datetime,cdmDatatype,0,datetime,,, +DRUG_EXPOSURE,drug_exposure_end_date,cdmDatatype,0,date,,, +DRUG_EXPOSURE,drug_exposure_end_datetime,cdmDatatype,0,datetime,,, +DRUG_EXPOSURE,verbatim_end_date,cdmDatatype,0,date,,, +DRUG_EXPOSURE,drug_type_concept_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,stop_reason,cdmDatatype,0,varchar(20),,, +DRUG_EXPOSURE,refills,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,quantity,cdmDatatype,0,float,,, +DRUG_EXPOSURE,days_supply,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,sig,cdmDatatype,0,varchar(MAX),,, +DRUG_EXPOSURE,route_concept_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,lot_number,cdmDatatype,0,varchar(50),,, +DRUG_EXPOSURE,provider_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,visit_occurrence_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,visit_detail_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,drug_source_value,cdmDatatype,0,varchar(50),,, +DRUG_EXPOSURE,drug_source_concept_id,cdmDatatype,0,integer,,, +DRUG_EXPOSURE,route_source_value,cdmDatatype,0,varchar(50),,, +DRUG_EXPOSURE,dose_unit_source_value,cdmDatatype,0,varchar(50),,, +PROCEDURE_OCCURRENCE,procedure_occurrence_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,person_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,procedure_concept_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,procedure_date,cdmDatatype,0,date,,, +PROCEDURE_OCCURRENCE,procedure_datetime,cdmDatatype,0,datetime,,, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,modifier_concept_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,quantity,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,provider_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,visit_occurrence_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,visit_detail_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,procedure_source_value,cdmDatatype,0,varchar(50),,, +PROCEDURE_OCCURRENCE,procedure_source_concept_id,cdmDatatype,0,integer,,, +PROCEDURE_OCCURRENCE,modifier_source_value,cdmDatatype,0,varchar(50),,, +DEVICE_EXPOSURE,device_exposure_id,cdmDatatype,0,bigint,,, +DEVICE_EXPOSURE,person_id,cdmDatatype,0,bigint,,, +DEVICE_EXPOSURE,device_concept_id,cdmDatatype,0,integer,,, +DEVICE_EXPOSURE,device_exposure_start_date,cdmDatatype,0,date,,, +DEVICE_EXPOSURE,device_exposure_start_datetime,cdmDatatype,0,datetime,,, +DEVICE_EXPOSURE,device_exposure_end_date,cdmDatatype,0,date,,, +DEVICE_EXPOSURE,device_exposure_end_datetime,cdmDatatype,0,datetime,,, +DEVICE_EXPOSURE,device_type_concept_id,cdmDatatype,0,integer,,, +DEVICE_EXPOSURE,unique_device_id,cdmDatatype,0,varchar(50),,, +DEVICE_EXPOSURE,quantity,cdmDatatype,0,integer,,, +DEVICE_EXPOSURE,provider_id,cdmDatatype,0,integer,,, +DEVICE_EXPOSURE,visit_occurrence_id,cdmDatatype,0,integer,,, +DEVICE_EXPOSURE,visit_detail_id,cdmDatatype,0,integer,,, +DEVICE_EXPOSURE,device_source_value,cdmDatatype,0,varchar(50),,, +DEVICE_EXPOSURE,device_source_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,measurement_id,cdmDatatype,0,integer,,, +MEASUREMENT,person_id,cdmDatatype,0,integer,,, +MEASUREMENT,measurement_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,measurement_date,cdmDatatype,0,date,,, +MEASUREMENT,measurement_datetime,cdmDatatype,0,datetime,,, +MEASUREMENT,measurement_time,cdmDatatype,0,varchar(10),,, +MEASUREMENT,measurement_type_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,operator_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,value_as_number,cdmDatatype,0,float,,, +MEASUREMENT,value_as_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,unit_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,range_low,cdmDatatype,0,float,,, +MEASUREMENT,range_high,cdmDatatype,0,float,,, +MEASUREMENT,provider_id,cdmDatatype,0,integer,,, +MEASUREMENT,visit_occurrence_id,cdmDatatype,0,integer,,, +MEASUREMENT,visit_detail_id,cdmDatatype,0,integer,,, +MEASUREMENT,measurement_source_value,cdmDatatype,0,varchar(50),,, +MEASUREMENT,measurement_source_concept_id,cdmDatatype,0,integer,,, +MEASUREMENT,unit_source_value,cdmDatatype,0,varchar(50),,, +MEASUREMENT,value_source_value,cdmDatatype,0,varchar(50),,, +VISIT_DETAIL,visit_detail_id,cdmDatatype,0,integer,,, +VISIT_DETAIL,person_id,cdmDatatype,0,integer,,, +VISIT_DETAIL,visit_detail_concept_id,cdmDatatype,0,integer,,, +VISIT_DETAIL,visit_detail_start_date,cdmDatatype,0,date,,, +VISIT_DETAIL,visit_detail_start_datetime,cdmDatatype,0,datetime,,, +VISIT_DETAIL,visit_detail_end_date,cdmDatatype,0,date,,, +VISIT_DETAIL,visit_detail_end_datetime,cdmDatatype,0,datetime,,, +VISIT_DETAIL,visit_detail_type_concept_id,cdmDatatype,0,Integer,,, +VISIT_DETAIL,provider_id,cdmDatatype,0,integer,,, +VISIT_DETAIL,care_site_id,cdmDatatype,0,integer,,, +VISIT_DETAIL,visit_detail_source_value,cdmDatatype,0,string(50),,, +VISIT_DETAIL,visit_detail_source_concept_id,cdmDatatype,0,Integer,,, +VISIT_DETAIL,admitting_source_value,cdmDatatype,0,Varchar(50),,, +VISIT_DETAIL,admitting_source_concept_id,cdmDatatype,0,Integer,,, +VISIT_DETAIL,discharge_to_source_value,cdmDatatype,0,Varchar(50),,, +VISIT_DETAIL,discharge_to_concept_id,cdmDatatype,0,Integer,,, +VISIT_DETAIL,preceding_visit_detail_id,cdmDatatype,0,Integer,,, +VISIT_DETAIL,visit_detail_parent_id,cdmDatatype,0,Integer,,, +VISIT_DETAIL,visit_occurrence_id,cdmDatatype,0,Integer,,, +NOTE,note_id,cdmDatatype,0,integer,,, +NOTE,person_id,cdmDatatype,0,integer,,, +NOTE,note_date,cdmDatatype,0,date,,, +NOTE,note_datetime,cdmDatatype,0,datetime,,, +NOTE,note_type_concept_id,cdmDatatype,0,integer,,, +NOTE,note_class_concept_id,cdmDatatype,0,integer,,, +NOTE,note_title,cdmDatatype,0,varchar(250),,, +NOTE,note_text,cdmDatatype,0,varchar(MAX),,, +NOTE,encoding_concept_id,cdmDatatype,0,integer,,, +NOTE,language_concept_id,cdmDatatype,0,integer,,, +NOTE,provider_id,cdmDatatype,0,integer,,, +NOTE,visit_occurrence_id,cdmDatatype,0,integer,,, +NOTE,visit_detail_id,cdmDatatype,0,integer,,, +NOTE,note_source_value,cdmDatatype,0,varchar(50),,, +NOTE_NLP,note_nlp_id,cdmDatatype,0,integer,,, +NOTE_NLP,note_id,cdmDatatype,0,integer,,, +NOTE_NLP,section_concept_id,cdmDatatype,0,integer,,, +NOTE_NLP,snippet,cdmDatatype,0,varchar(250),,, +NOTE_NLP,offset,cdmDatatype,0,varchar(50),,, +NOTE_NLP,lexical_variant,cdmDatatype,0,varchar(250),,, +NOTE_NLP,note_nlp_concept_id,cdmDatatype,0,integer,,, +NOTE_NLP,note_nlp_source_concept_id,cdmDatatype,0,integer,,, +NOTE_NLP,nlp_system,cdmDatatype,0,varchar(250),,, +NOTE_NLP,nlp_date,cdmDatatype,0,date,,, +NOTE_NLP,nlp_datetime,cdmDatatype,0,datetime,,, +NOTE_NLP,term_exists,cdmDatatype,0,varchar(1),,, +NOTE_NLP,term_temporal,cdmDatatype,0,varchar(50),,, +NOTE_NLP,term_modifiers,cdmDatatype,0,varchar(2000),,, +OBSERVATION,observation_id,cdmDatatype,0,integer,,, +OBSERVATION,person_id,cdmDatatype,0,integer,,, +OBSERVATION,observation_concept_id,cdmDatatype,0,integer,,, +OBSERVATION,observation_date,cdmDatatype,0,date,,, +OBSERVATION,observation_datetime,cdmDatatype,0,datetime,,, +OBSERVATION,observation_type_concept_id,cdmDatatype,0,integer,,, +OBSERVATION,value_as_number,cdmDatatype,0,float,,, +OBSERVATION,value_as_string,cdmDatatype,0,varchar(60),,, +OBSERVATION,value_as_concept_id,cdmDatatype,0,Integer,,, +OBSERVATION,qualifier_concept_id,cdmDatatype,0,integer,,, +OBSERVATION,unit_concept_id,cdmDatatype,0,integer,,, +OBSERVATION,provider_id,cdmDatatype,0,integer,,, +OBSERVATION,visit_occurrence_id,cdmDatatype,0,integer,,, +OBSERVATION,visit_detail_id,cdmDatatype,0,integer,,, +OBSERVATION,observation_source_value,cdmDatatype,0,varchar(50),,, +OBSERVATION,observation_source_concept_id,cdmDatatype,0,integer,,, +OBSERVATION,unit_source_value,cdmDatatype,0,varchar(50),,, +OBSERVATION,qualifier_source_value,cdmDatatype,0,varchar(50),,, +SPECIMEN,specimen_id,cdmDatatype,0,integer,,, +SPECIMEN,person_id,cdmDatatype,0,integer,,, +SPECIMEN,specimen_concept_id,cdmDatatype,0,integer,,, +SPECIMEN,specimen_type_concept_id,cdmDatatype,0,integer,,, +SPECIMEN,specimen_date,cdmDatatype,0,date,,, +SPECIMEN,specimen_datetime,cdmDatatype,0,datetime,,, +SPECIMEN,quantity,cdmDatatype,0,float,,, +SPECIMEN,unit_concept_id,cdmDatatype,0,integer,,, +SPECIMEN,anatomic_site_concept_id,cdmDatatype,0,integer,,, +SPECIMEN,disease_status_concept_id,cdmDatatype,0,integer,,, +SPECIMEN,specimen_source_id,cdmDatatype,0,varchar(50),,, +SPECIMEN,specimen_source_value,cdmDatatype,0,varchar(50),,, +SPECIMEN,unit_source_value,cdmDatatype,0,varchar(50),,, +SPECIMEN,anatomic_site_source_value,cdmDatatype,0,varchar(50),,, +SPECIMEN,disease_status_source_value,cdmDatatype,0,varchar(50),,, +FACT_RELATIONSHIP,domain_concept_id_1,cdmDatatype,0,integer,,, +FACT_RELATIONSHIP,fact_id_1,cdmDatatype,0,integer,,, +FACT_RELATIONSHIP,domain_concept_id_2,cdmDatatype,0,integer,,, +FACT_RELATIONSHIP,fact_id_2,cdmDatatype,0,integer,,, +FACT_RELATIONSHIP,relationship_concept_id,cdmDatatype,0,integer,,, +LOCATION,location_id,cdmDatatype,0,integer,,, +LOCATION,address_1,cdmDatatype,0,varchar(50),,, +LOCATION,address_2,cdmDatatype,0,varchar(50),,, +LOCATION,city,cdmDatatype,0,varchar(50),,, +LOCATION,state,cdmDatatype,0,varchar(2),,, +LOCATION,zip,cdmDatatype,0,varchar(9),,, +LOCATION,county,cdmDatatype,0,varchar(20),,, +LOCATION,location_source_value,cdmDatatype,0,varchar(50),,, +CARE_SITE,care_site_id,cdmDatatype,0,integer,,, +CARE_SITE,care_site_name,cdmDatatype,0,varchar(255),,, +CARE_SITE,place_of_service_concept_id,cdmDatatype,0,integer,,, +CARE_SITE,location_id,cdmDatatype,0,integer,,, +CARE_SITE,care_site_source_value,cdmDatatype,0,varchar(50),,, +CARE_SITE,place_of_service_source_value,cdmDatatype,0,varchar(50),,, +PROVIDER,provider_id,cdmDatatype,0,integer,,, +PROVIDER,provider_name,cdmDatatype,0,varchar(255),,, +PROVIDER,npi,cdmDatatype,0,varchar(20),,, +PROVIDER,dea,cdmDatatype,0,varchar(20),,, +PROVIDER,specialty_concept_id,cdmDatatype,0,integer,,, +PROVIDER,care_site_id,cdmDatatype,0,integer,,, +PROVIDER,year_of_birth,cdmDatatype,0,integer,,, +PROVIDER,gender_concept_id,cdmDatatype,0,integer,,, +PROVIDER,provider_source_value,cdmDatatype,0,varchar(50),,, +PROVIDER,specialty_source_value,cdmDatatype,0,varchar(50),,, +PROVIDER,specialty_source_concept_id,cdmDatatype,0,integer,,, +PROVIDER,gender_source_value,cdmDatatype,0,varchar(50),,, +PROVIDER,gender_source_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,payer_plan_period_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,person_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,payer_plan_period_start_date,cdmDatatype,0,date,,, +PAYER_PLAN_PERIOD,payer_plan_period_end_date,cdmDatatype,0,date,,, +PAYER_PLAN_PERIOD,payer_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,payer_source_value,cdmDatatype,0,varchar(50),,, +PAYER_PLAN_PERIOD,payer_source_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,plan_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,plan_source_value,cdmDatatype,0,varchar(50),,, +PAYER_PLAN_PERIOD,plan_source_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,sponsor_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,sponsor_source_value,cdmDatatype,0,varchar(50),,, +PAYER_PLAN_PERIOD,sponsor_source_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,family_source_value,cdmDatatype,0,varchar(50),,, +PAYER_PLAN_PERIOD,stop_reason_concept_id,cdmDatatype,0,integer,,, +PAYER_PLAN_PERIOD,stop_reason_source_value,cdmDatatype,0,varchar(50),,, +PAYER_PLAN_PERIOD,stop_reason_source_concept_id,cdmDatatype,0,integer,,, +COST,cost_id,cdmDatatype,0,INTEGER,,, +COST,cost_event_id,cdmDatatype,0,INTEGER,,, +COST,cost_domain_id,cdmDatatype,0,VARCHAR(20),,, +COST,cost_type_concept_id,cdmDatatype,0,integer,,, +COST,currency_concept_id,cdmDatatype,0,integer,,, +COST,total_charge,cdmDatatype,0,FLOAT,,, +COST,total_cost,cdmDatatype,0,FLOAT,,, +COST,total_paid,cdmDatatype,0,FLOAT,,, +COST,paid_by_payer,cdmDatatype,0,FLOAT,,, +COST,paid_by_patient,cdmDatatype,0,FLOAT,,, +COST,paid_patient_copay,cdmDatatype,0,FLOAT,,, +COST,paid_patient_coinsurance,cdmDatatype,0,FLOAT,,, +COST,paid_patient_deductible,cdmDatatype,0,FLOAT,,, +COST,paid_by_primary,cdmDatatype,0,FLOAT,,, +COST,paid_ingredient_cost,cdmDatatype,0,FLOAT,,, +COST,paid_dispensing_fee,cdmDatatype,0,FLOAT,,, +COST,payer_plan_period_id,cdmDatatype,0,INTEGER,,, +COST,amount_allowed,cdmDatatype,0,FLOAT,,, +COST,revenue_code_concept_id,cdmDatatype,0,integer,,, +COST,revenue_code_source_value,cdmDatatype,0,VARCHAR(50),,, +COST,drg_concept_id,cdmDatatype,0,integer,,, +COST,drg_source_value,cdmDatatype,0,VARCHAR(3),,, +DRUG_ERA,drug_era_id,cdmDatatype,0,integer,,, +DRUG_ERA,person_id,cdmDatatype,0,integer,,, +DRUG_ERA,drug_concept_id,cdmDatatype,0,integer,,, +DRUG_ERA,drug_era_start_date,cdmDatatype,0,datetime,,, +DRUG_ERA,drug_era_end_date,cdmDatatype,0,datetime,,, +DRUG_ERA,drug_exposure_count,cdmDatatype,0,integer,,, +DRUG_ERA,gap_days,cdmDatatype,0,integer,,, +DOSE_ERA,dose_era_id,cdmDatatype,0,integer,,, +DOSE_ERA,person_id,cdmDatatype,0,integer,,, +DOSE_ERA,drug_concept_id,cdmDatatype,0,integer,,, +DOSE_ERA,unit_concept_id,cdmDatatype,0,integer,,, +DOSE_ERA,dose_value,cdmDatatype,0,float,,, +DOSE_ERA,dose_era_start_date,cdmDatatype,0,datetime,,, +DOSE_ERA,dose_era_end_date,cdmDatatype,0,datetime,,, +CONDITION_ERA,condition_era_id,cdmDatatype,0,integer,,, +CONDITION_ERA,person_id,cdmDatatype,0,integer,,, +CONDITION_ERA,condition_concept_id,cdmDatatype,0,integer,,, +CONDITION_ERA,condition_era_start_date,cdmDatatype,0,datetime,,, +CONDITION_ERA,condition_era_end_date,cdmDatatype,0,datetime,,, +CONDITION_ERA,condition_occurrence_count,cdmDatatype,0,integer,,, +DEATH,cause_concept_id,cdmDatatype,0,integer,,, +DEATH,cause_source_concept_id,cdmDatatype,0,integer,,, +DEATH,cause_source_value,cdmDatatype,0,varchar(50),,, +DEATH,death_date,cdmDatatype,0,date,,, +DEATH,death_datetime,cdmDatatype,0,datetime,,, +DEATH,death_type_concept_id,cdmDatatype,0,integer,,, +DEATH,person_id,cdmDatatype,0,integer,,, +PERSON,person_id,isPrimaryKey,0,,,, +OBSERVATION_PERIOD,observation_period_id,isPrimaryKey,0,,,, +VISIT_OCCURRENCE,visit_occurrence_id,isPrimaryKey,0,,,, +CONDITION_OCCURRENCE,condition_occurrence_id,isPrimaryKey,0,,,, +DRUG_EXPOSURE,drug_exposure_id,isPrimaryKey,0,,,, +PROCEDURE_OCCURRENCE,procedure_occurrence_id,isPrimaryKey,0,,,, +DEVICE_EXPOSURE,device_exposure_id,isPrimaryKey,0,,,, +MEASUREMENT,measurement_id,isPrimaryKey,0,,,, +VISIT_DETAIL,visit_detail_id,isPrimaryKey,0,,,, +NOTE,note_id,isPrimaryKey,0,,,, +NOTE_NLP,note_nlp_id,isPrimaryKey,0,,,, +OBSERVATION,observation_id,isPrimaryKey,0,,,, +SPECIMEN,specimen_id,isPrimaryKey,0,,,, +LOCATION,location_id,isPrimaryKey,0,,,, +CARE_SITE,care_site_id,isPrimaryKey,0,,,, +PROVIDER,provider_id,isPrimaryKey,0,,,, +PAYER_PLAN_PERIOD,payer_plan_period_id,isPrimaryKey,0,,,, +COST,cost_id,isPrimaryKey,0,,,, +DRUG_ERA,drug_era_id,isPrimaryKey,0,,,, +DOSE_ERA,dose_era_id,isPrimaryKey,0,,,, +CONDITION_ERA,condition_era_id,isPrimaryKey,0,,,, +PERSON,gender_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PERSON,race_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PERSON,ethnicity_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PERSON,location_id,isForeignKey,0,,LOCATION,LOCATION_ID, +PERSON,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +PERSON,care_site_id,isForeignKey,0,,CARE_SITE,CARE_SITE_ID, +PERSON,gender_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PERSON,race_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PERSON,ethnicity_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION_PERIOD,person_id,isForeignKey,0,,PERSON,PERSON_ID, +OBSERVATION_PERIOD,period_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_OCCURRENCE,person_id,isForeignKey,0,,PERSON,PERSON_ID, +VISIT_OCCURRENCE,visit_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_OCCURRENCE,visit_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_OCCURRENCE,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +VISIT_OCCURRENCE,care_site_id,isForeignKey,0,,CARE_SITE,CARE_SITE_ID, +VISIT_OCCURRENCE,visit_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_OCCURRENCE,admitting_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_OCCURRENCE,discharge_to_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_OCCURRENCE,preceding_visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +CONDITION_OCCURRENCE,person_id,isForeignKey,0,,PERSON,PERSON_ID, +CONDITION_OCCURRENCE,condition_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +CONDITION_OCCURRENCE,condition_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +CONDITION_OCCURRENCE,condition_status_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +CONDITION_OCCURRENCE,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +CONDITION_OCCURRENCE,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +CONDITION_OCCURRENCE,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +CONDITION_OCCURRENCE,condition_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DRUG_EXPOSURE,person_id,isForeignKey,0,,PERSON,PERSON_ID, +DRUG_EXPOSURE,drug_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DRUG_EXPOSURE,drug_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DRUG_EXPOSURE,route_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DRUG_EXPOSURE,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +DRUG_EXPOSURE,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +DRUG_EXPOSURE,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +DRUG_EXPOSURE,drug_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROCEDURE_OCCURRENCE,person_id,isForeignKey,0,,PERSON,PERSON_ID, +PROCEDURE_OCCURRENCE,procedure_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROCEDURE_OCCURRENCE,modifier_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROCEDURE_OCCURRENCE,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +PROCEDURE_OCCURRENCE,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +PROCEDURE_OCCURRENCE,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +PROCEDURE_OCCURRENCE,procedure_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEVICE_EXPOSURE,person_id,isForeignKey,0,,PERSON,PERSON_ID, +DEVICE_EXPOSURE,device_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEVICE_EXPOSURE,device_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEVICE_EXPOSURE,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +DEVICE_EXPOSURE,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +DEVICE_EXPOSURE,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +DEVICE_EXPOSURE,device_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +MEASUREMENT,person_id,isForeignKey,0,,PERSON,PERSON_ID, +MEASUREMENT,measurement_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +MEASUREMENT,measurement_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +MEASUREMENT,operator_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +MEASUREMENT,value_as_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +MEASUREMENT,unit_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +MEASUREMENT,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +MEASUREMENT,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +MEASUREMENT,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +MEASUREMENT,measurement_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_DETAIL,person_id,isForeignKey,0,,PERSON,PERSON_ID, +VISIT_DETAIL,visit_detail_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_DETAIL,visit_detail_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_DETAIL,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +VISIT_DETAIL,care_site_id,isForeignKey,0,,CARE_SITE,CARE_SITE_ID, +VISIT_DETAIL,visit_detail_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_DETAIL,admitting_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_DETAIL,discharge_to_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +VISIT_DETAIL,preceding_visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +VISIT_DETAIL,visit_detail_parent_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +VISIT_DETAIL,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +NOTE,person_id,isForeignKey,0,,PERSON,PERSON_ID, +NOTE,note_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +NOTE,note_class_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +NOTE,encoding_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +NOTE,language_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +NOTE,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +NOTE,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +NOTE,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +NOTE_NLP,note_id,isForeignKey,0,,NOTE,NOTE_ID, +NOTE_NLP,section_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +NOTE_NLP,note_nlp_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +NOTE_NLP,note_nlp_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION,person_id,isForeignKey,0,,PERSON,PERSON_ID, +OBSERVATION,observation_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION,observation_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION,value_as_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION,qualifier_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION,unit_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +OBSERVATION,provider_id,isForeignKey,0,,PROVIDER,PROVIDER_ID, +OBSERVATION,visit_occurrence_id,isForeignKey,0,,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID, +OBSERVATION,visit_detail_id,isForeignKey,0,,VISIT_DETAIL,VISIT_DETAIL_ID, +OBSERVATION,observation_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +SPECIMEN,person_id,isForeignKey,0,,PERSON,PERSON_ID, +SPECIMEN,specimen_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +SPECIMEN,specimen_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +SPECIMEN,unit_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +SPECIMEN,anatomic_site_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +SPECIMEN,disease_status_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +FACT_RELATIONSHIP,domain_concept_id_1,isForeignKey,0,,CONCEPT,CONCEPT_ID, +FACT_RELATIONSHIP,domain_concept_id_2,isForeignKey,0,,CONCEPT,CONCEPT_ID, +FACT_RELATIONSHIP,relationship_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +CARE_SITE,place_of_service_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +CARE_SITE,location_id,isForeignKey,0,,LOCATION,LOCATION_ID, +PROVIDER,specialty_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROVIDER,care_site_id,isForeignKey,0,,CARE_SITE,CARE_SITE_ID, +PROVIDER,gender_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROVIDER,specialty_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PROVIDER,gender_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,person_id,isForeignKey,0,,PERSON,PERSON_ID, +PAYER_PLAN_PERIOD,payer_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,payer_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,plan_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,plan_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,sponsor_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,sponsor_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,stop_reason_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +PAYER_PLAN_PERIOD,stop_reason_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +COST,cost_domain_id,isForeignKey,0,,DOMAIN,DOMAIN_ID, +COST,cost_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +COST,currency_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +COST,payer_plan_period_id,isForeignKey,0,,PAYER_PLAN_PERIOD,PAYER_PLAN_PERIOD_ID, +COST,revenue_code_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +COST,drg_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DRUG_ERA,person_id,isForeignKey,0,,PERSON,PERSON_ID, +DRUG_ERA,drug_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DOSE_ERA,person_id,isForeignKey,0,,PERSON,PERSON_ID, +DOSE_ERA,drug_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DOSE_ERA,unit_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +CONDITION_ERA,person_id,isForeignKey,0,,PERSON,PERSON_ID, +CONDITION_ERA,condition_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEATH,cause_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEATH,cause_source_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEATH,death_type_concept_id,isForeignKey,0,,CONCEPT,CONCEPT_ID, +DEATH,person_id,isForeignKey,0,,PERSON,PERSON_ID, +PERSON,gender_concept_id,fkDomain,0,Gender,,, +PERSON,race_concept_id,fkDomain,0,Race,,, +PERSON,ethnicity_concept_id,fkDomain,0,Ethnicity,,, +OBSERVATION_PERIOD,period_type_concept_id,fkDomain,0,Type Concept,,, +VISIT_OCCURRENCE,visit_concept_id,fkDomain,0,Visit,,, +VISIT_OCCURRENCE,visit_type_concept_id,fkDomain,0,Type Concept,,, +VISIT_OCCURRENCE,admitting_source_concept_id,fkDomain,0,Visit,,, +VISIT_OCCURRENCE,discharge_to_concept_id,fkDomain,0,Visit,,, +CONDITION_OCCURRENCE,condition_concept_id,fkDomain,0,Condition,,, +CONDITION_OCCURRENCE,condition_type_concept_id,fkDomain,0,Type Concept,,, +DRUG_EXPOSURE,drug_concept_id,fkDomain,0,Drug,,, +DRUG_EXPOSURE,drug_type_concept_id,fkDomain,0,Type Concept,,, +DRUG_EXPOSURE,route_concept_id,fkDomain,0,Route,,, +PROCEDURE_OCCURRENCE,procedure_concept_id,fkDomain,0,Procedure,,, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,fkDomain,0,Type Concept,,, +DEVICE_EXPOSURE,device_concept_id,fkDomain,0,Device,,, +DEVICE_EXPOSURE,device_type_concept_id,fkDomain,0,Type Concept,,, +MEASUREMENT,measurement_concept_id,fkDomain,0,Measurement,,, +MEASUREMENT,measurement_type_concept_id,fkDomain,0,Type Concept,,, +MEASUREMENT,unit_concept_id,fkDomain,0,Unit,,, +VISIT_DETAIL,visit_detail_concept_id,fkDomain,0,Visit,,, +VISIT_DETAIL,visit_detail_type_concept_id,fkDomain,0,Type Concept,,, +NOTE,note_type_concept_id,fkDomain,0,Type Concept,,, +OBSERVATION,observation_type_concept_id,fkDomain,0,Type Concept,,, +OBSERVATION,unit_concept_id,fkDomain,0,Unit,,, +SPECIMEN,specimen_type_concept_id,fkDomain,0,Type Concept,,, +PROVIDER,gender_concept_id,fkDomain,0,Gender,,, +DRUG_ERA,drug_concept_id,fkDomain,0,Drug,,, +DOSE_ERA,drug_concept_id,fkDomain,0,Drug,,, +DOSE_ERA,unit_concept_id,fkDomain,0,Unit,,, +CONDITION_ERA,condition_concept_id,fkDomain,0,Condition,,, +DEATH,death_type_concept_id,fkDomain,0,Type Concept,,, +DRUG_ERA,drug_concept_id,fkClass,0,Ingredient,,, +DOSE_ERA,drug_concept_id,fkClass,0,Ingredient,,, +PERSON,gender_concept_id,isStandardValidConcept,0,,,, +PERSON,race_concept_id,isStandardValidConcept,0,,,, +PERSON,ethnicity_concept_id,isStandardValidConcept,0,,,, +OBSERVATION_PERIOD,period_type_concept_id,isStandardValidConcept,0,,,, +VISIT_OCCURRENCE,visit_concept_id,isStandardValidConcept,0,,,, +VISIT_OCCURRENCE,visit_type_concept_id,isStandardValidConcept,0,,,, +VISIT_OCCURRENCE,admitting_source_concept_id,isStandardValidConcept,0,,,, +VISIT_OCCURRENCE,discharge_to_concept_id,isStandardValidConcept,0,,,, +CONDITION_OCCURRENCE,condition_concept_id,isStandardValidConcept,0,,,, +CONDITION_OCCURRENCE,condition_type_concept_id,isStandardValidConcept,0,,,, +CONDITION_OCCURRENCE,condition_status_concept_id,isStandardValidConcept,0,,,, +DRUG_EXPOSURE,drug_concept_id,isStandardValidConcept,0,,,, +DRUG_EXPOSURE,drug_type_concept_id,isStandardValidConcept,0,,,, +DRUG_EXPOSURE,route_concept_id,isStandardValidConcept,0,,,, +PROCEDURE_OCCURRENCE,procedure_concept_id,isStandardValidConcept,0,,,, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,isStandardValidConcept,0,,,, +PROCEDURE_OCCURRENCE,modifier_concept_id,isStandardValidConcept,0,,,, +DEVICE_EXPOSURE,device_concept_id,isStandardValidConcept,0,,,, +DEVICE_EXPOSURE,device_type_concept_id,isStandardValidConcept,0,,,, +MEASUREMENT,measurement_concept_id,isStandardValidConcept,0,,,, +MEASUREMENT,measurement_type_concept_id,isStandardValidConcept,0,,,, +MEASUREMENT,operator_concept_id,isStandardValidConcept,0,,,, +MEASUREMENT,unit_concept_id,isStandardValidConcept,0,,,, +VISIT_DETAIL,visit_detail_concept_id,isStandardValidConcept,0,,,, +VISIT_DETAIL,visit_detail_type_concept_id,isStandardValidConcept,0,,,, +VISIT_DETAIL,admitting_source_concept_id,isStandardValidConcept,0,,,, +VISIT_DETAIL,discharge_to_concept_id,isStandardValidConcept,0,,,, +NOTE,note_type_concept_id,isStandardValidConcept,0,,,, +NOTE,note_class_concept_id,isStandardValidConcept,0,,,, +NOTE,encoding_concept_id,isStandardValidConcept,0,,,, +NOTE,language_concept_id,isStandardValidConcept,0,,,, +NOTE_NLP,section_concept_id,isStandardValidConcept,0,,,, +NOTE_NLP,note_nlp_concept_id,isStandardValidConcept,0,,,, +OBSERVATION,observation_concept_id,isStandardValidConcept,0,,,, +OBSERVATION,observation_type_concept_id,isStandardValidConcept,0,,,, +OBSERVATION,qualifier_concept_id,isStandardValidConcept,0,,,, +OBSERVATION,unit_concept_id,isStandardValidConcept,0,,,, +SPECIMEN,specimen_concept_id,isStandardValidConcept,0,,,, +SPECIMEN,specimen_type_concept_id,isStandardValidConcept,0,,,, +SPECIMEN,unit_concept_id,isStandardValidConcept,0,,,, +SPECIMEN,anatomic_site_concept_id,isStandardValidConcept,0,,,, +SPECIMEN,disease_status_concept_id,isStandardValidConcept,0,,,, +CARE_SITE,place_of_service_concept_id,isStandardValidConcept,0,,,, +PROVIDER,specialty_concept_id,isStandardValidConcept,0,,,, +PROVIDER,gender_concept_id,isStandardValidConcept,0,,,, +COST,cost_type_concept_id,isStandardValidConcept,0,,,, +DRUG_ERA,drug_concept_id,isStandardValidConcept,0,,,, +DOSE_ERA,drug_concept_id,isStandardValidConcept,0,,,, +DOSE_ERA,unit_concept_id,isStandardValidConcept,0,,,, +CONDITION_ERA,condition_concept_id,isStandardValidConcept,0,,,, +DEATH,cause_concept_id,isStandardValidConcept,0,,,, +DEATH,death_type_concept_id,isStandardValidConcept,0,,,, +PERSON,person_id,measureValueCompleteness,0,,,, +PERSON,gender_concept_id,measureValueCompleteness,0,,,, +PERSON,year_of_birth,measureValueCompleteness,0,,,, +PERSON,month_of_birth,measureValueCompleteness,100,,,, +PERSON,day_of_birth,measureValueCompleteness,100,,,, +PERSON,birth_datetime,measureValueCompleteness,100,,,, +PERSON,race_concept_id,measureValueCompleteness,0,,,, +PERSON,ethnicity_concept_id,measureValueCompleteness,0,,,, +PERSON,location_id,measureValueCompleteness,100,,,, +PERSON,provider_id,measureValueCompleteness,100,,,, +PERSON,care_site_id,measureValueCompleteness,100,,,, +PERSON,person_source_value,measureValueCompleteness,100,,,, +PERSON,gender_source_value,measureValueCompleteness,100,,,, +PERSON,gender_source_concept_id,measureValueCompleteness,100,,,, +PERSON,race_source_value,measureValueCompleteness,100,,,, +PERSON,race_source_concept_id,measureValueCompleteness,100,,,, +PERSON,ethnicity_source_value,measureValueCompleteness,100,,,, +PERSON,ethnicity_source_concept_id,measureValueCompleteness,100,,,, +OBSERVATION_PERIOD,observation_period_id,measureValueCompleteness,0,,,, +OBSERVATION_PERIOD,person_id,measureValueCompleteness,0,,,, +OBSERVATION_PERIOD,observation_period_start_date,measureValueCompleteness,0,,,, +OBSERVATION_PERIOD,observation_period_end_date,measureValueCompleteness,0,,,, +OBSERVATION_PERIOD,period_type_concept_id,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,visit_occurrence_id,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,person_id,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,visit_concept_id,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,visit_start_date,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,visit_start_datetime,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,visit_end_date,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,visit_end_datetime,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,visit_type_concept_id,measureValueCompleteness,0,,,, +VISIT_OCCURRENCE,provider_id,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,care_site_id,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,visit_source_value,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,visit_source_concept_id,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,admitting_source_concept_id,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,admitting_source_value,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,discharge_to_concept_id,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,discharge_to_source_value,measureValueCompleteness,100,,,, +VISIT_OCCURRENCE,preceding_visit_occurrence_id,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_occurrence_id,measureValueCompleteness,0,,,, +CONDITION_OCCURRENCE,person_id,measureValueCompleteness,0,,,, +CONDITION_OCCURRENCE,condition_concept_id,measureValueCompleteness,0,,,, +CONDITION_OCCURRENCE,condition_start_date,measureValueCompleteness,0,,,, +CONDITION_OCCURRENCE,condition_start_datetime,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_end_date,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_end_datetime,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_type_concept_id,measureValueCompleteness,0,,,, +CONDITION_OCCURRENCE,condition_status_concept_id,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,stop_reason,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,provider_id,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,visit_occurrence_id,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,visit_detail_id,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_source_value,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_source_concept_id,measureValueCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_status_source_value,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,drug_exposure_id,measureValueCompleteness,0,,,, +DRUG_EXPOSURE,person_id,measureValueCompleteness,0,,,, +DRUG_EXPOSURE,drug_concept_id,measureValueCompleteness,0,,,, +DRUG_EXPOSURE,drug_exposure_start_date,measureValueCompleteness,0,,,, +DRUG_EXPOSURE,drug_exposure_start_datetime,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,drug_exposure_end_date,measureValueCompleteness,0,,,, +DRUG_EXPOSURE,drug_exposure_end_datetime,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,verbatim_end_date,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,drug_type_concept_id,measureValueCompleteness,0,,,, +DRUG_EXPOSURE,stop_reason,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,refills,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,quantity,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,days_supply,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,sig,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,route_concept_id,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,lot_number,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,provider_id,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,visit_occurrence_id,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,visit_detail_id,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,drug_source_value,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,drug_source_concept_id,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,route_source_value,measureValueCompleteness,100,,,, +DRUG_EXPOSURE,dose_unit_source_value,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,procedure_occurrence_id,measureValueCompleteness,0,,,, +PROCEDURE_OCCURRENCE,person_id,measureValueCompleteness,0,,,, +PROCEDURE_OCCURRENCE,procedure_concept_id,measureValueCompleteness,0,,,, +PROCEDURE_OCCURRENCE,procedure_date,measureValueCompleteness,0,,,, +PROCEDURE_OCCURRENCE,procedure_datetime,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,measureValueCompleteness,0,,,, +PROCEDURE_OCCURRENCE,modifier_concept_id,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,quantity,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,provider_id,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,visit_occurrence_id,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,visit_detail_id,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,procedure_source_value,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,procedure_source_concept_id,measureValueCompleteness,100,,,, +PROCEDURE_OCCURRENCE,modifier_source_value,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,device_exposure_id,measureValueCompleteness,0,,,, +DEVICE_EXPOSURE,person_id,measureValueCompleteness,0,,,, +DEVICE_EXPOSURE,device_concept_id,measureValueCompleteness,0,,,, +DEVICE_EXPOSURE,device_exposure_start_date,measureValueCompleteness,0,,,, +DEVICE_EXPOSURE,device_exposure_start_datetime,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,device_exposure_end_date,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,device_exposure_end_datetime,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,device_type_concept_id,measureValueCompleteness,0,,,, +DEVICE_EXPOSURE,unique_device_id,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,quantity,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,provider_id,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,visit_occurrence_id,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,visit_detail_id,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,device_source_value,measureValueCompleteness,100,,,, +DEVICE_EXPOSURE,device_source_concept_id,measureValueCompleteness,100,,,, +MEASUREMENT,measurement_id,measureValueCompleteness,0,,,, +MEASUREMENT,person_id,measureValueCompleteness,0,,,, +MEASUREMENT,measurement_concept_id,measureValueCompleteness,0,,,, +MEASUREMENT,measurement_date,measureValueCompleteness,0,,,, +MEASUREMENT,measurement_datetime,measureValueCompleteness,100,,,, +MEASUREMENT,measurement_time,measureValueCompleteness,100,,,, +MEASUREMENT,measurement_type_concept_id,measureValueCompleteness,0,,,, +MEASUREMENT,operator_concept_id,measureValueCompleteness,100,,,, +MEASUREMENT,value_as_number,measureValueCompleteness,100,,,, +MEASUREMENT,value_as_concept_id,measureValueCompleteness,100,,,, +MEASUREMENT,unit_concept_id,measureValueCompleteness,100,,,, +MEASUREMENT,range_low,measureValueCompleteness,100,,,, +MEASUREMENT,range_high,measureValueCompleteness,100,,,, +MEASUREMENT,provider_id,measureValueCompleteness,100,,,, +MEASUREMENT,visit_occurrence_id,measureValueCompleteness,100,,,, +MEASUREMENT,visit_detail_id,measureValueCompleteness,100,,,, +MEASUREMENT,measurement_source_value,measureValueCompleteness,100,,,, +MEASUREMENT,measurement_source_concept_id,measureValueCompleteness,100,,,, +MEASUREMENT,unit_source_value,measureValueCompleteness,100,,,, +MEASUREMENT,value_source_value,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_detail_id,measureValueCompleteness,0,,,, +VISIT_DETAIL,person_id,measureValueCompleteness,0,,,, +VISIT_DETAIL,visit_detail_concept_id,measureValueCompleteness,0,,,, +VISIT_DETAIL,visit_detail_start_date,measureValueCompleteness,0,,,, +VISIT_DETAIL,visit_detail_start_datetime,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_detail_end_date,measureValueCompleteness,0,,,, +VISIT_DETAIL,visit_detail_end_datetime,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_detail_type_concept_id,measureValueCompleteness,0,,,, +VISIT_DETAIL,provider_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,care_site_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_detail_source_value,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_detail_source_concept_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,admitting_source_value,measureValueCompleteness,100,,,, +VISIT_DETAIL,admitting_source_concept_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,discharge_to_source_value,measureValueCompleteness,100,,,, +VISIT_DETAIL,discharge_to_concept_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,preceding_visit_detail_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_detail_parent_id,measureValueCompleteness,100,,,, +VISIT_DETAIL,visit_occurrence_id,measureValueCompleteness,0,,,, +NOTE,note_id,measureValueCompleteness,0,,,, +NOTE,person_id,measureValueCompleteness,0,,,, +NOTE,note_date,measureValueCompleteness,0,,,, +NOTE,note_datetime,measureValueCompleteness,100,,,, +NOTE,note_type_concept_id,measureValueCompleteness,0,,,, +NOTE,note_class_concept_id,measureValueCompleteness,0,,,, +NOTE,note_title,measureValueCompleteness,100,,,, +NOTE,note_text,measureValueCompleteness,0,,,, +NOTE,encoding_concept_id,measureValueCompleteness,0,,,, +NOTE,language_concept_id,measureValueCompleteness,0,,,, +NOTE,provider_id,measureValueCompleteness,100,,,, +NOTE,visit_occurrence_id,measureValueCompleteness,100,,,, +NOTE,visit_detail_id,measureValueCompleteness,100,,,, +NOTE,note_source_value,measureValueCompleteness,100,,,, +NOTE_NLP,note_nlp_id,measureValueCompleteness,0,,,, +NOTE_NLP,note_id,measureValueCompleteness,0,,,, +NOTE_NLP,section_concept_id,measureValueCompleteness,100,,,, +NOTE_NLP,snippet,measureValueCompleteness,100,,,, +NOTE_NLP,offset,measureValueCompleteness,100,,,, +NOTE_NLP,lexical_variant,measureValueCompleteness,0,,,, +NOTE_NLP,note_nlp_concept_id,measureValueCompleteness,100,,,, +NOTE_NLP,note_nlp_source_concept_id,measureValueCompleteness,100,,,, +NOTE_NLP,nlp_system,measureValueCompleteness,100,,,, +NOTE_NLP,nlp_date,measureValueCompleteness,0,,,, +NOTE_NLP,nlp_datetime,measureValueCompleteness,100,,,, +NOTE_NLP,term_exists,measureValueCompleteness,100,,,, +NOTE_NLP,term_temporal,measureValueCompleteness,100,,,, +NOTE_NLP,term_modifiers,measureValueCompleteness,100,,,, +OBSERVATION,observation_id,measureValueCompleteness,0,,,, +OBSERVATION,person_id,measureValueCompleteness,0,,,, +OBSERVATION,observation_concept_id,measureValueCompleteness,0,,,, +OBSERVATION,observation_date,measureValueCompleteness,0,,,, +OBSERVATION,observation_datetime,measureValueCompleteness,100,,,, +OBSERVATION,observation_type_concept_id,measureValueCompleteness,0,,,, +OBSERVATION,value_as_number,measureValueCompleteness,100,,,, +OBSERVATION,value_as_string,measureValueCompleteness,100,,,, +OBSERVATION,value_as_concept_id,measureValueCompleteness,100,,,, +OBSERVATION,qualifier_concept_id,measureValueCompleteness,100,,,, +OBSERVATION,unit_concept_id,measureValueCompleteness,100,,,, +OBSERVATION,provider_id,measureValueCompleteness,100,,,, +OBSERVATION,visit_occurrence_id,measureValueCompleteness,100,,,, +OBSERVATION,visit_detail_id,measureValueCompleteness,100,,,, +OBSERVATION,observation_source_value,measureValueCompleteness,100,,,, +OBSERVATION,observation_source_concept_id,measureValueCompleteness,100,,,, +OBSERVATION,unit_source_value,measureValueCompleteness,100,,,, +OBSERVATION,qualifier_source_value,measureValueCompleteness,100,,,, +SPECIMEN,specimen_id,measureValueCompleteness,0,,,, +SPECIMEN,person_id,measureValueCompleteness,0,,,, +SPECIMEN,specimen_concept_id,measureValueCompleteness,0,,,, +SPECIMEN,specimen_type_concept_id,measureValueCompleteness,0,,,, +SPECIMEN,specimen_date,measureValueCompleteness,0,,,, +SPECIMEN,specimen_datetime,measureValueCompleteness,100,,,, +SPECIMEN,quantity,measureValueCompleteness,100,,,, +SPECIMEN,unit_concept_id,measureValueCompleteness,100,,,, +SPECIMEN,anatomic_site_concept_id,measureValueCompleteness,100,,,, +SPECIMEN,disease_status_concept_id,measureValueCompleteness,100,,,, +SPECIMEN,specimen_source_id,measureValueCompleteness,100,,,, +SPECIMEN,specimen_source_value,measureValueCompleteness,100,,,, +SPECIMEN,unit_source_value,measureValueCompleteness,100,,,, +SPECIMEN,anatomic_site_source_value,measureValueCompleteness,100,,,, +SPECIMEN,disease_status_source_value,measureValueCompleteness,100,,,, +FACT_RELATIONSHIP,domain_concept_id_1,measureValueCompleteness,0,,,, +FACT_RELATIONSHIP,fact_id_1,measureValueCompleteness,0,,,, +FACT_RELATIONSHIP,domain_concept_id_2,measureValueCompleteness,0,,,, +FACT_RELATIONSHIP,fact_id_2,measureValueCompleteness,0,,,, +FACT_RELATIONSHIP,relationship_concept_id,measureValueCompleteness,0,,,, +LOCATION,location_id,measureValueCompleteness,0,,,, +LOCATION,address_1,measureValueCompleteness,100,,,, +LOCATION,address_2,measureValueCompleteness,100,,,, +LOCATION,city,measureValueCompleteness,100,,,, +LOCATION,state,measureValueCompleteness,100,,,, +LOCATION,zip,measureValueCompleteness,100,,,, +LOCATION,county,measureValueCompleteness,100,,,, +LOCATION,location_source_value,measureValueCompleteness,100,,,, +CARE_SITE,care_site_id,measureValueCompleteness,0,,,, +CARE_SITE,care_site_name,measureValueCompleteness,100,,,, +CARE_SITE,place_of_service_concept_id,measureValueCompleteness,100,,,, +CARE_SITE,location_id,measureValueCompleteness,100,,,, +CARE_SITE,care_site_source_value,measureValueCompleteness,100,,,, +CARE_SITE,place_of_service_source_value,measureValueCompleteness,100,,,, +PROVIDER,provider_id,measureValueCompleteness,0,,,, +PROVIDER,provider_name,measureValueCompleteness,100,,,, +PROVIDER,npi,measureValueCompleteness,100,,,, +PROVIDER,dea,measureValueCompleteness,100,,,, +PROVIDER,specialty_concept_id,measureValueCompleteness,100,,,, +PROVIDER,care_site_id,measureValueCompleteness,100,,,, +PROVIDER,year_of_birth,measureValueCompleteness,100,,,, +PROVIDER,gender_concept_id,measureValueCompleteness,100,,,, +PROVIDER,provider_source_value,measureValueCompleteness,100,,,, +PROVIDER,specialty_source_value,measureValueCompleteness,100,,,, +PROVIDER,specialty_source_concept_id,measureValueCompleteness,100,,,, +PROVIDER,gender_source_value,measureValueCompleteness,100,,,, +PROVIDER,gender_source_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,payer_plan_period_id,measureValueCompleteness,0,,,, +PAYER_PLAN_PERIOD,person_id,measureValueCompleteness,0,,,, +PAYER_PLAN_PERIOD,payer_plan_period_start_date,measureValueCompleteness,0,,,, +PAYER_PLAN_PERIOD,payer_plan_period_end_date,measureValueCompleteness,0,,,, +PAYER_PLAN_PERIOD,payer_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,payer_source_value,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,payer_source_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,plan_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,plan_source_value,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,plan_source_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,sponsor_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,sponsor_source_value,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,sponsor_source_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,family_source_value,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,stop_reason_concept_id,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,stop_reason_source_value,measureValueCompleteness,100,,,, +PAYER_PLAN_PERIOD,stop_reason_source_concept_id,measureValueCompleteness,100,,,, +COST,cost_id,measureValueCompleteness,0,,,, +COST,cost_event_id,measureValueCompleteness,0,,,, +COST,cost_domain_id,measureValueCompleteness,0,,,, +COST,cost_type_concept_id,measureValueCompleteness,0,,,, +COST,currency_concept_id,measureValueCompleteness,100,,,, +COST,total_charge,measureValueCompleteness,100,,,, +COST,total_cost,measureValueCompleteness,100,,,, +COST,total_paid,measureValueCompleteness,100,,,, +COST,paid_by_payer,measureValueCompleteness,100,,,, +COST,paid_by_patient,measureValueCompleteness,100,,,, +COST,paid_patient_copay,measureValueCompleteness,100,,,, +COST,paid_patient_coinsurance,measureValueCompleteness,100,,,, +COST,paid_patient_deductible,measureValueCompleteness,100,,,, +COST,paid_by_primary,measureValueCompleteness,100,,,, +COST,paid_ingredient_cost,measureValueCompleteness,100,,,, +COST,paid_dispensing_fee,measureValueCompleteness,100,,,, +COST,payer_plan_period_id,measureValueCompleteness,100,,,, +COST,amount_allowed,measureValueCompleteness,100,,,, +COST,revenue_code_concept_id,measureValueCompleteness,100,,,, +COST,revenue_code_source_value,measureValueCompleteness,100,,,, +COST,drg_concept_id,measureValueCompleteness,100,,,, +COST,drg_source_value,measureValueCompleteness,100,,,, +DRUG_ERA,drug_era_id,measureValueCompleteness,0,,,, +DRUG_ERA,person_id,measureValueCompleteness,0,,,, +DRUG_ERA,drug_concept_id,measureValueCompleteness,0,,,, +DRUG_ERA,drug_era_start_date,measureValueCompleteness,0,,,, +DRUG_ERA,drug_era_end_date,measureValueCompleteness,0,,,, +DRUG_ERA,drug_exposure_count,measureValueCompleteness,100,,,, +DRUG_ERA,gap_days,measureValueCompleteness,100,,,, +DOSE_ERA,dose_era_id,measureValueCompleteness,0,,,, +DOSE_ERA,person_id,measureValueCompleteness,0,,,, +DOSE_ERA,drug_concept_id,measureValueCompleteness,0,,,, +DOSE_ERA,unit_concept_id,measureValueCompleteness,0,,,, +DOSE_ERA,dose_value,measureValueCompleteness,0,,,, +DOSE_ERA,dose_era_start_date,measureValueCompleteness,0,,,, +DOSE_ERA,dose_era_end_date,measureValueCompleteness,0,,,, +CONDITION_ERA,condition_era_id,measureValueCompleteness,0,,,, +CONDITION_ERA,person_id,measureValueCompleteness,0,,,, +CONDITION_ERA,condition_concept_id,measureValueCompleteness,0,,,, +CONDITION_ERA,condition_era_start_date,measureValueCompleteness,0,,,, +CONDITION_ERA,condition_era_end_date,measureValueCompleteness,0,,,, +CONDITION_ERA,condition_occurrence_count,measureValueCompleteness,100,,,, +DEATH,cause_concept_id,measureValueCompleteness,100,,,, +DEATH,cause_source_concept_id,measureValueCompleteness,100,,,, +DEATH,cause_source_value,measureValueCompleteness,100,,,, +DEATH,death_date,measureValueCompleteness,0,,,, +DEATH,death_datetime,measureValueCompleteness,100,,,, +DEATH,death_type_concept_id,measureValueCompleteness,100,,,, +DEATH,person_id,measureValueCompleteness,0,,,, +PERSON,gender_concept_id,standardConceptRecordCompleteness,5,,,, +PERSON,race_concept_id,standardConceptRecordCompleteness,100,,,, +PERSON,ethnicity_concept_id,standardConceptRecordCompleteness,100,,,, +OBSERVATION_PERIOD,period_type_concept_id,standardConceptRecordCompleteness,0,,,, +VISIT_OCCURRENCE,visit_concept_id,standardConceptRecordCompleteness,0,,,, +VISIT_OCCURRENCE,visit_type_concept_id,standardConceptRecordCompleteness,0,,,, +VISIT_OCCURRENCE,admitting_source_concept_id,standardConceptRecordCompleteness,100,,,, +VISIT_OCCURRENCE,discharge_to_concept_id,standardConceptRecordCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_concept_id,standardConceptRecordCompleteness,5,,,, +CONDITION_OCCURRENCE,condition_type_concept_id,standardConceptRecordCompleteness,0,,,, +CONDITION_OCCURRENCE,condition_status_concept_id,standardConceptRecordCompleteness,100,,,, +DRUG_EXPOSURE,drug_concept_id,standardConceptRecordCompleteness,5,,,, +DRUG_EXPOSURE,drug_type_concept_id,standardConceptRecordCompleteness,0,,,, +DRUG_EXPOSURE,route_concept_id,standardConceptRecordCompleteness,100,,,, +PROCEDURE_OCCURRENCE,procedure_concept_id,standardConceptRecordCompleteness,5,,,, +PROCEDURE_OCCURRENCE,procedure_type_concept_id,standardConceptRecordCompleteness,0,,,, +PROCEDURE_OCCURRENCE,modifier_concept_id,standardConceptRecordCompleteness,100,,,, +DEVICE_EXPOSURE,device_concept_id,standardConceptRecordCompleteness,5,,,, +DEVICE_EXPOSURE,device_type_concept_id,standardConceptRecordCompleteness,0,,,, +MEASUREMENT,measurement_concept_id,standardConceptRecordCompleteness,5,,,, +MEASUREMENT,measurement_type_concept_id,standardConceptRecordCompleteness,0,,,, +MEASUREMENT,unit_concept_id,standardConceptRecordCompleteness,5,,,, +VISIT_DETAIL,visit_detail_concept_id,standardConceptRecordCompleteness,0,,,, +VISIT_DETAIL,visit_detail_type_concept_id,standardConceptRecordCompleteness,0,,,, +VISIT_DETAIL,admitting_source_concept_id,standardConceptRecordCompleteness,100,,,, +VISIT_DETAIL,discharge_to_concept_id,standardConceptRecordCompleteness,100,,,, +OBSERVATION,observation_concept_id,standardConceptRecordCompleteness,5,,,, +OBSERVATION,observation_type_concept_id,standardConceptRecordCompleteness,0,,,, +OBSERVATION,unit_concept_id,standardConceptRecordCompleteness,5,,,, +SPECIMEN,specimen_concept_id,standardConceptRecordCompleteness,5,,,, +SPECIMEN,specimen_type_concept_id,standardConceptRecordCompleteness,0,,,, +SPECIMEN,unit_concept_id,standardConceptRecordCompleteness,5,,,, +FACT_RELATIONSHIP,domain_concept_id_1,standardConceptRecordCompleteness,100,,,, +FACT_RELATIONSHIP,domain_concept_id_2,standardConceptRecordCompleteness,100,,,, +FACT_RELATIONSHIP,relationship_concept_id,standardConceptRecordCompleteness,100,,,, +CARE_SITE,place_of_service_concept_id,standardConceptRecordCompleteness,100,,,, +PROVIDER,specialty_concept_id,standardConceptRecordCompleteness,100,,,, +PROVIDER,gender_concept_id,standardConceptRecordCompleteness,100,,,, +COST,cost_type_concept_id,standardConceptRecordCompleteness,0,,,, +DRUG_ERA,drug_concept_id,standardConceptRecordCompleteness,0,,,, +DOSE_ERA,drug_concept_id,standardConceptRecordCompleteness,0,,,, +DOSE_ERA,unit_concept_id,standardConceptRecordCompleteness,0,,,, +CONDITION_ERA,condition_concept_id,standardConceptRecordCompleteness,0,,,, +DEATH,cause_concept_id,standardConceptRecordCompleteness,5,,,, +DEATH,death_type_concept_id,standardConceptRecordCompleteness,0,,,, +PERSON,gender_source_concept_id,sourceConceptRecordCompleteness,100,,,, +PERSON,race_source_concept_id,sourceConceptRecordCompleteness,100,,,, +PERSON,ethnicity_source_concept_id,sourceConceptRecordCompleteness,100,,,, +VISIT_OCCURRENCE,visit_source_concept_id,sourceConceptRecordCompleteness,100,,,, +CONDITION_OCCURRENCE,condition_source_concept_id,sourceConceptRecordCompleteness,10,,,, +DRUG_EXPOSURE,drug_source_concept_id,sourceConceptRecordCompleteness,10,,,, +PROCEDURE_OCCURRENCE,procedure_source_concept_id,sourceConceptRecordCompleteness,10,,,, +DEVICE_EXPOSURE,device_source_concept_id,sourceConceptRecordCompleteness,10,,,, +MEASUREMENT,measurement_source_concept_id,sourceConceptRecordCompleteness,10,,,, +VISIT_DETAIL,visit_detail_source_concept_id,sourceConceptRecordCompleteness,100,,,, +VISIT_DETAIL,admitting_source_concept_id,sourceConceptRecordCompleteness,100,,,, +OBSERVATION,observation_source_concept_id,sourceConceptRecordCompleteness,10,,,, +PROVIDER,specialty_source_concept_id,sourceConceptRecordCompleteness,100,,,, +DEATH,cause_source_concept_id,sourceConceptRecordCompleteness,10,,,, +PERSON,gender_source_value,sourceValueCompleteness,100,,,GENDER_CONCEPT_ID, +PERSON,race_source_value,sourceValueCompleteness,100,,,RACE_CONCEPT_ID, +PERSON,ethnicity_source_value,sourceValueCompleteness,100,,,ETHNICITY_CONCEPT_ID, +VISIT_OCCURRENCE,visit_source_value,sourceValueCompleteness,10,,,VISIT_CONCEPT_ID, +VISIT_OCCURRENCE,admitting_source_value,sourceValueCompleteness,100,,,ADMITTING_SOURCE_CONCEPT_ID, +VISIT_OCCURRENCE,discharge_to_source_value,sourceValueCompleteness,100,,,DISCHARGE_TO_CONCEPT_ID, +CONDITION_OCCURRENCE,condition_source_value,sourceValueCompleteness,10,,,CONDITION_CONCEPT_ID, +CONDITION_OCCURRENCE,condition_status_source_value,sourceValueCompleteness,100,,,CONDITION_STATUS_CONCEPT_ID, +DRUG_EXPOSURE,drug_source_value,sourceValueCompleteness,10,,,DRUG_CONCEPT_ID, +DRUG_EXPOSURE,route_source_value,sourceValueCompleteness,100,,,ROUTE_CONCEPT_ID, +PROCEDURE_OCCURRENCE,procedure_source_value,sourceValueCompleteness,10,,,PROCEDURE_CONCEPT_ID, +PROCEDURE_OCCURRENCE,modifier_source_value,sourceValueCompleteness,100,,,MODIFIER_CONCEPT_ID, +DEVICE_EXPOSURE,device_source_value,sourceValueCompleteness,100,,,DEVICE_CONCEPT_ID, +MEASUREMENT,measurement_source_value,sourceValueCompleteness,10,,,MEASUREMENT_CONCEPT_ID, +MEASUREMENT,unit_source_value,sourceValueCompleteness,100,,,UNIT_CONCEPT_ID, +VISIT_DETAIL,visit_detail_source_value,sourceValueCompleteness,100,,,VISIT_DETAIL_CONCEPT_ID, +VISIT_DETAIL,admitting_source_value,sourceValueCompleteness,100,,,ADMITTING_SOURCE_CONCEPT_ID, +VISIT_DETAIL,discharge_to_source_value,sourceValueCompleteness,100,,,DISCHARGE_TO_CONCEPT_ID, +OBSERVATION,observation_source_value,sourceValueCompleteness,100,,,OBSERVATION_CONCEPT_ID, +OBSERVATION,unit_source_value,sourceValueCompleteness,100,,,UNIT_CONCEPT_ID, +OBSERVATION,qualifier_source_value,sourceValueCompleteness,100,,,QUALIFIER_CONCEPT_ID, +SPECIMEN,specimen_source_value,sourceValueCompleteness,100,,,SPECIMEN_CONCEPT_ID, +SPECIMEN,unit_source_value,sourceValueCompleteness,100,,,UNIT_CONCEPT_ID, +SPECIMEN,anatomic_site_source_value,sourceValueCompleteness,100,,,ANATOMIC_SITE_CONCEPT_ID, +SPECIMEN,disease_status_source_value,sourceValueCompleteness,100,,,DISEASE_STATUS_CONCEPT_ID, +PROVIDER,specialty_source_value,sourceValueCompleteness,100,,,SPECIALTY_CONCEPT_ID, +PROVIDER,gender_source_value,sourceValueCompleteness,100,,,GENDER_CONCEPT_ID, +PAYER_PLAN_PERIOD,payer_source_value,sourceValueCompleteness,100,,,PAYER_CONCEPT_ID, +PAYER_PLAN_PERIOD,plan_source_value,sourceValueCompleteness,100,,,PLAN_CONCEPT_ID, +PAYER_PLAN_PERIOD,sponsor_source_value,sourceValueCompleteness,100,,,SPONSOR_CONCEPT_ID, +PAYER_PLAN_PERIOD,stop_reason_source_value,sourceValueCompleteness,100,,,STOP_REASON_CONCEPT_ID, +DEATH,cause_source_value,sourceValueCompleteness,10,,,CAUSE_SOURCE_CONCEPT_ID, +PERSON,year_of_birth,plausibleValueLow,1,1850,,, +PERSON,month_of_birth,plausibleValueLow,1,1,,, +PERSON,day_of_birth,plausibleValueLow,1,1,,, +PERSON,birth_datetime,plausibleValueLow,1,'18500101',,, +OBSERVATION_PERIOD,observation_period_start_date,plausibleValueLow,1,'19500101',,, +OBSERVATION_PERIOD,observation_period_end_date,plausibleValueLow,1,'19500101',,, +VISIT_OCCURRENCE,visit_start_date,plausibleValueLow,1,'19500101',,, +VISIT_OCCURRENCE,visit_start_datetime,plausibleValueLow,1,'19500101',,, +VISIT_OCCURRENCE,visit_end_date,plausibleValueLow,1,'19500101',,, +VISIT_OCCURRENCE,visit_end_datetime,plausibleValueLow,1,'19500101',,, +CONDITION_OCCURRENCE,condition_start_date,plausibleValueLow,1,'19500101',,, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleValueLow,1,'19500101',,, +CONDITION_OCCURRENCE,condition_end_date,plausibleValueLow,1,'19500101',,, +CONDITION_OCCURRENCE,condition_end_datetime,plausibleValueLow,1,'19500101',,, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleValueLow,1,'19500101',,, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleValueLow,1,'19500101',,, +DRUG_EXPOSURE,drug_exposure_end_date,plausibleValueLow,1,'19500101',,, +DRUG_EXPOSURE,drug_exposure_end_datetime,plausibleValueLow,1,'19500101',,, +DRUG_EXPOSURE,verbatim_end_date,plausibleValueLow,1,'19500101',,, +DRUG_EXPOSURE,refills,plausibleValueLow,1,0,,, +DRUG_EXPOSURE,quantity,plausibleValueLow,1,0.0000001,,, +DRUG_EXPOSURE,days_supply,plausibleValueLow,1,1,,, +PROCEDURE_OCCURRENCE,procedure_date,plausibleValueLow,1,'19500101',,, +PROCEDURE_OCCURRENCE,procedure_datetime,plausibleValueLow,1,'19500101',,, +PROCEDURE_OCCURRENCE,quantity,plausibleValueLow,1,1,,, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleValueLow,1,'19500101',,, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleValueLow,1,'19500101',,, +DEVICE_EXPOSURE,device_exposure_end_date,plausibleValueLow,1,'19500101',,, +DEVICE_EXPOSURE,device_exposure_end_datetime,plausibleValueLow,1,'19500101',,, +DEVICE_EXPOSURE,quantity,plausibleValueLow,1,1,,, +MEASUREMENT,measurement_date,plausibleValueLow,1,'19500101',,, +VISIT_DETAIL,visit_detail_start_date,plausibleValueLow,1,'19500101',,, +VISIT_DETAIL,visit_detail_start_datetime,plausibleValueLow,1,'19500101',,, +VISIT_DETAIL,visit_detail_end_date,plausibleValueLow,1,'19500101',,, +VISIT_DETAIL,visit_detail_end_datetime,plausibleValueLow,1,'19500101',,, +NOTE,note_date,plausibleValueLow,1,'19500101',,, +NOTE,note_datetime,plausibleValueLow,1,'19500101',,, +NOTE_NLP,nlp_datetime,plausibleValueLow,1,'19500101',,, +OBSERVATION,observation_date,plausibleValueLow,1,'19500101',,, +OBSERVATION,observation_datetime,plausibleValueLow,1,'19500101',,, +SPECIMEN,specimen_date,plausibleValueLow,1,'19500101',,, +SPECIMEN,specimen_datetime,plausibleValueLow,1,'19500101',,, +SPECIMEN,quantity,plausibleValueLow,1,0,,, +DRUG_ERA,drug_era_start_date,plausibleValueLow,1,'19500101',,, +DRUG_ERA,drug_era_end_date,plausibleValueLow,1,'19500101',,, +DRUG_ERA,drug_exposure_count,plausibleValueLow,1,1,,, +DRUG_ERA,gap_days,plausibleValueLow,1,0,,, +DOSE_ERA,dose_value,plausibleValueLow,1,0,,, +DOSE_ERA,dose_era_start_date,plausibleValueLow,1,'19500101',,, +DOSE_ERA,dose_era_end_date,plausibleValueLow,1,'19500101',,, +CONDITION_ERA,condition_era_start_date,plausibleValueLow,1,'19500101',,, +CONDITION_ERA,condition_era_end_date,plausibleValueLow,1,'19500101',,, +CONDITION_ERA,condition_occurrence_count,plausibleValueLow,1,1,,, +DEATH,death_date,plausibleValueLow,1,'19500101',,, +DEATH,death_datetime,plausibleValueLow,1,'19500101',,, +PERSON,year_of_birth,plausibleValueHigh,1,YEAR(GETDATE())+1,,, +PERSON,month_of_birth,plausibleValueHigh,1,12,,, +PERSON,day_of_birth,plausibleValueHigh,1,31,,, +PERSON,birth_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +OBSERVATION_PERIOD,observation_period_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +OBSERVATION_PERIOD,observation_period_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_OCCURRENCE,visit_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_OCCURRENCE,visit_start_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_OCCURRENCE,visit_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_OCCURRENCE,visit_end_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +CONDITION_OCCURRENCE,condition_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +CONDITION_OCCURRENCE,condition_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +CONDITION_OCCURRENCE,condition_end_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_EXPOSURE,drug_exposure_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_EXPOSURE,drug_exposure_end_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_EXPOSURE,verbatim_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_EXPOSURE,refills,plausibleValueHigh,1,24,,, +DRUG_EXPOSURE,days_supply,plausibleValueHigh,1,365,,, +PROCEDURE_OCCURRENCE,procedure_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +PROCEDURE_OCCURRENCE,procedure_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DEVICE_EXPOSURE,device_exposure_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DEVICE_EXPOSURE,device_exposure_end_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +MEASUREMENT,measurement_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_DETAIL,visit_detail_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_DETAIL,visit_detail_start_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_DETAIL,visit_detail_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +VISIT_DETAIL,visit_detail_end_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +NOTE,note_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +NOTE,note_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +NOTE_NLP,nlp_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +OBSERVATION,observation_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +OBSERVATION,observation_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +SPECIMEN,specimen_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +SPECIMEN,specimen_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_ERA,drug_era_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DRUG_ERA,drug_era_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DOSE_ERA,dose_era_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DOSE_ERA,dose_era_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +CONDITION_ERA,condition_era_start_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +CONDITION_ERA,condition_era_end_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DEATH,death_date,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +DEATH,death_datetime,plausibleValueHigh,1,"DATEADD(dd,1,GETDATE())",,, +OBSERVATION_PERIOD,observation_period_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +OBSERVATION_PERIOD,observation_period_end_date,plausibleTemporalAfter,1,,OBSERVATION_PERIOD,OBSERVATION_PERIOD_START_DATE, +VISIT_OCCURRENCE,visit_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +VISIT_OCCURRENCE,visit_start_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +VISIT_OCCURRENCE,visit_end_date,plausibleTemporalAfter,1,,VISIT_OCCURRENCE,VISIT_START_DATE, +VISIT_OCCURRENCE,visit_end_datetime,plausibleTemporalAfter,1,,VISIT_OCCURRENCE,VISIT_START_DATETIME, +CONDITION_OCCURRENCE,condition_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +CONDITION_OCCURRENCE,condition_end_date,plausibleTemporalAfter,1,,CONDITION_OCCURRENCE,CONDITION_START_DATE, +CONDITION_OCCURRENCE,condition_end_datetime,plausibleTemporalAfter,1,,CONDITION_OCCURRENCE,CONDITION_START_DATETIME, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DRUG_EXPOSURE,drug_exposure_end_date,plausibleTemporalAfter,1,,DRUG_EXPOSURE,DRUG_EXPOSURE_START_DATE, +DRUG_EXPOSURE,drug_exposure_end_datetime,plausibleTemporalAfter,1,,DRUG_EXPOSURE,DRUG_EXPOSURE_START_DATETIME, +DRUG_EXPOSURE,verbatim_end_date,plausibleTemporalAfter,1,,DRUG_EXPOSURE,DRUG_EXPOSURE_START_DATE, +PROCEDURE_OCCURRENCE,procedure_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +PROCEDURE_OCCURRENCE,procedure_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DEVICE_EXPOSURE,device_exposure_end_date,plausibleTemporalAfter,1,,DEVICE_EXPOSURE,DEVICE_EXPOSURE_START_DATE, +DEVICE_EXPOSURE,device_exposure_end_datetime,plausibleTemporalAfter,1,,DEVICE_EXPOSURE,DEVICE_EXPOSURE_START_DATETIME, +MEASUREMENT,measurement_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +VISIT_DETAIL,visit_detail_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +VISIT_DETAIL,visit_detail_start_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +VISIT_DETAIL,visit_detail_end_date,plausibleTemporalAfter,1,,VISIT_DETAIL,VISIT_DETAIL_START_DATE, +VISIT_DETAIL,visit_detail_end_datetime,plausibleTemporalAfter,1,,VISIT_DETAIL,VISIT_DETAIL_START_DATETIME, +NOTE,note_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +NOTE,note_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +OBSERVATION,observation_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +OBSERVATION,observation_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +SPECIMEN,specimen_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +SPECIMEN,specimen_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +PAYER_PLAN_PERIOD,payer_plan_period_end_date,plausibleTemporalAfter,1,,PAYER_PLAN_PERIOD,PAYER_PLAN_PERIOD_START_DATE, +DRUG_ERA,drug_era_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DRUG_ERA,drug_era_end_date,plausibleTemporalAfter,1,,DRUG_ERA,DRUG_ERA_START_DATE, +DOSE_ERA,dose_era_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DOSE_ERA,dose_era_end_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +CONDITION_ERA,condition_era_start_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +CONDITION_ERA,condition_era_end_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DEATH,death_date,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +DEATH,death_datetime,plausibleTemporalAfter,1,,PERSON,BIRTH_DATETIME, +OBSERVATION_PERIOD,observation_period_start_date,plausibleDuringLife,1,,,, +OBSERVATION_PERIOD,observation_period_end_date,plausibleDuringLife,1,,,, +VISIT_OCCURRENCE,visit_start_date,plausibleDuringLife,1,,,, +VISIT_OCCURRENCE,visit_start_datetime,plausibleDuringLife,1,,,, +VISIT_OCCURRENCE,visit_end_date,plausibleDuringLife,1,,,, +VISIT_OCCURRENCE,visit_end_datetime,plausibleDuringLife,1,,,, +CONDITION_OCCURRENCE,condition_start_date,plausibleDuringLife,1,,,, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleDuringLife,1,,,, +CONDITION_OCCURRENCE,condition_end_date,plausibleDuringLife,1,,,, +CONDITION_OCCURRENCE,condition_end_datetime,plausibleDuringLife,1,,,, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleDuringLife,1,,,, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleDuringLife,1,,,, +DRUG_EXPOSURE,drug_exposure_end_date,plausibleDuringLife,1,,,, +DRUG_EXPOSURE,drug_exposure_end_datetime,plausibleDuringLife,1,,,, +DRUG_EXPOSURE,verbatim_end_date,plausibleDuringLife,1,,,, +PROCEDURE_OCCURRENCE,procedure_date,plausibleDuringLife,1,,,, +PROCEDURE_OCCURRENCE,procedure_datetime,plausibleDuringLife,1,,,, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleDuringLife,1,,,, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleDuringLife,1,,,, +DEVICE_EXPOSURE,device_exposure_end_date,plausibleDuringLife,1,,,, +DEVICE_EXPOSURE,device_exposure_end_datetime,plausibleDuringLife,1,,,, +VISIT_DETAIL,visit_detail_start_date,plausibleDuringLife,1,,,, +VISIT_DETAIL,visit_detail_start_datetime,plausibleDuringLife,1,,,, +VISIT_DETAIL,visit_detail_end_date,plausibleDuringLife,1,,,, +VISIT_DETAIL,visit_detail_end_datetime,plausibleDuringLife,1,,,, +DRUG_ERA,drug_era_start_date,plausibleDuringLife,1,,,, +DOSE_ERA,dose_era_start_date,plausibleDuringLife,1,,,, +CONDITION_ERA,condition_era_start_date,plausibleDuringLife,1,,,, +OBSERVATION_PERIOD,observation_period_start_date,plausibleStartBeforeEnd,0,,,OBSERVATION_PERIOD_END_DATE, +VISIT_OCCURRENCE,visit_start_date,plausibleStartBeforeEnd,1,,,VISIT_END_DATE, +VISIT_OCCURRENCE,visit_start_datetime,plausibleStartBeforeEnd,1,,,VISIT_END_DATETIME, +CONDITION_OCCURRENCE,condition_start_date,plausibleStartBeforeEnd,1,,,CONDITION_END_DATE, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleStartBeforeEnd,1,,,CONDITION_END_DATETIME, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleStartBeforeEnd,1,,,DRUG_EXPOSURE_END_DATE, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleStartBeforeEnd,1,,,DRUG_EXPOSURE_END_DATETIME, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleStartBeforeEnd,1,,,DEVICE_EXPOSURE_END_DATE, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleStartBeforeEnd,1,,,DEVICE_EXPOSURE_END_DATETIME, +VISIT_DETAIL,visit_detail_start_date,plausibleStartBeforeEnd,1,,,visit_detail_end_date, +VISIT_DETAIL,visit_detail_start_datetime,plausibleStartBeforeEnd,1,,,visit_detail_end_datetime, +PAYER_PLAN_PERIOD,payer_plan_period_start_date,plausibleStartBeforeEnd,1,,,PAYER_PLAN_PERIOD_END_DATE, +DRUG_ERA,drug_era_start_date,plausibleStartBeforeEnd,1,,,DRUG_ERA_END_DATE, +DOSE_ERA,dose_era_start_date,plausibleStartBeforeEnd,1,,,DOSE_ERA_END_DATE, +CONDITION_ERA,condition_era_start_date,plausibleStartBeforeEnd,1,,,CONDITION_ERA_END_DATE, +OBSERVATION_PERIOD,observation_period_start_date,plausibleAfterBirth,1,,,, +OBSERVATION_PERIOD,observation_period_end_date,plausibleAfterBirth,1,,,, +VISIT_OCCURRENCE,visit_start_date,plausibleAfterBirth,1,,,, +VISIT_OCCURRENCE,visit_start_datetime,plausibleAfterBirth,1,,,, +VISIT_OCCURRENCE,visit_end_date,plausibleAfterBirth,1,,,, +VISIT_OCCURRENCE,visit_end_datetime,plausibleAfterBirth,1,,,, +CONDITION_OCCURRENCE,condition_start_date,plausibleAfterBirth,1,,,, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleAfterBirth,1,,,, +CONDITION_OCCURRENCE,condition_end_date,plausibleAfterBirth,1,,,, +CONDITION_OCCURRENCE,condition_end_datetime,plausibleAfterBirth,1,,,, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleAfterBirth,1,,,, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleAfterBirth,1,,,, +DRUG_EXPOSURE,drug_exposure_end_date,plausibleAfterBirth,1,,,, +DRUG_EXPOSURE,drug_exposure_end_datetime,plausibleAfterBirth,1,,,, +DRUG_EXPOSURE,verbatim_end_date,plausibleAfterBirth,1,,,, +PROCEDURE_OCCURRENCE,procedure_date,plausibleAfterBirth,1,,,, +PROCEDURE_OCCURRENCE,procedure_datetime,plausibleAfterBirth,1,,,, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleAfterBirth,1,,,, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleAfterBirth,1,,,, +DEVICE_EXPOSURE,device_exposure_end_date,plausibleAfterBirth,1,,,, +DEVICE_EXPOSURE,device_exposure_end_datetime,plausibleAfterBirth,1,,,, +MEASUREMENT,measurement_date,plausibleAfterBirth,1,,,, +MEASUREMENT,measurement_datetime,plausibleAfterBirth,1,,,, +VISIT_DETAIL,visit_detail_start_date,plausibleAfterBirth,1,,,, +VISIT_DETAIL,visit_detail_start_datetime,plausibleAfterBirth,1,,,, +VISIT_DETAIL,visit_detail_end_date,plausibleAfterBirth,1,,,, +VISIT_DETAIL,visit_detail_end_datetime,plausibleAfterBirth,1,,,, +NOTE,note_date,plausibleAfterBirth,1,,,, +NOTE,note_datetime,plausibleAfterBirth,1,,,, +OBSERVATION,observation_date,plausibleAfterBirth,1,,,, +OBSERVATION,observation_datetime,plausibleAfterBirth,1,,,, +SPECIMEN,specimen_date,plausibleAfterBirth,1,,,, +SPECIMEN,specimen_datetime,plausibleAfterBirth,1,,,, +PAYER_PLAN_PERIOD,payer_plan_period_start_date,plausibleAfterBirth,1,,,, +PAYER_PLAN_PERIOD,payer_plan_period_end_date,plausibleAfterBirth,1,,,, +DRUG_ERA,drug_era_start_date,plausibleAfterBirth,1,,,, +DRUG_ERA,drug_era_end_date,plausibleAfterBirth,1,,,, +DOSE_ERA,dose_era_start_date,plausibleAfterBirth,1,,,, +DOSE_ERA,dose_era_end_date,plausibleAfterBirth,1,,,, +CONDITION_ERA,condition_era_start_date,plausibleAfterBirth,1,,,, +CONDITION_ERA,condition_era_end_date,plausibleAfterBirth,1,,,, +DEATH,death_date,plausibleAfterBirth,1,,,, +DEATH,death_datetime,plausibleAfterBirth,1,,,, +OBSERVATION_PERIOD,observation_period_start_date,plausibleBeforeDeath,1,,,, +OBSERVATION_PERIOD,observation_period_end_date,plausibleBeforeDeath,1,,,, +VISIT_OCCURRENCE,visit_start_date,plausibleBeforeDeath,1,,,, +VISIT_OCCURRENCE,visit_start_datetime,plausibleBeforeDeath,1,,,, +VISIT_OCCURRENCE,visit_end_date,plausibleBeforeDeath,1,,,, +VISIT_OCCURRENCE,visit_end_datetime,plausibleBeforeDeath,1,,,, +CONDITION_OCCURRENCE,condition_start_date,plausibleBeforeDeath,1,,,, +CONDITION_OCCURRENCE,condition_start_datetime,plausibleBeforeDeath,1,,,, +CONDITION_OCCURRENCE,condition_end_date,plausibleBeforeDeath,1,,,, +CONDITION_OCCURRENCE,condition_end_datetime,plausibleBeforeDeath,1,,,, +DRUG_EXPOSURE,drug_exposure_start_date,plausibleBeforeDeath,1,,,, +DRUG_EXPOSURE,drug_exposure_start_datetime,plausibleBeforeDeath,1,,,, +DRUG_EXPOSURE,drug_exposure_end_date,plausibleBeforeDeath,1,,,, +DRUG_EXPOSURE,drug_exposure_end_datetime,plausibleBeforeDeath,1,,,, +DRUG_EXPOSURE,verbatim_end_date,plausibleBeforeDeath,1,,,, +PROCEDURE_OCCURRENCE,procedure_date,plausibleBeforeDeath,1,,,, +PROCEDURE_OCCURRENCE,procedure_datetime,plausibleBeforeDeath,1,,,, +DEVICE_EXPOSURE,device_exposure_start_date,plausibleBeforeDeath,1,,,, +DEVICE_EXPOSURE,device_exposure_start_datetime,plausibleBeforeDeath,1,,,, +DEVICE_EXPOSURE,device_exposure_end_date,plausibleBeforeDeath,1,,,, +DEVICE_EXPOSURE,device_exposure_end_datetime,plausibleBeforeDeath,1,,,, +MEASUREMENT,measurement_date,plausibleBeforeDeath,1,,,, +MEASUREMENT,measurement_datetime,plausibleBeforeDeath,1,,,, +VISIT_DETAIL,visit_detail_start_date,plausibleBeforeDeath,1,,,, +VISIT_DETAIL,visit_detail_start_datetime,plausibleBeforeDeath,1,,,, +VISIT_DETAIL,visit_detail_end_date,plausibleBeforeDeath,1,,,, +VISIT_DETAIL,visit_detail_end_datetime,plausibleBeforeDeath,1,,,, +NOTE,note_date,plausibleBeforeDeath,1,,,, +NOTE,note_datetime,plausibleBeforeDeath,1,,,, +OBSERVATION,observation_date,plausibleBeforeDeath,1,,,, +OBSERVATION,observation_datetime,plausibleBeforeDeath,1,,,, +SPECIMEN,specimen_date,plausibleBeforeDeath,1,,,, +SPECIMEN,specimen_datetime,plausibleBeforeDeath,1,,,, +PAYER_PLAN_PERIOD,payer_plan_period_start_date,plausibleBeforeDeath,1,,,, +PAYER_PLAN_PERIOD,payer_plan_period_end_date,plausibleBeforeDeath,1,,,, +DRUG_ERA,drug_era_start_date,plausibleBeforeDeath,1,,,, +DRUG_ERA,drug_era_end_date,plausibleBeforeDeath,1,,,, +DOSE_ERA,dose_era_start_date,plausibleBeforeDeath,1,,,, +DOSE_ERA,dose_era_end_date,plausibleBeforeDeath,1,,,, +CONDITION_ERA,condition_era_start_date,plausibleBeforeDeath,1,,,, +CONDITION_ERA,condition_era_end_date,plausibleBeforeDeath,1,,,, +CONDITION_OCCURRENCE,condition_start_date,withinVisitDates,5,,,, +DRUG_EXPOSURE,drug_exposure_start_date,withinVisitDates,5,,,, +PROCEDURE_OCCURRENCE,procedure_date,withinVisitDates,5,,,, +DEVICE_EXPOSURE,device_exposure_start_date,withinVisitDates,5,,,, +MEASUREMENT,measurement_date,withinVisitDates,5,,,, +VISIT_DETAIL,visit_detail_start_date,withinVisitDates,1,,,, +VISIT_DETAIL,visit_detail_end_date,withinVisitDates,1,,,, +NOTE,note_date,withinVisitDates,5,,,, +OBSERVATION,observation_date,withinVisitDates,5,,,, diff --git a/tests/testthat/inst/long_OMOP_CDMv5.3_Table_Level.csv b/tests/testthat/inst/long_OMOP_CDMv5.3_Table_Level.csv new file mode 100644 index 00000000..ad6a1b3d --- /dev/null +++ b/tests/testthat/inst/long_OMOP_CDMv5.3_Table_Level.csv @@ -0,0 +1,57 @@ +cdmTableName,checkName,Threshold,checkParameter,Notes +PERSON,cdmTable,0,, +OBSERVATION_PERIOD,cdmTable,0,, +VISIT_OCCURRENCE,cdmTable,0,, +VISIT_DETAIL,cdmTable,0,, +CONDITION_OCCURRENCE,cdmTable,0,, +DRUG_EXPOSURE,cdmTable,0,, +PROCEDURE_OCCURRENCE,cdmTable,0,, +DEVICE_EXPOSURE,cdmTable,0,, +MEASUREMENT,cdmTable,0,, +OBSERVATION,cdmTable,0,, +DEATH,cdmTable,0,, +NOTE,cdmTable,0,, +NOTE_NLP,cdmTable,0,, +SPECIMEN,cdmTable,0,, +FACT_RELATIONSHIP,cdmTable,0,, +LOCATION,cdmTable,0,, +CARE_SITE,cdmTable,0,, +PROVIDER,cdmTable,0,, +PAYER_PLAN_PERIOD,cdmTable,0,, +COST,cdmTable,0,, +DRUG_ERA,cdmTable,0,, +DOSE_ERA,cdmTable,0,, +CONDITION_ERA,cdmTable,0,, +METADATA,cdmTable,0,, +CDM_SOURCE,cdmTable,0,, +CONCEPT,cdmTable,0,, +VOCABULARY,cdmTable,0,, +DOMAIN,cdmTable,0,, +CONCEPT_CLASS,cdmTable,0,, +CONCEPT_RELATIONSHIP,cdmTable,0,, +RELATIONSHIP,cdmTable,0,, +CONCEPT_SYNONYM,cdmTable,0,, +CONCEPT_ANCESTOR,cdmTable,0,, +SOURCE_TO_CONCEPT_MAP,cdmTable,0,, +DRUG_STRENGTH,cdmTable,0,, +COHORT_DEFINITION,cdmTable,0,, +PERSON,isRequired,,, +OBSERVATION_PERIOD,isRequired,,, +OBSERVATION_PERIOD,measurePersonCompleteness,0,, +VISIT_OCCURRENCE,measurePersonCompleteness,95,, +VISIT_DETAIL,measurePersonCompleteness,100,, +CONDITION_OCCURRENCE,measurePersonCompleteness,95,, +DRUG_EXPOSURE,measurePersonCompleteness,95,, +PROCEDURE_OCCURRENCE,measurePersonCompleteness,95,, +DEVICE_EXPOSURE,measurePersonCompleteness,100,, +MEASUREMENT,measurePersonCompleteness,95,, +OBSERVATION,measurePersonCompleteness,95,, +DEATH,measurePersonCompleteness,100,, +NOTE,measurePersonCompleteness,100,, +SPECIMEN,measurePersonCompleteness,100,, +PAYER_PLAN_PERIOD,measurePersonCompleteness,100,, +DRUG_ERA,measurePersonCompleteness,95,, +DOSE_ERA,measurePersonCompleteness,100,, +CONDITION_ERA,measurePersonCompleteness,95,, +CONDITION_ERA,measureConditionEraCompleteness,0,, +OBSERVATION_PERIOD,measureObservationPeriodOverlap,0,, diff --git a/inst/csv/unittest_OMOP_CDMv5.3_Concept_Level.csv b/tests/testthat/inst/unittest_OMOP_CDMv5.3_Concept_Level.csv similarity index 100% rename from inst/csv/unittest_OMOP_CDMv5.3_Concept_Level.csv rename to tests/testthat/inst/unittest_OMOP_CDMv5.3_Concept_Level.csv diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R index 2ac71070..98f97680 100644 --- a/tests/testthat/setup.R +++ b/tests/testthat/setup.R @@ -105,3 +105,21 @@ verifyConnection <- function(connectionDetails) { } ) } + +unittest_5.3_concept_level_loc <- test_path( + "inst", + "unittest_OMOP_CDMv5.3_Concept_Level.csv" +) + +long_OMOP_CDMv5.3_Table_Level <- test_path( + 'inst', + 'long_OMOP_CDMv5.3_Table_Level.csv' +) +long_OMOP_CDMv5.3_Field_Level <- test_path( + 'inst', + 'long_OMOP_CDMv5.3_Field_Level.csv' +) +long_OMOP_CDMv5.3_Concept_Level <- test_path( + 'inst', + 'long_OMOP_CDMv5.3_Concept_Level.csv' +) diff --git a/tests/testthat/test-executeDqChecks.R b/tests/testthat/test-executeDqChecks.R index 5b04680d..98d1ac7f 100644 --- a/tests/testthat/test-executeDqChecks.R +++ b/tests/testthat/test-executeDqChecks.R @@ -86,11 +86,7 @@ test_that("Execute CONCEPT checks on Synthea/Eunomia", { resultsDatabaseSchema = resultsDatabaseSchemaEunomia, cdmSourceName = "Eunomia", checkLevels = "CONCEPT", - conceptCheckThresholdLoc = system.file( - "csv", - "unittest_OMOP_CDMv5.3_Concept_Level.csv", - package = "DataQualityDashboard" - ), + conceptCheckThresholdLoc = unittest_5.3_concept_level_loc, outputFolder = outputFolder, writeToTable = FALSE ), @@ -667,11 +663,7 @@ test_that("Execute checks on Synthea/Eunomia to test new variable executionTimeS resultsDatabaseSchema = resultsDatabaseSchemaEunomia, cdmSourceName = "Eunomia", checkNames = "measurePersonCompleteness", - conceptCheckThresholdLoc = system.file( - "csv", - "unittest_OMOP_CDMv5.3_Concept_Level.csv", - package = "DataQualityDashboard" - ), + conceptCheckThresholdLoc = unittest_5.3_concept_level_loc, outputFolder = outputFolder, writeToTable = FALSE ), diff --git a/tests/testthat/test-executeDqChecksOnExtension.R b/tests/testthat/test-executeDqChecksOnExtension.R new file mode 100644 index 00000000..10adb304 --- /dev/null +++ b/tests/testthat/test-executeDqChecksOnExtension.R @@ -0,0 +1,152 @@ +library(testthat) + +test_that('executeDqChecksOnExtension Table-level matches executeDqChecks for equivalent thresholds', { + testthat::skip_if_not_installed('Eunomia') + + connectionDetailsEunomia <- Eunomia::getEunomiaConnectionDetails() + cdmDatabaseSchemaEunomia <- 'main' + resultsDatabaseSchemaEunomia <- 'main' + checkLevel <- 'TABLE' + outputFolder <- tempfile("dqd_") + on.exit(unlink(outputFolder, recursive = TRUE)) + + r1 <- suppressWarnings(DataQualityDashboard::executeDqChecksOnExtension( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = cdmDatabaseSchemaEunomia, + resultsDatabaseSchema = resultsDatabaseSchemaEunomia, + cdmSourceName = 'Eunomia', + outputFolder = outputFolder, + tableCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Table_Level, + fieldCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Field_Level, + conceptCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Concept_Level, + checkLevel = checkLevel, + writeToTable = FALSE + )) + + r2 <- suppressWarnings(DataQualityDashboard::executeDqChecks( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = cdmDatabaseSchemaEunomia, + resultsDatabaseSchema = resultsDatabaseSchemaEunomia, + cdmSourceName = 'Eunomia', + outputFolder = outputFolder, + cdmVersion = '5.3', + checkLevel = checkLevel, + writeToTable = FALSE + )) + + # Compare r1 and r2 + + # CheckResults has the same number of rows and columns + expect_equal(nrow(r1$CheckResults), nrow(r2$CheckResults)) + + # CheckResults same values for all columns except executionTime and notesValue + expect_equal( + r1$CheckResults |> dplyr::select(-executionTime, -notesValue) |> dplyr::arrange(cdmTableName, checkName), + r2$CheckResults |> dplyr::select(-executionTime, -notesValue) |> dplyr::arrange(cdmTableName, checkName), + ignore_attr = c('row.names') + ) + + # Overview equal - same number of failures + expect_equal(r1$Overview, r2$Overview) +}) + +test_that('executeDqChecksOnExtension Field-level matches executeDqChecks for equivalent thresholds', { + testthat::skip_if_not_installed('Eunomia') + + connectionDetailsEunomia <- Eunomia::getEunomiaConnectionDetails() + cdmDatabaseSchemaEunomia <- 'main' + resultsDatabaseSchemaEunomia <- 'main' + checkLevel <- 'FIELD' + outputFolder <- tempfile("dqd_") + on.exit(unlink(outputFolder, recursive = TRUE)) + + r1 <- suppressWarnings(DataQualityDashboard::executeDqChecksOnExtension( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = cdmDatabaseSchemaEunomia, + resultsDatabaseSchema = resultsDatabaseSchemaEunomia, + cdmSourceName = 'Eunomia', + outputFolder = outputFolder, + tableCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Table_Level, + fieldCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Field_Level, + conceptCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Concept_Level, + checkLevel = checkLevel, + checkNames = c("plausibleTemporalAfter", "plausibleAfterBirth", "plausibleBeforeDeath", "plausibleStartBeforeEnd"), + writeToTable = FALSE + )) + + r2 <- suppressWarnings(DataQualityDashboard::executeDqChecks( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = cdmDatabaseSchemaEunomia, + resultsDatabaseSchema = resultsDatabaseSchemaEunomia, + cdmSourceName = 'Eunomia', + outputFolder = outputFolder, + cdmVersion = '5.3', + checkLevel = checkLevel, + checkNames = c("plausibleTemporalAfter", "plausibleAfterBirth", "plausibleBeforeDeath", "plausibleStartBeforeEnd"), + writeToTable = FALSE + )) + + # Compare r1 and r2 + + # CheckResults has the same number of rows and columns + expect_equal(nrow(r1$CheckResults), nrow(r2$CheckResults)) + + # CheckResults same values for all columns except executionTime and notesValue + expect_equal( + r1$CheckResults |> dplyr::select(-executionTime, -notesValue) |> dplyr::arrange(cdmTableName, cdmFieldName, checkName), + r2$CheckResults |> dplyr::select(-executionTime, -notesValue) |> dplyr::arrange(cdmTableName, cdmFieldName, checkName), + ignore_attr = c('row.names') + ) + + # Overview equal - same number of failures + expect_equal(r1$Overview, r2$Overview) +}) + +test_that('executeDqChecksOnExtension Concept-level matches executeDqChecks for equivalent thresholds', { + testthat::skip_if_not_installed('Eunomia') + + connectionDetailsEunomia <- Eunomia::getEunomiaConnectionDetails() + cdmDatabaseSchemaEunomia <- 'main' + resultsDatabaseSchemaEunomia <- 'main' + checkLevel <- 'CONCEPT' + outputFolder <- tempfile("dqd_") + on.exit(unlink(outputFolder, recursive = TRUE)) + + r1 <- suppressWarnings(DataQualityDashboard::executeDqChecksOnExtension( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = cdmDatabaseSchemaEunomia, + resultsDatabaseSchema = resultsDatabaseSchemaEunomia, + cdmSourceName = 'Eunomia', + outputFolder = outputFolder, + tableCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Table_Level, + fieldCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Field_Level, + conceptCheckThresholdExtensionLoc = long_OMOP_CDMv5.3_Concept_Level, + checkLevel = checkLevel, + writeToTable = FALSE + )) + + r2 <- suppressWarnings(DataQualityDashboard::executeDqChecks( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = cdmDatabaseSchemaEunomia, + resultsDatabaseSchema = resultsDatabaseSchemaEunomia, + cdmSourceName = 'Eunomia', + outputFolder = outputFolder, + cdmVersion = '5.3', + checkLevel = checkLevel, + writeToTable = FALSE + )) + + # Compare r1 and r2 + + # CheckResults has the same number of rows and columns + expect_equal(nrow(r1$CheckResults), nrow(r2$CheckResults)) + + # CheckResults same values for all columns except executionTime and notesValue + expect_equal( + r1$CheckResults |> dplyr::select(-executionTime, -notesValue) |> dplyr::arrange(cdmTableName, cdmFieldName, checkName, conceptId, unitConceptId), + r2$CheckResults |> dplyr::select(-executionTime, -notesValue) |> dplyr::arrange(cdmTableName, cdmFieldName, checkName, conceptId, unitConceptId), + ignore_attr = c('row.names') + ) + # Overview equal - same number of failures + expect_equal(r1$Overview, r2$Overview) +}) diff --git a/vignettes/DqdForExtensionTables.rmd b/vignettes/DqdForExtensionTables.rmd new file mode 100644 index 00000000..fc779606 --- /dev/null +++ b/vignettes/DqdForExtensionTables.rmd @@ -0,0 +1,134 @@ +--- +title: "Running DQD on Extension Tables" +author: "Maxim Moinat" +date: "`r Sys.Date()`" +output: + pdf_document: + number_sections: true + toc: true + html_document: + number_sections: true + toc: true +vignette: > + %\VignetteIndexEntry{Running DQD on Extension Tables} + %\VignetteEncoding{UTF-8} + %\VignetteEngine{knitr::knitr} +--- + +## Introduction +When you extend your OMOP CDM with custom tables and want to run DQD, then you need to extend the thresholds file. +A typical use case if you use the extension tables as proposed by the Imaging or Waveform Working Groups. +With a few exceptions, the 20+ checks in the Data Quality Dashboard are generic and could be applied to extension tables. + +However, the threshold file is not well suited for editing and maintenance in the current wide format. + +The function `executeDqChecksOnExtension` solves this by taking long-format threshold files for the extension tables and fields, pivots them to wide-format, and then runs the DQD using those thresholds. +This allows users to maintain their threshold files in a more user-friendly format and run the DQD on their extensions without needing to modify the package source code. + +## Usage +The `executeDqChecksOnExtension` function requires threshold in a long-format, and will only execute the specified checks. +For a full QC, you will also need to run the regular `executeDqChecks` function with the default threshold files for the standard CDM tables and fields. + +The format for each threshold file are given below. See also [](extras/thresholdWideToLong.R) for a script that transforms existing wide-format thresholds to long-format. For testing, the v5.3 thresholds have been transformed to a long format, see the folder [](tests/testthat/inst). + +### Table level long format + +| Field | Description | Example1 | Example2 | +| ------------ | --------------------------------------- | -------- | ------------------------- | +| cdmTableName | Table to check | person | person | +| checkName | Name of the check | cdmTable | measurePersonCompleteness | +| Threshold | Threshold as percentage | | 5 | +| Notes | Optional note to be displayed in viewer | | | + +### Field level long format + +| Field | Description | Example1 | Example2 | +| -------------- | --------------------------------------------------- | ----------------- | ----------------- | +| cdmTableName | Table to check | person | person | +| cdmFieldName | Field to check | gender_concept_id | year_of_birth | +| checkName | Name of the check | isForeignKey | plausibleValueLow | +| Threshold | Threshold as percentage | 0 | 1 | +| checkParameter | e.g. the field type or value limit to check against | | 1850 | +| yTableName | e.g. table | concept | | +| yFieldName | e.g. field | concept_id | | +| Notes | Optional note to be displayed in viewer | | | + +### Concept level long format + +| Field | Description | Example1 | Example2 | +| --------------- | --------------------------------------- | ----------------------------- | -------------------- | +| cdmTableName | Table to check | measurement | condition_occurrence | +| cdmFieldName | Field to check | measurement_concept_id | condition_concept_id | +| conceptId | Concept to check | 37397989 | 42709954 | +| conceptName | Concept name | Serum total cholesterol level | Phimosis | +| unitConceptId | Unit to check | 8753 | | +| unitConceptName | Unit name | millimole per liter | | +| checkName | Name of the check | plausibleValueHigh | plausibleGender | +| Threshold | Threshold as percentage | 5 | 5 | +| checkParameter | e.g. value to check against | 15 | Male | +| Notes | Optional note to be displayed in viewer | | | + + +## Example + +The minimal example below shows how the function and inputs work. +In actual implementation it is adviced to edit the threshold files directly in csv. +```{r eval=TRUE} +# Sample table +myTable <- data.frame(id = c(1,2,3,4,5,6), person_id = c(1,NA,1,NA,1,99999)) + +# Two table-level checks +tableLevel <- as.data.frame( + rbind( + c('tableName','checkName','threshold','notes') + ,c('myTable','cdmTable',NA,NA) + ,c('myTable','measurePersonCompleteness',0,NA) +)) + +# Seven table-levle checks (note cdmTable does not have to be explicitly set) +fieldLevel <- as.data.frame(rbind( + c('tableName','fieldName','checkName','yTableName','yFieldName','threshold','notes') + ,c('myTable','id','cdmField','','',NA,NA) + ,c('myTable','person_id','cdmField','','',NA,NA) + ,c('myTable','id','measureValueCompleteness','','',0,NA) + ,c('myTable','person_id','measureValueCompleteness','','',5,NA) + ,c('myTable','id','isRequired','','',5,NA) + ,c('myTable','id','isPrimaryKey','','',5,NA) + ,c('myTable','person_id','isForeignKey','person','person_id',5,NA) +)) + +# Add 'custom' table to Eunomia +connectionDetailsEunomia <- Eunomia::getEunomiaConnectionDetails() +con <- DatabaseConnector::connect(connectionDetailsEunomia) +DBI::dbWriteTable(con, 'myTable', myTable) +DBI::dbDisconnect(con) + +# Write thresholds to temporary files +tableLevelLoc <- tempfile(fileext = 'csv') +readr::write_csv(tableLevel, tableLevelLoc, col_names=FALSE) + +fieldLevelLoc <- tempfile(fileext = 'csv') +readr::write_csv(fieldLevel, fieldLevelLoc, col_names=FALSE) + +results <- DataQualityDashboard::executeDqChecksOnExtension( + connectionDetails = connectionDetailsEunomia, + cdmDatabaseSchema = 'main', + resultsDatabaseSchema = 'main', + cdmSourceName = 'Eunomia+', + outputFolder = tempdir(), + tableCheckThresholdExtensionLoc = tableLevelLoc, + fieldCheckThresholdExtensionLoc = fieldLevelLoc, + checkLevel = c('TABLE', 'FIELD'), + writeToTable = FALSE +) + +results$CheckResults |> dplyr::select(cdmTableName, cdmFieldName, checkName, numViolatedRows, pctViolatedRows, thresholdValue, failed) |> DT::datatable() +``` + + +## Implementation notes + - In contrast to the regular threshold files, you cannot specify in which schema each table can be found (CDM, VOCAB or COHORT). + The function `executeDqChecksOnExtension` expects the tables are in the `cdmDatabaseSchema`. + - The `cdmTable` check has to be made explicit by listing all tables with `cdmTable` check name. For field level thresholds, the `cdmField` can be specified but is also added implicitly if field has other check listed. Both the `cdmTable` and `cdmField` checks can be assigned a threshold value in the long format, but this is ignored. + - The processer checks if all tables in field-level are in table-level. And all fields in concept-level are in field-level file. If not, an error is thrown. + - For testing, the default thresholds were transformed to the long format using [`extras/thresholdWideToLong.R`](extras/thresholdWideToLong.R) \ No newline at end of file