diff --git a/docs/index.html b/docs/index.html index 355f6190..e3c23a1c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -357,7 +357,7 @@

Features

Current version

-

v0.9.0

+

v0.10.1

diff --git a/docs/index.md b/docs/index.md index 848c4533..8c21e091 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,4 +21,4 @@ It comes with **RabbitInAHat**, an application for interactive design of an ETL - Rabbit in a Hat generates ETL specification document according to OMOP templatement according to OMOP template # Current version -[**v0.9.0**](https://github.com/OHDSI/WhiteRabbit/releases/tag/v0.9.0) \ No newline at end of file +[**v0.10.1**](https://github.com/OHDSI/WhiteRabbit/releases/latest) \ No newline at end of file diff --git a/examples.zip b/examples.zip index 6a389437..f7ccf114 100644 Binary files a/examples.zip and b/examples.zip differ diff --git a/iniFileExamples/WhiteRabbit.ini b/iniFileExamples/WhiteRabbit.ini index 36208d19..714e88be 100644 --- a/iniFileExamples/WhiteRabbit.ini +++ b/iniFileExamples/WhiteRabbit.ini @@ -7,7 +7,7 @@ PASSWORD = supersecret # Password for the database DATABASE_NAME = schema_name # Name of the data schema used DELIMITER = , # The delimiter that separates values TABLES_TO_SCAN = * # Comma-delimited list of table names to scan. Use "*" (asterix) to include all tables in the database -SCAN_FIELD_VALUES = yes # Include a frequency count of field values in the scan report? "yes" or "no" +SCAN_FIELD_VALUES = yes # Include the frequency of field values in the scan report? "yes" or "no" MIN_CELL_COUNT = 5 # Minimum frequency for a field value to be included in the report MAX_DISTINCT_VALUES = 1000 # Maximum number of distinct values per field to be reported ROWS_PER_TABLE = 100000 # Maximum number of rows per table to be scanned for field values diff --git a/pom.xml b/pom.xml index 76fdf147..762672c7 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.ohdsi leporidae pom - 0.10.0 + 0.10.1 rabbitinahat whiterabbit diff --git a/rabbit-core/pom.xml b/rabbit-core/pom.xml index 48511c79..a6e4e8d4 100644 --- a/rabbit-core/pom.xml +++ b/rabbit-core/pom.xml @@ -5,7 +5,7 @@ leporidae org.ohdsi - 0.10.0 + 0.10.1 4.0.0 diff --git a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Database.java b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Database.java index aa548e5b..887262c7 100644 --- a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Database.java +++ b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Database.java @@ -72,6 +72,10 @@ public void setTables(List tables) { this.tables = tables; } + public void addTable(Table table) { + this.tables.add(table); + } + public String getDbName() { return dbName; } @@ -138,11 +142,14 @@ public static Database generateModelFromScanReport(String filename) { Database database = new Database(); QuickAndDirtyXlsxReader workbook = new QuickAndDirtyXlsxReader(filename); - // Create table lookup from tables overview, if exists + // Create table lookup from tables overview, if it exists Map nameToTable = createTablesFromTableOverview(workbook, database); // Field overview is the first sheet - Sheet overviewSheet = workbook.get(0); + Sheet overviewSheet = workbook.getByName(ScanSheetName.FIELD_OVERVIEW); + if (overviewSheet == null) { + overviewSheet = workbook.get(0); + } Iterator overviewRows = overviewSheet.iterator(); overviewRows.next(); // Skip header @@ -168,11 +175,12 @@ public static Database generateModelFromScanReport(String filename) { String fieldName = row.getStringByHeaderName(ScanFieldName.FIELD); Field field = new Field(fieldName.toLowerCase(), table); - String fractionEmpty = row.getByHeaderName(ScanFieldName.FRACTION_EMPTY); - field.setNullable(fractionEmpty == null || !fractionEmpty.equals("0")); field.setType(row.getByHeaderName(ScanFieldName.TYPE)); field.setMaxLength(row.getIntByHeaderName(ScanFieldName.MAX_LENGTH)); field.setDescription(row.getStringByHeaderName(ScanFieldName.DESCRIPTION)); + field.setFractionEmpty(row.getDoubleByHeaderName(ScanFieldName.FRACTION_EMPTY)); + field.setUniqueCount(row.getIntByHeaderName(ScanFieldName.UNIQUE_COUNT)); + field.setFractionUnique(row.getDoubleByHeaderName(ScanFieldName.FRACTION_UNIQUE)); field.setValueCounts(getValueCounts(workbook, tableName, fieldName)); table.getFields().add(field); @@ -186,18 +194,13 @@ public static Table createTable(String name, String description, Integer nRows, Table table = new Table(); table.setName(name.toLowerCase()); table.setDescription(description); - table.setRowCount((nRows == null || nRows == -1) ? nRowsChecked : nRows); + table.setRowCount(nRows == null ? -1 : nRows); + table.setRowsCheckedCount(nRowsChecked == null ? -1 : nRowsChecked); return table; } public static Map createTablesFromTableOverview(QuickAndDirtyXlsxReader workbook, Database database) { - Sheet tableOverviewSheet = null; - for (Sheet sheet : workbook) { - if (sheet.getName().equals(ScanSheetName.TABLE_OVERVIEW)) { - tableOverviewSheet = sheet; - break; - } - } + Sheet tableOverviewSheet = workbook.getByName(ScanSheetName.TABLE_OVERVIEW); if (tableOverviewSheet == null) { // No table overview sheet, empty nameToTable return new HashMap<>(); @@ -224,38 +227,46 @@ public static Map createTablesFromTableOverview(QuickAndDirtyXlsx return nameToTable; } - private static String[][] getValueCounts(QuickAndDirtyXlsxReader workbook, String tableName, String fieldName) { - Sheet tableSheet = null; + private static ValueCounts getValueCounts(QuickAndDirtyXlsxReader workbook, String tableName, String fieldName) { String targetSheetName = Table.createSheetNameFromTableName(tableName); - for (Sheet sheet : workbook) { - if (sheet.getName().equals(targetSheetName)) { - tableSheet = sheet; - break; - } + Sheet tableSheet = workbook.getByName(targetSheetName); + + // Sheet not found for table, return empty + if (tableSheet == null) { + return new ValueCounts(); } - if (tableSheet == null) // Sheet not found for table, return empty array - return new String[0][0]; Iterator iterator = tableSheet.iterator(); org.ohdsi.utilities.files.QuickAndDirtyXlsxReader.Row header = iterator.next(); int index = header.indexOf(fieldName); - List list = new ArrayList(); + + ValueCounts valueCounts = new ValueCounts(); if (index != -1) // Could happen when people manually delete columns while (iterator.hasNext()) { org.ohdsi.utilities.files.QuickAndDirtyXlsxReader.Row row = iterator.next(); if (row.size() > index) { String value = row.get(index); String count; - if (row.size() > index + 1) + + if (row.size() > index + 1) { count = row.get(index + 1); - else + } else { count = ""; - if (value.equals("") && count.equals("")) + } + + if (value.equals("") && count.equals("")) { break; - list.add(new String[] { value, count }); + } + + // If the count is not a number, ignore this row + try { + valueCounts.add(value, (int) Double.parseDouble(count)); + } catch (NumberFormatException e) { + // Skip if count could not be parsed. In most cases this is for empty count at 'List Truncated...' + } } } - return list.toArray(new String[list.size()][2]); + return valueCounts; } } diff --git a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Field.java b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Field.java index ed6feaec..20f1c884 100644 --- a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Field.java +++ b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Field.java @@ -25,13 +25,16 @@ public class Field implements MappableItem { private Table table; private String name; private String comment = ""; - private String[][] valueCounts; + private ValueCounts valueCounts = new ValueCounts(); private boolean isNullable; private String type; private String description = ""; private Integer maxLength; private boolean isStem; private List conceptIdHints; + private Double fractionEmpty; + private Integer uniqueCount; + private Double fractionUnique; public Field(String name, Table table) { this.table = table; @@ -66,11 +69,11 @@ public void setName(String name) { this.name = name; } - public String[][] getValueCounts() { + public ValueCounts getValueCounts() { return valueCounts; } - public void setValueCounts(String[][] valueCounts) { + public void setValueCounts(ValueCounts valueCounts) { this.valueCounts = valueCounts; } @@ -137,4 +140,29 @@ public List getConceptIdHints() { public void setConceptIdHints(List conceptIdHints) { this.conceptIdHints = conceptIdHints; } + + public Double getFractionEmpty() { + return fractionEmpty; + } + + public void setFractionEmpty(Double fractionEmpty) { + this.fractionEmpty = fractionEmpty; + this.setNullable(fractionEmpty == null || fractionEmpty != 0); + } + + public Integer getUniqueCount() { + return uniqueCount; + } + + public void setUniqueCount(Integer uniqueCount) { + this.uniqueCount = uniqueCount; + } + + public Double getFractionUnique() { + return fractionUnique; + } + + public void setFractionUnique(Double fractionUnique) { + this.fractionUnique = fractionUnique; + } } diff --git a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Table.java b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Table.java index e2bd924a..e3e0f7e7 100644 --- a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Table.java +++ b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/Table.java @@ -96,6 +96,10 @@ public void setRowsCheckedCount(int rowsCheckedCount) { this.rowsCheckedCount = rowsCheckedCount; } + public void addField(Field field) { + this.fields.add(field); + } + public List getFields() { return fields; } diff --git a/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ValueCounts.java b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ValueCounts.java new file mode 100644 index 00000000..1866583d --- /dev/null +++ b/rabbit-core/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ValueCounts.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright 2020 Observational Health Data Sciences and Informatics + * + * This file is part of WhiteRabbit + * + * 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. + ******************************************************************************/ +package org.ohdsi.rabbitInAHat.dataModel; + +import java.util.ArrayList; + +public class ValueCounts { + private ArrayList valueCounts = new ArrayList<>(); + private int totalFrequency = 0; + private String mostFrequentValue; + private int mostFrequentValueCount = -1; + + public class ValueCount { + private String value; + private int frequency; + + public ValueCount(String value, int frequency) { + this.value = value; + this.frequency = frequency; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public int getFrequency() { + return frequency; + } + } + + public boolean add(String value, int count) { + totalFrequency += count; + if (count > mostFrequentValueCount) { + mostFrequentValue = value; + mostFrequentValueCount = count; + } + return valueCounts.add(new ValueCount(value, count)); + } + + public ArrayList getAll() { + return valueCounts; + } + + public ValueCounts.ValueCount get(int i) { + return valueCounts.get(i); + } + + public String getMostFrequentValue() { + return mostFrequentValue; + } + + public int getTotalFrequency() { + return totalFrequency; + } + + public int size() { + return valueCounts.size(); + } + + public boolean isEmpty() { + return size() == 0; + } + +} diff --git a/rabbit-core/src/main/java/org/ohdsi/utilities/files/QuickAndDirtyXlsxReader.java b/rabbit-core/src/main/java/org/ohdsi/utilities/files/QuickAndDirtyXlsxReader.java index e5a9b9f5..9f2add31 100644 --- a/rabbit-core/src/main/java/org/ohdsi/utilities/files/QuickAndDirtyXlsxReader.java +++ b/rabbit-core/src/main/java/org/ohdsi/utilities/files/QuickAndDirtyXlsxReader.java @@ -1,14 +1,14 @@ /******************************************************************************* * Copyright 2019 Observational Health Data Sciences and Informatics - * + * * This file is part of WhiteRabbit - * + * * 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. @@ -25,10 +25,10 @@ import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.regex.Pattern; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -38,12 +38,14 @@ public class QuickAndDirtyXlsxReader extends ArrayList { - private static final long serialVersionUID = 25124428448185386L; + private static final long serialVersionUID = 25124428448185386L; + private static final Pattern DOUBLE_IGNORE_PATTERN = Pattern.compile("[<>= ]+"); - private List sharedStrings = new ArrayList(); + private List sharedStrings = new ArrayList<>(); - private Map rIdToSheet = new HashMap(); - private Map filenameToSheet = new HashMap(); + private Map rIdToSheet = new HashMap<>(); + private Map nameToSheet = new HashMap<>(); + private Map filenameToSheet = new HashMap<>(); public QuickAndDirtyXlsxReader(String filename) { try { @@ -56,17 +58,10 @@ public QuickAndDirtyXlsxReader(String filename) { readFromStream(inputStream); // Step 3: order the sheets: - Collections.sort(this, new Comparator() { - - @Override - public int compare(Sheet o1, Sheet o2) { - return IntegerComparator.compare(o1.order, o2.order); - } - }); + Collections.sort(this, (o1, o2) -> IntegerComparator.compare(o1.order, o2.order)); } catch (FileNotFoundException e) { e.printStackTrace(); } - } private void loadSharedStringsAndRels(FileInputStream inputStream) { @@ -191,7 +186,7 @@ else if (tag.equals("/v") || tag.equals("/t")) { result.add(""); if (sharedString) { int index = Integer.parseInt(string.substring(stringStart, tagStart - 1)); - result.set(column, sharedStrings.get(index)); + result.set(column, decode(sharedStrings.get(index))); } else result.set(column, decode(string.substring(stringStart, tagStart - 1))); } @@ -521,10 +516,15 @@ private void processWorkBook(InputStream inputStream) throws NumberFormatExcepti Sheet sheet = rIdToSheet.get(rId); sheet.setName(name); sheet.order = Integer.parseInt(order); + nameToSheet.put(name, sheet); } } } + public Sheet getByName(String sheetName) { + return nameToSheet.get(sheetName); + } + public class Sheet extends ArrayList { private static final long serialVersionUID = -8597151681911998153L; private String name; @@ -590,6 +590,8 @@ public String getStringByHeaderName(String fieldName) { public Double getDoubleByHeaderName(String fieldName) { String value = getStringByHeaderName(fieldName); if (value != null) { + // Ignore operators and spaces from double values + value = DOUBLE_IGNORE_PATTERN.matcher(value).replaceAll(""); return Double.parseDouble(value); } else { return null; diff --git a/rabbitinahat/pom.xml b/rabbitinahat/pom.xml index 2bcece1e..1d290a9b 100644 --- a/rabbitinahat/pom.xml +++ b/rabbitinahat/pom.xml @@ -5,7 +5,7 @@ leporidae org.ohdsi - 0.10.0 + 0.10.1 4.0.0 diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/DetailsPanel.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/DetailsPanel.java index ccd7f5b1..fb357cbd 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/DetailsPanel.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/DetailsPanel.java @@ -51,7 +51,6 @@ import javax.swing.undo.UndoManager; import org.ohdsi.rabbitInAHat.dataModel.*; -import org.ohdsi.utilities.StringUtilities; public class DetailsPanel extends JPanel implements DetailsListener { @@ -341,9 +340,10 @@ public void removeUpdate(DocumentEvent e) { } private class FieldPanel extends JPanel implements DocumentListener { - private static final long serialVersionUID = -4393026616049677944L; JLabel nameLabel; + JLabel typeLabel; + JLabel valueDetailLabel; JLabel rowCountLabel; DescriptionTextArea description; SimpleTableModel valueTable; @@ -353,6 +353,8 @@ private class FieldPanel extends JPanel implements DocumentListener { public FieldPanel() { nameLabel = new JLabel(""); + typeLabel = new JLabel(""); + valueDetailLabel = new JLabel(""); rowCountLabel = new JLabel(""); description = new DescriptionTextArea (""); valueTable = new SimpleTableModel("Value", "Frequency", "Percentage"); @@ -365,9 +367,7 @@ public void initialise() { setLayout(new BorderLayout()); JPanel generalInfoPanel = new JPanel(); - generalInfoPanel.setLayout(new BorderLayout(5,5)); - generalInfoPanel.setBorder(BorderFactory.createTitledBorder("General information")); JPanel fieldInfo = new JPanel(); @@ -377,10 +377,18 @@ public void initialise() { fieldInfo.add(nameLabel); fieldInfo.add(new JLabel("Field type: ")); - fieldInfo.add(rowCountLabel); - - generalInfoPanel.add(fieldInfo,BorderLayout.NORTH); - + fieldInfo.add(typeLabel); + + generalInfoPanel.add(fieldInfo, BorderLayout.NORTH); + + JPanel sourceDetailsPanel = new JPanel(); + sourceDetailsPanel.setLayout(new GridLayout(0,2)); + + sourceDetailsPanel.add(new JLabel("Unique values: ")); + sourceDetailsPanel.add(valueDetailLabel); + + generalInfoPanel.add(sourceDetailsPanel); + JPanel descriptionInfo = new JPanel(); descriptionInfo.setLayout(new GridLayout(0,2)); descriptionInfo.add(new JLabel("Description: ")); @@ -431,10 +439,27 @@ public void showField(Field field) { this.field = field; nameLabel.setText(field.getName()); - rowCountLabel.setText(field.getType()); - description.setText(field.getDescription()); + typeLabel.setText(field.getType()); - // Hide description if it's empty + // Additional unique count and percentage empty. Hide when not given + StringBuilder valueDetailText = new StringBuilder(); + if (field.getUniqueCount() != null) { + valueDetailText.append(numberFormat.format(field.getUniqueCount())); + } + if (field.getFractionEmpty() != null) { + String fractionEmptyFormatted; + if (field.getFractionEmpty() > 0 && field.getFractionEmpty() < 0.001) { + fractionEmptyFormatted = "<" + percentageFormat.format(0.001); + } else { + fractionEmptyFormatted = percentageFormat.format(field.getFractionEmpty()); + } + valueDetailText.append(String.format(" (%s empty)", fractionEmptyFormatted)); + } + valueDetailLabel.setText(valueDetailText.toString()); + valueDetailLabel.getParent().setVisible(!valueDetailLabel.getText().isEmpty()); + + // Description. Hide when empty + description.setText(field.getDescription()); description.getParent().setVisible(!description.getText().isEmpty()); this.createValueList(field); @@ -443,28 +468,24 @@ public void showField(Field field) { public void createValueList(Field field) { valueTable.clear(); - if (field.getValueCounts() != null) { - int valueCountTotal = field.getRowsCheckedCount(); - - for (String[] valueCount : field.getValueCounts()) { - String valueNumber = valueCount[1]; - String valuePercent = ""; - if (StringUtilities.isNumber(valueNumber)) { - double number = Double.parseDouble(valueNumber); - valueNumber = numberFormat.format(number); - double valueCountPercent = number / (double) valueCountTotal; - if (valueCountPercent < 0.001) { - valuePercent = "<" + percentageFormat.format(0.001); - } - else if (valueCountPercent > 0.99) { - valuePercent = ">" + percentageFormat.format(0.99); - } - else { - valuePercent = percentageFormat.format(valueCountPercent); - } - } - valueTable.add(valueCount[0], valueNumber, valuePercent); + + int rowsCheckedCount = field.getRowsCheckedCount(); + for (ValueCounts.ValueCount valueCount : field.getValueCounts().getAll()) { + double valueCountPercent = valueCount.getFrequency() / (double) rowsCheckedCount; + String valuePercent; + if (valueCountPercent < 0.001) { + valuePercent = "<" + percentageFormat.format(0.001); + } else if (valueCountPercent > 0.99 && valueCountPercent < 1) { + valuePercent = ">" + percentageFormat.format(0.99); + } else { + valuePercent = percentageFormat.format(valueCountPercent); } + String valueNumber = numberFormat.format(valueCount.getFrequency()); + valueTable.add(valueCount.getValue(), valueNumber, valuePercent); + } + + if (rowsCheckedCount != field.getValueCounts().getTotalFrequency()) { + valueTable.add("Truncated...", "", ""); } } diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLMarkupDocumentGenerator.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLMarkupDocumentGenerator.java index 2b194ba2..66f64e38 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLMarkupDocumentGenerator.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLMarkupDocumentGenerator.java @@ -187,10 +187,7 @@ private void addSourceTablesAppendix(Table sourceTable) { List rows = new ArrayList<>(); for (Field field : sourceTable.getFields()) { - String mostFrequentValue = ""; - if (field.getValueCounts() != null && field.getValueCounts().length != 0) { - mostFrequentValue = field.getValueCounts()[0][0]; - } + String mostFrequentValue = field.getValueCounts().getMostFrequentValue(); Row row = new Row(); row.add("Field", field.getName()); @@ -318,8 +315,14 @@ public void addTable(List rows) { for (Row row : rows) { line = new StringBuilder(); - for (String value : row.getCells()) - line.append("| ").append(value.replaceAll("\n", " ")).append(" "); + for (String value : row.getCells()) { + if (value != null) { + value = value.replaceAll("\n", " "); + } else { + value = ""; + } + line.append("| ").append(value).append(" "); + } line.append("|"); lines.add(line.toString()); } @@ -418,8 +421,12 @@ public void addTable(List rows) { for (Row row : rows) { lines.add("\t"); - for (String cell : row.getCells()) + for (String cell : row.getCells()) { + if (cell == null) { + cell = ""; + } lines.add("\t\t"); + } lines.add("\t"); } lines.add("
" + cell + "
"); diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLTestFrameWorkGenerator.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLTestFrameWorkGenerator.java index eaa70398..97e2cdc1 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLTestFrameWorkGenerator.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLTestFrameWorkGenerator.java @@ -115,15 +115,12 @@ private void createInitFunction() { writer.println(" defaults <- list()"); for (Field field : table.getFields()) { String rFieldName = convertToRName(field.getName()); - String defaultValue; - if (field.getValueCounts().length == 0) - defaultValue = ""; - else - defaultValue = field.getValueCounts()[0][0]; - if (!defaultValue.equals("") && !defaultValue.equals("List truncated...")) + String defaultValue = field.getValueCounts().getMostFrequentValue(); + if (defaultValue != null) { writer.println(" defaults$" + rFieldName + " <- '" + defaultValue + "'"); - else + } else { writer.println(" defaults$" + rFieldName + " <- ''"); + } } writer.println(" assign('" + rTableName + "', defaults, envir = frameworkContext$defaultValues)"); } diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLWordDocumentGenerator.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLWordDocumentGenerator.java index fa2bbc6e..e7193aa6 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLWordDocumentGenerator.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/ETLWordDocumentGenerator.java @@ -93,8 +93,7 @@ private static void addSourceTablesAppendix(CustomXWPFDocument document, ETL etl XWPFTableRow row = table.getRow(rowNr++); row.getCell(0).setText(sourceField.getName()); row.getCell(1).setText(sourceField.getType()); - if (sourceField.getValueCounts() != null && sourceField.getValueCounts().length != 0) - row.getCell(2).setText(sourceField.getValueCounts()[0][0]); + row.getCell(2).setText(sourceField.getValueCounts().getMostFrequentValue()); createCellParagraph(row.getCell(3), sourceField.getComment().trim()); } diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/MappingPanel.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/MappingPanel.java index bfa9f3b5..3d9e689a 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/MappingPanel.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/MappingPanel.java @@ -46,10 +46,7 @@ import javax.swing.KeyStroke; import org.ohdsi.rabbitInAHat.Arrow.HighlightStatus; -import org.ohdsi.rabbitInAHat.dataModel.ItemToItemMap; -import org.ohdsi.rabbitInAHat.dataModel.MappableItem; -import org.ohdsi.rabbitInAHat.dataModel.Mapping; -import org.ohdsi.rabbitInAHat.dataModel.Table; +import org.ohdsi.rabbitInAHat.dataModel.*; import org.ohdsi.utilities.collections.IntegerComparator; public class MappingPanel extends JPanel implements MouseListener, MouseMotionListener { @@ -161,20 +158,22 @@ private void renderModel() { sourceComponents.clear(); cdmComponents.clear(); arrows.clear(); - for (MappableItem item : mapping.getSourceItems()) + for (MappableItem item : mapping.getSourceItems()) { if (!showOnlyConnectedItems || isConnected(item)) { if (item.isStem()) sourceComponents.add(new LabeledRectangle(0, 400, ITEM_WIDTH, ITEM_HEIGHT, item, new Color(160, 0, 160))); else sourceComponents.add(new LabeledRectangle(0, 400, ITEM_WIDTH, ITEM_HEIGHT, item, new Color(255, 128, 0))); } - for (MappableItem item : mapping.getTargetItems()) + } + for (MappableItem item : mapping.getTargetItems()) { if (!showOnlyConnectedItems || isConnected(item)) { if (item.isStem()) cdmComponents.add(new LabeledRectangle(0, 400, ITEM_WIDTH, ITEM_HEIGHT, item, new Color(160, 0, 160))); else cdmComponents.add(new LabeledRectangle(0, 400, ITEM_WIDTH, ITEM_HEIGHT, item, new Color(128, 128, 255))); } + } for (ItemToItemMap map : mapping.getSourceToTargetMaps()) { Arrow component = new Arrow(getComponentWithItem(map.getSourceItem(), sourceComponents), getComponentWithItem(map.getTargetItem(), cdmComponents), map); @@ -755,6 +754,25 @@ private void LabeledRectangleClicked(MouseEvent event, List co boolean isSourceComponent = sourceComponents.contains(component); detailsListener.showDetails(component.getItem(), isSourceComponent); repaint(); + + if (event.getClickCount() == 2 && isSourceComponent && !component.getItem().isStem()) { + if (slaveMappingPanel != null) { + // Create dummy mapping + slaveMappingPanel.setMapping( + new Mapping<>(((Table) component.getItem()).getFields(), new ArrayList<>(), new ArrayList<>()) + ); + // Zoom arrow has to be set, but will not be shown + zoomArrow = new Arrow( + component, + components.get(0) // random target for the arrow + ); + + new AnimateThread(true).start(); + + slaveMappingPanel.filterComponents("", false); + slaveMappingPanel.filterComponents("", true); + } + } break; } } diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/RabbitInAHatMain.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/RabbitInAHatMain.java index fd2f0e9e..90996559 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/RabbitInAHatMain.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/RabbitInAHatMain.java @@ -571,7 +571,7 @@ private void doOpenScanReport() { private void doOpenScanReport(String filename) { boolean replace = true; if (ObjectExchange.etl.getSourceDatabase().getTables().size() != 0) { - Object[] options = { "Replace current data", "Load data on field values only" }; + Object[] options = { "Replace current data", "Update tables and fields"}; int result = JOptionPane.showOptionDialog(frame, "You already have source data loaded. Do you want to", "Replace source data?", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); if (result == -1) @@ -597,32 +597,40 @@ private void doOpenScanReport(String filename) { Database newData = Database.generateModelFromScanReport(filename); Database oldData = ObjectExchange.etl.getSourceDatabase(); for (Table newTable : newData.getTables()) { - Table oldTable = (Table) findByName(newTable.getName(), oldData.getTables()); + Table oldTable = oldData.getTableByName(newTable.getName()); if (oldTable != null) { + oldTable.setDescription(newTable.getDescription()); + oldTable.setRowCount(newTable.getRowCount()); + oldTable.setRowsCheckedCount(newTable.getRowsCheckedCount()); for (Field newField : newTable.getFields()) { - Field oldField = (Field) findByName(newField.getName(), oldTable.getFields()); + Field oldField = oldTable.getFieldByName(newField.getName()); if (oldField != null) { + oldField.setDescription(newField.getDescription()); + oldField.setFractionEmpty(newField.getFractionEmpty()); + oldField.setUniqueCount(newField.getUniqueCount()); + oldField.setFractionUnique(newField.getFractionUnique()); + oldField.setNullable(newField.isNullable()); oldField.setValueCounts(newField.getValueCounts()); + } else { + // Add the new field + oldTable.addField(newField); } } + } else { + // Add the new table + newTable.setDb(oldData); + oldData.addTable(newTable); } } + tableMappingPanel.setMapping(ObjectExchange.etl.getTableToTableMapping()); // Needed to render the model } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "Invalid File Format", "Error", JOptionPane.ERROR_MESSAGE); } - } frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } - private MappableItem findByName(String name, List list) { - for (MappableItem item : list) - if (item.getName().toLowerCase().equals(name.toLowerCase())) - return item; - return null; - } - private void doGenerateEtlWordDoc() { String filename = chooseSavePath(FILE_FILTER_DOCX); if (filename != null) { diff --git a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ETL.java b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ETL.java index bb76d223..55da8578 100644 --- a/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ETL.java +++ b/rabbitinahat/src/main/java/org/ohdsi/rabbitInAHat/dataModel/ETL.java @@ -211,9 +211,11 @@ public static ETL fromFile(String filename, FileFormat format) { } public void discardCounts() { - for (Table table : sourceDb.getTables()) - for (Field field : table.getFields()) - field.setValueCounts(new String[0][]); + for (Table table : sourceDb.getTables()) { + for (Field field : table.getFields()) { + field.setValueCounts(new ValueCounts()); + } + } } public boolean hasStemTable() { diff --git a/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_02-OCT-19.csv b/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_02-OCT-19.csv index 5fd190db..b5503776 100644 --- a/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_02-OCT-19.csv +++ b/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_02-OCT-19.csv @@ -159,9 +159,6 @@ cost,cost_type_concept_id,31968,Payer system (Primary payer),Type Concept,Cost T cost,cost_type_concept_id,31969,Payer system (Secondary payer),Type Concept,Cost Type,Cost Type,S cost,cost_type_concept_id,32504,Person (self) reported,Type Concept,Cost Type,Cost Type,S cost,cost_type_concept_id,32505,Provider System,Type Concept,Cost Type,Cost Type,S -cost,cost_type_concept_id,5032,"Amount charged to the patient or the payer by the provider, list price",Type Concept,Cost Type,Cost Type, -cost,cost_type_concept_id,5031,Amount paid by the patient or reimbursed by the payer,Type Concept,Cost Type,Cost Type, -cost,cost_type_concept_id,5033,Cost incurred by the provider,Type Concept,Cost Type,Cost Type, death,death_type_concept_id,38003617,Death Certificate contributory cause,Type Concept,Condition Type,Death Type,S death,death_type_concept_id,32512,Death Certificate contributory cause,Type Concept,Death Type,Death Type,S death,death_type_concept_id,32496,Death Certificate contributory cause,Type Concept,Observation Type,Death Type,S @@ -407,19 +404,6 @@ drug_exposure,route_concept_id,4233974,Urethral,Route,SNOMED,Qualifier Value,S drug_exposure,route_concept_id,4170435,Urostomy route,Route,SNOMED,Qualifier Value,S drug_exposure,route_concept_id,4057765,Vaginal,Route,SNOMED,Qualifier Value,S drug_exposure,route_concept_id,35616190,Wound route,Route,SNOMED,Qualifier Value,S -drug_exposure,route_concept_id,45956883,Body cavity use,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,45956882,Epidural,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,4228125,Haemodialysis,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,4011083,Inhalation,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,45956885,Intracerebroventricular,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,4186835,Intracervical,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,45956886,Intraepidermal,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,45956884,Intraventricular cardiac,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,4302956,Iontophoresis,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,45956876,Obsolete-Intraventricular,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,45956873,Obsolete-Oromucosal other,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,4227373,Obsolete-Oromucosal other,Route,SNOMED,Qualifier Value, -drug_exposure,route_concept_id,40549429,Ocular,Route,SNOMED,Qualifier Value, episode,episode_type_concept_id,32545,Episode algorithmically derived from EHR,Type Concept,Episode Type,Episode Type,S episode,episode_type_concept_id,32548,Episode algorithmically derived from claim,Type Concept,Episode Type,Episode Type,S episode,episode_type_concept_id,32544,Episode defined in EHR,Type Concept,Episode Type,Episode Type,S @@ -441,6 +425,841 @@ measurement,operator_concept_id,4171754,<=,Meas Value Operator,SNOMED,Qualifier measurement,operator_concept_id,4172703,=,Meas Value Operator,SNOMED,Qualifier Value,S measurement,operator_concept_id,4172704,>,Meas Value Operator,SNOMED,Qualifier Value,S measurement,operator_concept_id,4171755,>=,Meas Value Operator,SNOMED,Qualifier Value,S +note,language_concept_id,4178690,Abazinian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178691,Abkhazian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180210,Achinese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181519,Acholi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183776,Adamawa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183775,Adamawa-Eastern language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767186,Adamorobe sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177301,Adangme language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178692,Adygei language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180043,Afar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771441,African sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180185,Afrikaans language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180041,Afro-Asiatic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181702,Agni language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182496,Ainu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40482419,Akan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771446,Al-Sayyid Bedouin sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182497,Albanian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767201,Albanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175768,Aleut language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767178,Algerian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183800,Algonkian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178567,Altai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178561,Altaic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182492,Alur language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183780,Ambo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767262,American Sign Language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182354,Amharic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182482,Andean equatorial language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183803,Apache language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181374,Arabic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483318,Aragonese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180045,Aramaic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182477,Aranda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180365,Arapaho language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182483,Araucanian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175751,Arawak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767263,Argentine sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180063,Armenian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767202,Armenian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175745,Artificial language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767177,Asian and Pacific sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182517,Assamese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182825,Assiniboin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180046,Assyrian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180370,Athapascan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175747,Australian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767242,Australian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767203,Austrian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175748,Avar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772997,Avestan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181391,Aymara language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181383,Azerbaijani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180226,Bahnar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182942,Baining language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177308,Balante language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771449,Bali sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180211,Balinese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178569,Balkar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182498,Baltic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181546,Baluchi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767179,Bamako sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180359,Bambara language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40482476,Bamun language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767260,Ban Khor sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183778,Banda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180053,Bari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183790,Bariba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175769,Barushaski language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182473,Bashkir language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175770,Basque language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183793,Bassa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175912,Batak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183794,Baule language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178558,Beja language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767204,Belgian-French sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180194,Belorussian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180229,Bemba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4052786,Bengali language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767243,Bengali sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183779,Benue-Congo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178554,Berber language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175906,Bhili language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180200,Bihari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181550,Bikol language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4233570,Bislama language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180366,Blackfoot language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182954,Bodo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767264,Bolivian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481563,Bosnian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175765,Brahui language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483830,Braille language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4235378,Brawa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772747,Brazilian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175773,Breton language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175755,Bribri language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767205,British sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182500,Brythonic Celtic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175929,Bubi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183664,Buginese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182512,Bulgarian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180230,Bulu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767180,Bura sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181727,Burmese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175736,Buryat language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181548,Bushman language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181395,Cabecar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177434,Caddo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182809,Caddoan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177437,Cakchiquel language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182353,Canaanitic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177463,Cantonese Chinese dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181392,Carib language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183804,Carrier language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181535,Catalan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767206,Catalan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182478,Caucasian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,37116382,Cayuga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182499,Celtic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4232100,Central Khmer language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175756,Central Sudanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181390,Central and South American Indian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767181,Chadian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182348,Chadic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181566,Chagga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183665,Cham language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180212,Chamorro language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181399,Chari-Nile language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178687,Chechen language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180373,Cherokee language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177314,Cheyenne language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767261,Chiangmai sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180377,Chickasaw language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181567,Chiga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180371,Chilcotin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767266,Chilean sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177459,Chimbu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183936,Chin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182819,Chinantec language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182948,Chinese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767244,Chinese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182807,Chipewyan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182486,Chiquito language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183808,Choctaw language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180231,Chokwe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177438,Chol language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182814,Chontal language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177466,Chuang language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180392,Chukchi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771044,Church Slavic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175738,Chuvash language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180048,Circassian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181375,Classical Arabic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767267,Colombian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180385,Comanche language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767182,Congolese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175731,Coptic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483377,Cornish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4232095,Corsican language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767268,Costa Rican sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180367,Cree language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177439,Creek language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481973,Croatian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772738,Croatian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177445,Crow language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4193700,Créole language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767269,Cuba sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181396,Cuna language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178557,Cushitic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180197,Czech language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767207,Czech sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181386,Dagestan Caucasian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177298,Dagomba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180183,Danish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767208,Danish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175749,Dargin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40490381,Dari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180368,Delaware language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182493,Dinka language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175764,Djerma language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767270,Dominican sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182494,Dravidian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175930,Duala language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182503,Dutch language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767209,Dutch sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181714,Dyola language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180360,Dyula language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181388,Eastern Caucasian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175758,Eastern Nilotic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181538,Eastern Slavic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181401,Eastern Sudanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183777,Eastern language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772748,Ecuadorian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183795,Edo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177295,Efik language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182352,Egyptian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767183,Egyptian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177476,Enets language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177460,Enga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180186,English language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181522,Eskimo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180060,Eskimo-Aleut language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178686,Esperanto,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183943,Estonian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767210,Estonian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767184,Ethiopian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181370,Ethiopic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767175,European sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178564,Even language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178563,Evenki language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177302,Ewe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183820,Fanakalo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181568,Fang language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181703,Fanti language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180184,Faroese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181556,Fijian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767212,Finland-Swedish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177471,Finnic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181730,Finnish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767211,Finnish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182960,Finno-Ugric language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180381,Flathead language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180187,Flemish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772739,Flemish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181704,Fon language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180369,Fox language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767185,Franco-American sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767271,French Canadian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182944,French Créole language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180190,French language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767213,French sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180188,Frisian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183933,Fukienese dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481123,Fulah language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180363,Fulani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181523,Fur language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177304,Ga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4206233,Gaelic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182509,Galician Portuguese dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4261080,Galician language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180232,Ganda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182955,Garo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181565,Gbaya language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180050,Ge language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182485,Ge-Pano-Carib language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181371,Geez language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182481,Georgian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182504,German language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767216,German sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182501,Germanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772734,Ghanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183658,Gilaki language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180218,Gilbertese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181686,Gisu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181528,Goidelic Celtic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177309,Gola language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180056,Gondi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181706,Grebo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180189,Greek language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767218,Greek sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182484,Guarani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767272,Guatemalan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181397,Guaymi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767187,Guinean sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4059174,Gujarati language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177297,Gur language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182355,Gurage language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183791,Gurma language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181718,Hagen language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177435,Haida language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,44802876,Haitian Creole language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181723,Hakka dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175733,Harari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180208,Hatsa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178556,Hausa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767188,Hausa sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771450,Hawaii Pidgin sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181557,Hawaiian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180047,Hebrew language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181687,Hehe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181532,Hellenic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183781,Herero language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4052346,Hindi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180201,Hindustani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4076495,Hinko language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,46270898,Hmong language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183772,Ho language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181551,Hocano language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767273,Honduran sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767246,Hong Kong sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180386,Hopi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175911,Hottentot language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182950,Hsiang dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183806,Huastec language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183945,Hungarian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767219,Hungarian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4234319,Iban language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180357,Ibibio language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181707,Ibo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175776,Icelandic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772740,Icelandic sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45769393,Ido language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181708,Idoma language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180213,Igorot language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181700,Ijo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180061,Independent language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772744,Indian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182516,Indic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181527,Indo-European language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180199,Indo-Iranian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183663,Indonesian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767247,Indonesian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182480,Ingush language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175746,Interlingua,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767274,Inuit sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4231509,Inuktitut language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4233020,Inupiaq language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180205,Iranian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180182,Irish Gaelic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767220,Irish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182811,Iroquoian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767234,Israeli sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182507,Italian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767221,Italian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181533,Italic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182940,Itelmen language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767275,Jamaican Country sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181524,Japanese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767248,Japanese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175913,Jarai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175914,Javanese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175752,Jivaro language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183937,Jonkha language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772743,Jordanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181389,Kabardian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181701,Kabre language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180042,Kabyle language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182956,Kachin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4230717,Kalaallisut language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181518,Kalenjin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182358,Kalmyk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180233,Kamba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182495,Kanarese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181721,Kanuri language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178570,Kara-Kalpak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175741,Karachai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181402,Karamojong language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183938,Karen language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182518,Kashmiri language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183091,Kashubian Polish dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183818,Kate language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182474,Kazakh language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182815,Kekchi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767189,Kenyan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182813,Keresan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183817,Ket language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178568,Khakass language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175922,Khasi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183770,Khmer language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180207,Khoisan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181688,Kikuyu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182829,Kiowa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181379,Kirgiz language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181689,Kisii language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177310,Kissi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177461,Kituba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180380,Klamath language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181731,Komi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183782,Kongo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175907,Konkani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175771,Korean language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767250,Korean sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175926,Korku language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182941,Koryak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180361,Kpelle language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181720,Krio language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177305,Kru language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481997,Kuanyama language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180057,Kui language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182475,Kumyk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175909,Kurdish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175766,Kurukh language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4233169,Kutchi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771447,Kuwaiti sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183792,Kwa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177452,Kwakiutl language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181728,Lahu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181387,Lak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181520,Lango language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181735,Language commonly spoken in Europe,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182952,Lao language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767249,Laos sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182961,Lappish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181534,Latin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180064,Latvian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767222,Latvian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767239,Lebanese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182520,Lehnda punjabi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181398,Lenca language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177468,Lepcha language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175750,Lezgin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767190,Libyan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180382,Lillooet language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483319,Limburgan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181690,Lingala language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183939,Lisu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175772,Lithuanian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767223,Lithuanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181710,Loma language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180349,Lomwe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181517,Lotuko language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181691,Lozi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175931,Luba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180052,Lugbara language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183783,Luhya language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180350,Lunda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175760,Luo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183940,Lushei language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182505,Luxembourgian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183784,Lwea language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767215,Lyons sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183661,Maba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180209,Maban language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767251,Macao sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175905,Macedonian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181394,Macro-Chibchan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175757,Madi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180214,Madurese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45766737,Makaton vocabulary,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183785,Makonde language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175932,Makua language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180215,Malagasy language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772735,Malagasy sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183666,Malay language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180058,Malayalam language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183662,Malayo-Polynesian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771451,Malaysian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180202,Maldivian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181711,Malinke language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175735,Maltese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767224,Maltese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180375,Mam language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178565,Manchu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181724,Mandarin dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181709,Mande language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182487,Mangbetu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481069,Manx language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180223,Maori language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181552,Maranao language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182519,Marathi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181732,Mari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183819,Marind language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772749,Maritime sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183671,Marquesan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175916,Marshallese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175759,Masai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183807,Maya language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177436,Mayan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767276,Mayan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183815,Mayo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180378,Mazahua language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175910,Mazanderani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177441,Mazatec language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767193,Mbour sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181564,Mbum language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180351,Mbundu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182957,Meithei language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180221,Melanesian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177307,Mende language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,37116400,Menominee language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175933,Meru language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767277,Mexican sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182947,Miao language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182946,Miao-Yao language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177433,Micmac language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183670,Micronesian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767176,Middle Eastern sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183667,Minangkabau language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4209117,Mirpuri language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180051,Miskito language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177453,Mixe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183810,Mixtec language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182936,Mohave language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183805,Mohawk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182508,Moldavian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772741,Moldova sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175923,Mon language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181561,Mon-Khmer language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175934,Mongo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182357,Mongolian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767253,Mongolian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177472,Mordvin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767191,Moroccan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177299,Mossi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175918,Motu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767192,Mozambican sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175925,Munda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183773,Mundari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181525,Muong language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183941,Murmi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181385,Murngin language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182818,Muskogean language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182830,Nahuatl language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177469,Nakhi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45773543,Namibian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181377,Nanai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183801,Naskapi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177313,Native North American language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181555,Nauruan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182808,Navajo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180352,Ndebele language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483759,Ndonga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181733,Nenets language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767254,Nepalese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175908,Nepali language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771452,New Zealand sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183942,Newari language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183811,Nez Perce language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181693,Ngala language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181734,Nganasan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767278,Nicaraguan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183771,Nicobarese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181563,Niger-Congo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767194,Nigerian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182488,Nilotic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182943,Nimboran language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180224,Niuean language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181717,Nivkh language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183786,Nkole language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178571,Nogai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182935,Nootka language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181373,North Arabic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483852,North Ndebele language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175739,Northeastern Turkic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177464,Northern Fukienese dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175775,Northern Germanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40482032,Northern Sami language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178562,Northern Tungusic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175740,Northwestern Turkic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481150,Norwegian Bokmål language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481129,Norwegian Nynorsk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181530,Norwegian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771443,Norwegian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40482479,Nousu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175763,Nubian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175761,Nuer language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181725,Nung language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177306,Nupe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181694,Nyamwezi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180353,Nyanja language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181695,Nyoro language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181384,Occidental,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4229842,Occitan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,37116383,Odawa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,37116367,Oji-Cree language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181716,Ojibwa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177443,Okanagan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177446,Omaha language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771448,Omani sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180374,Oneida language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181542,Oriya language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182349,Oromo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177447,Osage language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180206,Ossetian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177473,Ostyak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183809,Oto-Manguean language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182820,Otomi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182831,Paiute language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767255,Pakistan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180203,Pakistani punjabi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175915,Palau language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175924,Palaung language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180391,Paleo-Asiatic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767236,Palestinian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45769392,Pali language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183668,Pampangan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767279,Panamanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181553,Pangasinan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175754,Panoan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182832,Papago language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177462,Papiamento language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177458,Papuan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4052347,Pashtu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183802,Passamaquoddy language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180372,Pawnee language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181696,Pedi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767252,Penang sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180379,Penutian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183659,Persian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767237,Persian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767280,Peruvian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767245,Philippine sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183821,Pidgin English language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181719,Pidgin and Créole language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183816,Pima language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45773544,Plains Indian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182945,Police Motu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182515,Polish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767225,Polish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180222,Polynesian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175917,Ponapean language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181536,Portuguese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767226,Portuguese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182510,Provencal language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772750,Providencia sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767281,Puerto Rican sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4059175,Punjabi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182953,Puyi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767240,Qatari sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175753,Quechua language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182816,Quiche language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181543,Rajasthani language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183769,Rarotongan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183669,Rhade language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180192,Rhaeto-Romanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175727,Riffian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175902,Romance language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767227,Romanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4259983,Romansh language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181544,Romany language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175935,Ruanda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181537,Rumanian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181697,Rundi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181539,Russian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771444,Russian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183930,Saharan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178559,Saho language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181381,Salar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182823,Salishan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767282,Salvadoran sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767256,Samoa sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181558,Samoan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177475,Samoyed language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181549,Sandawe language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180228,Sango language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183656,Sanskrit language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183774,Santali language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181400,Sara language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183928,Saramacca language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180193,Sardinian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767238,Saudi Arabian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175927,Savara language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181529,Scottish Gaelic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181562,Sedang language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772745,Selangor sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183946,Selkup language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177440,Seminole language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180044,Semitic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182812,Seneca language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177300,Senufo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483799,Serbian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180196,Serbo-Croatian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180364,Serer language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177467,Shan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178555,Shawia language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175762,Shilluk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175728,Shluh language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175936,Shona language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180387,Shoshone language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177444,Shuswap language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181378,Sibo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178560,Sidamo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767195,Sierra Leone sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40483152,Sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771442,Sign language of the Americas,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180204,Sikh punjabi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181545,Sindhi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771453,Singapore sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183657,Sinhalese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181722,Sinitic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183932,Sino-Tibetan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182824,Siouan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180383,Sioux language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175903,Slavic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181540,Slovak language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767228,Slovakian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182513,Slovenian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767233,Slovenian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182350,Somali language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772736,Somali sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182959,Songhai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181712,Soninke language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180198,Sorbian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183787,Sotho language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767196,South African sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175734,South Arabic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481151,South Ndebele language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175742,Southeastern Turkic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178688,Southern Caucasian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182949,Southern Fukienese dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180054,Southern Nilotic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180195,Southern Slavic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4234468,Southern Sotho language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181376,Southern Tungusic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181382,Southwestern Turkic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182511,Spanish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767229,Spanish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767257,Sri Lankan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182491,Suk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175937,Sukuma language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181554,Sundanese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181713,Susu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181698,Swahili language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183788,Swazi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175777,Swedish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45771445,Swedish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180191,Swiss French dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177478,Swiss German dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767214,Swiss-French sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767217,Swiss-German sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181541,Sylhety,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175732,Syriac language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182479,Tabasaran language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181393,Tacana language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180216,Tagalog language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175921,Tahitian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177465,Tai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767258,Taiwanese sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181547,Tajik language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183929,Taki-Taki language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175729,Tamazight language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181521,Tamil language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182827,Tanoan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767197,Tanzanian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180388,Tarahumara language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180384,Tarasco language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178572,Tatar language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183931,Teda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175767,Telugu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177311,Temne language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182489,Teso language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40486431,Tetum language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177448,Tewa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183934,Thai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767259,Thai sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183812,Thompson language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177470,Tibetan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772746,Tibetan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181726,Tibeto-Burman language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181372,Tigre language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182356,Tigrinya language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177296,Tiv language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182828,Tiwa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177449,Tlingit language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175919,Tolai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181559,Tongan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177291,Toro language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183814,Totonac language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183813,Towa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180219,Trukese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182822,Tsimshian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177292,Tsonga language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183789,Tswana language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180225,Tuamotu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175730,Tuareg language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180059,Tulu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177293,Tumbuka language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183935,Tung language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175737,Tungusic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767198,Tunisian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180049,Tupi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182490,Turkana language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178566,Turkic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175744,Turkish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767230,Turkish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182476,Turkmen language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,37116401,Tuscarora language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182359,Tuvinian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183796,Twi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182817,Tzeltal language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180376,Tzotzil language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183944,Udmurt language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767199,Ugandan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182962,Ugric language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178573,Uigur language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175904,Ukrainian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767231,Ukrainian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767241,United Arab Emirates sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181729,Uralic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4059788,Urdu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183797,Urhobo language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767265,Urubú-Kaapor sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767283,Uruguayan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177451,Ute language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177450,Uto-Aztecan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181560,Uvea language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175743,Uzbek language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183799,Vai language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772742,Valencian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180354,Venda language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767284,Venezuelan sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181526,Vietnamese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180217,Visayan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177474,Vogul language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45769391,Volapuk language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180227,Wa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180389,Wakashan language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481577,Walloon language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175774,Welsh language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180362,West Atlantic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178689,Western Caucasian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,40481130,Western Frisian language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182502,Western Germanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180055,Western Nilotic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182514,Western Slavic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180358,Western Sudanic language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182826,Winnebago language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177312,Wolof language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182347,World languages,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182951,Wu dialect,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180355,Xhosa language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175920,Yabim language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177442,Yakima language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4178685,Yakut language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177294,Yao language - Bantu,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177477,Yao language - Sino-Tibet,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180220,Yapese language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180356,Yaunde language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182958,Yi language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181531,Yiddish language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767235,Yiddish sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4183798,Yoruba language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767232,Yugoslavian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177457,Yukagir language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182937,Yuma language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4180390,Yuman language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45767200,Zambian sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4175928,Zande language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182821,Zapotec language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,45772737,Zimbabwe sign language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177454,Zoque language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4182938,Zoquean language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4181699,Zulu language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177456,Zuni language,Observation,SNOMED,Qualifier Value,S +note,language_concept_id,4177455,Zunian language,Observation,SNOMED,Qualifier Value,S note,note_type_concept_id,44814638,Admission note,Type Concept,Note Type,Note Type,S note,note_type_concept_id,44814643,Ancillary report,Type Concept,Note Type,Note Type,S note,note_type_concept_id,44814637,Discharge summary,Type Concept,Note Type,Note Type,S @@ -649,7 +1468,6 @@ person,race_concept_id,4264197,Bruneians,Race,SNOMED,Social Context, person,race_concept_id,45479793,Bulgarian,Race,Read,Read, person,race_concept_id,4167621,Bulgarian,Race,SNOMED,Social Context, person,race_concept_id,1397910,Bulgarian Roma,Race,Read,Read, -person,race_concept_id,37394642,Bulgarian Roma,Race,SNOMED,Social Context, person,race_concept_id,36717066,Bulgarian Roma,Race,SNOMED,Social Context, person,race_concept_id,4221071,Buriats,Race,SNOMED,Social Context, person,race_concept_id,4309789,Bushmen,Race,SNOMED,Social Context, @@ -676,10 +1494,8 @@ person,race_concept_id,4012612,Coushatta,Race,SNOMED,Social Context, person,race_concept_id,4182121,Cuna,Race,SNOMED,Social Context, person,race_concept_id,45473117,Czech,Race,Read,Read, person,race_concept_id,4102622,Czech,Race,SNOMED,Social Context, -person,race_concept_id,44803061,Czech,Race,SNOMED,Social Context, person,race_concept_id,1397642,Czech Roma,Race,Read,Read, person,race_concept_id,36713937,Czech Roma,Race,SNOMED,Social Context, -person,race_concept_id,37394638,Czech Roma,Race,SNOMED,Social Context, person,race_concept_id,4031845,Danes,Race,SNOMED,Social Context, person,race_concept_id,4185580,Dieguenos,Race,SNOMED,Social Context, person,race_concept_id,4317261,Dutch,Race,SNOMED,Social Context, @@ -735,14 +1551,13 @@ person,race_concept_id,4297991,Huichol,Race,SNOMED,Social Context, person,race_concept_id,4273384,Hungarian,Race,SNOMED,Social Context, person,race_concept_id,1398020,Hungarian Roma,Race,Read,Read, person,race_concept_id,36713940,Hungarian Roma,Race,SNOMED,Social Context, -person,race_concept_id,37394639,Hungarian Roma,Race,SNOMED,Social Context, person,race_concept_id,4098866,Hututu,Race,SNOMED,Social Context, person,race_concept_id,45767091,Iban,Race,SNOMED,Social Context, person,race_concept_id,4245024,Ibo,Race,SNOMED,Social Context, person,race_concept_id,4248713,Icelanders,Race,SNOMED,Social Context, person,race_concept_id,4210186,Inca,Race,SNOMED,Social Context, -person,race_concept_id,45483083,Indian,Race,Read,Read, person,race_concept_id,45446239,Indian,Race,Read,Read, +person,race_concept_id,45483083,Indian,Race,Read,Read, person,race_concept_id,4091016,Indian,Race,SNOMED,Social Context, person,race_concept_id,4185920,Indian,Race,SNOMED,Social Context, person,race_concept_id,4090392,Indian sub-continent,Race,SNOMED,Social Context, @@ -815,7 +1630,6 @@ person,race_concept_id,4337671,Nez Percé,Race,SNOMED,Social Context, person,race_concept_id,4229603,Nigerians,Race,SNOMED,Social Context, person,race_concept_id,45509567,Niuean,Race,Read,Read, person,race_concept_id,4085489,Niuean,Race,SNOMED,Social Context, -person,race_concept_id,9178,Non-white,Race,Race,Race, person,race_concept_id,4077346,North African Arab,Race,SNOMED,Social Context, person,race_concept_id,45449500,North African Arab (NMO),Race,Read,Read, person,race_concept_id,4063377,Norwegians,Race,SNOMED,Social Context, @@ -842,7 +1656,6 @@ person,race_concept_id,45506206,Other European in New Zealand,Race,Read,Read, person,race_concept_id,4085488,Other European in New Zealand,Race,SNOMED,Social Context, person,race_concept_id,45442864,Other New Zealand ethnic group,Race,Read,Read, person,race_concept_id,45502956,Other Pacific ethnic group,Race,Read,Read, -person,race_concept_id,8522,Other Race,Race,Race,Race, person,race_concept_id,45462997,Other black ethnic group,Race,Read,Read, person,race_concept_id,4202555,Other black ethnic group,Race,SNOMED,Social Context, person,race_concept_id,45449501,Other ethnic NEC (NMO),Race,Read,Read, @@ -872,7 +1685,6 @@ person,race_concept_id,4073535,Papuans,Race,SNOMED,Social Context, person,race_concept_id,4217467,Pehuenches,Race,SNOMED,Social Context, person,race_concept_id,4102599,Poles,Race,SNOMED,Social Context, person,race_concept_id,1397643,Polish Roma,Race,Read,Read, -person,race_concept_id,37394640,Polish Roma,Race,SNOMED,Social Context, person,race_concept_id,36713941,Polish Roma,Race,SNOMED,Social Context, person,race_concept_id,4053167,Polynesians,Race,SNOMED,Social Context, person,race_concept_id,45469813,Portuguese,Race,Read,Read, @@ -905,11 +1717,9 @@ person,race_concept_id,4051279,Race: West indian,Race,SNOMED,Clinical Finding, person,race_concept_id,4216292,Racial group,Race,SNOMED,Social Context, person,race_concept_id,36717683,Roma,Race,SNOMED,Social Context, person,race_concept_id,1397856,Roma ethnic group,Race,Read,Read, -person,race_concept_id,37398747,Roma ethnic group,Race,SNOMED,Social Context, person,race_concept_id,45439572,Romanian,Race,Read,Read, person,race_concept_id,40483304,Romanian,Race,SNOMED,Social Context, person,race_concept_id,1397881,Romanian Roma,Race,Read,Read, -person,race_concept_id,37394641,Romanian Roma,Race,SNOMED,Social Context, person,race_concept_id,36713938,Romanian Roma,Race,SNOMED,Social Context, person,race_concept_id,4309511,Russians,Race,SNOMED,Social Context, person,race_concept_id,4077735,Saipanese,Race,SNOMED,Social Context, @@ -924,11 +1734,9 @@ person,race_concept_id,4219475,Shona,Race,SNOMED,Social Context, person,race_concept_id,4317523,Shoshone,Race,SNOMED,Social Context, person,race_concept_id,4103243,Siamese,Race,SNOMED,Social Context, person,race_concept_id,45483084,Slovak,Race,Read,Read, -person,race_concept_id,44813053,Slovak,Race,SNOMED,Social Context, person,race_concept_id,4267217,Slovak,Race,SNOMED,Social Context, person,race_concept_id,1397882,Slovak Roma,Race,Read,Read, person,race_concept_id,36713939,Slovak Roma,Race,SNOMED,Social Context, -person,race_concept_id,37394635,Slovak Roma,Race,SNOMED,Social Context, person,race_concept_id,4167520,Solomon Islanders,Race,SNOMED,Social Context, person,race_concept_id,4263713,Somalis,Race,SNOMED,Social Context, person,race_concept_id,4030302,South Asian AND/OR Australian aborigine,Race,SNOMED,Social Context, @@ -964,7 +1772,6 @@ person,race_concept_id,4195322,Turks,Race,SNOMED,Social Context, person,race_concept_id,4030735,Tutsi,Race,SNOMED,Social Context, person,race_concept_id,4296606,Ugandans,Race,SNOMED,Social Context, person,race_concept_id,37116384,Ukrainian,Race,SNOMED,Social Context, -person,race_concept_id,8552,Unknown,Race,Race,Race, person,race_concept_id,4218674,Unknown racial group,Race,SNOMED,Social Context, person,race_concept_id,4148384,Utes,Race,SNOMED,Social Context, person,race_concept_id,4269914,Venezuelan Indians,Race,SNOMED,Social Context, @@ -1361,10 +2168,8 @@ visit_occurrence,visit_concept_id,32155,Ambulatory Surgery Center@Non-Payment/Ze visit_occurrence,visit_concept_id,32161,Ambulatory Surgery Center@Replacement of Prior Claim,Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,32162,Ambulatory Surgery Center@Void/ Cancel of Prior claim (a),Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,38004679,Ambulatory Surgical Center,Visit,Medicare Specialty,Visit, -visit_occurrence,visit_concept_id,44777700,Antenatal clinic,Visit,HES Specialty,Visit, visit_occurrence,visit_concept_id,32592,Born inside this hospital,Visit,UB04 Point of Origin,UB04 Point of Origin, visit_occurrence,visit_concept_id,32593,Born outside this hospital,Visit,UB04 Point of Origin,UB04 Point of Origin, -visit_occurrence,visit_concept_id,38004313,Christian Science Nursing Facility,Visit,NUCC,Visit, visit_occurrence,visit_concept_id,32194,Clinic or physicians office,Visit,UB04 Point of Origin,UB04 Point of Origin, visit_occurrence,visit_concept_id,32090,Clinic- Hosp Based or Indep Renal Dialysis Center@Admit through Discharge Claim,Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,32097,Clinic- Hosp Based or Indep Renal Dialysis Center@CWF Initiated Adjustment Claim,Visit,UB04 Typ bill,Visit, @@ -1601,7 +2406,6 @@ visit_occurrence,visit_concept_id,32346,Hospital-Swing Beds@Interim-Cont claim ( visit_occurrence,visit_concept_id,32345,Hospital-Swing Beds@Interim-first claim,Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,32347,Hospital-Swing Beds@Interim-last claim (b),Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,32348,Hospital-Swing Beds@Replacement of Prior Claim,Visit,UB04 Typ bill,Visit, -visit_occurrence,visit_concept_id,38004292,"Hospitals, Christian Science Sanitorium",Visit,NUCC,Visit, visit_occurrence,visit_concept_id,32199,Information not available,Visit,UB04 Point of Origin,UB04 Point of Origin, visit_occurrence,visit_concept_id,581382,Inpatient Intensive Care Facility,Visit,CMS Place of Service,Visit, visit_occurrence,visit_concept_id,8970,Inpatient Long-term Care,Visit,CMS Place of Service,Visit, @@ -1636,13 +2440,11 @@ visit_occurrence,visit_concept_id,32078,Intermediate Care - Level 2 (Including M visit_occurrence,visit_concept_id,38004517,Intermediate Care Nursing Facility,Visit,Medicare Specialty,Visit, visit_occurrence,visit_concept_id,38004304,Intermediate Mental Care Facility,Visit,NUCC,Visit, visit_occurrence,visit_concept_id,32604,Internal Transfer per Legal Guidelines,Visit,UB04 Pt dis status,UB04 Pt dis status, -visit_occurrence,visit_concept_id,44777715,Joint consultant clinic,Visit,HES Specialty,Visit, visit_occurrence,visit_concept_id,38004355,Land Transport Ambulance,Visit,NUCC,Visit, visit_occurrence,visit_concept_id,32216,Left against medical advice or discontinued care.,Visit,UB04 Pt dis status,UB04 Pt dis status, visit_occurrence,visit_concept_id,32270,Licensed Freestanding Emergency Medical Facility,Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,32135,Licensed Freestanding Emergency Medical Facility@Admit through Discharge Claim,Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,38004273,Medicare Defined Swing Bed Hospital Unit,Visit,NUCC,Visit, -visit_occurrence,visit_concept_id,38004289,Military Community Health Hospital,Visit,NUCC,Visit, visit_occurrence,visit_concept_id,32595,Neonate discharged to another hospital for neonatal aftercare,Visit,UB04 Pt dis status,UB04 Pt dis status, visit_occurrence,visit_concept_id,32587,Normal Delivery,Visit,UB04 Point of Origin,UB04 Point of Origin, visit_occurrence,visit_concept_id,32591,Not Available,Visit,UB04 Point of Origin,UB04 Point of Origin, @@ -1659,7 +2461,6 @@ visit_occurrence,visit_concept_id,8677,Outpatient NEC,Visit,CMS Place of Service visit_occurrence,visit_concept_id,32257,Outpatient Skilled Nursing Facility Visit,Visit,UB04 Typ bill,Visit, visit_occurrence,visit_concept_id,8562,Pharmacy,Visit,CMS Place of Service,Visit, visit_occurrence,visit_concept_id,38004520,Pharmacy,Visit,Medicare Specialty,Visit, -visit_occurrence,visit_concept_id,44777701,Postnatal clinic,Visit,HES Specialty,Visit, visit_occurrence,visit_concept_id,32588,Premature Delivery,Visit,UB04 Point of Origin,UB04 Point of Origin, visit_occurrence,visit_concept_id,38004271,Psychiatric Hospital Unit,Visit,NUCC,Visit, visit_occurrence,visit_concept_id,32586,Readmission to Same Home Health Agency,Visit,UB04 Point of Origin,UB04 Point of Origin, diff --git a/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_MAR-18.csv b/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_MAR-18.csv deleted file mode 100644 index 6911a13a..00000000 --- a/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/CDMConceptIDHints_v5.0_MAR-18.csv +++ /dev/null @@ -1,1441 +0,0 @@ -omop_cdm_table,omop_cdm_field,concept_id,concept_name,standard_concept -condition_occurrence,condition_type_concept_id,45756852,Carrier claim detail - 10th position,S -condition_occurrence,condition_type_concept_id,45756853,Carrier claim detail - 11th position,S -condition_occurrence,condition_type_concept_id,45756854,Carrier claim detail - 12th position,S -condition_occurrence,condition_type_concept_id,45756855,Carrier claim detail - 13th position,S -condition_occurrence,condition_type_concept_id,45756843,Carrier claim detail - 1st position,S -condition_occurrence,condition_type_concept_id,45756844,Carrier claim detail - 2nd position,S -condition_occurrence,condition_type_concept_id,45756845,Carrier claim detail - 3rd position,S -condition_occurrence,condition_type_concept_id,45756846,Carrier claim detail - 4th position,S -condition_occurrence,condition_type_concept_id,45756847,Carrier claim detail - 5th position,S -condition_occurrence,condition_type_concept_id,45756848,Carrier claim detail - 6th position,S -condition_occurrence,condition_type_concept_id,45756849,Carrier claim detail - 7th position,S -condition_occurrence,condition_type_concept_id,45756850,Carrier claim detail - 8th position,S -condition_occurrence,condition_type_concept_id,45756851,Carrier claim detail - 9th position,S -condition_occurrence,condition_type_concept_id,45756835,Carrier claim header - 1st position,S -condition_occurrence,condition_type_concept_id,45756836,Carrier claim header - 2nd position,S -condition_occurrence,condition_type_concept_id,45756837,Carrier claim header - 3rd position,S -condition_occurrence,condition_type_concept_id,45756838,Carrier claim header - 4th position,S -condition_occurrence,condition_type_concept_id,45756839,Carrier claim header - 5th position,S -condition_occurrence,condition_type_concept_id,45756840,Carrier claim header - 6th position,S -condition_occurrence,condition_type_concept_id,45756841,Carrier claim header - 7th position,S -condition_occurrence,condition_type_concept_id,45756842,Carrier claim header - 8th position,S -condition_occurrence,condition_type_concept_id,38000246,Condition era - 0 days persistence window,S -condition_occurrence,condition_type_concept_id,38000247,Condition era - 30 days persistence window,S -condition_occurrence,condition_type_concept_id,5086,Condition tested for by diagnostic procedure,S -condition_occurrence,condition_type_concept_id,42894222,EHR Chief Complaint,S -condition_occurrence,condition_type_concept_id,45754805,EHR Episode Entry,S -condition_occurrence,condition_type_concept_id,32019,EHR billing diagnosis,S -condition_occurrence,condition_type_concept_id,32020,EHR encounter diagnosis,S -condition_occurrence,condition_type_concept_id,38000245,EHR problem list entry,S -condition_occurrence,condition_type_concept_id,44786628,First Position Condition,S -condition_occurrence,condition_type_concept_id,38000193,Inpatient detail - 10th position,S -condition_occurrence,condition_type_concept_id,38000194,Inpatient detail - 11th position,S -condition_occurrence,condition_type_concept_id,38000195,Inpatient detail - 12th position,S -condition_occurrence,condition_type_concept_id,38000196,Inpatient detail - 13th position,S -condition_occurrence,condition_type_concept_id,38000197,Inpatient detail - 14th position,S -condition_occurrence,condition_type_concept_id,38000198,Inpatient detail - 15th position,S -condition_occurrence,condition_type_concept_id,44818709,Inpatient detail - 16th position,S -condition_occurrence,condition_type_concept_id,44818710,Inpatient detail - 17th position,S -condition_occurrence,condition_type_concept_id,44818711,Inpatient detail - 18th position,S -condition_occurrence,condition_type_concept_id,44818712,Inpatient detail - 19th position,S -condition_occurrence,condition_type_concept_id,38000184,Inpatient detail - 1st position,S -condition_occurrence,condition_type_concept_id,44818713,Inpatient detail - 20th position,S -condition_occurrence,condition_type_concept_id,38000185,Inpatient detail - 2nd position,S -condition_occurrence,condition_type_concept_id,38000186,Inpatient detail - 3rd position,S -condition_occurrence,condition_type_concept_id,38000187,Inpatient detail - 4th position,S -condition_occurrence,condition_type_concept_id,38000188,Inpatient detail - 5th position,S -condition_occurrence,condition_type_concept_id,38000189,Inpatient detail - 6th position,S -condition_occurrence,condition_type_concept_id,38000190,Inpatient detail - 7th position,S -condition_occurrence,condition_type_concept_id,38000191,Inpatient detail - 8th position,S -condition_occurrence,condition_type_concept_id,38000192,Inpatient detail - 9th position,S -condition_occurrence,condition_type_concept_id,38000183,Inpatient detail - primary,S -condition_occurrence,condition_type_concept_id,38000209,Inpatient header - 10th position,S -condition_occurrence,condition_type_concept_id,38000210,Inpatient header - 11th position,S -condition_occurrence,condition_type_concept_id,38000211,Inpatient header - 12th position,S -condition_occurrence,condition_type_concept_id,38000212,Inpatient header - 13th position,S -condition_occurrence,condition_type_concept_id,38000213,Inpatient header - 14th position,S -condition_occurrence,condition_type_concept_id,38000214,Inpatient header - 15th position,S -condition_occurrence,condition_type_concept_id,38000200,Inpatient header - 1st position,S -condition_occurrence,condition_type_concept_id,38000201,Inpatient header - 2nd position,S -condition_occurrence,condition_type_concept_id,38000202,Inpatient header - 3rd position,S -condition_occurrence,condition_type_concept_id,38000203,Inpatient header - 4th position,S -condition_occurrence,condition_type_concept_id,38000204,Inpatient header - 5th position,S -condition_occurrence,condition_type_concept_id,38000205,Inpatient header - 6th position,S -condition_occurrence,condition_type_concept_id,38000206,Inpatient header - 7th position,S -condition_occurrence,condition_type_concept_id,38000207,Inpatient header - 8th position,S -condition_occurrence,condition_type_concept_id,38000208,Inpatient header - 9th position,S -condition_occurrence,condition_type_concept_id,38000199,Inpatient header - primary,S -condition_occurrence,condition_type_concept_id,43542353,Observation recorded from EHR,S -condition_occurrence,condition_type_concept_id,38000224,Outpatient detail - 10th position,S -condition_occurrence,condition_type_concept_id,38000225,Outpatient detail - 11th position,S -condition_occurrence,condition_type_concept_id,38000226,Outpatient detail - 12th position,S -condition_occurrence,condition_type_concept_id,38000227,Outpatient detail - 13th position,S -condition_occurrence,condition_type_concept_id,38000228,Outpatient detail - 14th position,S -condition_occurrence,condition_type_concept_id,38000229,Outpatient detail - 15th position,S -condition_occurrence,condition_type_concept_id,38000215,Outpatient detail - 1st position,S -condition_occurrence,condition_type_concept_id,38000216,Outpatient detail - 2nd position,S -condition_occurrence,condition_type_concept_id,38000217,Outpatient detail - 3rd position,S -condition_occurrence,condition_type_concept_id,38000218,Outpatient detail - 4th position,S -condition_occurrence,condition_type_concept_id,38000219,Outpatient detail - 5th position,S -condition_occurrence,condition_type_concept_id,38000220,Outpatient detail - 6th position,S -condition_occurrence,condition_type_concept_id,38000221,Outpatient detail - 7th position,S -condition_occurrence,condition_type_concept_id,38000222,Outpatient detail - 8th position,S -condition_occurrence,condition_type_concept_id,38000223,Outpatient detail - 9th position,S -condition_occurrence,condition_type_concept_id,38000239,Outpatient header - 10th position,S -condition_occurrence,condition_type_concept_id,38000240,Outpatient header - 11th position,S -condition_occurrence,condition_type_concept_id,38000241,Outpatient header - 12th position,S -condition_occurrence,condition_type_concept_id,38000242,Outpatient header - 13th position,S -condition_occurrence,condition_type_concept_id,38000243,Outpatient header - 14th position,S -condition_occurrence,condition_type_concept_id,38000244,Outpatient header - 15th position,S -condition_occurrence,condition_type_concept_id,38000230,Outpatient header - 1st position,S -condition_occurrence,condition_type_concept_id,38000231,Outpatient header - 2nd position,S -condition_occurrence,condition_type_concept_id,38000232,Outpatient header - 3rd position,S -condition_occurrence,condition_type_concept_id,38000233,Outpatient header - 4th position,S -condition_occurrence,condition_type_concept_id,38000234,Outpatient header - 5th position,S -condition_occurrence,condition_type_concept_id,38000235,Outpatient header - 6th position,S -condition_occurrence,condition_type_concept_id,38000236,Outpatient header - 7th position,S -condition_occurrence,condition_type_concept_id,38000237,Outpatient header - 8th position,S -condition_occurrence,condition_type_concept_id,38000238,Outpatient header - 9th position,S -condition_occurrence,condition_type_concept_id,45905770,Patient Self-Reported Condition,S -condition_occurrence,condition_type_concept_id,44786627,Primary Condition,S -condition_occurrence,condition_type_concept_id,42898140,Referral record,S -condition_occurrence,condition_type_concept_id,44786629,Secondary Condition,S -cost,cost_concept_id,32017,Accumulated Deductible,S -cost,cost_concept_id,32000,Allowed,S -cost,cost_concept_id,31978,Allowed,S -cost,cost_concept_id,31979,Allowed (calculated),S -cost,cost_concept_id,32001,Allowed (calculated),S -cost,cost_concept_id,31984,Average Wholesale,S -cost,cost_concept_id,32006,Average Wholesale,S -cost,cost_concept_id,32009,Balance bill,S -cost,cost_concept_id,31987,Balance bill,S -cost,cost_concept_id,31993,Bundled payment,S -cost,cost_concept_id,32015,Bundled payment,S -cost,cost_concept_id,32011,Capitation,S -cost,cost_concept_id,31989,Capitation,S -cost,cost_concept_id,32014,Care Coordination Fee,S -cost,cost_concept_id,31992,Care Coordination Fee,S -cost,cost_concept_id,31973,Charged,S -cost,cost_concept_id,31995,Charged,S -cost,cost_concept_id,31997,Coinsurance,S -cost,cost_concept_id,31975,Coinsurance,S -cost,cost_concept_id,31996,Copayment,S -cost,cost_concept_id,31974,Copayment,S -cost,cost_concept_id,31985,Cost,S -cost,cost_concept_id,32007,Cost,S -cost,cost_concept_id,31976,Deductible,S -cost,cost_concept_id,31998,Deductible,S -cost,cost_concept_id,31982,Fee,S -cost,cost_concept_id,32004,Fee,S -cost,cost_concept_id,32010,Incentive,S -cost,cost_concept_id,31988,Incentive,S -cost,cost_concept_id,32012,Lifetime limit,S -cost,cost_concept_id,31990,Lifetime limit,S -cost,cost_concept_id,32013,Net costs,S -cost,cost_concept_id,31991,Net costs,S -cost,cost_concept_id,32003,Out of pocket,S -cost,cost_concept_id,31981,Out of pocket,S -cost,cost_concept_id,31980,Paid,S -cost,cost_concept_id,32002,Paid,S -cost,cost_concept_id,31983,Pharmacy ingredient,S -cost,cost_concept_id,32005,Pharmacy ingredient,S -cost,cost_concept_id,31972,"Premium, employer contribution",S -cost,cost_concept_id,31971,"Premium, member contribution",S -cost,cost_concept_id,31994,Rebate payment,S -cost,cost_concept_id,32016,Rebate payment,S -cost,cost_concept_id,31977,Recovered,S -cost,cost_concept_id,31999,Recovered,S -cost,cost_concept_id,31986,"Usual, customary and reasonable",S -cost,cost_concept_id,32008,"Usual, customary and reasonable",S -cost,cost_type_concept_id,5032,"Amount charged to the patient or the payer by the provider, list price", -cost,cost_type_concept_id,5031,Amount paid by the patient or reimbursed by the payer, -cost,cost_type_concept_id,5033,Cost incurred by the provider, -death,death_type_concept_id,38003617,Death Certificate contributory cause,S -death,death_type_concept_id,38003570,Death Certificate immediate cause,S -death,death_type_concept_id,38003618,Death Certificate underlying cause,S -death,death_type_concept_id,255,EHR Record contributory cause,S -death,death_type_concept_id,254,EHR Record immediate cause,S -death,death_type_concept_id,256,EHR Record underlying cause,S -death,death_type_concept_id,44818516,"EHR discharge status ""Expired""",S -death,death_type_concept_id,38003569,"EHR record patient status ""Deceased""",S -death,death_type_concept_id,38003568,Medical claim DRG code indicating death,S -death,death_type_concept_id,38003567,Medical claim diagnostic code indicating death,S -death,death_type_concept_id,38003566,"Medical claim discharge status ""Died""",S -death,death_type_concept_id,242,Other government reported or identified death,S -death,death_type_concept_id,38003565,"Payer enrollment status ""Deceased""",S -death,death_type_concept_id,261,US Social Security Death Master File record,S -device_exposure,device_type_concept_id,44818707,EHR Detail,S -device_exposure,device_type_concept_id,44818705,Inferred from procedure claim,S -device_exposure,device_type_concept_id,44818706,Patient reported device,S -drug_exposure,drug_type_concept_id,581452,Dispensed in Outpatient office,S -drug_exposure,drug_type_concept_id,38000181,Drug era - 0 days persistence window,S -drug_exposure,drug_type_concept_id,38000182,Drug era - 30 days persistence window,S -drug_exposure,drug_type_concept_id,38000180,Inpatient administration,S -drug_exposure,drug_type_concept_id,38000178,Medication list entry,S -drug_exposure,drug_type_concept_id,44787730,Patient Self-Reported Medication,S -drug_exposure,drug_type_concept_id,38000179,Physician administered drug (identified as procedure),S -drug_exposure,drug_type_concept_id,43542358,Physician administered drug (identified from EHR observation),S -drug_exposure,drug_type_concept_id,581373,Physician administered drug (identified from EHR order),S -drug_exposure,drug_type_concept_id,43542356,Physician administered drug (identified from EHR problem list),S -drug_exposure,drug_type_concept_id,43542357,Physician administered drug (identified from referral record),S -drug_exposure,drug_type_concept_id,38000175,Prescription dispensed in pharmacy,S -drug_exposure,drug_type_concept_id,38000176,Prescription dispensed through mail order,S -drug_exposure,drug_type_concept_id,38000177,Prescription written,S -drug_exposure,drug_type_concept_id,44777970,Randomized Drug,S -drug_exposure,route_concept_id,44783786,Arteriovenous fistula route,S -drug_exposure,route_concept_id,762840,Arteriovenous graft route,S -drug_exposure,route_concept_id,4023156,Auricular,S -drug_exposure,route_concept_id,4222254,Body cavity use,S -drug_exposure,route_concept_id,4181897,Buccal,S -drug_exposure,route_concept_id,4220455,Caudal route,S -drug_exposure,route_concept_id,4168047,Colostomy route,S -drug_exposure,route_concept_id,40486444,Conjunctival route,S -drug_exposure,route_concept_id,40490507,Cutaneous route,S -drug_exposure,route_concept_id,4163765,Dental,S -drug_exposure,route_concept_id,40487501,Digestive tract route,S -drug_exposure,route_concept_id,4186831,Endocervical,S -drug_exposure,route_concept_id,4157756,Endosinusial,S -drug_exposure,route_concept_id,4186832,Endotracheopulmonary,S -drug_exposure,route_concept_id,4167540,Enteral route,S -drug_exposure,route_concept_id,4225555,Epidural,S -drug_exposure,route_concept_id,45956880,Epilesional,S -drug_exposure,route_concept_id,4172191,Esophagostomy route,S -drug_exposure,route_concept_id,4186833,Extraamniotic,S -drug_exposure,route_concept_id,37018288,Extracorporeal route,S -drug_exposure,route_concept_id,4304277,Fistula route,S -drug_exposure,route_concept_id,4168665,Gastro-intestinal stoma route,S -drug_exposure,route_concept_id,4186834,Gastroenteral,S -drug_exposure,route_concept_id,4132254,Gastrostomy route,S -drug_exposure,route_concept_id,4156704,Gingival,S -drug_exposure,route_concept_id,44801748,Haemodiafiltration route,S -drug_exposure,route_concept_id,45956871,Haemodialysis,S -drug_exposure,route_concept_id,45956877,Haemofiltration,S -drug_exposure,route_concept_id,4305679,Ileostomy route,S -drug_exposure,route_concept_id,37397638,Infiltration route,S -drug_exposure,route_concept_id,45956874,Inhalation,S -drug_exposure,route_concept_id,4327128,Interstitial route,S -drug_exposure,route_concept_id,37103746,Intestinal use,S -drug_exposure,route_concept_id,4304882,Intraabdominal route,S -drug_exposure,route_concept_id,4163767,Intraamniotic,S -drug_exposure,route_concept_id,4240824,Intraarterial,S -drug_exposure,route_concept_id,4006860,Intraarticular,S -drug_exposure,route_concept_id,4223965,Intrabiliary route,S -drug_exposure,route_concept_id,4303263,Intrabronchial route,S -drug_exposure,route_concept_id,4163768,Intrabursal,S -drug_exposure,route_concept_id,4303409,Intracameral,S -drug_exposure,route_concept_id,4156705,Intracardiac,S -drug_exposure,route_concept_id,4303676,Intracartilaginous route,S -drug_exposure,route_concept_id,4157757,Intracavernous,S -drug_exposure,route_concept_id,40488317,Intracerebral route,S -drug_exposure,route_concept_id,4224886,Intracerebroventricular,S -drug_exposure,route_concept_id,45956872,Intracervical,S -drug_exposure,route_concept_id,4305993,Intracisternal route,S -drug_exposure,route_concept_id,40489990,Intracolonic route,S -drug_exposure,route_concept_id,4305690,Intracorneal route,S -drug_exposure,route_concept_id,4303667,Intracoronal route,S -drug_exposure,route_concept_id,4186836,Intracoronary,S -drug_exposure,route_concept_id,40492302,Intracorpus cavernosum route,S -drug_exposure,route_concept_id,4171079,Intracranial route,S -drug_exposure,route_concept_id,4156706,Intradermal,S -drug_exposure,route_concept_id,4163769,Intradiscal,S -drug_exposure,route_concept_id,4170083,Intraductal route,S -drug_exposure,route_concept_id,4302354,Intraduodenal route,S -drug_exposure,route_concept_id,40492288,Intradural route,S -drug_exposure,route_concept_id,40487473,Intraepicardial route,S -drug_exposure,route_concept_id,40487983,Intraepidermal,S -drug_exposure,route_concept_id,40492284,Intraesophageal route,S -drug_exposure,route_concept_id,40492301,Intragastric route,S -drug_exposure,route_concept_id,40492286,Intragingival route,S -drug_exposure,route_concept_id,40493258,Intrahepatic route,S -drug_exposure,route_concept_id,40490837,Intraileal route,S -drug_exposure,route_concept_id,40489989,Intrajejunal route,S -drug_exposure,route_concept_id,4157758,Intralesional,S -drug_exposure,route_concept_id,40493227,Intralingual route,S -drug_exposure,route_concept_id,4292410,Intraluminal route,S -drug_exposure,route_concept_id,4157759,Intralymphatic,S -drug_exposure,route_concept_id,40491321,Intramammary route,S -drug_exposure,route_concept_id,4246511,Intramedullary route,S -drug_exposure,route_concept_id,40492300,Intrameningeal route,S -drug_exposure,route_concept_id,46272926,Intramural route,S -drug_exposure,route_concept_id,4302612,Intramuscular,S -drug_exposure,route_concept_id,4168038,Intramyometrial route,S -drug_exposure,route_concept_id,46272911,Intraneural route,S -drug_exposure,route_concept_id,4157760,Intraocular,S -drug_exposure,route_concept_id,4213522,Intraosseous,S -drug_exposure,route_concept_id,4306657,Intraovarian route,S -drug_exposure,route_concept_id,40492305,Intrapericardial route,S -drug_exposure,route_concept_id,4243022,Intraperitoneal,S -drug_exposure,route_concept_id,4156707,Intrapleural,S -drug_exposure,route_concept_id,4171725,Intraprostatic route,S -drug_exposure,route_concept_id,4169270,Intrapulmonary route,S -drug_exposure,route_concept_id,4169440,Intrasinal route,S -drug_exposure,route_concept_id,4302788,Intraspinal route,S -drug_exposure,route_concept_id,4186837,Intrasternal,S -drug_exposure,route_concept_id,4302352,Intrasynovial route,S -drug_exposure,route_concept_id,4303939,Intratendinous route,S -drug_exposure,route_concept_id,4171067,Intratesticular route,S -drug_exposure,route_concept_id,4217202,Intrathecal,S -drug_exposure,route_concept_id,4167393,Intrathoracic route,S -drug_exposure,route_concept_id,4229543,Intratracheal route,S -drug_exposure,route_concept_id,40491322,Intratumoral,S -drug_exposure,route_concept_id,4168656,Intratympanic route,S -drug_exposure,route_concept_id,4269621,Intrauterine,S -drug_exposure,route_concept_id,40492287,Intravascular route,S -drug_exposure,route_concept_id,4171047,Intravenous,S -drug_exposure,route_concept_id,4170113,Intravenous central route,S -drug_exposure,route_concept_id,4171884,Intravenous peripheral route,S -drug_exposure,route_concept_id,4222259,Intraventricular cardiac,S -drug_exposure,route_concept_id,4186838,Intravesical,S -drug_exposure,route_concept_id,4302785,Intravitreal,S -drug_exposure,route_concept_id,45956881,Iontophoresis,S -drug_exposure,route_concept_id,4133177,Jejunostomy route,S -drug_exposure,route_concept_id,4170440,Laryngeal route,S -drug_exposure,route_concept_id,40490898,Lower respiratory tract route,S -drug_exposure,route_concept_id,4171243,Mucous fistula route,S -drug_exposure,route_concept_id,4262914,Nasal,S -drug_exposure,route_concept_id,4172316,Nasoduodenal route,S -drug_exposure,route_concept_id,4132711,Nasogastric route,S -drug_exposure,route_concept_id,4305834,Nasojejunal route,S -drug_exposure,route_concept_id,4184451,Ocular,S -drug_exposure,route_concept_id,4132161,Oral,S -drug_exposure,route_concept_id,4303795,Orogastric route,S -drug_exposure,route_concept_id,4186839,Oromucosal,S -drug_exposure,route_concept_id,4303277,Oropharyngeal route,S -drug_exposure,route_concept_id,4303515,Paracervical route,S -drug_exposure,route_concept_id,4170267,Paravertebral route,S -drug_exposure,route_concept_id,4177987,Percutaneous route,S -drug_exposure,route_concept_id,4156708,Periarticular,S -drug_exposure,route_concept_id,4304274,Peribulbar route,S -drug_exposure,route_concept_id,40490896,Peridural route,S -drug_exposure,route_concept_id,4157761,Perineural,S -drug_exposure,route_concept_id,40490866,Periodontal route,S -drug_exposure,route_concept_id,4171893,Periosteal route,S -drug_exposure,route_concept_id,4305564,Peritendinous route,S -drug_exposure,route_concept_id,4303646,Periurethral route,S -drug_exposure,route_concept_id,4290759,Rectal,S -drug_exposure,route_concept_id,45956879,Regional perfusion,S -drug_exposure,route_concept_id,40486069,Respiratory tract route,S -drug_exposure,route_concept_id,4303673,Retrobulbar route,S -drug_exposure,route_concept_id,45956875,Route of administration not applicable,S -drug_exposure,route_concept_id,4106215,Route of administration value,S -drug_exposure,route_concept_id,4163770,Subconjunctival,S -drug_exposure,route_concept_id,4142048,Subcutaneous,S -drug_exposure,route_concept_id,4306649,Subgingival route,S -drug_exposure,route_concept_id,46270168,Sublesional route,S -drug_exposure,route_concept_id,4292110,Sublingual,S -drug_exposure,route_concept_id,45956878,Submucosal rectal,S -drug_exposure,route_concept_id,4169634,Submucosal route,S -drug_exposure,route_concept_id,4166865,Suborbital route,S -drug_exposure,route_concept_id,36703536,Subretinal,S -drug_exposure,route_concept_id,4302493,Subtendinous route,S -drug_exposure,route_concept_id,4170771,Surgical cavity route,S -drug_exposure,route_concept_id,4304412,Surgical drain route,S -drug_exposure,route_concept_id,4263689,Topical route,S -drug_exposure,route_concept_id,4304730,Transcervical route,S -drug_exposure,route_concept_id,4262099,Transdermal,S -drug_exposure,route_concept_id,40487850,Transendocardial route,S -drug_exposure,route_concept_id,4232601,Transmucosal route,S -drug_exposure,route_concept_id,40487858,Transplacental route,S -drug_exposure,route_concept_id,40491832,Transtracheal route,S -drug_exposure,route_concept_id,40491830,Transtympanic route,S -drug_exposure,route_concept_id,4305382,Transurethral route,S -drug_exposure,route_concept_id,4169472,Tumor cavity route,S -drug_exposure,route_concept_id,4304571,Ureteral route,S -drug_exposure,route_concept_id,4233974,Urethral,S -drug_exposure,route_concept_id,4170435,Urostomy route,S -drug_exposure,route_concept_id,4057765,Vaginal,S -drug_exposure,route_concept_id,45956883,Body cavity use, -drug_exposure,route_concept_id,45956882,Epidural, -drug_exposure,route_concept_id,4228125,Haemodialysis, -drug_exposure,route_concept_id,4011083,Inhalation, -drug_exposure,route_concept_id,45956885,Intracerebroventricular, -drug_exposure,route_concept_id,4186835,Intracervical, -drug_exposure,route_concept_id,45956886,Intraepidermal, -drug_exposure,route_concept_id,45956884,Intraventricular cardiac, -drug_exposure,route_concept_id,4302956,Iontophoresis, -drug_exposure,route_concept_id,45956876,Obsolete-Intraventricular, -drug_exposure,route_concept_id,45956873,Obsolete-Oromucosal other, -drug_exposure,route_concept_id,4227373,Obsolete-Oromucosal other, -drug_exposure,route_concept_id,40549429,Ocular, -measurement,measurement_type_concept_id,45754907,Derived value,S -measurement,measurement_type_concept_id,44818701,From physical examination,S -measurement,measurement_type_concept_id,44818702,Lab result,S -measurement,measurement_type_concept_id,44818703,Pathology finding,S -measurement,measurement_type_concept_id,44818704,Patient reported value,S -measurement,measurement_type_concept_id,5001,Test ordered through EHR,S -measurement,operator_concept_id,4171756,<,S -measurement,operator_concept_id,4171754,<=,S -measurement,operator_concept_id,4172703,=,S -measurement,operator_concept_id,4172704,>,S -measurement,operator_concept_id,4171755,>=,S -note,note_type_concept_id,44814638,Admission note,S -note,note_type_concept_id,44814643,Ancillary report,S -note,note_type_concept_id,44814637,Discharge summary,S -note,note_type_concept_id,44814646,Emergency department note,S -note,note_type_concept_id,44814639,Inpatient note,S -note,note_type_concept_id,44814645,Note,S -note,note_type_concept_id,44814644,Nursing report,S -note,note_type_concept_id,44814640,Outpatient note,S -note,note_type_concept_id,44814642,Pathology report,S -note,note_type_concept_id,44814641,Radiology report,S -observation,observation_type_concept_id,38000282,Chief complaint,S -observation,observation_type_concept_id,44786633,HRA Observation Numeric Result,S -observation,observation_type_concept_id,44786634,HRA Observation Text,S -observation,observation_type_concept_id,38000279,Lab observation concept code result,S -observation,observation_type_concept_id,38000277,Lab observation numeric result,S -observation,observation_type_concept_id,38000278,Lab observation text,S -observation,observation_type_concept_id,45905771,Observation Recorded from a Survey,S -observation,observation_type_concept_id,581413,Observation from Measurement,S -observation,observation_type_concept_id,38000280,Observation recorded from EHR,S -observation,observation_type_concept_id,38000281,Observation recorded from EHR with text result,S -observation,observation_type_concept_id,44814721,Patient reported,S -observation,observation_type_concept_id,38000276,Problem list from EHR,S -observation,observation_type_concept_id,43542355,Referral Record,S -observation_period,period_type_concept_id,44814724,Period covering healthcare encounters,S -observation_period,period_type_concept_id,44814725,Period inferred by algorithm,S -observation_period,period_type_concept_id,45890994,Period of complete data capture based on geographic isolation,S -observation_period,period_type_concept_id,44814722,Period while enrolled in insurance,S -observation_period,period_type_concept_id,44814723,Period while enrolled in study,S -observation_period,period_type_concept_id,45747656,Pre-qualification time period,S -person,ethnicity_concept_id,38003563,Hispanic or Latino,S -person,ethnicity_concept_id,38003564,Not Hispanic or Latino,S -person,gender_concept_id,8532,FEMALE,S -person,gender_concept_id,8507,MALE,S -person,gender_concept_id,8570,AMBIGUOUS, -person,gender_concept_id,45766035,Feminine gender, -person,gender_concept_id,4268709,Gender finding, -person,gender_concept_id,45518388,Gender unknown, -person,gender_concept_id,4214687,Gender unknown, -person,gender_concept_id,45454912,Gender unspecified, -person,gender_concept_id,4215271,Gender unspecified, -person,gender_concept_id,45438358,Male, -person,gender_concept_id,45766034,Masculine gender, -person,gender_concept_id,42689678,Non-binary gender, -person,gender_concept_id,8521,OTHER, -person,gender_concept_id,4234363,Surgically transgendered transsexual, -person,gender_concept_id,4231242,"Surgically transgendered transsexual, female-to-male", -person,gender_concept_id,4251434,"Surgically transgendered transsexual, male-to-female", -person,gender_concept_id,1585842,Transgender, -person,gender_concept_id,36712829,Transgender identity, -person,gender_concept_id,8551,UNKNOWN, -person,race_concept_id,38003600,African,S -person,race_concept_id,38003599,African American,S -person,race_concept_id,38003573,Alaska Native,S -person,race_concept_id,38003572,American Indian,S -person,race_concept_id,8657,American Indian or Alaska Native,S -person,race_concept_id,38003616,Arab,S -person,race_concept_id,8515,Asian,S -person,race_concept_id,38003574,Asian Indian,S -person,race_concept_id,38003601,Bahamian,S -person,race_concept_id,38003575,Bangladeshi,S -person,race_concept_id,38003602,Barbadian,S -person,race_concept_id,38003576,Bhutanese,S -person,race_concept_id,38003598,Black,S -person,race_concept_id,8516,Black or African American,S -person,race_concept_id,38003577,Burmese,S -person,race_concept_id,38003578,Cambodian,S -person,race_concept_id,38003579,Chinese,S -person,race_concept_id,38003604,Dominica Islander,S -person,race_concept_id,38003603,Dominican,S -person,race_concept_id,38003614,European,S -person,race_concept_id,38003581,Filipino,S -person,race_concept_id,38003605,Haitian,S -person,race_concept_id,38003582,Hmong,S -person,race_concept_id,38003583,Indonesian,S -person,race_concept_id,38003593,Iwo Jiman,S -person,race_concept_id,38003606,Jamaican,S -person,race_concept_id,38003584,Japanese,S -person,race_concept_id,38003585,Korean,S -person,race_concept_id,38003586,Laotian,S -person,race_concept_id,38003597,Madagascar,S -person,race_concept_id,38003587,Malaysian,S -person,race_concept_id,38003594,Maldivian,S -person,race_concept_id,38003612,Melanesian,S -person,race_concept_id,38003611,Micronesian,S -person,race_concept_id,38003615,Middle Eastern or North African,S -person,race_concept_id,8557,Native Hawaiian or Other Pacific Islander,S -person,race_concept_id,38003595,Nepalese,S -person,race_concept_id,38003588,Okinawan,S -person,race_concept_id,38003613,Other Pacific Islander,S -person,race_concept_id,38003589,Pakistani,S -person,race_concept_id,38003610,Polynesian,S -person,race_concept_id,38003596,Singaporean,S -person,race_concept_id,38003590,Sri Lankan,S -person,race_concept_id,38003580,Taiwanese,S -person,race_concept_id,38003591,Thai,S -person,race_concept_id,38003607,Tobagoan,S -person,race_concept_id,38003608,Trinidadian,S -person,race_concept_id,38003592,Vietnamese,S -person,race_concept_id,38003609,West Indian,S -person,race_concept_id,8527,White,S -person,race_concept_id,4228069,Abyssinians, -person,race_concept_id,4119705,Admiralty Islanders, -person,race_concept_id,4035165,African American, -person,race_concept_id,4211218,African race, -person,race_concept_id,4184962,Afro-Caribbean, -person,race_concept_id,4187747,Afro-Caucasian, -person,race_concept_id,4100645,Ainu, -person,race_concept_id,4231129,Alacaluf, -person,race_concept_id,4050100,Aleuts, -person,race_concept_id,4184966,American Indian or Alaska native, -person,race_concept_id,4211331,American Indian race, -person,race_concept_id,4281687,Amerind, -person,race_concept_id,4175829,Andamanese, -person,race_concept_id,4251760,Apache, -person,race_concept_id,4231846,Arabs, -person,race_concept_id,4014421,Armenians, -person,race_concept_id,4201937,Asian - ethnic group, -person,race_concept_id,4184984,Asian or Pacific islander, -person,race_concept_id,4211353,Asian race, -person,race_concept_id,4298833,Atacamenos, -person,race_concept_id,4242388,Athabascans, -person,race_concept_id,4183595,Australian Aborigines, -person,race_concept_id,4186705,Australian aborigine, -person,race_concept_id,4285116,Austrians, -person,race_concept_id,4014099,Aymara, -person,race_concept_id,4195705,Aztec, -person,race_concept_id,4263311,Badagas, -person,race_concept_id,45771426,Bajau, -person,race_concept_id,45452880,Bangladeshi, -person,race_concept_id,4091018,Bangladeshi, -person,race_concept_id,4219735,Bantu, -person,race_concept_id,4240732,Barundi, -person,race_concept_id,4163527,Basques, -person,race_concept_id,4034654,Batutsi, -person,race_concept_id,4210302,Belgians, -person,race_concept_id,4102303,Bhutanese, -person,race_concept_id,45767090,Bidayuh, -person,race_concept_id,4201929,Black - ethnic group, -person,race_concept_id,45496299,Black - other African country, -person,race_concept_id,4091011,Black - other African country, -person,race_concept_id,45452879,Black - other Asian, -person,race_concept_id,4091012,Black - other Asian, -person,race_concept_id,4091013,"Black - other, mixed", -person,race_concept_id,45502955,"Black - other, mixed", -person,race_concept_id,4057568,Black African, -person,race_concept_id,45469811,Black African, -person,race_concept_id,4153158,Black African and White, -person,race_concept_id,45499627,Black African and White, -person,race_concept_id,4076901,Black Arab, -person,race_concept_id,45476450,Black Arab, -person,race_concept_id,45429648,Black Black - other, -person,race_concept_id,45462994,Black British, -person,race_concept_id,4090389,Black British, -person,race_concept_id,45496298,Black Caribbean, -person,race_concept_id,4087917,Black Caribbean, -person,race_concept_id,45522914,Black Caribbean, -person,race_concept_id,45456221,Black Caribbean and White, -person,race_concept_id,4151776,Black Caribbean and White, -person,race_concept_id,4152832,Black Caribbean/W.I./Guyana, -person,race_concept_id,45522913,Black Caribbean/W.I./Guyana, -person,race_concept_id,45436284,Black E Afric Asia/Indo-Caribb, -person,race_concept_id,45479787,Black East African Asian, -person,race_concept_id,4078123,Black East African Asian, -person,race_concept_id,4151577,Black East African Asian/Indo-Caribbean, -person,race_concept_id,4205380,Black Guyana, -person,race_concept_id,45446238,Black Guyana, -person,race_concept_id,45512960,Black Indian sub-continent, -person,race_concept_id,4085483,Black Indian sub-continent, -person,race_concept_id,45462995,Black Indo-Caribbean, -person,race_concept_id,4078124,Black Indo-Caribbean, -person,race_concept_id,45456219,Black Iranian, -person,race_concept_id,4077358,Black Iranian, -person,race_concept_id,4305595,Black Jews, -person,race_concept_id,45519603,Black N African/Arab/Iranian, -person,race_concept_id,4151576,Black N African/Arab/Iranian, -person,race_concept_id,45429647,Black North African, -person,race_concept_id,4078122,Black North African, -person,race_concept_id,4203120,Black West Indian, -person,race_concept_id,45429646,Black West Indian, -person,race_concept_id,4211480,"Black, not of hispanic origin", -person,race_concept_id,45516366,"Black, other, non-mixed origin", -person,race_concept_id,4091010,"Black, other, non-mixed origin", -person,race_concept_id,4277901,Blackfeet, -person,race_concept_id,4139924,Bloods, -person,race_concept_id,4169399,Bogobos, -person,race_concept_id,4301306,Bororo, -person,race_concept_id,4218447,Brazilian Indians, -person,race_concept_id,45436285,Brit. ethnic minor. spec.(NMO), -person,race_concept_id,45439570,Brit. ethnic minor. unsp (NMO), -person,race_concept_id,4090390,British ethnic minority specified, -person,race_concept_id,4091019,British ethnic minority unspecified, -person,race_concept_id,4264197,Bruneians, -person,race_concept_id,4167621,Bulgarian, -person,race_concept_id,45479793,Bulgarian, -person,race_concept_id,1397910,Bulgarian Roma, -person,race_concept_id,37394642,Bulgarian Roma, -person,race_concept_id,36717066,Bulgarian Roma, -person,race_concept_id,4221071,Buriats, -person,race_concept_id,4309789,Bushmen, -person,race_concept_id,4249154,Caingang, -person,race_concept_id,37116650,Canadian, -person,race_concept_id,4151578,Caribbean I./W.I./Guyana, -person,race_concept_id,45479788,Caribbean I./W.I./Guyana (NMO), -person,race_concept_id,4077359,Caribbean Island, -person,race_concept_id,45479789,Caribbean Island (NMO), -person,race_concept_id,4216433,Caroline Islanders, -person,race_concept_id,4030411,Caucasian, -person,race_concept_id,4185154,Caucasian, -person,race_concept_id,4185155,"Caucasian, not of hispanic origin", -person,race_concept_id,4211849,Chenchu, -person,race_concept_id,4144377,Chinese, -person,race_concept_id,45419859,Chinese, -person,race_concept_id,45476453,Chinese, -person,race_concept_id,4215810,Chippewa, -person,race_concept_id,4270899,Choco, -person,race_concept_id,4178142,Congolese, -person,race_concept_id,4087928,Cook Island Maori, -person,race_concept_id,45522915,Cook Island Maori, -person,race_concept_id,4012612,Coushatta, -person,race_concept_id,4182121,Cuna, -person,race_concept_id,44803061,Czech, -person,race_concept_id,45473117,Czech, -person,race_concept_id,4102622,Czech, -person,race_concept_id,37394638,Czech Roma, -person,race_concept_id,1397642,Czech Roma, -person,race_concept_id,36713937,Czech Roma, -person,race_concept_id,4031845,Danes, -person,race_concept_id,4185580,Dieguenos, -person,race_concept_id,4317261,Dutch, -person,race_concept_id,4137597,Dyaks, -person,race_concept_id,4148888,E Afric Asian/Indo-Carib, -person,race_concept_id,45439571,E Afric Asian/Indo-Carib (NMO), -person,race_concept_id,4077381,East African Asian, -person,race_concept_id,45516367,East African Asian (NMO), -person,race_concept_id,4103076,Easter Islanders, -person,race_concept_id,4000051,Egyptians, -person,race_concept_id,4247162,Ellice Islanders, -person,race_concept_id,4093769,English, -person,race_concept_id,4309952,Eskimo, -person,race_concept_id,4090368,Estonians, -person,race_concept_id,759814,Ethnic category unknown, -person,race_concept_id,4155301,Ethnic group, -person,race_concept_id,4273145,Ethnic groups (1991 census), -person,race_concept_id,4212990,European, -person,race_concept_id,4002414,Ewe, -person,race_concept_id,4321400,Fijian, -person,race_concept_id,45479791,Fijian, -person,race_concept_id,4296018,Filipinos, -person,race_concept_id,4005076,Finns, -person,race_concept_id,4027841,Flathead, -person,race_concept_id,4024294,French, -person,race_concept_id,4292111,Fulani, -person,race_concept_id,4236027,Gambians, -person,race_concept_id,4138072,Georgians, -person,race_concept_id,4297319,Germans, -person,race_concept_id,4292272,Ghanaians, -person,race_concept_id,4233496,Ghashgai, -person,race_concept_id,4171181,Gilbertese, -person,race_concept_id,4076904,Greek, -person,race_concept_id,45423089,Greek (NMO), -person,race_concept_id,4077361,Greek Cypriot, -person,race_concept_id,45436287,Greek Cypriot (NMO), -person,race_concept_id,4152834,Greek/Greek Cypriot, -person,race_concept_id,45462996,Greek/Greek Cypriot (NMO), -person,race_concept_id,4032635,Greeks, -person,race_concept_id,4012103,Guamians, -person,race_concept_id,4077360,Guyana, -person,race_concept_id,45442862,Guyana (NMO), -person,race_concept_id,4221073,Gypsies, -person,race_concept_id,4065367,Hawaiians, -person,race_concept_id,4188159,Hispanic, -person,race_concept_id,4190391,"Hispanic, black", -person,race_concept_id,4188161,"Hispanic, color unknown", -person,race_concept_id,4190392,"Hispanic, white", -person,race_concept_id,4218288,Hobe, -person,race_concept_id,4198993,Hottentot, -person,race_concept_id,4279480,Huasteco, -person,race_concept_id,4297991,Huichol, -person,race_concept_id,4273384,Hungarian, -person,race_concept_id,1398020,Hungarian Roma, -person,race_concept_id,37394639,Hungarian Roma, -person,race_concept_id,36713940,Hungarian Roma, -person,race_concept_id,4098866,Hututu, -person,race_concept_id,45767091,Iban, -person,race_concept_id,4245024,Ibo, -person,race_concept_id,4248713,Icelanders, -person,race_concept_id,4210186,Inca, -person,race_concept_id,4091016,Indian, -person,race_concept_id,45483083,Indian, -person,race_concept_id,45446239,Indian, -person,race_concept_id,4185920,Indian, -person,race_concept_id,4090392,Indian sub-continent, -person,race_concept_id,45476451,Indian sub-continent (NMO), -person,race_concept_id,4276043,Indians, -person,race_concept_id,4076903,Indo-Caribbean, -person,race_concept_id,45436286,Indo-Caribbean (NMO), -person,race_concept_id,4318647,Indonesians, -person,race_concept_id,4289159,Irani, -person,race_concept_id,4078125,Iranian, -person,race_concept_id,45496301,Iranian (NMO), -person,race_concept_id,4100470,Iraqi, -person,race_concept_id,4090393,Irish, -person,race_concept_id,45419861,Irish (NMO), -person,race_concept_id,45512963,Irish traveller, -person,race_concept_id,4201938,Irish traveller, -person,race_concept_id,4221856,Irula, -person,race_concept_id,4135806,Italians, -person,race_concept_id,4185935,Japanese, -person,race_concept_id,4068834,Javanese, -person,race_concept_id,45771425,Kadazan, -person,race_concept_id,4048709,Kapingas, -person,race_concept_id,4036536,Kenyans, -person,race_concept_id,4218957,Kikuyu, -person,race_concept_id,4180571,Kirghiz, -person,race_concept_id,4243164,Koreans, -person,race_concept_id,4298426,Kwakiutl, -person,race_concept_id,4326740,Labradors, -person,race_concept_id,4069284,Lacandon, -person,race_concept_id,4282477,Lapps, -person,race_concept_id,4240299,Liberians, -person,race_concept_id,4308897,Luo, -person,race_concept_id,4071025,Madagascans, -person,race_concept_id,4028336,Malays, -person,race_concept_id,4249883,Maori, -person,race_concept_id,4327656,Mapuche, -person,race_concept_id,4180729,Marathas, -person,race_concept_id,4245756,Marshallese, -person,race_concept_id,4269942,Maya, -person,race_concept_id,45767088,Melanau, -person,race_concept_id,4189474,Melanesian, -person,race_concept_id,4053172,Melanesians, -person,race_concept_id,4250319,Melanuans, -person,race_concept_id,4186453,Mexican Indians, -person,race_concept_id,4283895,Micronesians, -person,race_concept_id,4196429,Mixed ethnic census group, -person,race_concept_id,4212311,Mixed racial group, -person,race_concept_id,4087322,Mongol, -person,race_concept_id,4165388,Mozambiquans, -person,race_concept_id,4283366,Msutu, -person,race_concept_id,45767089,Murut, -person,race_concept_id,4152833,N African Arab/Iranian, -person,race_concept_id,45419860,N African Arab/Iranian (NMO), -person,race_concept_id,4217600,Naiars, -person,race_concept_id,4186402,National surgical quality improvement program defined race unknown, -person,race_concept_id,4212088,Navaho, -person,race_concept_id,44803976,Nepali, -person,race_concept_id,45459567,Nepali, -person,race_concept_id,4237214,New Britons, -person,race_concept_id,4145762,New Caledonians, -person,race_concept_id,4273538,New Hebrideans, -person,race_concept_id,4090521,New Zealand European, -person,race_concept_id,45486422,New Zealand European, -person,race_concept_id,45496302,New Zealand Maori, -person,race_concept_id,4091022,New Zealand Maori, -person,race_concept_id,45499628,New Zealand ethnic group NOS, -person,race_concept_id,4087926,New Zealand ethnic groups, -person,race_concept_id,45442863,New Zealand ethnic groups, -person,race_concept_id,4337671,Nez Percé, -person,race_concept_id,4229603,Nigerians, -person,race_concept_id,4085489,Niuean, -person,race_concept_id,45509567,Niuean, -person,race_concept_id,9178,Non-white, -person,race_concept_id,4077346,North African Arab, -person,race_concept_id,45449500,North African Arab (NMO), -person,race_concept_id,4063377,Norwegians, -person,race_concept_id,4085322,Oceanian, -person,race_concept_id,4017926,Onge, -person,race_concept_id,45767087,Orang asli, -person,race_concept_id,4235464,Oraons, -person,race_concept_id,4189785,Oriental, -person,race_concept_id,4199011,Oriental Jews, -person,race_concept_id,4090391,Other African countries, -person,race_concept_id,45469812,Other African countries (NMO), -person,race_concept_id,4087922,Other Asian, -person,race_concept_id,45473116,Other Asian, -person,race_concept_id,45466387,Other Asian (NMO), -person,race_concept_id,45512962,Other Asian ethnic group, -person,race_concept_id,4199940,Other Asian ethnic group, -person,race_concept_id,45496300,Other Black - Black/Asian orig, -person,race_concept_id,4087920,Other Black - Black/Asian orig, -person,race_concept_id,45506204,Other Black - Black/White orig, -person,race_concept_id,4087919,Other Black - Black/White orig, -person,race_concept_id,4090516,Other European, -person,race_concept_id,45459564,Other European (NMO), -person,race_concept_id,4085488,Other European in New Zealand, -person,race_concept_id,45506206,Other European in New Zealand, -person,race_concept_id,45442864,Other New Zealand ethnic group, -person,race_concept_id,45502956,Other Pacific ethnic group, -person,race_concept_id,8522,Other Race, -person,race_concept_id,45462997,Other black ethnic group, -person,race_concept_id,4202555,Other black ethnic group, -person,race_concept_id,45449501,Other ethnic NEC (NMO), -person,race_concept_id,45483082,Other ethnic group, -person,race_concept_id,4087921,Other ethnic non-mixed, -person,race_concept_id,45466386,Other ethnic non-mixed (NMO), -person,race_concept_id,45459565,"Other ethnic, Asian/White orig", -person,race_concept_id,4091021,"Other ethnic, Asian/White origin", -person,race_concept_id,45429649,"Other ethnic, Black/White orig", -person,race_concept_id,4085487,"Other ethnic, Black/White origin", -person,race_concept_id,4091020,"Other ethnic, mixed origin", -person,race_concept_id,45456220,"Other ethnic, mixed origin", -person,race_concept_id,45423090,"Other ethnic, mixed white orig", -person,race_concept_id,4087924,"Other ethnic, mixed white origin", -person,race_concept_id,45506205,"Other ethnic, other mixed orig", -person,race_concept_id,4090518,"Other ethnic, other mixed origin", -person,race_concept_id,45436283,Other white British ethnic group, -person,race_concept_id,4268433,Other white British ethnic group, -person,race_concept_id,45459563,Other white ethnic group, -person,race_concept_id,4099457,Paez, -person,race_concept_id,45492990,Pakeha, -person,race_concept_id,45512961,Pakistani, -person,race_concept_id,4091017,Pakistani, -person,race_concept_id,4216519,Pakistani, -person,race_concept_id,4234343,Palauans, -person,race_concept_id,4073535,Papuans, -person,race_concept_id,4217467,Pehuenches, -person,race_concept_id,4102599,Poles, -person,race_concept_id,1397643,Polish Roma, -person,race_concept_id,37394640,Polish Roma, -person,race_concept_id,36713941,Polish Roma, -person,race_concept_id,4053167,Polynesians, -person,race_concept_id,4213463,Portuguese, -person,race_concept_id,45469813,Portuguese, -person,race_concept_id,4140692,Pueblo, -person,race_concept_id,45767086,Punjabi, -person,race_concept_id,4323551,Pygmies, -person,race_concept_id,4194076,Quechua, -person,race_concept_id,45528619,RACE AFRICAN, -person,race_concept_id,45529590,RACE ASIAN, -person,race_concept_id,45526661,RACE WEST INDIAN, -person,race_concept_id,45532670,RACE WHITE, -person,race_concept_id,45428285,RACE: Afro-caribbean, -person,race_concept_id,45501542,RACE: Afro-caucasian, -person,race_concept_id,45451482,RACE: Arab, -person,race_concept_id,45458163,RACE: Bangladeshi, -person,race_concept_id,45514934,RACE: Caucasian, -person,race_concept_id,45421717,RACE: Chinese, -person,race_concept_id,45441530,RACE: Japanese, -person,race_concept_id,45504866,RACE: Korean, -person,race_concept_id,45501541,RACE: Mixed, -person,race_concept_id,45518249,RACE: Not stated, -person,race_concept_id,45421718,RACE: Oriental, -person,race_concept_id,45511540,RACE: Pakistani, -person,race_concept_id,45431577,RACE: Unknown, -person,race_concept_id,45511539,RACE: West indian, -person,race_concept_id,45478359,RACE: White, -person,race_concept_id,4190758,Race not stated, -person,race_concept_id,4051279,Race: West indian, -person,race_concept_id,4216292,Racial group, -person,race_concept_id,36717683,Roma, -person,race_concept_id,1397856,Roma ethnic group, -person,race_concept_id,37398747,Roma ethnic group, -person,race_concept_id,40483304,Romanian, -person,race_concept_id,45439572,Romanian, -person,race_concept_id,37394641,Romanian Roma, -person,race_concept_id,36713938,Romanian Roma, -person,race_concept_id,1397881,Romanian Roma, -person,race_concept_id,4309511,Russians, -person,race_concept_id,4077735,Saipanese, -person,race_concept_id,45516368,Samoan, -person,race_concept_id,4313587,Samoan, -person,race_concept_id,42536269,Scandinavian, -person,race_concept_id,4170372,Seminole, -person,race_concept_id,4244365,Senegalese, -person,race_concept_id,4198417,Senoi, -person,race_concept_id,4201594,Serbs, -person,race_concept_id,4219475,Shona, -person,race_concept_id,4317523,Shoshone, -person,race_concept_id,4103243,Siamese, -person,race_concept_id,45483084,Slovak, -person,race_concept_id,4267217,Slovak, -person,race_concept_id,44813053,Slovak, -person,race_concept_id,1397882,Slovak Roma, -person,race_concept_id,37394635,Slovak Roma, -person,race_concept_id,36713939,Slovak Roma, -person,race_concept_id,4167520,Solomon Islanders, -person,race_concept_id,4263713,Somalis, -person,race_concept_id,4030302,South Asian AND/OR Australian aborigine, -person,race_concept_id,4095109,South Asian Aborigine, -person,race_concept_id,4087930,South East Asian, -person,race_concept_id,45479792,South East Asian, -person,race_concept_id,4152781,Spaniards, -person,race_concept_id,4229453,Sudanese, -person,race_concept_id,4216818,Swedes, -person,race_concept_id,4297790,Swiss, -person,race_concept_id,4241969,Syrians, -person,race_concept_id,4270900,Taiwanese, -person,race_concept_id,4053816,Tamils, -person,race_concept_id,4028346,Tanganyikans, -person,race_concept_id,4235433,Tatars, -person,race_concept_id,4308112,Thais, -person,race_concept_id,4192497,Toba, -person,race_concept_id,4216036,Todas, -person,race_concept_id,45449503,Tokelauan, -person,race_concept_id,4091023,Tokelauan, -person,race_concept_id,4304542,Tongan, -person,race_concept_id,45459566,Tongan, -person,race_concept_id,45432962,Traveller - gypsy, -person,race_concept_id,4097690,Tristan da Cunhans, -person,race_concept_id,4141462,Trukese, -person,race_concept_id,4076905,Turkish, -person,race_concept_id,45419862,Turkish (NMO), -person,race_concept_id,4078126,Turkish Cypriot, -person,race_concept_id,45479790,Turkish Cypriot (NMO), -person,race_concept_id,4155521,Turkish/Turkish Cypriot, -person,race_concept_id,45509566,Turkish/Turkish Cypriot (NMO), -person,race_concept_id,4195322,Turks, -person,race_concept_id,4030735,Tutsi, -person,race_concept_id,4296606,Ugandans, -person,race_concept_id,37116384,Ukrainian, -person,race_concept_id,8552,Unknown, -person,race_concept_id,4218674,Unknown racial group, -person,race_concept_id,4148384,Utes, -person,race_concept_id,4269914,Venezuelan Indians, -person,race_concept_id,45489704,Vietnamese, -person,race_concept_id,4210116,Vietnamese, -person,race_concept_id,4033391,Welsh, -person,race_concept_id,4216026,West Africans, -person,race_concept_id,4076902,West Indian, -person,race_concept_id,45446240,West Indian (NMO), -person,race_concept_id,45442861,White, -person,race_concept_id,4090388,White - ethnic group, -person,race_concept_id,45519602,White British, -person,race_concept_id,4196428,White British, -person,race_concept_id,4201928,White Irish, -person,race_concept_id,45479786,White Irish, -person,race_concept_id,4268432,White Scottish, -person,race_concept_id,45462993,White Scottish, -person,race_concept_id,4092681,Xavante, -person,race_concept_id,4214735,Xosa, -person,race_concept_id,4295144,Yanomama, -person,race_concept_id,4170060,Yapese, -person,race_concept_id,44791722,Yemeni, -person,race_concept_id,45456222,Yemeni, -person,race_concept_id,4296997,Zulu, -procedure_occurrence,procedure_type_concept_id,45756909,Carrier claim detail - 10th position,S -procedure_occurrence,procedure_type_concept_id,45756910,Carrier claim detail - 11th position,S -procedure_occurrence,procedure_type_concept_id,45756911,Carrier claim detail - 12th position,S -procedure_occurrence,procedure_type_concept_id,45756912,Carrier claim detail - 13th position,S -procedure_occurrence,procedure_type_concept_id,45756900,Carrier claim detail - 1st position,S -procedure_occurrence,procedure_type_concept_id,45756901,Carrier claim detail - 2nd position,S -procedure_occurrence,procedure_type_concept_id,45756902,Carrier claim detail - 3rd position,S -procedure_occurrence,procedure_type_concept_id,45756903,Carrier claim detail - 4th position,S -procedure_occurrence,procedure_type_concept_id,45756904,Carrier claim detail - 5th position,S -procedure_occurrence,procedure_type_concept_id,45756905,Carrier claim detail - 6th position,S -procedure_occurrence,procedure_type_concept_id,45756906,Carrier claim detail - 7th position,S -procedure_occurrence,procedure_type_concept_id,45756907,Carrier claim detail - 8th position,S -procedure_occurrence,procedure_type_concept_id,45756908,Carrier claim detail - 9th position,S -procedure_occurrence,procedure_type_concept_id,42865906,Condition Procedure,S -procedure_occurrence,procedure_type_concept_id,38000275,EHR order list entry,S -procedure_occurrence,procedure_type_concept_id,42865905,Facility header,S -procedure_occurrence,procedure_type_concept_id,257,Hospitalization Cost Record,S -procedure_occurrence,procedure_type_concept_id,38000249,Inpatient detail - 1st position,S -procedure_occurrence,procedure_type_concept_id,38000248,Inpatient detail - primary position,S -procedure_occurrence,procedure_type_concept_id,38000260,Inpatient header - 10th position,S -procedure_occurrence,procedure_type_concept_id,38000261,Inpatient header - 11th position,S -procedure_occurrence,procedure_type_concept_id,38000262,Inpatient header - 12th position,S -procedure_occurrence,procedure_type_concept_id,38000263,Inpatient header - 13th position,S -procedure_occurrence,procedure_type_concept_id,38000264,Inpatient header - 14th position,S -procedure_occurrence,procedure_type_concept_id,38000265,Inpatient header - 15th position,S -procedure_occurrence,procedure_type_concept_id,38000251,Inpatient header - 1st position,S -procedure_occurrence,procedure_type_concept_id,38000252,Inpatient header - 2nd position,S -procedure_occurrence,procedure_type_concept_id,38000253,Inpatient header - 3rd position,S -procedure_occurrence,procedure_type_concept_id,38000254,Inpatient header - 4th position,S -procedure_occurrence,procedure_type_concept_id,38000255,Inpatient header - 5th position,S -procedure_occurrence,procedure_type_concept_id,38000256,Inpatient header - 6th position,S -procedure_occurrence,procedure_type_concept_id,38000257,Inpatient header - 7th position,S -procedure_occurrence,procedure_type_concept_id,38000258,Inpatient header - 8th position,S -procedure_occurrence,procedure_type_concept_id,38000259,Inpatient header - 9th position,S -procedure_occurrence,procedure_type_concept_id,38000250,Inpatient header - primary position,S -procedure_occurrence,procedure_type_concept_id,45756864,Outpatient detail - 10th position,S -procedure_occurrence,procedure_type_concept_id,45756865,Outpatient detail - 11th position,S -procedure_occurrence,procedure_type_concept_id,45756866,Outpatient detail - 12th position,S -procedure_occurrence,procedure_type_concept_id,45756867,Outpatient detail - 13th position,S -procedure_occurrence,procedure_type_concept_id,45756868,Outpatient detail - 14th position,S -procedure_occurrence,procedure_type_concept_id,45756869,Outpatient detail - 15th position,S -procedure_occurrence,procedure_type_concept_id,45756870,Outpatient detail - 16th position,S -procedure_occurrence,procedure_type_concept_id,45756871,Outpatient detail - 17th position,S -procedure_occurrence,procedure_type_concept_id,45756872,Outpatient detail - 18th position,S -procedure_occurrence,procedure_type_concept_id,45756873,Outpatient detail - 19th position,S -procedure_occurrence,procedure_type_concept_id,38000267,Outpatient detail - 1st position,S -procedure_occurrence,procedure_type_concept_id,45756874,Outpatient detail - 20th position,S -procedure_occurrence,procedure_type_concept_id,45756875,Outpatient detail - 21th position,S -procedure_occurrence,procedure_type_concept_id,45756876,Outpatient detail - 22th position,S -procedure_occurrence,procedure_type_concept_id,45756877,Outpatient detail - 23th position,S -procedure_occurrence,procedure_type_concept_id,45756878,Outpatient detail - 24th position,S -procedure_occurrence,procedure_type_concept_id,45756879,Outpatient detail - 25th position,S -procedure_occurrence,procedure_type_concept_id,45756880,Outpatient detail - 26th position,S -procedure_occurrence,procedure_type_concept_id,45756881,Outpatient detail - 27th position,S -procedure_occurrence,procedure_type_concept_id,45756882,Outpatient detail - 28th position,S -procedure_occurrence,procedure_type_concept_id,45756883,Outpatient detail - 29th position,S -procedure_occurrence,procedure_type_concept_id,45756856,Outpatient detail - 2nd position,S -procedure_occurrence,procedure_type_concept_id,45756884,Outpatient detail - 30th position,S -procedure_occurrence,procedure_type_concept_id,45756885,Outpatient detail - 31th position,S -procedure_occurrence,procedure_type_concept_id,45756886,Outpatient detail - 32th position,S -procedure_occurrence,procedure_type_concept_id,45756887,Outpatient detail - 33th position,S -procedure_occurrence,procedure_type_concept_id,45756888,Outpatient detail - 34th position,S -procedure_occurrence,procedure_type_concept_id,45756889,Outpatient detail - 35th position,S -procedure_occurrence,procedure_type_concept_id,45756890,Outpatient detail - 36th position,S -procedure_occurrence,procedure_type_concept_id,45756891,Outpatient detail - 37th position,S -procedure_occurrence,procedure_type_concept_id,45756892,Outpatient detail - 38th position,S -procedure_occurrence,procedure_type_concept_id,45756893,Outpatient detail - 39th position,S -procedure_occurrence,procedure_type_concept_id,45756857,Outpatient detail - 3rd position,S -procedure_occurrence,procedure_type_concept_id,45756894,Outpatient detail - 40th position,S -procedure_occurrence,procedure_type_concept_id,45756895,Outpatient detail - 41th position,S -procedure_occurrence,procedure_type_concept_id,45756896,Outpatient detail - 42th position,S -procedure_occurrence,procedure_type_concept_id,45756897,Outpatient detail - 43th position,S -procedure_occurrence,procedure_type_concept_id,45756898,Outpatient detail - 44th position,S -procedure_occurrence,procedure_type_concept_id,45756899,Outpatient detail - 45th position,S -procedure_occurrence,procedure_type_concept_id,45756858,Outpatient detail - 4th position,S -procedure_occurrence,procedure_type_concept_id,45756859,Outpatient detail - 5th position,S -procedure_occurrence,procedure_type_concept_id,45756860,Outpatient detail - 6th position,S -procedure_occurrence,procedure_type_concept_id,45756861,Outpatient detail - 7th position,S -procedure_occurrence,procedure_type_concept_id,45756862,Outpatient detail - 8th position,S -procedure_occurrence,procedure_type_concept_id,45756863,Outpatient detail - 9th position,S -procedure_occurrence,procedure_type_concept_id,38000266,Outpatient detail - primary position,S -procedure_occurrence,procedure_type_concept_id,38000269,Outpatient header - 1st position,S -procedure_occurrence,procedure_type_concept_id,38000270,Outpatient header - 2nd position,S -procedure_occurrence,procedure_type_concept_id,38000271,Outpatient header - 3rd position,S -procedure_occurrence,procedure_type_concept_id,38000272,Outpatient header - 4th position,S -procedure_occurrence,procedure_type_concept_id,38000273,Outpatient header - 5th position,S -procedure_occurrence,procedure_type_concept_id,38000274,Outpatient header - 6th position,S -procedure_occurrence,procedure_type_concept_id,38000268,Outpatient header - primary position,S -procedure_occurrence,procedure_type_concept_id,43542354,Physician administered drug (identified as procedure),S -procedure_occurrence,procedure_type_concept_id,44786630,Primary Procedure,S -procedure_occurrence,procedure_type_concept_id,581412,Procedure Recorded from a Survey,S -procedure_occurrence,procedure_type_concept_id,38003622,Procedure recorded as diagnostic code,S -procedure_occurrence,procedure_type_concept_id,38003621,Procedure recorded as lab test,S -procedure_occurrence,procedure_type_concept_id,42898141,Referral record,S -procedure_occurrence,procedure_type_concept_id,44786631,Secondary Procedure,S -specimen,specimen_type_concept_id,581378,EHR Detail,S -visit_occurrence,visit_concept_id,32217,Admitted as an inpatient to this hospital,S -visit_occurrence,visit_concept_id,8882,Adult Living Care Facility,S -visit_occurrence,visit_concept_id,8850,Ambulance - Air or Water,S -visit_occurrence,visit_concept_id,8668,Ambulance - Land,S -visit_occurrence,visit_concept_id,581478,Ambulance Visit,S -visit_occurrence,visit_concept_id,8883,Ambulatory Surgical Center,S -visit_occurrence,visit_concept_id,8615,Assisted Living Facility,S -visit_occurrence,visit_concept_id,8650,Birthing Center,S -visit_occurrence,visit_concept_id,32194,Clinic or physicians office,S -visit_occurrence,visit_concept_id,8964,Community Mental Health Center,S -visit_occurrence,visit_concept_id,8920,Comprehensive Inpatient Rehabilitation Facility,S -visit_occurrence,visit_concept_id,8947,Comprehensive Outpatient Rehabilitation Facility,S -visit_occurrence,visit_concept_id,32198,Court/Law enforcement,S -visit_occurrence,visit_concept_id,8827,Custodial Care Facility,S -visit_occurrence,visit_concept_id,32235,Discharged to home or self-care with a planned acute care hospital readmission,S -visit_occurrence,visit_concept_id,32210,Discharged to home/self care (routine charge).,S -visit_occurrence,visit_concept_id,32231,Discharged/Transferred to a psychiatric hospital or psychiatric distinct unit of a hospital,S -visit_occurrence,visit_concept_id,32219,Discharged/transferred to Court/Law Enforcement,S -visit_occurrence,visit_concept_id,32232,Discharged/transferred to a Critical Access Hospital (CAH),S -visit_occurrence,visit_concept_id,32245,Discharged/transferred to a Medicare certified long term care hospital (LTCH) with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32248,Discharged/transferred to a critical access hospital (CAH) with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32239,Discharged/transferred to a designated cancer center or children?s hospital with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32233,Discharged/transferred to a designated disaster alternative care site,S -visit_occurrence,visit_concept_id,32238,Discharged/transferred to a facility that provides custodial or supportive care with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32242,Discharged/transferred to a federal health care facility with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32224,Discharged/transferred to a federal hospital,S -visit_occurrence,visit_concept_id,32243,Discharged/transferred to a hospital-based Medicare approved swing bed with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32229,Discharged/transferred to a long term care hospitals,S -visit_occurrence,visit_concept_id,32230,Discharged/transferred to a nursing facility certified under Medicaid but not under Medicare,S -visit_occurrence,visit_concept_id,32247,Discharged/transferred to a psychiatric hospital/distinct part unit of a hospital with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32236,Discharged/transferred to a short term general hospital for inpatient care with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32237,Discharged/transferred to a skilled nursing facility (SNF) with Medicare certification with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32244,Discharged/transferred to an inpatient rehabilitation facility (IRF) including rehabilitation distinct part units of a hospital with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32228,Discharged/transferred to an inpatient rehabilitation facility including distinct parts units of a hospital,S -visit_occurrence,visit_concept_id,32234,Discharged/transferred to another type of health care institution not defined elsewhere in code list.,S -visit_occurrence,visit_concept_id,32249,Discharged/transferred to another type of health care institution not defined elsewhere in this code list with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32214,Discharged/transferred to another type of institution for inpatient care (designated cancer center or childrens hospital),S -visit_occurrence,visit_concept_id,32241,Discharged/transferred to court/law enforcement with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32215,Discharged/transferred to home care of organized home health service organization.,S -visit_occurrence,visit_concept_id,32240,Discharged/transferred to home under care of organized home health service organization with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32213,Discharged/transferred to intermediate care facility (ICF).,S -visit_occurrence,visit_concept_id,32246,Discharged/transferred to nursing facility certified under Medicaid but not certified under Medicare with a planned acute care hospital inpatient readmission,S -visit_occurrence,visit_concept_id,32211,Discharged/transferred to other short term general hospital for inpatient care.,S -visit_occurrence,visit_concept_id,32212,Discharged/transferred to skilled nursing facility (SNF) with Medicare certification in anticipation of covered skilled care,S -visit_occurrence,visit_concept_id,32227,Discharged/transferred within this institution to a hospital-based Medicare approved swing bed,S -visit_occurrence,visit_concept_id,8870,Emergency Room - Hospital,S -visit_occurrence,visit_concept_id,581381,Emergency Room Critical Care Facility,S -visit_occurrence,visit_concept_id,9203,Emergency Room Visit,S -visit_occurrence,visit_concept_id,262,Emergency Room and Inpatient Visit,S -visit_occurrence,visit_concept_id,8949,End-Stage Renal Disease Treatment Facility,S -visit_occurrence,visit_concept_id,32218,Expired,S -visit_occurrence,visit_concept_id,32223,Expired - place unknown (Hospice claims only),S -visit_occurrence,visit_concept_id,32221,Expired at home (hospice claims only),S -visit_occurrence,visit_concept_id,32222,"Expired in a medical facility such as hospital, SNF, ICF, or freestanding hospice. (Hospice claims only)",S -visit_occurrence,visit_concept_id,8966,Federally Qualified Health Center,S -visit_occurrence,visit_concept_id,8851,Group Home,S -visit_occurrence,visit_concept_id,8536,Home,S -visit_occurrence,visit_concept_id,581476,Home Visit,S -visit_occurrence,visit_concept_id,32193,Home/non health care facility point of origin,S -visit_occurrence,visit_concept_id,8672,Homeless Shelter,S -visit_occurrence,visit_concept_id,8546,Hospice,S -visit_occurrence,visit_concept_id,32225,Hospice - home,S -visit_occurrence,visit_concept_id,32226,Hospice - medical facility,S -visit_occurrence,visit_concept_id,8716,Independent Clinic,S -visit_occurrence,visit_concept_id,8809,Independent Laboratory,S -visit_occurrence,visit_concept_id,8968,Indian Health Service Free-standing Facility,S -visit_occurrence,visit_concept_id,8969,Indian Health Service Provider-based Facility,S -visit_occurrence,visit_concept_id,32199,Information not available,S -visit_occurrence,visit_concept_id,581383,Inpatient Cardiac Care Facility,S -visit_occurrence,visit_concept_id,581379,Inpatient Critical Care Facility,S -visit_occurrence,visit_concept_id,8717,Inpatient Hospital,S -visit_occurrence,visit_concept_id,581382,Inpatient Intensive Care Facility,S -visit_occurrence,visit_concept_id,8970,Inpatient Long-term Care,S -visit_occurrence,visit_concept_id,581384,Inpatient Nursery,S -visit_occurrence,visit_concept_id,8971,Inpatient Psychiatric Facility,S -visit_occurrence,visit_concept_id,9201,Inpatient Visit,S -visit_occurrence,visit_concept_id,32037,Intensive Care,S -visit_occurrence,visit_concept_id,581399,Interactive Telemedicine Service,S -visit_occurrence,visit_concept_id,8951,Intermediate Care Facility/Mentally Retarded,S -visit_occurrence,visit_concept_id,32036,Laboratory Visit,S -visit_occurrence,visit_concept_id,32216,Left against medical advice or discontinued care.,S -visit_occurrence,visit_concept_id,42898160,Long Term Care Visit,S -visit_occurrence,visit_concept_id,8858,Mass Immunization Center,S -visit_occurrence,visit_concept_id,8905,Military Treatment Facility,S -visit_occurrence,visit_concept_id,8584,Mobile Unit,S -visit_occurrence,visit_concept_id,8974,Non-residential Substance Abuse Treatment Facility,S -visit_occurrence,visit_concept_id,8676,Nursing Facility,S -visit_occurrence,visit_concept_id,581385,Observation Room,S -visit_occurrence,visit_concept_id,5084,Off Campus-Outpatient Hospital,S -visit_occurrence,visit_concept_id,8940,Office,S -visit_occurrence,visit_concept_id,581477,Office Visit,S -visit_occurrence,visit_concept_id,8892,Other Inpatient Care,S -visit_occurrence,visit_concept_id,8844,Other Place of Service,S -visit_occurrence,visit_concept_id,581380,Outpatient Critical Care Facility,S -visit_occurrence,visit_concept_id,8756,Outpatient Hospital,S -visit_occurrence,visit_concept_id,8677,Outpatient NEC,S -visit_occurrence,visit_concept_id,9202,Outpatient Visit,S -visit_occurrence,visit_concept_id,8562,Pharmacy,S -visit_occurrence,visit_concept_id,581458,Pharmacy visit,S -visit_occurrence,visit_concept_id,581475,Place of Employment-Worksite,S -visit_occurrence,visit_concept_id,38003619,Prison/Correctional Facility,S -visit_occurrence,visit_concept_id,8913,Psychiatric Facility-Partial Hospitalization,S -visit_occurrence,visit_concept_id,8976,Psychiatric Residential Treatment Center,S -visit_occurrence,visit_concept_id,8977,Public Health Clinic,S -visit_occurrence,visit_concept_id,581479,Rehabilitation Visit,S -visit_occurrence,visit_concept_id,8957,Residential Substance Abuse Treatment Facility,S -visit_occurrence,visit_concept_id,8761,Rural Health Clinic,S -visit_occurrence,visit_concept_id,8537,School,S -visit_occurrence,visit_concept_id,8863,Skilled Nursing Facility,S -visit_occurrence,visit_concept_id,32220,Still patient,S -visit_occurrence,visit_concept_id,5083,Telehealth,S -visit_occurrence,visit_concept_id,8602,Temporary Lodging,S -visit_occurrence,visit_concept_id,32196,"Transfer from Skilled nursing facility, Intermediate care facility, Assisted living facility",S -visit_occurrence,visit_concept_id,32195,"Transfer from a Hospital, different facility",S -visit_occurrence,visit_concept_id,32201,Transfer from ambulatory care center,S -visit_occurrence,visit_concept_id,32197,Transfer from another Healthcare facility,S -visit_occurrence,visit_concept_id,32202,Transfer from hospice,S -visit_occurrence,visit_concept_id,32200,"Transfer within hospital, but seperate claim",S -visit_occurrence,visit_concept_id,8941,Tribal 638 Free-standing Facility,S -visit_occurrence,visit_concept_id,8960,Tribal 638 Provider-based Facility,S -visit_occurrence,visit_concept_id,32209,Unknown Value (but present in data),S -visit_occurrence,visit_concept_id,8782,Urgent Care Facility,S -visit_occurrence,visit_concept_id,38003620,Walk-in Retail Health Clinic,S -visit_occurrence,visit_concept_id,32288,Admission/Election Notice, -visit_occurrence,visit_concept_id,32280,Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32274,Ambulatory Surgery Center, -visit_occurrence,visit_concept_id,32156,Ambulatory Surgery Center@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32158,Ambulatory Surgery Center@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32157,Ambulatory Surgery Center@Interim-first claim, -visit_occurrence,visit_concept_id,32159,Ambulatory Surgery Center@Interim-last claim (b), -visit_occurrence,visit_concept_id,32160,Ambulatory Surgery Center@Late Charges Only, -visit_occurrence,visit_concept_id,32155,Ambulatory Surgery Center@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32161,Ambulatory Surgery Center@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32162,Ambulatory Surgery Center@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32292,CMS Initiated Adjustment, -visit_occurrence,visit_concept_id,32291,CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32264,Clinic- Hosp Based or Indep Renal Dialysis Center, -visit_occurrence,visit_concept_id,32090,Clinic- Hosp Based or Indep Renal Dialysis Center@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32097,Clinic- Hosp Based or Indep Renal Dialysis Center@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32099,Clinic- Hosp Based or Indep Renal Dialysis Center@Initiated Adjustment Claim-other, -visit_occurrence,visit_concept_id,32092,Clinic- Hosp Based or Indep Renal Dialysis Center@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32091,Clinic- Hosp Based or Indep Renal Dialysis Center@Interim-first claim, -visit_occurrence,visit_concept_id,32093,Clinic- Hosp Based or Indep Renal Dialysis Center@Interim-last claim (b), -visit_occurrence,visit_concept_id,32098,Clinic- Hosp Based or Indep Renal Dialysis Center@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32094,Clinic- Hosp Based or Indep Renal Dialysis Center@Late Charges Only, -visit_occurrence,visit_concept_id,32089,Clinic- Hosp Based or Indep Renal Dialysis Center@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32095,Clinic- Hosp Based or Indep Renal Dialysis Center@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32096,Clinic- Hosp Based or Indep Renal Dialysis Center@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32268,Clinic-Community Mental Health Center, -visit_occurrence,visit_concept_id,32124,Clinic-Community Mental Health Center@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32129,Clinic-Community Mental Health Center@Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32126,Clinic-Community Mental Health Center@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32125,Clinic-Community Mental Health Center@Interim-first claim, -visit_occurrence,visit_concept_id,32127,Clinic-Community Mental Health Center@Interim-last claim (b), -visit_occurrence,visit_concept_id,32123,Clinic-Community Mental Health Center@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32128,Clinic-Community Mental Health Center@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32267,Clinic-Comprehensive Outpatient Rehab (CORF), -visit_occurrence,visit_concept_id,32116,Clinic-Comprehensive Outpatient Rehab (CORF)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32121,Clinic-Comprehensive Outpatient Rehab (CORF)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32118,Clinic-Comprehensive Outpatient Rehab (CORF)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32117,Clinic-Comprehensive Outpatient Rehab (CORF)@Interim-first claim, -visit_occurrence,visit_concept_id,32119,Clinic-Comprehensive Outpatient Rehab (CORF)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32122,Clinic-Comprehensive Outpatient Rehab (CORF)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32120,Clinic-Comprehensive Outpatient Rehab (CORF)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32269,Clinic-Federally Qualified Health Center (FQHC), -visit_occurrence,visit_concept_id,32130,Clinic-Federally Qualified Health Center (FQHC)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32134,Clinic-Federally Qualified Health Center (FQHC)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32131,Clinic-Federally Qualified Health Center (FQHC)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32132,Clinic-Federally Qualified Health Center (FQHC)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32133,Clinic-Federally Qualified Health Center (FQHC)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32265,Clinic-Freestanding, -visit_occurrence,visit_concept_id,32100,Clinic-Freestanding@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32102,Clinic-Freestanding@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32101,Clinic-Freestanding@Interim-first claim, -visit_occurrence,visit_concept_id,32103,Clinic-Freestanding@Interim-last claim (b), -visit_occurrence,visit_concept_id,32104,Clinic-Freestanding@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32271,Clinic-Other, -visit_occurrence,visit_concept_id,32137,Clinic-Other@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32139,Clinic-Other@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32138,Clinic-Other@Interim-first claim, -visit_occurrence,visit_concept_id,32140,Clinic-Other@Late Charges Only, -visit_occurrence,visit_concept_id,32136,Clinic-Other@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32141,Clinic-Other@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32266,Clinic-Outpatient Rehab Facility (ORF), -visit_occurrence,visit_concept_id,32106,Clinic-Outpatient Rehab Facility (ORF)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32114,Clinic-Outpatient Rehab Facility (ORF)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32113,Clinic-Outpatient Rehab Facility (ORF)@Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32108,Clinic-Outpatient Rehab Facility (ORF)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32107,Clinic-Outpatient Rehab Facility (ORF)@Interim-first claim, -visit_occurrence,visit_concept_id,32109,Clinic-Outpatient Rehab Facility (ORF)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32115,Clinic-Outpatient Rehab Facility (ORF)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32110,Clinic-Outpatient Rehab Facility (ORF)@Late Charges Only, -visit_occurrence,visit_concept_id,32105,Clinic-Outpatient Rehab Facility (ORF)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32111,Clinic-Outpatient Rehab Facility (ORF)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32112,Clinic-Outpatient Rehab Facility (ORF)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32263,Clinic-Rural Health, -visit_occurrence,visit_concept_id,32081,Clinic-Rural Health@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32086,Clinic-Rural Health@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32083,Clinic-Rural Health@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32082,Clinic-Rural Health@Interim-first claim, -visit_occurrence,visit_concept_id,32087,Clinic-Rural Health@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32088,Clinic-Rural Health@MSP Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32080,Clinic-Rural Health@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32084,Clinic-Rural Health@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32085,Clinic-Rural Health@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32276,Critical Access Hospital, -visit_occurrence,visit_concept_id,32165,Critical Access Hospital@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32171,Critical Access Hospital@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32167,Critical Access Hospital@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32166,Critical Access Hospital@Interim-first claim, -visit_occurrence,visit_concept_id,32168,Critical Access Hospital@Interim-last claim (b), -visit_occurrence,visit_concept_id,32172,Critical Access Hospital@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32169,Critical Access Hospital@Late Charges Only, -visit_occurrence,visit_concept_id,32164,Critical Access Hospital@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32170,Critical Access Hospital@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32287,Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32275,Freestanding Birthing Center, -visit_occurrence,visit_concept_id,32163,Freestanding Birthing Center@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32258,Home Health-Inpatient (treatment Part B only), -visit_occurrence,visit_concept_id,32376,Home Health-Inpatient (treatment Part B only)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32383,Home Health-Inpatient (treatment Part B only)@Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32384,Home Health-Inpatient (treatment Part B only)@Initiated Adjustment Claim-other, -visit_occurrence,visit_concept_id,32378,Home Health-Inpatient (treatment Part B only)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32377,Home Health-Inpatient (treatment Part B only)@Interim-first claim, -visit_occurrence,visit_concept_id,32379,Home Health-Inpatient (treatment Part B only)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32380,Home Health-Inpatient (treatment Part B only)@Late Charges Only, -visit_occurrence,visit_concept_id,32375,Home Health-Inpatient (treatment Part B only)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32381,Home Health-Inpatient (treatment Part B only)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32382,Home Health-Inpatient (treatment Part B only)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32260,Home Health-Other (Med & Surg under plan of treatment), -visit_occurrence,visit_concept_id,32396,Home Health-Other (Med & Surg under plan of treatment)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32052,Home Health-Other (Med & Surg under plan of treatment)@Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32049,Home Health-Other (Med & Surg under plan of treatment)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32048,Home Health-Other (Med & Surg under plan of treatment)@Interim-first claim, -visit_occurrence,visit_concept_id,32050,Home Health-Other (Med & Surg under plan of treatment)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32053,Home Health-Other (Med & Surg under plan of treatment)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32395,Home Health-Other (Med & Surg under plan of treatment)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32051,Home Health-Other (Med & Surg under plan of treatment)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32054,Home Health-Other (Med & Surg under plan of treatment)@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32259,"Home Health-Outpatient (Part A, Includes DME Part A)", -visit_occurrence,visit_concept_id,32386,"Home Health-Outpatient (Part A, Includes DME Part A)@Admit through Discharge Claim", -visit_occurrence,visit_concept_id,32393,"Home Health-Outpatient (Part A, Includes DME Part A)@Final Claim for a Home Health PPS Episode", -visit_occurrence,visit_concept_id,32388,"Home Health-Outpatient (Part A, Includes DME Part A)@Interim-Cont claim (b)", -visit_occurrence,visit_concept_id,32387,"Home Health-Outpatient (Part A, Includes DME Part A)@Interim-first claim", -visit_occurrence,visit_concept_id,32389,"Home Health-Outpatient (Part A, Includes DME Part A)@Interim-last claim (b)", -visit_occurrence,visit_concept_id,32390,"Home Health-Outpatient (Part A, Includes DME Part A)@Late Charges Only", -visit_occurrence,visit_concept_id,32394,"Home Health-Outpatient (Part A, Includes DME Part A)@MSP Initiated Adjustment Claim", -visit_occurrence,visit_concept_id,32385,"Home Health-Outpatient (Part A, Includes DME Part A)@Non-Payment/Zero", -visit_occurrence,visit_concept_id,32391,"Home Health-Outpatient (Part A, Includes DME Part A)@Replacement of Prior Claim", -visit_occurrence,visit_concept_id,32392,"Home Health-Outpatient (Part A, Includes DME Part A)@Void/ Cancel of Prior claim (a)", -visit_occurrence,visit_concept_id,32273,Hospice (hospital based), -visit_occurrence,visit_concept_id,32149,Hospice (hospital based)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32151,Hospice (hospital based)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32150,Hospice (hospital based)@Interim-first claim, -visit_occurrence,visit_concept_id,32152,Hospice (hospital based)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32153,Hospice (hospital based)@Late Charges Only, -visit_occurrence,visit_concept_id,32154,Hospice (hospital based)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32289,Hospice/CMS Coord Care/Religious NonMed/Cent of ExcellenceDemonstration, -visit_occurrence,visit_concept_id,32272,Hospital (non-hospital based), -visit_occurrence,visit_concept_id,32142,Hospital (non-hospital based)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32148,Hospital (non-hospital based)@Hospice/CMS Coord Care/Religious NonMed/Cent of ExcellenceDemonstration, -visit_occurrence,visit_concept_id,32144,Hospital (non-hospital based)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32143,Hospital (non-hospital based)@Interim-first claim, -visit_occurrence,visit_concept_id,32145,Hospital (non-hospital based)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32146,Hospital (non-hospital based)@Late Charges Only, -visit_occurrence,visit_concept_id,32147,Hospital (non-hospital based)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32253,Hospital -Laboratory Services provided to non-pt, -visit_occurrence,visit_concept_id,32337,Hospital -Laboratory Services provided to non-pt@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32339,Hospital -Laboratory Services provided to non-pt@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32338,Hospital -Laboratory Services provided to non-pt@Interim-first claim, -visit_occurrence,visit_concept_id,32340,Hospital -Laboratory Services provided to non-pt@Interim-last claim (b), -visit_occurrence,visit_concept_id,32341,Hospital -Laboratory Services provided to non-pt@Late Charges Only, -visit_occurrence,visit_concept_id,32336,Hospital -Laboratory Services provided to non-pt@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32342,Hospital -Laboratory Services provided to non-pt@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32343,Hospital -Laboratory Services provided to non-pt@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32250,Hospital Inpatient (Including Medicare Part A), -visit_occurrence,visit_concept_id,32300,Hospital Inpatient (Including Medicare Part A)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32307,Hospital Inpatient (Including Medicare Part A)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32302,Hospital Inpatient (Including Medicare Part A)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32301,Hospital Inpatient (Including Medicare Part A)@Interim-first claim, -visit_occurrence,visit_concept_id,32303,Hospital Inpatient (Including Medicare Part A)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32308,Hospital Inpatient (Including Medicare Part A)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32304,Hospital Inpatient (Including Medicare Part A)@Late Charges Only, -visit_occurrence,visit_concept_id,32299,Hospital Inpatient (Including Medicare Part A)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32310,Hospital Inpatient (Including Medicare Part A)@Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32305,Hospital Inpatient (Including Medicare Part A)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32306,Hospital Inpatient (Including Medicare Part A)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32309,Hospital Inpatient (Including Medicare Part A)@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32251,Hospital Inpatient (Medicare Part B only), -visit_occurrence,visit_concept_id,32312,Hospital Inpatient (Medicare Part B only)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32314,Hospital Inpatient (Medicare Part B only)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32313,Hospital Inpatient (Medicare Part B only)@Interim-first claim, -visit_occurrence,visit_concept_id,32315,Hospital Inpatient (Medicare Part B only)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32317,Hospital Inpatient (Medicare Part B only)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32311,Hospital Inpatient (Medicare Part B only)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32316,Hospital Inpatient (Medicare Part B only)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32252,Hospital Outpatient, -visit_occurrence,visit_concept_id,32319,Hospital Outpatient@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32329,Hospital Outpatient@CMS Initiated Adjustment, -visit_occurrence,visit_concept_id,32328,Hospital Outpatient@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32326,Hospital Outpatient@Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32331,Hospital Outpatient@Initiated Adjustment Claim-other, -visit_occurrence,visit_concept_id,32321,Hospital Outpatient@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32320,Hospital Outpatient@Interim-first claim, -visit_occurrence,visit_concept_id,32322,Hospital Outpatient@Interim-last claim (b), -visit_occurrence,visit_concept_id,32330,Hospital Outpatient@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32323,Hospital Outpatient@Late Charges Only, -visit_occurrence,visit_concept_id,32333,Hospital Outpatient@MSP Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32318,Hospital Outpatient@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32332,Hospital Outpatient@OIG Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32335,Hospital Outpatient@Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32324,Hospital Outpatient@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32325,Hospital Outpatient@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32334,Hospital Outpatient@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32327,Hospital Outpatient@Void/Cancel Hospice/CMS Coor Care/Non-med Religious/Cent for Excellence, -visit_occurrence,visit_concept_id,32254,Hospital-Swing Beds, -visit_occurrence,visit_concept_id,32344,Hospital-Swing Beds@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32346,Hospital-Swing Beds@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32345,Hospital-Swing Beds@Interim-first claim, -visit_occurrence,visit_concept_id,32347,Hospital-Swing Beds@Interim-last claim (b), -visit_occurrence,visit_concept_id,32348,Hospital-Swing Beds@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32294,Initiated Adjustment Claim-other, -visit_occurrence,visit_concept_id,32282,Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32281,Interim-first claim, -visit_occurrence,visit_concept_id,32283,Interim-last claim (b), -visit_occurrence,visit_concept_id,32293,Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32401,Intermediate Care - Level 1 (Including Medicare Part A), -visit_occurrence,visit_concept_id,32057,Intermediate Care - Level 1 (Including Medicare Part A)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32064,Intermediate Care - Level 1 (Including Medicare Part A)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32059,Intermediate Care - Level 1 (Including Medicare Part A)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32058,Intermediate Care - Level 1 (Including Medicare Part A)@Interim-first claim, -visit_occurrence,visit_concept_id,32060,Intermediate Care - Level 1 (Including Medicare Part A)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32065,Intermediate Care - Level 1 (Including Medicare Part A)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32061,Intermediate Care - Level 1 (Including Medicare Part A)@Late Charges Only, -visit_occurrence,visit_concept_id,32056,Intermediate Care - Level 1 (Including Medicare Part A)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32067,Intermediate Care - Level 1 (Including Medicare Part A)@Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32062,Intermediate Care - Level 1 (Including Medicare Part A)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32063,Intermediate Care - Level 1 (Including Medicare Part A)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32066,Intermediate Care - Level 1 (Including Medicare Part A)@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32402,Intermediate Care - Level 2 (Including Medicare Part A), -visit_occurrence,visit_concept_id,32069,Intermediate Care - Level 2 (Including Medicare Part A)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32076,Intermediate Care - Level 2 (Including Medicare Part A)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32071,Intermediate Care - Level 2 (Including Medicare Part A)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32070,Intermediate Care - Level 2 (Including Medicare Part A)@Interim-first claim, -visit_occurrence,visit_concept_id,32072,Intermediate Care - Level 2 (Including Medicare Part A)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32077,Intermediate Care - Level 2 (Including Medicare Part A)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32073,Intermediate Care - Level 2 (Including Medicare Part A)@Late Charges Only, -visit_occurrence,visit_concept_id,32068,Intermediate Care - Level 2 (Including Medicare Part A)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32079,Intermediate Care - Level 2 (Including Medicare Part A)@Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32074,Intermediate Care - Level 2 (Including Medicare Part A)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32075,Intermediate Care - Level 2 (Including Medicare Part A)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32078,Intermediate Care - Level 2 (Including Medicare Part A)@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32284,Late Charges Only, -visit_occurrence,visit_concept_id,32270,Licensed Freestanding Emergency Medical Facility, -visit_occurrence,visit_concept_id,32135,Licensed Freestanding Emergency Medical Facility@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32296,MSP Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32279,Non-Payment/Zero, -visit_occurrence,visit_concept_id,32295,OIG Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32261,Religious Non-medical Health Care Inst-Outpatient Services, -visit_occurrence,visit_concept_id,32055,Religious Non-medical Health Care Inst-Outpatient Services@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32298,Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32285,Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32262,Reserved for NUBC, -visit_occurrence,visit_concept_id,32174,Residential Facility@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32181,Residential Facility@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32176,Residential Facility@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32175,Residential Facility@Interim-first claim, -visit_occurrence,visit_concept_id,32177,Residential Facility@Interim-last claim (b), -visit_occurrence,visit_concept_id,32182,Residential Facility@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32178,Residential Facility@Late Charges Only, -visit_occurrence,visit_concept_id,32173,Residential Facility@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32184,Residential Facility@Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32179,Residential Facility@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32180,Residential Facility@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32183,Residential Facility@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32255,Skilled Nursing-Inpatient (Includes Medicare Part A), -visit_occurrence,visit_concept_id,32350,Skilled Nursing-Inpatient (Includes Medicare Part A)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32356,Skilled Nursing-Inpatient (Includes Medicare Part A)@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32352,Skilled Nursing-Inpatient (Includes Medicare Part A)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32351,Skilled Nursing-Inpatient (Includes Medicare Part A)@Interim-first claim, -visit_occurrence,visit_concept_id,32353,Skilled Nursing-Inpatient (Includes Medicare Part A)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32357,Skilled Nursing-Inpatient (Includes Medicare Part A)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32349,Skilled Nursing-Inpatient (Includes Medicare Part A)@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32354,Skilled Nursing-Inpatient (Includes Medicare Part A)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32355,Skilled Nursing-Inpatient (Includes Medicare Part A)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32256,Skilled Nursing-Inpatient (Medicare Part B Only), -visit_occurrence,visit_concept_id,32358,Skilled Nursing-Inpatient (Medicare Part B Only)@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32360,Skilled Nursing-Inpatient (Medicare Part B Only)@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32359,Skilled Nursing-Inpatient (Medicare Part B Only)@Interim-first claim, -visit_occurrence,visit_concept_id,32361,Skilled Nursing-Inpatient (Medicare Part B Only)@Interim-last claim (b), -visit_occurrence,visit_concept_id,32364,Skilled Nursing-Inpatient (Medicare Part B Only)@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32362,Skilled Nursing-Inpatient (Medicare Part B Only)@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32363,Skilled Nursing-Inpatient (Medicare Part B Only)@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32257,Skilled Nursing-Outpatient, -visit_occurrence,visit_concept_id,32366,Skilled Nursing-Outpatient@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32372,Skilled Nursing-Outpatient@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32371,Skilled Nursing-Outpatient@Final Claim for a Home Health PPS Episode, -visit_occurrence,visit_concept_id,32368,Skilled Nursing-Outpatient@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32367,Skilled Nursing-Outpatient@Interim-first claim, -visit_occurrence,visit_concept_id,32369,Skilled Nursing-Outpatient@Interim-last claim (b), -visit_occurrence,visit_concept_id,32373,Skilled Nursing-Outpatient@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32365,Skilled Nursing-Outpatient@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32370,Skilled Nursing-Outpatient@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32374,Skilled Nursing-Outpatient@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32186,Special Facility - Other@Admit through Discharge Claim, -visit_occurrence,visit_concept_id,32397,Special Facility - Other@CWF Initiated Adjustment Claim, -visit_occurrence,visit_concept_id,32188,Special Facility - Other@Interim-Cont claim (b), -visit_occurrence,visit_concept_id,32187,Special Facility - Other@Interim-first claim, -visit_occurrence,visit_concept_id,32189,Special Facility - Other@Interim-last claim (b), -visit_occurrence,visit_concept_id,32398,Special Facility - Other@Intermediary Adjustment Claim (Other than QIO or Provider), -visit_occurrence,visit_concept_id,32190,Special Facility - Other@Late Charges Only, -visit_occurrence,visit_concept_id,32185,Special Facility - Other@Non-Payment/Zero, -visit_occurrence,visit_concept_id,32400,Special Facility - Other@Replacement of Prior Abbreviated Encounter Submission, -visit_occurrence,visit_concept_id,32191,Special Facility - Other@Replacement of Prior Claim, -visit_occurrence,visit_concept_id,32192,Special Facility - Other@Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32399,Special Facility - Other@Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32277,Special Facility-Other, -visit_occurrence,visit_concept_id,32278,Special Facility-Other, -visit_occurrence,visit_concept_id,32286,Void/ Cancel of Prior claim (a), -visit_occurrence,visit_concept_id,32297,Void/Cance a Prior Abreviated Encounter Submission, -visit_occurrence,visit_concept_id,32290,Void/Cancel Hospice/CMS Coor Care/Non-med Religious/Cent for Excellence, -visit_occurrence,visit_type_concept_id,44818519,Clinical Study visit,S -visit_occurrence,visit_type_concept_id,32034,Visit derived from EHR billing record,S -visit_occurrence,visit_type_concept_id,32035,Visit derived from EHR encounter record,S -visit_occurrence,visit_type_concept_id,44818518,Visit derived from EHR record,S -visit_occurrence,visit_type_concept_id,44818517,Visit derived from encounter on claim,S -visit_occurrence,visit_type_concept_id,32031,Visit derived from encounter on claim authorization,S -visit_occurrence,visit_type_concept_id,32033,Visit derived from encounter on dental claim,S -visit_occurrence,visit_type_concept_id,32021,Visit derived from encounter on medical claim,S -visit_occurrence,visit_type_concept_id,32023,Visit derived from encounter on medical facility claim,S -visit_occurrence,visit_type_concept_id,32027,Visit derived from encounter on medical facility claim deferred,S -visit_occurrence,visit_type_concept_id,32026,Visit derived from encounter on medical facility claim denied,S -visit_occurrence,visit_type_concept_id,32025,Visit derived from encounter on medical facility claim paid,S -visit_occurrence,visit_type_concept_id,32024,Visit derived from encounter on medical professional claim,S -visit_occurrence,visit_type_concept_id,32030,Visit derived from encounter on medical professional claim deferred,S -visit_occurrence,visit_type_concept_id,32029,Visit derived from encounter on medical professional claim denied,S -visit_occurrence,visit_type_concept_id,32028,Visit derived from encounter on medical professional claim paid,S -visit_occurrence,visit_type_concept_id,32022,Visit derived from encounter on pharmacy claim,S -visit_occurrence,visit_type_concept_id,32032,Visit derived from encounter on vision claim,S diff --git a/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/concept_id_hint_select.sql b/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/concept_id_hint_select.sql index 473321e4..701d647b 100644 --- a/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/concept_id_hint_select.sql +++ b/rabbitinahat/src/main/resources/org/ohdsi/rabbitInAHat/dataModel/concept_id_hint_select.sql @@ -1,4 +1,4 @@ --- SELECT vocabulary_version from @vocab.vocabulary WHERE vocabulary_id = 'None'; +SELECT vocabulary_version from @vocab.vocabulary WHERE vocabulary_id = 'None'; WITH concept_hints AS ( SELECT 'person' AS omop_cdm_table, @@ -10,7 +10,7 @@ WITH concept_hints AS ( concept_class_id, standard_concept FROM @vocab.concept - WHERE domain_id = 'Gender' + WHERE domain_id = 'Gender' -- Also include invalid concepts 'UNKNOWN' and 'OTHER' UNION ALL SELECT 'person' AS omop_cdm_table, 'ethnicity_concept_id' AS omop_cdm_field, @@ -22,6 +22,7 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Ethnicity' + AND invalid_reason IS NULL UNION ALL SELECT 'person' AS omop_cdm_table, 'race_concept_id' AS omop_cdm_field, @@ -33,6 +34,7 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Race' + AND invalid_reason IS NULL UNION ALL SELECT 'condition_occurrence' AS omop_cdm_table, 'condition_type_concept_id' AS omop_cdm_field, @@ -45,6 +47,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Condition Type' + AND invalid_reason IS NULL UNION ALL SELECT 'cost' AS omop_cdm_table, 'cost_type_concept_id' AS omop_cdm_field, @@ -57,6 +60,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Cost Type' + AND invalid_reason IS NULL UNION ALL SELECT 'death' AS omop_cdm_table, 'death_type_concept_id' AS omop_cdm_field, @@ -69,6 +73,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Death Type' + AND invalid_reason IS NULL UNION ALL SELECT 'device_exposure' AS omop_cdm_table, 'device_type_concept_id' AS omop_cdm_field, @@ -81,6 +86,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Device Type' + AND invalid_reason IS NULL UNION ALL SELECT 'drug_exposure' AS omop_cdm_table, 'drug_type_concept_id' AS omop_cdm_field, @@ -93,6 +99,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Drug Type' + AND invalid_reason IS NULL UNION ALL SELECT 'episode' AS omop_cdm_table, 'episode_type_concept_id' AS omop_cdm_field, @@ -105,6 +112,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Episode Type' + AND invalid_reason IS NULL UNION ALL SELECT 'measurement' AS omop_cdm_table, 'measurement_type_concept_id' AS omop_cdm_field, @@ -117,6 +125,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Meas Type' + AND invalid_reason IS NULL UNION ALL SELECT 'note' AS omop_cdm_table, 'note_type_concept_id' AS omop_cdm_field, @@ -129,6 +138,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Note Type' + AND invalid_reason IS NULL UNION ALL SELECT 'observation_period' AS omop_cdm_table, 'period_type_concept_id' AS omop_cdm_field, @@ -141,6 +151,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Obs Period Type' + AND invalid_reason IS NULL UNION ALL SELECT 'observation' AS omop_cdm_table, 'observation_type_concept_id' AS omop_cdm_field, @@ -153,6 +164,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Observation Type' + AND invalid_reason IS NULL UNION ALL SELECT 'procedure_occurrence' AS omop_cdm_table, 'procedure_type_concept_id' AS omop_cdm_field, @@ -165,6 +177,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Procedure Type' + AND invalid_reason IS NULL UNION ALL SELECT 'specimen' AS omop_cdm_table, 'specimen_type_concept_id' AS omop_cdm_field, @@ -177,6 +190,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Specimen Type' + AND invalid_reason IS NULL UNION ALL SELECT 'visit_occurrence' AS omop_cdm_table, 'visit_type_concept_id' AS omop_cdm_field, @@ -189,6 +203,7 @@ WITH concept_hints AS ( FROM @vocab.concept WHERE domain_id = 'Type Concept' AND concept_class_id = 'Visit Type' + AND invalid_reason IS NULL UNION ALL SELECT 'visit_occurrence' AS omop_cdm_table, 'visit_concept_id' AS omop_cdm_field, @@ -200,6 +215,7 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Visit' + AND invalid_reason IS NULL UNION ALL SELECT 'cost' AS omop_cdm_table, 'cost_concept_id' AS omop_cdm_field, @@ -211,6 +227,7 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Cost' + AND invalid_reason IS NULL UNION ALL SELECT 'payer_plan_period' AS omop_cdm_table, 'plan_concept_id' AS omop_cdm_field, @@ -222,6 +239,7 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Plan' + AND invalid_reason IS NULL UNION ALL SELECT 'drug_exposure' AS omop_cdm_table, 'route_concept_id' AS omop_cdm_field, @@ -233,6 +251,7 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Route' + AND invalid_reason IS NULL UNION ALL SELECT 'measurement' AS omop_cdm_table, 'operator_concept_id' AS omop_cdm_field, @@ -244,8 +263,22 @@ WITH concept_hints AS ( standard_concept FROM @vocab.concept WHERE domain_id = 'Meas Value Operator' + AND invalid_reason IS NULL + UNION ALL + SELECT 'note' AS omop_cdm_table, + 'language_concept_id' AS omop_cdm_field, + concept_id, + concept_name, + domain_id, + vocabulary_id, + concept_class_id, + standard_concept + FROM @vocab.concept_ancestor + JOIN vocab.concept ON concept_id = descendant_concept_id + WHERE ancestor_concept_id = 4182347 -- World languages + AND invalid_reason IS NULL ) SELECT * FROM concept_hints -ORDER BY omop_cdm_table, omop_cdm_field, standard_concept, concept_name, domain_id, concept_class_id, vocabulary_id +ORDER BY omop_cdm_table, omop_cdm_field, standard_concept, concept_name, domain_id, concept_class_id, vocabulary_id, concept_id ASC ; diff --git a/whiterabbit/pom.xml b/whiterabbit/pom.xml index 8ebb1da5..2752e3ee 100644 --- a/whiterabbit/pom.xml +++ b/whiterabbit/pom.xml @@ -5,7 +5,7 @@ leporidae org.ohdsi - 0.10.0 + 0.10.1 4.0.0 diff --git a/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/WhiteRabbitMain.java b/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/WhiteRabbitMain.java index 84c93323..93c8eb09 100644 --- a/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/WhiteRabbitMain.java +++ b/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/WhiteRabbitMain.java @@ -105,6 +105,7 @@ public class WhiteRabbitMain implements ActionListener { private JTextField targetDatabaseField; private JTextField sourceDelimiterField; private JComboBox targetCSVFormat; + private JCheckBox doUniformSampling; private JTextField sourceServerField; private JTextField sourceUserField; private JTextField sourcePasswordField; @@ -536,46 +537,43 @@ public void actionPerformed(ActionEvent e) { targetPanel.setLayout(new GridLayout(0, 2)); targetPanel.setBorder(BorderFactory.createTitledBorder("Target data location")); targetPanel.add(new JLabel("Data type")); - targetType = new JComboBox(new String[] { "Delimited text files", "MySQL", "Oracle", "SQL Server", "PostgreSQL" }); + targetType = new JComboBox<>(new String[] { "Delimited text files", "MySQL", "Oracle", "SQL Server", "PostgreSQL" }); targetType.setToolTipText("Select the type of source data available"); - targetType.addItemListener(new ItemListener() { - - @Override - public void itemStateChanged(ItemEvent arg0) { - targetIsFiles = arg0.getItem().toString().equals("Delimited text files"); - targetServerField.setEnabled(!targetIsFiles); - targetUserField.setEnabled(!targetIsFiles); - targetPasswordField.setEnabled(!targetIsFiles); - targetDatabaseField.setEnabled(!targetIsFiles); - targetCSVFormat.setEnabled(targetIsFiles); - - if (!targetIsFiles && arg0.getItem().toString().equals("Oracle")) { - targetServerField - .setToolTipText("For Oracle servers this field contains the SID, servicename, and optionally the port: '/', ':/', '/', or ':/'"); - targetUserField.setToolTipText("For Oracle servers this field contains the name of the user used to log in"); - targetPasswordField.setToolTipText("For Oracle servers this field contains the password corresponding to the user"); - targetDatabaseField - .setToolTipText("For Oracle servers this field contains the schema (i.e. 'user' in Oracle terms) containing the source tables"); - } else if (!targetIsFiles && arg0.getItem().toString().equals("PostgreSQL")) { + targetType.addItemListener(event -> { + targetIsFiles = event.getItem().toString().equals("Delimited text files"); + targetServerField.setEnabled(!targetIsFiles); + targetUserField.setEnabled(!targetIsFiles); + targetPasswordField.setEnabled(!targetIsFiles); + targetDatabaseField.setEnabled(!targetIsFiles); + targetCSVFormat.setEnabled(targetIsFiles); + + if (targetIsFiles) { + return; + } + // Default tooltips, to be overridden per database if necessary + targetServerField.setToolTipText("The name or IP address of the database server"); + targetUserField.setToolTipText("The user used to log in to the server"); + targetPasswordField.setToolTipText("The password used to log in to the server"); + targetDatabaseField.setToolTipText("The name of the database containing the source tables"); + + switch (event.getItem().toString()) { + case "Oracle": + targetServerField.setToolTipText("For Oracle servers this field contains the SID, servicename, and optionally the port: '/', ':/', '/', or ':/'"); + targetDatabaseField.setToolTipText("For Oracle servers this field contains the schema (i.e. 'user' in Oracle terms) containing the source tables"); + break; + case "PostgreSQL": targetServerField.setToolTipText("For PostgreSQL servers this field contains the host name and database name (/)"); - targetUserField.setToolTipText("The user used to log in to the server"); - targetPasswordField.setToolTipText("The password used to log in to the server"); - targetDatabaseField.setToolTipText("For PostgreSQL servers this field contains the schema containing the source tables"); - } else if (!targetIsFiles && arg0.getItem().toString().equals("BigQuery")) { + targetDatabaseField.setToolTipText("For PostgreSQL servers this field contains the *schema* containing the source tables"); + break; + case "BigQuery": targetServerField.setToolTipText("GBQ ProjectID"); targetUserField.setToolTipText("GBQ OAuthServiceAccountEmail"); targetPasswordField.setToolTipText("GBQ OAuthPvtKeyPath"); targetDatabaseField.setToolTipText("GBQ Data Set within ProjectID"); - } else if (!targetIsFiles) { - targetServerField.setToolTipText("This field contains the name or IP address of the database server"); - if (arg0.getItem().toString().equals("SQL Server")) - targetUserField - .setToolTipText("The user used to log in to the server. Optionally, the domain can be specified as / (e.g. 'MyDomain/Joe')"); - else - targetUserField.setToolTipText("The user used to log in to the server"); - targetPasswordField.setToolTipText("The password used to log in to the server"); - targetDatabaseField.setToolTipText("The name of the database containing the source tables"); - } + break; + case "SQL Server": + targetUserField.setToolTipText("The user used to log in to the server. Optionally, the domain can be specified as / (e.g. 'MyDomain/Joe')"); + break; } }); targetPanel.add(targetType); @@ -604,6 +602,12 @@ public void itemStateChanged(ItemEvent arg0) { targetCSVFormat.setEnabled(true); targetPanel.add(targetCSVFormat); + targetPanel.add(new JLabel("")); + doUniformSampling = new JCheckBox("Uniform Sampling", false); + doUniformSampling.setToolTipText("For all fields, choose every possible value with the same probability"); + doUniformSampling.setEnabled(true); + targetPanel.add(doUniformSampling); + c.gridx = 0; c.gridy = 1; c.gridwidth = 1; @@ -1010,7 +1014,7 @@ private void fakeDataRun() { String message = "File " + filename + " not found"; JOptionPane.showMessageDialog(frame, StringUtilities.wordWrap(message, 80), "File not found", JOptionPane.ERROR_MESSAGE); } else { - FakeDataThread thread = new FakeDataThread(Integer.parseInt(generateRowCount.getValue().toString()), filename); + FakeDataThread thread = new FakeDataThread(); thread.start(); } } @@ -1052,22 +1056,23 @@ public void run() { } private class FakeDataThread extends Thread { - private int maxRowCount; - private String filename; - - public FakeDataThread(int maxRowCount, String filename) { - this.maxRowCount = maxRowCount; - this.filename = filename; - } public void run() { - for (JComponent component : componentsToDisableWhenRunning) + for (JComponent component : componentsToDisableWhenRunning) { component.setEnabled(false); + } try { FakeDataGenerator process = new FakeDataGenerator(); DbSettings dbSettings = getTargetDbSettings(); - if (dbSettings != null) - process.generateData(dbSettings, maxRowCount, filename, folderField.getText()); + if (dbSettings != null) { + process.generateData( + dbSettings, + Integer.parseInt(generateRowCount.getValue().toString()), + scanReportFileField.getText(), + folderField.getText(), + doUniformSampling.isSelected() + ); + } } catch (Exception e) { handleError(e); } finally { diff --git a/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/fakeDataGenerator/FakeDataGenerator.java b/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/fakeDataGenerator/FakeDataGenerator.java index 7b953fdf..c35f41f2 100644 --- a/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/fakeDataGenerator/FakeDataGenerator.java +++ b/whiterabbit/src/main/java/org/ohdsi/whiteRabbit/fakeDataGenerator/FakeDataGenerator.java @@ -17,15 +17,13 @@ ******************************************************************************/ package org.ohdsi.whiteRabbit.fakeDataGenerator; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.Set; +import java.util.*; import org.ohdsi.databases.RichConnection; import org.ohdsi.rabbitInAHat.dataModel.Database; import org.ohdsi.rabbitInAHat.dataModel.Field; import org.ohdsi.rabbitInAHat.dataModel.Table; +import org.ohdsi.rabbitInAHat.dataModel.ValueCounts; import org.ohdsi.utilities.StringUtilities; import org.ohdsi.utilities.files.Row; import org.ohdsi.utilities.files.WriteCSVFileWithHeader; @@ -33,17 +31,22 @@ public class FakeDataGenerator { - private RichConnection connection; - private DbSettings.SourceType targetType; - private int maxRowsPerTable = 1000; + private RichConnection connection; + private int maxRowsPerTable = 1000; + private boolean doUniformSampling; - private static int REGULAR = 0; - private static int RANDOM = 1; - private static int PRIMARY_KEY = 2; + private static int REGULAR = 0; + private static int RANDOM = 1; + private static int PRIMARY_KEY = 2; public void generateData(DbSettings dbSettings, int maxRowsPerTable, String filename, String folder) { + generateData(dbSettings, maxRowsPerTable, filename, folder, false); + } + + public void generateData(DbSettings dbSettings, int maxRowsPerTable, String filename, String folder, boolean doUniformSampling) { this.maxRowsPerTable = maxRowsPerTable; - this.targetType = dbSettings.sourceType; + DbSettings.SourceType targetType = dbSettings.sourceType; + this.doUniformSampling = doUniformSampling; StringUtilities.outputWithTime("Starting creation of fake data"); System.out.println("Loading scan report from " + filename); @@ -76,21 +79,21 @@ public void generateData(DbSettings dbSettings, int maxRowsPerTable, String file } private List generateRows(Table table) { + if (table.getRowCount() == 0 || table.getRowsCheckedCount() == 0) { + // Empty table, return empty list (writes empty file) + return new ArrayList<>(); + } + String[] fieldNames = new String[table.getFields().size()]; ValueGenerator[] valueGenerators = new ValueGenerator[table.getFields().size()]; int size = maxRowsPerTable; for (int i = 0; i < table.getFields().size(); i++) { Field field = table.getFields().get(i); - // If a field in the table is empty, the whole table is empty. - // Return empty list (writes empty file) - if (field.getType().equals("empty")) { - return new ArrayList<>(); - } fieldNames[i] = field.getName(); ValueGenerator valueGenerator = new ValueGenerator(field); valueGenerators[i] = valueGenerator; - if (valueGenerator.generatorType == PRIMARY_KEY && valueGenerator.values.length < size) - size = valueGenerator.values.length; +// if (valueGenerator.generatorType == PRIMARY_KEY && valueGenerator.values.length < size) +// size = valueGenerator.values.length; } List rows = new ArrayList(); for (int i = 0; i < size; i++) { @@ -115,40 +118,6 @@ private void createTable(Table table) { connection.execute(sql.toString()); } - // private String correctType(Field field) { - // String type = field.getType().toUpperCase(); - // if (field.getMaxLength() == 0) - // field.setMaxLength(256); - // if (dbType == DbType.MYSQL) { - // if (isVarChar(type)) - // return "VARCHAR(" + field.getMaxLength() + ")"; - // else if (isInt(type)) - // return "BIGINT"; - // else if (isNumber(type)) - // return "DOUBLE"; - // else if (isText(type)) - // return "TEXT"; - // else if (type.equals("EMPTY")) - // return "VARCHAR(255)"; - // else - // return type; - // } else if (dbType == DbType.POSTGRESQL) { - // if (isVarChar(type)) - // return "VARCHAR(" + field.getMaxLength() + ")"; - // else if (isInt(type)) - // return "BIGINT"; - // else if (isNumber(type)) - // return "DOUBLE"; - // else if (isText(type)) - // return "TEXT"; - // else if (type.equals("EMPTY")) - // return "VARCHAR(255)"; - // else - // return type; - // } - // return null; - // } - private boolean isVarChar(String type) { type = type.toUpperCase(); return (type.equals("VARCHAR") || type.equals("VARCHAR2") || type.equals("CHARACTER VARYING")); @@ -159,58 +128,51 @@ private boolean isInt(String type) { return (type.equals("INT") || type.equals("INTEGER") || type.equals("BIGINT")); } - // private boolean isNumber(String type) { - // type = type.toUpperCase(); - // return (type.equals("REAL") || type.equals("DOUBLE") || type.equals("NUMBER") || type.equals("FLOAT") || type.equals("DOUBLE PRECISION")); - // } - // - // private boolean isText(String type) { - // type = type.toUpperCase(); - // return (type.equals("TEXT") || type.equals("CLOB")); - // } - private class ValueGenerator { - private String[] values; - private int[] cumulativeFrequency; - private int totalFrequency; - private String type; - private int length; - private int cursor; - private int generatorType = REGULAR; - private Random random = new Random(); + private String[] values; + private int[] cumulativeFrequency; + private int totalFrequency; + private String fieldName; + private String type; + private int length; + private int pk_cursor; + private int generatorType; + private Random random = new Random(); + private boolean isNotUniqueWarningShown = false; public ValueGenerator(Field field) { - String[][] valueCounts = field.getValueCounts(); + ValueCounts valueCounts = field.getValueCounts(); + fieldName = field.getName(); type = field.getType(); - if (valueCounts[0][0].equals("List truncated...")) { + boolean isUnique = field.getFractionUnique() != null && field.getFractionUnique() == 1; + + if (valueCounts.isEmpty()) { length = field.getMaxLength(); generatorType = RANDOM; } else { - int length = valueCounts.length; - if (valueCounts[length - 1][1].equals("")) // Last value could be "List truncated..." - length--; - + int length = valueCounts.size(); + int runningTotal = 0; values = new String[length]; cumulativeFrequency = new int[length]; - totalFrequency = 0; for (int i = 0; i < length; i++) { - int frequency = (int) (Double.parseDouble(valueCounts[i][1])); - totalFrequency += frequency; - - values[i] = valueCounts[i][0]; - cumulativeFrequency[i] = totalFrequency; + values[i] = valueCounts.get(i).getValue(); + int frequency; + if (doUniformSampling) { + frequency = 1; + } else { + frequency = valueCounts.get(i).getFrequency(); + } + runningTotal += frequency; + cumulativeFrequency[i] = runningTotal; } + totalFrequency = runningTotal; generatorType = REGULAR; } - } - - private String[] convertToArray(Set set) { - String[] array = new String[set.size()]; - int i = 0; - for (String item : set) - array[i++] = item; - return array; + if (isUnique) { + generatorType = PRIMARY_KEY; + pk_cursor = 0; + } } public String generate() { @@ -233,16 +195,27 @@ else if (type.equals("Empty")) return ""; else return ""; - } else if (generatorType == PRIMARY_KEY) { // Pick the next value: - String value = values[cursor]; - cursor++; - if (cursor >= values.length) - cursor = 0; + } else if (generatorType == PRIMARY_KEY) { + // Pick the next value or use the pk_cursor + String value; + if (values != null) { + if (pk_cursor >= values.length) { + // Loop back to the first (not a primary key anymore!) + pk_cursor = 0; + if (!isNotUniqueWarningShown) { + StringUtilities.outputWithTime("Used all the known " + values.length + " values for unique field '" + fieldName + "'. The values are recycled and the fake data in this column will not be unique."); + isNotUniqueWarningShown = true; + } + } + value = values[pk_cursor++]; + } else { + value = String.valueOf(++pk_cursor); + } return value; } else { // Sample from values: int index = random.nextInt(totalFrequency); int i = 0; - while (i < values.length - 1 && cumulativeFrequency[i] < index) + while (i < values.length - 1 && cumulativeFrequency[i] <= index) i++; if (!type.equals("VarChar") && values[i].trim().length() == 0) return "";